Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes-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
mes
mes-ui
Commits
41569322
Commit
41569322
authored
Jul 08, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
选择工单
parent
d4cb888d
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
284 additions
and
17 deletions
+284
-17
protask.js
src/api/mes/pro/protask.js
+8
-0
index.vue
src/views/mes/pro/scheduleList/index.vue
+47
-17
workorderSelect.vue
src/views/mes/pro/scheduleList/workorderSelect.vue
+212
-0
WorkOrderSale.vue
src/views/mes/pro/workorder/components/WorkOrderSale.vue
+6
-0
WorkOrderSize.vue
src/views/mes/pro/workorder/components/WorkOrderSize.vue
+1
-0
proofingInfo.vue
src/views/mes/pro/workorder/proofingInfo.vue
+10
-0
No files found.
src/api/mes/pro/protask.js
View file @
41569322
...
@@ -72,6 +72,14 @@ export function unschedule(arrangeCode) {
...
@@ -72,6 +72,14 @@ export function unschedule(arrangeCode) {
});
});
}
}
// 选择工单
export
function
getWorkOrderListByTaskWorkunitId
(
taskWorkunitId
)
{
return
request
({
url
:
"/mes/pro/taskWorkunit/getWorkOrderListByTaskWorkunitId/"
+
taskWorkunitId
,
method
:
"get"
,
});
}
// 新增生产任务
// 新增生产任务
export
function
addProtask
(
data
)
{
export
function
addProtask
(
data
)
{
return
request
({
return
request
({
...
...
src/views/mes/pro/scheduleList/index.vue
View file @
41569322
...
@@ -527,21 +527,33 @@
...
@@ -527,21 +527,33 @@
>
>
<el-form
:model=
"Assignform"
ref=
"Assignform"
size=
"small"
:inline=
"true"
>
<el-form
:model=
"Assignform"
ref=
"Assignform"
size=
"small"
:inline=
"true"
>
<el-row>
<el-row>
<el-col
:span=
"24"
style=
"color: red;"
>
<el-row>
<el-form-item
label=
"可用刀模"
prop=
"quantity"
style=
"color: red;"
>
<el-col
:span=
"12"
>
{{availableToolCount ? availableToolCount+'套' : '无需刀模'}}
<el-row>
</el-form-item>
<el-col
:span=
"24"
style=
"color: red;"
>
</el-col>
<el-form-item
label=
"可用刀模"
prop=
"quantity"
style=
"color: red;"
>
<el-col
:span=
"24"
>
{{availableToolCount ? availableToolCount+'套' : '无需刀模'}}
<el-form-item
label=
"排产数量"
prop=
"quantity"
>
</el-form-item>
<el-input-number
</el-col>
:step=
"1"
<el-col
:span=
"24"
>
:min=
"0"
<el-form-item
label=
"排产数量"
prop=
"quantity"
>
v-model=
"Assignform.quantity"
<el-input-number
placeholder=
"请输入排产数量"
:step=
"1"
/>
:min=
"0"
</el-form-item>
v-model=
"Assignform.quantity"
</el-col>
placeholder=
"请输入排产数量"
/>
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col
:span=
"12"
>
<div
style=
"font-weight: bold;"
>
分派工单
</div>
<el-input
v-model=
"Assignform.splitWorkorder"
placeholder=
"工单号"
disabled
>
<el-button
slot=
"append"
@
click=
"selectWorkorder"
>
选择工单
</el-button>
</el-input>
</el-col>
</el-row>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"工作单元"
prop=
"workunitCode"
>
<el-form-item
label=
"工作单元"
prop=
"workunitCode"
>
<el-input
v-model=
"Assignform.workunitName"
placeholder=
"工作单元"
>
<el-input
v-model=
"Assignform.workunitName"
placeholder=
"工作单元"
>
...
@@ -654,6 +666,9 @@
...
@@ -654,6 +666,9 @@
:workstationId=
"currentData.workstationId"
:workstationId=
"currentData.workstationId"
@
onSelected=
"onWorkunitSelect"
@
onSelected=
"onWorkunitSelect"
/>
/>
<workorderSelect
ref=
"workorderSelect"
:workorder=
"selectedRows.length > 0 && selectedRows[0]"
@
onSelected=
"onWorkorderSelect"
/>
</div>
</div>
</template>
</template>
...
@@ -671,7 +686,7 @@ import {
...
@@ -671,7 +686,7 @@ import {
postAssistMark
,
postAssistMark
,
getavailableToolCount
,
getavailableToolCount
,
getdefaultWorkCenterList
}
from
'@/api/mes/pro/scheduleList'
getdefaultWorkCenterList
}
from
'@/api/mes/pro/scheduleList'
import
{
putProtaskSplit
,
splitWorkstation
,
deleteTask
,
unschedule
,
updateProTaskWorkunitApi
}
from
'@/api/mes/pro/protask'
import
{
putProtaskSplit
,
splitWorkstation
,
deleteTask
,
unschedule
,
updateProTaskWorkunitApi
,
getWorkOrderListByTaskWorkunitId
}
from
'@/api/mes/pro/protask'
import
BrandSelect
from
"@/components/TmTool/index.vue"
;
import
BrandSelect
from
"@/components/TmTool/index.vue"
;
import
shiftSelectMixin
from
'@/utils/shiftSelectMixin'
import
shiftSelectMixin
from
'@/utils/shiftSelectMixin'
import
OrderList
from
'./orderList.vue'
import
OrderList
from
'./orderList.vue'
...
@@ -680,11 +695,12 @@ import splitProcess from './splitProcess.vue'
...
@@ -680,11 +695,12 @@ import splitProcess from './splitProcess.vue'
import
arrangCodeList
from
'./arrangCodeList.vue'
import
arrangCodeList
from
'./arrangCodeList.vue'
import
taskList
from
'./taskList.vue'
import
taskList
from
'./taskList.vue'
import
WorkuintSelect
from
"./workunitSelectSche.vue"
;
import
WorkuintSelect
from
"./workunitSelectSche.vue"
;
import
workorderSelect
from
"./workorderSelect.vue"
;
import
dayjs
from
'dayjs'
import
dayjs
from
'dayjs'
import
ProcessSelect
from
"@/components/process/taskSelectSingle.vue"
;
import
ProcessSelect
from
"@/components/process/taskSelectSingle.vue"
;
export
default
{
export
default
{
components
:
{
BrandSelect
,
ProcessSelect
,
OrderList
,
arrangCodeList
,
WorkuintSelect
,
jobAssign
,
taskList
,
splitProcess
},
components
:
{
BrandSelect
,
workorderSelect
,
ProcessSelect
,
OrderList
,
arrangCodeList
,
WorkuintSelect
,
jobAssign
,
taskList
,
splitProcess
},
dicts
:
[
'TASK_STATUS'
,
'mes_workorder_type'
],
dicts
:
[
'TASK_STATUS'
,
'mes_workorder_type'
],
name
:
"scheduleList"
,
name
:
"scheduleList"
,
mixins
:
[
shiftSelectMixin
],
mixins
:
[
shiftSelectMixin
],
...
@@ -773,6 +789,18 @@ export default {
...
@@ -773,6 +789,18 @@ export default {
this
.
hanldeGetdefaultWorkCenterList
()
this
.
hanldeGetdefaultWorkCenterList
()
},
},
methods
:
{
methods
:
{
selectWorkorder
()
{
getWorkOrderListByTaskWorkunitId
(
this
.
selectedRows
[
0
].
taskWorkunitId
).
then
(
response
=>
{
if
(
response
.
code
===
200
)
{
this
.
$refs
.
workorderSelect
.
showFlag
=
true
}
});
},
onWorkorderSelect
(
rows
){
if
(
rows
&&
rows
.
length
>
0
)
{
this
.
Assignform
.
splitWorkorder
=
rows
.
map
(
v
=>
v
.
workorderCode
).
join
(
','
)
}
},
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
taskId
);
this
.
ids
=
selection
.
map
(
item
=>
item
.
taskId
);
this
.
selectedRows
=
selection
;
this
.
selectedRows
=
selection
;
...
@@ -818,6 +846,7 @@ export default {
...
@@ -818,6 +846,7 @@ export default {
if
(
!
this
.
AssignList
||
this
.
AssignList
.
length
===
0
)
return
this
.
$modal
.
msgError
(
"请先点击检查按钮,检查数据"
)
if
(
!
this
.
AssignList
||
this
.
AssignList
.
length
===
0
)
return
this
.
$modal
.
msgError
(
"请先点击检查按钮,检查数据"
)
let
datas
=
Object
.
assign
({},
this
.
selectedRows
[
0
]);
let
datas
=
Object
.
assign
({},
this
.
selectedRows
[
0
]);
datas
.
taskWorkunit
=
this
.
AssignList
[
0
];
datas
.
taskWorkunit
=
this
.
AssignList
[
0
];
datas
[
'splitWorkorder'
]
=
this
.
Assignform
.
splitWorkorder
delete
datas
.
proWorkorderList
;
delete
datas
.
proWorkorderList
;
delete
datas
.
taskWorkunit
.
workstationName
;
delete
datas
.
taskWorkunit
.
workstationName
;
delete
datas
.
taskWorkunit
.
processName
;
delete
datas
.
taskWorkunit
.
processName
;
...
@@ -924,6 +953,7 @@ export default {
...
@@ -924,6 +953,7 @@ export default {
this
.
Assignform
=
{
this
.
Assignform
=
{
quantity
:
0
,
quantity
:
0
,
workunitName
:
null
,
workunitName
:
null
,
splitWorkorder
:
null
,
workunitId
:
null
workunitId
:
null
};
};
getavailableToolCount
(
this
.
selectedRows
[
0
].
taskWorkunitId
).
then
(
res
=>
{
getavailableToolCount
(
this
.
selectedRows
[
0
].
taskWorkunitId
).
then
(
res
=>
{
...
...
src/views/mes/pro/scheduleList/workorderSelect.vue
0 → 100644
View file @
41569322
<
template
>
<el-dialog
title=
"工单选择"
v-if=
"showFlag"
:visible
.
sync=
"showFlag"
:modal=
false
width=
"80%"
center
>
<!--
<el-form
:model=
"queryParams"
@
submit
.
native
.
prevent
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form-item
label=
"工单编码"
prop=
"workorderCode"
>
<el-input
v-model=
"queryParams.workorderCode"
placeholder=
"请输入工单编码"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"工单名称"
prop=
"workorderName"
>
<el-input
v-model=
"queryParams.workorderName"
placeholder=
"请输入工单名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"产品编号"
prop=
"productCode"
>
<el-input
v-model=
"queryParams.productCode"
placeholder=
"请输入产品编号"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"产品名称"
prop=
"productName"
>
<el-input
v-model=
"queryParams.productName"
placeholder=
"请输入产品名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"客户名称"
prop=
"clientName"
>
<el-input
v-model=
"queryParams.clientName"
placeholder=
"请输入客户名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
-->
<el-table
v-loading=
"loading"
:data=
"workorderList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"工单编码"
width=
"180"
prop=
"workorderCode"
>
</el-table-column>
<el-table-column
label=
"工单名称"
width=
"200"
align=
"center"
prop=
"workorderName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"工单来源"
align=
"center"
prop=
"orderSource"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.mes_workorder_sourcetype"
:value=
"scope.row.orderSource"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"订单编号"
width=
"140"
align=
"center"
prop=
"sourceCode"
/>
<el-table-column
label=
"产品编号"
width=
"120"
align=
"center"
prop=
"productCode"
/>
<el-table-column
label=
"产品名称"
width=
"200"
align=
"center"
prop=
"productName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"规格型号"
align=
"center"
prop=
"productSpc"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"单位"
align=
"center"
prop=
"unitOfMeasure"
/>
<el-table-column
label=
"工单数量"
align=
"center"
prop=
"quantity"
/>
<el-table-column
label=
"客户编码"
align=
"center"
prop=
"clientCode"
/>
<el-table-column
label=
"客户名称"
align=
"center"
prop=
"clientName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"需求日期"
align=
"center"
prop=
"requestDate"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
requestDate
,
'{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
<
el
-
button
type
=
"primary"
@
click
=
"confirmSelect"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"showFlag=false"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
/template
>
<
script
>
import
{
getWorkOrderListByTaskWorkunitId
}
from
"@/api/mes/pro/protask"
;
export
default
{
name
:
'WorkOrderSelectSingle'
,
components
:
{
}
,
dicts
:
[
'mes_order_status'
,
'mes_workorder_sourcetype'
],
props
:{
workorder
:
{
type
:
Object
}
}
,
watch
:
{
showFlag
(){
if
(
this
.
showFlag
)
{
this
.
handleQuery
()
}
}
}
,
data
()
{
return
{
showFlag
:
false
,
// 遮罩层
loading
:
true
,
// 选中数组
selectedWorkorderId
:
undefined
,
selectedRows
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 生产工单表格数据
workorderList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
workorderCode
:
null
,
workorderName
:
null
,
taskWorkunitId
:
this
.
workorder
.
taskWorkunitId
,
orderSource
:
null
,
sourceCode
:
null
,
productId
:
null
,
productCode
:
null
,
productName
:
null
,
productSpc
:
null
,
unitOfMeasure
:
null
,
quantity
:
null
,
quantityProduced
:
null
,
quantityChanged
:
null
,
quantityScheduled
:
null
,
clientId
:
null
,
clientCode
:
null
,
clientName
:
null
,
requestDate
:
null
,
parentId
:
null
,
ancestors
:
null
,
status
:
'CONFIRMED'
,
}
,
}
}
,
created
()
{
this
.
getList
();
}
,
methods
:{
/** 查询生产工单列表 */
getList
()
{
this
.
loading
=
true
;
if
(
!
this
.
workorder
||
!
this
.
workorder
.
taskWorkunitId
)
return
getWorkOrderListByTaskWorkunitId
(
this
.
workorder
.
taskWorkunitId
).
then
(
response
=>
{
this
.
workorderList
=
response
.
data
;
this
.
loading
=
false
;
}
);
}
,
/** 搜索按钮操作 */
handleQuery
()
{
this
.
getList
();
}
,
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
}
,
handleCurrent
(
row
){
if
(
row
){
this
.
selectedRows
=
row
;
}
}
,
// 单选选中数据
handleSelectionChange
(
row
)
{
if
(
row
){
this
.
selectedRows
=
row
;
}
}
,
//双击选中
handleRowDbClick
(
row
){
if
(
row
){
this
.
selectedRows
=
row
;
this
.
$emit
(
'onSelected'
,
this
.
selectedRows
);
this
.
showFlag
=
false
;
}
}
,
//确定选中
confirmSelect
(){
// if(this.selectedWorkorderId == null || this.selectedWorkorderId == 0)
{
// this.$notify(
{
// title:'提示',
// type:'warning',
// message: '请至少选择一条数据!'
//
}
);
// return;
//
}
this
.
$emit
(
'onSelected'
,
this
.
selectedRows
);
this
.
showFlag
=
false
;
}
}
}
<
/script
>
src/views/mes/pro/workorder/components/WorkOrderSale.vue
View file @
41569322
...
@@ -310,6 +310,12 @@
...
@@ -310,6 +310,12 @@
prop=
"lossNum"
prop=
"lossNum"
width=
"120"
width=
"120"
/>
/>
<el-table-column
label=
"工单完工数"
align=
"center"
prop=
"packageNumSum"
width=
"120"
/>
<el-table-column
<el-table-column
label=
"销售凭证"
label=
"销售凭证"
align=
"center"
align=
"center"
...
...
src/views/mes/pro/workorder/components/WorkOrderSize.vue
View file @
41569322
...
@@ -439,6 +439,7 @@ export default {
...
@@ -439,6 +439,7 @@ export default {
{
prop
:
"clientCmd"
,
label
:
"销售订单指令号"
},
{
prop
:
"clientCmd"
,
label
:
"销售订单指令号"
},
{
prop
:
"quantity"
,
label
:
"派工数"
,
width
:
"160"
},
{
prop
:
"quantity"
,
label
:
"派工数"
,
width
:
"160"
},
{
prop
:
"lossNum"
,
label
:
"Loss数"
},
{
prop
:
"lossNum"
,
label
:
"Loss数"
},
{
prop
:
"packageNumSum"
,
label
:
"SIZE完工数"
},
{
prop
:
"brandCode"
,
label
:
"品牌"
},
{
prop
:
"brandCode"
,
label
:
"品牌"
},
{
prop
:
"salePath"
,
label
:
"销线"
},
{
prop
:
"salePath"
,
label
:
"销线"
},
{
prop
:
"sizeType"
,
label
:
"SIZE类型组"
,
width
:
"120"
},
{
prop
:
"sizeType"
,
label
:
"SIZE类型组"
,
width
:
"120"
},
...
...
src/views/mes/pro/workorder/proofingInfo.vue
View file @
41569322
...
@@ -146,6 +146,16 @@
...
@@ -146,6 +146,16 @@
/>
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:lg=
"6"
:md=
"8"
:sm=
"12"
:xs=
"12"
>
<el-form-item
label=
"已报工数"
prop=
"packageNumSum"
>
<el-input
v-model=
"form.packageNumSum"
placeholder=
"请输入已报工数"
type=
"number"
disabled
/>
</el-form-item>
</el-col>
<el-col
:lg=
"6"
:md=
"8"
:sm=
"12"
:xs=
"12"
>
<el-col
:lg=
"6"
:md=
"8"
:sm=
"12"
:xs=
"12"
>
<el-form-item
label=
"开始日期"
prop=
"startDate"
>
<el-form-item
label=
"开始日期"
prop=
"startDate"
>
<el-date-picker
<el-date-picker
...
...
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