This commit is contained in:
xielue 2023-09-16 12:25:34 +08:00
parent fc310dc2a0
commit 6166df8b6c
2 changed files with 65 additions and 113 deletions

View File

@ -44,15 +44,16 @@
<vxe-column field="complete_type" v-if="getDataId()" title="完工人员类型" width="160" :params="{ data: options_user_type }" <vxe-column field="complete_type" v-if="getDataId()" title="完工人员类型" width="160"
formatter='formatEnum'></vxe-column> :params="{ data: options_user_type }" formatter='formatEnum'></vxe-column>
<vxe-column field="remark" title="备注" width="160" :edit-render="{ name: '$input', props: {} }"></vxe-column> <vxe-column field="remark" title="备注" width="160" :edit-render="{ name: '$input', props: {} }"></vxe-column>
</vxe-table> </vxe-table>
<vxe-table border show-overflow keep-source ref="xTable2" :data="detailsData2" @pulldownSelected="onPulldownSelected" <vxe-table v-if="!isComponentOutProduct()" border show-overflow keep-source ref="xTable2" :data="detailsData2"
@popupSelected="onPopupSelected" :export-config="{}" @edit-closed="afterEditEvent" @edit-actived="beforeEditEvent" @pulldownSelected="onPulldownSelected" @popupSelected="onPopupSelected" :export-config="{}"
@edit-closed="afterEditEvent" @edit-actived="beforeEditEvent"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: beforeEditMethod }"> :edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: beforeEditMethod }">
<vxe-column width="60" v-if="!readonly"> <vxe-column width="60" v-if="!readonly">
<template #default="{ row }"> <template #default="{ row }">
@ -90,7 +91,7 @@
<div v-if="row.is_send"> <div v-if="row.is_send">
{{ $mk.getDateString(row.send_time) }} {{ $mk.getDateString(row.send_time) }}
<a-button v-if="!row.is_complete" @click.stop="pageSend(row, true)">撤销</a-button> <a-button v-if="!isComponentDone() && !row.is_complete" @click.stop="pageSend(row, true)">撤销</a-button>
</div> </div>
</div> </div>
</template> </template>
@ -102,7 +103,7 @@
<a-button v-if="!row.is_complete" @click.stop="pageDone(row)" type="primary">完成</a-button> <a-button v-if="!row.is_complete" @click.stop="pageDone(row)" type="primary">完成</a-button>
<div v-if="row.is_complete"> <div v-if="row.is_complete">
{{ $mk.getDateString(row.complete_time) }} {{ $mk.getDateString(row.complete_time) }}
<a-button @click.stop="pageDone(row, true)">撤销</a-button> <a-button v-if="!isComponentDone()" @click.stop="pageDone(row, true)">撤销</a-button>
</div> </div>
</div> </div>
</template> </template>
@ -112,8 +113,8 @@
formatter='formatEnum'></vxe-column> formatter='formatEnum'></vxe-column>
<vxe-column field="complete_type" v-if="getDataId()" title="完工人员类型" width="160" :params="{ data: options_user_type }" <vxe-column field="complete_type" v-if="getDataId()" title="完工人员类型" width="160"
formatter='formatEnum'></vxe-column> :params="{ data: options_user_type }" formatter='formatEnum'></vxe-column>
<vxe-column field="remark" title="备注" width="160" :edit-render="{ name: '$input', props: {} }"></vxe-column> <vxe-column field="remark" title="备注" width="160" :edit-render="{ name: '$input', props: {} }"></vxe-column>
@ -187,81 +188,7 @@ export default {
keyName: 'id', keyName: 'id',
// //
isEdit: false, isEdit: false,
//
formOptions: {
data: {
production_type: "1"
},
//
titleWidth: 150,
//
titleAlign: 'right',
//
rules: {
code: [
{ required: true, message: '请输入编号' }
],
mold_order: [
{ required: true, message: '请选择订单' }
],
mold_scheme: [
{ required: true, message: '请选择模具' }
],
},
//
items: [
{
title: '订单', span: 8,
field: 'mold_order',
itemRender: {
name: 'MkFormInputShow', props: {
params: {
dataType: "object",
valueField: "id",
textField: "name"
}
}
}
}, {
title: '模具', span: 8,
field: 'mold_detail',
itemRender: {
name: 'MkFormInputShow', props: {
params: {
dataType: "object",
valueField: "id",
textField: "name"
}
}
}
},
{ field: 'code', title: '编号', span: 8, itemRender: { name: '$input' } },
{ field: 'production_type', dataRule: { type: 'integer' }, title: '布产类型', span: 8, itemRender: { name: '$select', props: { options: options_production_type } } },
{ field: 'manufacture_cycle', dataRule: { type: 'timestamp' }, title: '制作周期', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw_start_time', dataRule: { type: 'timestamp' }, title: '预计开始画图时间', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'split_design_time', dataRule: { type: 'timestamp' }, title: '分模设计时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw_time', dataRule: { type: 'timestamp' }, title: '出图时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw2D_time', dataRule: { type: 'timestamp' }, title: '出2D时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw3D_time', dataRule: { type: 'timestamp' }, title: '出3D时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'inlay_deep_hole_time', dataRule: { type: 'timestamp' }, title: '镶件深孔钻到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'problem', title: '出现问题及建议反馈', span: 8, itemRender: { name: '$input', props: {} } },
{
field: 'progress', title: '进度', span: 24, itemRender: {
name: 'MkFormProgress', props: {
params: {
type: "line"
}
}
}
},
]
},
// //
addModeItems: [ addModeItems: [
@ -347,9 +274,6 @@ export default {
}; };
//
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
return pageData; return pageData;
}, },
@ -371,8 +295,8 @@ export default {
pageInit() { pageInit() {
this.itemData.mold_production_order_component.forEach(item=>{ this.itemData.mold_production_order_component.forEach(item => {
if(!item.production_type){ if (!item.production_type) {
item.production_type = 1; item.production_type = 1;
} }
}) })
@ -382,7 +306,7 @@ export default {
this.detailsData2 = JSON.parse(JSON.stringify(this.itemData.mold_production_order_component_processes || [])); this.detailsData2 = JSON.parse(JSON.stringify(this.itemData.mold_production_order_component_processes || []));
this.loadDepartment(); this.loadDepartment();
@ -393,6 +317,24 @@ export default {
}, },
isComponentDone() {
for (let i = 0; i < this.detailsData.length; i++) {
if (!this.detailsData[i].is_complete) {
return false;
}
}
return true;
},
isComponentOutProduct() {
for (let i = 0; i < this.detailsData.length; i++) {
if (this.detailsData[i].production_type == 2) {
return true;
}
}
return false;
},
loadDepartment() { loadDepartment() {
for (let i = 0; i < this.detailsData2.length; i++) { for (let i = 0; i < this.detailsData2.length; i++) {
@ -604,7 +546,7 @@ export default {
{ field: 'component_num', type: 'integer' }, { field: 'component_num', type: 'integer' },
{ field: 'prepare_process_time', type: 'timestamp' }, { field: 'prepare_process_time', type: 'timestamp' },
{ field: 'plan_complete_time', type: 'timestamp' }, { field: 'plan_complete_time', type: 'timestamp' },
{ field: 'id', type: 'bigint' }, { field: 'id', type: 'bigint' },
{ field: 'update_uid', type: 'bigint' }, { field: 'update_uid', type: 'bigint' },
{ field: 'complete_uid', type: 'bigint' }, { field: 'complete_uid', type: 'bigint' },
@ -616,29 +558,41 @@ export default {
{ field: 'process_id', type: 'bigint' }, { field: 'process_id', type: 'bigint' },
] ]
}); });
postdata.mold_production_order_component_processes = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || (row.component_id && row.process_id) },
dataId: this.getDataId_BigInt(),
list: this.detailsData2,
deletedList: this.deletedDetailsData2,
fieldName: 'production_id',
dataRule: [
{ field: 'id', type: 'bigint' }, if (this.isComponentOutProduct()) {
{ field: 'prepare_process_time', type: 'timestamp' },
{ field: 'plan_complete_time', type: 'timestamp' }, postdata.mold_production_order_component_processes = this.getDataId() ? {
insertList: [],
updateList: [],
deleteList: []
} : [];
} else {
postdata.mold_production_order_component_processes = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || (row.component_id && row.process_id) },
dataId: this.getDataId_BigInt(),
list: this.detailsData2,
deletedList: this.deletedDetailsData2,
fieldName: 'production_id',
dataRule: [
{ field: 'id', type: 'bigint' },
{ field: 'prepare_process_time', type: 'timestamp' },
{ field: 'plan_complete_time', type: 'timestamp' },
{ field: 'send_uid', type: 'bigint' },
{ field: 'complete_uid', type: 'bigint' },
{ field: 'update_uid', type: 'bigint' },
{ field: 'create_uid', type: 'bigint' },
{ field: 'component_id', type: 'bigint' },
{ field: 'department_id', type: 'bigint' },
{ field: 'process_id', type: 'bigint' },
{ field: 'process_uid', type: 'bigint' },
]
});
}
{ field: 'send_uid', type: 'bigint' },
{ field: 'complete_uid', type: 'bigint' },
{ field: 'update_uid', type: 'bigint' },
{ field: 'create_uid', type: 'bigint' },
{ field: 'component_id', type: 'bigint' },
{ field: 'department_id', type: 'bigint' },
{ field: 'process_id', type: 'bigint' },
{ field: 'process_uid', type: 'bigint' },
]
});
this.itemData.postdata = postdata; this.itemData.postdata = postdata;
}, },
@ -723,5 +677,4 @@ export default {
.oplinks2 i { .oplinks2 i {
margin-left: 5px; margin-left: 5px;
} }</style>
</style>

View File

@ -196,8 +196,7 @@ export default {
{ field: 'inlay_deep_hole_time', dataRule: { type: 'timestamp' }, title: '镶件深孔钻到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, { field: 'inlay_deep_hole_time', dataRule: { type: 'timestamp' }, title: '镶件深孔钻到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'horizontal_frame_time', dataRule: { type: 'timestamp' }, title: '横架到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, { field: 'horizontal_frame_time', dataRule: { type: 'timestamp' }, title: '横架到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'problem', title: '出现问题及建议反馈', span: 8, itemRender: { name: '$input', props: {} } },
{ {
title: '模具师傅', span: 8, title: '模具师傅', span: 8,
field: 'mold_master_user_detail', field: 'mold_master_user_detail',