This commit is contained in:
xielue 2023-08-27 23:36:02 +08:00
parent 0cfbae5279
commit 45025bc28d
5 changed files with 206 additions and 106 deletions

View File

@ -35,6 +35,7 @@ export default {
if (dataRule) {
list.forEach(item => {
dataRule.forEach(rule => {
let value = item[rule.field];
if (rule.type == "integer") {
@ -46,6 +47,12 @@ export default {
else if (rule.type == "timestamp") {
item[rule.field] = parseInt(new Date(value).getTime() / 1000);
}
else if (rule.type == "bigint") {
if(typeof(item[rule.field]) == 'string'){
item[rule.field] = JSONbig.parse(`{"v":${item[rule.field]}}`).v;
}
}
})
})

View File

@ -195,7 +195,7 @@ export default {
this.formOptions.data = this.$mk.formatDetailData({ data: a.data[this.detailDataFieldName] });
this.detailsData = a.data[this.detailDataFieldName].mold_component_processes || [];
this.detailsData = JSON.parse(JSON.stringify(a.data[this.detailDataFieldName].mold_component_processes || []));
this.detailsDataInit();
});
@ -293,8 +293,12 @@ export default {
list: this.detailsData,
deletedList: this.deletedDetailsData,
fieldName: 'component_id',
dataRule:[
{field:'sort',type:'integer'}
dataRule:[
{field:'id',type:'bigint'} ,
{field:'sort',type:'integer'},
{field:'update_uid',type:'bigint'} ,
{field:'mes_processes_id',type:'bigint'} ,
{field:'create_uid',type:'bigint'}
]
});

View File

@ -24,7 +24,7 @@
</div>
</template>
</vxe-column>
<vxe-column field="mold_id" title="模型" width="160" :params="editor_scheme" formatter="formatRef"
<vxe-column field="mold_scheme" title="模型" width="160" :params="editor_scheme" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="production_type" title="布产类型" width="160" :params="options_production_type" formatter = 'formatEnum'
:edit-render="{ name: '$select',props:{options:options_production_type} }"></vxe-column>
@ -166,7 +166,7 @@ export default {
textField: "name",
listdataFieldName: 'MoldScheme',
mapper: [
{ fromField: "id", field: "mes_scheme_id" }
{ fromField: "id", field: "mold_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/list`
},
@ -216,9 +216,10 @@ export default {
this.formOptions.data = this.$mk.formatDetailData({ data: a.data[this.detailDataFieldName] });
this.detailsData = a.data[this.detailDataFieldName].order_molds || [];
this.detailsData = JSON.parse(JSON.stringify(a.data[this.detailDataFieldName].order_molds || []));
this.detailsDataInit();
});
this.isEdit = true;
@ -315,6 +316,7 @@ export default {
deletedList: this.deletedDetailsData,
fieldName: 'order_id',
dataRule:[
{field:'id',type:'bigint'} ,
{field:'production_type',type:'integer'},
{field:'manufacture_cycle',type:'timestamp'},
{field:'draw_start_time',type:'timestamp'},
@ -323,7 +325,10 @@ export default {
{field:'draw2D_time',type:'timestamp'},
{field:'draw3D_time',type:'timestamp'},
{field:'horizontal_frame_time',type:'timestamp'},
{field:'inlay_deep_hole_time',type:'timestamp'}
{field:'inlay_deep_hole_time',type:'timestamp'} ,
{field:'update_uid',type:'bigint'} ,
{field:'mold_id',type:'bigint'} ,
{field:'create_uid',type:'bigint'}
]
});

View File

@ -39,16 +39,34 @@
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="plan_complete_time" title="计划完成日期" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="is_send" title="是否发料" width="160" :params="options_is_send"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_is_send } }"></vxe-column>
<vxe-column field="send_time" title="发料时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="send_uid" title="发料人员" width="160" :params="editor_staff" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="is_complete" title="是否完成" width="160" :params="options_is_complete"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_is_complete } }"></vxe-column>
<vxe-column field="complete_time" title="实际完成时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="send_type" title="发料人员类型" width="160" :params="options_user_type"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_user_type } }"></vxe-column>
<vxe-column field="complete_type" title="完工人员类型" width="160" :params="options_user_type"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_user_type } }"></vxe-column>
<vxe-column field="remark" title="备注" width="160" :edit-render="{ name: '$input', props: {} }"></vxe-column>
</vxe-table>
@ -79,19 +97,37 @@
<vxe-column field="mes_processes" title="工序" width="160" :params="editor_processes" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="process_uid" title="加工人员" width="160" :params="editor_staff" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="prepare_process_time" title="预备加工日期" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="plan_complete_time" title="计划完成日期" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="is_send" title="是否发料" width="160" :params="options_is_send"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_is_send } }"></vxe-column>
<vxe-column field="send_time" title="发料时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="is_complete" title="是否完成" width="160" :params="options_is_complete"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_is_complete } }"></vxe-column>
<vxe-column field="complete_time" title="实际完成时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="send_type" title="发料人员类型" width="160" :params="options_user_type"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_user_type } }"></vxe-column>
<vxe-column field="complete_type" title="完工人员类型" width="160" :params="options_user_type"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_user_type } }"></vxe-column>
<vxe-column field="remark" title="备注" width="160" :edit-render="{ name: '$input', props: {} }"></vxe-column>
@ -133,11 +169,21 @@ export default {
data() {
const options_production_type = [{ value: '1', label: '正常布产' }, { value: '2', label: '委托布产' }];
const options_is_complete = [{ value: '0', label: '未完成' }, { value: '1', label: '已完成' }];
const options_is_send = [{ value: '0', label: '未发料' }, { value: '1', label: '已发料' }];
const options_user_type = [{ value: '1', label: '管理员' }, { value: '2', label: '员工' }, { value: '3', label: '触控屏' }];
//let _this = this;
//
var pageData = {
options_production_type: options_production_type,
options_is_complete: options_is_complete,
options_is_send: options_is_send,
options_user_type: options_user_type,
//
currentConfigName: "",
// ID
@ -320,8 +366,8 @@ export default {
this.formOptions.data = this.$mk.formatDetailData({ data: a.data[this.detailDataFieldName] });
this.detailsData = a.data[this.detailDataFieldName].mold_scheme_components || [];
this.detailsData2 = a.data[this.detailDataFieldName].mold_scheme_processes || [];
this.detailsData = JSON.parse(JSON.stringify(a.data[this.detailDataFieldName].mold_production_order_component || []));
this.detailsData2 = JSON.parse(JSON.stringify(a.data[this.detailDataFieldName].mold_production_order_component_processes || []));
@ -431,7 +477,15 @@ export default {
deletedList: this.deletedDetailsData,
fieldName: 'production_id',
dataRule: [
{ field: 'production_type', type: 'integer' }
{ field: 'production_type', type: 'integer' },
{ field: 'id', type: 'bigint' },
{ field: 'update_uid', type: 'bigint' },
{ field: 'create_uid', type: 'bigint' },
{ field: 'mold_id', type: 'bigint' },
{ field: 'component_id', type: 'bigint' },
{ field: 'process_uid', type: 'bigint' },
{ field: 'send_uid', type: 'bigint' },
{ field: 'send_uid', type: 'bigint' },
]
});
postdata.mold_production_order_component_processes = this.$mk.getPostFieldValue({
@ -441,6 +495,12 @@ export default {
deletedList: this.deletedDetailsData2,
fieldName: 'production_id',
dataRule: [
{ field: 'id', type: 'bigint' },
{ field: 'update_uid', type: 'bigint' },
{ field: 'create_uid', type: 'bigint' },
{ field: 'component_id', type: 'bigint' },
{ field: 'process_uid', type: 'bigint' },
]
});

View File

@ -6,59 +6,64 @@
</vxe-form>
<a-tabs>
<a-tab-pane key="1" tab="部件信息">
<vxe-table border show-overflow keep-source ref="xTable" :height="table1Height" :data="detailsData"
@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 }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_component" title="部件" width="160" :params="editor_component" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="production_type" title="布产类型" width="160" :params="options_production_type" formatter = 'formatEnum'
:edit-render="{ name: '$select',props:{options:options_production_type} }"></vxe-column>
</vxe-table>
<a-tab-pane key="1" tab="部件信息">
<vxe-table border show-overflow keep-source ref="xTable" :height="table1Height" :data="detailsData"
@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 }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_component" title="部件" width="160" :params="editor_component" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="production_type" title="布产类型" width="160" :params="options_production_type"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_production_type } }"></vxe-column>
</a-tab-pane>
<vxe-column field="process_uid" title="加工人员" width="160" :params="editor_staff" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<a-tab-pane key="2" tab="工序设置">
</vxe-table>
</a-tab-pane>
<a-tab-pane key="2" tab="工序设置">
<vxe-table border show-overflow keep-source ref="xTable2" :height="table1Height" :data="detailsData2"
@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 }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd2(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete2(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_component" title="部件" width="160" :params="editor_component" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="mes_processes" title="工序" width="160" :params="editor_processes" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
</vxe-table>
</a-tab-pane>
</a-tabs>
<vxe-table border show-overflow keep-source ref="xTable2" :height="table1Height" :data="detailsData2"
@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 }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd2(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete2(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_component" title="部件" width="160" :params="editor_component" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="mes_processes" title="工序" width="160" :params="editor_processes" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
</vxe-table>
</a-tab-pane>
</a-tabs>
<div class="mk-toolbar" v-if="isEdit">
@ -73,7 +78,7 @@
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
import BASE_URL from '@/services/mes/api.js';
export default {
@ -95,7 +100,7 @@ export default {
//
var pageData = {
options_production_type:[{value:'1',label:'正常布产'},{value:'2',label:'委托布产'}],
options_production_type: [{ value: '1', label: '正常布产' }, { value: '2', label: '委托布产' }],
//
currentConfigName: "",
// ID
@ -107,7 +112,7 @@ export default {
actions: {
get: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/detail`,
create: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/create`,
update: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/update`
update: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/update`
},
keyName: 'id',
@ -131,16 +136,16 @@ export default {
code: [
{ required: true, message: '请输入模型编码' }
],
],
name: [
{ required: true, message: '请输入模型名称' }
],
],
},
//
items: [
{ field: 'code', title: '模型编码', span: 12, itemRender: { name: '$input' } },
{ field: 'code', title: '模型编码', span: 12, itemRender: { name: '$input' } },
{ field: 'name', title: '模型名称', span: 12, itemRender: { name: '$input' } },
{
title: '分类', span: 12,
field: 'mold_scheme_category',
@ -159,7 +164,7 @@ export default {
}
}
}
},
},
]
},
@ -187,14 +192,14 @@ export default {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MoldComponent',
listdataFieldName: 'MoldComponent',
mapper: [
{ fromField: "id", field: "component_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/list`
},
editor_processes: {
dataType: "object",
valueField: "id",
@ -206,6 +211,18 @@ export default {
dataUrl: `${BASE_URL.BASE_URL}/MesProcesses/v1/mes/processes/list`
},
editor_staff: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MesStaff',
mapper: [
{ fromField: "id", field: "process_uid" }
],
dataUrl: `${BASE_URL.BASE_URL}/MesStaff/v1/mes/staff/list`
},
};
@ -230,30 +247,29 @@ export default {
let dataId = this.getDataId();
// id
if (dataId) {
if (dataId) {
this.$mk.post({
url: this.actions.get,
loading: "加载中...",
data: {id : this.$mk.toBigInt(dataId)},
useBigInt : true
}).then(a => {
data: { id: this.$mk.toBigInt(dataId) },
useBigInt: true
}).then(a => {
this.formOptions.data = this.$mk.formatDetailData({data: a.data[this.detailDataFieldName] });
this.detailsData = a.data[this.detailDataFieldName].mold_scheme_components || [];
this.detailsData2 = a.data[this.detailDataFieldName].mold_scheme_processes || [];
this.formOptions.data = this.$mk.formatDetailData({ data: a.data[this.detailDataFieldName] });
this.detailsData = JSON.parse(JSON.stringify(a.data[this.detailDataFieldName].mold_scheme_components || []));
this.detailsData2 = JSON.parse(JSON.stringify(a.data[this.detailDataFieldName].mold_scheme_processes || []));
this.detailsDataInit();
});
this.isEdit = true;
} else {
// id
@ -273,7 +289,7 @@ export default {
methods: {
heightInit() {
@ -331,7 +347,7 @@ export default {
//
ok() {
let save = () => {
@ -351,20 +367,28 @@ export default {
list: this.detailsData,
deletedList: this.deletedDetailsData,
fieldName: 'mold_id',
dataRule:[
{field:'production_type',type:'integer'}
dataRule: [
{ field: 'production_type', type: 'integer' },
{ field: 'id', type: 'bigint' },
{ field: 'update_uid', type: 'bigint' },
{ field: 'component_id', type: 'bigint' },
{ field: 'create_uid', type: 'bigint' }
]
});
postdata.mold_scheme_processes = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || ( row.component_id && row.mes_processes_id) },
rowFilter: (row) => { return row.id || (row.component_id && row.mes_processes_id) },
dataId: this.getDataId_BigInt(),
list: this.detailsData2,
deletedList: this.deletedDetailsData2,
fieldName: 'mold_id',
dataRule:[
dataRule: [
{ field: 'id', type: 'bigint' },
{ field: 'update_uid', type: 'bigint' },
{ field: 'component_id', type: 'bigint' },
{ field: 'create_uid', type: 'bigint' }
]
});
//
this.$mk.post({
@ -375,7 +399,7 @@ export default {
}).then((a) => { //
if (a.code == "200") {
this.$mk.success("保存成功");
if (!this.isEdit) { //
this.back();
@ -392,14 +416,14 @@ export default {
};
//
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { //
save(); //
}).catch(count => { //
this.$mk.error(`存在${count}项错误,请检查`);
});
@ -418,12 +442,12 @@ export default {
const $table = this.$refs.xTable
const record = {
}
if (row) {
if (row) {
this.detailsData.splice($table.getRowSeq(row), 0, record);
} else {
this.detailsData.push(record)
}
},
},
pageDelete(row) {
const $table = this.$refs.xTable;
if (row.id) {
@ -437,12 +461,12 @@ export default {
const $table = this.$refs.xTable2
const record = {
}
if (row) {
if (row) {
this.detailsData2.splice($table.getRowSeq(row), 0, record);
} else {
this.detailsData2.push(record)
}
},
},
pageDelete2(row) {
const $table = this.$refs.xTable2;
if (row.id) {
@ -453,25 +477,25 @@ export default {
beforeEditMethod({ column, row }) {
console.log(column,row);
beforeEditMethod({ column, row }) {
console.log(column, row);
return true;
},
afterEditEvent({ column, row }) {
console.log(column,row);
console.log(column, row);
},
beforeEditEvent({ column, row }) {
console.log(column,row);
},
console.log(column, row);
},
onPulldownSelected({ row, name, params }) {
console.log(row, name, params );
console.log(row, name, params);
},
onPopupSelected({ rows, name, params }) {
console.log(rows, name, params);
console.log(rows, name, params);
},
},
//
watch: {