diff --git a/package-lock.json b/package-lock.json index c53c208..eec3ebe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3201,6 +3201,7 @@ "thread-loader": "^2.1.3", "url-loader": "^2.2.0", "vue-loader": "^15.9.2", + "vue-loader-v16": "npm:vue-loader@^16.1.0", "vue-style-loader": "^4.1.2", "webpack": "^4.0.0", "webpack-bundle-analyzer": "^3.8.0", @@ -16945,6 +16946,75 @@ } } }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "vue-router": { "version": "3.0.7", "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.0.7.tgz", diff --git a/public/index.html b/public/index.html index 57e2576..01f0c36 100644 --- a/public/index.html +++ b/public/index.html @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2022-08-22 14:57:50 * @LastEditors: zhp - * @LastEditTime: 2023-06-21 13:55:38 + * @LastEditTime: 2023-07-11 10:23:31 * @Description: --> diff --git a/src/filters/code-filter.js b/src/filters/code-filter.js new file mode 100644 index 0000000..c5b4383 --- /dev/null +++ b/src/filters/code-filter.js @@ -0,0 +1,62 @@ + +/* + * @Date: 2020-12-29 16:49:28 + * @LastEditors: zwq + * @LastEditTime: 2023-07-03 10:40:31 + * @FilePath: \basic-admin\src\filters\basicData\index.js + * @Description: + */ +import moment from 'moment' + +const table = { + eightDisciplineType: { + 1: '客诉问题', + 2: '重大质量问题', + 0: '重复发生问题', + }, + examineStatus: { + 1: '需要审批', + 0: '不需要审批', + }, + step: { + 0: 'D0', + 1: 'D1', + 2: 'D2', + 3: 'D3', + 4: 'D4', + 5: 'D5', + 6: 'D6', + 7: 'D7', + 8: 'D8', + }, + containmentLocaleName: + { + 1: "装配线", + 2: "生产线", + 3: "实验室", + 4: "成品在途", + 5: "第三方中间商", + }, + developCountermeasuresName: + { + 1: "让步接收", + 2: "分选返工", + 3: "隔离", + 4: "退换货", + 5: "通知供应商", + }, +} + +export function timeFormatter(timeObj) { + if (timeObj) { + return moment(timeObj).format('YYYY-MM-DD HH:mm:ss') + } else { + return '-' + } +} + +export default function (dictTable) { + return function (val) { + return table?.[dictTable]?.[val] + } +} \ No newline at end of file diff --git a/src/filters/customerquality/index.js b/src/filters/customerquality/index.js new file mode 100644 index 0000000..0232375 --- /dev/null +++ b/src/filters/customerquality/index.js @@ -0,0 +1,33 @@ +/* + * @Date: 2020-12-29 16:49:28 + * @LastEditors: zhp + * @LastEditTime: 2023-07-13 15:52:31 + * @FilePath: \basic-admin\src\filters\DataDict\index.js + * @Description: 部分常量的数据字典定义 + */ + +const table = { + currentStage:{ + 0: '接受投诉阶段', + 1: '解释澄清阶段', + 2: '提出解决方案阶段', + 3: '回访阶段' + }, + questionType: { + 0: '产品质量题', + 1: '售后服务题', + 2: '物流配送问题', + 3: '单关问题', + 4: '4系统故问题' + }, + status: { + 0: '不可用', + 1: '可用' + }, +} + +export default function (dictTable) { + return function (val) { + return table?.[dictTable]?.[val] + } +} diff --git a/src/filters/supplier/index.js b/src/filters/supplier/index.js index 9ec1133..9a1fea6 100644 --- a/src/filters/supplier/index.js +++ b/src/filters/supplier/index.js @@ -1,7 +1,7 @@ /* * @Date: 2020-12-29 16:49:28 * @LastEditors: zhp - * @LastEditTime: 2023-04-18 16:12:04 + * @LastEditTime: 2023-07-13 15:46:31 * @FilePath: \basic-admin\src\filters\DataDict\index.js * @Description: 部分常量的数据字典定义 */ @@ -13,8 +13,13 @@ const table = { }, available: { 0: '不可用', - 1:'不可用', - } + 1:'可用', + }, + supplierStatus:{ + 0: '合格', + 1: '不合格', + 2:'黑名单', + }, } export default function (dictTable) { diff --git a/src/i18n/en.js b/src/i18n/en.js index 9dc894e..55bf0bf 100644 --- a/src/i18n/en.js +++ b/src/i18n/en.js @@ -1,4 +1,4 @@ -import module from './en' +import module from './eng' const t = {} t.module = module diff --git a/src/i18n/en/basicData.js b/src/i18n/eng/basicData.js similarity index 100% rename from src/i18n/en/basicData.js rename to src/i18n/eng/basicData.js diff --git a/src/i18n/en/index.js b/src/i18n/eng/index.js similarity index 100% rename from src/i18n/en/index.js rename to src/i18n/eng/index.js diff --git a/src/i18n/zh-CN.js b/src/i18n/zh-CN.js index 3bb9e3d..c5d1e03 100644 --- a/src/i18n/zh-CN.js +++ b/src/i18n/zh-CN.js @@ -42,6 +42,7 @@ t.available = '可用' t.notAvailable = '不可用' t.time = '时间段' t.parameter = '台差参数' +t.configuration = '配置' @@ -286,13 +287,22 @@ t.basic.name = '名称' t.basic.code = '编码' t.basic.status = '状态' t.basic.available = '可用' -t.basic.remark = '描述' +t.basic.remark = '备注' t.basic.specification = '规格' t.basic.InspectionStage = '检验阶段' t.basic.InspectionPlan = '检验计划' t.basic.customerTypeName = '客户类型' t.basic.productTypeName = '产品类型名称' t.basic.client = '服务对象' +t.basic.stock = '进货检验' +t.basic.finishedProduct = '成品检验' +t.basic.course = '过程检验' +t.basic.shipment = '出货检验' +t.basic.userName = '用户名' +t.basic.departName = '部门名' + + + t.quality = {} @@ -343,6 +353,17 @@ t.quality.relaxedToNormal = '放宽转正常' t.quality.tightenedToNormal = '加严转正常' t.quality.productName = '检验产品' t.quality.transferTime = '转移时间' +t.quality.inspectionType = '检验类型' +t.quality.measuringTools = '量具' +t.quality.sampleRangeLow = '取样范围低' +t.quality.sampleRangeHigh = '取样范围高' +t.quality.inspectionLevel = '检验水平' +t.quality.sampleSizeCode = '样本量字码' +t.quality.sampleSize = '样本量' + + + + @@ -351,6 +372,7 @@ t.quality.transferTime = '转移时间' t.disqualification = {} t.disqualification.inspectionTypeId = '检验类型' +t.disqualification.name = '名称' t.disqualification.productTypeName = '产品类型' t.disqualification.productName = '产品名称' t.disqualification.teamName = '处置团队' @@ -368,7 +390,6 @@ t.disqualification.disposalMethod = '处置方法' t.disqualification.disposalTime = '处置时间' t.disqualification.remark = '备注' t.disqualification.approvalProcessCode = '编号' -t.disqualification.approvalProcessName = '名称' t.disqualification.approvalProcessType = '类型' t.disqualification.description = '描述' t.disqualification.step = '步骤' @@ -387,7 +408,7 @@ t.supplier.supplierRelevance = '供应商关联产品' t.supplier.abbreviation = '简称' t.supplier.grade = '重要等级' t.supplier.address = '地址' -t.supplier.ment = '供应商状态' +t.supplier.ment = '状态' t.supplier.contact = '联系人' t.supplier.contactEmail = '联系人邮箱' t.supplier.contactPhone = '联系人电话' @@ -431,6 +452,9 @@ t.supplier.lastStartEvaluationPeriod = '上次启动评估时间段' t.supplier.estimatedNextStartTime = '预计下次启动时间' t.supplier.offline = '下限' t.supplier.online = '上限' +t.supplier.supplierStatus = '供应商状态' + + t.gage = {} t.gage.name = '名称' @@ -517,15 +541,18 @@ t.gage.outsideVerify = '外部校验' t.gage.verificationFee = '校验费用' t.gage.report = '量具重复性及再现性分析报告' t.gage.model = '型号' - - - - - - - - - +t.gage.meanRange = '极差均值' +t.gage.meanDifference = '均值差' +t.gage.partAverageMean = 'Rp 零件均值极差' +t.gage.measuringUnit = '测量单元分析' +t.gage.totalVariation = '%总变查(TV)' +t.gage.reproducibility = '再现性-实验人员变差(AV)' +t.gage.repeatability = '重复性-设备变差(EV)' +t.gage.repeatabilityAndReproducibility = '重复性和再现性(R&R)' +t.gage.partVariation = '零件变差(TV)' +t.gage.decide = '综合判定' +t.gage.tabularComputations = '表格计算' +t.gage.fabrication = '制作' @@ -563,13 +590,12 @@ t.code.code = '编码' t.code.description = '描述' t.code.eightDisciplineType = '8D类型' t.code.problemStatus = '状态' -t.code.eightDisciplineStatus = '状态' t.code.actualResponsePeriod = '实际响应周期' t.code.batchNumber = '批次数' t.code.customName = '客户' t.code.defectSource = '缺陷来源' t.code.eightDisciplineId = '8D来源id' -t.code.eightDisciplineStatus = '8D类型' +t.code.eightDisciplineStatus = '8D状态' t.code.productName = '产品名' t.code.orderNo = '订单号' t.code.productType = '产品类型' @@ -636,57 +662,66 @@ t.code.uploaded = '已上传' t.code.notUploaded = '未上传' t.code.Examiner = '检验人' - - - - - - - - - - - - - - - - - - - - - - - - t.dictionary = {} t.dictionary.name = ' 名称' t.dictionary.code = ' 编码' +t.researchquality = {} +t.researchquality.title = '标题' +t.researchquality.description = '描述' +t.researchquality.code = '编码' +t.researchquality.requirementListGroupId = '所属分组' +t.researchquality.registrationDate = '登记日期' +t.researchquality.changeSource = '变更来源' +t.researchquality.owner = '所有者' +t.researchquality.category = 'Category' +t.researchquality.title = '标题' +t.researchquality.currentStage = '当前阶段' +t.researchquality.productName = '产品名称' +t.researchquality.qualityChangeStatus = '状态' +t.researchquality.temporaryChange = '临时变更' +t.researchquality.sourceRemark = '来源备注' +t.researchquality.processName = '工序名称' +t.researchquality.productTypeName = '产品类型' +t.researchquality.planPhase = '计划阶段' +t.researchquality.planTime = '计划时间' +t.researchquality.stageOneName = '阶段1' +t.researchquality.stageTwoName = '阶段2' +t.researchquality.stageThreeName = '阶段3' +t.researchquality.stageFourName = '阶段4' +t.researchquality.stageOneDate = '阶段1时间' +t.researchquality.stageTwoDate = '阶段2时间' +t.researchquality.stageThreeDate = '阶段3时间' +t.researchquality.stageFourDate = '阶段4时间' +t.researchquality.approvedMemo = '审核记录' +t.customerquality = {} +t.customerquality.customerName = '客户名称' +t.customerquality.currentStage = '当前阶段' +t.customerquality.serialNumber = '序列号' +t.customerquality.description = '描述' +t.customerquality.questionType = '问题类型' +t.customerquality.knowledgeBaseName = '知识库名称' +t.customerquality.code = '编号' +t.customerquality.category = '类别' +t.customerquality.requirementListName = '要求清单名称' +t.customerquality.uploadFiles = '不可上传文件' +t.customerquality.accessPath = '访问路径' +t.customerquality.knowledgeBaseFileId = '知识库文件标识' +t.customerquality.title = '标题' +t.customerquality.knowledgeBase = '知识库' +t.customerquality.productName = '品名' +t.customerquality.customerName = '客户' +t.customerquality.qualityAcceptanceDate = '质量接收日期' +t.customerquality.confirmDeliveryDate = '确认交付日期' +t.customerquality.deliveryRequiredDate = '要求交付日期' +t.customerquality.status = '状态' + + + - - - - - - - - - - - - - - - - - - - export default t diff --git a/src/mixins/basic-page.js b/src/mixins/basic-page.js index f1e97cb..79f78d8 100644 --- a/src/mixins/basic-page.js +++ b/src/mixins/basic-page.js @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2022-08-24 11:19:43 * @LastEditors: zhp - * @LastEditTime: 2023-05-16 14:55:04 + * @LastEditTime: 2023-07-11 11:03:11 * @Description: */ export default { @@ -15,7 +15,6 @@ export default { statusUrl: '', exportURL: '' }, - addOrEditTitle: '', tableData: [], listQuery: { limit: 10, @@ -23,13 +22,16 @@ export default { total: 1, }, dataListLoading: false, + addOrEditTitle: '', addOrUpdateVisible: false, + searchsTitle: '', + searchsVisible: false, } }, created() { }, - activated() { - this.getDataList(); + mounted() { + this.getDataList() }, methods: { // 获取数据列表 @@ -71,6 +73,13 @@ export default { this.$refs.addOrUpdate.init(id); }); }, + // 条件搜索 + searchsHandle() { + this.searchsVisible = true; + this.$nextTick(() => { + this.$refs.searchsRef.init(); + }); + }, cancel(id) { this.$refs["popover-" + id].showPopper = false; }, @@ -158,13 +167,26 @@ export default { this.addOrUpdateVisible = false this.addOrEditTitle = '' }, + searchsCancel(){ + this.$refs.searchsRef.formClear() + this.searchsVisible = false + this.searchsTitle = '' + }, handleConfirm() { this.$refs.addOrUpdate.dataFormSubmit() }, + searchsConfirm(){ + this.$refs.searchsRef.dataFormSubmit() + }, successSubmit() { this.handleCancel() this.getDataList() }, + searchsSubmit(obj){ + this.listQuery = {...this.listQuery,...obj} + this.searchsCancel() + this.getDataList() + }, // 导出 exportHandle(name) { this.$http diff --git a/src/mixins/basic-search.js b/src/mixins/basic-search.js index 4ea93b8..8cde398 100644 --- a/src/mixins/basic-search.js +++ b/src/mixins/basic-search.js @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2022-08-24 11:19:43 * @LastEditors: zhp - * @LastEditTime: 2023-02-24 16:16:54 + * @LastEditTime: 2023-07-10 14:35:06 * @Description: */ export default { @@ -72,7 +72,7 @@ export default { }); }, handleSearchReset() { - this.$refs.addOrUpdate.formClear(); + this.$refs.searchOrUpdate.formClear(); }, cancel(id) { this.$refs["popover-" + id].showPopper = false; diff --git a/src/views/main-content.vue b/src/views/main-content.vue index 0ab04d4..26be890 100644 --- a/src/views/main-content.vue +++ b/src/views/main-content.vue @@ -22,9 +22,9 @@ - + - + diff --git a/src/views/modules/basic/components/control-add.vue b/src/views/modules/basic/components/control-add.vue index 6e56661..b303ecd 100644 --- a/src/views/modules/basic/components/control-add.vue +++ b/src/views/modules/basic/components/control-add.vue @@ -1,36 +1,46 @@ @@ -42,8 +52,8 @@ export default { data() { return { urlOptions: { - submitURL: "/basic/qmsCustomerType", - infoURL: "/basic/qmsCustomerType/{id}", + submitURL: "/basic/qmsControlMode", + infoURL: "/basic/qmsControlMode/{id}", getCodeURL: '/basic/qmsControlMode/getCode' }, options: [{ @@ -59,32 +69,38 @@ export default { id: "", controlCode:null, controlName:null, - customerTypeStatus:null + controlStatus: null, + finishInspection: null, + incomingInspection: null, + outInspection: null, + processInspection: null, + specifications: null, + remark:null }, }; }, computed: { dataRule() { return { - dictLabel: [ + controlCode: [ { required: true, message: this.$t("validate.required"), trigger: "blur", }, ], - dictValue: [ + controlName: [ { required: true, message: this.$t("validate.required"), trigger: "blur", }, ], - sort: [ + controlStatus: [ { required: true, message: this.$t("validate.required"), - trigger: "blur", + trigger: "change", }, ], }; @@ -95,13 +111,14 @@ export default { methods: { init(id, ) { this.dataForm.id = id || "" - this.getControlCode() // this.dataForm.dictTypeId = dictTypeId || ""; this.visible = true this.$nextTick(() => { this.$refs["dataForm"].resetFields(); if (this.dataForm.id) { this.getInfo(); + } else { + this.getControlCode() } }); }, diff --git a/src/views/modules/basic/components/customer-add.vue b/src/views/modules/basic/components/customer-add.vue index b7945e6..e974766 100644 --- a/src/views/modules/basic/components/customer-add.vue +++ b/src/views/modules/basic/components/customer-add.vue @@ -1,12 +1,12 @@