diff --git a/src/components/noTemplateComponents/operationComponent.js b/src/components/noTemplateComponents/operationComponent.js index eafc873..3aa3260 100644 --- a/src/components/noTemplateComponents/operationComponent.js +++ b/src/components/noTemplateComponents/operationComponent.js @@ -50,6 +50,9 @@ export default { } } }, + // mounted() { + // console.log('inject data', this.injectData) + // }, methods: { // 发射事件 emit(opt) { @@ -63,7 +66,17 @@ export default { } else { eventType = opt } - this.$emit('emit-data', { type: eventType, data: emitFull ? this.injectData : customField ? this.injectData[customField] : this.injectData.id, url: this.injectData.url }) + + /** 处理 toRouter */ + let payload = { type: eventType, data: emitFull ? this.injectData : customField ? this.injectData[customField] : this.injectData.id } + if ('url' in opt) { + payload.url = this.injectData.url + } + if ('toRouter' in opt) { + payload.toRouter = opt.toRouter + } + // this.$emit('emit-data', { type: eventType, data: emitFull ? this.injectData : customField ? this.injectData[customField] : this.injectData.id, url: this.injectData.url, toRouter: opt.toRouter }) + this.$emit('emit-data', payload) } }, render: function (h) { diff --git a/src/views/modules/pms/blenderBatch/config.js b/src/views/modules/pms/blenderBatch/config.js new file mode 100644 index 0000000..14ecdf6 --- /dev/null +++ b/src/views/modules/pms/blenderBatch/config.js @@ -0,0 +1,211 @@ +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: "序号" }, + { width: 160, prop: "createTime", label: "添加时间", filter: timeFilter }, + // { prop: "kilnCode", label: "窑炉" }, + { prop: "batchNo", label: "批次编码" }, + { prop: "batchSize", label: "批次重量 [kg]" }, + { prop: "status", label: "状态" }, + { prop: "startTime", label: "开始时间" }, + { prop: "task", label: "任务分类" }, + { prop: "blenderCode", label: "混料机" }, + // { width: 120, prop: "orderCate", label: "主订单子号" }, + // { width: 160, prop: "code", label: "压制订单号" }, + // { prop: "statusDictValue", label: "订单状态", filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"), }, + // { width: 120, prop: "qty", label: "要求生产数量" }, + // { prop: "qtyComplete", label: "完成数量" }, + // { prop: "percent", label: "完成进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") }, + // { prop: "goodqty", label: "合格数量" }, + // { width: 120, prop: "badqty", label: "不合格数量" }, + // { prop: "remark", label: "备注" }, + // { prop: 'version', label: '配方号' }, + // { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent + // { prop: "description", label: "详情", subcomponent: TableTextComponent }, + { + prop: "operations", + name: "操作", + fixed: "right", + width: 160, + subcomponent: TableOperaionComponent, + options: ['add', 'edit', 'detail'] // , url: '/pms/trans/pressDeli' }] + // options: ["copy", "edit", { name: "delete", emitFull: true, permission: "pms:blenderStep:delete" }], + }, + ]; + + const headFormFields = [ + // { + // prop: "code", + // label: "主订单号", + // input: true, + // default: { value: "" }, + // bind: { + // placeholder: "请输入主订单号查询", + // }, + // }, + { + label: '订单批次' + }, + // { + // button: { + // type: "primary", + // name: "查询", + // }, + // }, + { + button: { + type: "plain", + name: "新增批次", + permission: "", + }, + }, + ]; + + // const dialogConfigs = { + // extraIds: { wsId: 3 }, // 工艺管理里面的相关模块的 dialogWithMenu 需要额外的工序 id + // menu: [ + // { name: "烧制工艺", key: "info" }, + // { name: "工艺参数", key: "attr", onlyEditMode: true }, + // ], + // form: { + // 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: "请输入烧制工艺编码" }, + // }, + // { + // select: true, + // label: "配方", + // prop: "bomId", + // options: [], + // 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, externalCode: '', key: '', techId } }), + // }, + // ], + // // [ + // // { + // // forceDisabled: true, + // // prop: 'bomCode', + // // label: '当前配方' + // // }, + // // ], + // [{ 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 }, + // // { 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", + // width: 120, + // subcomponent: TableOperaionComponent, + // options: [ + // { name: "edit", permission: "pms:blenderStepParam:update" }, + // { name: "delete", 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/blenderBatch", + page: "/pms/blenderBatch/pageView", + // pageIsPostApi: true, // 使用post接口来获取page数据,极少用,目前基本上只有工艺管理模块里在用 + // subase: "/pms/equipmentTechParam", + // subpage: "/pms/equipmentTechParam/page", + // copyUrl: "/pms/equipmentTech/copy", + // more... + }, + }; +} diff --git a/src/views/modules/pms/blenderBatch/index.vue b/src/views/modules/pms/blenderBatch/index.vue new file mode 100644 index 0000000..3c169ff --- /dev/null +++ b/src/views/modules/pms/blenderBatch/index.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/views/modules/pms/blenderOrder/components/ListViewWithHead.vue b/src/views/modules/pms/blenderOrder/components/ListViewWithHead.vue index f4cecfd..a937f49 100644 --- a/src/views/modules/pms/blenderOrder/components/ListViewWithHead.vue +++ b/src/views/modules/pms/blenderOrder/components/ListViewWithHead.vue @@ -164,7 +164,7 @@ export default { }, /** 处理 表格操作 */ - handleOperate({ type, data }) { + handleOperate({ type, data, toRouter }) { console.log("payload", type, data); // 编辑、删除、跳转路由、打开弹窗(动态component)都可以在配置里加上 url // payload: { type: string, data: string | number | object } @@ -209,6 +209,15 @@ export default { this.openDialog(data, true); break; } + case 'view-batch': { + this.$router.push({ + name: toRouter, + params: { + id: data // 混料订单id + } + }) + break; + } case "detach": { return this.$http .post(this.urls.detach, data /* { id: data } */, { headers: { "Content-Type": "application/json" } }) diff --git a/src/views/modules/pms/blenderOrder/config.js b/src/views/modules/pms/blenderOrder/config.js index 0d79697..4e45fd1 100644 --- a/src/views/modules/pms/blenderOrder/config.js +++ b/src/views/modules/pms/blenderOrder/config.js @@ -36,7 +36,7 @@ export default function () { subcomponent: TableOperaionComponent, options: [ { name: "edit", label: "编辑", emitFull: true }, - { name: "view-batch", label: "查看批次", color: "#ff8000" }, + { name: "view-batch", label: "查看批次", color: "#ff8000", toRouter: 'pms-blenderBatch' }, // 路由跳转至 pms-blenderBatch { name: "detach", label: "下发", color: "#099" }, ], // , url: '/pms/trans/pressDeli' }] // options: ["copy", "edit", { name: "delete", emitFull: true, permission: "pms:blenderStep:delete" }],