工艺管理模板调整

dev-scheduling
zhangdi 2 months ago
parent 0f750e2028
commit 883cb4c60b
  1. 4
      src/api/processManagement/processTemplate.js
  2. 287
      src/views/processManagement/components/addTemplateDialog.vue

@ -16,7 +16,7 @@ export const getList = (current, size, params) => {
// 保存
export const add = row => {
return request({
url: '/blade-desk/dsProModel/save',
url: '/blade-desk/dsProModel/submit',
method: 'post',
data: row,
});
@ -27,7 +27,7 @@ export const add = row => {
// 修改
export const update = row => {
return request({
url: '/blade-desk/dsProModel/update',
url: '/blade-desk/dsProModel/submit',
method: 'post',
data: row,
});

@ -16,18 +16,23 @@
>
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="模板编码:" prop="code">
<el-input v-model="ruleForm.code"></el-input>
<el-form-item label="模板编码:" prop="promodel.code">
<el-input v-model="ruleForm.promodel.code"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="模板名称:" prop="name">
<el-input v-model="ruleForm.name"></el-input>
<el-form-item label="模板名称:" prop="promodel.name">
<el-input v-model="ruleForm.promodel.name"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="模板类型:" prop="templateType">
<el-select v-model="ruleForm.templateType" placeholder="请选择" clearable filterable>
<el-form-item label="模板类型:" prop="promodel.templateType">
<el-select
v-model="ruleForm.promodel.templateType"
placeholder="请选择"
clearable
filterable
>
<el-option
v-for="(item, index) in processTemplateList"
:label="item.dictValue"
@ -38,16 +43,26 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="作业中心:" prop="workCenterId">
<el-select v-model="ruleForm.workCenterId" placeholder="请选择" clearable filterable>
<el-form-item label="作业中心:" prop="promodel.workCenterId">
<el-select
v-model="ruleForm.promodel.workCenterId"
placeholder="请选择"
clearable
filterable
>
<el-option v-for="item in workCenterList" :label="item.wcName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="镀种分类:" prop="platingType">
<el-select v-model="ruleForm.platingType" placeholder="请选择" clearable filterable>
<el-form-item label="镀种分类:" prop="promodel.platingType">
<el-select
v-model="ruleForm.promodel.platingType"
placeholder="请选择"
clearable
filterable
>
<el-option
v-for="(item, index) in platingTypeList"
:label="item.plateType"
@ -58,9 +73,9 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="优先级:" prop="priority">
<el-form-item label="优先级:" prop="promodel.priority">
<el-input-number
v-model="ruleForm.priority"
v-model="ruleForm.promodel.priority"
controls-position="right"
:min="1"
:max="10"
@ -68,8 +83,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="备注:" prop="remarks">
<el-input v-model="ruleForm.remarks" type="textarea" :rows="2"></el-input>
<el-form-item label="备注:" prop="promodel.remarks">
<el-input v-model="ruleForm.promodel.remarks" type="textarea" :rows="2"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -81,6 +96,8 @@
@node-click="handleNodeClick"
:default-expand-all="true"
:expand-on-click-node="false"
highlight-current-row
:current-row-key="currentRowId"
/>
</div>
<div class="process-right">
@ -359,70 +376,38 @@ export default {
},
data() {
return {
treeData: [
{
label: '工序列表',
processList: [
{
processInfo: {
processName: '工序1',
},
projectInfo: [
{
jobName: '作业1',
},
{
jobName: '作业2',
},
],
},
{
processInfo: {
processName: '工序2',
},
projectInfo: [
{
jobName: '作业2',
},
{
jobName: '作业3',
},
],
},
],
},
], //
currentRowId: '',
treeData: [],
defaultProps: {
label: data => {
// Level 1: ""
// label
if (data.label && data.processList) {
return data.label;
}
// Level 2:
if (data.processInfo) {
return data.processInfo.processName || '未命名工序';
// processName
if (data.processName) {
return data.processName;
}
// Level 3: /
if (data.jobName !== undefined) {
return data.jobName;
// projectCode
if (data.projectCode !== undefined) {
return `项目-${data.projectCode}`;
}
return '未知节点';
},
children: data => {
// Level 1 Level 2
//
if (data.processList) {
return data.processList;
}
// Level 2 Level 3
if (data.processInfo && data.projectInfo) {
return data.projectInfo;
//
if (data.modelProjectList) {
return data.modelProjectList;
}
// Level 3
return [];
},
isLeaf: data => {
// jobName
return data.jobName !== undefined;
return !data.processList && !data.modelProjectList;
},
},
activeName: '1',
@ -437,21 +422,33 @@ export default {
// tableData: [],
ruleForm: {
code: '',
name: '',
workCenterId: '',
platingType: '',
priority: '',
tableData: [],
promodel: {
code: '',
name: '',
workCenterId: '',
platingType: '',
priority: '',
},
// tableData: [],
tableData2: [],
tableData: [],
},
rules: {
code: [{ required: true, message: '请输入', trigger: 'blur' }],
name: [{ required: true, message: '请输入', trigger: 'blur' }],
workCenterId: [{ required: true, message: '请选择', trigger: 'blur' }],
platingType: [{ required: true, message: '请选择', trigger: 'blur' }],
priority: [{ required: true, message: '请选择', trigger: 'blur' }],
templateType: [{ required: true, message: '请选择', trigger: 'blur' }],
// code: [{ required: true, message: '', trigger: 'blur' }],
// name: [{ required: true, message: '', trigger: 'blur' }],
// workCenterId: [{ required: true, message: '', trigger: 'blur' }],
// platingType: [{ required: true, message: '', trigger: 'blur' }],
// priority: [{ required: true, message: '', trigger: 'blur' }],
// templateType: [{ required: true, message: '', trigger: 'blur' }],
promodel: {
code: [{ required: true, message: '请输入模板编码', trigger: 'blur' }],
name: [{ required: true, message: '请输入模板名称', trigger: 'blur' }],
workCenterId: [{ required: true, message: '请选择作业中心', trigger: 'blur' }],
platingType: [{ required: true, message: '请选择镀种分类', trigger: 'blur' }],
priority: [{ required: true, message: '请选择优先级', trigger: 'blur' }],
templateType: [{ required: true, message: '请选择模板类型', trigger: 'blur' }],
},
tableData: [
{
required: true,
@ -504,16 +501,36 @@ export default {
mounted() {
this.openShow = this.showDialog;
this.getDictionary();
this.getProcessesTeams();
this.getProcessList();
this.getWorkCenterList();
this.getProcessAbilityList();
this.getProject();
this.getStandardList();
if (this.title == '修改') {
this.getDetail();
}
//
Promise.all([
this.getDictionary(),
this.getProcessesTeams(),
this.getProcessList(),
this.getWorkCenterList(),
this.getProcessAbilityList(),
this.getProject(),
this.getStandardList(),
])
.then(() => {
//
if (this.title == '修改') {
return this.getDetail();
}
})
.then(() => {
this.treeData = [
{
label: '工序列表',
processList: this.ruleForm.tableData,
},
];
//
this.$nextTick(() => {
if (this.ruleForm.tableData.length > 0) {
this.ruleForm.tableData = this.treeData[0].processList;
}
});
});
},
methods: {
//
@ -538,16 +555,17 @@ export default {
},
//
handleNodeClick(nodes, node, self) {
const data = nodes;
handleNodeClick(data) {
if (data.label && data.processList) {
// ""
this.activeName = '1';
this.treeLeave = 1;
this.ruleForm.tableData = data.processList;
} else if (data.processInfo) {
this.activeName = '2';
this.treeLeave = 2;
this.ruleForm.tableData2 = [data.projectInfo];
this.treeLeave = 1; //
this.ruleForm.tableData = [];
} else if (data.processName && data.modelProjectList) {
//
this.activeName = '2'; // Tab
this.treeLeave = 2; //
this.ruleForm.tableData2 = data.modelProjectList;
}
},
// tab
@ -590,8 +608,11 @@ export default {
},
getDetail() {
getDetail(this.updateRow.id).then(res => {
this.ruleForm = res.data.data.dsProModelEntity;
this.ruleForm.tableData = res.data.data.dsProDetailEntityList;
this.ruleForm.promodel = res.data.data.dsProModelEntity;
//
this.ruleForm.tableData = res.data.data.proDetailVOList;
this.treeData = [{ label: '工序列表', processList: res.data.data.proDetailVOList }];
});
},
getDictionary() {
@ -650,42 +671,64 @@ export default {
style: pinyin.STYLE_NORMAL, // STYLE_TONE
heteronym: false, //
});
// / 1. promodel
const promodel = {
code: this.ruleForm.promodel.code,
name: this.ruleForm.promodel.name,
workCenterId: this.ruleForm.promodel.workCenterId,
platingType: this.ruleForm.promodel.platingType,
priority: this.ruleForm.promodel.priority,
templateType: this.ruleForm.promodel.templateType,
remarks: this.ruleForm.promodel.remarks,
//
modelNameStr: pinyin(this.ruleForm.promodel.name, {
style: pinyin.STYLE_NORMAL,
heteronym: false,
})
.flat()
.join(''),
};
// 2.
const tableData = this.ruleForm.tableData.map(item => {
const { _tempId, ...rest } = item; // ID
return rest;
});
let query = {
promodel: {
...this.ruleForm,
modelNameStr: pinyinArr.flat().join(''),
},
tableData: this.ruleForm.tableData,
promodel,
tableData,
};
console.log('提交数据:', query);
//
if (!this.moldAddMore) {
update(query)
.then(res => {
this.formLoading = false;
this.$message({
type: 'success',
message: '操作成功!',
});
this.$emit('closeDialog');
})
.catch(err => {
this.formLoading = false;
});
// update(query)
// .then(res => {
// this.formLoading = false;
// this.$message({
// type: 'success',
// message: '!',
// });
// this.$emit('closeDialog');
// })
// .catch(err => {
// this.formLoading = false;
// });
} else {
//
add(query)
.then(res => {
this.formLoading = false;
this.$message({
type: 'success',
message: '操作成功!',
});
this.$emit('closeDialog');
})
.catch(err => {
this.formLoading = false;
});
// add(query)
// .then(res => {
// this.formLoading = false;
// this.$message({
// type: 'success',
// message: '!',
// });
// this.$emit('closeDialog');
// })
// .catch(err => {
// this.formLoading = false;
// });
}
} else {
//

Loading…
Cancel
Save