diff --git a/src/components/noTemplateComponents/operationComponent.js b/src/components/noTemplateComponents/operationComponent.js index 1784531..d5d3c0d 100644 --- a/src/components/noTemplateComponents/operationComponent.js +++ b/src/components/noTemplateComponents/operationComponent.js @@ -63,7 +63,7 @@ export default { } else { eventType = opt } - this.$emit('emit-data', { type: eventType, data: emitFull ? this.injectData : customField ? this.injectData[customField] : this.injectData.id }) + this.$emit('emit-data', { type: eventType, data: emitFull ? this.injectData : customField ? this.injectData[customField] : this.injectData.id, url: this.injectData.url }) } }, render: function (h) { diff --git a/src/views/atomViews/ListViewWithHead.vue b/src/views/atomViews/ListViewWithHead.vue index 2c74e76..d2aeeff 100644 --- a/src/views/atomViews/ListViewWithHead.vue +++ b/src/views/atomViews/ListViewWithHead.vue @@ -79,7 +79,7 @@ export default { /** dialog configs 或许可以从 tableConfig 计算出来 computed... */ dialogConfigs: { type: Object, - default: () => null + default: () => null, }, }, computed: { @@ -340,6 +340,26 @@ export default { }, }); } + case "detach": { + return this.$http.post(this.urls.detach, { id: data }).then(({ data: res }) => { + if (res.code === 0) { + this.$message({ + message: "下发成功", + type: "success", + duration: 1500, + onClose: () => { + this.getList(); + }, + }); + } else { + this.$message({ + message: `${res.code}: ${res.msg}`, + type: "error", + duration: 1500, + }); + } + }); + } } }, diff --git a/src/views/modules/pms/pressOrder/config.js b/src/views/modules/pms/pressOrder/config.js new file mode 100644 index 0000000..40940cf --- /dev/null +++ b/src/views/modules/pms/pressOrder/config.js @@ -0,0 +1,234 @@ +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: "orderCode", label: "主订单号" }, + { width: 120, prop: "orderCate", label: "主订单子号" }, + { width: 160, prop: "code", label: "压制订单号" }, + { prop: "statusDictValue", label: "订单状态", filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"), }, + { prop: "startTime", label: "开始时间" }, + { prop: "shapeCode", label: "砖型" }, + { prop: "pressCode", label: "压机" }, + { 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: [{ name: 'detach', label: '下发' }] // , 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: "请输入主订单号查询", + }, + }, + { + prop: "cate", + label: "主订单子号", + input: true, + 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: "plain", + // name: "新增", + // permission: "pms:blenderStep:save", + // }, + // }, + ]; + + // 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/equipmentTech", + page: "/pms/pressOrder/pageView", + detach: "/pms/trans/pressDeli", + pageIsPostApi: true, // 使用post接口来获取page数据,极少用,目前基本上只有工艺管理模块里在用 + // subase: "/pms/equipmentTechParam", + // subpage: "/pms/equipmentTechParam/page", + // copyUrl: "/pms/equipmentTech/copy", + // more... + }, + }; +} diff --git a/src/views/modules/pms/pressOrder/index.vue b/src/views/modules/pms/pressOrder/index.vue new file mode 100644 index 0000000..2451fad --- /dev/null +++ b/src/views/modules/pms/pressOrder/index.vue @@ -0,0 +1,51 @@ + + + + +