From a4698d207dd020f3f8182baaf01f6ae8e5b8a917 Mon Sep 17 00:00:00 2001 From: lb Date: Sun, 29 Jan 2023 15:27:38 +0800 Subject: [PATCH] add DialogJustForm & update factory, productLine --- .prettierrc | 3 + src/components/BaseSearchForm.vue | 8 +- src/components/DialogJustForm.vue | 290 ++++++++++++ .../operationComponent.js | 1 + src/utils/request.js | 4 +- src/views/atomViews/ListViewWithHead.vue | 427 +++++++++--------- src/views/modules/pms/factory/config.js | 123 ++--- src/views/modules/pms/material/config.js | 20 +- .../modules/pms/productionLine/config.js | 199 ++++---- 9 files changed, 638 insertions(+), 437 deletions(-) create mode 100644 .prettierrc create mode 100644 src/components/DialogJustForm.vue diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..01cdf34 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "printWidth": 150 +} \ No newline at end of file diff --git a/src/components/BaseSearchForm.vue b/src/components/BaseSearchForm.vue index 52fc974..4d83eff 100644 --- a/src/components/BaseSearchForm.vue +++ b/src/components/BaseSearchForm.vue @@ -8,17 +8,17 @@ :key="opt.prop" :label="opt.label ? opt.label : null" :prop="'' + index" - :rules="opt.elconfig?.rules ? opt.elconfig.rules : undefined" + :rules="opt.bind?.rules ? opt.bind.rules : undefined" > + + +
+

+ {{ detailMode ? "查看详情" : dataForm.id ? "编辑" : "新增" }} +

+
+ + + + + + + + + + + + + + + + + + + + +
+ + 取消 +
+
+ + + + + diff --git a/src/components/noTemplateComponents/operationComponent.js b/src/components/noTemplateComponents/operationComponent.js index 12f3fb5..58c0b8e 100644 --- a/src/components/noTemplateComponents/operationComponent.js +++ b/src/components/noTemplateComponents/operationComponent.js @@ -36,6 +36,7 @@ export default { delete: '删除', viewAttr: '查看属性', preview: '预览', + view: '查看', design: '设计', 'view-trend': '查看趋势' // add more... diff --git a/src/utils/request.js b/src/utils/request.js index 2c38932..324cdcc 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -58,8 +58,8 @@ http.interceptors.response.use(response => { } return response }, error => { - console.error(error) - return Promise.reject(error) + console.error('[response interceptor]: ', error) + return Promise.reject(error.message) }) export default http diff --git a/src/views/atomViews/ListViewWithHead.vue b/src/views/atomViews/ListViewWithHead.vue index 92fccf9..9b3cbf3 100644 --- a/src/views/atomViews/ListViewWithHead.vue +++ b/src/views/atomViews/ListViewWithHead.vue @@ -1,240 +1,249 @@ diff --git a/src/views/modules/pms/factory/config.js b/src/views/modules/pms/factory/config.js index 9c3f739..981ef34 100644 --- a/src/views/modules/pms/factory/config.js +++ b/src/views/modules/pms/factory/config.js @@ -10,22 +10,26 @@ export default function () { { prop: 'code', label: '工厂编码' }, { prop: 'address', label: '地址' }, { prop: 'description', label: '描述' }, - // { - // prop: 'operations', - // name: '操作', - // fixed: 'right', - // width: 120, - // subcomponent: TableOperaionComponent, - // options: ['edit', { name: 'delete', permission: 'pms:blenderStep:delete' }] - // } + { + prop: 'operations', + name: '操作', + fixed: 'right', + width: 120, + subcomponent: TableOperaionComponent, + // options: ['edit', { name: 'delete', permission: 'pms:blenderStep:delete' }] + options: ['view'] + } ] const headFormFields = [ { - label: '名称', + label: '工厂名称', input: true, - default: { value: '' } + default: { value: '' }, + bind: { + placeholder: '请输入工厂名称' + } }, { button: { @@ -42,97 +46,35 @@ export default function () { // } ] - - const dialogConfigs = { - menu: [{ name: '混料程序' }, { name: '参数明细', onlyEditMode: true }], + /** + * dialog config 有两个版本,一个适用于 DialogWithMenu 组件,另一个适用于 DialogJustForm 组件 + * 适用于 DialogWithMenu 组件的配置示例详见 blenderStep/config.js + * 此为后者的配置: + */ + const dialogJustFormConfigs = { form: { - url: '/pms/blenderStep', rows: [ [ - { input: true, label: '混料程序名称', prop: 'name', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序名称' } }, - { input: true, label: '程序编码', prop: 'code', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序编码' } }, - { input: true, label: '版本号', prop: 'version', elparams: { placeholder: '请输入版本号' } }, + { input: true, label: '工厂名称', prop: 'name', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入工厂名称' } }, + { input: true, label: '工厂编码', prop: 'code', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入工厂编码' } }, ], [ - // { - // 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: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序号' } }, + { input: true, label: '地址', prop: 'address', elparams: { placeholder: '' } }, // '请输入工厂所在地' } }, + { input: true, label: '备注', prop: 'remark', elparams: { placeholder: '备注' } } ], - // [{ switch: true, label: '状态', prop: 'enabled', default: 0 }], - [{ 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: 'cancel', label: '取消', showAlways: true }, - ], - }, - table: { - // extraParams: ['stepId'], - extraParams: 'stepId', - props: [ - { 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: 'operations', - name: '操作', - fixed: 'right', - width: 120, - subcomponent: TableOperaionComponent, - options: [ - { name: 'edit', permission: 'pms:blenderStepParam:update' }, - { name: 'delete', permission: 'pms:blenderStepParam:delete' }, - ] - } - ], - data: [ - // TOOD 暂时用不到,但获取可以考虑把拉取接口数据的函数迁移到此文件(没有太大必要) - ], - }, - - subDialog: { - extraParam: 'stepId', - rows: [ - [ - { input: true, label: '步骤', prop: 'sort', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入步骤' } }, - { input: true, label: '步骤描述', prop: 'description', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入描述' } }, - ], [ - { input: true, label: '参数名称', prop: 'name', elparams: { placeholder: '请输入参数名称' } }, - { input: true, label: '参数编码', prop: 'code', rules: { required: true, message: 'not empty', 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: '请输入参数值' } }, - ] - ], - 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 }, ], + // 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: 'cancel', label: '取消', showAlways: true }, + // ], }, }; return { - dialogConfigs, + dialogConfigs: dialogJustFormConfigs, tableConfig: { table: null, // 此处可省略,el-table 上的配置项 column: tableProps, // el-column-item 上的配置项 @@ -144,9 +86,6 @@ export default function () { urls: { base: '/pms/factory', page: '/pms/factory/page', - // subase: '/pms/blenderStepParam', - // subpage: '/pms/blenderStepParam/page', - // more... } } } \ No newline at end of file diff --git a/src/views/modules/pms/material/config.js b/src/views/modules/pms/material/config.js index 5f09235..1784106 100644 --- a/src/views/modules/pms/material/config.js +++ b/src/views/modules/pms/material/config.js @@ -50,6 +50,11 @@ export default function () { ] + /** + * dialog config 有两个版本,一个适用于 DialogWithMenu 组件,另一个适用于 DialogJustForm 组件 + * 适用于 DialogWithMenu 组件的配置示例详见 blenderStep/config.js + * 此为后者的配置: + */ const dialogConfigs = { menu: [{ name: '混料程序' }, { name: '参数明细', onlyEditMode: true }], form: { @@ -60,21 +65,6 @@ export default function () { { input: true, label: '程序编码', prop: 'code', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序编码' } }, { input: true, label: '版本号', prop: 'version', elparams: { placeholder: '请输入版本号' } }, ], - [ - // { - // 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: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序号' } }, - ], - // [{ switch: true, label: '状态', prop: 'enabled', default: 0 }], [{ textarea: true, label: '备注', prop: 'remark', elparams: { placeholder: '备注' } }], ], operations: [ diff --git a/src/views/modules/pms/productionLine/config.js b/src/views/modules/pms/productionLine/config.js index b52bd28..aa6e8d2 100644 --- a/src/views/modules/pms/productionLine/config.js +++ b/src/views/modules/pms/productionLine/config.js @@ -1,155 +1,124 @@ -import TableOperaionComponent from '@/components/noTemplateComponents/operationComponent' -import TableTextComponent from '@/components/noTemplateComponents/detailComponent' -import StatusComponent from '@/components/noTemplateComponents/statusComponent' -import InputArea from 'code-brick-zj' +import TableOperaionComponent from "@/components/noTemplateComponents/operationComponent"; +import TableTextComponent from "@/components/noTemplateComponents/detailComponent"; +import StatusComponent from "@/components/noTemplateComponents/statusComponent"; +import request from "@/utils/request"; export default function () { - const tableProps = [ - { prop: 'name', label: '产线名称' }, - { prop: 'code', label: '产线编码' }, - { prop: 'factory', label: '所属工厂' }, - { prop: 'status', label: '产线状态', subcomponent: StatusComponent }, // subcomponent - { prop: 'tvalue', label: '每小时下片数量', }, - { prop: 'description', label: '描述', }, - { prop: 'remark', label: '备注' }, + { prop: "name", label: "产线名称" }, + { prop: "code", label: "产线编码" }, + { prop: "factory", label: "所属工厂" }, + { prop: "status", label: "产线状态", subcomponent: StatusComponent }, // subcomponent + { prop: "tvalue", label: "每小时下片数量" }, + { prop: "description", label: "描述" }, + { prop: "remark", label: "备注" }, { - prop: 'operations', - name: '操作', - fixed: 'right', + prop: "operations", + name: "操作", + fixed: "right", width: 120, subcomponent: TableOperaionComponent, - options: ['edit', { name: 'delete', permission: '' }] - } - ] - + options: ["edit", { name: "delete", permission: "pms:productionLine:delete" }], + }, + ]; const headFormFields = [ { - label: '产线名称/编码', + label: "产线名称/编码", input: true, - default: { value: '' } - }, - { - button: { - type: 'primary', - name: '查询' + default: { value: "" }, + bind: { + placeholder: '请输入产线名称或编码' } }, { button: { - type: 'plain', - name: '新增', - permission: '' - } - } - ] + type: "primary", + name: "查询", + }, + }, + { + button: { + type: "plain", + name: "新增", + permission: "", + }, + }, + ]; - - const dialogConfigs = { - menu: [{ name: '混料程序' }, { name: '参数明细', onlyEditMode: true }], + /** + * dialog config 有两个版本,一个适用于 DialogWithMenu 组件,另一个适用于 DialogJustForm 组件 + * 适用于 DialogWithMenu 组件的配置示例详见 blenderStep/config.js + * 此为后者的配置: + */ + const dialogJustFormConfigs = { form: { - url: '/pms/blenderStep', rows: [ [ - { input: true, label: '混料程序名称', prop: 'name', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序名称' } }, - { input: true, label: '程序编码', prop: 'code', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序编码' } }, - { input: true, label: '版本号', prop: 'version', elparams: { placeholder: '请输入版本号' } }, + { + input: true, + label: "产线名称", + prop: "name", + rules: { required: true, message: "not empty", trigger: "blur" }, + elparams: { placeholder: "请输入产线名称" }, + }, + { + input: true, + label: "产线编码", + prop: "code", + rules: { required: true, message: "not empty", trigger: "blur" }, + elparams: { placeholder: "请输入产线编码" }, + }, ], [ - // { - // 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: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入混料程序号' } }, + { + select: true, + label: "所属工厂", + prop: "factoryId", + fetchData: () => this.$http.get("/pms/factory/page", { params: { limit: 999, page: 1 } }), + option: [], + rules: { required: true, message: "not empty", trigger: "change" }, + }, + { + input: true, + label: "产线TT值", + prop: "tvalue", + rules: [ + { required: true, message: "not empty", trigger: "blur" }, + { type: "number", message: "数字", trigger: "blur", transform: (val) => Number(val) }, + ], + elparams: { placeholder: "设定TT值(每小时下片数量)" }, + }, ], - // [{ switch: true, label: '状态', prop: 'enabled', default: 0 }], - [{ textarea: true, label: '备注', prop: 'remark', elparams: { placeholder: '备注' } }], + [{ textarea: true, label: "描述信息", prop: "description", elparams: { placeholder: "描述信息" } }], + [{ input: 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: 'cancel', label: '取消', showAlways: true }, - ], - }, - table: { - // extraParams: ['stepId'], - extraParams: 'stepId', - props: [ - { 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: 'operations', - name: '操作', - fixed: 'right', - width: 120, - subcomponent: TableOperaionComponent, - options: [ - { name: 'edit', permission: 'pms:blenderStepParam:update' }, - { name: 'delete', permission: 'pms:blenderStepParam:delete' }, - ] - } - ], - data: [ - // TOOD 暂时用不到,但获取可以考虑把拉取接口数据的函数迁移到此文件(没有太大必要) - ], - }, - - subDialog: { - extraParam: 'stepId', - rows: [ - [ - { input: true, label: '步骤', prop: 'sort', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入步骤' } }, - { input: true, label: '步骤描述', prop: 'description', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入描述' } }, - ], [ - { input: true, label: '参数名称', prop: 'name', elparams: { placeholder: '请输入参数名称' } }, - { input: true, label: '参数编码', prop: 'code', rules: { required: true, message: 'not empty', 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: '请输入参数值' } }, - ] - ], - 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: "add", label: "保存", type: "primary", permission: "pms:productionLine:save", showOnEdit: false }, + { name: "update", label: "更新", type: "primary", permission: "pms:productionLine:update", showOnEdit: true }, + { name: "reset", label: "重置", type: "warning", showAlways: true }, // { name: 'cancel', label: '取消', showAlways: true }, ], }, }; - + // 备注:弹窗弹出的时间和网速有关...... return { - dialogConfigs, + dialogConfigs: dialogJustFormConfigs, tableConfig: { table: null, // 此处可省略,el-table 上的配置项 column: tableProps, // el-column-item 上的配置项 }, headFormConfigs: { rules: null, // 名称是由 BaseSearchForm.vue 组件固定的 - fields: headFormFields // 名称是由 BaseSearchForm.vue 组件固定的 + fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的 }, urls: { - base: '/pms/productionLine', - page: '/pms/productionLine/page', + base: "/pms/productionLine", + page: "/pms/productionLine/page", // subase: '/pms/blenderStepParam', // subpage: '/pms/blenderStepParam/page', // more... - } - } -} \ No newline at end of file + }, + }; +}