diff --git a/public/index.html b/public/index.html index c743726..2bac74f 100644 --- a/public/index.html +++ b/public/index.html @@ -39,8 +39,8 @@ <% } %> diff --git a/src/views/atomViews/ListViewWithHead.vue b/src/views/atomViews/ListViewWithHead.vue index dfe7abb..3e54fe2 100644 --- a/src/views/atomViews/ListViewWithHead.vue +++ b/src/views/atomViews/ListViewWithHead.vue @@ -143,32 +143,48 @@ export default { : { params, } - ).then(({ data: res }) => { - console.log("[http response] res is: ", res); + ) + .then(({ data: res }) => { + console.log("[http response] res is: ", res); - // page 场景: - if ("list" in res.data) { - // real env: - this.dataList = res.data.list.map((item) => { - return { - ...item, - id: item._id ?? item.id, - }; - // } + if (res.code === 0) { + // page 场景: + if ("list" in res.data) { + // real env: + this.dataList = res.data.list.map((item) => { + return { + ...item, + id: item._id ?? item.id, + }; + // } + }); + this.totalPage = res.data.total; + } else if ("records" in res.data) { + this.dataList = res.data.records.map((item) => ({ + ...item, + id: item._id ?? item.id, + })); + this.totalPage = res.data.total; + } else { + this.dataList.splice(0); + this.totalPage = 0; + } + } else { + this.$message({ + message: `${res.code}: ${res.msg}`, + type: "error", + duration: 2000, + }); + } + this.tableLoading = false; + }) + .catch((err) => { + this.$message({ + message: `${err}`, + type: "error", + duration: 2000, }); - this.totalPage = res.data.total; - } else if ("records" in res.data) { - this.dataList = res.data.records.map((item) => ({ - ...item, - id: item._id ?? item.id, - })); - this.totalPage = res.data.total; - } else { - this.dataList.splice(0); - this.totalPage = 0; - } - this.tableLoading = false; - }); + }); // } }, diff --git a/src/views/modules/pms/packingStep/config.js b/src/views/modules/pms/packingStep/config.js new file mode 100644 index 0000000..3b3eb81 --- /dev/null +++ b/src/views/modules/pms/packingStep/config.js @@ -0,0 +1,217 @@ +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: "createTime", label: "添加时间", filter: timeFilter }, + { prop: "name", label: "工艺名称" }, + { prop: "code", label: "工艺编码" }, + // { prop: 'version', label: '配方号' }, + { prop: "shapeCode", label: "砖型" }, + // { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent + { prop: "description", label: "详情", subcomponent: TableTextComponent }, + { prop: "remark", label: "备注" }, + { + prop: "operations", + name: "操作", + fixed: "right", + width: 160, + subcomponent: TableOperaionComponent, + options: ["copy", "edit", { name: "delete", emitFull: true, permission: "pms:packingStep:delete" }], + }, + ]; + + const headFormFields = [ + { + prop: "key", + label: "工艺名称/编码", + input: true, + default: { value: "" }, + bind: { + placeholder: "请输入工艺名称或编码", + }, + }, + { + prop: "shape", + 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:packingStep:save", + }, + }, + ]; + + const dialogConfigs = { + extraIds: { wsId: 5 }, // 工艺管理里面的相关模块的 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: "请输入工艺编码" }, + }, + ], + [ + { + forceDisabled: true, + prop: 'shapeCode', + label: '当前砖型' + }, + { + select: true, + label: "选择新砖型", + prop: "shapeId", + options: [], + refreshOptionsAfterConfirm: true, + elparams: { clearable: true, filterable: true, placeholder: "请选择砖型" }, + // 下面参数的 techId 是为 /pms/xxx/listUnR 接口定制的,默认为 -1,新增时使用,编辑时传对应的 工艺id + fetchData: (techId = -1) => this.$http.get("/pms/shape/listUnR", { params: { wsId: 5, externalCode: '', key: '', techId } }), + }, + ], + // { + // select: true, + // label: "砖型", + // prop: "shape", + // options: [], + // elparams: { clearable: true, filterable: true, placeholder: "请选择砖型" }, + // fetchData: () => this.$http.get("/pms/shape/page", { params: { limit: 999, page: 1 } }), + // }, + [{ textarea: true, label: "备注", prop: "remark", elparams: { placeholder: "备注" } }], + ], + operations: [ + { name: "add", label: "保存", type: "primary", permission: "pms:packingStep:save", showOnEdit: false }, + { name: "update", label: "更新", type: "primary", permission: "pms:packingStep: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: "description", label: "描述", isEditField: true }, + { prop: "value", label: "设定值", isEditField: true }, + { prop: "valueFloor", label: "值下限", isEditField: true }, + { prop: "valueTop", 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", 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: { + table: null, // 此处可省略,el-table 上的配置项 + column: tableProps, // el-column-item 上的配置项 + }, + headFormConfigs: { + rules: null, // 名称是由 BaseSearchForm.vue 组件固定的 + fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的 + }, + urls: { + base: "/pms/equipmentTech", + page: "/pms/equipmentTech/pageView", + pageIsPostApi: true, // 使用post接口来获取page数据,极少用,目前基本上只有工艺管理模块里在用 + subase: "/pms/equipmentTechParam", + subpage: "/pms/equipmentTechParam/page", + copyUrl: "/pms/equipmentTech/copy", + // more... + }, + }; +} diff --git a/src/views/modules/pms/packingStep/index.vue b/src/views/modules/pms/packingStep/index.vue new file mode 100644 index 0000000..87e42f3 --- /dev/null +++ b/src/views/modules/pms/packingStep/index.vue @@ -0,0 +1,51 @@ + + + + +