Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
pda-ui
Project
Project
Details
Activity
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
pda
pda-ui
Commits
0bb148d7
Commit
0bb148d7
authored
Jan 23, 2024
by
李驰骋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
量产申请基础代码
parent
7285d0a6
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
886 additions
and
377 deletions
+886
-377
productionRequest.js
src/api/mes/pro/productionRequest.js
+53
-0
ProogingBom.vue
...views/mes/pro/productiorequest/components/ProogingBom.vue
+5
-4
requestApply.vue
src/views/mes/pro/productiorequest/requestApply.vue
+313
-297
requestInfoAdd.vue
src/views/mes/pro/productiorequest/requestInfoAdd.vue
+396
-0
requestInfoEdit.vue
src/views/mes/pro/productiorequest/requestInfoEdit.vue
+119
-76
No files found.
src/api/mes/pro/productionRequest.js
0 → 100644
View file @
0bb148d7
import
request
from
"@/utils/request"
;
// 查询打样申请列表
export
function
listProductionRequest
(
query
)
{
return
request
({
url
:
"/mes/pro/productionRequest/list"
,
method
:
"get"
,
params
:
query
,
});
}
// 查询打样申请详细
export
function
getProductionRequest
(
productionRequestId
)
{
return
request
({
url
:
"/mes/pro/productionRequest/"
+
productionRequestId
,
method
:
"get"
,
});
}
// 新增打样申请
export
function
addProductionRequest
(
data
)
{
return
request
({
url
:
"/mes/pro/productionRequest"
,
method
:
"post"
,
data
:
data
,
});
}
// 修改打样申请
export
function
updateProductionRequest
(
data
)
{
return
request
({
url
:
"/mes/pro/productionRequest"
,
method
:
"put"
,
data
:
data
,
});
}
// 删除打样申请
export
function
delProductionRequest
(
productionRequestId
)
{
return
request
({
url
:
"/mes/pro/productionRequest/"
+
productionRequestId
,
method
:
"delete"
,
});
}
// 修改状态
export
function
dofinish
(
data
)
{
return
request
({
url
:
"/mes/pro/productionRequest/modifyState/"
,
method
:
"put"
,
data
:
data
,
});
}
src/views/mes/pro/productiorequest/components/ProogingBom.vue
View file @
0bb148d7
...
...
@@ -289,14 +289,15 @@ export default {
},
/**表单提交 */
submitForm
()
{
let
thisObj
=
this
;
this
.
$refs
[
"form"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
optType
==
'add'
)
{
this
.
tableData
.
unshift
({
...
this
.
form
});
if
(
this
Obj
.
optType
==
'add'
)
{
this
Obj
.
tableData
.
unshift
({
...
thisObj
.
form
});
}
else
{
this
.
tableData
.
splice
(
this
.
currentRowIdx
,
1
,
this
.
form
)
this
Obj
.
tableData
.
splice
(
thisObj
.
currentRowIdx
,
1
,
thisObj
.
form
)
}
this
.
showFlag
=
false
;
this
Obj
.
showFlag
=
false
;
}
});
},
...
...
src/views/mes/pro/productiorequest/requestApply.vue
View file @
0bb148d7
...
...
@@ -8,17 +8,17 @@
v-show=
"showSearch"
label-width=
"100px"
>
<el-form-item
label=
"量产申请编码"
prop=
"productionRequestCod
e"
>
<el-form-item
label=
"产品名称"
prop=
"itemNam
e"
>
<el-input
v-model=
"queryParams.
productionRequestCod
e"
v-model=
"queryParams.
itemNam
e"
placeholder=
"请输入产品名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"
工艺路线ID"
prop=
"routeId
"
>
<el-form-item
label=
"
单据状态"
prop=
"productionRequestStatus
"
>
<el-select
v-model=
"queryParams.
routeId
"
v-model=
"queryParams.
productionRequestStatus
"
clearable
placeholder=
"请选择单据状态"
>
...
...
@@ -69,7 +69,7 @@
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['mes:pro:productio
r
equest:add']"
v-hasPermi=
"['mes:pro:productio
nR
equest:add']"
>
新增
</el-button
>
</el-col>
...
...
@@ -81,7 +81,7 @@
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['mes:pro:productio
r
equest:edit']"
v-hasPermi=
"['mes:pro:productio
nR
equest:edit']"
>
修改
</el-button
>
</el-col>
...
...
@@ -93,7 +93,7 @@
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['mes:pro:productio
r
equest:remove']"
v-hasPermi=
"['mes:pro:productio
nR
equest:remove']"
>
删除
</el-button
>
</el-col>
...
...
@@ -104,7 +104,7 @@
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['mes:pro:productio
r
equest:export']"
v-hasPermi=
"['mes:pro:productio
nR
equest:export']"
>
导出
</el-button
>
</el-col>
...
...
@@ -116,41 +116,47 @@
<el-table
v-loading=
"loading"
:data=
"pro
totype
RequestList"
:data=
"pro
duction
RequestList"
row-key=
"productionRequestId"
default-expand-all
>
<el-table-column
label=
"量产申请单编码"
width=
"180"
prop=
"productionRequesCode"
>
<el-table-column
label=
"量产申请单编码"
width=
"180"
prop=
"productionReques
t
Code"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleView(scope.row)"
v-hasPermi=
"['mes:pro:productio
r
equest:query']"
>
{{
scope
.
row
.
productionReques
Code
}}
</el-button
v-hasPermi=
"['mes:pro:productio
nR
equest:query']"
>
{{
scope
.
row
.
productionRequest
Code
}}
</el-button
>
</
template
>
</el-table-column>
<el-table-column
label=
"工艺路线
ID
"
label=
"工艺路线"
width=
"120"
align=
"center"
prop=
"route
Id
"
prop=
"route
Name
"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"产品ID"
align=
"center"
prop=
"itemId"
>
</el-table-column>
<el-table-column
label=
"制造工厂ID"
label=
"产品名称"
width=
"120"
align=
"center"
prop=
"itemName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"制造工厂"
width=
"200"
align=
"center"
prop=
"factoryId"
hidden=
"hidden"
prop=
"factoryName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"仓库"
align=
"center"
prop=
"ware
H
ouse"
prop=
"ware
h
ouse"
:show-overflow-tooltip=
"true"
/>
<el-table-column
...
...
@@ -162,53 +168,54 @@
label=
"是否要鞋图"
align=
"center"
prop=
"isNeedShoeImg"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_yes_no"
:value=
"scope.row.isNeedShoeImg"
:formatter=
"yesNoFmt"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"是否附样品"
align=
"center"
prop=
"isNeedPrototype"
><
template
slot-scope=
"scope"
>
:formatter=
"yesNoFmt"
/>
<el-table-column
label=
"唯一码产品"
align=
"center"
prop=
"isUniqueCode"
:formatter=
"yesNoFmt"
/>
<el-table-column
label=
"不考虑型体配色"
align=
"center"
prop=
"isConsiderColor"
:formatter=
"yesNoFmt"
/>
<el-table-column
label=
"是否禁用"
align=
"center"
prop=
"isDisabled"
:formatter=
"yesNoFmt"
/>
<!-- <template slot-scope="scope">
<dict-tag
:options="dict.type.sys_yes_no"
:value="scope.row.isNeedShoeImg"
/>
</template> -->
<!-- <dict-tag
:options="dict.type.sys_yes_no"
:value="scope.row.isNeedPrototype"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"唯一码产品"
align=
"center"
prop=
"isUniqueCode"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options="dict.type.sys_yes_no"
:value=
"scope.row.isUniqueCode
"
:value="scope.row.isConsiderColor
"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"不考虑型体配色"
align=
"center"
prop=
"isConsiderColor"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options="dict.type.sys_yes_no"
:value=
"scope.row.isConsiderColor
"
:value="scope.row.enableFlag
"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"是否禁用"
align=
"center"
prop=
"isDisabled"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options="dict.type.sys_yes_no"
:value=
"scope.row.isDisabled"
:value="scope.row.isDisabled" -->
/>
<el-table-column
label=
"申请单状态"
align=
"center"
prop=
"prototypeRequestStatus"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.mes_productionreq_status"
:value=
"scope.row.productionRequestStatus"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"200px"
...
...
@@ -220,18 +227,18 @@
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
v-if=
"scope.row.pro
totype
RequestStatus == '0'"
v-if=
"scope.row.pro
duction
RequestStatus == '0'"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['mes:pro:productio
r
equest:edit']"
v-hasPermi=
"['mes:pro:productio
nR
equest:edit']"
>
修改
</el-button
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-circle-check"
v-if=
"scope.row.pro
totype
RequestStatus == '0'"
v-if=
"scope.row.pro
duction
RequestStatus == '0'"
@
click=
"handleFinish(scope.row)"
v-hasPermi=
"['mes:pro:productio
r
equest:update']"
v-hasPermi=
"['mes:pro:productio
nR
equest:update']"
>
通过
</el-button
>
<el-button
...
...
@@ -239,16 +246,16 @@
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['mes:pro:productio
r
equest:remove']"
v-hasPermi=
"['mes:pro:productio
nR
equest:remove']"
>
删除
</el-button
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
v-if=
"scope.row.pro
totype
RequestStatus == '1'"
v-if=
"scope.row.pro
duction
RequestStatus == '1'"
@
click=
"generate(scope.row)"
v-hasPermi=
"['mes:pro:productio
r
equest:edit']"
v-hasPermi=
"['mes:pro:productio
nR
equest:edit']"
>
生成制作单
</el-button
>
</
template
>
...
...
@@ -265,28 +272,27 @@
</template>
<
script
>
import
{
listPrototype
Request
,
getPrototype
Request
,
delPrototype
Request
,
addPrototype
Request
,
updatePrototype
Request
,
import
{
listProduction
Request
,
getProduction
Request
,
delProduction
Request
,
addProduction
Request
,
updateProduction
Request
,
dofinish
,
}
from
"@/api/mes/pro/prototypeRequest"
;
}
from
"@/api/mes/pro/productionRequest"
;
import
ItemSelect
from
"@/components/itemSelect/single.vue"
;
import
ClientSelect
from
"@/components/clientSelect/single.vue"
;
import
VendorSelect
from
"@/components/vendorSelect/single.vue"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
ItemSelect
from
"@/components/itemSelect/single.vue"
;
import
ClientSelect
from
"@/components/clientSelect/single.vue"
;
import
VendorSelect
from
"@/components/vendorSelect/single.vue"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
export
default
{
name
:
"PrototypeRequest"
,
export
default
{
name
:
"ProductionRequest"
,
dicts
:
[
"sys_yes_no"
,
"mes_pr
_status"
,
"mes_prototype
Request_sourcetype"
,
"mes_prototype
Request_type"
,
"mes_productionreq
_status"
,
"mes_production
Request_sourcetype"
,
"mes_production
Request_type"
,
],
components
:
{
Treeselect
,
...
...
@@ -312,9 +318,9 @@ export default {
// 非多个禁用
multiple
:
true
,
// 生产工单表格数据
prototype
RequestList
:
[],
production
RequestList
:
[],
// 生产工单树选项
prototype
RequestOptions
:
[],
production
RequestOptions
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -323,13 +329,13 @@ export default {
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
productionRequestCode
:
null
,
routeId
:
null
,
itemName
:
null
,
// 可以查简称与英文名
productionRequestStatus
:
null
,
},
options
:
[
{
value
:
0
,
label
:
"审批中"
},
{
value
:
1
,
label
:
"待制作"
},
{
value
:
2
,
label
:
"打样
中"
},
{
value
:
2
,
label
:
"量产
中"
},
{
value
:
3
,
label
:
"待质检"
},
{
value
:
4
,
label
:
"待确认"
},
{
value
:
5
,
label
:
"已完成"
},
...
...
@@ -339,7 +345,7 @@ export default {
form
:
{},
// 表单校验
rules
:
{
// prototype
RequestCode: [
// production
RequestCode: [
// { required: true, message: "工单编码不能为空", trigger: "blur" }
// ],
},
...
...
@@ -352,8 +358,8 @@ export default {
/** 查询生产工单列表 */
getList
()
{
this
.
loading
=
true
;
listPrototype
Request
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
prototype
RequestList
=
response
.
rows
;
listProduction
Request
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
production
RequestList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
...
...
@@ -368,18 +374,21 @@ export default {
this
.
form
=
{
productionRequestId
:
null
,
productionRequestCode
:
null
,
itemId
:
null
,
itemName
:
null
,
routeId
:
null
,
productId
:
null
,
factoryId
:
null
,
warehouse
:
null
,
sizeGroup
:
null
,
isNeedShoeImg
:
null
,
isNeedPrototype
:
null
,
isUniqueCode
:
null
,
isConsiderColor
:
null
,
isDisabled
:
null
,
shoeImg
:
null
,
prototype
:
null
,
routeName
:
null
,
abbreviation
:
null
,
enName
:
null
,
num
:
null
,
type
:
null
,
modality
:
null
,
surfaceTreatment
:
null
,
ngReason
:
null
,
plannedFinishDate
:
null
,
plannedLayoutDate
:
null
,
productionRequestStatus
:
"0"
,
testStandard
:
null
,
remark
:
null
,
createBy
:
null
,
createTime
:
null
,
...
...
@@ -405,8 +414,8 @@ export default {
return
;
// this.reset();
// this.getTreeselect();
// if (row != null && row.prototype
RequestId) {
// this.form.parentId = row.prototype
RequestId;
// if (row != null && row.production
RequestId) {
// this.form.parentId = row.production
RequestId;
// this.form.orderSource = row.orderSource;
// this.form.sourceCode = row.sourceCode;
// this.form.clientId = row.clientId;
...
...
@@ -422,9 +431,9 @@ export default {
this
.
reset
();
const
productionRequestId
=
row
.
productionRequestId
||
this
.
ids
;
this
.
$router
.
push
(
"/mes/proofing/info?prototypeRequestId="
+
prototype
RequestId
"/mes/proofing/info?productionRequestId="
+
production
RequestId
);
// getprototypeRequest(prototype
RequestId).then((response) => {
// getproductionRequest(production
RequestId).then((response) => {
// this.form = response.data;
// this.open = true;
// this.title = "查看工单信息";
...
...
@@ -436,9 +445,9 @@ export default {
this
.
reset
();
const
productionRequestId
=
row
.
productionRequestId
||
this
.
ids
;
this
.
$router
.
push
(
"/mes/proofing
/edit?productionRequestId="
+
productionRequestId
"/mes/pro/productiorequest
/edit?productionRequestId="
+
productionRequestId
);
// getPrototypeRequest(prototype
RequestId).then((response) => {
// getProductionRequest(production
RequestId).then((response) => {
// // this.form = response.data;
// // this.open = true;
// // this.title = "修改生产工单";
...
...
@@ -449,9 +458,9 @@ export default {
/** 删除按钮操作 */
handleDelete
(
row
)
{
this
.
$modal
.
confirm
(
'是否确认删除编号为"'
+
row
.
productionRequestId
+
'"的打样
单?'
)
.
confirm
(
'是否确认删除编号为"'
+
row
.
productionRequestId
+
'"的量产
单?'
)
.
then
(
function
()
{
return
delPrototype
Request
(
row
.
productionRequestId
);
return
delProduction
Request
(
row
.
productionRequestId
);
})
.
then
(()
=>
{
this
.
getList
();
...
...
@@ -469,17 +478,17 @@ export default {
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
"mes/pro/prototype
Request/export"
,
"mes/pro/production
Request/export"
,
{
...
this
.
queryParams
,
},
`打样
申请单_
${
new
Date
().
getTime
()}
.xlsx`
`量产
申请单_
${
new
Date
().
getTime
()}
.xlsx`
);
},
// 审批
handleFinish
(
row
)
{
row
.
prototype
RequestStatus
=
1
row
.
production
RequestStatus
=
1
this
.
$modal
.
confirm
(
"确认通过样品申请单?一旦完成,此工单将无法继续修改"
)
.
then
(
function
()
{
...
...
@@ -491,6 +500,13 @@ export default {
})
.
catch
(()
=>
{});
},
yesNoFmt
(
row
,
column
,
cellValue
){
if
(
cellValue
==
1
){
return
'是'
;
}
else
{
return
'否'
;
}
},
},
// 生成制作单
generate
(
row
)
{
...
...
@@ -498,5 +514,5 @@ export default {
this
.
$router
.
push
(
"/mes/proofing/apply"
);
return
;
},
};
};
</
script
>
src/views/mes/pro/productiorequest/requestInfoAdd.vue
0 → 100644
View file @
0bb148d7
<
template
>
<div
class=
"form-page"
v-loading=
"loading"
>
<PageTitle>
{{
pageTitle
}}
<!-- 申请按钮显示 -->
<template
slot=
"buttons"
v-if=
"mode == 'apply'"
>
<el-button
size=
"mini"
@
click=
"resetForm"
>
重置
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"saveForm"
>
提交
</el-button>
</
template
>
<!-- 修改 按钮显示 -->
<
template
slot=
"buttons"
v-if=
"mode == 'edit'"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"saveForm"
>
提交
</el-button>
</
template
>
</PageTitle>
<PageWrapper>
<el-form
:model=
"form"
ref=
"form"
size=
"small"
:inline=
"true"
label-width=
"8em"
>
<el-row>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"申请单编码"
prop=
"productionRequestCode"
>
<el-input
disabled
v-model=
"form.productionRequestCode"
placeholder=
"自动生成"
></el-input>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
style=
"height: 50.5px"
>
<el-form-item
label=
"产品"
prop=
"itemId"
>
<el-input
v-model=
"form.itemName"
readonly
placeholder=
"请选择产品"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"$refs['ItemSelectRef'].showFlag = true"
></el-button>
</el-input>
<ItemSelect
ref=
"ItemSelectRef"
@
onSelected=
"onItemSelect"
/>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
style=
"height: 50.5px"
>
<el-form-item
label=
"工艺路线"
prop=
"routeId"
>
<el-input
v-model=
"form.routeName"
readonly
placeholder=
"请选择工艺路线"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"$refs['RoutesProcessSelectRef'].showFlag = true"
></el-button>
</el-input>
<RoutesProcessSelect
ref=
"RoutesProcessSelectRef"
@
onSelected=
"onRoutesProcessSelect"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"制造工厂"
prop=
"factoryId"
>
<el-input
v-model=
"form.factoryName"
readonly
placeholder=
"请输入制造工厂"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"$refs['FactorySelectRef'].showFlag = true"
></el-button>
</el-input>
<FactorySelect
ref=
"FactorySelectRef"
@
onSelected=
"onFactorySelect"
/>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"仓库"
prop=
"warehouse"
>
<el-input
v-model=
"form.warehouse"
placeholder=
"请输入仓库"
></el-input>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"尺码"
prop=
"sizeGroup"
>
<el-input
v-model=
"form.sizeGroup"
placeholder=
"请输入尺码"
></el-input>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"是否要鞋图"
prop=
"isNeedShoeImg"
>
<el-select
v-model=
"form.isNeedShoeImg"
placeholder=
"请选择"
>
<el-option
label=
"是"
value=
"1"
></el-option>
<el-option
label=
"否"
value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"是否附样品"
prop=
"isNeedPrototype"
>
<el-select
v-model=
"form.isNeedPrototype"
placeholder=
"请选择"
>
<el-option
label=
"是"
value=
"1"
></el-option>
<el-option
label=
"否"
value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"唯一码产品"
prop=
"isUniqueCode"
>
<el-select
v-model=
"form.isUniqueCode"
placeholder=
"请选择"
>
<el-option
label=
"是"
value=
"1"
></el-option>
<el-option
label=
"否"
value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"不考虑型体配色"
prop=
"isConsiderColor"
>
<el-select
v-model=
"form.isConsiderColor"
placeholder=
"请选择"
>
<el-option
label=
"是"
value=
"1"
></el-option>
<el-option
label=
"否"
value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"鞋图"
prop=
"shoeImg"
>
<el-input
v-model=
"form.shoeImg"
placeholder=
"请选鞋图"
></el-input>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"样品"
prop=
"prototype"
>
<el-input
v-model=
"form.prototype"
placeholder=
"请选择样品"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"form.remark"
placeholder=
"备注"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-tabs
type=
"border-card"
@
tab-click=
"tabClick"
>
<el-tab-pane
label=
"BOM"
>
<ProogingBom
ref=
"ProogingBomRef"
/>
</el-tab-pane>
<el-tab-pane
label=
"工艺"
>
<ProogingProcess
ref=
"ProogingProcessRef"
:bomList=
"bomList"
/>
</el-tab-pane>
</el-tabs>
</PageWrapper>
</div>
</template>
<
script
>
import
{
genCode
}
from
"@/api/system/autocode/rule"
;
import
ProogingBom
from
"./components/ProogingBom.vue"
;
import
ProogingProcess
from
"./components/ProogingProcess.vue"
;
import
ItemSelect
from
"@/components/itemSelect/single.vue"
;
import
RoutesProcessSelect
from
"@/components/routesProcessSelect/index.vue"
;
import
FactorySelect
from
"@/components/FactorySelect/index.vue"
;
import
{
listRouteprocess
}
from
"@/api/mes/pro/routeprocess"
;
import
tabPlugins
from
"@/plugins/tab"
;
import
{
addProductionRequest
,
getProductionRequest
,
updateProductionRequest
,
}
from
"@/api/mes/pro/productionRequest"
;
import
{
getPrototypeMake
}
from
"@/api/mes/pro/prototypeMake"
;
export
default
{
components
:
{
ProogingBom
,
ProogingProcess
,
ItemSelect
,
RoutesProcessSelect
,
FactorySelect
},
dicts
:
[],
provide
()
{
return
{
mode
:
this
.
mode
,
};
},
data
()
{
return
{
loading
:
false
,
bomList
:
[],
// 表单参数
form
:
{
productionRequestCode
:
""
,
itemId
:
""
,
itemName
:
""
,
unit
:
""
,
routeId
:
""
,
routeName
:
""
,
factoryId
:
""
,
factoryName
:
""
,
type
:
""
,
modality
:
""
,
isNeedPrototype
:
""
,
isNeedShoeImg
:
""
,
isUniqueCode
:
""
,
isDisabled
:
""
,
shoeImg
:
""
,
sizeGroup
:
""
,
remark
:
""
,
prototype
:
""
,
warehouse
:
""
,
},
rules
:
{},
};
},
computed
:
{
scrollHeight
()
{
return
"calc(100vh - 73px - 83px)"
;
},
mode
()
{
return
this
.
$route
.
path
.
split
(
"/"
).
at
(
-
1
);
},
pageTitle
()
{
const
titles
=
{
edit
:
"量产单修改"
,
info
:
"量产单查看"
,
apply
:
"量产单申请"
,
};
return
titles
[
this
.
mode
];
},
},
created
()
{
this
.
getFormInfo
();
this
.
gCode
();
},
methods
:
{
/** 根据 id 获取页面数据 */
getFormInfo
()
{
if
(
this
.
mode
==
"apply"
&&
this
.
$route
.
query
.
prototypeMakeId
)
{
const
id
=
this
.
$route
.
query
.
prototypeMakeId
;
this
.
loading
=
true
;
getPrototypeMake
(
id
)
.
then
(({
data
})
=>
{
Object
.
assign
(
this
.
form
,
data
);
this
.
bomList
=
data
.
bomList
;
// 设置组件数据
this
.
$refs
[
"ProogingBomRef"
].
tableData
=
data
.
bomList
;
this
.
$refs
[
"ProogingProcessRef"
].
tableData
=
data
.
processList
;
})
.
finally
(()
=>
{
this
.
loading
=
false
;
});
}
},
/** 生成编码 */
gCode
()
{
genCode
(
"PRODUCTION_REQUEST_CODE"
).
then
((
response
)
=>
{
this
.
form
.
productionRequestCode
=
response
;
});
},
/** 点击tab 获取bom的数据,将参数传递给后面的组件 */
tabClick
(
val
)
{
if
(
val
.
index
!=
0
)
{
this
.
bomList
=
this
.
$refs
[
"ProogingBomRef"
].
getComData
();
}
},
onItemSelect
(
row
)
{
if
(
row
!=
undefined
&&
row
!=
null
)
{
this
.
form
.
itemId
=
row
.
itemId
;
this
.
form
.
itemName
=
row
.
itemName
;
this
.
form
.
unit
=
row
.
unitOfMeasure
;
}
},
onRoutesProcessSelect
(
row
)
{
if
(
row
!=
undefined
&&
row
!=
null
)
{
this
.
form
.
routeId
=
row
.
routeId
;
this
.
form
.
routeName
=
row
.
routeName
;
const
params
=
{
pageNum
:
1
,
pageSize
:
1000
,
routeId
:
row
.
routeId
,
};
listRouteprocess
(
params
).
then
(({
rows
})
=>
{
this
.
$refs
[
"ProogingProcessRef"
].
setList
(
rows
);
});
}
},
onFactorySelect
(
row
)
{
if
(
row
!=
undefined
&&
row
!=
null
)
{
this
.
form
.
factoryId
=
row
.
factoryId
;
this
.
form
.
factoryName
=
row
.
factoryName
;
}
},
/**提交 */
saveForm
()
{
const
bomList
=
this
.
$refs
.
ProogingBomRef
.
getComData
();
const
processList
=
this
.
$refs
.
ProogingProcessRef
.
getComData
();
const
params
=
{
...
this
.
form
,
bomList
,
processList
,
};
this
.
loading
=
true
;
if
(
this
.
mode
==
"apply"
)
{
addProductionRequest
(
params
)
.
then
((
res
)
=>
{
this
.
loading
=
false
;
this
.
$modal
.
msgSuccess
(
"提交成功!"
);
// 关闭页签
tabPlugins
.
closeOpenPage
();
})
.
catch
(()
=>
{
this
.
loading
=
false
;
});
}
else
{
updateProductionRequest
(
params
)
.
then
(()
=>
{
this
.
loading
=
false
;
this
.
$modal
.
msgSuccess
(
"提交成功!"
);
})
.
catch
(()
=>
{
this
.
loading
=
false
;
});
}
},
/**重置表单 */
resetForm
()
{
this
.
form
=
{
productionRequestCode
:
""
,
itemId
:
""
,
itemName
:
""
,
unit
:
""
,
routeId
:
""
,
routeName
:
""
,
factoryId
:
""
,
factoryName
:
""
,
type
:
""
,
modality
:
""
,
isNeedPrototype
:
""
,
isNeedShoeImg
:
""
,
isUniqueCode
:
""
,
isDisabled
:
""
,
shoeImg
:
""
,
sizeGroup
:
""
,
remark
:
""
,
prototype
:
""
,
warehouse
:
""
,
};
this
.
$refs
[
"ProogingBomRef"
].
resetState
();
this
.
$refs
[
"ProogingProcessRef"
].
resetState
();
this
.
gCode
();
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/views/mes/pro/productiorequest/requestInfo.vue
→
src/views/mes/pro/productiorequest/requestInfo
Edit
.vue
View file @
0bb148d7
...
...
@@ -24,7 +24,7 @@
>
<el-row>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"
量产
申请单编码"
prop=
"productionRequestCode"
>
<el-form-item
label=
"申请单编码"
prop=
"productionRequestCode"
>
<el-input
disabled
v-model=
"form.productionRequestCode"
...
...
@@ -70,88 +70,112 @@
</el-col>
</el-row>
<el-row>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"
简称"
prop=
"abbreviation
"
>
<el-col
:md=
"8"
:xs=
"12"
style=
"height: 50.5px"
>
<el-form-item
label=
"
制造工厂"
prop=
"factoryId
"
>
<el-input
v-model=
"form.abbreviation"
placeholder=
"请输入简称"
></el-input>
v-model=
"form.factoryName"
readonly
placeholder=
"请选择工厂"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"$refs['FactorySelectRef'].showFlag = true"
></el-button>
</el-input>
<FactorySelect
ref=
"FactorySelectRef"
@
onSelected=
"onFactorySelect"
/>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"
样品英文名"
prop=
"enNam
e"
>
<el-form-item
label=
"
仓库"
prop=
"warehous
e"
>
<el-input
v-model=
"form.
enNam
e"
placeholder=
"请输入
样品英文名称
"
v-model=
"form.
warehous
e"
placeholder=
"请输入
仓库
"
></el-input>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"样品数量"
prop=
"num"
>
<el-input
v-model=
"form.num"
placeholder=
"请输入样品数量"
>
<
template
slot=
"suffix"
>
{{
form
.
unit
}}
</
template
>
</el-input>
<el-form-item
label=
"尺码"
prop=
"sizeGroup"
>
<el-input
v-model=
"form.sizeGroup"
placeholder=
"请输入尺码"
></el-input>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"打样形式"
prop=
"type"
>
<el-input
v-model=
"form.type"
placeholder=
"请选择打样形式"
></el-input>
<el-form-item
label=
"是否要鞋图"
prop=
"isNeedShoeImg"
>
<el-select
v-model=
"form.isNeedShoeImg"
placeholder=
"请选择"
>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"否"
:value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"分配方式"
prop=
"modality"
>
<el-input
v-model=
"form.modality"
placeholder=
"请选择分配方式"
></el-input>
<el-form-item
label=
"是否附样品"
prop=
"isNeedPrototype"
>
<el-select
v-model=
"form.isNeedPrototype"
placeholder=
"请选择"
>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"否"
:value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"表面处理"
prop=
"surfaceTreatment"
>
<el-input
v-model=
"form.surfaceTreatment"
placeholder=
"请输入表面处理"
></el-input>
<el-form-item
label=
"唯一码产品"
prop=
"isUniqueCode"
>
<el-select
v-model=
"form.isUniqueCode"
placeholder=
"请选择"
>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"否"
:value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"NG原因"
prop=
"ngReason"
>
<el-input
v-model=
"form.ngReason"
placeholder=
"请输入NG原因"
></el-input>
<el-form-item
label=
"不考虑型体配色"
prop=
"isConsiderColor"
>
<el-select
v-model=
"form.isConsiderColor"
placeholder=
"请选择"
>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"否"
:value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"计划完成日期"
prop=
"plannedFinishDate"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"form.plannedFinishDate"
placeholder=
"请输入计划完成日期"
></el-date-picker>
<el-form-item
label=
"是否禁用"
prop=
"isDisabled"
>
<el-select
v-model=
"form.isDisabled"
placeholder=
"请选择"
>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"否"
:value=
"0"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"版面需求时间"
prop=
"plannedLayoutDate"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"form.plannedLayoutDate"
placeholder=
"请输入版面需求时间"
></el-date-picker>
<el-form-item
label=
"鞋图"
prop=
"shoeImg"
>
<el-input
v-model=
"form.shoeImg"
placeholder=
"请选鞋图"
></el-input>
</el-form-item>
</el-col>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"
测试标准"
prop=
"testStandard
"
>
<el-form-item
label=
"
样品"
prop=
"prototype
"
>
<el-input
v-model=
"form.
testStandard
"
placeholder=
"
测试标准
"
v-model=
"form.
prototype
"
placeholder=
"
请选择样品
"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:md=
"8"
:xs=
"12"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
...
...
@@ -183,17 +207,18 @@ import { genCode } from "@/api/system/autocode/rule";
import
ProogingBom
from
"./components/ProogingBom.vue"
;
import
ProogingProcess
from
"./components/ProogingProcess.vue"
;
import
ItemSelect
from
"@/components/itemSelect/single.vue"
;
import
FactorySelect
from
"@/components/FactorySelect/index.vue"
;
import
RoutesProcessSelect
from
"@/components/routesProcessSelect/index.vue"
;
import
{
listRouteprocess
}
from
"@/api/mes/pro/routeprocess"
;
import
tabPlugins
from
"@/plugins/tab"
;
import
{
addPro
totype
Request
,
getPro
totype
Request
,
updatePro
totype
Request
,
}
from
"@/api/mes/pro/pro
totype
Request"
;
addPro
duction
Request
,
getPro
duction
Request
,
updatePro
duction
Request
,
}
from
"@/api/mes/pro/pro
duction
Request"
;
export
default
{
components
:
{
ProogingBom
,
ProogingProcess
,
ItemSelect
,
RoutesProcessSelect
},
components
:
{
ProogingBom
,
ProogingProcess
,
ItemSelect
,
RoutesProcessSelect
,
FactorySelect
},
dicts
:
[],
provide
()
{
return
{
...
...
@@ -207,17 +232,24 @@ export default {
// 表单参数
form
:
{
productionRequestCode
:
""
,
routeId
:
""
,
itemId
:
""
,
factoryId
:
""
,
isNeedShoeImg
:
""
,
itemName
:
""
,
unit
:
""
,
routeId
:
""
,
routeName
:
""
,
factoryId
:
""
,
factoryName
:
""
,
type
:
""
,
modality
:
""
,
isNeedPrototype
:
""
,
isNeedShoeImg
:
""
,
isUniqueCode
:
""
,
isConsiderColor
:
""
,
isDisabled
:
""
,
isDisabled
:
""
,
shoeImg
:
""
,
prototype
:
""
,
sizeGroup
:
""
,
remark
:
""
,
prototype
:
""
,
warehouse
:
""
,
},
rules
:
{},
};
...
...
@@ -231,24 +263,23 @@ export default {
},
pageTitle
()
{
const
titles
=
{
edit
:
"
打样
单修改"
,
info
:
"
打样
单查看"
,
apply
:
"
打样
单申请"
,
edit
:
"
量产
单修改"
,
info
:
"
量产
单查看"
,
apply
:
"
量产
单申请"
,
};
return
titles
[
this
.
mode
];
},
},
created
()
{
this
.
getFormInfo
();
this
.
gCode
();
},
methods
:
{
/** 根据 id 获取页面数据 */
getFormInfo
()
{
if
(
this
.
mode
!=
"apply"
)
{
const
id
=
this
.
$route
.
query
.
pro
totype
RequestId
;
const
id
=
this
.
$route
.
query
.
pro
duction
RequestId
;
this
.
loading
=
true
;
getPro
totype
Request
(
id
)
getPro
duction
Request
(
id
)
.
then
(({
data
})
=>
{
Object
.
assign
(
this
.
form
,
data
);
this
.
bomList
=
data
.
bomList
;
...
...
@@ -264,7 +295,7 @@ export default {
/** 生成编码 */
gCode
()
{
genCode
(
"PROTOTYPE_REQUEST_CODE"
).
then
((
response
)
=>
{
this
.
form
.
pro
totype
RequestCode
=
response
;
this
.
form
.
pro
duction
RequestCode
=
response
;
});
},
/** 点击tab 获取bom的数据,将参数传递给后面的组件 */
...
...
@@ -280,6 +311,12 @@ export default {
this
.
form
.
unit
=
row
.
unitOfMeasure
;
}
},
onFactorySelect
(
row
)
{
if
(
row
!=
undefined
&&
row
!=
null
)
{
this
.
form
.
factoryId
=
row
.
factoryId
;
this
.
form
.
factoryName
=
row
.
factoryName
;
}
},
onRoutesProcessSelect
(
row
)
{
if
(
row
!=
undefined
&&
row
!=
null
)
{
this
.
form
.
routeId
=
row
.
routeId
;
...
...
@@ -306,7 +343,7 @@ export default {
};
this
.
loading
=
true
;
if
(
this
.
mode
==
"apply"
)
{
addPro
totype
Request
(
params
)
addPro
duction
Request
(
params
)
.
then
((
res
)
=>
{
this
.
loading
=
false
;
this
.
$modal
.
msgSuccess
(
"提交成功!"
);
...
...
@@ -318,7 +355,7 @@ export default {
this
.
loading
=
false
;
});
}
else
{
updatePro
totype
Request
(
params
)
updatePro
duction
Request
(
params
)
.
then
(()
=>
{
this
.
loading
=
false
;
this
.
$modal
.
msgSuccess
(
"提交成功!"
);
...
...
@@ -331,22 +368,28 @@ export default {
/**重置表单 */
resetForm
()
{
this
.
form
=
{
prototypeRequestCode
:
""
,
routeId
:
""
,
productionRequestCode
:
""
,
itemId
:
""
,
factoryId
:
""
,
isNeedShoeImg
:
""
,
itemName
:
""
,
unit
:
""
,
routeId
:
""
,
routeName
:
""
,
factoryId
:
""
,
factoryName
:
""
,
type
:
""
,
modality
:
""
,
isNeedPrototype
:
""
,
isNeedShoeImg
:
""
,
isUniqueCode
:
""
,
isConsiderColor
:
""
,
isDisabled
:
""
,
isDisabled
:
""
,
shoeImg
:
""
,
prototype
:
""
,
sizeGroup
:
""
,
remark
:
""
,
prototype
:
""
,
warehouse
:
""
,
};
this
.
$refs
[
"ProogingBomRef"
].
resetState
();
this
.
$refs
[
"ProogingProcessRef"
].
resetState
();
this
.
gCode
();
},
},
};
...
...
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