From df481cf26cc9169f6f08ca166f82b7cc177f32c2 Mon Sep 17 00:00:00 2001 From: jinna Date: Tue, 23 Dec 2025 18:30:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=8E=A5=E5=8F=A3=E8=81=94?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../periodicTesting/projectCycle.js | 7 +- .../qualityManagement/qcSupplyInspection.js | 10 + src/api/qualityManagement/qualityObjective.js | 109 ++++ .../remindRedeem/remindRedeem.js | 37 +- .../components/addProjectCycleDialog.vue | 3 +- .../periodicTesting/components/viewDialog.vue | 4 +- src/views/periodicTesting/projectCycle.vue | 26 +- src/views/periodicTesting/testTask.vue | 16 +- .../qcSupplyInspection/index.vue | 39 +- .../qualityObjective/annualTarget.vue | 601 ++---------------- .../components/addAnnmualEditDialog.vue | 144 ++++- .../components/addMonthEditDialog.vue | 402 +++++++++--- .../qualityObjective/monthQuota.vue | 295 +++++---- .../remindRedeem/components/batchAdd.vue | 412 ++++++++++++ .../qualityManagement/remindRedeem/index.vue | 104 ++- .../components/printPdf.vue | 64 ++ 16 files changed, 1410 insertions(+), 863 deletions(-) create mode 100644 src/api/qualityManagement/qcSupplyInspection.js create mode 100644 src/api/qualityManagement/qualityObjective.js create mode 100644 src/views/qualityManagement/remindRedeem/components/batchAdd.vue create mode 100644 src/views/qualityManagement/tankSolutionSystem/components/printPdf.vue diff --git a/src/api/qualityManagement/periodicTesting/projectCycle.js b/src/api/qualityManagement/periodicTesting/projectCycle.js index d436bed0..22305bd0 100644 --- a/src/api/qualityManagement/periodicTesting/projectCycle.js +++ b/src/api/qualityManagement/periodicTesting/projectCycle.js @@ -71,13 +71,10 @@ export const getPlateList = () => { } // 根据角色ID获取工艺员列表 -export const getUserList = (ids) =>{ +export const getUserList = () =>{ return request({ - url:'/blade-system/user/list-all-by-role-ids', + url:'/blade-system/user/list-process-engineer', method:'get', - params:{ - ids - } }) } diff --git a/src/api/qualityManagement/qcSupplyInspection.js b/src/api/qualityManagement/qcSupplyInspection.js new file mode 100644 index 00000000..4576d31e --- /dev/null +++ b/src/api/qualityManagement/qcSupplyInspection.js @@ -0,0 +1,10 @@ +import request from '@/axios'; + +// 获取列表 +export const getList = (params) => { + return request({ + url: '/api/blade-desk/QA/SupplyInspection/list', + method: 'get', + params + }); +}; \ No newline at end of file diff --git a/src/api/qualityManagement/qualityObjective.js b/src/api/qualityManagement/qualityObjective.js new file mode 100644 index 00000000..83023cda --- /dev/null +++ b/src/api/qualityManagement/qualityObjective.js @@ -0,0 +1,109 @@ +import request from '@/axios'; + +// 获取月度指标数据 +export const getMonthList = (params) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorMonth/list', + method:'get', + params + }) +} + +// 月份数据新增 +export const addMonth = (data) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorMonth/saveBat', + method:'post', + data + }) +} + +// 月度数据删除 +export const deleteMonth = (params) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorMonth/remove', + method:'post', + params + }) +} + +// 月度指标详情 +export const getMonthDetail = (params) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorMonth/detail', + method:'get', + params + }) +} + +// 月度数据修改 +export const editMonth = (data) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorMonth/update', + method:'post', + data + }) +} + + +// 年度指标数据 +export const getYearData = (params) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorYear/list', + method:'get', + params + }) +} + +// 年度指标类别下拉 +export const getTypeList = () =>{ + return request({ + url:'/api/blade-system/dict/dictionary?code=IndicatorYear-IndicatorType', + method:'get' + }) +} + +// 作业中心下拉接口 +export const getWorkCenter = () =>{ + return request({ + url:'/api/blade-desk/BA/WorkCenter/listForSelect', + method:'get' + }) +} + +// 年度指标新增 +export const addYearData = (data) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorYear/save', + method:'post', + data + }) +} + + +// 年度指标详情 +export const getYearDetail = (params) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorYear/detail', + method:'get', + params + }) +} + +// 年度指标数据修改 +export const editYearData = (data) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorYear/update', + method:'post', + data + }) +} + +// 年度指标删除 +export const deleteYear = (params) =>{ + return request({ + url:'/api/blade-desk/QA/IndicatorYear/remove', + method:'post', + params + }) +} \ No newline at end of file diff --git a/src/api/qualityManagement/remindRedeem/remindRedeem.js b/src/api/qualityManagement/remindRedeem/remindRedeem.js index 780499a9..f25637b0 100644 --- a/src/api/qualityManagement/remindRedeem/remindRedeem.js +++ b/src/api/qualityManagement/remindRedeem/remindRedeem.js @@ -7,4 +7,39 @@ export const getList = (params) => { method: 'get', params }); -}; \ No newline at end of file +}; + +// 生产标识下拉 +export const getPqList = () =>{ + return request({ + url:'/api/blade-desk/BA/ProdMark/listForSelect', + method:'get' + }) +} + +// 批量新增 +export const addBatch = (data) =>{ + return request({ + url:'/api/blade-desk/QA/RemindMsg/saveBat', + method:'post', + data + }) +} + +// 修改 +export const editRemind = (data) =>{ + return request({ + url:'/api/blade-desk/QA/RemindMsg/update', + method:"post", + data + }) +} + +// 删除 +export const deleteRemind = (params) =>{ + return request({ + url:'/api/blade-desk/QA/RemindMsg/remove', + method:'post', + params + }) +} \ No newline at end of file diff --git a/src/views/periodicTesting/components/addProjectCycleDialog.vue b/src/views/periodicTesting/components/addProjectCycleDialog.vue index f833bbbb..dd84893e 100644 --- a/src/views/periodicTesting/components/addProjectCycleDialog.vue +++ b/src/views/periodicTesting/components/addProjectCycleDialog.vue @@ -344,7 +344,8 @@ export default { getDetail(id).then(res =>{ this.projectForm = { ...res.data.data, - isPutOff:res.data.data.isPutOff == 1 ? true : false + isPutOff:res.data.data.isPutOff == 1 ? true : false, + testType:res.data.data.testType != '' ? res.data.data.testType + '' : '' } if(this.projectForm.jobType == 1){ this.projectForm = { diff --git a/src/views/periodicTesting/components/viewDialog.vue b/src/views/periodicTesting/components/viewDialog.vue index d7c1a529..826e51f1 100644 --- a/src/views/periodicTesting/components/viewDialog.vue +++ b/src/views/periodicTesting/components/viewDialog.vue @@ -48,8 +48,8 @@ -
试验结果
-
+
试验结果
+
试验结果: diff --git a/src/views/periodicTesting/projectCycle.vue b/src/views/periodicTesting/projectCycle.vue index a5f391eb..bd42b619 100644 --- a/src/views/periodicTesting/projectCycle.vue +++ b/src/views/periodicTesting/projectCycle.vue @@ -15,9 +15,9 @@ @refresh-change="refreshChange" @on-load="onLoad" > - + + \ No newline at end of file diff --git a/src/views/qualityManagement/remindRedeem/index.vue b/src/views/qualityManagement/remindRedeem/index.vue index bcca9f80..66e871d5 100644 --- a/src/views/qualityManagement/remindRedeem/index.vue +++ b/src/views/qualityManagement/remindRedeem/index.vue @@ -29,6 +29,8 @@ templateName="试验项目模板.xlsx" importUrl="/blade-desk/QA/CycleTestItem/import-excel" @closeDialog="closeDialog"> + + @@ -44,14 +46,16 @@ import { remove, update, } from '@/api/system/role'; -import {getList} from '@/api/qualityManagement/remindRedeem/remindRedeem' +import {getList,deleteRemind} from '@/api/qualityManagement/remindRedeem/remindRedeem' import { mapGetters } from 'vuex'; import { validatenull } from '@/utils/validate'; import basicImport from '@/components/basic-import/main.vue' +import batchAdd from './components/batchAdd.vue'; export default { components: { basicImport, + batchAdd }, data() { return { @@ -83,6 +87,7 @@ export default { currentPage: 1, total: 0, }, + showDialog:false, option: { columnSort: true, tip: false, @@ -128,12 +133,13 @@ export default { column: [ { label: '零件号', - prop: 'partCode', - bind: 'dsPart.partCode', + prop: 'partId', + // bind: 'dsPart.partCode', search: true, sortable: true, width: 150, span: 12, + type:'select', rules: [ { required: true, @@ -145,7 +151,7 @@ export default { { label: '零件名称', prop: 'partName', - bind: 'dsPart.partName', + // bind: 'dsPart.partName', search: true, sortable: true, width: 150, @@ -153,11 +159,17 @@ export default { }, { label: '生产标识', - prop: 'cycle', + prop: 'prodFlagText', search: true, sortable: true, width: 150, span: 12, + type:'select', + dicUrl:'/api/blade-desk/BA/ProdMark/listForSelect', + props:{ + label:'name', + value:'id' + } }, { label: '材料', @@ -191,7 +203,8 @@ export default { }, { label: '子件编码', - prop: 'chlidPart', + prop: 'subPartId', + type:'select', search: false, sortable: true, width: 150, @@ -201,13 +214,15 @@ export default { label: '提醒内容', prop: 'remindContent', search: false, + type: 'textarea', + rows: 2, sortable: true, width: 150, span: 12, }, { label: '参数1名称', - prop: 'parameter', + prop: 'param1', search: false, sortable: true, width: 150, @@ -216,7 +231,7 @@ export default { }, { label: '镀金检测', - prop: 'metalsTest', + prop: 'testAu', search: false, sortable: true, width: 150, @@ -225,7 +240,7 @@ export default { }, { label: '镀银检测', - prop: 'silverTest', + prop: 'testAg', search: false, sortable: true, width: 150, @@ -234,7 +249,7 @@ export default { }, { label: '热处理', - prop: 'heatTreat', + prop: 'isHeatTreatment', search: false, sortable: true, width: 150, @@ -247,7 +262,7 @@ export default { }, { label: '镀后检验', - prop: 'afterPlating', + prop: 'isAfterPlating', search: false, sortable: true, width: 150, @@ -267,10 +282,15 @@ export default { }; }, methods: { + // 点击新增按钮 + handleAdd(){ + console.log('111111111111111') + this.showDialog = true + }, // 点击导入按钮 - handleImport() { - this.isShowImport = true - }, + handleImport() { + this.isShowImport = true + }, // 批量接收 batchReceiving() { this.$confirm('确定将选择数据批量接收?', { @@ -291,29 +311,36 @@ export default { }, // 批量关闭 batchDel() { + if(this.selectionList.length == 0){ + this.$message.error('请至少选择一条数据') + return + } this.$confirm('确定将选择数据批量删除?', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning', - }) - .then(() => { - // return remove(row.id); + }).then(() => { + deleteRemind({ + ids:this.selectionList.map(item => item.id).join(',') + }).then(res =>{ + if(res.data.code == 200){ + this.$message.success('删除成功') + this.onLoad() + } }) - .then(() => { - // this.onLoad(this.page); - // this.$message({ - // type: 'success', - // message: '操作成功!', - // }); - }); + }) }, // 加急 rushFn() { this.isRushOpen = true }, - closeDialog() { + closeDialog(val) { this.isRushOpen = false this.isBatchOpen = false + this.showDialog = false + if(val){ + this.onLoad() + } }, inBatchesFn(row) { this.rowItem = row; @@ -392,17 +419,17 @@ export default { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning', - }) - .then(() => { - return remove(row.id); + }).then(() => { + deleteRemind({ + ids:row.id + }).then(res =>{ + if(res.data.code == 200){ + this.$message.success('删除成功') + this.onLoad() + } }) - .then(() => { - this.onLoad(this.page); - this.$message({ - type: 'success', - message: '操作成功!', - }); - }); + }) + }, searchReset() { @@ -524,6 +551,13 @@ export default { this.data = res.data.data.records this.page.total = res.data.data.total this.loading = false + }).catch(err =>{ + console.log('err00000000000',err) + this.loading = false + this.data = [ + {} + ] + this.page.total = 0 }) // this.data = [ // {} diff --git a/src/views/qualityManagement/tankSolutionSystem/components/printPdf.vue b/src/views/qualityManagement/tankSolutionSystem/components/printPdf.vue new file mode 100644 index 00000000..9967230f --- /dev/null +++ b/src/views/qualityManagement/tankSolutionSystem/components/printPdf.vue @@ -0,0 +1,64 @@ + + + \ No newline at end of file