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
923d9fe9
Commit
923d9fe9
authored
Jun 19, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into product
parents
92d1f463
05136b76
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1563 additions
and
223 deletions
+1563
-223
dtSpan.vue
components/page/dtSpan.vue
+18
-7
add.vue
pages/dncmnc/dnc/add.vue
+116
-0
datalist.vue
pages/dncmnc/dnc/datalist.vue
+246
-116
dispatch.less
pages/dncmnc/dnc/dispatch.less
+34
-38
edit.vue
pages/dncmnc/dnc/edit.vue
+162
-0
index.vue
pages/dncmnc/dnc/index.vue
+75
-13
analysis.vue
pages/dncmnc/mnc/analysis.vue
+12
-3
index.vue
pages/materiel/classification/index.vue
+6
-6
add.vue
pages/materiel/masterData/add.vue
+1
-1
edit.vue
pages/materiel/masterData/edit.vue
+8
-12
masterData.vue
pages/materiel/masterData/masterData.vue
+18
-8
submit.vue
pages/materiel/masterData/submit.vue
+4
-5
backCheck.vue
pages/produce/execute/datafilling/backCheck.vue
+137
-0
check.vue
pages/produce/execute/datafilling/check.vue
+723
-11
sendCheck.vue
pages/produce/execute/datafilling/sendCheck.vue
+0
-1
usercard.vue
pages/produce/execute/datafilling/usercard.vue
+1
-1
index.vue
pages/produce/execute/index.vue
+1
-1
index.vue
pages/produce/execute/testdata/index.vue
+1
-0
No files found.
components/page/dtSpan.vue
View file @
923d9fe9
<
template
>
<div>
<span
v-if=
"type=='date'"
>
<span>
<Tooltip
:content=
"value"
>
{{
value
.
substr
(
0
,
10
)
}}
{{
date
}}
</Tooltip>
</span>
<span
v-else
>
{{
value
.
substr
(
0
,
19
)
}}
</span>
</div>
</
template
>
<
script
>
export
default
{
name
:
'dtSpan'
,
data
()
{
return
{
date
:
""
}
},
props
:
{
...
...
@@ -25,10 +24,22 @@ export default {
default
:
'2001-01-01 00:00:00'
},
},
created
()
{},
created
()
{
this
.
init
()
},
methods
:
{
init
(){
if
(
this
.
value
&&
this
.
value
.
length
>=
19
){
this
.
date
=
this
.
value
.
substr
(
0
,
this
.
type
==
'date'
?
10
:
19
)
}
return
this
.
date
;
}
},
computed
:
{},
watch
:
{}
watch
:
{
value
(){
this
.
init
()
}
}
}
</
script
>
\ No newline at end of file
pages/dncmnc/dnc/add.vue
0 → 100644
View file @
923d9fe9
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"140"
>
<Row>
<Col
:span=
"12"
>
<FormItem
label=
"物料编码:"
prop=
""
>
<Input
placeholder=
"请输入物料编码"
v-model=
"entity.projectNo"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"零件图号:"
prop=
""
>
<Input
placeholder=
"请输入零件图号"
v-model=
"entity.lingNo"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"零件名称:"
prop=
""
>
<Input
placeholder=
"请输入零件名称"
v-model=
"entity.lingName"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"工艺规程/工序号:"
prop=
""
>
<Input
placeholder=
"请输入工艺规程/工序号"
v-model=
"entity.produCode"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"工序名称:"
prop=
""
>
<Input
placeholder=
"请输入工序名称"
v-model=
"entity.produName"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"程序名称:"
prop=
""
>
<Input
placeholder=
"请输入程序名称"
v-model=
"entity.projecName"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"程序文件名称:"
prop=
""
>
<Input
placeholder=
"请输入程序文件名称"
v-model=
"entity.fileName"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"版本号:"
prop=
""
>
<Input
placeholder=
"请输入版本号"
v-model=
"entity.tvb"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"创建人:"
prop=
""
>
<Input
placeholder=
"请输入创建人"
v-model=
"entity.creatUser"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"状态:"
prop=
""
>
{{
entity
.
statue
}}
<!--
<Input
v-model=
"entity.statue"
/>
-->
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"备注:"
prop=
""
>
<Input
placeholder=
"请输入备注信息"
v-model=
"entity.notse"
/>
</FormItem>
</Col>
</Row>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
<Button
@
click=
"handleClose"
class=
"ml20"
>
取消
</Button>
</FormItem>
</Form>
</
template
>
<
script
>
export
default
{
name
:
"Edit"
,
data
()
{
return
{
disabled
:
false
,
entity
:
{},
orderCatList
:
[],
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
},
single
:
false
};
},
props
:
{
row
:
{
type
:
Object
,
default
:
()
=>
{
return
null
;
}
}
},
methods
:
{
load
(
v
)
{
this
.
entity
=
v
;
},
handleSubmit
()
{
this
.
$refs
.
form
.
validate
(
v
=>
{
if
(
v
)
{
}
});
},
handleClose
()
{
this
.
$emit
(
"on-close"
);
},
l
(
key
)
{
key
=
"mes_op_task_execute"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
},
watch
:
{
// row(v) {
// if (v != {}) {
//alert(JSON.stringify(v))
// this.entity = v;
// }
// }
}
};
</
script
>
pages/dncmnc/dnc/datalist.vue
View file @
923d9fe9
...
...
@@ -8,52 +8,47 @@
<div
class=
"dispatch_part"
>
<p
class=
"dispatch_part_top"
>
<b
class=
"mr10"
>
设备列表
</b>
共
{{
listTask
.
length
}}
台
共
{{
listSheBei
.
length
}}
台
<!--
{{
ids
}}
-->
</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
class=
"dispatch_part_body"
:style=
"
{height:byheight}">
<h4
class=
"tc"
v-if=
"this.listSheBei.length==0"
>
暂无数据
</h4>
<div
v-for=
"(item,index) in listSheBei"
:key=
"index"
:name=
"item.dncCode"
class=
"row_box"
>
<h3
class=
"h3_bg"
>
<Checkbox
v-model=
"item.checked"
>
设备编号:
{{
item
.
dncCode
}}
</Checkbox>
<a
class=
"h3_tag"
>
{{
item
.
dncName
}}
</a>
</h3>
<p>
<Row
class=
"card_body01"
>
<Col
span=
"8"
class=
"dispatch_card"
>
资源主操:
{{
item
.
dncUser
}}
</Col>
<Col
span=
"8"
class=
"dispatch_card"
>
位置:
{{
item
.
dncArea
}}
</Col>
<Col
span=
"8"
class=
"dispatch_card"
>
状态:
{{
item
.
dncStatue
}}
</Col>
</Row>
</p>
<p
class=
"show_btn"
>
<a
@
click=
"showRow(item.id,item.btnShow)"
>
<Tooltip
content=
"所属程序列表"
>
<Icon
v-if=
"btnModal"
type=
"ios-arrow-down"
/>
<Icon
v-else
type=
"ios-arrow-up"
/>
</Tooltip>
</a>
</p>
<div
class=
"h60"
v-if=
"!btnModal"
>
<Row
class=
"card_body02"
v-for=
"(li,index) in item.row"
:key=
"index"
>
<Col
span=
"8"
class=
"dispatch_li"
>
<Checkbox
v-model=
"li.checked"
>
程序名:
{{
li
.
mdcNmae
}}
</Checkbox>
</Col>
<Col
span=
"8"
class=
"dispatch_li"
>
大小:
{{
li
.
size
}}
</Col>
<Col
span=
"8"
class=
"dispatch_li"
>
下载时间:
{{
li
.
downTime
}}
</Col>
</Row>
<!--
{{
liOrderIds
}}
-->
</div>
</div>
</div>
</div>
</Col>
...
...
@@ -61,46 +56,31 @@
<div
class=
"dispatch_part"
>
<p
class=
"dispatch_part_top"
>
<b
class=
"mr10"
>
程序列表
</b>
<span
>
共
{{
listSheBei
.
length
}}
个
</span>
<span>
共
{{
listChengxu
.
length
}}
个
</span>
<!--
{{
chengXuIds
}}
-->
</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>
<h4
class=
"tc"
v-if=
"listChengxu.length==0"
>
暂无数据
</h4>
<!--
<div
class=
"shebei"
>
-->
<Row
:gutter=
"15"
class=
"card_body01"
>
<Col
span=
"8"
class=
"dispatch_card"
v-for=
"(item,index) in listChengxu"
:key=
"index"
>
<Card>
<p
slot=
"title"
class=
"card_top"
>
<Checkbox
v-model=
"item.checked"
>
程序名称:
{{
item
.
mesCode
}}
</Checkbox>
<!-- :disabled="item.status!=-1" -->
</p>
<div
class=
"h60"
>
<p
class=
"g_title"
>
{{
item
.
productName
}}
</p>
<p>
<Icon
type=
"ios-pricetags"
/>
工序
{{
item
.
process_seq
}}
:
{{
item
.
process_name
}}
</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>
<p>
{{
item
.
beginTime
}}
--
{{
item
.
endTime
}}
</p>
</div>
</Card>
</Col>
</Row>
<!--
</div>
-->
</div>
</div>
</Col>
...
...
@@ -113,14 +93,16 @@
: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>
-->
<!--
<span>
已选程序:
{{
chengXuIds
.
length
}}
</span>
-->
<Button
class=
"span ml20"
type=
"primary"
v-if=
"xiaZai"
@
click=
"downFile"
>
下载
</Button>
<Button
class=
"span ml20"
type=
"primary"
v-if=
"beyong"
@
click=
"fileBeyong"
>
文本对比
</Button>
<Button
@
click=
"footerToolbar=false"
>
取消
</Button>
</FooterToolbar>
<Drawer
title=
"排产设置盘"
v-model=
"facilityModal"
width=
"820"
class=
"drawer_box"
>
...
...
@@ -146,7 +128,8 @@
v-model=
"entity.userIds"
:multiple=
"true"
style=
"width: 500px"
/>
<!-- :type="3" -->
/>
<!-- :type="3" -->
</FormItem>
</Col>
<Col
span=
"24"
class=
"drawer_midell"
>
...
...
@@ -186,10 +169,10 @@ export default {
byheight
:
"450px"
,
button1
:
"全部"
,
button2
:
"设备"
,
listShow
:
"订单"
,
shebei
:
""
,
curTask
:
null
,
dateRange
:
{
//禁选工时时间区间
curTask
:
null
,
dateRange
:
{
//禁选工时时间区间
disabledDate
(
date
)
{
return
date
&&
date
.
valueOf
()
<
Date
.
now
()
-
86400000
;
}
...
...
@@ -200,9 +183,116 @@ export default {
footerMore
:
true
,
//CheckItem!=null&&CheckItem!=''
footerModel
:
false
,
//底部按钮
facilityModal
:
false
,
//设备抽屉
listSheBei
:
[],
//设备列表
xiaZai
:
false
,
beyong
:
false
,
listMan
:
[],
//人员列表
listTask
:
[],
//工单列表数据
listSheBei
:
[
//设备列表数据
{
dncCode
:
"19212_0665001"
,
dncName
:
"数控机床01"
,
dncUser
:
"王拉拉"
,
dncArea
:
"区域01"
,
dncStatue
:
"空闲"
,
checked
:
false
,
btnShow
:
false
,
id
:
1
,
row
:
[
{
mdcNmae
:
"00123_281"
,
id
:
101
,
size
:
"128Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},
{
mdcNmae
:
"00123_282"
,
id
:
102
,
size
:
"128Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},
{
mdcNmae
:
"00123_283"
,
id
:
103
,
size
:
"128Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
}
]
},{
dncCode
:
"19212_0665002"
,
dncName
:
"数控机床02"
,
dncUser
:
"张帆"
,
dncArea
:
"区域02"
,
dncStatue
:
"空闲"
,
checked
:
false
,
btnShow
:
false
,
id
:
2
,
row
:
[
{
mdcNmae
:
"00123_281"
,
id
:
201
,
size
:
"128Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},
{
mdcNmae
:
"00123_282"
,
id
:
202
,
size
:
"128Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},
{
mdcNmae
:
"00123_283"
,
id
:
203
,
size
:
"128Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
}
]
}
],
listChengxu
:
[
//程序列表
{
mesCode
:
"1288-268"
,
id
:
1
,
checked
:
false
,
productName
:
"数控机床"
,
process_seq
:
"1"
,
process_name
:
"领料"
,
beginTime
:
"2020/05/26 "
,
endTime
:
"2020/05/26 "
},{
mesCode
:
"1288-269"
,
id
:
2
,
checked
:
false
,
productName
:
"摸具机床"
,
process_seq
:
"2"
,
process_name
:
"打磨"
,
beginTime
:
"2020/05/26 "
,
endTime
:
"2020/05/26 "
},{
mesCode
:
"1288-269"
,
id
:
3
,
checked
:
false
,
productName
:
"摸具机床"
,
process_seq
:
"2"
,
process_name
:
"打磨"
,
beginTime
:
"2020/05/26 "
,
endTime
:
"2020/05/26 "
},{
mesCode
:
"1288-269"
,
id
:
4
,
checked
:
false
,
productName
:
"摸具机床"
,
process_seq
:
"2"
,
process_name
:
"打磨"
,
beginTime
:
"2020/05/26 "
,
endTime
:
"2020/05/26 "
}
],
btnModal
:
true
,
//箭头
listTitle
:
[],
//订单号列表
newList
:
[],
//选中数据
chaiModal
:
false
,
//拆分弹框
...
...
@@ -258,7 +348,7 @@ export default {
};
},
created
()
{
this
.
getUserInfoFn
();
//
this.getUserInfoFn();
this
.
byheight
=
window
.
innerHeight
-
178
+
"px"
;
},
mounted
()
{
...
...
@@ -295,6 +385,16 @@ export default {
this
.
shebeiId
=
id
;
this
.
footerToolbar
=
true
;
},
// 切换箭头
showRow
(
id
,
btn
){
// console.log(id)
// let ss=!btnModal
// this.listSheBei.map(u=>{
// })
// console.log(btnModal = ss)
this
.
btnModal
=
!
this
.
btnModal
},
// 获取查询人员
getselectuser
(
id
)
{
let
parme
=
{
departmentId
:
id
,
type
:
"2"
};
...
...
@@ -312,7 +412,7 @@ export default {
res
.
result
.
map
(
u
=>
{
u
.
checked
=
false
;
});
this
.
list
SheBei
=
res
.
result
;
this
.
list
Chengxu
=
res
.
result
;
});
},
// 获取用户工单 JSON.stringify(parme)
...
...
@@ -324,7 +424,9 @@ export default {
res
.
result
.
map
(
u
=>
{
if
(
u
.
pid
)
{
pid
=
u
.
pid
;
}
else
{
pid
=
0
;}
}
else
{
pid
=
0
;
}
let
detailnew
=
{
beginTime
:
u
.
beginTime
,
//开始时间
dispatchStatus
:
u
.
dispatchStatus
,
//
...
...
@@ -349,7 +451,7 @@ export default {
};
savedUl
.
push
(
detailnew
);
});
this
.
listTask
=
savedUl
;
// this.listSheBei
= savedUl;
});
},
// 时间改变方法
...
...
@@ -369,10 +471,16 @@ export default {
changeStatus
(
a
)
{
this
.
getUserInfoFn
();
},
downFile
(){
this
.
$Message
.
success
(
"下载文件"
)
},
fileBeyong
(){
this
.
$Message
.
success
(
"对比文件"
)
},
// 打开抽屉
openDrawer
()
{
let
chekids
=
this
.
ids
;
let
formData
=
this
.
list
Task
;
let
formData
=
this
.
list
SheBei
;
let
timebegin
=
formData
[
0
].
beginTime
;
let
timend
=
formData
[
0
].
endTime
;
this
.
newList
=
[];
...
...
@@ -389,7 +497,7 @@ export default {
this
.
facilityModal
=
true
;
}
else
{
this
.
pentity
.
taskTime
=
[
timebegin
,
timend
];
}
// console.log("选中的数据", this.newList);
}
// console.log("选中的数据", this.newList);
},
// 设备派工
sendSheBei
()
{
...
...
@@ -447,7 +555,7 @@ export default {
},
// 拆分方法
setChai
(
item
,
index
)
{
this
.
curTask
=
item
;
this
.
curTask
=
item
;
this
.
chaiModal
=
true
;
this
.
chaiNum
=
1
;
this
.
maxnum
=
item
.
quantity
-
1
;
...
...
@@ -457,10 +565,10 @@ export default {
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
;
old
.
quantity
-=
this
.
chaiNum
;
add
.
quantity
=
this
.
chaiNum
;
add
.
id
=
0
;
add
.
pid
=
old
.
id
;
let
params
=
{
isDispatch
:
0
,
//派工是1,保存是0
entryList
:
[
old
,
add
]
...
...
@@ -495,31 +603,53 @@ export default {
computed
:
{
ids
()
{
let
ids
=
[];
this
.
listTask
.
map
(
u
=>
{
if
(
u
.
checked
)
{
ids
.
push
(
u
.
id
);}
this
.
listSheBei
.
map
(
u
=>
{
if
(
u
.
checked
)
{
ids
.
push
(
u
.
id
);
}
});
if
(
ids
.
length
>
0
)
{
this
.
footerToolbar
=
true
;}
if
(
ids
.
length
>
0
)
{
this
.
footerToolbar
=
true
;
this
.
xiaZai
=
true
;
}
return
ids
;
},
chengXuIds
()
{
let
chengXuIds
=
[];
this
.
listChengxu
.
map
(
u
=>
{
if
(
u
.
checked
)
{
chengXuIds
.
push
(
u
.
id
);
}
});
if
(
chengXuIds
.
length
>
0
)
{
this
.
footerToolbar
=
true
;
}
return
chengXuIds
;
},
listOrder
()
{
let
orders
=
this
.
$u
.
group
(
this
.
list
Task
,
u
=>
{
let
orders
=
this
.
$u
.
group
(
this
.
list
SheBei
,
u
=>
{
return
u
.
mesCode
;
});
// console.warn("listOrder", orders);
});
// 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
;
liOrderIds
()
{
let
liOrderIds
=
[];
let
rowList
;
this
.
listSheBei
.
map
(
u
=>
{
rowList
=
u
.
row
});
// rowList.map(item=>{ rowData.push(item) })
// rowList.map(tm=>{
// if(tm.checked){
// liOrderIds.push(tm.id)
// }
// })
// this.footerToolbar = true;
return
rowList
;
},
showOperate
()
{
return
(
this
.
ids
.
length
>
0
&&
(
this
.
shebeiId
>
0
||
this
.
peploeId
.
length
>
0
)
this
.
ids
.
length
>
0
&&
(
this
.
chengXuIds
.
length
>
0
)
// || this.liOrderIds.length > 0
);
}
},
...
...
pages/dncmnc/dnc/dispatch.less
View file @
923d9fe9
...
...
@@ -31,11 +31,39 @@
.dispatch_part_body{
padding: 10px;
overflow-y: auto;
.h3_bg{
background: #a5adbf;
padding: 0 0 0 10px;
.h3_tag{
margin-left: 15px!important;
.row_box {
border: 1px solid #ccc;
border-radius:4px;
margin: 10px 0;
.h3_bg{
padding: 5px 0 5px 10px;
border-bottom: 1px solid #ccc;
.h3_tag{
margin-left: 40px;
color: #2680EB;
}
}
.card_body01{
padding: 0 10px 0;
}
.h60{
.card_body02{
padding: 0 10px 0;
margin: 4px 0;
.dispatch_li{
line-height: 24px;
}
}
}
.show_btn{
font-size: 16px;
a{
text-align: center;
width: 40px;
display: block;
height: 24px;
margin: 0 auto;
}
}
}
.dispatch_card{
...
...
@@ -47,43 +75,13 @@
}
}
.ivu-card-head{
background: #2d8cf0
!important
;
background: #2d8cf0;
}
}
.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{
...
...
@@ -105,8 +103,6 @@
font-weight: 600;
}
.drawer_midell{
// height: 120px;
// margin: 20px 0;
.drawer_center{
text-align: center;
padding: 10px;
...
...
pages/dncmnc/dnc/edit.vue
0 → 100644
View file @
923d9fe9
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"140"
>
<Row>
<Col
:span=
"12"
>
<FormItem
label=
"物料编码:"
prop=
""
>
<Input
placeholder=
"请输入物料编码"
v-model=
"entity.projectNo"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"零件图号:"
prop=
""
>
<Input
placeholder=
"请输入零件图号"
v-model=
"entity.lingNo"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"零件名称:"
prop=
""
>
<Input
placeholder=
"请输入零件名称"
v-model=
"entity.lingName"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"工艺规程/工序号:"
prop=
""
>
<Input
placeholder=
"请输入工艺规程/工序号"
v-model=
"entity.produCode"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"工序名称:"
prop=
""
>
<Input
placeholder=
"请输入工序名称"
v-model=
"entity.produName"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"程序名称:"
prop=
""
>
<Input
placeholder=
"请输入程序名称"
v-model=
"entity.projecName"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"程序文件名称:"
prop=
""
>
<Input
placeholder=
"请输入程序文件名称"
v-model=
"entity.fileName"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"版本号:"
prop=
""
>
<Input
placeholder=
"请输入版本号"
v-model=
"entity.tvb"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"创建人:"
prop=
""
>
<Input
placeholder=
"请输入创建人"
v-model=
"entity.creatUser"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"状态:"
prop=
""
>
{{
entity
.
statue
}}
<!--
<Input
v-model=
"entity.statue"
/>
-->
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"备注:"
prop=
""
>
<Input
placeholder=
"请输入备注信息"
v-model=
"entity.notse"
/>
</FormItem>
</Col>
</Row>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
<Button
@
click=
"handleClose"
class=
"ml20"
>
取消
</Button>
</FormItem>
</Form>
</
template
>
<
script
>
export
default
{
name
:
"Edit"
,
data
()
{
return
{
disabled
:
false
,
entity
:
{},
orderCatList
:
[],
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
},
single
:
false
};
},
props
:
{
row
:
{
type
:
Object
,
default
:
()
=>
{
return
null
;
}
}
},
methods
:
{
load
(
v
)
{
this
.
entity
=
v
;
},
handleSubmit
()
{
this
.
$refs
.
form
.
validate
(
v
=>
{
if
(
v
)
{
this
.
disabled
=
true
;
let
parmsUp
=
{
run_time
:
this
.
entity
.
run_time
,
first_equip
:
this
.
entity
.
eQUIPID
,
id
:
this
.
entity
.
id
};
// Api.updatesetuptimeandfirstequip(parmsUp)
// .then(res => {
// if (res.success) {
// if (!this.single) {
// this.$Message.success("保存成功");
// this.$emit("on-option-ok");
// } else {
// let parms = {
// id: this.entity.routing_detail_id, //工序ID
// name: this.entity.task_name, //工序名
// task_seq: this.entity.task_seq, //工序号
// resource_id: this.entity.eQUIPID, //设备id
// runtime: this.entity.run_time, //单件工时
// department_id: 0 //班组ID
// };
// Api.apsupdate(parms)
// .then(r => {
// this.disabled = false;
// if (r.success) {
// this.$Message.success("保存成功");
// this.$emit("on-option-ok");
// } else {
// this.$Message.error("保存失败");
// }
// })
// .catch(err => {
// this.disabled = false;
// this.$Message.error("保存失败");
// console.warn(err);
// });
// }
// } else {
// this.$Message.error("保存失败");
// }
// })
// .catch(err => {
// this.disabled = false;
// this.$Message.error("保存失败");
// console.warn(err);
// });
}
});
},
handleClose
()
{
this
.
$emit
(
"on-close"
);
},
l
(
key
)
{
key
=
"mes_op_task_execute"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
},
watch
:
{
row
(
v
)
{
if
(
v
!=
{})
{
alert
(
JSON
.
stringify
(
v
))
this
.
entity
=
v
;
}
}
}
};
</
script
>
pages/dncmnc/dnc/index.vue
View file @
923d9fe9
<
template
>
<div
class=
"dnc_box"
>
<!-- 数据传输:action="action" 接口数据 -->
<DataGrid
:columns=
"columns"
ref=
"grid"
:data=
"data"
:high=
"false"
>
<DataGrid
:columns=
"columns"
ref=
"grid"
:data=
"data"
:high=
"false"
:height=
"tableHeight"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
...
...
@@ -13,20 +13,28 @@
</Form>
</
template
>
<
template
slot=
"buttons"
>
<Button
type=
"primary"
>
新增
</Button>
<Button
type=
"primary"
@
click=
"addRow"
>
新增
</Button>
</
template
>
</DataGrid>
<Modal
v-model=
"editModal"
title=
"编辑"
footer-hide
width=
"800"
>
<!-- <Edit :row="rowData" @on-close="cancel" @on-option-ok="addOk" /> -->
<Edit
:row=
"rowData"
@
on-close=
"cancel"
@
on-option-ok=
"editOk"
/>
</Modal>
<Modal
v-model=
"addModal"
title=
"新增"
footer-hide
width=
"800"
>
<addView
@
on-close=
"cancel"
@
on-option-ok=
"addOk"
/>
</Modal>
</div>
</template>
<
script
>
import
Edit
from
"./edit"
;
import
addView
from
"./add"
;
export
default
{
components
:
{},
components
:
{
Edit
,
addView
},
data
()
{
return
{
editModal
:
false
,
addModal
:
false
,
tableHeight
:
800
,
rowData
:{},
easySearch
:
{
keys
:
{
op
:
'projectNo'
,
value
:
null
}
},
...
...
@@ -61,7 +69,7 @@ export default {
},
{
key
:
"tvb"
,
title
:
"版本"
title
:
"版本
号
"
},
{
key
:
"creatUser"
,
...
...
@@ -110,8 +118,7 @@ export default {
creatUser
:
"刘建"
,
statue
:
"受控"
,
notse
:
"适用于MDF设备"
},
{
},{
projectNo
:
"12366588"
,
id
:
2
,
lingNo
:
"dd4.rt5.991"
,
...
...
@@ -124,8 +131,7 @@ export default {
creatUser
:
"刘建"
,
statue
:
"受控"
,
notse
:
"适用于MDF设备"
},
{
},{
projectNo
:
"2536898"
,
id
:
3
,
lingNo
:
"dd4.rt5.991"
,
...
...
@@ -138,8 +144,46 @@ export default {
creatUser
:
"刘建"
,
statue
:
"受控"
,
notse
:
"适用于MDF设备"
},
{
},{
projectNo
:
"35653248"
,
id
:
4
,
lingNo
:
"dd4.rt5.991"
,
lingName
:
"轴承"
,
produCode
:
"JJGYI-001/1"
,
produName
:
"车"
,
projecName
:
"精车文件"
,
fileName
:
"dd4rt5991.1.A.txt"
,
tvb
:
"A"
,
creatUser
:
"刘建"
,
statue
:
"受控"
,
notse
:
"适用于MDF设备"
},{
projectNo
:
"35653248"
,
id
:
4
,
lingNo
:
"dd4.rt5.991"
,
lingName
:
"轴承"
,
produCode
:
"JJGYI-001/1"
,
produName
:
"车"
,
projecName
:
"精车文件"
,
fileName
:
"dd4rt5991.1.A.txt"
,
tvb
:
"A"
,
creatUser
:
"刘建"
,
statue
:
"受控"
,
notse
:
"适用于MDF设备"
},{
projectNo
:
"35653248"
,
id
:
4
,
lingNo
:
"dd4.rt5.991"
,
lingName
:
"轴承"
,
produCode
:
"JJGYI-001/1"
,
produName
:
"车"
,
projecName
:
"精车文件"
,
fileName
:
"dd4rt5991.1.A.txt"
,
tvb
:
"A"
,
creatUser
:
"刘建"
,
statue
:
"受控"
,
notse
:
"适用于MDF设备"
},{
projectNo
:
"35653248"
,
id
:
4
,
lingNo
:
"dd4.rt5.991"
,
...
...
@@ -156,17 +200,35 @@ export default {
]
};
},
created
()
{},
created
(){
this
.
tableHeight
=
window
.
innerHeight
-
230
},
mounted
()
{
// this.loadDuration();
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
return
(()
=>
{
window
.
screenHeight
=
window
.
innerHeight
this
.
tableHeight
=
window
.
screenHeight
-
230
})()
}
},
methods
:
{
search
()
{
this
.
$Message
.
success
(
"搜索查询"
)
// this.$refs.grid.reload(this.easySearch)
},
addRow
(){
this
.
addModal
=
true
},
edit
(
rowData
){
console
.
log
(
rowData
)
this
.
rowData
=
rowData
;
this
.
editModal
=
true
},
editOk
(){},
addOk
(){},
cancel
(){
this
.
editModal
=
false
this
.
addModal
=
false
},
},
computed
:
{},
...
...
pages/dncmnc/mnc/analysis.vue
View file @
923d9fe9
<
template
>
<div>
数据分析表
<Echart1
></Echart1>
<div>
<a
class=
"back_href"
@
click=
"goView"
>
<Icon
type=
"ios-undo-outline"
size=
"24"
/>
返回设备监控
</a>
<!-- 数据分析表 -->
<Echart1
></Echart1>
</div>
</
template
>
<
script
>
...
...
@@ -73,6 +77,11 @@ export default {
};
},
methods
:
{},
methods
:
{
goView
(){
//返回设备监控页面
this
.
$router
.
push
(
"/dncmnc/mnc"
);
},
},
};
</
script
>
pages/materiel/classification/index.vue
View file @
923d9fe9
...
...
@@ -44,14 +44,14 @@
placement=
"right-start"
>
<DropdownMenu
slot=
"list"
ref=
"ppp"
style=
"min-width: 80px;"
>
<DropdownItem>
<a
@
click=
"add"
>
添加
</a>
<DropdownItem
@
click
.
native=
"add"
>
<a>
添加
</a>
</DropdownItem>
<DropdownItem
name=
"edit"
>
<a
@
click=
"edit"
>
修改
</a>
<DropdownItem
name=
"edit"
@
click
.
native=
"edit"
>
<a>
修改
</a>
</DropdownItem>
<DropdownItem
name=
"del"
>
<a
@
click=
"remove"
>
删除
</a>
<DropdownItem
name=
"del"
@
click
.
native=
"remove"
>
<a>
删除
</a>
</DropdownItem>
</DropdownMenu>
</Dropdown>
...
...
pages/materiel/masterData/add.vue
View file @
923d9fe9
...
...
@@ -58,7 +58,7 @@
<!--
<files
ref=
"refFile"
:parms=
"parms"
fileFormat
:Photos=
"true"
@
clickItem=
"clickData"
/>
-->
<InputFile
v-if=
"li.dataType==7"
v-model=
"entity[li.field]"
></InputFile>
<Input
v-if=
"li.dataType==8"
type=
"textarea"
v-model=
"entity[li.field]"
></Input>
<state
v-if=
"li.unitName
"
:value=
"li.unitName"
code=
"material.main.unitName"
type=
"tag"
></state>
<state
v-if=
"li.unitName&&(li.dataType==1||li.dataType==2)
"
:value=
"li.unitName"
code=
"material.main.unitName"
type=
"tag"
></state>
</FormItem>
</Col>
<!--
<Col
:span=
"24"
>
...
...
pages/materiel/masterData/edit.vue
View file @
923d9fe9
...
...
@@ -2,23 +2,18 @@
<div>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"90"
>
<Row>
<Col
:span=
"12"
>
<
!--
<
Col
:span=
"12"
>
<FormItem
label=
"编码"
prop=
"code"
>
<Input
v-model=
"entity.code"
placeholder=
"请输入"
disabled
></Input>
</FormItem>
</Col>
</Col>
-->
<Col
:span=
"12"
>
<FormItem
label=
"名称"
prop=
"name"
>
<Input
v-model=
"entity.name"
placeholder=
"请输入"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"状态"
prop=
"status"
placeholder=
"请选择"
v-if=
"entity.status==3||entity.status==4"
>
<!--
<Col
:span=
"12"
>
<FormItem
label=
"状态"
prop=
"status"
placeholder=
"请选择"
>
<Dictionary
code=
"material.main.status"
v-model=
"entity.status"
...
...
@@ -27,7 +22,7 @@
:key=
"entity.status"
></Dictionary>
</FormItem>
</Col>
</Col>
-->
<Col
:span=
"12"
>
<FormItem
label=
"版本"
prop=
"version"
>
<Input
v-model=
"entity.version"
placeholder=
"请输入"
></Input>
...
...
@@ -52,9 +47,9 @@
class=
"w100"
></InputNumber>
<Dictionary
v-if=
"li.dataType==3"
v-model=
"entity[li.field]"
:code=
"li.note"
></Dictionary>
<Input
v-if=
"li.dataType==
4"
v-model=
"entity[li.filed]"
></Input>
<Input
v-if=
"li.dataType==
5"
type=
"textarea"
v-model=
"entity[li.filed]"
></Input>
<DatePicker
v-if=
"li.dataType==
5
"
v-if=
"li.dataType==
4
"
v-model=
"entity[li.field]"
type=
"date"
:placeholder=
"'选择'+li.title"
...
...
@@ -63,6 +58,7 @@
<!--
<files
ref=
"refFile"
:parms=
"parms"
fileFormat
:Photos=
"true"
@
clickItem=
"clickData"
/>
-->
<InputFile
v-if=
"li.dataType==7"
v-model=
"entity[li.field]"
></InputFile>
<Input
v-if=
"li.dataType==8"
type=
"textarea"
v-model=
"entity[li.field]"
></Input>
<state
v-if=
"li.unitName&&(li.dataType==1||li.dataType==2)"
:value=
"li.unitName"
code=
"material.main.unitName"
type=
"tag"
></state>
</FormItem>
</Col>
<!--
<Col
:span=
"24"
>
...
...
pages/materiel/masterData/masterData.vue
View file @
923d9fe9
...
...
@@ -228,7 +228,7 @@ export default {
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
initCols
()
{
initCols
(
delay
)
{
let
conditions
=
[
{
conditionalType
:
"Equal"
,
...
...
@@ -252,6 +252,7 @@ export default {
});
this
.
cols
=
this
.
$u
.
clone
(
this
.
columns
);
let
extra
=
items
.
map
(
u
=>
{
// console.log(u);
var
col
=
{
key
:
u
.
field
,
title
:
u
.
title
...
...
@@ -259,7 +260,10 @@ export default {
if
(
u
.
dataType
==
3
)
{
col
.
code
=
u
.
note
;
}
if
(
u
.
unitName
)
{
if
(
u
.
dataType
==
4
)
{
col
.
type
=
'date'
;
}
if
(
u
.
unitName
&&
(
u
.
dataType
==
1
||
u
.
dataType
==
2
))
{
var
units
=
this
.
$store
.
getters
.
dictionaryByKey
(
"material.main.unitName"
);
...
...
@@ -267,7 +271,7 @@ export default {
let
item
=
units
.
filter
(
p
=>
{
return
p
.
code
==
u
.
unitName
;
});
console
.
log
(
units
,
item
);
//
console.log(units, item);
col
.
title
+=
"("
+
item
[
0
].
name
+
")"
;
}
return
col
;
...
...
@@ -275,6 +279,10 @@ export default {
this
.
cols
=
this
.
cols
.
concat
(
extra
);
var
action
=
this
.
cols
.
splice
(
this
.
columns
.
length
-
1
,
1
);
this
.
cols
.
push
(
this
.
columns
[
this
.
columns
.
length
-
1
]);
if
(
delay
){
delay
();
}
// console.log(this.cols)
}
});
},
...
...
@@ -341,12 +349,14 @@ export default {
handler
(
newName
,
oldName
)
{
console
.
log
(
"ovo"
,
newName
,
oldName
);
if
(
newName
.
rootCategoryId
)
{
this
.
initCols
();
this
.
initCols
(()
=>
{
if
(
newName
.
categoryId
)
{
this
.
easySearch
.
categoryId
.
value
=
newName
.
ids
;
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
}
});
}
if
(
newName
.
categoryId
)
{
this
.
easySearch
.
categoryId
.
value
=
newName
.
ids
;
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
}
else
{
if
(
!
newName
.
categoryId
)
{
this
.
easySearch
.
categoryId
.
value
=
"-1"
;
}
},
...
...
pages/materiel/masterData/submit.vue
View file @
923d9fe9
...
...
@@ -18,7 +18,8 @@
<div
v-else-if=
"li.dataType==8"
>
{{
entity
[
li
.
field
]
}}
</div>
<div
v-else-if=
"li.dataType==5"
v-html=
"entity[li.field]"
></div>
<span
v-else
>
{{
entity
[
li
.
field
]
}}
</span>
<span
v-if=
"li.unitName"
v-text=
"li.unitName"
class=
"ml10"
></span>
<State
v-if=
"li.unitName"
:code=
"li.note"
:value=
"entity[li.field]"
/>
<!--
<span
v-if=
"li.unitName"
v-text=
"li.unitName"
class=
"ml10"
></span>
-->
</Filed>
</Row>
</div>
...
...
@@ -257,8 +258,7 @@ export default {
if
(
this
.
entity
.
code
)
{
codeList
.
push
(
this
.
entity
.
code
);
}
else
{
codeList
.
push
(
this
.
eid
);
codeList
.
push
(
this
.
eid
);
}
idList
.
push
(
this
.
eid
);
}
else
{
...
...
@@ -267,8 +267,7 @@ export default {
if
(
e
.
code
)
{
codeList
.
push
(
e
.
code
);
}
else
{
codeList
.
push
(
e
.
id
);
codeList
.
push
(
e
.
id
);
}
});
}
...
...
pages/produce/execute/datafilling/backCheck.vue
0 → 100644
View file @
923d9fe9
<
template
>
<Form
ref=
"form"
:model=
"mod"
:label-width=
"100"
>
<Row
class=
"rowTitle100"
>
<Col
:span=
"12"
>
<span
class=
"ml20"
>
产品号
</span>
<Select
multiple
@
on-change=
"productonchange"
v-model=
"product_ID"
class=
"w200"
>
<Option
v-for=
"item in product_List"
:value=
"item.productids"
:key=
"item.index"
>
{{
item
.
productcodes
}}
</Option>
</Select>
</Col>
</Row>
<Row
class=
"rowTitle100"
>
<Col
:span=
"12"
>
<FormItem
label=
"备注"
>
<Input
v-model=
"mod.check_Result"
type=
"textarea"
:rows=
"4"
maxlength=
"100"
show-word-limit
></Input>
</FormItem>
</Col>
</Row>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
确定
</Button>
</FormItem>
</Form>
</
template
>
<
script
>
import
service
from
'@/plugins/request'
export
default
{
name
:
'backCheck'
,
components
:
{},
data
()
{
return
{
disabled
:
false
,
isCurrentUser
:
false
,
mod
:
{
id
:
0
,
dispatch_id
:
0
,
execute_id
:
0
,
order_id
:
''
,
routingHeaderId
:
0
,
routingDetailId
:
0
,
product_code
:
''
,
board_code
:
''
,
checkerIds
:
''
,
checkerNames
:
''
,
check_Status
:
0
,
check_Result
:
''
,
checker
:
0
,
checkName
:
''
,
check_time
:
null
},
recordList
:
[],
isMain
:
1
,
productisabled
:
false
,
product_ID
:
[],
board_ID
:
[],
product_List
:
[],
board_List
:
[]
}
},
mounted
()
{},
watch
:
{},
methods
:
{
handleSubmit
()
{
let
state
=
true
if
(
this
.
product_ID
.
length
==
0
)
{
state
=
false
this
.
$Message
.
error
(
'请选择要打回的产品'
)
return
}
this
.
mod
.
product_code
=
this
.
product_ID
.
join
(
','
)
this
.
mod
.
board_code
=
this
.
board_ID
.
join
(
','
)
if
(
state
)
{
var
url
=
`
${
PlanUrl
}
/ordercheckresult/savecheckresult`
service
.
post
(
`
${
url
}
`
,
this
.
mod
)
.
then
((
response
)
=>
{
if
(
response
.
success
)
{
this
.
$Message
.
success
(
'操作成功'
)
this
.
$parent
.
$parent
.
loadproduct
()
this
.
$parent
.
$parent
.
backCheckModal
=
false
}
})
.
catch
((
error
)
=>
{
this
.
$Message
.
error
(
'保存失败'
)
})
}
},
handleClose
()
{},
loadentry
(
entryModel
,
fillModel
)
{
this
.
mod
.
dispatch_id
=
entryModel
.
id
this
.
mod
.
execute_id
=
entryModel
.
executeId
this
.
mod
.
order_id
=
entryModel
.
order_id
this
.
mod
.
routingHeaderId
=
entryModel
.
routingHeaderId
this
.
mod
.
routingDetailId
=
entryModel
.
routingDetailId
this
.
mod
.
checkName
=
this
.
$store
.
state
.
userInfo
.
userName
this
.
mod
.
check_Status
=
3
this
.
product_code
=
''
this
.
board_code
=
''
this
.
isCurrentUser
=
false
this
.
isMain
=
entryModel
.
isMain
this
.
product_ID
=
[]
this
.
board_ID
=
[]
this
.
productisabled
=
fillModel
.
productisabled
this
.
product_ID
.
push
(
fillModel
.
product_ID
)
this
.
board_ID
.
push
(
fillModel
.
board_ID
)
this
.
product_List
=
fillModel
.
product_List
this
.
board_List
=
fillModel
.
board_List
},
productonchange
(
e
)
{},
boardonchange
(
e
)
{
this
.
product_ID
=
[]
for
(
let
i
=
0
;
i
<
this
.
board_List
.
length
;
i
++
)
{
let
obj
=
this
.
board_List
[
i
]
for
(
let
j
=
0
;
j
<
e
.
length
;
j
++
)
{
if
(
obj
.
boardNumber
==
e
[
j
])
{
this
.
product_ID
.
push
(
obj
.
productids
)
}
}
}
}
}
}
</
script
>
\ No newline at end of file
pages/produce/execute/datafilling/check.vue
View file @
923d9fe9
<
template
>
<h2>
数据检验
</h2>
</
template
>
<div
class=
"data-filling"
>
<div
class=
"data-title flex"
>
<div
class=
"fg"
>
<span
class=
"ml20"
>
产品号
</span>
<Select
:multiple=
"false"
class=
"select-produt-name"
@
on-change=
"productonchange"
v-model=
"product_ID"
>
<!--
<Option
value=
""
class=
"option_text"
>
请选择
</Option>
-->
<Option
v-for=
"item in product_List"
:value=
"item.productids"
:key=
"item.index"
>
{{
item
.
productcodes
}}
</Option>
</Select>
</div>
<div
class=
"tr"
>
<Button
type=
"primary"
@
click=
"QcCardChecker(3)"
class=
"title_btn ml10"
>
检验员
</Button>
<Button
type=
"primary"
@
click=
"jybackCheck()"
class=
"title_btn ml10"
>
打回
</Button>
<Button
type=
"primary"
@
click=
"SendCheckRecord()"
class=
"title_btn ml10"
>
送检记录
</Button>
</div>
</div>
<div
class=
"table-i"
>
<Table
border
:columns=
"columns12"
:data=
"recorddata"
>
<template
slot-scope=
"
{ row,index }" slot="selffillin">
<template
v-if=
"row.inspect_type.split(',').indexOf('1')>-1"
>
<template
v-if=
"row.fillintype == 1"
>
{{
row
.
selfchecklist
.
user_name
}}
{{
row
.
selfchecklist
.
addTime
}}
</
template
>
<
template
v-else-if=
"row.fillintype ==2"
>
<op
class=
"view"
>
{{
row
.
selfchecklist
.
fill_in_content
}}
</op>
{{
row
.
selfchecklist
.
user_name
}}
{{
row
.
selfchecklist
.
addTime
}}
</
template
>
<
template
v-else
>
<op
v-if=
"row.selfchecklist.fillinstatus!=0"
class=
"view"
@
click=
"showrecordData(row,1,false)"
v-text=
"row.selfchecklist.user_name+' '+row.selfchecklist.addTime"
></op>
</
template
>
</template>
</template>
<!--互检-->
<
template
slot-scope=
"{ row,index }"
slot=
"mutualfillin"
>
<template
v-if=
"row.inspect_type.split(',').indexOf('2')>-1"
>
<template>
<template
v-if=
"row.fillintype == 1"
>
{{
row
.
mutualchecklist
.
user_name
}}
{{
row
.
mutualchecklist
.
addTime
}}
</
template
>
<
template
v-else-if=
"row.fillintype ==2"
>
<op
class=
"view"
>
{{
row
.
mutualchecklist
.
fill_in_content
}}
</op>
{{
row
.
mutualchecklist
.
user_name
}}
{{
row
.
mutualchecklist
.
addTime
}}
</
template
>
<
template
v-else
>
<op
v-if=
"row.mutualchecklist.fillinstatus!=0"
class=
"view"
@
click=
"showrecordData(row,2,false)"
v-text=
"row.mutualchecklist.user_name+' '+row.mutualchecklist.addTime"
></op>
</
template
>
</template>
</template>
</template>
<
template
slot-scope=
"{ row,index }"
slot=
"seizurefillin"
>
<template
v-if=
"row.inspect_type.split(',').indexOf('3')>-1"
>
<!--未填报-->
<template
v-if=
"row.seizurechecklist.fillinstatus==0"
>
<!--自检完成-->
<template
v-if=
"productobj.productstatus==3"
>
<Checkbox
v-model=
"row.seizurechecklist.checkstatus"
@
on-change=
"seizurechecklistcheck(index,$event)"
v-if=
"row.fillintype == 1"
></Checkbox>
<Input
v-model=
"row.seizurechecklist.fill_in_content"
v-else-if=
"row.fillintype == 2"
placeholder=
"请输入..."
@
on-blur=
"seizurechecklistinput(index,$event)"
></Input>
<template
v-else
>
<op
class=
"view"
@
click=
"showrecordData(row,3,true)"
v-if=
"row.seizurechecklist.fill_in_content==''"
v-text=
"row.fillintype_str"
></op>
<op
class=
"view"
@
click=
"showrecordData(row,3,true)"
v-else
v-text=
"look"
></op>
</
template
>
</template>
</template>
<
template
v-else
>
<template
v-if=
"row.fillintype == 1"
>
{{
row
.
seizurechecklist
.
user_name
}}
{{
row
.
seizurechecklist
.
addTime
}}
</
template
>
<
template
v-else-if=
"row.fillintype ==2"
>
<op
class=
"view"
>
{{
row
.
seizurechecklist
.
fill_in_content
}}
</op>
{{
row
.
seizurechecklist
.
user_name
}}
{{
row
.
seizurechecklist
.
addTime
}}
</
template
>
<
template
v-else
>
<op
class=
"view"
@
click=
"showrecordData(row,3,false)"
v-text=
"row.seizurechecklist.user_name+' '+row.seizurechecklist.addTime"
></op>
</
template
>
</template>
</template>
</template>
<
template
slot-scope=
"{ row,index }"
slot=
"isPhotograph"
>
<template
v-if=
"row.isPhotograph==0"
>
<op
class=
"view"
></op>
</
template
>
<
template
v-else
>
<op
class=
"view"
@
click=
"showPhoto(row,true)"
v-if=
"row.movieid==''"
>
上传
</op>
<op
class=
"view"
@
click=
"showPhoto(row,true)"
v-else
>
查看
</op>
</
template
>
</template>
</Table>
</div>
<Modal
v-model=
"usercardModal"
title=
"刷卡汇报"
width=
"500"
:footer-hide=
"true"
:mask-closable=
"false"
>
<usercard
ref=
"usercard"
@
on-ok=
"ok"
></usercard>
</Modal>
<Modal
v-model=
"entryrecorddataModal"
title=
"数据包列表"
width=
"940"
:footer-hide=
"true"
:mask-closable=
"false"
>
<entryrecorddata
ref=
"entryrecorddata"
@
binddataid=
"binddataid"
></entryrecorddata>
</Modal>
<Modal
v-model=
"entryrecordfilesModal"
title=
"附件列表"
width=
"940"
:footer-hide=
"true"
:mask-closable=
"false"
>
<entryrecordfiles
@
binddataid=
"binddataid"
ref=
"entryrecordfiles"
></entryrecordfiles>
</Modal>
<Modal
v-model=
"entryrecordmovieModal"
title=
"上传照片"
width=
"1340"
height=
"500"
:footer-hide=
"true"
:mask-closable=
"false"
>
<entryrecordMovie
@
bindPhotoid=
"bindPhotoid"
ref=
"entryrecordMovie"
></entryrecordMovie>
</Modal>
<Modal
v-model=
"sendCheckRecordModal"
title=
"送检记录"
width=
"1340"
:footer-hide=
"true"
:mask-closable=
"false"
>
<sendCheckRecord
ref=
"sendCheckRecord"
></sendCheckRecord>
</Modal>
<Modal
v-model=
"backCheckModal"
title=
"打回"
width=
"1340"
:footer-hide=
"true"
:mask-closable=
"false"
>
<backCheck
ref=
"backCheck"
></backCheck>
</Modal>
</div>
</template>
<
script
>
export
default
{
name
:
''
,
data
()
{
return
{
import
service
from
"@/plugins/request"
;
import
usercard
from
"./usercard.vue"
;
import
entryrecorddata
from
"./entryrecorddata.vue"
;
import
entryrecordMovie
from
"./entryrecordMovie.vue"
;
import
sendCheckRecord
from
"./sendCheckRecord.vue"
;
import
entryrecordfiles
from
"./entryrecordfiles.vue"
;
import
backCheck
from
"./backCheck.vue"
;
export
default
{
name
:
"starOrder"
,
props
:
[
"row"
],
components
:
{
usercard
,
entryrecorddata
,
entryrecordMovie
,
sendCheckRecord
,
entryrecordfiles
,
backCheck
},
data
()
{
return
{
product_List
:
[],
product_ID
:
""
,
disabled
:
false
,
ishavself
:
true
,
ishavhj
:
true
,
ishavzj
:
true
,
board_ID
:
""
,
board_List
:
[],
usercardModal
:
false
,
sendCheckModal
:
false
,
entryrecorddataModal
:
false
,
entryrecordfilesModal
:
false
,
entryrecordmovieModal
:
false
,
sendCheckRecordModal
:
false
,
backCheckModal
:
false
,
recorddata
:
[],
entryModel
:
{},
look
:
"查看"
,
qc_show_data
:
null
,
//表格列表row
qc_show_fill_in_user_type
:
null
,
//1,2,3;自检,互检,检验员
datasearch
:
{
entryID
:
this
.
row
.
id
,
isMain
:
1
,
productcode
:
""
,
execute_id
:
this
.
row
.
executeId
,
order_id
:
this
.
row
.
orderId
},
columns12
:
[
{
title
:
"序号"
,
type
:
"index"
,
width
:
"70"
,
align
:
"center"
},
{
title
:
"参数名称"
,
key
:
"check_params"
,
tooltip
:
true
},
{
title
:
"检验类型"
,
key
:
"inspect_type"
,
render
(
h
,
params
)
{
return
h
(
"state"
,
{
props
:
{
code
:
"QC.checktype"
,
value
:
params
.
row
.
inspect_type
}
});
}
},
{
title
:
"汇报类型"
,
key
:
"fillintype_str"
,
width
:
100
},
{
title
:
"标准指标"
,
key
:
"standard"
},
{
title
:
"生产要求"
,
key
:
"production_requirement"
,
tooltip
:
true
},
{
title
:
"检测内容"
,
key
:
"check_content"
,
tooltip
:
true
},
{
title
:
"操作员"
,
key
:
"fillintype"
,
renderHeader
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
[
h
(
"Checkbox"
,
{
props
:
{
value
:
this
.
isselfCheckAll
},
on
:
{
"on-change"
:
()
=>
{
this
.
handleselfCheckAll
();
//点击修改下面Checkbox的状态
}
}
},
"操作员"
)
]);
},
slot
:
"selffillin"
},
{
title
:
"互检员"
,
key
:
"mutual"
,
renderHeader
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
[
h
(
"Checkbox"
,
{
props
:
{
value
:
this
.
ismutualCheckAll
},
on
:
{
"on-change"
:
()
=>
{
this
.
handlemutualCheckAll
();
//点击修改下面Checkbox的状态
}
}
},
"互检员"
)
]);
},
slot
:
"mutualfillin"
},
{
title
:
"检验员"
,
key
:
"seizure"
,
renderHeader
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
[
h
(
"Checkbox"
,
{
props
:
{
value
:
this
.
isseizureCheckAll
},
on
:
{
"on-change"
:
()
=>
{
this
.
handleseizureCheckAll
();
//点击修改下面Checkbox的状态
}
}
},
"检验员"
)
]);
},
slot
:
"seizurefillin"
},
{
title
:
"是否拍照"
,
key
:
"isPhotograph"
,
width
:
100
,
slot
:
"isPhotograph"
},
{
title
:
"模板"
,
key
:
"qualityTemplate"
,
width
:
80
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"icon_box"
},
[
h
(
"A"
,
{
attrs
:
{
href
:
fileUrlDown
+
params
.
row
.
qualityTemplate
,
target
:
"_blank"
},
props
:
{},
style
:
{
color
:
"#249E91"
,
marginRight
:
"5px"
,
cursor
:
"pointer"
}
},
params
.
row
.
qualityTemplateName
)
]
);
}
}
]
};
},
created
()
{
console
.
log
(
this
.
row
);
this
.
entryModel
.
executeId
=
this
.
row
.
executeId
;
this
.
entryModel
.
order_id
=
this
.
row
.
order_id
;
this
.
entryModel
.
id
=
this
.
row
.
id
;
this
.
entryModel
.
routingHeaderId
=
this
.
row
.
headid
;
this
.
entryModel
.
routingDetailId
=
this
.
row
.
routingdetailId
;
this
.
entryModel
.
isMain
=
1
;
this
.
datasearch
.
entryID
=
this
.
row
.
id
;
this
.
datasearch
.
isMain
=
1
;
this
.
datasearch
.
productcode
=
this
.
datasearch
.
productcode
;
this
.
datasearch
.
execute_id
=
this
.
row
.
executeId
;
this
.
datasearch
.
order_id
=
this
.
row
.
orderId
;
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
mounted
()
{
this
.
loadproduct
();
},
methods
:
{
loaddata
()
{
var
url
=
`
${
PlanUrl
}
/orderexecutequalityrecord/getentryqcrecordlist`
;
service
.
get
(
url
,
this
.
datasearch
).
then
(
response
=>
{
this
.
recorddata
=
response
.
result
;
this
.
ishavself
=
true
;
this
.
ishavhj
=
true
;
this
.
ishavzj
=
true
;
for
(
let
i
=
0
;
i
<
this
.
recorddata
.
length
;
i
++
)
{
let
obj
=
this
.
recorddata
[
i
];
let
checktypes
=
obj
.
inspect_type
.
split
(
","
);
if
(
checktypes
.
indexOf
(
"1"
)
>
-
1
)
{
this
.
ishavself
=
false
;
}
if
(
checktypes
.
indexOf
(
"2"
)
>
-
1
)
{
this
.
ishavhj
=
false
;
}
if
(
checktypes
.
indexOf
(
"3"
)
>
-
1
)
{
this
.
ishavzj
=
false
;
}
}
});
},
loadproduct
()
{
let
entry
=
{
dispatch_id
:
this
.
row
.
id
,
execute_id
:
this
.
row
.
executeId
,
order_id
:
this
.
row
.
orderId
,
routingHeaderId
:
this
.
row
.
headid
,
routingDetailId
:
this
.
row
.
routingdetailId
};
var
url
=
`
${
PlanUrl
}
/ordercheck/getentryproductcode?entryID=`
+
this
.
row
.
id
;
service
.
get
(
url
,
entry
).
then
(
response
=>
{
this
.
product_List
=
response
.
result
;
for
(
let
i
=
0
;
i
<
this
.
product_List
.
length
;
i
++
)
{
let
obj
=
this
.
product_List
[
i
];
if
(
obj
.
productstatus
==
3
)
{
this
.
datasearch
.
productcode
=
obj
.
productids
;
this
.
product_ID
=
obj
.
productids
;
this
.
productobj
=
obj
;
break
;
}
}
this
.
loaddata
();
});
},
productonchange
(
v
)
{
this
.
datasearch
.
productcode
=
v
;
for
(
let
i
=
0
;
i
<
this
.
product_List
.
length
;
i
++
)
{
let
obj
=
this
.
product_List
[
i
]
if
(
obj
.
productids
==
e
)
{
this
.
productobj
=
obj
}
}
this
.
loaddata
();
},
showrecordData
(
params
,
fill_in_user_type
,
isedit
)
{
this
.
qc_show_data
=
params
;
//表格列表row
this
.
qc_show_fill_in_user_type
=
fill_in_user_type
;
//1,2,3;自检,互检,检验员
if
(
params
.
fillintype
==
3
)
{
//fillintype 1 选择框 2 输入框 3 附件 4 键值对数据
//附件页面
this
.
entryrecordfilesModal
=
true
;
this
.
$refs
.
entryrecordfiles
.
loadpage
(
params
,
fill_in_user_type
,
this
.
product_ID
,
this
.
board_ID
,
isedit
);
}
else
if
(
params
.
fillintype
==
4
)
{
//数据包页面
this
.
entryrecorddataModal
=
true
;
this
.
$refs
.
entryrecorddata
.
loadpage
(
params
,
fill_in_user_type
,
this
.
product_ID
,
this
.
board_ID
,
isedit
);
}
},
binddataid
(
qc_card_id
,
fill_in_user_type
,
content
)
{
for
(
let
i
=
0
;
i
<
this
.
recorddata
.
length
;
i
++
)
{
let
obj
=
this
.
recorddata
[
i
];
if
(
obj
.
qc_card_id
==
qc_card_id
)
{
if
(
fill_in_user_type
==
1
)
{
obj
.
selfchecklist
.
fill_in_content
=
content
;
}
else
if
(
fill_in_user_type
==
2
)
{
obj
.
mutualchecklist
.
fill_in_content
=
content
;
}
else
if
(
fill_in_user_type
==
3
)
{
obj
.
seizurechecklist
.
fill_in_content
=
content
;
}
}
}
},
showPhoto
(
params
,
isedit
)
{
this
.
entryrecordmovieModal
=
true
;
this
.
$refs
.
entryrecordMovie
.
loadpage
(
params
,
this
.
product_ID
,
this
.
board_ID
,
isedit
);
},
ok
()
{
this
.
usercardModal
=
false
;
this
.
loadproduct
();
// this.loaddata();
},
bindPhotoid
(
qc_card_id
,
content
)
{
for
(
let
i
=
0
;
i
<
this
.
recorddata
.
length
;
i
++
)
{
let
obj
=
this
.
recorddata
[
i
];
if
(
obj
.
qc_card_id
==
qc_card_id
)
{
obj
.
movieid
=
content
;
}
}
},
handleselfCheckAll
()
{
this
.
isselfCheckAll
=
!
this
.
isselfCheckAll
;
for
(
let
i
=
0
;
i
<
this
.
recorddata
.
length
;
i
++
)
{
let
obj
=
this
.
recorddata
[
i
];
if
(
obj
.
fillintype
==
1
)
{
obj
.
selfchecklist
.
fill_in_content
=
this
.
isselfCheckAll
?
"1"
:
"0"
;
obj
.
selfchecklist
.
checkstatus
=
this
.
isselfCheckAll
;
}
}
},
handlemutualCheckAll
()
{
this
.
ismutualCheckAll
=
!
this
.
ismutualCheckAll
;
for
(
let
i
=
0
;
i
<
this
.
recorddata
.
length
;
i
++
)
{
let
obj
=
this
.
recorddata
[
i
];
if
(
obj
.
fillintype
==
1
)
{
obj
.
mutualchecklist
.
fill_in_content
=
this
.
ismutualCheckAll
?
"1"
:
"0"
;
obj
.
mutualchecklist
.
checkstatus
=
this
.
ismutualCheckAll
;
}
}
},
handleseizureCheckAll
()
{
this
.
isseizureCheckAll
=
!
this
.
isseizureCheckAll
;
for
(
let
i
=
0
;
i
<
this
.
recorddata
.
length
;
i
++
)
{
let
obj
=
this
.
recorddata
[
i
];
if
(
obj
.
fillintype
==
1
)
{
obj
.
seizurechecklist
.
fill_in_content
=
this
.
isseizureCheckAll
?
"1"
:
"0"
;
obj
.
seizurechecklist
.
checkstatus
=
this
.
isseizureCheckAll
;
}
}
},
show
(
index
)
{
this
.
$Modal
.
info
({
title
:
"User Info"
,
content
:
`Name:
${
this
.
data6
[
index
].
name
}
<br>Age:
${
this
.
data6
[
index
].
age
}
<br>Address:
${
this
.
data6
[
index
].
address
}
`
});
},
remove
(
index
)
{
this
.
data6
.
splice
(
index
,
1
);
},
// change(e) {
// this.entity.productQuantity = e.length + ''
// },
QcCardChecker
(
fill_in_user_type
)
{
this
.
$refs
.
usercard
.
product_List
=
this
.
product_List
;
let
fillModel
=
{
fill_in_user_type
:
fill_in_user_type
,
//自检,互检
// productisabled: this.productisabled,
product_ID
:
this
.
product_ID
,
// board_ID: this.board_ID,
product_List
:
this
.
product_List
// board_List: this.board_List
};
let
recordList
=
[];
for
(
let
i
=
0
;
i
<
this
.
recorddata
.
length
;
i
++
)
{
let
obj
=
this
.
recorddata
[
i
];
let
checktypes
=
obj
.
inspect_type
.
split
(
","
);
if
(
fill_in_user_type
==
1
)
{
//自检
if
(
checktypes
.
indexOf
(
"1"
)
>
-
1
)
{
// &&
// obj.selfchecklist != null &&
// obj.selfchecklist.fill_in_content != null &&
// obj.selfchecklist.fill_in_content != ""
if
(
(
obj
.
selfchecklist
!=
null
&&
obj
.
selfchecklist
.
fill_in_content
!=
null
&&
obj
.
selfchecklist
.
fill_in_content
!=
""
&&
obj
.
selfchecklist
.
fillinstatus
==
"0"
)
||
this
.
productobj
.
productstatus
==
4
//打回重写填报
)
{
let
qc
=
{
qc_card_id
:
obj
.
qc_card_id
,
movieid
:
obj
.
movieid
,
Fillintype
:
obj
.
fillintype
,
fill_in_content
:
obj
.
selfchecklist
.
fill_in_content
,
fillinstatus
:
"1"
,
dispatch_id
:
obj
.
dispatch_id
};
recordList
.
push
(
qc
);
}
}
}
else
if
(
fill_in_user_type
==
2
)
{
//互检
if
(
checktypes
.
indexOf
(
"2"
)
>
-
1
)
{
//是否需要互检,2和3需要互检和专检 inspect_type
if
(
(
obj
.
mutualchecklist
.
fillinstatus
==
"0"
&&
obj
.
mutualchecklist
!=
null
&&
obj
.
mutualchecklist
.
fill_in_content
!=
null
&&
obj
.
mutualchecklist
.
fill_in_content
!=
""
)
||
this
.
productobj
.
productstatus
==
4
//打回重写填报
)
{
let
qc
=
{
qc_card_id
:
obj
.
qc_card_id
,
movieid
:
obj
.
movieid
,
Fillintype
:
obj
.
fillintype
,
fill_in_content
:
obj
.
mutualchecklist
.
fill_in_content
,
fillinstatus
:
"1"
,
dispatch_id
:
obj
.
dispatch_id
};
recordList
.
push
(
qc
);
}
}
}
else
if
(
fill_in_user_type
==
3
)
{
if
(
checktypes
.
indexOf
(
"3"
)
>
-
1
)
{
if
(
(
obj
.
seizurechecklist
.
fillinstatus
==
"0"
&&
obj
.
seizurechecklist
!=
null
&&
obj
.
seizurechecklist
.
fill_in_content
!=
null
&&
obj
.
seizurechecklist
.
fill_in_content
!=
""
)
||
this
.
productobj
.
productstatus
==
4
)
{
if
(
obj
.
isPhotograph
==
1
&&
obj
.
movieid
==
""
)
{
this
.
$Message
.
success
(
"第"
+
(
i
+
1
)
+
"项需上传找照片"
);
state
=
false
;
return
;
}
let
qc
=
{
qc_card_id
:
obj
.
qc_card_id
,
movieid
:
obj
.
movieid
,
Fillintype
:
obj
.
fillintype
,
fill_in_content
:
obj
.
seizurechecklist
.
fill_in_content
,
fillinstatus
:
"1"
};
recordList
.
push
(
qc
);
}
}
}
}
if
(
recordList
.
length
==
0
)
{
this
.
$Message
.
success
(
"填报项为空,请进行填报"
);
return
;
}
this
.
usercardModal
=
true
;
this
.
$refs
.
usercard
.
loadentry
(
this
.
entryModel
,
fillModel
,
recordList
);
},
selfchecklistcheck
(
index
,
e
)
{
this
.
recorddata
[
index
].
selfchecklist
.
checkstatus
=
e
;
this
.
recorddata
[
index
].
selfchecklist
.
fill_in_content
=
e
?
"1"
:
"0"
;
},
selfchecklistinput
(
index
,
e
)
{
this
.
recorddata
[
index
].
selfchecklist
.
fill_in_content
=
e
;
},
mutualchecklistcheck
(
index
,
e
)
{
this
.
recorddata
[
index
].
mutualchecklist
.
checkstatus
=
e
;
this
.
recorddata
[
index
].
mutualchecklist
.
fill_in_content
=
e
?
"1"
:
"0"
;
},
mutualchecklistinput
(
index
,
e
)
{
this
.
recorddata
[
index
].
mutualchecklist
.
fill_in_content
=
e
;
},
seizurechecklistcheck
(
index
,
e
)
{
this
.
recorddata
[
index
].
seizurechecklist
.
checkstatus
=
e
;
this
.
recorddata
[
index
].
seizurechecklist
.
fill_in_content
=
e
?
"1"
:
"0"
;
},
seizurechecklistinput
(
index
,
e
)
{
this
.
recorddata
[
index
].
seizurechecklist
.
fill_in_content
=
e
.
target
.
value
;
},
SendCheck
()
{
this
.
sendCheckModal
=
true
;
this
.
$refs
.
sendCheck
.
loadentry
(
this
.
entryModel
);
},
SendCheckRecord
()
{
this
.
sendCheckRecordModal
=
true
;
this
.
$refs
.
sendCheckRecord
.
load
(
this
.
entryModel
.
id
);
},
jybackCheck
()
{
let
fillModel
=
{
// productisabled: this.productisabled,
product_ID
:
this
.
product_ID
,
// board_ID: '',
product_List
:
this
.
product_List
// board_List: []
};
this
.
backCheckModal
=
true
;
this
.
$refs
.
backCheck
.
loadentry
(
this
.
entryModel
,
fillModel
);
}
}
};
</
script
>
<
style
lang=
""
scoped
>
</
style
>
\ No newline at end of file
<
style
lang=
"less"
>
.data-filling {
padding: 10px;
width: 100%;
.data-title {
margin-bottom: 10px;
.ml20 {
padding: 8px;
float: left;
}
.select-produt-name {
width: 200px;
float: left;
}
}
.table-i {
margin: 0 20px;
}
}
</
style
>
pages/produce/execute/datafilling/sendCheck.vue
View file @
923d9fe9
...
...
@@ -6,7 +6,6 @@
<span
class=
"ml20"
>
产品号
</span>
<Select
multiple
@
on-change=
"productonchange"
v-model=
"product_ID"
...
...
pages/produce/execute/datafilling/usercard.vue
View file @
923d9fe9
...
...
@@ -135,7 +135,7 @@ export default {
handleClose
()
{},
loadentry
(
entryModel
,
fillModel
,
recordList
)
{
this
.
user
.
dispatch_id
=
recordList
[
0
].
dispatch_
id
this
.
user
.
dispatch_id
=
entryModel
.
id
this
.
user
.
execute_id
=
entryModel
.
executeId
;
this
.
user
.
order_id
=
entryModel
.
order_id
;
this
.
user
.
routingHeaderId
=
entryModel
.
routingHeaderId
;
...
...
pages/produce/execute/index.vue
View file @
923d9fe9
...
...
@@ -144,7 +144,7 @@ row.routingdetailId=this.$route.query.routid;
this
.
detail
=
()
=>
import
(
"./datafilling/check"
);
}
//质量检验
if
(
number
==
9
)
{
this
.
$Message
.
info
(
"尊敬的用户,您没有该权限!"
);
//
this.$Message.info("尊敬的用户,您没有该权限!");
// this.detail = () => import("./testdata/index");
}
//测试数据
},
...
...
pages/produce/execute/testdata/index.vue
View file @
923d9fe9
...
...
@@ -6,6 +6,7 @@
<Icon
type=
"md-play"
/>
测试数据
</a>
</div>
<div
class=
"star flex fc-b"
v-else-if=
"starmodal"
>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-pause"
/>
暂停
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"logo-angular"
/>
交检
</Button>
...
...
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