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
c7f160fa
Commit
c7f160fa
authored
Nov 02, 2020
by
仇晓婷
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
复验ok
parent
7df5be74
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1687 additions
and
1485 deletions
+1687
-1485
editAccessory.vue
pages/aps/plan/editAccessory.vue
+505
-434
index.vue
pages/aps/plan/index.vue
+841
-759
api.js
pages/qc/check/api.js
+6
-6
index.vue
pages/qc/check/endReview/index.vue
+136
-118
index.vue
pages/qc/check/waitReview/index.vue
+199
-168
No files found.
pages/aps/plan/editAccessory.vue
View file @
c7f160fa
<
template
>
<div
class=
"h100 table-content1"
>
<div
class=
"h100 table-content1"
>
<p
class=
"mb10"
>
订单编号:
{{
mesCodes
}}
<span
class=
"ml20"
>
产品名称:
{{
productNames
}}
</span>
<span
class=
"ml20"
>
生产数量:
{{
counts
}}
</span>
<span
class=
"fr mr20"
v-if=
"false"
>
<a
href=
"javascript:;"
>
出库单
</a>
</span>
<span
class=
"fr mr20"
>
<a
href=
"javascript:;"
@
click=
"openAcc"
>
申请单
</a>
</span>
订单编号:
{{
mesCodes
}}
<span
class=
"ml20"
>
产品名称:
{{
productNames
}}
</span>
<span
class=
"ml20"
>
生产数量:
{{
counts
}}
</span>
<span
class=
"fr mr20"
v-if=
"false"
>
<a
href=
"javascript:;"
>
出库单
</a>
</span>
<span
class=
"fr mr20"
>
<a
href=
"javascript:;"
@
click=
"openAcc"
>
申请单
</a>
</span>
</p>
<div
class=
"mb70"
v-for=
"(item,i) in datas"
:key=
"i"
>
<p
class=
"fwBold"
>
{{
item
.
routingHeader
}}
------
{{
item
.
routingHeaderCode
}}
</p>
<Table
border
:columns=
"cols"
:data=
"item.suport"
:ref=
"'table'+item.routingHeaderId"
class=
"tableCommon"
@
on-selection-change=
"selectionChange(i)"
@
on-select-cancel=
"selectListCancel"
@
on-select-all-cancel=
"selectAllCancel"
@
on-select=
"selectList"
@
on-select-all=
"selectListAll"
>
<template
slot-scope=
"
{ row, index }" slot="counts">
<InputNumber
:max=
"row.totalCount-row.applicationNumber"
:min=
"0"
v-model=
"row.count"
@
on-change=
"inputChange1(i,row,index)"
:disabled=
"row._disabled"
/>
</
template
>
<
template
slot-scope=
"{ row, index }"
slot=
"remarks"
>
<Input
type=
"text"
v-model=
"row.remark"
@
on-change=
"inputChange1(i,row,index)"
:disabled=
"row._disabled"
/>
</
template
>
</Table>
<div
class=
"mb70"
v-for=
"(item, i) in datas"
:key=
"i"
>
<p
class=
"fwBold"
>
{{
item
.
routingHeader
}}
------
{{
item
.
routingHeaderCode
}}
</p>
<Table
border
:columns=
"cols"
:data=
"item.suport"
:ref=
"'table' + item.routingHeaderId"
class=
"tableCommon"
@
on-selection-change=
"selectionChange(i)"
@
on-select-cancel=
"selectListCancel"
@
on-select-all-cancel=
"selectAllCancel"
@
on-select=
"selectList"
@
on-select-all=
"selectListAll"
>
<template
slot-scope=
"
{ row, index }" slot="counts">
<InputNumber
:max=
"row.totalCount - row.applicationNumber"
:min=
"0"
v-model=
"row.count"
@
on-change=
"inputChange1(i, row, index)"
:disabled=
"row._disabled"
/>
</
template
>
<
template
slot-scope=
"{ row, index }"
slot=
"remarks"
>
<Input
type=
"text"
v-model=
"row.remark"
@
on-change=
"inputChange1(i, row, index)"
:disabled=
"row._disabled"
/>
</
template
>
</Table>
</div>
<FooterToolbar
v-show=
"footerToolbar"
class=
"ftball pt10"
>
<!--<div class="tip">已选{{selectItems.length}}项</div>-->
<Form
:model=
"orderForm"
:inline=
"true"
:label-width=
"0"
ref=
"formValidate"
:rules=
"ruleValidate"
>
<FormItem
prop=
"QuotationFinishDate"
>
<DatePicker
v-model=
"orderForm.QuotationFinishDate"
type=
"date"
style=
"color:black"
placeholder=
"请选择齐套日期"
@
on-change=
"getTimeQuotationFD"
></DatePicker>
</FormItem>
<FormItem
l
><Button
type=
"primary"
class=
"mr10 ml10"
@
click=
"application"
>
申请配套
</Button></FormItem>
</Form>
<!--<div class="tip">已选{{selectItems.length}}项</div>-->
<Form
:model=
"orderForm"
:inline=
"true"
:label-width=
"0"
ref=
"formValidate"
:rules=
"ruleValidate"
>
<FormItem
prop=
"QuotationFinishDate"
>
<DatePicker
v-model=
"orderForm.QuotationFinishDate"
type=
"date"
style=
"color: black"
placeholder=
"请选择齐套日期"
@
on-change=
"getTimeQuotationFD"
></DatePicker>
</FormItem>
<FormItem
l
><Button
type=
"primary"
class=
"mr10 ml10"
@
click=
"application"
>
申请配套
</Button
></FormItem
>
</Form>
</FooterToolbar>
<Modal
v-model=
"modalAccessoryList"
:title=
"title"
fullscreen
footer-hide
>
<component
:is=
"detailAcc"
:eid=
"orderId"
:mesCode=
"mesCodes"
:productName=
"productNames"
:drawnNumber=
"drawnNumber"
:count=
"counts"
@
on-close=
"cancel"
@
on-ok=
"onOk"
/>
<component
:is=
"detailAcc"
:eid=
"orderId"
:mesCode=
"mesCodes"
:productName=
"productNames"
:drawnNumber=
"drawnNumber"
:count=
"counts"
@
on-close=
"cancel"
@
on-ok=
"onOk"
/>
</Modal>
<Modal
v-model=
"modalAccSet"
title=
"临时设置"
footer-hide
width=
"800"
>
<Form
:model=
"entity"
:label-width=
"110"
ref=
"formValidateSet"
:rules=
"ruleValidate"
>
<Row>
<Col
span=
"12"
>
<FormItem
label=
"工序"
>
{{entity.routingDetailName}}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"物料名"
>
{{entity.materialName}}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"物料编号"
>
{{entity.materialNumber}}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"需求数量"
>
{{entity.needCount}}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"已申请"
>
{{entity.applicationNumber}}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"可再申请"
prop=
"count"
>
<InputNumber
:max=
"entity.needCount-entity.applicationNumber"
:min=
"0"
v-model=
"entity.count"
/>
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"齐套日期"
prop=
"finishDate"
>
<DatePicker
v-model=
"entity.finishDate"
type=
"date"
placeholder=
"请选择齐套日期"
@
on-change=
"getTimeFinish"
></DatePicker>
</FormItem>
</Col>
<Col
span=
"24"
>
<FormItem
label=
"备注"
>
<Input
type=
"text"
v-model=
"entity.remark"
/>
</FormItem>
</Col>
<Col
span=
"24"
>
<p
class=
"fr"
>
<Button
type=
"primary"
class=
"mr10 ml10"
@
click=
"application1"
>
申请配套
</Button>
<Button
@
click=
"canelSet"
>
取消
</Button>
</p>
</Col>
</Row>
</Form>
<Form
:model=
"entity"
:label-width=
"110"
ref=
"formValidateSet"
:rules=
"ruleValidate"
>
<Row>
<Col
span=
"12"
>
<FormItem
label=
"工序"
>
{{ entity.routingDetailName }}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"物料名"
>
{{ entity.materialName }}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"物料编号"
>
{{ entity.materialNumber }}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"需求数量"
>
{{ entity.needCount }}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"已申请"
>
{{ entity.applicationNumber }}
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"可再申请"
prop=
"count"
>
<InputNumber
:max=
"entity.needCount - entity.applicationNumber"
:min=
"0"
v-model=
"entity.count"
/>
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"齐套日期"
prop=
"finishDate"
>
<DatePicker
v-model=
"entity.finishDate"
type=
"date"
placeholder=
"请选择齐套日期"
@
on-change=
"getTimeFinish"
></DatePicker>
</FormItem>
</Col>
<Col
span=
"24"
>
<FormItem
label=
"备注"
>
<Input
type=
"text"
v-model=
"entity.remark"
/>
</FormItem>
</Col>
<Col
span=
"24"
>
<p
class=
"fr"
>
<Button
type=
"primary"
class=
"mr10 ml10"
@
click=
"application1"
>
申请配套
</Button
>
<Button
@
click=
"canelSet"
>
取消
</Button>
</p>
</Col>
</Row>
</Form>
</Modal>
</div>
</div>
</template>
<
script
>
import
Api
from
"./api"
;
export
default
{
name
:
"addAccessory"
,
data
()
{
return
{
title
:
""
,
detailAcc
:
null
,
modalAccessoryList
:
false
,
modalAccSet
:
false
,
disabled
:
false
,
deletelModal
:
false
,
curId
:
0
,
editIndex
:
-
1
,
editNum
:
""
,
cols
:
[{
type
:
"selection"
,
width
:
70
,
align
:
"center"
,
},
{
key
:
"routingDetailNo"
,
title
:
this
.
l
(
"routingDetailNo"
),
align
:
"left"
,
},
{
key
:
"routingDetailName"
,
title
:
this
.
l
(
"routingDetailName"
),
align
:
"left"
,
},
{
key
:
"nameMaterial"
,
title
:
this
.
l
(
"nameMaterial"
),
align
:
"left"
,
},
{
key
:
"materialNumber"
,
title
:
this
.
l
(
"materialNumber"
),
align
:
"left"
,
},
{
key
:
"totalCount"
,
title
:
this
.
l
(
"totalCount"
),
align
:
"left"
,
},
{
key
:
"count"
,
title
:
this
.
l
(
"count1"
),
align
:
"right"
,
slot
:
"counts"
,
width
:
120
,
},
{
key
:
"remark"
,
title
:
this
.
l
(
"remark"
),
align
:
"left"
,
slot
:
"remarks"
,
},
{
key
:
"action"
,
title
:
"操作"
,
align
:
"center"
,
width
:
"120"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
},
on
:
{
click
:
()
=>
this
.
setAcc
(
params
.
row
),
},
},
params
.
row
.
_disabled
&&
params
.
row
.
totalCount
-
params
.
row
.
applicationNumber
>
0
?
"临时申请"
:
""
);
},
},
],
orderForm
:
{
QuotationFinishDate
:
""
,
},
datas
:
[],
selectItems
:
[],
footerToolbar
:
true
,
orderId
:
this
.
eid
,
mesCodes
:
this
.
mesCode
,
productNames
:
this
.
productName
,
drawnNumbers
:
this
.
drawnNumber
,
counts
:
this
.
count
,
curArr
:
0
,
//标记当前操作工艺规程列表是否为空
ruleValidate
:
{
QuotationFinishDate
:
[{
required
:
true
,
message
:
"_"
,
trigger
:
"change"
,
},
],
finishDate
:
[{
required
:
true
,
message
:
"请选择齐套日期"
,
trigger
:
"change"
,
},
],
count
:
[{
required
:
true
,
message
:
"请输入申请数量"
,
type
:
"number"
,
trigger
:
"change"
,
},
],
},
tempList
:
[],
cRow
:
null
,
cArr
:
[],
entity
:
{
routingHeaderId
:
null
,
routingDeatilId
:
null
,
routingDetailName
:
""
,
routingDetailSeq
:
null
,
materialId
:
null
,
materialName
:
""
,
materialNumber
:
""
,
needCount
:
0
,
applicationNumber
:
0
,
count
:
0
,
remark
:
""
,
finishDate
:
""
,
},
};
},
props
:
{
eid
:
Number
,
mesCode
:
String
,
productName
:
String
,
drawnNumber
:
String
,
count
:
Number
,
},
mounted
()
{
this
.
load
(
this
.
eid
);
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
methods
:
{
load
(
v
)
{
Api
.
matchdetaillist
({
id
:
v
}).
then
((
r
)
=>
{
if
(
r
.
success
)
{
r
.
result
.
forEach
((
e
)
=>
{
let
i
=
0
;
e
.
suport
.
forEach
((
el
)
=>
{
el
.
count
=
el
.
totalCount
-
el
.
applicationNumber
;
if
(
el
.
applicationNumber
>
0
)
{
el
.
_checked
=
false
;
el
.
_disabled
=
true
;
}
else
{
el
.
_checked
=
true
;
el
.
_disabled
=
false
;
}
el
.
_index
=
i
++
;
});
});
this
.
datas
=
r
.
result
;
//----测试多个工艺start
// let temre = this.$u.clone(r.result);
// temre.forEach((ele) => {
// ele.routingHeaderId = 281;
// ele.suport.forEach((eles) => {
// eles.routingHeaderId = 281;
// eles.id = eles.id + 20;
// eles.nameMaterial = eles.nameMaterial + "tttt";
// });
// });
// this.datas = r.result.concat(temre);
//----测试多个工艺end
}
});
name
:
"addAccessory"
,
data
()
{
return
{
title
:
""
,
detailAcc
:
null
,
modalAccessoryList
:
false
,
modalAccSet
:
false
,
disabled
:
false
,
deletelModal
:
false
,
curId
:
0
,
editIndex
:
-
1
,
editNum
:
""
,
cols
:
[
{
type
:
"selection"
,
width
:
70
,
align
:
"center"
,
},
getTimeQuotationFD
(
value
)
{
this
.
orderForm
.
QuotationFinishDate
=
value
!=
""
?
this
.
getFormatDateEnd
(
value
)
:
value
;
{
key
:
"routingDetailNo"
,
title
:
this
.
l
(
"routingDetailNo"
),
align
:
"left"
,
},
getTimeFinish
(
value
)
{
this
.
entity
.
finishDate
=
value
!=
""
?
this
.
getFormatDateEnd
(
value
)
:
value
;
{
key
:
"routingDetailName"
,
title
:
this
.
l
(
"routingDetailName"
),
align
:
"left"
,
},
getFormatDateEnd
(
dates
)
{
const
d
=
new
Date
(
dates
);
const
resDate
=
d
.
getFullYear
()
+
"-"
+
this
.
p
(
d
.
getMonth
()
+
1
)
+
"-"
+
this
.
p
(
d
.
getDate
())
+
" 23:59:59"
;
return
resDate
;
{
key
:
"nameMaterial"
,
title
:
this
.
l
(
"nameMaterial"
),
align
:
"left"
,
},
p
(
s
)
{
return
s
<
10
?
"0"
+
s
:
s
;
{
key
:
"materialNumber"
,
title
:
this
.
l
(
"materialNumber"
),
align
:
"left"
,
},
selectionChange
(
v
)
{
//根据状态修改this.datas数组数据
if
(
this
.
curArr
==
3
)
{
//单条取消选择
this
.
cRow
.
_checked
=
false
;
this
.
$set
(
this
.
datas
[
v
].
suport
,
this
.
cRow
.
_index
,
this
.
cRow
);
}
else
if
(
this
.
curArr
==
1
)
{
//单条选择
this
.
cRow
.
_checked
=
true
;
this
.
$set
(
this
.
datas
[
v
].
suport
,
this
.
cRow
.
_index
,
this
.
cRow
);
}
else
if
(
this
.
curArr
==
2
)
{
//多条选择
this
.
datas
[
v
].
suport
.
forEach
((
ele
,
index
,
array
)
=>
{
if
(
ele
.
_disabled
)
{
ele
.
_checked
=
false
;
}
else
{
ele
.
_checked
=
true
;
}
this
.
$set
(
this
.
datas
[
v
].
suport
,
index
,
ele
);
});
}
else
if
(
this
.
curArr
==
4
)
{
//多条取消
this
.
datas
[
v
].
suport
.
forEach
((
ele
,
index
,
array
)
=>
{
ele
.
_checked
=
false
;
this
.
$set
(
this
.
datas
[
v
].
suport
,
index
,
ele
);
});
}
{
key
:
"totalCount"
,
title
:
this
.
l
(
"totalCount"
),
align
:
"left"
,
},
selectList
(
items
,
row
)
{
this
.
curArr
=
1
;
this
.
cRow
=
row
;
{
key
:
"count"
,
title
:
this
.
l
(
"count1"
),
align
:
"right"
,
slot
:
"counts"
,
width
:
120
,
},
selectListAll
(
items
)
{
this
.
curArr
=
2
;
{
key
:
"remark"
,
title
:
this
.
l
(
"remark"
),
align
:
"left"
,
slot
:
"remarks"
,
},
selectListCancel
(
items
,
row
)
{
this
.
curArr
=
3
;
this
.
cRow
=
row
;
},
selectAllCancel
(
items
)
{
this
.
curArr
=
4
;
},
inputChange1
(
i
,
row
,
index
)
{
//输入数量
this
.
$set
(
this
.
datas
[
i
].
suport
,
index
,
row
);
{
key
:
"action"
,
title
:
"操作"
,
align
:
"center"
,
width
:
"120"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
},
on
:
{
click
:
()
=>
this
.
setAcc
(
params
.
row
),
},
},
params
.
row
.
_disabled
&&
params
.
row
.
totalCount
-
params
.
row
.
applicationNumber
>
0
?
"临时申请"
:
""
);
},
},
application
()
{
//申请配套操作
this
.
$refs
[
"formValidate"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
temItems
=
[];
let
temSelectItems
=
this
.
$u
.
clone
(
this
.
datas
);
temSelectItems
.
forEach
((
e
)
=>
{
e
.
suport
.
forEach
((
ele
)
=>
{
if
(
ele
.
_checked
&&
ele
.
count
>
0
)
{
let
temObj
=
{
routingHeaderId
:
ele
.
routingHeaderId
,
routingDeatilId
:
ele
.
routingDetailId
,
routingDetailName
:
ele
.
routingDetailName
,
routingDetailSeq
:
ele
.
routingDetailNo
,
materialId
:
ele
.
materialId
,
materialName
:
ele
.
nameMaterial
,
materialNumber
:
ele
.
materialNumber
,
needCount
:
ele
.
totalCount
,
count
:
ele
.
count
,
//
remark
:
ele
.
remark
?
ele
.
remark
:
""
,
};
temItems
.
push
(
temObj
);
}
});
});
let
parms
=
{
main
:
{
orderId
:
this
.
orderId
,
productName
:
this
.
productNames
,
drawnNumber
:
this
.
drawnNumbers
,
count
:
this
.
counts
,
creator
:
this
.
$store
.
state
.
userInfo
.
userName
,
finishDate
:
this
.
orderForm
.
QuotationFinishDate
,
orderCode
:
this
.
mesCode
,
},
items
:
temItems
,
};
//alert(JSON.stringify(parms.items));
if
(
parms
.
items
.
length
==
0
)
{
this
.
$Message
.
error
(
"请输入申请数量"
);
}
else
{
Api
.
supportmainCreate
(
parms
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"申请成功"
);
this
.
$emit
(
"on-ok"
);
}
});
}
}
],
orderForm
:
{
QuotationFinishDate
:
""
,
},
datas
:
[],
selectItems
:
[],
footerToolbar
:
true
,
orderId
:
this
.
eid
,
mesCodes
:
this
.
mesCode
,
productNames
:
this
.
productName
,
drawnNumbers
:
this
.
drawnNumber
,
counts
:
this
.
count
,
curArr
:
0
,
//标记当前操作工艺规程列表是否为空
ruleValidate
:
{
QuotationFinishDate
:
[
{
required
:
true
,
message
:
"_"
,
trigger
:
"change"
,
},
],
finishDate
:
[
{
required
:
true
,
message
:
"请选择齐套日期"
,
trigger
:
"change"
,
},
],
count
:
[
{
required
:
true
,
message
:
"请输入申请数量"
,
type
:
"number"
,
trigger
:
"change"
,
},
],
},
tempList
:
[],
cRow
:
null
,
cArr
:
[],
entity
:
{
routingHeaderId
:
null
,
routingDeatilId
:
null
,
routingDetailName
:
""
,
routingDetailSeq
:
null
,
materialId
:
null
,
materialName
:
""
,
materialNumber
:
""
,
needCount
:
0
,
applicationNumber
:
0
,
count
:
0
,
remark
:
""
,
finishDate
:
""
,
},
};
},
props
:
{
eid
:
Number
,
mesCode
:
String
,
productName
:
String
,
drawnNumber
:
String
,
count
:
Number
,
productingPreparationPeople
:
Number
,
},
mounted
()
{
this
.
load
(
this
.
eid
);
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
methods
:
{
load
(
v
)
{
Api
.
matchdetaillist
({
id
:
v
,
}).
then
((
r
)
=>
{
if
(
r
.
success
)
{
r
.
result
.
forEach
((
e
)
=>
{
let
i
=
0
;
e
.
suport
.
forEach
((
el
)
=>
{
el
.
count
=
el
.
totalCount
-
el
.
applicationNumber
;
if
(
el
.
applicationNumber
>
0
)
{
el
.
_checked
=
false
;
el
.
_disabled
=
true
;
}
else
{
el
.
_checked
=
true
;
el
.
_disabled
=
false
;
}
el
.
_index
=
i
++
;
});
},
application1
()
{
//临时申请配套操作
this
.
$refs
[
"formValidateSet"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
temItems
=
[];
let
temObj
=
{
routingHeaderId
:
this
.
entity
.
routingHeaderId
,
routingDeatilId
:
this
.
entity
.
routingDeatilId
,
routingDetailName
:
this
.
entity
.
routingDetailName
,
routingDetailSeq
:
this
.
entity
.
routingDetailSeq
,
materialId
:
this
.
entity
.
materialId
,
materialName
:
this
.
entity
.
materialName
,
materialNumber
:
this
.
entity
.
materialNumber
,
needCount
:
this
.
entity
.
needCount
,
count
:
this
.
entity
.
count
,
remark
:
this
.
entity
.
remark
,
};
temItems
.
push
(
temObj
);
let
parms
=
{
main
:
{
orderId
:
this
.
orderId
,
productName
:
this
.
productNames
,
drawnNumber
:
this
.
drawnNumbers
,
count
:
this
.
counts
,
creator
:
this
.
$store
.
state
.
userInfo
.
userName
,
finishDate
:
this
.
entity
.
finishDate
,
orderCode
:
this
.
mesCode
,
},
items
:
temItems
,
};
//alert(JSON.stringify(parms));
Api
.
supportmainCreate
(
parms
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"申请成功"
);
this
.
canelSet
();
this
.
load
(
this
.
eid
);
}
});
}
});
this
.
datas
=
r
.
result
;
//----测试多个工艺start
// let temre = this.$u.clone(r.result);
// temre.forEach((ele) => {
// ele.routingHeaderId = 281;
// ele.suport.forEach((eles) => {
// eles.routingHeaderId = 281;
// eles.id = eles.id + 20;
// eles.nameMaterial = eles.nameMaterial + "tttt";
// });
// });
// this.datas = r.result.concat(temre);
//----测试多个工艺end
}
});
},
getTimeQuotationFD
(
value
)
{
this
.
orderForm
.
QuotationFinishDate
=
value
!=
""
?
this
.
getFormatDateEnd
(
value
)
:
value
;
},
getTimeFinish
(
value
)
{
this
.
entity
.
finishDate
=
value
!=
""
?
this
.
getFormatDateEnd
(
value
)
:
value
;
},
getFormatDateEnd
(
dates
)
{
const
d
=
new
Date
(
dates
);
const
resDate
=
d
.
getFullYear
()
+
"-"
+
this
.
p
(
d
.
getMonth
()
+
1
)
+
"-"
+
this
.
p
(
d
.
getDate
())
+
" 23:59:59"
;
return
resDate
;
},
p
(
s
)
{
return
s
<
10
?
"0"
+
s
:
s
;
},
selectionChange
(
v
)
{
//根据状态修改this.datas数组数据
if
(
this
.
curArr
==
3
)
{
//单条取消选择
this
.
cRow
.
_checked
=
false
;
this
.
$set
(
this
.
datas
[
v
].
suport
,
this
.
cRow
.
_index
,
this
.
cRow
);
}
else
if
(
this
.
curArr
==
1
)
{
//单条选择
this
.
cRow
.
_checked
=
true
;
this
.
$set
(
this
.
datas
[
v
].
suport
,
this
.
cRow
.
_index
,
this
.
cRow
);
}
else
if
(
this
.
curArr
==
2
)
{
//多条选择
this
.
datas
[
v
].
suport
.
forEach
((
ele
,
index
,
array
)
=>
{
if
(
ele
.
_disabled
)
{
ele
.
_checked
=
false
;
}
else
{
ele
.
_checked
=
true
;
}
this
.
$set
(
this
.
datas
[
v
].
suport
,
index
,
ele
);
});
}
else
if
(
this
.
curArr
==
4
)
{
//多条取消
this
.
datas
[
v
].
suport
.
forEach
((
ele
,
index
,
array
)
=>
{
ele
.
_checked
=
false
;
this
.
$set
(
this
.
datas
[
v
].
suport
,
index
,
ele
);
});
}
},
selectList
(
items
,
row
)
{
this
.
curArr
=
1
;
this
.
cRow
=
row
;
},
selectListAll
(
items
)
{
this
.
curArr
=
2
;
},
selectListCancel
(
items
,
row
)
{
this
.
curArr
=
3
;
this
.
cRow
=
row
;
},
selectAllCancel
(
items
)
{
this
.
curArr
=
4
;
},
inputChange1
(
i
,
row
,
index
)
{
//输入数量
this
.
$set
(
this
.
datas
[
i
].
suport
,
index
,
row
);
},
application
()
{
//申请配套操作
this
.
$refs
[
"formValidate"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
temItems
=
[];
let
temSelectItems
=
this
.
$u
.
clone
(
this
.
datas
);
temSelectItems
.
forEach
((
e
)
=>
{
e
.
suport
.
forEach
((
ele
)
=>
{
if
(
ele
.
_checked
&&
ele
.
count
>
0
)
{
let
temObj
=
{
routingHeaderId
:
ele
.
routingHeaderId
,
routingDeatilId
:
ele
.
routingDetailId
,
routingDetailName
:
ele
.
routingDetailName
,
routingDetailSeq
:
ele
.
routingDetailNo
,
materialId
:
ele
.
materialId
,
materialName
:
ele
.
nameMaterial
,
materialNumber
:
ele
.
materialNumber
,
needCount
:
ele
.
totalCount
,
count
:
ele
.
count
,
//
remark
:
ele
.
remark
?
ele
.
remark
:
""
,
};
temItems
.
push
(
temObj
);
}
});
},
setAcc
(
row
)
{
//临时设置
row
.
materialName
=
row
.
nameMaterial
;
row
.
needCount
=
row
.
totalCount
;
row
.
routingDetailSeq
=
row
.
routingDetailNo
;
row
.
routingDeatilId
=
row
.
routingDetailId
;
this
.
entity
=
row
;
this
.
modalAccSet
=
true
;
},
openAcc
()
{
//打开申请单页面
this
.
title
=
"申请单"
;
this
.
detailAcc
=
()
=>
import
(
"./detailAccessory"
);
this
.
modalAccessoryList
=
true
;
},
cancel
()
{
this
.
modalAccessoryList
=
false
;
},
canelSet
()
{
//临时设置取消
this
.
modalAccSet
=
false
;
},
onOk
()
{
//重新加载页面数据
this
.
load
(
this
.
eid
);
},
l
(
key
)
{
let
vkey
=
"support_item"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
},
});
let
parms
=
{
main
:
{
orderId
:
this
.
orderId
,
productName
:
this
.
productNames
,
drawnNumber
:
this
.
drawnNumbers
,
count
:
this
.
counts
,
creator
:
this
.
$store
.
state
.
userInfo
.
userName
,
finishDate
:
this
.
orderForm
.
QuotationFinishDate
,
orderCode
:
this
.
mesCode
,
productingPreparationPeople
:
this
.
productingPreparationPeople
,
},
items
:
temItems
,
};
//alert(JSON.stringify(parms.items));
if
(
parms
.
items
.
length
==
0
)
{
this
.
$Message
.
error
(
"请输入申请数量"
);
}
else
{
Api
.
supportmainCreate
(
parms
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"申请成功"
);
this
.
$emit
(
"on-ok"
);
}
});
}
}
});
},
watch
:
{
eid
(
v
)
{
if
(
v
!=
0
)
{
this
.
load
(
v
);
application1
()
{
//临时申请配套操作
this
.
$refs
[
"formValidateSet"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
temItems
=
[];
let
temObj
=
{
routingHeaderId
:
this
.
entity
.
routingHeaderId
,
routingDeatilId
:
this
.
entity
.
routingDeatilId
,
routingDetailName
:
this
.
entity
.
routingDetailName
,
routingDetailSeq
:
this
.
entity
.
routingDetailSeq
,
materialId
:
this
.
entity
.
materialId
,
materialName
:
this
.
entity
.
materialName
,
materialNumber
:
this
.
entity
.
materialNumber
,
needCount
:
this
.
entity
.
needCount
,
count
:
this
.
entity
.
count
,
remark
:
this
.
entity
.
remark
,
};
temItems
.
push
(
temObj
);
let
parms
=
{
main
:
{
orderId
:
this
.
orderId
,
productName
:
this
.
productNames
,
drawnNumber
:
this
.
drawnNumbers
,
count
:
this
.
counts
,
creator
:
this
.
$store
.
state
.
userInfo
.
userName
,
finishDate
:
this
.
entity
.
finishDate
,
orderCode
:
this
.
mesCode
,
},
items
:
temItems
,
};
//alert(JSON.stringify(parms));
Api
.
supportmainCreate
(
parms
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"申请成功"
);
this
.
canelSet
();
this
.
load
(
this
.
eid
);
}
},
});
}
});
},
setAcc
(
row
)
{
//临时设置
row
.
materialName
=
row
.
nameMaterial
;
row
.
needCount
=
row
.
totalCount
;
row
.
routingDetailSeq
=
row
.
routingDetailNo
;
row
.
routingDeatilId
=
row
.
routingDetailId
;
this
.
entity
=
row
;
this
.
modalAccSet
=
true
;
},
openAcc
()
{
//打开申请单页面
this
.
title
=
"申请单"
;
this
.
detailAcc
=
()
=>
import
(
"./detailAccessory"
);
this
.
modalAccessoryList
=
true
;
},
cancel
()
{
this
.
modalAccessoryList
=
false
;
},
canelSet
()
{
//临时设置取消
this
.
modalAccSet
=
false
;
},
onOk
()
{
//重新加载页面数据
this
.
load
(
this
.
eid
);
},
l
(
key
)
{
let
vkey
=
"support_item"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
},
},
watch
:
{
eid
(
v
)
{
if
(
v
!=
0
)
{
this
.
load
(
v
);
}
},
},
};
</
script
>
pages/aps/plan/index.vue
View file @
c7f160fa
<
template
>
<div
class=
"h100"
>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
@
on-selection-change=
"selectInfo"
:batch=
"false"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
<Input
search
enter-button
placeholder=
"请输入关键字订单编号/项目名称"
v-model=
"easySearch.keys.value"
v-width=
"300"
@
on-search=
"search"
/>
</FormItem>
</Form>
</
template
>
<
template
slot=
"searchBack"
>
<Badge
:count=
"this.$store.state.countAps"
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
v-if=
"showAps"
>
<a
href=
"javascript:;"
@
click=
"goAps"
>
APS排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countAi"
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
v-if=
"showAi"
>
<a
href=
"javascript:;"
@
click=
"goAi"
>
智能排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countAll"
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
v-if=
"showAll"
>
<a
@
click=
"goCemplate"
>
整机排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countRun"
overflow-count=
"99"
type=
"info"
v-if=
"showRun"
>
<a
@
click=
"goStream"
>
流水排产
</a>
</Badge>
</
template
>
<
template
slot=
"searchForm"
>
<Search
/>
</
template
>
<
template
slot=
"buttons"
></
template
>
<div
class=
"h100"
>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
@
on-selection-change=
"selectInfo"
:batch=
"false"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
<Input
search
enter-button
placeholder=
"请输入关键字订单编号/项目名称"
v-model=
"easySearch.keys.value"
v-width=
"300"
@
on-search=
"search"
/>
</FormItem>
</Form>
</
template
>
<
template
slot=
"searchBack"
>
<Badge
:count=
"this.$store.state.countAps"
overflow-count=
"99"
style=
"margin-right: 15px"
type=
"info"
v-if=
"showAps"
>
<a
href=
"javascript:;"
@
click=
"goAps"
>
APS排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countAi"
overflow-count=
"99"
style=
"margin-right: 15px"
type=
"info"
v-if=
"showAi"
>
<a
href=
"javascript:;"
@
click=
"goAi"
>
智能排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countAll"
overflow-count=
"99"
style=
"margin-right: 15px"
type=
"info"
v-if=
"showAll"
>
<a
@
click=
"goCemplate"
>
整机排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countRun"
overflow-count=
"99"
type=
"info"
v-if=
"showRun"
>
<a
@
click=
"goStream"
>
流水排产
</a>
</Badge>
</
template
>
<
template
slot=
"searchForm"
>
<Search
/>
</
template
>
<
template
slot=
"buttons"
></
template
>
</DataGrid>
<FooterToolbar
extra
v-if=
"footerBar"
class=
"ftball"
>
<Row>
<Checkbox
@
on-change=
"handleSelectAll(single)"
v-model=
"single"
>
全选
</Checkbox>
<span
class=
"footerSpan"
>
已选 {{selectCount}} 项
</span>
<Button
type=
"primary"
@
click=
"modalDispatch"
>
工艺派发
</Button>
<Button
type=
"primary"
@
click=
"modalSchedule"
>
移入排产
</Button>
<Button
@
click=
"canselFooter"
>
取消
</Button>
</Row>
<Row>
<Checkbox
@
on-change=
"handleSelectAll(single)"
v-model=
"single"
>
全选
</Checkbox
>
<span
class=
"footerSpan"
>
已选 {{ selectCount }} 项
</span>
<Button
type=
"primary"
@
click=
"modalDispatch"
>
工艺派发
</Button
>
<Button
type=
"primary"
@
click=
"modalSchedule"
>
移入排产
</Button
>
<Button
@
click=
"canselFooter"
>
取消
</Button>
</Row>
</FooterToolbar>
<Modal
v-model=
"addModal"
title=
"新增"
footer-hide
>
<Add
@
on-close=
"cancel"
@
on-ok=
"addOk"
/>
<Add
@
on-close=
"cancel"
@
on-ok=
"addOk"
/>
</Modal>
<Modal
v-model=
"editModal"
title=
"编辑"
footer-hide
>
<Edit
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"addOk"
/>
<Edit
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"addOk"
/>
</Modal>
<Modal
v-model=
"detailModal"
title=
"详情"
>
<Detail
:eid=
"curId"
/>
<Detail
:eid=
"curId"
/>
</Modal>
<Modal
v-model=
"deletelModal"
title=
"删除"
@
on-ok=
"removeOk"
@
on-cancel=
"cancel"
>
<p>
确定删除?
</p>
<Modal
v-model=
"deletelModal"
title=
"删除"
@
on-ok=
"removeOk"
@
on-cancel=
"cancel"
>
<p>
确定删除?
</p>
</Modal>
<Modal
v-model=
"dispatchModal"
title=
"工艺派发"
footer-hide
width=
"800"
>
<Dispatch
@
on-close=
"cancel"
:ids=
"listBatchIds"
@
on-ok=
"addOk"
/>
<Dispatch
@
on-close=
"cancel"
:ids=
"listBatchIds"
@
on-ok=
"addOk"
/>
</Modal>
<Modal
v-model=
"scheduleModal"
title=
"移入排产"
width=
"800"
>
<p>
</p>
<h4>
请选择排产模型:
</h4>
<!--
<p>
</p>
<h4>
请选择排产模型:
</h4>
<!--
<Dictionary
code="aps.plan.scheduleType"
v-model="scheduleType"
...
...
@@ -65,39 +110,59 @@
@on-change="onchangeScheduleType"
></Dictionary>
-->
<RadioGroup
v-model=
"scheduleType"
class=
"radioList"
@
on-change=
"onchangeScheduleType"
>
<Radio
:label=
"1"
border
:disabled=
"this.$store.state.countAi>0"
>
<span>
Aps排产
</span>
</Radio>
<Radio
:label=
"4"
border
:disabled=
"this.$store.state.countAps>0"
>
<span>
智能排产
</span>
</Radio>
<Radio
:label=
"2"
border
>
<span>
整机排产
</span>
</Radio>
<Radio
:label=
"3"
border
>
<span>
流水排产
</span>
</Radio>
</RadioGroup>
<p
class=
"pl30 pt10"
v-show=
"scheduleType!=null"
>
确定将订单
<span
class=
"fwBold"
>
{{resultsOrderList}}
</span>
移入
<span
class=
"red fwBold"
>
{{scheduleTypeName}}
</span>
?
</p>
<p>
</p>
<p>
</p>
<div
slot=
"footer"
>
<Button
@
click=
"cancel"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"scheduleOk"
>
确定
</Button>
</div>
<RadioGroup
v-model=
"scheduleType"
class=
"radioList"
@
on-change=
"onchangeScheduleType"
>
<Radio
:label=
"1"
border
:disabled=
"this.$store.state.countAi > 0"
>
<span>
Aps排产
</span>
</Radio>
<Radio
:label=
"4"
border
:disabled=
"this.$store.state.countAps > 0"
>
<span>
智能排产
</span>
</Radio>
<Radio
:label=
"2"
border
>
<span>
整机排产
</span>
</Radio>
<Radio
:label=
"3"
border
>
<span>
流水排产
</span>
</Radio>
</RadioGroup>
<p
class=
"pl30 pt10"
v-show=
"scheduleType != null"
>
确定将订单
<span
class=
"fwBold"
>
{{ resultsOrderList }}
</span>
移入
<span
class=
"red fwBold"
>
{{ scheduleTypeName }}
</span
>
?
</p>
<p>
</p>
<p>
</p>
<div
slot=
"footer"
>
<Button
@
click=
"cancel"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"scheduleOk"
>
确定
</Button>
</div>
</Modal>
<Modal
v-model=
"orderSupportModal"
title=
"配套下发"
footer-hide
width=
"1300"
>
<orderSupport
ref=
"orderSupport"
></orderSupport>
<Modal
v-model=
"orderSupportModal"
title=
"配套下发"
footer-hide
width=
"1300"
>
<orderSupport
ref=
"orderSupport"
></orderSupport>
</Modal>
<Modal
v-model=
"modalAccessory"
:title=
"title"
fullscreen
footer-hide
>
<component
:is=
"details"
:eid=
"orderId"
:mesCode=
"mesCode"
:productName=
"productName"
:drawnNumber=
"drawnNumber"
:count=
"count"
@
on-close=
"cancel"
@
on-ok=
"addOk"
/>
<component
:is=
"details"
:eid=
"orderId"
:mesCode=
"mesCode"
:productName=
"productName"
:drawnNumber=
"drawnNumber"
:productingPreparationPeople=
"productingPreparationPeople"
:count=
"count"
@
on-close=
"cancel"
@
on-ok=
"addOk"
/>
</Modal>
</div>
</div>
</template>
<
script
>
...
...
@@ -109,733 +174,750 @@ import Search from "./search";
import
Dispatch
from
"./dispatch"
;
import
orderSupport
from
"../../produce/orderSupport"
;
export
default
{
name
:
"list"
,
components
:
{
Add
,
Edit
,
Detail
,
Search
,
Dispatch
,
orderSupport
,
},
data
()
{
return
{
action
:
Api
.
index
,
easySearch
:
{
keys
:
{
op
:
"mesCode,projectNumber"
,
value
:
null
,
},
},
addModal
:
false
,
editModal
:
false
,
detailModal
:
false
,
deletelModal
:
false
,
dispatchModal
:
false
,
scheduleModal
:
false
,
orderSupportModal
:
false
,
curId
:
0
,
statuList
:
this
.
$store
.
getters
.
dictionaryByKey
(
"aps.plan.supportingStatus"
)
||
[],
name
:
""
,
items
:
null
,
title
:
""
,
details
:
null
,
uId
:
""
,
hid
:
0
,
orderId
:
0
,
mesCode
:
""
,
productName
:
""
,
drawnNumber
:
""
,
count
:
0
,
modalAccessory
:
false
,
columns
:
[{
key
:
"selection"
,
title
:
'多选'
,
type
:
"selection"
,
width
:
50
,
align
:
"center"
,
},
{
title
:
this
.
l
(
"mesCode"
),
key
:
"mesCode"
,
width
:
240
,
align
:
"left"
,
},
{
key
:
"productName"
,
title
:
this
.
l
(
"productName"
),
align
:
"left"
,
easy
:
true
,
width
:
160
,
high
:
true
,
tooltip
:
true
,
},
{
key
:
"status"
,
title
:
this
.
l
(
"status"
),
align
:
"center"
,
high
:
true
,
code
:
"plan.order.status"
,
},
{
key
:
"mainRoutingSetStatus"
,
title
:
this
.
l
(
"mainRoutingSetStatus"
),
align
:
"center"
,
high
:
true
,
code
:
"aps.plan.mainRoutingStatus"
,
},
{
key
:
"isSupportingFinish"
,
title
:
this
.
l
(
"isSupportingFinish"
),
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
},
style
:
{
color
:
this
.
setName
(
params
.
row
.
isSupportingFinish
).
color
,
},
on
:
{
click
:
()
=>
this
.
openAccessory
(
params
.
row
),
},
},
this
.
setName
(
params
.
row
.
isSupportingFinish
).
name
);
},
},
{
key
:
"projectNumber"
,
title
:
this
.
l
(
"projectNumber"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
},
{
key
:
"batchNumber"
,
title
:
this
.
l
(
"batchNumber"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
},
{
key
:
"urgencyLevel"
,
title
:
this
.
l
(
"urgencyLevel"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
code
:
"plan.order.urgencyLevel"
,
},
{
key
:
"taskType"
,
title
:
this
.
l
(
"taskType"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
code
:
"plan.order.taskType"
,
},
{
key
:
"drawnNumber"
,
title
:
this
.
l
(
"drawnNumber"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
},
{
key
:
"quantity"
,
title
:
this
.
l
(
"quantity"
),
align
:
"right"
,
high
:
true
,
},
{
key
:
"productCode"
,
title
:
this
.
l
(
"productCode"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
{
key
:
"isPreschedule"
,
title
:
this
.
l
(
"isPreschedule"
),
align
:
"center"
,
width
:
100
,
high
:
true
,
code
:
"aps.plan.ispreschedule"
,
},
{
key
:
"taskRequire"
,
title
:
this
.
l
(
"taskRequire"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
},
{
key
:
"productingPreparationPeople"
,
title
:
this
.
l
(
"productingPreparationPeople"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
type
:
'workShopName'
},
{
key
:
"productingPreparationFinishDate"
,
title
:
this
.
l
(
"productingPreparationFinishDate"
),
align
:
"left"
,
high
:
true
,
hide
:
true
},
{
key
:
"quotationPeople"
,
title
:
this
.
l
(
"quotationPeople"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
type
:
"user"
},
{
key
:
"quotationFinishDate"
,
title
:
this
.
l
(
"quotationFinishDate"
),
align
:
"left"
,
high
:
true
,
hide
:
true
},
{
key
:
"demandStartDate"
,
title
:
this
.
l
(
"demandStartDate"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
type
:
"date"
},
{
key
:
"demandFinishDate"
,
title
:
this
.
l
(
"demandFinishDate"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
type
:
"date"
},
// {
// key: "spareQty",
// title: this.l("spareQty"),
// align: "left",
// high: true,
// hide: true,
// },
// {
// key: "demandStart",
// title: this.l("demandStart"),
// align: "left",
// high: true,
// hide: true,
// },
// {
// key: "demandFinish",
// title: this.l("demandFinish"),
// align: "left",
// high: true,
// hide: true,
// },
// {
// key: "partNamePro",
// title: this.l("partNamePro"),
// align: "left",
// easy: true,
// high: true,
// hide: true,
// },
{
title
:
"操作"
,
key
:
"action"
,
width
:
140
,
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"工艺派发"
:
"移入排产"
,
},
style
:
{
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
,
},
on
:
{
click
:
()
=>
params
.
row
.
mainRoutingSetStatus
==
0
||
params
.
row
.
mainRoutingSetStatus
==
1
?
this
.
goMethod
(
params
.
row
)
:
null
,
},
},
params
.
row
.
mainRoutingSetStatus
==
0
&&
params
.
row
.
isPreschedule
==
0
?
"工艺派发"
:
params
.
row
.
mainRoutingSetStatus
==
1
&&
params
.
row
.
isPreschedule
==
0
?
"移入排产"
:
""
),
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
"配套派发"
:
""
,
},
style
:
{
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
,
},
on
:
{
click
:
()
=>
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
this
.
supportDis
(
params
.
row
)
:
null
,
},
},
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
"配套派发"
:
""
),
]);
},
},
],
selectCount
:
0
,
selectList
:
[],
footerBar
:
false
,
results
:
[],
listBatchIds
:
[],
listBatchIds1
:
[],
//临时存储选择的ids
single
:
false
,
resultsStatusArr
:
[],
resultsStatus
:
0
,
dispatchStatus
:
0
,
//派发标识
scheduleStatus
:
0
,
//排产标识
resultsOrderList
:
""
,
scheduleType
:
null
,
scheduleTypeName
:
""
,
showAps
:
false
,
showAi
:
false
,
showAll
:
false
,
showRun
:
false
,
isPrescheduleStatu
:
0
,
};
},
mounted
()
{
this
.
loadInitCount
();
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
methods
:
{
handleSelectAll
(
status
)
{
//选择列表数据
this
.
$refs
.
grid
.
selectAll
(
status
);
name
:
"list"
,
components
:
{
Add
,
Edit
,
Detail
,
Search
,
Dispatch
,
orderSupport
,
},
data
()
{
return
{
action
:
Api
.
index
,
productingPreparationPeople
:
0
,
easySearch
:
{
keys
:
{
op
:
"mesCode,projectNumber"
,
value
:
null
,
},
selectInfo
(
value
)
{
if
(
value
.
length
>
0
)
{
this
.
footerBar
=
true
;
}
else
{
this
.
footerBar
=
false
;
}
this
.
selectList
=
[];
this
.
selectList
=
value
;
this
.
selectCount
=
this
.
selectList
.
length
;
let
statueArry
=
[];
let
tempmesCodeList
=
[];
this
.
resultsStatusArr
=
[];
this
.
isPrescheduleStatu
=
0
value
.
forEach
((
data
)
=>
{
var
that
=
this
;
statueArry
.
push
(
data
.
id
);
this
.
resultsStatusArr
.
push
(
data
.
mainRoutingSetStatus
);
if
(
data
.
isPreschedule
==
2
)
{
this
.
isPrescheduleStatu
=
2
}
tempmesCodeList
.
push
(
data
.
mesCode
);
});
let
mainRS
=
this
.
uniq
(
this
.
resultsStatusArr
);
//数组去重
if
(
mainRS
.
length
==
1
)
{
this
.
results
=
[];
this
.
results
=
statueArry
;
this
.
getListId
(
statueArry
);
this
.
resultsOrderList
=
JSON
.
stringify
(
tempmesCodeList
)
//提示mesCode
.
replace
(
"["
,
""
)
.
replace
(
"]"
,
""
)
.
replace
(
/
\"
/g
,
""
);
if
(
mainRS
[
0
]
==
0
)
{
//未派发
this
.
dispatchStatus
=
1
;
this
.
scheduleStatus
=
0
;
}
else
if
(
mainRS
[
0
]
==
1
)
{
//已派发
this
.
dispatchStatus
=
0
;
this
.
scheduleStatus
=
1
;
}
else
{
//派发中
this
.
dispatchStatus
=
0
;
this
.
scheduleStatus
=
0
;
}
}
else
{
this
.
dispatchStatus
=
0
;
this
.
scheduleStatus
=
0
;
}
},
addModal
:
false
,
editModal
:
false
,
detailModal
:
false
,
deletelModal
:
false
,
dispatchModal
:
false
,
scheduleModal
:
false
,
orderSupportModal
:
false
,
curId
:
0
,
statuList
:
this
.
$store
.
getters
.
dictionaryByKey
(
"aps.plan.supportingStatus"
)
||
[],
name
:
""
,
items
:
null
,
title
:
""
,
details
:
null
,
uId
:
""
,
hid
:
0
,
orderId
:
0
,
mesCode
:
""
,
productName
:
""
,
drawnNumber
:
""
,
count
:
0
,
modalAccessory
:
false
,
columns
:
[
{
key
:
"selection"
,
title
:
"多选"
,
type
:
"selection"
,
width
:
50
,
align
:
"center"
,
},
//得到需要批量操作的ids
getListId
(
value
)
{
this
.
listBatchIds1
=
value
;
if
(
this
.
listBatchIds1
.
length
>
0
)
{
this
.
footerBar
=
true
;
}
else
{
this
.
footerBar
=
false
;
}
{
title
:
this
.
l
(
"mesCode"
),
key
:
"mesCode"
,
width
:
240
,
align
:
"left"
,
},
canselFooter
()
{
this
.
footerBar
=
false
;
this
.
handleSelectAll
(
false
);
{
key
:
"productName"
,
title
:
this
.
l
(
"productName"
),
align
:
"left"
,
easy
:
true
,
width
:
160
,
high
:
true
,
tooltip
:
true
,
},
modalDispatch
()
{
//打开工艺派发
this
.
listBatchIds
=
this
.
listBatchIds1
;
//用于列表操作时和多选时的listBatchId的冲突
if
(
this
.
dispatchStatus
==
1
)
{
this
.
dispatchModal
=
true
;
}
else
{
this
.
$Message
.
error
(
"所选订单里存在已派发订单!"
);
}
{
key
:
"status"
,
title
:
this
.
l
(
"status"
),
align
:
"center"
,
high
:
true
,
code
:
"plan.order.status"
,
},
modalSchedule
()
{
//移入排产
this
.
scheduleType
=
null
;
this
.
scheduleTypeName
=
""
;
this
.
listBatchIds
=
this
.
listBatchIds1
;
if
(
this
.
scheduleStatus
==
1
&&
this
.
isPrescheduleStatu
!=
2
)
{
this
.
scheduleModal
=
true
;
}
else
{
this
.
$Message
.
error
(
"所选订单里存在未派发订单!"
);
}
{
key
:
"mainRoutingSetStatus"
,
title
:
this
.
l
(
"mainRoutingSetStatus"
),
align
:
"center"
,
high
:
true
,
code
:
"aps.plan.mainRoutingStatus"
,
},
goMethod
(
value
)
{
//行内点击后面按钮
this
.
canselFooter
();
this
.
resultsOrderList
=
value
.
mesCode
;
this
.
listBatchIds
=
[
value
.
id
];
this
.
scheduleType
=
null
;
this
.
scheduleTypeName
=
""
;
if
(
value
.
mainRoutingSetStatus
==
0
)
{
//this.dispatchStatus = 1
//this.scheduleStatus = 0
this
.
dispatchModal
=
true
;
}
else
if
(
value
.
mainRoutingSetStatus
==
1
)
{
//this.dispatchStatus = 0
//this.scheduleStatus = 1
this
.
scheduleModal
=
true
;
}
},
supportDis
(
value
)
{
(
this
.
orderSupportModal
=
true
),
this
.
$refs
.
orderSupport
.
loaddata
(
value
.
id
);
{
key
:
"isSupportingFinish"
,
title
:
this
.
l
(
"isSupportingFinish"
),
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
},
style
:
{
color
:
this
.
setName
(
params
.
row
.
isSupportingFinish
).
color
,
},
on
:
{
click
:
()
=>
this
.
openAccessory
(
params
.
row
),
},
},
this
.
setName
(
params
.
row
.
isSupportingFinish
).
name
);
},
},
scheduleOk
()
{
if
(
this
.
scheduleType
==
null
)
{
this
.
$Message
.
error
(
"请选择排产模型"
);
}
else
{
let
params
=
{
ids
:
this
.
listBatchIds
,
poolType
:
this
.
scheduleType
,
};
Api
.
moveinbatch
(
params
)
.
then
((
r
)
=>
{
if
(
r
.
success
&&
r
.
result
==
true
)
{
this
.
$Message
.
success
(
"移入排产成功"
);
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
this
.
changeCountOut
(
this
.
scheduleType
,
this
.
listBatchIds
.
length
);
}
else
{
if
(
!
r
.
result
.
res
)
{
this
.
$Message
.
error
(
r
.
result
.
msg
);
}
else
{
this
.
$Message
.
error
(
"移入排产失败"
);
}
}
})
.
catch
((
err
)
=>
{
this
.
$Message
.
error
(
"移入排产失败"
);
});
this
.
canselFooter
();
this
.
cancel
();
}
{
key
:
"projectNumber"
,
title
:
this
.
l
(
"projectNumber"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
},
//跳转到aps排产池(有判断)
goAps
()
{
Api
.
moveintoaps
().
then
((
res
)
=>
{
if
(
res
.
success
)
{
if
(
res
.
result
.
res
)
{
this
.
$router
.
push
({
name
:
"aps-aps"
,
// params: { customerId: id }
});
}
else
{
this
.
$Message
.
error
(
res
.
result
.
msg
);
}
}
});
{
key
:
"batchNumber"
,
title
:
this
.
l
(
"batchNumber"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
},
//跳转到智能排产池(有判断)
goAi
()
{
Api
.
moveintoai
().
then
((
res
)
=>
{
if
(
res
.
success
)
{
if
(
res
.
result
.
res
)
{
//test
this
.
$router
.
push
({
name
:
"aps-ai"
,
// params: { customerId: id }
});
}
else
{
this
.
$Message
.
error
(
res
.
result
.
msg
);
}
}
});
{
key
:
"urgencyLevel"
,
title
:
this
.
l
(
"urgencyLevel"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
code
:
"plan.order.urgencyLevel"
,
},
goCemplate
()
{
this
.
$router
.
push
({
name
:
"aps-complete"
,
});
{
key
:
"taskType"
,
title
:
this
.
l
(
"taskType"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
code
:
"plan.order.taskType"
,
},
goStream
()
{
this
.
$router
.
push
({
name
:
"aps-stream"
,
});
{
key
:
"drawnNumber"
,
title
:
this
.
l
(
"drawnNumber"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
},
add
()
{
this
.
addModal
=
true
;
{
key
:
"quantity"
,
title
:
this
.
l
(
"quantity"
),
align
:
"right"
,
high
:
true
,
},
addOk
()
{
this
.
$refs
.
grid
.
load
();
this
.
addModal
=
false
;
this
.
detailModal
=
false
;
this
.
editModal
=
false
;
this
.
curId
=
0
;
//aps
this
.
dispatchModal
=
false
;
this
.
scheduleModal
=
false
;
this
.
listBatchIds
=
[];
this
.
listBatchIds1
=
[];
this
.
canselFooter
();
this
.
modalAccessory
=
false
;
{
key
:
"productCode"
,
title
:
this
.
l
(
"productCode"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
{
key
:
"isPreschedule"
,
title
:
this
.
l
(
"isPreschedule"
),
align
:
"center"
,
width
:
100
,
high
:
true
,
code
:
"aps.plan.ispreschedule"
,
},
detail
(
id
)
{
this
.
detailModal
=
true
;
this
.
curId
=
id
;
{
key
:
"taskRequire"
,
title
:
this
.
l
(
"taskRequire"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
edit
(
id
)
{
this
.
editModal
=
true
;
this
.
curId
=
id
;
{
key
:
"productingPreparationPeople"
,
title
:
this
.
l
(
"productingPreparationPeople"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
type
:
"workShopName"
,
},
remove
(
id
)
{
this
.
deletelModal
=
true
;
this
.
curId
=
id
;
{
key
:
"productingPreparationFinishDate"
,
title
:
this
.
l
(
"productingPreparationFinishDate"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
},
removeOk
()
{
Api
.
delete
({
id
:
this
.
curId
}).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$refs
.
grid
.
load
();
this
.
deletelModal
=
false
;
this
.
$Message
.
success
(
"删除成功"
);
}
});
{
key
:
"quotationPeople"
,
title
:
this
.
l
(
"quotationPeople"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
type
:
"user"
,
},
removeCancel
()
{
this
.
deletelModal
=
false
;
{
key
:
"quotationFinishDate"
,
title
:
this
.
l
(
"quotationFinishDate"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
},
cancel
()
{
this
.
curId
=
0
;
this
.
addModal
=
false
;
this
.
detailModal
=
false
;
this
.
editModal
=
false
;
this
.
deletedlModal
=
false
;
//aps
this
.
dispatchModal
=
false
;
this
.
scheduleModal
=
false
;
this
.
modalAccessory
=
false
;
// this.listBatchIds = []
// this.listBatchIds1 = []
// this.canselFooter()
{
key
:
"demandStartDate"
,
title
:
this
.
l
(
"demandStartDate"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
type
:
"date"
,
},
l
(
key
)
{
let
vkey
=
"mes_order"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
{
key
:
"demandFinishDate"
,
title
:
this
.
l
(
"demandFinishDate"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
type
:
"date"
,
},
uniq
(
array
)
{
//数组去重
array
.
sort
();
var
temp
=
[];
temp
=
[
array
[
0
]];
for
(
var
i
=
1
;
i
<
array
.
length
;
i
++
)
{
if
(
array
[
i
]
!==
temp
[
temp
.
length
-
1
])
{
temp
.
push
(
array
[
i
]);
}
}
return
temp
;
// {
// key: "spareQty",
// title: this.l("spareQty"),
// align: "left",
// high: true,
// hide: true,
// },
// {
// key: "demandStart",
// title: this.l("demandStart"),
// align: "left",
// high: true,
// hide: true,
// },
// {
// key: "demandFinish",
// title: this.l("demandFinish"),
// align: "left",
// high: true,
// hide: true,
// },
// {
// key: "partNamePro",
// title: this.l("partNamePro"),
// align: "left",
// easy: true,
// high: true,
// hide: true,
// },
{
title
:
"操作"
,
key
:
"action"
,
width
:
140
,
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
,
},
[
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"工艺派发"
:
"移入排产"
,
},
style
:
{
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
,
},
on
:
{
click
:
()
=>
params
.
row
.
mainRoutingSetStatus
==
0
||
params
.
row
.
mainRoutingSetStatus
==
1
?
this
.
goMethod
(
params
.
row
)
:
null
,
},
},
params
.
row
.
mainRoutingSetStatus
==
0
&&
params
.
row
.
isPreschedule
==
0
?
"工艺派发"
:
params
.
row
.
mainRoutingSetStatus
==
1
&&
params
.
row
.
isPreschedule
==
0
?
"移入排产"
:
""
),
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
"配套派发"
:
""
,
},
style
:
{
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
,
},
on
:
{
click
:
()
=>
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
this
.
supportDis
(
params
.
row
)
:
null
,
},
},
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
"配套派发"
:
""
),
]
);
},
},
//移入排产前选择排产模型
onchangeScheduleType
(
val
)
{
switch
(
Number
(
val
))
{
case
4
:
this
.
scheduleTypeName
=
"智能排产"
;
break
;
case
2
:
this
.
scheduleTypeName
=
"整机排产"
;
break
;
case
3
:
this
.
scheduleTypeName
=
"流水排产"
;
break
;
default
:
this
.
scheduleTypeName
=
"APS排产"
;
],
selectCount
:
0
,
selectList
:
[],
footerBar
:
false
,
results
:
[],
listBatchIds
:
[],
listBatchIds1
:
[],
//临时存储选择的ids
single
:
false
,
resultsStatusArr
:
[],
resultsStatus
:
0
,
dispatchStatus
:
0
,
//派发标识
scheduleStatus
:
0
,
//排产标识
resultsOrderList
:
""
,
scheduleType
:
null
,
scheduleTypeName
:
""
,
showAps
:
false
,
showAi
:
false
,
showAll
:
false
,
showRun
:
false
,
isPrescheduleStatu
:
0
,
};
},
mounted
()
{
this
.
loadInitCount
();
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
methods
:
{
handleSelectAll
(
status
)
{
//选择列表数据
this
.
$refs
.
grid
.
selectAll
(
status
);
},
selectInfo
(
value
)
{
if
(
value
.
length
>
0
)
{
this
.
footerBar
=
true
;
}
else
{
this
.
footerBar
=
false
;
}
this
.
selectList
=
[];
this
.
selectList
=
value
;
this
.
selectCount
=
this
.
selectList
.
length
;
let
statueArry
=
[];
let
tempmesCodeList
=
[];
this
.
resultsStatusArr
=
[];
this
.
isPrescheduleStatu
=
0
;
value
.
forEach
((
data
)
=>
{
var
that
=
this
;
statueArry
.
push
(
data
.
id
);
this
.
resultsStatusArr
.
push
(
data
.
mainRoutingSetStatus
);
if
(
data
.
isPreschedule
==
2
)
{
this
.
isPrescheduleStatu
=
2
;
}
tempmesCodeList
.
push
(
data
.
mesCode
);
});
let
mainRS
=
this
.
uniq
(
this
.
resultsStatusArr
);
//数组去重
if
(
mainRS
.
length
==
1
)
{
this
.
results
=
[];
this
.
results
=
statueArry
;
this
.
getListId
(
statueArry
);
this
.
resultsOrderList
=
JSON
.
stringify
(
tempmesCodeList
)
//提示mesCode
.
replace
(
"["
,
""
)
.
replace
(
"]"
,
""
)
.
replace
(
/
\"
/g
,
""
);
if
(
mainRS
[
0
]
==
0
)
{
//未派发
this
.
dispatchStatus
=
1
;
this
.
scheduleStatus
=
0
;
}
else
if
(
mainRS
[
0
]
==
1
)
{
//已派发
this
.
dispatchStatus
=
0
;
this
.
scheduleStatus
=
1
;
}
else
{
//派发中
this
.
dispatchStatus
=
0
;
this
.
scheduleStatus
=
0
;
}
}
else
{
this
.
dispatchStatus
=
0
;
this
.
scheduleStatus
=
0
;
}
},
//得到需要批量操作的ids
getListId
(
value
)
{
this
.
listBatchIds1
=
value
;
if
(
this
.
listBatchIds1
.
length
>
0
)
{
this
.
footerBar
=
true
;
}
else
{
this
.
footerBar
=
false
;
}
},
canselFooter
()
{
this
.
footerBar
=
false
;
this
.
handleSelectAll
(
false
);
},
modalDispatch
()
{
//打开工艺派发
this
.
listBatchIds
=
this
.
listBatchIds1
;
//用于列表操作时和多选时的listBatchId的冲突
if
(
this
.
dispatchStatus
==
1
)
{
this
.
dispatchModal
=
true
;
}
else
{
this
.
$Message
.
error
(
"所选订单里存在已派发订单!"
);
}
},
modalSchedule
()
{
//移入排产
this
.
scheduleType
=
null
;
this
.
scheduleTypeName
=
""
;
this
.
listBatchIds
=
this
.
listBatchIds1
;
if
(
this
.
scheduleStatus
==
1
&&
this
.
isPrescheduleStatu
!=
2
)
{
this
.
scheduleModal
=
true
;
}
else
{
this
.
$Message
.
error
(
"所选订单里存在未派发订单!"
);
}
},
goMethod
(
value
)
{
//行内点击后面按钮
this
.
canselFooter
();
this
.
resultsOrderList
=
value
.
mesCode
;
this
.
listBatchIds
=
[
value
.
id
];
this
.
scheduleType
=
null
;
this
.
scheduleTypeName
=
""
;
if
(
value
.
mainRoutingSetStatus
==
0
)
{
//this.dispatchStatus = 1
//this.scheduleStatus = 0
this
.
dispatchModal
=
true
;
}
else
if
(
value
.
mainRoutingSetStatus
==
1
)
{
//this.dispatchStatus = 0
//this.scheduleStatus = 1
this
.
scheduleModal
=
true
;
}
},
supportDis
(
value
)
{
(
this
.
orderSupportModal
=
true
),
this
.
$refs
.
orderSupport
.
loaddata
(
value
.
id
);
},
scheduleOk
()
{
if
(
this
.
scheduleType
==
null
)
{
this
.
$Message
.
error
(
"请选择排产模型"
);
}
else
{
let
params
=
{
ids
:
this
.
listBatchIds
,
poolType
:
this
.
scheduleType
,
};
Api
.
moveinbatch
(
params
)
.
then
((
r
)
=>
{
if
(
r
.
success
&&
r
.
result
==
true
)
{
this
.
$Message
.
success
(
"移入排产成功"
);
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
this
.
changeCountOut
(
this
.
scheduleType
,
this
.
listBatchIds
.
length
);
}
else
{
if
(
!
r
.
result
.
res
)
{
this
.
$Message
.
error
(
r
.
result
.
msg
);
}
else
{
this
.
$Message
.
error
(
"移入排产失败"
);
}
}
},
//移入排产成功后给标题增加数量
changeCountOut
(
type
,
count
)
{
switch
(
type
)
{
case
4
:
//智能排产池排产订单数量
this
.
$store
.
commit
(
"setCountAi"
,
this
.
$store
.
state
.
countAi
+
count
);
break
;
case
2
:
//整机排产池排产订单数量
this
.
$store
.
commit
(
"setCountAll"
,
this
.
$store
.
state
.
countAll
+
count
);
break
;
case
3
:
//流水排产池排产订单数量
this
.
$store
.
commit
(
"setCountRun"
,
this
.
$store
.
state
.
countRun
+
count
);
break
;
default
:
//APS排产池排产订单数量
this
.
$store
.
commit
(
"setCountAps"
,
this
.
$store
.
state
.
countAps
+
count
);
})
.
catch
((
err
)
=>
{
this
.
$Message
.
error
(
"移入排产失败"
);
});
this
.
canselFooter
();
this
.
cancel
();
}
},
//跳转到aps排产池(有判断)
goAps
()
{
Api
.
moveintoaps
().
then
((
res
)
=>
{
if
(
res
.
success
)
{
if
(
res
.
result
.
res
)
{
this
.
$router
.
push
({
name
:
"aps-aps"
,
// params: { customerId: id }
});
}
else
{
this
.
$Message
.
error
(
res
.
result
.
msg
);
}
}
});
},
//跳转到智能排产池(有判断)
goAi
()
{
Api
.
moveintoai
().
then
((
res
)
=>
{
if
(
res
.
success
)
{
if
(
res
.
result
.
res
)
{
//test
this
.
$router
.
push
({
name
:
"aps-ai"
,
// params: { customerId: id }
});
}
else
{
this
.
$Message
.
error
(
res
.
result
.
msg
);
}
}
});
},
goCemplate
()
{
this
.
$router
.
push
({
name
:
"aps-complete"
,
});
},
goStream
()
{
this
.
$router
.
push
({
name
:
"aps-stream"
,
});
},
add
()
{
this
.
addModal
=
true
;
},
addOk
()
{
this
.
$refs
.
grid
.
load
();
this
.
addModal
=
false
;
this
.
detailModal
=
false
;
this
.
editModal
=
false
;
this
.
curId
=
0
;
//aps
this
.
dispatchModal
=
false
;
this
.
scheduleModal
=
false
;
this
.
listBatchIds
=
[];
this
.
listBatchIds1
=
[];
this
.
canselFooter
();
this
.
modalAccessory
=
false
;
},
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
detail
(
id
)
{
this
.
detailModal
=
true
;
this
.
curId
=
id
;
},
edit
(
id
)
{
this
.
editModal
=
true
;
this
.
curId
=
id
;
},
remove
(
id
)
{
this
.
deletelModal
=
true
;
this
.
curId
=
id
;
},
removeOk
()
{
Api
.
delete
({
id
:
this
.
curId
,
}).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$refs
.
grid
.
load
();
this
.
deletelModal
=
false
;
this
.
$Message
.
success
(
"删除成功"
);
}
});
},
removeCancel
()
{
this
.
deletelModal
=
false
;
},
cancel
()
{
this
.
curId
=
0
;
this
.
addModal
=
false
;
this
.
detailModal
=
false
;
this
.
editModal
=
false
;
this
.
deletedlModal
=
false
;
//aps
this
.
dispatchModal
=
false
;
this
.
scheduleModal
=
false
;
this
.
modalAccessory
=
false
;
// this.listBatchIds = []
// this.listBatchIds1 = []
// this.canselFooter()
},
l
(
key
)
{
let
vkey
=
"mes_order"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
},
uniq
(
array
)
{
//数组去重
array
.
sort
();
var
temp
=
[];
temp
=
[
array
[
0
]];
for
(
var
i
=
1
;
i
<
array
.
length
;
i
++
)
{
if
(
array
[
i
]
!==
temp
[
temp
.
length
-
1
])
{
temp
.
push
(
array
[
i
]);
}
}
return
temp
;
},
//移入排产前选择排产模型
onchangeScheduleType
(
val
)
{
switch
(
Number
(
val
))
{
case
4
:
this
.
scheduleTypeName
=
"智能排产"
;
break
;
case
2
:
this
.
scheduleTypeName
=
"整机排产"
;
break
;
case
3
:
this
.
scheduleTypeName
=
"流水排产"
;
break
;
default
:
this
.
scheduleTypeName
=
"APS排产"
;
}
},
//移入排产成功后给标题增加数量
changeCountOut
(
type
,
count
)
{
switch
(
type
)
{
case
4
:
//智能排产池排产订单数量
this
.
$store
.
commit
(
"setCountAi"
,
this
.
$store
.
state
.
countAi
+
count
);
break
;
case
2
:
//整机排产池排产订单数量
this
.
$store
.
commit
(
"setCountAll"
,
this
.
$store
.
state
.
countAll
+
count
);
break
;
case
3
:
//流水排产池排产订单数量
this
.
$store
.
commit
(
"setCountRun"
,
this
.
$store
.
state
.
countRun
+
count
);
break
;
default
:
//APS排产池排产订单数量
this
.
$store
.
commit
(
"setCountAps"
,
this
.
$store
.
state
.
countAps
+
count
);
}
},
//进入页面加载排产count-----
loadInitCount
()
{
let
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
;
let
para
=
{
id
:
currentUserId
,
};
Api
.
listbyuser
(
para
).
then
((
datas
)
=>
{
if
(
datas
.
success
&&
datas
.
result
&&
datas
.
result
.
length
>
0
)
{
datas
.
result
.
forEach
((
dateScheduleId
)
=>
{
switch
(
dateScheduleId
.
apsScheduleId
)
{
case
1
:
this
.
showAps
=
true
;
break
;
case
2
:
this
.
showAll
=
true
;
break
;
case
3
:
this
.
showRun
=
true
;
break
;
default
:
this
.
showAi
=
true
;
}
},
//进入页面加载排产count-----
loadInitCount
()
{
let
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
;
let
para
=
{
id
:
currentUserId
};
Api
.
listbyuser
(
para
).
then
((
datas
)
=>
{
if
(
datas
.
success
&&
datas
.
result
&&
datas
.
result
.
length
>
0
)
{
datas
.
result
.
forEach
((
dateScheduleId
)
=>
{
switch
(
dateScheduleId
.
apsScheduleId
)
{
case
1
:
this
.
showAps
=
true
;
break
;
case
2
:
this
.
showAll
=
true
;
break
;
case
3
:
this
.
showRun
=
true
;
break
;
default
:
this
.
showAi
=
true
;
}
});
}
});
}
});
this
.
$store
.
commit
(
"setCountAps"
,
0
);
this
.
$store
.
commit
(
"setCountAi"
,
0
);
this
.
$store
.
commit
(
"setCountAll"
,
0
);
this
.
$store
.
commit
(
"setCountRun"
,
0
);
Api
.
getpoolordercount
()
.
then
((
res
)
=>
{
if
(
res
.
success
&&
res
.
result
&&
res
.
result
.
length
>
0
)
{
res
.
result
.
forEach
((
data
)
=>
{
this
.
changeCountOut
(
data
.
poolType
,
data
.
count
);
});
}
})
.
catch
((
err
)
=>
{
this
.
$Message
.
error
(
"获取排产池排产数量失败"
);
});
},
//配套申请
setName
(
v
)
{
let
outPar
=
{
name
:
""
,
color
:
""
,
};
if
((
v
+
""
).
indexOf
(
","
)
==
-
1
)
{
var
item
;
this
.
statuList
.
map
((
u
)
=>
{
if
(
u
.
code
==
v
)
{
item
=
u
;
}
});
if
(
item
)
{
//this.items = item;
outPar
=
{
name
:
item
.
name
,
color
:
item
.
color
,
};
}
}
return
outPar
;
},
openAccessory
(
row
)
{
if
(
row
.
mainRoutingSetStatus
!=
1
)
{
this
.
$Message
.
error
(
"请设置订单工艺!"
);
return
;
}
else
{
this
.
orderId
=
row
.
id
;
this
.
mesCode
=
row
.
mesCode
;
this
.
productName
=
row
.
productName
;
this
.
drawnNumber
=
row
.
drawnNumber
;
this
.
count
=
row
.
quantity
;
this
.
productingPreparationPeople
=
row
.
productingPreparationPeople
;
this
.
$store
.
commit
(
"setCountAps"
,
0
);
this
.
$store
.
commit
(
"setCountAi"
,
0
);
this
.
$store
.
commit
(
"setCountAll"
,
0
);
this
.
$store
.
commit
(
"setCountRun"
,
0
);
Api
.
getpoolordercount
()
.
then
((
res
)
=>
{
if
(
res
.
success
&&
res
.
result
&&
res
.
result
.
length
>
0
)
{
res
.
result
.
forEach
((
data
)
=>
{
this
.
changeCountOut
(
data
.
poolType
,
data
.
count
);
});
}
})
.
catch
((
err
)
=>
{
this
.
$Message
.
error
(
"获取排产池排产数量失败"
);
});
},
//配套申请
setName
(
v
)
{
let
outPar
=
{
name
:
""
,
color
:
""
,
};
if
((
v
+
""
).
indexOf
(
","
)
==
-
1
)
{
var
item
;
this
.
statuList
.
map
((
u
)
=>
{
if
(
u
.
code
==
v
)
{
item
=
u
;
}
});
if
(
item
)
{
//this.items = item;
outPar
=
{
name
:
item
.
name
,
color
:
item
.
color
,
};
}
}
return
outPar
;
},
openAccessory
(
row
)
{
if
(
row
.
mainRoutingSetStatus
!=
1
)
{
this
.
$Message
.
error
(
"请设置订单工艺!"
);
return
;
}
else
{
this
.
orderId
=
row
.
id
;
this
.
mesCode
=
row
.
mesCode
;
this
.
productName
=
row
.
productName
;
this
.
drawnNumber
=
row
.
drawnNumber
;
this
.
count
=
row
.
quantity
;
if
(
row
.
mainRoutingSetStatus
==
1
&&
row
.
isSupportingFinish
==
0
)
{
this
.
$Message
.
error
(
"请去工艺设置生成料单!"
);
// this.title = "申请配套";
// this.details = () => import("./addAccessory");
}
else
{
this
.
title
=
"配套清单"
;
this
.
details
=
()
=>
import
(
"./editAccessory"
);
this
.
modalAccessory
=
true
;
}
}
},
ok
()
{
this
.
modalAccessory
=
false
;
this
.
curId
=
0
;
},
if
(
row
.
mainRoutingSetStatus
==
1
&&
row
.
isSupportingFinish
==
0
)
{
this
.
$Message
.
error
(
"请去工艺设置生成料单!"
);
// this.title = "申请配套";
// this.details = () => import("./addAccessory");
}
else
{
this
.
title
=
"配套清单"
;
this
.
details
=
()
=>
import
(
"./editAccessory"
);
this
.
modalAccessory
=
true
;
}
}
},
ok
()
{
this
.
modalAccessory
=
false
;
this
.
curId
=
0
;
},
},
};
</
script
>
<
style
lang=
"less"
>
.footerSpan {
width: 120px;
width: 120px;
}
.demo-badge-alone {
background: #5cb85c !important;
background: #5cb85c !important;
}
.radioList {
margin: 10px 30px;
margin: 10px 30px;
}
.radioList label {
margin-top: 5px;
margin-top: 5px;
}
</
style
>
pages/qc/check/api.js
View file @
c7f160fa
import
Api
from
'@/plugins/request'
export
default
{
index
:
`
${
resourceUrl
}
/materialpowder/item
paged`
,
index
:
`
${
material
}
/material/
paged`
,
paged
(
params
){
return
Api
.
post
(
`
${
resourceUrl
}
/materialpowder/item
paged`
,
params
);
return
Api
.
post
(
`
${
material
}
/material/
paged`
,
params
);
},
get
(
params
){
return
Api
.
get
(
`
${
resourceUr
l
}
/materialpowder/get`
,
params
);
return
Api
.
get
(
`
${
materia
l
}
/materialpowder/get`
,
params
);
},
create
(
params
){
return
Api
.
post
(
`
${
resourceUr
l
}
/materialpowder/create`
,
params
);
return
Api
.
post
(
`
${
materia
l
}
/materialpowder/create`
,
params
);
},
update
(
params
){
return
Api
.
post
(
`
${
resourceUr
l
}
/materialpowder/update`
,
params
);
return
Api
.
post
(
`
${
materia
l
}
/materialpowder/update`
,
params
);
},
//删除:
delete
(
params
)
{
return
Api
.
delete
(
`
${
resourceUr
l
}
/materialpowder/delete`
,{
params
:
params
});
return
Api
.
delete
(
`
${
materia
l
}
/materialpowder/delete`
,{
params
:
params
});
},
}
\ No newline at end of file
pages/qc/check/endReview/index.vue
View file @
c7f160fa
<
template
>
<div>
<DataGrid
:columns=
"columns"
ref=
"grid"
:high=
'false'
:action=
"action"
:conditions=
"easySearch"
></DataGrid>
<DataGrid
:columns=
"columns"
ref=
"grid"
:high=
"false"
:action=
"action"
:conditions=
"easySearch"
></DataGrid>
</div>
</
template
>
<
script
>
import
Api
from
'../api'
import
Api
from
"../api"
;
export
default
{
// name: 'list',
// components:{
...
...
@@ -18,145 +24,157 @@ export default {
detailModal
:
false
,
deletelModal
:
false
,
easySearch
:
{
keys
:
{
op
:
'brand,name'
,
value
:
''
,
default
:
true
},
reinspectionStatus
:
{
op
:
'Equal'
,
value
:
3
}
keys
:
{
op
:
"brand,name"
,
value
:
""
,
default
:
true
},
reinspectionStatus
:
{
op
:
"Equal"
,
value
:
1
},
},
curId
:
0
,
columns
:
[
{
key
:
'id'
,
title
:
this
.
l
(
'id'
),
hide
:
true
,
align
:
'left'
},
{
key
:
'brand'
,
title
:
this
.
l
(
'brand'
),
align
:
'left'
,
easy
:
true
,
high
:
true
},
{
key
:
'name'
,
title
:
this
.
l
(
'name'
),
align
:
'left'
,
easy
:
true
,
high
:
true
},
{
key
:
"id"
,
title
:
this
.
l
(
"id"
),
hide
:
true
,
align
:
"left"
},
{
key
:
'specifications'
,
title
:
this
.
l
(
'specifications'
),
align
:
'left'
,
easy
:
true
,
high
:
true
key
:
"codeRuleType"
,
title
:
"类型"
,
align
:
"center"
,
code
:
"material.code.type"
,
import
:
true
,
hide
:
true
,
},
// {
// key: "codeRuleId",
// title: "编码名称",
// materialKey: "3",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType3(params.row.codeRuleId));
// },
// },
// {
// key: "rootCategoryId",
// title: "大类",
// align: "right",
// materialKey: "1",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType1(params.row.rootCategoryId));
// },
// },
// {
// key: "categoryId",
// title: "子类",
// align: "right",
// materialKey: "2",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType2(params.row.categoryId));
// },
// },
{
key
:
'batchNo'
,
title
:
this
.
l
(
'batchNo'
),
align
:
'left'
,
easy
:
true
,
high
:
true
,
hide
:
true
,
key
:
"code"
,
title
:
"编码"
,
align
:
"left"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
props
:
{},
on
:
{
click
:
()
=>
this
.
details
(
params
.
row
),
},
},
!
params
.
row
.
code
||
params
.
row
.
code
==
0
?
"未分配"
:
params
.
row
.
code
);
},
},
{
key
:
'originalManufacturer'
,
title
:
this
.
l
(
'originalManufacturer'
),
align
:
'left'
,
easy
:
true
,
high
:
true
,
hide
:
true
,
key
:
"name"
,
title
:
"名称"
,
align
:
"left"
,
},
{
key
:
'reinspectionDate'
,
title
:
this
.
l
(
'reinspectionDate'
),
align
:
'left'
,
render
:
(
h
,
paras
)
=>
{
return
h
(
'span'
,
paras
.
row
.
reinspectionDate
)
},
high
:
true
,
width
:
180
,
key
:
"status"
,
title
:
"状态"
,
align
:
"center"
,
code
:
"material.main.status"
,
},
{
key
:
'remainingAmount'
,
title
:
this
.
l
(
'remainingAmount'
)
,
align
:
'left'
,
high
:
true
key
:
"version"
,
title
:
"版本"
,
align
:
"left"
,
code
:
"material.main.version"
,
},
{
key
:
'storeId'
,
title
:
this
.
l
(
'storeId'
),
align
:
'left'
,
render
:
(
h
,
paras
)
=>
{
return
h
(
'span'
,
paras
.
row
.
storeId
)
},
high
:
true
key
:
"drawing"
,
title
:
"图号"
,
align
:
"left"
,
},
{
key
:
'location'
,
title
:
this
.
l
(
'location'
)
,
align
:
'left'
,
easy
:
true
,
high
:
true
key
:
"creationTime"
,
title
:
"创建时间"
,
hide
:
true
,
align
:
"left"
,
type
:
"date"
,
},
{
key
:
'category'
,
title
:
this
.
l
(
'category'
),
align
:
'center'
,
high
:
true
,
code
:
'mes_xingchi_resource.material.powderType'
},
{
key
:
'reinspectionStatus'
,
title
:
this
.
l
(
'reinspectionStatus'
),
align
:
'center'
,
code
:
'mes_xingchi_resource.material.recheckState'
,
easy
:
true
,
high
:
true
key
:
"creatorUserId"
,
title
:
"创建人"
,
hide
:
true
,
align
:
"left"
,
type
:
"user"
,
},
// render:(h,paras)=>{return h('span',paras.row.reinspectionStatus)} ,
{
title
:
'操作'
,
key
:
'id'
,
width
:
150
,
align
:
'center'
,
render
:
(
h
,
params
)
=>
{
// let herfurl = params.row.certificateUploadPath;
return
h
(
'div'
,
{
class
:
'action'
},
[
h
(
'op'
,
{
attrs
:{
oprate
:
'detail'
}
,
class
:
'view'
,
on
:
{
click
:
()
=>
{
this
.
detail
(
params
.
row
)
}
}
title
:
"操作"
,
key
:
"id"
,
width
:
150
,
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
// let herfurl = params.row.certificateUploadPath;
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
},
class
:
"view"
,
on
:
{
click
:
()
=>
{
this
.
detail
(
params
.
row
);
},
'查看复验单'
)
])
}
}
]
}
}
,
mounted
()
{
},
},
"查看复验单"
),
]);
},
},
]
,
};
},
mounted
()
{},
methods
:
{
reload
()
{
this
.
$refs
.
grid
.
load
()
},
reload
()
{
this
.
$refs
.
grid
.
load
();
},
detail
(
row
)
{
let
ssdata
=
row
.
certificateUploadPath
if
(
this
.
$u
.
isNull
(
ssdata
)){
this
.
$Message
.
warning
(
'复验单为空!'
)
}
else
{
var
item
=
JSON
.
parse
(
ssdata
)[
0
][
"filePath"
],
url
=
fileUrlDown
+
item
;
window
.
open
(
url
)
// this.$Message.warning('文件格式不支持')
}
let
ssdata
=
row
.
certificateUploadPath
;
if
(
this
.
$u
.
isNull
(
ssdata
))
{
this
.
$Message
.
warning
(
"复验单为空!"
);
}
else
{
var
item
=
JSON
.
parse
(
ssdata
)[
0
][
"filePath"
],
url
=
fileUrlDown
+
item
;
window
.
open
(
url
);
// this.$Message.warning('文件格式不支持')
}
},
removeCancel
()
{
this
.
deletelModal
=
false
this
.
deletelModal
=
false
;
},
l
(
key
)
{
/*
...
...
@@ -186,11 +204,11 @@ export default {
lastModifierUserId:'',
}
*/
let
vkey
=
'waitReview'
+
'.'
+
key
return
this
.
$t
(
vkey
)
||
key
}
}
}
let
vkey
=
"waitReview"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
}
,
}
,
}
;
</
script
>
<
style
lang=
"less"
>
</
style
>
\ No newline at end of file
pages/qc/check/waitReview/index.vue
View file @
c7f160fa
<
template
>
<div>
<DataGrid
:columns=
"columns"
ref=
"grid"
:high=
'false'
:action=
"action"
:conditions=
"easySearch"
>
<DataGrid
:columns=
"columns"
ref=
"grid"
:high=
"false"
:action=
"action"
:conditions=
"easySearch"
>
<!--
<template
slot=
"searchForm"
>
<!--
<Search
/>
</
template
>
-->
...
...
@@ -9,32 +15,39 @@
</template>-->
</DataGrid>
<Modal
v-model=
"detailModal"
title=
"复验"
width=
"490"
footer-hide
>
<Form
:model=
"setNumForm"
:label-width=
"90"
:rules=
"rules"
>
<Form
:model=
"setNumForm"
:label-width=
"90"
:rules=
"rules"
>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"合格证编码"
>
<Input
v-model=
"setNumForm.substrateCoding"
placeholder=
"系统自动生成可修改"
></Input>
<Input
v-model=
"setNumForm.substrateCoding"
placeholder=
"系统自动生成可修改"
></Input>
</FormItem>
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"复验文件"
prop=
"storeTitle"
>
<inputFile
v-model=
"setNumForm.imgName"
:parms=
"qcfileparms"
files
/>
<inputFile
v-model=
"setNumForm.imgName"
:parms=
"qcfileparms"
files
/>
</FormItem>
</Col>
</Row>
<Row
v-if=
"redmsg"
>
<Col>
<span
class=
"red"
>
请选择上传文件!
</span>
</Col>
<Col>
<span
class=
"red"
>
请选择上传文件!
</span>
</Col>
</Row>
<Row>
<Col
span=
"15"
>
</Col>
<Col
span=
"9"
>
<Col
span=
"15"
>
</Col>
<Col
span=
"9"
>
<Button
@
click=
"handleClose"
class=
"mr20"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"suerUp()"
v-noClick
>
保存
</Button>
</Col>
</Col>
</Row>
</Form>
<!-- <Detail :eid="curId" /> -->
...
...
@@ -42,184 +55,202 @@
</div>
</template>
<
script
>
import
Api
from
'../api'
import
service
from
'@/plugins/request'
import
Api
from
"../api"
;
import
service
from
"@/plugins/request"
;
export
default
{
name
:
'list'
,
name
:
"list"
,
// components:{
// Add,Edit,Detail,Search
// },
data
()
{
return
{
action
:
Api
.
index
,
addModal
:
false
,
editModal
:
false
,
detailModal
:
false
,
deletelModal
:
false
,
redmsg
:
false
,
rules
:
{
storeTitle
:
[
{
required
:
true
,
message
:
'请选择库位'
,
trigger
:
'blur'
}
],
action
:
Api
.
index
,
addModal
:
false
,
editModal
:
false
,
detailModal
:
false
,
deletelModal
:
false
,
redmsg
:
false
,
rules
:
{
storeTitle
:
[
{
required
:
true
,
message
:
"请选择库位"
,
trigger
:
"blur"
},
],
},
qcfileparms
:
"app=qms&eid="
+
this
.
curId
+
"&name=ProcessRecord"
,
//模块+单条数据id+文件字段名
setNumForm
:
{
substrateCoding
:
""
,
id
:
0
,
imgName
:
""
,
},
easySearch
:
{
keys
:
{
op
:
"brand,name"
,
value
:
""
,
default
:
true
},
reinspectionStatus
:
{
op
:
"Equal"
,
value
:
0
},
status
:
{
op
:
"Equal"
,
value
:
3
},
},
columns
:
[
{
key
:
"id"
,
title
:
this
.
l
(
"id"
),
hide
:
true
,
align
:
"left"
},
{
key
:
"codeRuleType"
,
title
:
"类别"
,
align
:
"center"
,
code
:
"material.code.type"
,
import
:
true
,
hide
:
true
,
},
qcfileparms
:
'app=qms&eid='
+
this
.
curId
+
'&name=ProcessRecord'
,
//模块+单条数据id+文件字段名
setNumForm
:
{
substrateCoding
:
''
,
id
:
0
,
imgName
:
''
// {
// key: "codeRuleId",
// title: "编码名称",
// materialKey: "3",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType3(params.row.codeRuleId));
// },
// },
// {
// key: "rootCategoryId",
// title: "大类",
// align: "right",
// materialKey: "1",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType1(params.row.rootCategoryId));
// },
// },
// {
// key: "categoryId",
// title: "子类",
// align: "right",
// materialKey: "2",
// import: true,
// hide: true,
// render: (h, params) => {
// return h("span", {}, this.getType2(params.row.categoryId));
// },
// },
{
key
:
"code"
,
title
:
"编码"
,
align
:
"left"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
props
:
{},
on
:
{
click
:
()
=>
this
.
details
(
params
.
row
),
},
},
!
params
.
row
.
code
||
params
.
row
.
code
==
0
?
"未分配"
:
params
.
row
.
code
);
},
},
easySearch
:
{
keys
:
{
op
:
'brand,name'
,
value
:
''
,
default
:
true
},
reinspectionStatus
:
{
op
:
'Equal'
,
value
:
1
}
{
key
:
"name"
,
title
:
"名称"
,
align
:
"left"
,
},
columns
:
[
{
key
:
'id'
,
title
:
this
.
l
(
'id'
),
hide
:
true
,
align
:
'left'
},
{
key
:
'brand'
,
title
:
this
.
l
(
'brand'
),
align
:
'left'
,
easy
:
true
,
high
:
true
},{
key
:
'name'
,
title
:
this
.
l
(
'name'
),
align
:
'left'
,
easy
:
true
,
high
:
true
},{
key
:
'specifications'
,
title
:
this
.
l
(
'specifications'
),
align
:
'left'
,
easy
:
true
,
high
:
true
},{
key
:
'batchNo'
,
title
:
this
.
l
(
'batchNo'
),
align
:
'left'
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},{
key
:
'originalManufacturer'
,
title
:
this
.
l
(
'originalManufacturer'
),
align
:
'left'
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
// {
// key: 'reinspectionDate',
// title: this.l('reinspectionDate'),
// align: 'center',
// render: (h, paras) => {
// return h('span', paras.row.reinspectionDate)
// },
// high: true,
// width:180,
// },
{
key
:
'remainingAmount'
,
title
:
this
.
l
(
'remainingAmount'
),
align
:
'left'
,
high
:
true
},{
key
:
'storeId'
,
title
:
this
.
l
(
'storeId'
),
align
:
'left'
,
render
:
(
h
,
paras
)
=>
{
return
h
(
'span'
,
paras
.
row
.
storeId
)
},
high
:
true
},{
key
:
'location'
,
title
:
this
.
l
(
'location'
),
align
:
'left'
,
easy
:
true
,
high
:
true
},{
key
:
'category'
,
title
:
this
.
l
(
'category'
),
align
:
'center'
,
high
:
true
,
code
:
'mes_xingchi_resource.material.powderType'
},{
key
:
'reinspectionStatus'
,
title
:
this
.
l
(
'reinspectionStatus'
),
code
:
'mes_xingchi_resource.material.recheckState'
,
align
:
'center'
,
easy
:
true
,
high
:
true
,
width
:
100
},
{
title
:
'操作'
,
key
:
'id'
,
width
:
100
,
align
:
'center'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'div'
,
{
class
:
'action'
},
[
h
(
'op'
,
{
attrs
:{
oprate
:
'detail'
}
,
on
:
{
click
:
()
=>
this
.
detail
(
params
.
row
.
id
)
}
},
'复验'
)
])
}
}
]
}
},
mounted
()
{
{
key
:
"status"
,
title
:
"状态"
,
align
:
"center"
,
code
:
"material.main.status"
,
},
{
key
:
"version"
,
title
:
"版本"
,
align
:
"left"
,
code
:
"material.main.version"
,
},
{
key
:
"drawing"
,
title
:
"图号"
,
align
:
"left"
,
},
{
key
:
"creationTime"
,
title
:
"创建时间"
,
hide
:
true
,
align
:
"left"
,
type
:
"date"
,
},
{
key
:
"creatorUserId"
,
title
:
"创建人"
,
hide
:
true
,
align
:
"left"
,
type
:
"user"
,
},
{
title
:
"操作"
,
key
:
"id"
,
width
:
100
,
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
},
on
:
{
click
:
()
=>
this
.
detail
(
params
.
row
.
id
)
},
},
"复验"
),
]);
},
},
],
};
},
mounted
()
{},
methods
:
{
detail
(
id
)
{
this
.
detailModal
=
true
this
.
setNumForm
=
{
substrateCoding
:
''
,
id
:
id
,
imgName
:
''
}
// this.setNumForm.id = id;
this
.
detailModal
=
true
;
this
.
setNumForm
=
{
substrateCoding
:
""
,
id
:
id
,
imgName
:
""
,
};
// this.setNumForm.id = id;
},
suerUp
()
{
if
(
this
.
setNumForm
.
imgName
==
''
||
this
.
setNumForm
.
imgName
==
null
)
{
this
.
detailModal
=
true
;
this
.
redmsg
=
true
;
}
else
{
this
.
redmsg
=
false
;
let
url
=
`
${
resourceUrl
}
/materialpowder
/exam`
,
parmse
=
{
"id"
:
this
.
setNumForm
.
id
,
"certificateNumber"
:
this
.
setNumForm
.
substrateCoding
,
"certificateUploadPath"
:
this
.
setNumForm
.
imgName
,
};
service
.
post
(
`
${
url
}
`
,
parmse
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
'订单已复验。'
)
this
.
detailModal
=
false
;
this
.
$refs
.
grid
.
load
()
}
else
{
this
.
$Message
.
warning
(
'请重新复验!'
)
}
})
}
if
(
this
.
setNumForm
.
imgName
==
""
||
this
.
setNumForm
.
imgName
==
null
)
{
this
.
detailModal
=
true
;
this
.
redmsg
=
true
;
}
else
{
this
.
redmsg
=
false
;
let
url
=
`
${
material
}
/material
/exam`
,
parmse
=
{
id
:
this
.
setNumForm
.
id
,
certificateNumber
:
this
.
setNumForm
.
substrateCoding
,
certificateUploadPath
:
this
.
setNumForm
.
imgName
,
};
service
.
post
(
`
${
url
}
`
,
parmse
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"订单已复验。"
);
this
.
detailModal
=
false
;
this
.
$refs
.
grid
.
load
();
}
else
{
this
.
$Message
.
warning
(
"请重新复验!"
);
}
});
}
},
handleClose
()
{
this
.
detailModal
=
false
this
.
detailModal
=
false
;
},
// 列表title
l
(
key
)
{
let
vkey
=
'waitReview'
+
'.'
+
key
return
this
.
$t
(
vkey
)
||
key
}
}
}
let
vkey
=
"waitReview"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
}
,
}
,
}
;
</
script
>
<
style
lang=
"less"
>
</
style
>
\ No newline at end of file
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