Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周远喜
mes-ui
Commits
1e3f6c3f
Commit
1e3f6c3f
authored
Jun 16, 2020
by
kangzhenfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dnc
parent
8eef0c12
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
738 additions
and
104 deletions
+738
-104
dispatch.less
pages/aps/dispatch/dispatch.less
+1
-1
index.vue
pages/aps/dispatch/index.vue
+4
-3
api.js
pages/dncmnc/dnc/api.js
+38
-0
datalist.vue
pages/dncmnc/dnc/datalist.vue
+522
-8
dispatch.less
pages/dncmnc/dnc/dispatch.less
+135
-0
index.vue
pages/dncmnc/mnc/index.vue
+28
-92
monitoring.vue
pages/dncmnc/mnc/monitoring.vue
+10
-0
shebei.png
static/imgicon/shebei.png
+0
-0
No files found.
pages/aps/dispatch/dispatch.less
View file @
1e3f6c3f
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
}
}
.dispatch_part{
.dispatch_part{
border: 1px solid #ccc;
border: 1px solid #ccc;
height: 100%;
//
height: 100%;
.dispatch_part_top{
.dispatch_part_top{
height: 50px;
height: 50px;
line-height: 50px;
line-height: 50px;
...
...
pages/aps/dispatch/index.vue
View file @
1e3f6c3f
...
@@ -25,8 +25,8 @@
...
@@ -25,8 +25,8 @@
</RadioGroup>
</RadioGroup>
</span>
</span>
</p>
</p>
<h4
class=
"tc"
v-if=
"this.listTask.length==0"
>
暂无数据
</h4>
<div
class=
"dispatch_part_body"
v-if=
"listShow == '订单'"
:style=
"
{height:byheight}">
<div
class=
"dispatch_part_body"
v-if=
"listShow == '订单'"
:style=
"
{height:byheight}">
<h4
class=
"tc"
v-if=
"this.listTask.length==0"
>
暂无数据
</h4>
<!--
{{
ids
}}
-->
<!--
{{
ids
}}
-->
<!--
<Collapse
simple
>
-->
<!--
<Collapse
simple
>
-->
<div
v-for=
"(item,index) in listOrder"
:key=
"index"
:name=
"item.mesCode"
>
<div
v-for=
"(item,index) in listOrder"
:key=
"index"
:name=
"item.mesCode"
>
...
@@ -75,6 +75,7 @@
...
@@ -75,6 +75,7 @@
<!--
</Collapse>
-->
<!--
</Collapse>
-->
</div>
</div>
<div
class=
"dispatch_part_body"
v-else-if=
"listShow == '工单'"
:style=
"
{height:byheight}">
<div
class=
"dispatch_part_body"
v-else-if=
"listShow == '工单'"
:style=
"
{height:byheight}">
<h4
class=
"tc"
v-if=
"this.listTask.length==0"
>
暂无数据
</h4>
<Row
:gutter=
"15"
class=
"card_body01"
>
<Row
:gutter=
"15"
class=
"card_body01"
>
<Col
span=
"8"
class=
"dispatch_card"
v-for=
"(item,index) in listTask"
:key=
"index"
>
<Col
span=
"8"
class=
"dispatch_card"
v-for=
"(item,index) in listTask"
:key=
"index"
>
<Card>
<Card>
...
@@ -376,10 +377,10 @@ export default {
...
@@ -376,10 +377,10 @@ export default {
},
},
created
()
{
created
()
{
this
.
getUserInfoFn
();
this
.
getUserInfoFn
();
this
.
byheight
=
window
.
innerHeight
-
20
8
+
"px"
;
this
.
byheight
=
window
.
innerHeight
-
17
8
+
"px"
;
},
},
mounted
()
{
mounted
()
{
this
.
byheight
=
window
.
innerHeight
-
20
8
+
"px"
;
this
.
byheight
=
window
.
innerHeight
-
17
8
+
"px"
;
},
},
async
fetch
({
store
,
params
})
{
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
...
...
pages/dncmnc/dnc/api.js
0 → 100644
View file @
1e3f6c3f
import
Api
from
'@/plugins/request'
export
default
{
index
:
`
${
PlanUrl
}
/mesorder/planpaged`
,
// 获取当前登录用户信息
getUserInfo
(
params
)
{
return
Api
.
get
(
`
${
systemUrl
}
/user/getuserinfo`
,
params
);
},
// 获取人员列表信息
getUser
(
params
)
{
return
Api
.
post
(
`
${
systemUrl
}
/user/getselectuser`
,
params
);
},
// 获取用户所在车间
getUserDepartment
(
params
){
return
Api
.
get
(
`
${
systemUrl
}
/user/getuserdepartment`
,
params
);
},
// 获取用户所有设备
getlistall
(
params
){
return
Api
.
get
(
`
${
systemUrl
}
/equipinfo/getlistall`
,
params
);
},
// 获取用户班组工单
getEntryList
(
params
){
return
Api
.
get
(
`
${
PlanUrl
}
/teamsdispatchs/getentrylist`
,
params
);
},
// 派工接口(保存)
saveTeamentry
(
params
){
return
Api
.
post
(
`
${
PlanUrl
}
/teamsdispatchs/saveteamentry`
,
params
);
},
// 删除拆分项
deleteItem
(
params
){
return
Api
.
get
(
`
${
PlanUrl
}
/teamsdispatchs/deldispatch`
,
params
);
},
//删除:
delete
(
params
)
{
return
Api
.
delete
(
`
${
PlanUrl
}
/mesorder/delete`
,
{
params
:
params
});
},
}
\ No newline at end of file
pages/dncmnc/dnc/datalist.vue
View file @
1e3f6c3f
<
style
lang=
"less"
scoped
>
@import "./dispatch.less";
</
style
>
<
template
>
<
template
>
<div>
<div
class=
"dispatch myBug"
>
数据传输
<Row
:gutter=
"20"
>
</div>
<Col
span=
"10"
>
<div
class=
"dispatch_part"
>
<p
class=
"dispatch_part_top"
>
<b
class=
"mr10"
>
设备列表
</b>
共
{{
listTask
.
length
}}
台
</p>
<div
class=
"dispatch_part_body"
v-if=
"listShow == '订单'"
:style=
"
{height:byheight}">
<h4
class=
"tc"
v-if=
"this.listTask.length==0"
>
暂无数据
</h4>
<div
v-for=
"(item,index) in listOrder"
:key=
"index"
:name=
"item.mesCode"
>
<h3
class=
"h3_bg"
>
订单号:
{{
item
[
0
].
mesCode
}}
<Tag
class=
"h3_tag"
>
{{
item
.
length
}}
</Tag>
</h3>
<p
slot=
"content"
>
<Row
:gutter=
"15"
class=
"card_body01"
>
<Col
span=
"8"
class=
"dispatch_card"
v-for=
"(li,index) in item"
:key=
"li.id"
>
<Card>
<p
slot=
"title"
class=
"card_top"
>
<Checkbox
v-model=
"li.checked"
:disabled=
"li.status!=-1"
>
<Icon
type=
"ios-pricetags"
/>
工序
{{
li
.
process_seq
}}
:
{{
li
.
process_name
}}
</Checkbox>
</p>
<div
class=
"h60"
>
<p
class=
"g_title"
>
{{
li
.
productName
}}
--
{{
li
.
equipCode
}}
</p>
<p>
产品数量:
{{
li
.
quantity
}}
<op
title=
"拆分"
type=
"icon"
icon=
"md-cut"
v-if=
"li.quantity > 1 && li.pid == 0 && li.status==-1"
@
click=
"setChai(li,index)"
></op>
<op
title=
"删除"
type=
"icon"
icon=
"md-close-circle"
v-else-if=
"li.dispatchStatus!=2 && li.pid != 0"
@
click=
"removeDetail(li,index)"
></op>
</p>
<p>
{{
li
.
beginTime
}}
--
{{
li
.
endTime
}}
</p>
<p>
人员 :
{{
li
.
userNames
}}
</p>
</div>
</Card>
</Col>
</Row>
</p>
</div>
</div>
</div>
</Col>
<Col
span=
"14"
>
<div
class=
"dispatch_part"
>
<p
class=
"dispatch_part_top"
>
<b
class=
"mr10"
>
程序列表
</b>
<span
>
共
{{
listSheBei
.
length
}}
个
</span>
</p>
<div
class=
"dispatch_part_body"
:style=
"
{height:byheight}">
<h4
class=
"tc"
v-if=
"listSheBei.length==0"
>
暂无数据
</h4>
<div
class=
"shebei"
>
<Row
:gutter=
"15"
>
<span
style=
"display:none"
>
{{
shebeiId
}}
</span>
<Col
span=
"12"
class=
"dispatch_card"
v-for=
"(item,index) in listSheBei"
:key=
"index"
>
<Card
class=
"card"
>
<p
slot=
"title"
class=
"card_top"
>
<label
@
click=
"setShebeiId(item.id)"
class=
"label"
>
<Icon
type=
"ios-disc"
size=
"18"
:color=
"item.id==shebeiId?'#2d8cf0':'#fff'"
/>
<input
name=
"shebei"
:value=
"item.equip_id"
type=
"radio"
style=
"display:none"
/>
设备编号:
{{
item
.
equip_id
}}
</label>
</p>
<div
class=
"h60"
>
<p
class=
"g_title"
>
{{
item
.
equip_name
}}
</p>
<p>
资源主操:
{{
item
.
operatorUsers
}}
</p>
<p>
位置:
{{
item
.
locationx
}}
</p>
<p>
状态:
{{
item
.
equip_status
}}
</p>
</div>
</Card>
</Col>
</Row>
</div>
</div>
</div>
</Col>
</Row>
<!-- 拆分 fenModel -->
<Modal
v-model=
"chaiModal"
title=
"拆分工序"
:width=
"400"
:mask-closable=
"false"
ok-text=
"拆分"
@
on-ok=
"okChai()"
>
拆分数量:
<Tag>
{{
chaiNum
}}
</Tag>
<Slider
v-model=
"chaiNum"
:max=
"maxnum"
show-stops
:min=
"1"
></Slider>
</Modal>
<!-- 底部 -->
<FooterToolbar
style=
"height:65px"
v-show=
"showOperate&&footerToolbar"
>
<Button
class=
"span ml20"
type=
"primary"
@
click=
"openDrawer"
>
下载
</Button>
<!--
<Button
class=
"span ml20"
type=
"primary"
@
click=
"openDrawer"
>
文本对比
</Button>
-->
<Button
@
click=
"footerToolbar=false"
>
取消
</Button>
</FooterToolbar>
<Drawer
title=
"排产设置盘"
v-model=
"facilityModal"
width=
"820"
class=
"drawer_box"
>
<Form
ref=
"formValidate"
:model=
"entity"
:rules=
"ruleValidate"
:label-width=
"100"
>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"工时"
prop=
"taskTime"
>
<DatePicker
v-model=
"entity.taskTime"
type=
"datetimerange"
placement=
"bottom-start"
:options=
"dateRange"
@
on-change=
"handleChange"
placeholder=
"请选择时间段"
style=
"width: 330px"
></DatePicker>
</FormItem>
</Col>
<Col
span=
"24"
>
<FormItem
label=
"选择人员"
prop=
"userIds"
style=
"width:100%"
>
<UserSelect
ref=
"userSelected"
v-model=
"entity.userIds"
:multiple=
"true"
style=
"width: 500px"
/>
<!-- :type="3" -->
</FormItem>
</Col>
<Col
span=
"24"
class=
"drawer_midell"
>
<p
class=
"drawer_center"
>
<Icon
type=
"ios-stats"
class=
"color"
/>
数据分析图表
</p>
</Col>
<Col
span=
"24"
>
<FormItem
label=
"备注"
style=
"width:100%"
>
<Input
maxlength=
"200"
v-model=
"entity.remark"
type=
"textarea"
:autosize=
"
{minRows: 3,maxRows: 5}"
show-word-limit
class="drawer_row_textarea"
/>
</FormItem>
</Col>
</Row>
<FormItem>
<Button
style=
"margin-right: 8px"
@
click=
"cancle"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"sendSheBei"
>
派工
</Button>
</FormItem>
</Form>
</Drawer>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
"./api"
;
export
default
{
export
default
{
data
()
{
components
:
{},
return
{
data
()
{
return
{
};
action
:
Api
.
index
,
toheight
:
"500px"
,
byheight
:
"450px"
,
button1
:
"全部"
,
button2
:
"设备"
,
listShow
:
"订单"
,
shebei
:
""
,
curTask
:
null
,
dateRange
:
{
//禁选工时时间区间
disabledDate
(
date
)
{
return
date
&&
date
.
valueOf
()
<
Date
.
now
()
-
86400000
;
}
},
shebeiId
:
-
1
,
footerToolbar
:
false
,
status
:
"1"
,
//排产状态
footerMore
:
true
,
//CheckItem!=null&&CheckItem!=''
footerModel
:
false
,
//底部按钮
facilityModal
:
false
,
//设备抽屉
listSheBei
:
[],
//设备列表
listMan
:
[],
//人员列表
listTask
:
[],
//工单列表数据
listTitle
:
[],
//订单号列表
newList
:
[],
//选中数据
chaiModal
:
false
,
//拆分弹框
chaiNum
:
1
,
//拆分数量
maxnum
:
1
,
rowIndex
:
0
,
//多选项的index
chaiId
:
0
,
entity
:
{
taskTime
:
""
,
//工时
userIds
:
null
,
//选中人员
remark
:
""
//备注
},
ruleValidate
:
{
taskTime
:
[
{
required
:
true
,
type
:
"array"
,
message
:
"请选择工时时间段"
,
trigger
:
"blur"
,
fields
:
{
0
:
{
type
:
"date"
,
required
:
true
,
message
:
"请选择工时时间段"
},
1
:
{
type
:
"date"
,
required
:
true
,
message
:
"请选择工时时间段"
}
}
}
],
userIds
:
[
{
required
:
true
,
message
:
"请选择人员!"
,
trigger
:
"blur"
,
type
:
"array"
}
]
},
pentity
:
{
taskTime
:
""
,
//工时
remark
:
""
//备注
},
rulepepole
:
{
taskTime
:
[
{
required
:
true
,
type
:
"array"
,
message
:
"请选择工时时间段"
,
trigger
:
"blur"
,
fields
:
{
0
:
{
type
:
"date"
,
required
:
true
,
message
:
"请选择工时时间段"
},
1
:
{
type
:
"date"
,
required
:
true
,
message
:
"请选择工时时间段"
}
}
}
]
}
};
},
created
()
{
this
.
getUserInfoFn
();
this
.
byheight
=
window
.
innerHeight
-
178
+
"px"
;
},
mounted
()
{
this
.
byheight
=
window
.
innerHeight
-
178
+
"px"
;
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
methods
:
{
getUserInfoFn
()
{
let
userId
=
this
.
$store
.
state
.
userInfo
.
userId
;
let
infoid
,
departId
;
Api
.
getUserDepartment
({
userId
:
userId
}).
then
(
res
=>
{
if
(
res
.
success
)
{
infoid
=
res
.
result
.
id
;
}
else
{
infoid
=
[];
this
.
$Message
.
error
(
"查询失败!"
);
}
});
Api
.
getUserInfo
({
id
:
userId
}).
then
(
res
=>
{
if
(
res
.
success
)
{
departId
=
res
.
result
.
departmentId
;
this
.
getEntryList
(
departId
);
this
.
getselectuser
(
departId
);
this
.
getlistall
(
departId
);
}
else
{
departId
=
""
;
this
.
$Message
.
error
(
"查询失败!"
);
}
});
},
},
}
setShebeiId
(
id
)
{
this
.
shebeiId
=
id
;
this
.
footerToolbar
=
true
;
},
// 获取查询人员
getselectuser
(
id
)
{
let
parme
=
{
departmentId
:
id
,
type
:
"2"
};
Api
.
getUser
(
parme
).
then
(
res
=>
{
res
.
result
.
map
(
u
=>
{
u
.
checked
=
false
;
});
this
.
listMan
=
res
.
result
;
});
},
// 获取查询设备
getlistall
(
id
)
{
let
parme
=
{
shopid
:
id
};
Api
.
getlistall
(
parme
).
then
(
res
=>
{
res
.
result
.
map
(
u
=>
{
u
.
checked
=
false
;
});
this
.
listSheBei
=
res
.
result
;
});
},
// 获取用户工单 JSON.stringify(parme)
getEntryList
(
id
)
{
let
parme
=
{
departmentId
:
id
,
DispatchStatus
:
this
.
status
};
Api
.
getEntryList
(
parme
).
then
(
res
=>
{
var
savedUl
=
[];
var
pid
;
res
.
result
.
map
(
u
=>
{
if
(
u
.
pid
)
{
pid
=
u
.
pid
;
}
else
{
pid
=
0
;}
let
detailnew
=
{
beginTime
:
u
.
beginTime
,
//开始时间
dispatchStatus
:
u
.
dispatchStatus
,
//
endTime
:
u
.
endTime
,
//
equipCode
:
u
.
equipCode
,
//
equipId
:
u
.
equipId
,
//
executeId
:
u
.
executeId
,
//
id
:
u
.
id
,
//
mesCode
:
u
.
mesCode
,
//
order_id
:
u
.
order_id
,
//
process_content
:
u
.
process_content
,
//
process_name
:
u
.
process_name
,
//
process_seq
:
u
.
process_seq
,
//
productName
:
u
.
productName
,
//
quantity
:
u
.
quantity
,
//
routingDetailId
:
u
.
routingDetailId
,
//
routingHeaderId
:
u
.
routingHeaderId
,
//
status
:
u
.
status
,
//
userIds
:
u
.
userIds
,
//
userNames
:
u
.
userNames
,
pid
:
pid
//拆分项id
};
savedUl
.
push
(
detailnew
);
});
this
.
listTask
=
savedUl
;
});
},
// 时间改变方法
handleChange
(
daterange
)
{
this
.
newList
.
map
(
u
=>
{
u
.
beginTime
=
daterange
[
0
];
u
.
endTime
=
daterange
[
1
];
});
},
handleChangeTime
(
time
)
{
this
.
newList
.
map
(
u
=>
{
u
.
beginTime
=
time
[
0
];
u
.
endTime
=
time
[
1
];
});
},
// 过滤条件
changeStatus
(
a
)
{
this
.
getUserInfoFn
();
},
// 打开抽屉
openDrawer
()
{
let
chekids
=
this
.
ids
;
let
formData
=
this
.
listTask
;
let
timebegin
=
formData
[
0
].
beginTime
;
let
timend
=
formData
[
0
].
endTime
;
this
.
newList
=
[];
chekids
.
forEach
(
v
=>
{
var
item
=
formData
.
filter
(
u
=>
{
return
u
.
id
==
v
;
});
if
(
item
&&
item
[
0
])
{
this
.
newList
.
push
(
item
[
0
]);
}
});
if
(
this
.
button2
==
"设备"
)
{
this
.
entity
.
taskTime
=
[
timebegin
,
timend
];
this
.
facilityModal
=
true
;
}
else
{
this
.
pentity
.
taskTime
=
[
timebegin
,
timend
];
}
// console.log("选中的数据", this.newList);
},
// 设备派工
sendSheBei
()
{
let
item
=
this
.
newList
;
item
.
map
(
u
=>
{
u
.
userIds
=
this
.
entity
.
userIds
;
u
.
remark
=
this
.
entity
.
remark
;
u
.
equipId
=
this
.
shebeiId
;
});
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
if
(
valid
)
{
let
params
=
{
isDispatch
:
1
,
//派工是1,保存是0
entryList
:
item
};
Api
.
saveTeamentry
(
params
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"设备派工成功。"
);
this
.
getUserInfoFn
();
this
.
facilityModal
=
false
;
}
else
{
this
.
$Message
.
error
(
"设备派工失败..."
);
}
});
}
else
{
this
.
$Message
.
error
(
"校验不通过..."
);
}
});
},
// 人员派工
sendUser
()
{
let
item
=
this
.
newList
;
item
.
map
(
u
=>
{
u
.
userIds
=
this
.
peploeId
;
u
.
remark
=
this
.
pentity
.
remark
;
});
this
.
$refs
[
"formpepole"
].
validate
(
valid
=>
{
if
(
valid
)
{
let
params
=
{
isDispatch
:
1
,
//派工是1,保存是0
entryList
:
item
};
Api
.
saveTeamentry
(
params
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"人员派工成功。"
);
this
.
getUserInfoFn
();
}
else
{
this
.
$Message
.
error
(
"人员派工失败..."
);
}
});
}
else
{
this
.
$Message
.
error
(
"校验不通过..."
);
}
});
},
// 拆分方法
setChai
(
item
,
index
)
{
this
.
curTask
=
item
;
this
.
chaiModal
=
true
;
this
.
chaiNum
=
1
;
this
.
maxnum
=
item
.
quantity
-
1
;
this
.
rowIndex
=
index
;
},
// 拆分保存
okChai
()
{
var
old
=
this
.
$u
.
clone
(
this
.
curTask
);
var
add
=
this
.
$u
.
clone
(
this
.
curTask
);
old
.
quantity
-=
this
.
chaiNum
;
add
.
quantity
=
this
.
chaiNum
;
add
.
id
=
0
;
add
.
pid
=
old
.
id
;
let
params
=
{
isDispatch
:
0
,
//派工是1,保存是0
entryList
:
[
old
,
add
]
};
Api
.
saveTeamentry
(
params
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
getUserInfoFn
();
this
.
$Message
.
success
(
"拆分成功。"
);
}
else
{
this
.
$Message
.
error
(
"拆分失败..."
);
}
});
},
// 删除行
removeDetail
(
item
,
index
)
{
let
delid
=
{
id
:
item
.
id
};
Api
.
deleteItem
(
delid
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"拆分项已删除。"
);
this
.
getUserInfoFn
();
}
else
{
this
.
$Message
.
error
(
"拆分项删除失败!"
);
}
});
},
//取消
cancle
()
{
this
.
facilityModal
=
false
;
this
.
footerToolbar
=
false
;
}
},
computed
:
{
ids
()
{
let
ids
=
[];
this
.
listTask
.
map
(
u
=>
{
if
(
u
.
checked
)
{
ids
.
push
(
u
.
id
);}
});
if
(
ids
.
length
>
0
)
{
this
.
footerToolbar
=
true
;}
return
ids
;
},
listOrder
()
{
let
orders
=
this
.
$u
.
group
(
this
.
listTask
,
u
=>
{
return
u
.
mesCode
;
});
// console.warn("listOrder", orders);
return
orders
;
},
peploeId
()
{
let
peploeId
=
[];
this
.
listMan
.
map
(
u
=>
{
if
(
u
.
checked
)
{
peploeId
.
push
(
u
.
id
);
}
});
this
.
footerToolbar
=
true
;
return
peploeId
;
},
showOperate
()
{
return
(
this
.
ids
.
length
>
0
&&
(
this
.
shebeiId
>
0
||
this
.
peploeId
.
length
>
0
)
);
}
},
watch
:
{}
};
</
script
>
</
script
>
\ No newline at end of file
pages/dncmnc/dnc/dispatch.less
0 → 100644
View file @
1e3f6c3f
.dispatch{
padding: 12px 5px;
.footer02 {
background: #4c5968;
opacity: 0.9;
position: absolute;
bottom: 0;
box-shadow: 0px -5px 6px rgba(0,0,0,0.3);
width: 98%;
z-index: 99;
padding: 10px;
color: #fff;
margin: 10px 0 10px 0;
}
}
.dispatch_part{
border: 1px solid #ccc;
// height: 100%;
.dispatch_part_top{
height: 50px;
line-height: 50px;
padding: 0 0 0 12px;
background: #F5F6FA;
.check{
position: absolute;
top: 0;
right: 24px;
}
}
.dispatch_part_body{
padding: 10px;
overflow-y: auto;
.h3_bg{
background: #a5adbf;
padding: 0 0 0 10px;
.h3_tag{
margin-left: 15px!important;
}
}
.dispatch_card{
margin: 10px 0;
.card{
.card_top{
.label{
cursor: pointer;
}
}
.ivu-card-head{
background: #2d8cf0!important;
}
}
.g_title{
color: #2d8cf0;
}
}
.dispatch_card02{
margin: 10px 0;
// padding-left: 0!important;
// padding-right: 0!important;
.man_body{
max-width: 185px;
.checkUser{
border-radius: 24px;
width: 100%;
height: 50px;
line-height: 47px;
span{
height: 50px;
}
.svg_name{
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
white-space:nowrap;
display: block;
float: right;
width: 82%;
}
.svg{
width: 70px;
}
}
}
}
}
}
.drawer_midell{
.drawer_center{
text-align: center;
padding: 10px;
color: #2d8cf0;
.color{
color: #2d8cf0;
}
}
}
.drawer_box{
.drawer_row_title{
width: 100px;
height: 40px;
float: left;
margin: 2px 0 0;
font-weight: 600;
}
.drawer_midell{
// height: 120px;
// margin: 20px 0;
.drawer_center{
text-align: center;
padding: 10px;
color: #2d8cf0;
.color{
color: #2d8cf0;
}
}
}
.drawer_row_textarea{
width: 550px;
textarea{
max-height: 200px;
}
}
.drawer_footer{
width: 100%;
position: absolute;
bottom: 0;
left: 0;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
background: #fff;
}
}
\ No newline at end of file
pages/dncmnc/mnc/index.vue
View file @
1e3f6c3f
...
@@ -15,28 +15,28 @@
...
@@ -15,28 +15,28 @@
<!-- :conditions="easySearch" :action="action" -->
<!-- :conditions="easySearch" :action="action" -->
<template
slot=
"easySearch"
>
<template
slot=
"easySearch"
>
<div
class=
"search_box"
>
<div
class=
"search_box"
>
<div
class=
"search_item"
>
<div
class=
"search_item"
@
click=
"filterData()"
>
<img
src=
"../image/guan.png"
alt=
""
>
<img
src=
"../image/guan.png"
alt=
""
>
<div
class=
"top_text"
>
<div
class=
"top_text"
>
<p>
关机状态
</p>
<p>
关机状态
</p>
<p><b>
123
</b></p>
<p><b>
123
</b></p>
</div>
</div>
</div>
</div>
<div
class=
"search_item search_item02"
>
<div
class=
"search_item search_item02"
@
click=
"filterData()"
>
<img
src=
"../image/kong.png"
alt=
""
>
<img
src=
"../image/kong.png"
alt=
""
>
<div
class=
"top_text"
>
<div
class=
"top_text"
>
<p>
空闲状态
</p>
<p>
空闲状态
</p>
<p><b>
123
</b></p>
<p><b>
123
</b></p>
</div>
</div>
</div>
</div>
<div
class=
"search_item search_item03"
>
<div
class=
"search_item search_item03"
@
click=
"filterData()"
>
<img
src=
"../image/guz.png"
alt=
""
>
<img
src=
"../image/guz.png"
alt=
""
>
<div
class=
"top_text"
>
<div
class=
"top_text"
>
<p>
故障状态
</p>
<p>
故障状态
</p>
<p><b>
123
</b></p>
<p><b>
123
</b></p>
</div>
</div>
</div>
</div>
<div
class=
"search_item search_item04"
>
<div
class=
"search_item search_item04"
@
click=
"filterData()"
>
<img
src=
"../image/stay.png"
alt=
""
>
<img
src=
"../image/stay.png"
alt=
""
>
<div
class=
"top_text"
>
<div
class=
"top_text"
>
<p>
运行状态
</p>
<p>
运行状态
</p>
...
@@ -58,10 +58,7 @@
...
@@ -58,10 +58,7 @@
</div>
</div>
</
template
>
</
template
>
<
template
slot=
"card"
slot-scope=
"{row}"
>
<
template
slot=
"card"
slot-scope=
"{row}"
>
<div
<div
class=
"body"
v-for=
"i of 15"
:key=
"i"
>
class=
"body"
v-for=
"i of 15"
:key=
"i"
@
click=
"toExecute(row)"
>
<Row
class=
"title-i"
>
<Row
class=
"title-i"
>
<Col
:span=
"16"
class=
"order-code"
>
<Col
:span=
"16"
class=
"order-code"
>
<Ellipsis
:text=
"row.productName+i"
:lines=
"1"
tooltip
transfer
/>
<Ellipsis
:text=
"row.productName+i"
:lines=
"1"
tooltip
transfer
/>
...
@@ -81,13 +78,14 @@
...
@@ -81,13 +78,14 @@
<div
class=
"panel-text"
>
<div
class=
"panel-text"
>
<Row>
<Row>
<Col
span=
"8"
>
<Col
span=
"8"
>
<a
@
click=
"getImagpage()"
>
<img
<img
:src=
"getUrl(row.productUrl)"
:src=
"getUrl(row.productUrl)"
width=
"120"
width=
"120"
title=
"设备监控详情"
height=
"120"
height=
"120"
:title=
"row.productUrl"
style=
"border:#cacbd0 dashed 1px"
style=
"border:#cacbd0 dashed 1px"
/>
/></a>
<!-- :title="row.productUrl" -->
</Col>
</Col>
<Col
span=
"16"
class=
"row"
>
<Col
span=
"16"
class=
"row"
>
<p>
机床类型:
{{
row
.
MachineType
}}
</p>
<p>
机床类型:
{{
row
.
MachineType
}}
</p>
...
@@ -120,83 +118,12 @@ export default {
...
@@ -120,83 +118,12 @@ export default {
}
}
},
},
downUrl
:
fileUrlDown
,
downUrl
:
fileUrlDown
,
columns
:
[
columns
:
[],
{
title
:
this
.
l
(
"mesCode"
),
key
:
"mesCode"
,
width
:
240
,
align
:
"left"
},
{
key
:
"status"
,
title
:
this
.
l
(
"status"
),
align
:
"center"
,
high
:
true
,
code
:
"taskList.status"
,
width
:
120
},
{
key
:
"productName"
,
title
:
this
.
l
(
"productName"
),
align
:
"left"
,
high
:
true
},
{
key
:
"drawnNumber"
,
title
:
this
.
l
(
"drawnNumber"
),
align
:
"left"
,
high
:
true
},
{
key
:
"quantity"
,
title
:
this
.
l
(
"quantity"
),
align
:
"right"
,
width
:
120
,
high
:
true
},
{
key
:
"beginTime"
,
title
:
this
.
l
(
"beginTime"
),
align
:
"center"
,
width
:
180
,
high
:
true
},
{
key
:
"endTime"
,
title
:
this
.
l
(
"endTime"
),
align
:
"center"
,
width
:
180
,
high
:
true
},
{
title
:
"操作"
,
key
:
"action"
,
width
:
140
,
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
"op"
,
{
attrs
:
{
oprate
:
"edit"
},
on
:
{
click
:
()
=>
this
.
toExecute
(
params
.
row
)
}
},
"查看"
)
]);
}
}
],
comondata
:[
comondata
:[
{
{
productName
:
"德玛吉235550"
,
productName
:
"德玛吉235550"
,
statu
:
"空闲"
,
statu
:
"空闲"
,
productUrl
:
""
,
productUrl
:
"
shebei.png
"
,
MachineType
:
"机床类型"
,
MachineType
:
"机床类型"
,
MachineCode
:
"机床编码"
,
MachineCode
:
"机床编码"
,
MachineIp
:
"1231-111-26012"
,
MachineIp
:
"1231-111-26012"
,
...
@@ -204,6 +131,7 @@ export default {
...
@@ -204,6 +131,7 @@ export default {
},{
},{
productName
:
"德玛吉235536"
,
productName
:
"德玛吉235536"
,
statu
:
"关机"
,
statu
:
"关机"
,
productUrl
:
"shebei.png"
,
MachineType
:
"机床类型"
,
MachineType
:
"机床类型"
,
MachineCode
:
"机床编码"
,
MachineCode
:
"机床编码"
,
MachineIp
:
"1231-111-26012"
,
MachineIp
:
"1231-111-26012"
,
...
@@ -211,6 +139,7 @@ export default {
...
@@ -211,6 +139,7 @@ export default {
},{
},{
productName
:
"德玛吉235537"
,
productName
:
"德玛吉235537"
,
statu
:
"故障"
,
statu
:
"故障"
,
productUrl
:
"shebei.png"
,
MachineType
:
"机床类型"
,
MachineType
:
"机床类型"
,
MachineCode
:
"机床编码"
,
MachineCode
:
"机床编码"
,
MachineIp
:
"1231-111-26012"
,
MachineIp
:
"1231-111-26012"
,
...
@@ -218,6 +147,7 @@ export default {
...
@@ -218,6 +147,7 @@ export default {
},{
},{
productName
:
"德玛吉235537"
,
productName
:
"德玛吉235537"
,
statu
:
"运行中"
,
statu
:
"运行中"
,
productUrl
:
"shebei.png"
,
MachineType
:
"机床类型"
,
MachineType
:
"机床类型"
,
MachineCode
:
"机床编码"
,
MachineCode
:
"机床编码"
,
MachineIp
:
"1231-111-26012"
,
MachineIp
:
"1231-111-26012"
,
...
@@ -333,25 +263,31 @@ export default {
...
@@ -333,25 +263,31 @@ export default {
}
}
return
res
;
return
res
;
},
},
filterData
(){
this
.
$Message
.
success
(
"过滤数据..."
)
},
getUrl
(
url
)
{
getUrl
(
url
)
{
//返回img需要显示的src值
//返回img需要显示的src值
let
tempUrl
=
""
;
let
tempUrl
=
""
;
if
(
url
&&
url
.
length
>
0
)
{
if
(
url
&&
url
.
length
>
0
)
{
tempUrl
=
this
.
downUrl
+
url
;
// tempUrl = this.downUrl + url;
tempUrl
=
iconImg
+
url
;
}
else
{
}
else
{
tempUrl
=
iconImg
+
"noPic_product.png"
;
tempUrl
=
iconImg
+
"noPic_product.png"
;
}
}
return
tempUrl
;
return
tempUrl
;
},
},
getImagpage
(){
this
.
$router
.
push
(
"/dncmnc/mnc/monitoring"
);
},
gotoTable
(){
gotoTable
(){
//跳转到数据分析表页面 获取id:this.$route.query.id
//跳转到数据分析表页面 获取id:this.$route.query.id
this
.
$router
.
push
(
"/dncmnc/mnc/analysis"
this
.
$router
.
push
(
"/dncmnc/mnc/analysis"
);
);
},
},
l
(
key
)
{
//
l(key) {
let
vkey
=
"order_list"
+
"."
+
key
;
//
let vkey = "order_list" + "." + key;
return
this
.
$t
(
vkey
)
||
key
;
//
return this.$t(vkey) || key;
}
//
}
}
}
};
};
</
script
>
</
script
>
...
@@ -452,7 +388,7 @@ export default {
...
@@ -452,7 +388,7 @@ export default {
}
}
}
}
.body:hover {
.body:hover {
cursor: pointer;
//
cursor: pointer;
box-shadow: 0 0 10px #888888;
box-shadow: 0 0 10px #888888;
}
}
}
}
...
...
pages/dncmnc/mnc/monitoring.vue
0 → 100644
View file @
1e3f6c3f
<
template
>
<div>
单台设备监控页面
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
\ No newline at end of file
static/imgicon/shebei.png
0 → 100644
View file @
1e3f6c3f
14.6 KB
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment