From c534369ee2953e09b7b5cfaccca580a621bc9e64 Mon Sep 17 00:00:00 2001 From: lb Date: Wed, 22 Feb 2023 17:04:11 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=B7=B7=E6=96=99=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DialogWithMenu.vue | 28 ++- src/views/modules/pms/blenderStep/config.js | 232 ++++++++++++-------- src/views/modules/pms/blenderStep/index.vue | 78 +++---- 3 files changed, 201 insertions(+), 137 deletions(-) diff --git a/src/components/DialogWithMenu.vue b/src/components/DialogWithMenu.vue index cca1a3f..ebc9b1c 100644 --- a/src/components/DialogWithMenu.vue +++ b/src/components/DialogWithMenu.vue @@ -263,13 +263,15 @@ export default { if (col.fetchData) col.fetchData().then(({ data: res }) => { - console.log("[Fetch Data]", res.data.list); - if (res.code === 0 && res.data.list) { + console.log("[Fetch Data]", "list" in res.data, res.data, res.data.list); + if (res.code === 0) { if (!col.options || !col.options.length) this.$set( col, "options", - res.data.list.map((i) => ({ label: i.name, value: i.id })) + "list" in res.data + ? res.data.list.map((i) => ({ label: i.name, value: i.id })) + : res.data.map((i) => ({ label: i.name, value: i.id })) ); // col.options = res.data.list; else if (col.options.length) { @@ -277,7 +279,9 @@ export default { this.$set( col, "options", - res.data.list.map((i) => ({ label: i.name, value: i.id })) + "list" in res.data + ? res.data.list.map((i) => ({ label: i.name, value: i.id })) + : res.data.map((i) => ({ label: i.name, value: i.id })) ); } } else { @@ -649,11 +653,23 @@ export default { this.$set(this.dataForm, "fileIds", fileIds); } + // 加载额外需要的 id + let extraIds = {} + if (this.configs.extraIds && typeof this.configs.extraIds === 'object') { + // 如果配置里,有 extraIds 选项 + Object.entries(this.configs.extraIds).forEach(([key, value]) => { + extraIds[key] = value + }) + } + // 实际发送请求 this.$http({ url: this.urls.base, method, - data: this.dataForm, + data: { + ...extraIds, + ...this.dataForm, + } }) .then(({ data: res }) => { console.log("[add&update] res is: ", res); @@ -759,7 +775,7 @@ export default { switch (type) { case "delete": { // 确认是否删除 - return this.$confirm(`是否删除条目: ${data.name ?? data.material ? data.material : data.id}`, "提示", { + return this.$confirm(`是否删除条目: ${data.name ?? (data.material ? data.material : data.id)}`, "提示", { confirmButtonText: "确认", cancelButtonText: "我再想想", type: "warning", diff --git a/src/views/modules/pms/blenderStep/config.js b/src/views/modules/pms/blenderStep/config.js index b82ec3b..6537a94 100644 --- a/src/views/modules/pms/blenderStep/config.js +++ b/src/views/modules/pms/blenderStep/config.js @@ -1,109 +1,136 @@ -import TableOperaionComponent from '@/components/noTemplateComponents/operationComponent' -import TableTextComponent from '@/components/noTemplateComponents/detailComponent' -import StatusComponent from '@/components/noTemplateComponents/statusComponent' -import { timeFilter } from '@/utils/filters' +import TableOperaionComponent from "@/components/noTemplateComponents/operationComponent"; +import TableTextComponent from "@/components/noTemplateComponents/detailComponent"; +import StatusComponent from "@/components/noTemplateComponents/statusComponent"; +import { timeFilter } from "@/utils/filters"; export default function () { - const tableProps = [ - { type: 'index', label: '序号' }, + { type: "index", label: "序号" }, { prop: "createTime", label: "添加时间", filter: timeFilter }, - { prop: 'name', label: '混料程序名称' }, - { prop: 'code', label: '程序编码' }, - { prop: 'version', label: '版本号' }, - { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent - { prop: 'remark', label: '备注' }, - { prop: 'description', label: '详情', subcomponent: TableTextComponent }, + { prop: "name", label: "工艺名称" }, + { prop: "code", label: "工艺编码" }, + // { prop: 'version', label: '配方号' }, + { prop: "bomCode", label: "配方号" }, + // { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent + { prop: "description", label: "详情", subcomponent: TableTextComponent }, + { prop: "remark", label: "备注" }, { - prop: 'operations', - name: '操作', - fixed: 'right', + prop: "operations", + name: "操作", + fixed: "right", width: 120, subcomponent: TableOperaionComponent, - options: ['edit', { name: 'delete', permission: 'pms:blenderStep:delete' }] - } - ] - + options: ["edit", { name: "delete", emitFull: true, permission: "pms:blenderStep:delete" }], + }, + ]; const headFormFields = [ { - label: '混料程序名称', + prop: "key", + label: "工艺名称/编码", input: true, - default: { value: '' } + default: { value: "" }, + bind: { + placeholder: "请输入工艺名称或编码", + }, + }, + { + prop: "bom", + label: "配方号", + input: true, + default: { value: "" }, + bind: { + placeholder: "请输入配方号", + }, + }, + // { + // prop: 'bom', + // label: '配方号', + // input: true, + // default: { value: '' }, + // bind: { + // placeholder: '请输入配方号' + // } + // }, + { + button: { + type: "primary", + name: "查询", + }, }, { button: { - type: 'primary', - name: '查询' - } + type: "plain", + name: "新增", + permission: "pms:blenderStep:save", + }, }, - { - button: { - type: 'plain', - name: '新增', - permission: 'pms:blenderStep:save' - } - } - ] - + ]; const dialogConfigs = { - menu: [{ name: '混料程序' }, { name: '参数明细', onlyEditMode: true }], + extraIds: { wsId: 1 }, // 工艺管理里面的相关模块的 dialogWithMenu 需要额外的工序 id + menu: [ + { name: "混料程序", key: "info" }, + { name: "工艺参数", key: "attr", onlyEditMode: true }, + ], form: { - url: '/pms/blenderStep', rows: [ [ - { input: true, label: '混料程序名称', prop: 'name', rules: { required: true, message: '必填项不能为空', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序名称' } }, - { input: true, label: '程序编码', prop: 'code', rules: { required: true, message: '必填项不能为空', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序编码' } }, - { input: true, label: '版本号', prop: 'version', elparams: { placeholder: '请输入版本号' } }, + { + input: true, + label: "工艺名称", + prop: "name", + rules: { required: true, message: "必填项不能为空", trigger: "blur" }, + elparams: { placeholder: "请输入混料程序名称" }, + }, + { + input: true, + label: "工艺编码", + prop: "code", + rules: { required: true, message: "必填项不能为空", trigger: "blur" }, + elparams: { placeholder: "请输入混料程序编码" }, + }, + { + select: true, + label: "配方", + prop: "bomId", + options: [], + elparams: { clearable: true, filterable: true, placeholder: "请选择配方" }, + fetchData: () => this.$http.get("/pms/bom/listUnR", { params: { wsId: 1, externalCode: '', key: '' } }), + }, ], - [ - // { - // select: true, - // label: '城市', - // prop: 'city', - // options: [ - // { label: '1', value: 1 }, - // { label: '2', value: 2 }, - // { label: '3', value: 3 }, - // ], - // elparams: { placeholder: '请选择城市' } - // }, - // { input: true, label: '程序号', prop: '', rules: { required: true, message: '必填项不能为空', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序号' } }, - ], - // [{ switch: true, label: '状态', prop: 'enabled', default: 0 }], - [{ textarea: true, label: '备注', prop: 'remark', elparams: { placeholder: '备注' } }], + [{ textarea: true, label: "备注", prop: "remark", elparams: { placeholder: "备注" } }], ], operations: [ - { name: 'add', label: '保存', type: 'primary', permission: 'pms:blenderStep:save', showOnEdit: false }, - { name: 'update', label: '更新', type: 'primary', permission: 'pms:blenderStep:update', showOnEdit: true }, - { name: 'reset', label: '重置', type: 'warning', showAlways: true }, + { name: "add", label: "保存", type: "primary", permission: "pms:blenderStep:save", showOnEdit: false }, + { name: "update", label: "更新", type: "primary", permission: "pms:blenderStep:update", showOnEdit: true }, + { name: "reset", label: "重置", type: "warning", showAlways: true }, // { name: 'cancel', label: '取消', showAlways: true }, ], }, table: { - // extraParams: ['stepId'], - extraParams: 'stepId', + extraParams: ["techId", "key"], props: [ // { type: 'index', label: '序号' }, // { prop: "createTime", label: "添加时间", filter: timeFilter }, - { prop: 'sort', label: '步骤', isEditField: true }, - { prop: 'name', label: '参数名称', isEditField: true }, - { prop: 'description', label: '描述', isEditField: true }, - { prop: 'value', label: '设定值', isEditField: true }, - { prop: 'valueFloor', label: '值下限', isEditField: true }, - { prop: 'valueTop', label: '值上限', isEditField: true }, + { prop: "name", label: "参数名称", isEditField: true }, + { prop: "code", label: "参数编码", isEditField: true }, + // { prop: "specifications", label: "规格", isEditField: true }, + { prop: "value", label: "设定值", isEditField: true }, + { prop: "valueFloor", label: "值下限", isEditField: true }, + { prop: "valueTop", label: "值上限", isEditField: true }, + { prop: "description", label: "描述", isEditField: true }, { - prop: 'operations', - name: '操作', - fixed: 'right', + prop: "operations", + name: "操作", + fixed: "right", width: 120, subcomponent: TableOperaionComponent, options: [ - { name: 'edit', permission: 'pms:blenderStepParam:update' }, - { name: 'delete', permission: 'pms:blenderStepParam:delete' }, - ] - } + { name: "edit", permission: "pms:blenderStepParam:update" }, + { name: "delete", emitFull: true, permission: "pms:blenderStepParam:delete" }, + ], + }, ], data: [ // TOOD 暂时用不到,但获取可以考虑把拉取接口数据的函数迁移到此文件(没有太大必要) @@ -111,32 +138,48 @@ export default function () { }, subDialog: { - extraParam: 'stepId', + extraParam: "stepId", rows: [ [ - { input: true, label: '步骤', prop: 'sort', rules: { required: true, message: '必填项不能为空', trigger: 'blur' }, elparams: { placeholder: '请输入步骤' } }, - { input: true, label: '步骤描述', prop: 'description', rules: { required: true, message: '必填项不能为空', trigger: 'blur' }, elparams: { placeholder: '请输入描述' } }, - ], [ - { input: true, label: '参数名称', prop: 'name', elparams: { placeholder: '请输入参数名称' } }, - { input: true, label: '参数编码', prop: 'code', rules: { required: true, message: '必填项不能为空', trigger: 'blur' }, elparams: { placeholder: '请输入描述' } }, - ], [ - { input: true, label: '参数值上限', prop: 'valueTop', elparams: { placeholder: '请输入参数值上限' } }, - { input: true, label: '参数值下限', prop: 'valueFloor', elparams: { placeholder: '请输入参数值下限' } }, + { + input: true, + label: "参数名称", + prop: "name", + rules: { required: true, message: "必填项不能为空", trigger: "blur" }, + elparams: { placeholder: "请输入参数名称" }, + }, + { + input: true, + label: "参数编码", + prop: "code", + rules: { required: true, message: "必填项不能为空", trigger: "blur" }, + elparams: { placeholder: "请输入描述" }, + }, ], [ - { input: true, label: '参数值', prop: 'value', elparams: { placeholder: '请输入参数值' } }, - ] + { input: true, label: "参数值上限", prop: "valueTop", elparams: { placeholder: "请输入参数值上限" } }, + { input: true, label: "参数值下限", prop: "valueFloor", elparams: { placeholder: "请输入参数值下限" } }, + ], + [ + { input: true, label: "参数值", prop: "value", elparams: { placeholder: "请输入参数值" } }, + { + input: true, + label: "描述", + prop: "description", + // rules: { required: true, message: "必填项不能为空", trigger: "blur" }, + elparams: { placeholder: "请输入描述" }, + }, + ], ], operations: [ - { name: 'add', label: '保存', type: 'primary', permission: 'pms:blenderStepParam:save', showOnEdit: false }, - { name: 'update', label: '更新', type: 'primary', permission: 'pms:blenderStepParam:update', showOnEdit: true }, + { name: "add", label: "保存", type: "primary", permission: "pms:blenderStepParam:save", showOnEdit: false }, + { name: "update", label: "更新", type: "primary", permission: "pms:blenderStepParam:update", showOnEdit: true }, // { name: 'reset', label: '重置', type: 'warning', showAlways: true }, // { name: 'cancel', label: '取消', showAlways: true }, ], }, }; - return { dialogConfigs, tableConfig: { @@ -145,14 +188,15 @@ export default function () { }, headFormConfigs: { rules: null, // 名称是由 BaseSearchForm.vue 组件固定的 - fields: headFormFields // 名称是由 BaseSearchForm.vue 组件固定的 + fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的 }, urls: { - base: '/pms/blenderStep', - page: '/pms/blenderStep/page', - subase: '/pms/blenderStepParam', - subpage: '/pms/blenderStepParam/page', + base: "/pms/equipmentTech", + page: "/pms/equipmentTech/pageView", + pageIsPostApi: true, // 使用post接口来获取page数据,极少用,目前基本上只有工艺管理模块里在用 + subase: "/pms/equipmentTechParam", + subpage: "/pms/equipmentTechParam/page", // more... - } - } -} \ No newline at end of file + }, + }; +} diff --git a/src/views/modules/pms/blenderStep/index.vue b/src/views/modules/pms/blenderStep/index.vue index 532ae7b..7dda4d3 100644 --- a/src/views/modules/pms/blenderStep/index.vue +++ b/src/views/modules/pms/blenderStep/index.vue @@ -1,46 +1,50 @@