From eaf91c90b9db12cd5c5f080969fdaef8d6608100 Mon Sep 17 00:00:00 2001 From: lb Date: Wed, 19 Jul 2023 08:57:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20bomTechAndFiring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DialogWithMenu.vue | 2 + src/views/atomViews/ListViewWithHead.vue | 1 + .../modules/pms/bomTechAndFiring/config.js | 204 ++++++++++++++++++ .../modules/pms/bomTechAndFiring/index.vue | 37 ++++ .../order/components/ListSectionWithHead.vue | 7 +- src/views/modules/pms/shapeStep/index.vue | 2 +- 6 files changed, 248 insertions(+), 5 deletions(-) create mode 100644 src/views/modules/pms/bomTechAndFiring/config.js create mode 100644 src/views/modules/pms/bomTechAndFiring/index.vue diff --git a/src/components/DialogWithMenu.vue b/src/components/DialogWithMenu.vue index a8d8a87..dae094b 100644 --- a/src/components/DialogWithMenu.vue +++ b/src/components/DialogWithMenu.vue @@ -583,6 +583,8 @@ export default { this.$http.get(this.urls.base + `/${this.dataForm.id}`).then(({ data: res }) => { if (res && res.code === 0) { const dataFormKeys = Object.keys(this.dataForm); + console.log('[DialogWithMenu] dataFormKeys -------->', dataFormKeys) + this.dataForm = __pick(res.data, dataFormKeys); if ("files" in res.data) { console.log("[DialogWithMenu] fileList===>", res.data.files, this.fileList); diff --git a/src/views/atomViews/ListViewWithHead.vue b/src/views/atomViews/ListViewWithHead.vue index f71cf3c..f563cbe 100644 --- a/src/views/atomViews/ListViewWithHead.vue +++ b/src/views/atomViews/ListViewWithHead.vue @@ -334,6 +334,7 @@ export default { .catch((err) => {}); } case "edit": { + console.log("[edit] ",data) this.openDialog(data); /** data is ==> id */ break; } diff --git a/src/views/modules/pms/bomTechAndFiring/config.js b/src/views/modules/pms/bomTechAndFiring/config.js new file mode 100644 index 0000000..b343f49 --- /dev/null +++ b/src/views/modules/pms/bomTechAndFiring/config.js @@ -0,0 +1,204 @@ +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: "序号" }, + { prop: "code", label: "配方号" }, + { prop: "name", label: "牌号" }, + // { prop: "createTime", label: "添加时间", filter: timeFilter }, + { prop: "techCode", label: "烧制曲线" }, + { prop: "description", label: "详情", subcomponent: TableTextComponent }, + // { prop: "remark", label: "备注" }, + { + prop: "operations", + name: "操作", + fixed: "right", + width: 90, + subcomponent: TableOperaionComponent, + options: [ + { name: "edit", label: "编辑", icon: "edit-outline" }, + // { name: "copy", label: "复制", icon: "copy-document" }, + // { name: "delete", icon: "delete", label: "删除", emitFull: true, permission: "" }, + ], + }, + ]; + + const headFormFields = [ + { + prop: "key", + label: "配方", + input: true, + default: { value: "" }, + bind: { + placeholder: "请输入配方号", + }, + }, + { + prop: "tech", + label: "烧制曲线", + input: true, + default: { value: "" }, + bind: { + placeholder: "请输入烧制曲线", + }, + }, + { + button: { + type: "primary", + name: "查询", + permission: "", + }, + }, + ]; + + const dialogConfigs = { + allowAdd: false, + extraIds: { wsId: 3 }, // 工艺管理里面的相关模块的 dialogWithMenu 需要额外的工序 id + // excludeProps: ['code'], // 在add或update时,不传递这个参数给后端 + menu: [ + { name: "烧成曲线", key: "info" }, + { name: "工艺参数", key: "attr", onlyEditMode: true }, + ], + form: { + rows: [ + [ + { + input: true, + label: "配方", + prop: "bomId", + elparams: { placeholder: "请输入配方" }, + }, + ], + [ + { + select: true, + label: "工艺", + prop: "techId", + options: [], + fetchData: () => + this.$http.post("/pms/equipmentTech/pageView", { wsId: 3, bom: "", key: "", limit: 999, page: 1 }), + // refreshOptionsAfterConfirm: true, + rules: { required: true, message: "必填项不能为空", trigger: "blur" }, + elparams: { clearable: true, filterable: true, placeholder: "请选择工艺" }, + // fetchData: (techId = -1) => + // this.$http.get("/pms/bom/listUnR", { params: { wsId: 3, version: "", key: "", techId } }), + // cacheFetchedData: true, + // changeReflects: { + // fromKey: ["code", "version"], + // delimiter: "-", + // toProp: "code", + // }, + }, + // { + // input: true, + // autoDisabled: true, + // label: "工艺编码", + // prop: "code", + // rules: { required: true, message: "必填项不能为空", trigger: "blur" }, + // elparams: { placeholder: "请输入烧成曲线编码" }, + // }, + ], + // [{ textarea: true, label: "备注", prop: "remark", elparams: { placeholder: "备注" } }], + ], + operations: [ + { name: "add", label: "保存", type: "primary", permission: "pms:firingStep:save", showOnEdit: false }, + { name: "update", label: "更新", type: "primary", permission: "pms:firingStep:update", showOnEdit: true }, + { name: "reset", label: "重置", type: "warning", showAlways: true }, + // { name: 'cancel', label: '取消', showAlways: true }, + ], + }, + table: { + extraParams: ["techId", "key"], + props: [ + // { type: 'index', label: '序号' }, + // { prop: "createTime", label: "添加时间", filter: timeFilter }, + { prop: "name", label: "参数名称", isEditField: true }, + { prop: "code", label: "参数编码", isEditField: true }, + { width: 80, prop: "value", label: "参数值", isEditField: true }, + { prop: "description", label: "描述", isEditField: true }, + { + prop: "operations", + name: "操作", + fixed: "right", + width: 90, + subcomponent: TableOperaionComponent, + options: [ + { name: "edit", label: "编辑", icon: "edit-outline", permission: "pms:blenderStepParam:update" }, + // { name: "delete", icon: "delete", label: "删除", emitFull: true, permission: "pms:blenderStepParam:delete" }, + ], + }, + ], + data: [ + // TOOD 暂时用不到,但获取可以考虑把拉取接口数据的函数迁移到此文件(没有太大必要) + ], + }, + + subDialog: { + extraParam: "techId", + 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: "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", showOnEdit: false }, + { name: "update", label: "更新", type: "primary", showOnEdit: true }, + // { 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: { + table: null, // 此处可省略,el-table 上的配置项 + column: tableProps, // el-column-item 上的配置项 + }, + headFormConfigs: { + rules: null, // 名称是由 BaseSearchForm.vue 组件固定的 + fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的 + }, + urls: { + base: "/pms/bomTech", + page: "/pms/bomTech/pageView", + // pageIsPostApi: true, // 使用post接口来获取page数据,极少用,目前基本上只有工艺管理模块里在用 + subase: "/pms/equipmentTechParam", + subpage: "/pms/equipmentTechParam/page", + // copyUrl: "/pms/equipmentTech/copy", + // syncUrl: "/pms/trans/kilnSync" + // more... + }, + }; +} diff --git a/src/views/modules/pms/bomTechAndFiring/index.vue b/src/views/modules/pms/bomTechAndFiring/index.vue new file mode 100644 index 0000000..ec5b14d --- /dev/null +++ b/src/views/modules/pms/bomTechAndFiring/index.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/views/modules/pms/order/components/ListSectionWithHead.vue b/src/views/modules/pms/order/components/ListSectionWithHead.vue index 98dd7f7..79c498b 100644 --- a/src/views/modules/pms/order/components/ListSectionWithHead.vue +++ b/src/views/modules/pms/order/components/ListSectionWithHead.vue @@ -392,15 +392,14 @@ export default { break; case "压制工艺": // 跳转至压制工艺页面 - alert("跳转至压制工艺页面"); - // this.$router.push({ path: "/pms/pressing-process", query: { orderId: payload.id } }); + this.$router.push({ name: "pms-shapeStep" }); break; case "烧制曲线": // 跳转至烧制曲线页面 - alert("跳转至烧制曲线页面"); + this.$router.push({ name: "pms-firingStep" }); break; case "检测工艺": // 跳转至检测工艺页面 - alert("跳转至检测工艺页面"); + this.$router.push({ name: "pms-testingStep" }); break; } }, diff --git a/src/views/modules/pms/shapeStep/index.vue b/src/views/modules/pms/shapeStep/index.vue index c0cae3d..f9b4fbe 100644 --- a/src/views/modules/pms/shapeStep/index.vue +++ b/src/views/modules/pms/shapeStep/index.vue @@ -12,7 +12,7 @@ import initConfig from "./config"; import ListViewWithHead from "@/views/atomViews/ListViewWithHead.vue"; export default { - name: "BlenderView", + name: "ShapeStepView", components: { ListViewWithHead }, provide() { return {