|
|
|
|
@ -17,13 +17,29 @@ |
|
|
|
|
@refresh-change="refreshChange" |
|
|
|
|
@on-load="onLoad" |
|
|
|
|
> |
|
|
|
|
<template #menu-left> |
|
|
|
|
<el-button type="primary" @click="reCalc">重新计算</el-button> |
|
|
|
|
</template> |
|
|
|
|
</avue-crud> |
|
|
|
|
<settlementDailog |
|
|
|
|
v-if="isOpen" |
|
|
|
|
:abnormal="true" |
|
|
|
|
:showDialog="isOpen" |
|
|
|
|
:settleResult="settleResult" |
|
|
|
|
@closeDialog="closeDialog" |
|
|
|
|
@refresh="refreshTable" |
|
|
|
|
> |
|
|
|
|
</settlementDailog> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
import {getList} from "@/api/orderManagement/exceptionOrder" |
|
|
|
|
import {getList,reCalculate} from "@/api/orderManagement/exceptionOrder" |
|
|
|
|
import settlementDailog from "@/views/oem/oemOrderSettlement/components/settlementDailog.vue" |
|
|
|
|
export default { |
|
|
|
|
components:{ |
|
|
|
|
settlementDailog |
|
|
|
|
}, |
|
|
|
|
data(){ |
|
|
|
|
return{ |
|
|
|
|
loading:false, |
|
|
|
|
@ -35,6 +51,8 @@ export default { |
|
|
|
|
total: 0, |
|
|
|
|
}, |
|
|
|
|
query:{}, |
|
|
|
|
isOpen:false, |
|
|
|
|
settleResult:{}, |
|
|
|
|
selectionList:[], |
|
|
|
|
option:{ |
|
|
|
|
columnSort: true, |
|
|
|
|
@ -43,7 +61,7 @@ export default { |
|
|
|
|
calcHeight: 32, |
|
|
|
|
simplePage: false, |
|
|
|
|
searchShow: true, |
|
|
|
|
searchMenuSpan: 18, |
|
|
|
|
searchMenuSpan: 12, |
|
|
|
|
searchIcon: true, |
|
|
|
|
searchIndex: 3, |
|
|
|
|
tree: false, |
|
|
|
|
@ -79,11 +97,29 @@ export default { |
|
|
|
|
searchMenuPosition: 'right', |
|
|
|
|
align: 'center', |
|
|
|
|
column: [ |
|
|
|
|
{ |
|
|
|
|
label: '异常原因', |
|
|
|
|
prop: 'validationMomo', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
span: 24, |
|
|
|
|
type: 'textarea', |
|
|
|
|
// width: 150, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'left', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: true, |
|
|
|
|
// message: '请输入备注', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '计划单号', |
|
|
|
|
prop: 'ypCode', |
|
|
|
|
span: 24, |
|
|
|
|
width: 150, |
|
|
|
|
// width: 150, |
|
|
|
|
overflow: true, |
|
|
|
|
search: true, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
@ -97,18 +133,18 @@ export default { |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '生产订单', |
|
|
|
|
label: '生产单号', |
|
|
|
|
prop: 'yoCode', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
width: 150, |
|
|
|
|
// width: 150, |
|
|
|
|
span: 12, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请输入生产订单', |
|
|
|
|
message: '请输入生产单号', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
@ -116,9 +152,9 @@ export default { |
|
|
|
|
{ |
|
|
|
|
label: '零件号', |
|
|
|
|
prop: 'partCode', |
|
|
|
|
search: false, |
|
|
|
|
search: true, |
|
|
|
|
sortable: true, |
|
|
|
|
width: 150, |
|
|
|
|
// width: 150, |
|
|
|
|
span: 12, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
@ -130,112 +166,112 @@ export default { |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '产品型号', |
|
|
|
|
prop: 'productType', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
disabled: true, |
|
|
|
|
width: 150, |
|
|
|
|
span: 12, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: false, |
|
|
|
|
message: '请输入产品型号', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '产品名称', |
|
|
|
|
prop: 'partName', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
disabled: true, |
|
|
|
|
span: 12, |
|
|
|
|
width: 150, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'left', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: false, |
|
|
|
|
message: '请输入产品名称', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '流程卡号', |
|
|
|
|
prop: 'cardNo', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
disabled: true, |
|
|
|
|
span: 12, |
|
|
|
|
width: 150, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: false, |
|
|
|
|
message: '请输入流程卡号', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '批次号', |
|
|
|
|
prop: 'batchNo', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
disabled: true, |
|
|
|
|
span: 12, |
|
|
|
|
width: 150, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: false, |
|
|
|
|
message: '请输入批次号', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '镀种', |
|
|
|
|
prop: 'plate', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
disabled: true, |
|
|
|
|
width: 150, |
|
|
|
|
span: 12, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: false, |
|
|
|
|
message: '请输入镀种', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '面积(d㎡)', |
|
|
|
|
prop: 'ypArea', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
width: 120, |
|
|
|
|
span: 12, |
|
|
|
|
disabled: true, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: false, |
|
|
|
|
message: '请输入面积(d㎡)', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
// { |
|
|
|
|
// label: '产品型号', |
|
|
|
|
// prop: 'productType', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// disabled: true, |
|
|
|
|
// width: 150, |
|
|
|
|
// span: 12, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// align: 'center', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: false, |
|
|
|
|
// message: '请输入产品型号', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: '产品名称', |
|
|
|
|
// prop: 'partName', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// disabled: true, |
|
|
|
|
// span: 12, |
|
|
|
|
// width: 150, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// align: 'left', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: false, |
|
|
|
|
// message: '请输入产品名称', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: '流程卡号', |
|
|
|
|
// prop: 'cardNo', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// disabled: true, |
|
|
|
|
// span: 12, |
|
|
|
|
// width: 150, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: false, |
|
|
|
|
// message: '请输入流程卡号', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: '批次号', |
|
|
|
|
// prop: 'batchNo', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// disabled: true, |
|
|
|
|
// span: 12, |
|
|
|
|
// width: 150, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: false, |
|
|
|
|
// message: '请输入批次号', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: '镀种', |
|
|
|
|
// prop: 'plate', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// disabled: true, |
|
|
|
|
// width: 150, |
|
|
|
|
// span: 12, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// align: 'center', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: false, |
|
|
|
|
// message: '请输入镀种', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: '面积(d㎡)', |
|
|
|
|
// prop: 'ypArea', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// width: 120, |
|
|
|
|
// span: 12, |
|
|
|
|
// disabled: true, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// align: 'center', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: false, |
|
|
|
|
// message: '请输入面积(d㎡)', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
{ |
|
|
|
|
label: '生产标识', |
|
|
|
|
prop: 'productIdent', |
|
|
|
|
@ -259,30 +295,30 @@ export default { |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '使用部门', |
|
|
|
|
prop: 'useDept', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
disabled: true, |
|
|
|
|
width: 120, |
|
|
|
|
span: 12, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请输入使用部门', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
// { |
|
|
|
|
// label: '使用部门', |
|
|
|
|
// prop: 'useDept', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// disabled: true, |
|
|
|
|
// width: 120, |
|
|
|
|
// span: 12, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// align: 'center', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: true, |
|
|
|
|
// message: '请输入使用部门', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
{ |
|
|
|
|
label: '生产数量', |
|
|
|
|
prop: 'ypQty', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
width: 120, |
|
|
|
|
// width: 120, |
|
|
|
|
span: 12, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
@ -294,49 +330,49 @@ export default { |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '需求交期', |
|
|
|
|
prop: 'demandDate', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
width: 180, |
|
|
|
|
span: 12, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
type: 'datetime', // 改成 datetime |
|
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss', // 输出格式 |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请输入需求交期', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '计划员', |
|
|
|
|
prop: 'planUser', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
width: 120, |
|
|
|
|
span: 12, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请输入计划员', |
|
|
|
|
trigger: 'blur', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
// { |
|
|
|
|
// label: '需求交期', |
|
|
|
|
// prop: 'demandDate', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// width: 180, |
|
|
|
|
// span: 12, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// align: 'center', |
|
|
|
|
// type: 'datetime', // 改成 datetime |
|
|
|
|
// valueFormat: 'YYYY-MM-DD HH:mm:ss', // 输出格式 |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: true, |
|
|
|
|
// message: '请输入需求交期', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: '计划员', |
|
|
|
|
// prop: 'planUser', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// width: 120, |
|
|
|
|
// span: 12, |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// align: 'center', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: true, |
|
|
|
|
// message: '请输入计划员', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
{ |
|
|
|
|
label: '计划下达时间', |
|
|
|
|
prop: 'releaseDate', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
searchLabelWidth: 100, |
|
|
|
|
width: 180, |
|
|
|
|
// width: 180, |
|
|
|
|
span: 12, |
|
|
|
|
type: 'datetime', // 改成 datetime |
|
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss', // 输出格式 |
|
|
|
|
@ -350,79 +386,76 @@ export default { |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '订单状态', |
|
|
|
|
prop: 'status', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
span: 12, |
|
|
|
|
display: false, |
|
|
|
|
type: 'select', |
|
|
|
|
width: '140', |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'center', |
|
|
|
|
dicData: [ |
|
|
|
|
{ |
|
|
|
|
value: 10000, |
|
|
|
|
label: '已同步', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: 10001, |
|
|
|
|
label: '订单异常', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: 10002, |
|
|
|
|
label: '未下达', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: 10003, |
|
|
|
|
label: '待排产', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: 10004, |
|
|
|
|
label: '待生产', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: 10005, |
|
|
|
|
label: '加工中', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: 10006, |
|
|
|
|
label: '排产异常', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: 10015, |
|
|
|
|
label: '已完工', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: 10021, |
|
|
|
|
label: '已关闭', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '备注', |
|
|
|
|
prop: 'validationMomo', |
|
|
|
|
search: false, |
|
|
|
|
sortable: true, |
|
|
|
|
span: 24, |
|
|
|
|
type: 'textarea', |
|
|
|
|
width: 150, |
|
|
|
|
headerAlign: 'center', |
|
|
|
|
align: 'left', |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: true, |
|
|
|
|
// message: '请输入备注', |
|
|
|
|
// trigger: 'blur', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
}, |
|
|
|
|
// { |
|
|
|
|
// label: '订单状态', |
|
|
|
|
// prop: 'status', |
|
|
|
|
// search: false, |
|
|
|
|
// sortable: true, |
|
|
|
|
// span: 12, |
|
|
|
|
// display: false, |
|
|
|
|
// type: 'select', |
|
|
|
|
// width: '140', |
|
|
|
|
// headerAlign: 'center', |
|
|
|
|
// align: 'center', |
|
|
|
|
// dicData: [ |
|
|
|
|
// { |
|
|
|
|
// value: 10000, |
|
|
|
|
// label: '已同步', |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// value: 10001, |
|
|
|
|
// label: '订单异常', |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// value: 10002, |
|
|
|
|
// label: '未下达', |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// value: 10003, |
|
|
|
|
// label: '待排产', |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// value: 10004, |
|
|
|
|
// label: '待生产', |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// value: 10005, |
|
|
|
|
// label: '加工中', |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// value: 10006, |
|
|
|
|
// label: '排产异常', |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// value: 10015, |
|
|
|
|
// label: '已完工', |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// value: 10021, |
|
|
|
|
// label: '已关闭', |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
methods:{ |
|
|
|
|
reCalc(){ |
|
|
|
|
if(this.selectionList.length == 0){ |
|
|
|
|
this.$message.error('请至少选择一条数据!') |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
reCalculate({ |
|
|
|
|
ids:this.selectionList.map(item => item.id).join(',') |
|
|
|
|
}).then(res =>{ |
|
|
|
|
if(res.data.code == 200){ |
|
|
|
|
this.settleResult = res.data.data |
|
|
|
|
this.isOpen = true |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
searchChange(params, done){ |
|
|
|
|
this.query = params; |
|
|
|
|
this.page.currentPage = 1; |
|
|
|
|
|