From e53971d9779889889ff8153c391361606d640ab4 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期二, 22 四月 2025 16:10:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- src/views/CNAS/process/disposal/sampleDisposal/index.vue | 568 +++++++++++++++++++ src/views/CNAS/personnel/personnelInfo/tabs/training-record.vue | 16 src/views/CNAS/process/ensureResults/qualityControlPlan/components/processingSheet.vue | 12 src/views/business/materialOrderComponents/materialOrder/showInfo.vue | 6 src/views/business/reportPreparation/index.vue | 4 src/views/business/inspectionTask/inspection.vue | 14 src/views/business/materialOrder/copperView.vue | 13 src/views/business/inspectionTask/index.vue | 5 /dev/null | 521 ----------------- src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue | 1 src/views/CNAS/process/disposal/sampleReceipt/index.vue | 321 +++++++++++ src/views/business/materialOrder/copperOrder.vue | 13 src/api/cnas/process/sampleDisposal.js | 51 + src/components/echarts/DataComparison.vue | 131 ++- src/views/business/inspectionView/index.vue | 14 15 files changed, 1,024 insertions(+), 666 deletions(-) diff --git a/src/api/cnas/process/sampleDisposal.js b/src/api/cnas/process/sampleDisposal.js index a763edd..82501ac 100644 --- a/src/api/cnas/process/sampleDisposal.js +++ b/src/api/cnas/process/sampleDisposal.js @@ -1,6 +1,6 @@ -// 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� import request from "@/utils/request"; +// 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� // 淇敼 export function doProcessDeal(data) { return request({ @@ -10,7 +10,7 @@ }); } -// 鏂板 +// 鏂板璇︽儏 export function addProcessDeal(data) { return request({ url: "/processDeal/addProcessDeal", @@ -27,11 +27,19 @@ data: data, }); } +// 鎻愪氦鍘嗗彶 浼犲弬id +export function addProcessTotaldeal(data) { + return request({ + url: "/processTotaldeal/addProcessTotaldeal", + method: "post", + data: data, + }); +} //鏌ヨ璇︽儏 鍒嗛〉鏌ヨ閲岄潰totaldealId 浼犲弬鍘嗗彶鐨刬d -export function pageProcessDeal(query) { +export function getProcessDeal(query) { return request({ - url: "/processDeal/pageProcessDeal", + url: "/processDeal/getProcessDeal", method: "get", params: query, }); @@ -72,3 +80,38 @@ params: query, }); } + + +// 鏍峰搧鎺ユ敹-鍒嗛〉鏌ヨ +export function pageProcessSample(query) { + return request({ + url: "/processSample/pageProcessSample", + method: "get", + params: query, + }); +} +// 鏍峰搧鎺ユ敹-鏂板/淇敼 +export function addProcessSample(query) { + return request({ + url: "/processSample/addProcessSample", + method: "post", + data: query, + }); +} +// 鏍峰搧鎺ユ敹-鍒犻櫎 +export function delProcessSample(query) { + return request({ + url: "/processSample/delProcessSample", + method: "delete", + params: query, + }); +} +// 鏍峰搧鎺ユ敹-瀵煎嚭 +export function exportProcessSample(query) { + return request({ + url: "/processSample/exportProcessSample", + method: "get", + responseType: "blob", + params: query, + }); +} diff --git a/src/components/echarts/DataComparison.vue b/src/components/echarts/DataComparison.vue index 19d65e7..fd62924 100644 --- a/src/components/echarts/DataComparison.vue +++ b/src/components/echarts/DataComparison.vue @@ -163,7 +163,7 @@ :legend="legend2" :lineColors="lineColors" :series="echartsSeries2" - :tooltip="tooltip" + :tooltip="tooltip1" :xAxis="xAxis" :yAxis="yAxis2" style="height: 40vh;"></Echarts> @@ -190,6 +190,7 @@ <script> import Echarts from "./echarts.vue"; +import {getRawSupplierCompare} from "@/api/statisticalCharts/dataAnalysis"; export default { name: "DataComparison", @@ -277,6 +278,20 @@ type: 'shadow' } }, + tooltip1: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + }, + formatter: (params) => { + // params 鏄竴涓暟缁勶紝鍖呭惈褰撳墠榧犳爣鎮仠鐨勬墍鏈夌郴鍒楃殑鏁版嵁 + return params.map(param => { + const value = param.value; // 鑾峰彇褰撳墠鏁版嵁鐐圭殑鍊� + const name = param.seriesName; // 鑾峰彇绯诲垪鍚嶇О + return `${name}: ${Math.round(value)}%`; // 鏍煎紡鍖栦负鐧惧垎姣斿舰寮� + }).join('<br>'); // 姣忎釜绯诲垪鍗犱竴琛� + } + }, xAxis: [{ type: 'category', data: ['1', '2', '3', '4', '5'] @@ -351,7 +366,10 @@ yAxis2: [{ type: 'value', min: 0, - max: 1, + max: 100, + axisLabel: { + formatter: '{value}%' // 鍦ㄦ瘡涓埢搴﹀�煎悗娣诲姞鐧惧垎姣旂鍙� + } }], echartsSeries2: [ { @@ -360,7 +378,7 @@ label: { show: true, position: 'top', - formatter: (params) => Math.round(params.value * 1000) / 10 + '%' + formatter: (params) => params.value + '%' }, data: [], }, @@ -370,7 +388,7 @@ label: { show: true, position: 'top', - formatter: (params) => Math.round(params.value * 1000) / 10 + '%' + formatter: (params) => params.value + '%' }, data: [], } @@ -389,43 +407,65 @@ }, // 鏂规硶闆嗗悎 methods: { - getInfo () { - this.localData = this.comparisonData.localData === null ? ['', '', '', '', '','','', '', ''] : this.comparisonData.localData - this.localData = this.localData.map((number, index) => index === 7 ? `${Math.round(number * 100)}%` : number) - this.echartsSeries3[0].data = this.localData.slice(0, 5) - this.localULC = this.comparisonData.localULC - this.localLCL = this.comparisonData.localLCL - this.localAverage = this.comparisonData.localAverage - this.localRange = this.comparisonData.localRange + getInfo() { + const { localData, localULC, localLCL, localAverage, localRange } = this.comparisonData; + // 鍒濆鍖� localData锛岀‘淇濇湁榛樿鍊� + this.localData = localData === null + ? ['', '', '', '', '', '', '', '', ''] + : localData.map((number, index) => index === 7 ? `${Math.round(number * 100)}%` : number); + // 鏇存柊鍥捐〃鏁版嵁 + this.echartsSeries3[0].data = this.localData.slice(0, 5); + this.localULC = localULC; + this.localLCL = localLCL; + this.localAverage = localAverage; + this.localRange = localRange; }, - getInfo1 () { - this.echartsSeries1[0].data = [] - this.supplierData = this.comparisonData1.supplierData === null ? ['', '', '', '', '','','', '', ''] : this.comparisonData1.supplierData - this.localData = this.comparisonData1.localData === null ? ['', '', '', '', '','','', '', ''] : this.comparisonData1.localData - this.localData = this.localData.map((number, index) => index === 7 ? `${Math.round(number * 100)}%` : number) - this.echartsSeries3[0].data = this.localData.slice(0, 5) - this.echartsSeries[0].data = this.supplierData - this.echartsSeries[1].data = this.localData - this.absoluteDeviation = this.comparisonData1.absoluteDeviation === null ? ['', '', '', '', '','','', '', ''] : this.comparisonData1.absoluteDeviation - this.echartsSeries2[1].data = this.absoluteDeviation - this.absoluteDeviation = this.absoluteDeviation.map(number => `${Math.round(number * 100)}%`) // 缁濆鍋忓樊鐧惧垎姣旇浆鎹� - this.average = this.comparisonData1.average === null ? ['', '', '', '', '','','', '', ''] : this.comparisonData1.average - this.echartsSeries2[0].data = this.average - this.average = this.average.map(number => `${Math.round(number * 100)}%`) // 骞冲潎鍊肩櫨鍒嗘瘮杞崲 - this.supplierULC = this.comparisonData1.supplierULC === null ? ['', '', '', '', ''] : this.comparisonData1.supplierULC - this.echartsSeries1[0].data.push(this.supplierULC[0]) // 娴嬮噺鏁版嵁鏍囧噯宸姣旀煴鐘跺浘鏁版嵁 - this.supplierLCL = this.comparisonData1.supplierLCL === null ? ['', '', '', '', ''] : this.comparisonData1.supplierLCL - this.echartsSeries1[1].data.push(this.supplierLCL[0]) // 娴嬮噺鏁版嵁鏍囧噯宸姣旀煴鐘跺浘鏁版嵁 - this.supplierAverage = this.comparisonData1.supplierAverage === null ? ['', '', '', '', ''] : this.comparisonData1.supplierAverage - this.echartsSeries1[2].data.push(this.supplierAverage[0]) // 娴嬮噺鏁版嵁鏍囧噯宸姣旀煴鐘跺浘鏁版嵁 - this.supplierRange = this.comparisonData1.supplierRange === null ? ['', '', '', '', ''] : this.comparisonData1.supplierRange - this.localULC = this.comparisonData1.localULC - this.echartsSeries1[0].data.push(this.localULC[0]) // 娴嬮噺鏁版嵁鏍囧噯宸姣旀煴鐘跺浘鏁版嵁 - this.localLCL = this.comparisonData1.localLCL - this.echartsSeries1[1].data.push(this.localLCL[0]) // 娴嬮噺鏁版嵁鏍囧噯宸姣旀煴鐘跺浘鏁版嵁 - this.localAverage = this.comparisonData1.localAverage - this.echartsSeries1[2].data.push(this.localAverage[0]) // 娴嬮噺鏁版嵁鏍囧噯宸姣旀煴鐘跺浘鏁版嵁 - this.localRange = this.comparisonData1.localRange + getInfo1() { + const { + supplierData, + localData, + absoluteDeviation, + average, + supplierULC, + supplierLCL, + supplierAverage, + supplierRange, + localULC, + localLCL, + localAverage, + localRange, + } = this.comparisonData1; + // 杈呭姪鍑芥暟锛氬鐞嗙┖鏁版嵁骞惰浆鎹㈢櫨鍒嗘瘮 + const processPercentageData = (data, defaultValue = ['', '', '', '', '', '', '', '', '']) => + data === null ? defaultValue : data.map((number, index) => index === 7 ? `${Math.round(number * 100)}%` : number); + // 杈呭姪鍑芥暟锛氬鐞嗙┖鏁板�煎瀷鏁版嵁 + const processNumericData = (data, defaultValue = ['', '', '', '', '']) => + data === null ? defaultValue : data; + // 鍒濆鍖栨暟鎹� + this.supplierData = processPercentageData(supplierData); + this.localData = processPercentageData(localData); + this.absoluteDeviation = processPercentageData(absoluteDeviation).map(number => `${Math.round(number * 100)}%`); + this.average = processPercentageData(average).map(number => `${Math.round(number * 100)}%`); + // 鏇存柊鍥捐〃鏁版嵁 + this.echartsSeries1[0].data = []; + this.echartsSeries3[0].data = this.localData.slice(0, 5); + this.echartsSeries[0].data = this.supplierData; + this.echartsSeries[1].data = this.localData; + this.echartsSeries2[1].data = this.comparisonData1.absoluteDeviation.map(value => value * 100); + this.echartsSeries2[0].data = this.comparisonData1.average.map(value => value * 100); + // 澶勭悊渚涘簲鍟嗗拰鏈湴鐨勬爣鍑嗗樊瀵规瘮鏁版嵁 + this.supplierULC = processNumericData(supplierULC); + this.supplierLCL = processNumericData(supplierLCL); + this.supplierAverage = processNumericData(supplierAverage); + this.supplierRange = processNumericData(supplierRange); + this.localULC = processNumericData(localULC); + this.localLCL = processNumericData(localLCL); + this.localAverage = processNumericData(localAverage); + this.localRange = processNumericData(localRange); + // 鏇存柊娴嬮噺鏁版嵁鏍囧噯宸姣旀煴鐘跺浘鏁版嵁 + this.echartsSeries1[0].data.push(this.supplierULC[0], this.localULC[0]); + this.echartsSeries1[1].data.push(this.supplierLCL[0], this.localLCL[0]); + this.echartsSeries1[2].data.push(this.supplierAverage[0], this.localAverage[0]); }, submitForm () { this.$refs['supplierForm'].validate((valid) => { @@ -435,12 +475,7 @@ itemNames: this.selectRow.itemNames, supplierDataList: Object.values(this.supplierForm) } - this.$axios.post(this.$api.dataAnalysis.getRawSupplierCompare, params, { - headers: { - 'Content-Type': 'application/json' - }, - noQs: true - }).then(res => { + getRawSupplierCompare(params).then(res => { this.comparisonData1 = res.data this.getInfo1() }) @@ -459,8 +494,8 @@ <style scoped> .title { - height: 60px; - line-height: 60px; + height: 40px; + line-height: 40px; } .container { width: calc(100% - 20px); diff --git a/src/views/CNAS/personnel/personnelInfo/tabs/training-record.vue b/src/views/CNAS/personnel/personnelInfo/tabs/training-record.vue index 57c6947..52d1c4b 100644 --- a/src/views/CNAS/personnel/personnelInfo/tabs/training-record.vue +++ b/src/views/CNAS/personnel/personnelInfo/tabs/training-record.vue @@ -169,22 +169,6 @@ this.getPersonnelTraining(this.departId); }, methods: { - // exportExcel() { - // this.outLoading = true; - // const name = this.isDepartment ? 'departmentId' : 'userId'; - // this.$axios.get(this.$api.personal.personTrackRecordExport + `&${name}=` + this.departId, { responseType: 'blob' }).then(res => { - // this.outLoading = false; - // this.$message.success('瀵煎嚭鎴愬姛'); - // const blob = new Blob([res], { type: 'application/octet-stream' }); - // const url = URL.createObjectURL(blob); - // const link = document.createElement('a'); - // link.href = url; - // link.download = '鍩硅璁板綍.xlsx'; - // link.click(); - // }).catch(err => { - // this.outLoading = false; - // }) - // }, // 鏌ヨ refreshTable() { this.getPersonnelTraining(this.departId); diff --git a/src/views/CNAS/process/disposal/sampleDisposal/index.vue b/src/views/CNAS/process/disposal/sampleDisposal/index.vue new file mode 100644 index 0000000..f966024 --- /dev/null +++ b/src/views/CNAS/process/disposal/sampleDisposal/index.vue @@ -0,0 +1,568 @@ +<template> + <div class="capacity-scope"> + <div style="display: flex;justify-content: space-between;align-items: flex-start"> + <el-form :model="queryParams0" ref="queryParams0" size="small" :inline="true"> + <el-form-item label="骞存湀" prop="month"> + <el-date-picker v-model="queryParams0.month" type="month" placeholder="閫夋嫨鏈�" format="yyyy-MM" + value-format="yyyy-MM" size="small" @change="refreshTable()"> + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button> + <el-button size="mini" @click="refresh">閲嶇疆</el-button> + </el-form-item> + </el-form> + <el-button size="small" type="primary" @click="handleAdd0">鏂板</el-button> + </div> + <div class="table"> + <lims-table :tableData="tableData0" :column="column0" :tableLoading="tableLoading" + key="tableData0" :height="'calc(100vh - 240px)'" :page="page0" @pagination="pagination0"></lims-table> + </div> + <el-dialog title="璇︽儏" :visible.sync="editDialogVisible" width="70%"> + <el-button size="small" type="primary" @click="handleAdd('add')" style="margin-bottom: 10px">鏂板</el-button> + <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" + key="tableData" :height="'calc(100vh - 290px)'"> + </lims-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="editDialogVisible = false">鍙栨秷</el-button> + </span> + </el-dialog> + <!-- 鏂板鏍峰搧 --> + <el-dialog title="鏂板" :visible.sync="addDialogVisible" width="400px" @close="closeAddDialogVisible"> + <el-form ref="addInfo" :model="addInfo" :rules="rules" label-width="120px"> + <el-row> + <el-col :span="24"> + <el-form-item label="鏍峰搧鍚嶇О" prop="sampleName"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="addInfo.sampleName"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="鏍峰搧缂栧彿" prop="sampleCode"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="addInfo.sampleCode"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="渚涙牱鍗曚綅" prop="sampleSupplier"> + <el-select v-model="addInfo.sampleSupplier" size="small"> + <el-option :label="item.company" :value="item.company" v-for="(item, index) in customPageList" + :key="item.id"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="鏁伴噺" prop="num"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="addInfo.num"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="澶勭悊鏂瑰紡" prop="dealMethod"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="addInfo.dealMethod"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="鏃堕棿" prop="dealTime"> + <el-date-picker v-model="addInfo.dealTime" type="date" size="small" placeholder="閫夋嫨鏃ユ湡" format="yyyy-MM-dd" + value-format="yyyy-MM-dd" style="width: 100%;"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="closeAddDialogVisible">鍙� 娑�</el-button> + <el-button type="primary" @click="submitAdd" :loading="addLoading">纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- 鏂板鍘嗗彶 --> + <el-dialog title="鏂板" :visible.sync="addDialogVisibleDeal" width="400px" @close="closeDiaDeal"> + <el-form ref="addInfoDeal" :model="addInfoDeal" :rules="rulesDeal" label-width="80px"> + <el-row> + <el-col :span="24"> + <el-form-item label="鏈堜唤" prop="month"> + <el-date-picker v-model="addInfoDeal.month" type="month" size="small" placeholder="閫夋嫨鏈堜唤" format="yyyy-MM" + value-format="yyyy-MM" style="width: 100%;"> + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="closeDiaDeal">鍙� 娑�</el-button> + <el-button type="primary" @click="submitAddDeal" :loading="addLoading">纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- 璇︽儏/涓嬭浇/瀹℃牳/鎵瑰噯 --> + <el-dialog :title="title0" :visible.sync="lookDialogVisible" width="400px" :class="{ downPdf: title0 == '涓嬭浇' }" + :modal="title0 != '涓嬭浇'" top="5vh"> + <span>鏄惁閫氳繃{{title0}}锛�</span> + <span slot="footer" class="dialog-footer" v-if="title0 == '瀹℃牳' || title0 == '鎵瑰噯'"> + <el-button @click="submitCheck('涓嶉�氳繃')" :loading="noCheckLoading">涓嶉�氳繃</el-button> + <el-button type="primary" @click="submitCheck('閫氳繃')" :loading="checkLoading">閫� 杩�</el-button> + </span> + </el-dialog> + </div> +</template> + +<script> +import limsTable from "@/components/Table/lims-table.vue"; +import filePreview from "@/components/Preview/filePreview.vue"; +import { selectCustomPageList } from "@/api/system/customer"; +import { + doProcessDeal, + addProcessDeal, + submitProcessTotaldeal, + pageProcessDeal, + checkProcessTotaldeal, + ratifyProcessTotaldeal, + delProcessDeal, + pageProcessTotaldeal, getProcessDeal, addProcessTotaldeal, +} from "@/api/cnas/process/sampleDisposal"; +export default { + name: 'SampleDisposal', + components: { + limsTable, + filePreview, + }, + data() { + return { + title: '鏂板', + addDialogVisible: false, + addLoading: false, + outLoading: false, + editDialogVisible: false, + queryParams: {}, + submitState: '', + lookDialogVisible: false, + title0: '鏌ョ湅', + noCheckLoading: false, + checkLoading: false, + // 鍘嗗彶鍒楄〃 + addInfo: {},//鏂板鏍峰搧 + addInfoDeal: { + month: '' + },//鏂板鏍峰搧 + addDialogVisibleDeal: false, + rules: { + sampleName: [{ required: true, message: '璇峰~鍐欐牱鍝佸悕绉�', trigger: 'blur' }], + sampleCode: [{ required: true, message: '璇峰~鍐欐牱鍝佺紪鍙�', trigger: 'blur' }], + sampleSupplier: [{ required: true, message: '璇烽�夋嫨渚涙牱鍗曚綅', trigger: 'change' }], + num: [{ required: true, message: '璇峰~鍐欐暟閲�', trigger: 'blur' }], + dealMethod: [{ required: true, message: '璇峰~鍐欏鐞嗘柟寮�', trigger: 'blur' }], + dealTime: [{ required: true, message: '璇烽�夋嫨鏃堕棿', trigger: 'change' }], + }, + rulesDeal: { + month: [{ required: true, message: '璇烽�夋嫨鏈堜唤', trigger: 'change' }], + }, + customPageList: [], + currentInfo: { + arr: [] + },//鏌ョ湅鐨勮鎯� + outPower: false, + addPower: false, + tableData: [], + column: [ + { label: "鏍峰搧鍚嶇О", prop: "sampleName" }, + { label: "鏍峰搧缂栧彿", prop: "sampleCode" }, + { label: "渚涙牱鍗曚綅", prop: "sampleSupplier" }, + { label: "鏁伴噺", prop: "num" }, + { label: "澶勭悊鏂瑰紡", prop: "dealMethod" }, + { label: "鏃堕棿", prop: "dealTime" }, + { + dataType: "action", + label: "鎿嶄綔", + operation: [ + { + name: "缂栬緫", + type: "text", + clickFun: (row) => { + this.handleAdd('edit',row); + }, + disabled: (row) => { + return this.submitState === '宸叉彁浜�' + } + }, + { + name: "鍒犻櫎", + type: "text", + clickFun: (row) => { + this.handleDelete(row); + }, + disabled: (row) => { + return this.submitState === '宸叉彁浜�' + } + }, + ], + }, + ], + tableLoading: false, + queryParams0: {}, + tableData0: [], + column0: [ + { label: "鏈堜唤", prop: "month" }, + { label: "鎻愪氦浜�", prop: "submitUserName" }, + { + dataType: 'tag', + label: '鎻愪氦鐘舵��', + prop: 'submitState', + formatData: (params) => { + return params + }, + formatType: (params) => { + if (params === '寰呮彁浜�') { + return 'danger'; + } else if (params === '宸叉彁浜�') { + return 'success'; + } else { + return null; + } + } + }, + { label: "瀹℃牳浜�", prop: "examineUserName" }, + { + dataType: 'tag', + label: '瀹℃牳鐘舵��', + prop: 'examineState', + formatData: (params) => { + return params + }, + formatType: (params) => { + if (params === '涓嶉�氳繃') { + return 'danger'; + } else if (params === '閫氳繃') { + return 'success'; + } else { + return null; + } + } + }, + { label: "鎵瑰噯浜�", prop: "ratifyUserName" }, + { + dataType: 'tag', + label: '鎵瑰噯鐘舵��', + prop: 'ratifyState', + formatData: (params) => { + return params + }, + formatType: (params) => { + if (params === '涓嶉�氳繃') { + return 'danger'; + } else if (params === '閫氳繃') { + return 'success'; + } else { + return null; + } + } + }, + { + dataType: "action", + label: "鎿嶄綔", + operation: [ + { + name: "鏌ョ湅", + type: "text", + clickFun: (row) => { + this.handleLook(row); + }, + }, + { + name: "涓嬭浇", + type: "text", + clickFun: (row) => { + this.handleDown0(row); + }, + disabled: (row) => { + return !row.url + } + }, + { + name: "鎻愪氦", + type: "text", + clickFun: (row) => { + this.handleSubmit(row); + }, + disabled: (row) => { + return !!row.submitState && row.submitState != '寰呮彁浜�' + } + }, + { + name: "瀹℃牳", + type: "text", + clickFun: (row) => { + this.handleCheck(row); + }, + disabled: (row) => { + return row.examineState == '閫氳繃' || row.submitState == '寰呮彁浜�' + } + }, + { + name: "鎵瑰噯", + type: "text", + clickFun: (row) => { + this.handleApproval(row); + }, + disabled: (row) => { + return row.ratifyState == '閫氳繃' || row.submitState == '寰呮彁浜�' + } + }, + ], + }, + ], + page0: { + total: 0, + size: 20, + current: 1, + }, + operationType: '' + }; + }, + mounted() { + this.getList0() + }, + methods: { + // 鑾峰彇閫佹牱鍗曚綅鍒楄〃 + getCustomPageList() { + selectCustomPageList({ + current: -1, + size: -1 + }).then(res => { + this.customPageList = res.data.records + }).catch(err => { }); + }, + handleDown() { }, + refresh() { + this.queryParams0 = {}; + this.page0.current = 1; + this.getList0(); + }, + refreshTable() { + this.page0.current = 1; + this.getList0(); + }, + // 鏌ヨ鍏ㄩ儴璁板綍 + getList0() { + this.tableLoading = true; + let param = { ...this.queryParams0, ...this.page0 }; + delete param.total; + pageProcessTotaldeal({ ...param }) + .then((res) => { + this.tableLoading = false; + if (res.code === 200) { + this.tableData0 = res.data.records; + this.page0.total = res.data.total; + } + }) + .catch((err) => { + this.tableLoading = false; + }); + }, + pagination0({ page, limit }) { + this.page0.current = page; + this.page0.size = limit; + this.getList0(); + }, + // 鎵撳紑鏂板鍘嗗彶鐣岄潰 + handleAdd0() { + this.addDialogVisibleDeal = true + this.addInfoDeal.month = '' + }, + closeAddDialogVisible() { + this.$refs['addInfo'].resetFields(); + this.addDialogVisible = false + }, + // 鎻愪氦鏂板-鍘嗗彶 + submitAddDeal () { + this.$refs.addInfoDeal.validate(valid => { + if (valid) { + // 鏂板 + this.addLoading = true + addProcessTotaldeal({ + ...this.addInfoDeal + }).then(res => { + this.addLoading = false + this.addDialogVisibleDeal = false + this.$message({ + type: 'success', + message: '鏂板鎴愬姛!' + }); + this.getList0() + }).catch(err => { + this.addLoading = false + }); + } + }) + }, + closeDiaDeal() { + this.$refs['addInfoDeal'].resetFields(); + this.addDialogVisibleDeal = false + }, + // 鎻愪氦 + handleSubmit(row) { + this.$confirm('鏄惁鎻愪氦 ' + row.month + ' 鏈堜唤鐨勬暟鎹�', '鎻愪氦', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + submitProcessTotaldeal({ + id: row.id + }).then(res => { + this.$message({ + type: 'success', + message: '鎻愪氦鎴愬姛!' + }); + this.refreshTable() + }).catch(err => { }); + }) + }, + // 鏌ョ湅 + handleLook(row) { + this.queryParams.id = row.id + this.submitState = row.submitState + this.$nextTick(() => { + this.editDialogVisible = true + this.getList(); + }) + }, + getList() { + this.tableLoading = true; + let param = { ...this.queryParams }; + getProcessDeal({ ...param }).then((res) => { + this.tableLoading = false; + if (res.code === 200) { + this.tableData = res.data; + } + }) + .catch((err) => { + this.tableLoading = false; + }); + }, + // 鎵撳紑鏂板璇︽儏寮规 + handleAdd(type, row) { + this.addDialogVisible = true + this.getCustomPageList() + this.operationType = type + if (row) { + this.addInfo = {...row} + } + }, + // 鎻愪氦-璇︽儏 + submitAdd() { + this.$refs.addInfo.validate(valid => { + if (valid) { + this.addLoading = true + addProcessDeal({ + totaldealId: this.queryParams.id, + ...this.addInfo + }).then(res => { + this.addLoading = false + this.addDialogVisible = false + this.$message({ + type: 'success', + message: '鏂板鎴愬姛!' + }); + this.getList() + }).catch(err => { + this.addLoading = false + }); + } + }) + }, + // 鎻愪氦淇敼璇︽儏 + handleEdit() { + if (type === 'submit') { + doProcessDeal({ + id: row.id, + ...row + }).then(res => { + this.$message({ + type: 'success', + message: '缂栬緫鎴愬姛!' + }); + this.getList(); + }).catch(err => { }); + } + }, + // 瀹℃牳 + handleCheck(row) { + this.title0 = '瀹℃牳' + this.lookDialogVisible = true + this.currentInfo = row + this.queryParams.id = row.id + }, + // 鎵瑰噯 + handleApproval(row) { + this.title0 = '鎵瑰噯' + this.lookDialogVisible = true + this.currentInfo = row + this.queryParams.id = row.id + }, + // 鎻愪氦瀹℃牳/鎵瑰噯 + submitCheck(state) { + if (state == '閫氳繃') { + this.checkLoading = true + } else { + this.noCheckLoading = true + } + if (this.title0 == '瀹℃牳') { + checkProcessTotaldeal({ + id: this.currentInfo.id, + state: state + }).then(res => { + this.checkLoading = false + this.noCheckLoading = false + this.$message({ + type: 'success', + message: '鎿嶄綔鎴愬姛!' + }); + this.refreshTable() + this.lookDialogVisible = false + }).catch(err => { }); + } else if (this.title0 == '鎵瑰噯') { + ratifyProcessTotaldeal({ + id: this.currentInfo.id, + state: state + }).then(res => { + this.checkLoading = false + this.noCheckLoading = false + this.$message({ + type: 'success', + message: '鎿嶄綔鎴愬姛!' + }); + this.refreshTable() + this.lookDialogVisible = false + }).catch(err => { }); + } + }, + // 瀵煎嚭璇︽儏 + handleDown0(row) { + if (!row.url) { + this.$message.warning('鏆傛棤鏂囦欢') + return + } + // 鍚庣涓嬭浇 + this.$download.saveAs(row.url, row.month + ' 鏍峰搧澶勭悊鐢宠琛�'); + }, + handleDelete(row) { + this.$confirm("鏄惁鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }).then(() => { + delProcessDeal({ id: row.id }).then((res) => { + this.$message.success("鍒犻櫎鎴愬姛"); + this.getList(); + }); + }).catch(() => { }); + }, + }, +} +</script> + +<style scoped> +>>>.el-dialog__body { + padding-top: 10px; +} +</style> diff --git a/src/views/CNAS/process/disposal/sampleReceipt/index.vue b/src/views/CNAS/process/disposal/sampleReceipt/index.vue new file mode 100644 index 0000000..8ea9309 --- /dev/null +++ b/src/views/CNAS/process/disposal/sampleReceipt/index.vue @@ -0,0 +1,321 @@ +<template> + <div class="capacity-scope"> + <div style="display: flex;justify-content: space-between;align-items: flex-start"> + <el-form :model="queryParams0" ref="queryParams0" size="small" :inline="true"> + <el-form-item label="鏀舵牱鏃ユ湡" prop="receiveDate"> + <el-date-picker v-model="queryParams0.receiveDate" type="date" placeholder="閫夋嫨鏃ユ湡" format="yyyy-MM-dd" + value-format="yyyy-MM-dd" size="small" @change="refreshTable()"> + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button> + <el-button size="mini" @click="refresh">閲嶇疆</el-button> + </el-form-item> + </el-form> + <el-button size="small" @click="handleDown0">瀵煎嚭</el-button> + </div> + + <div class="table"> + <lims-table :tableData="tableData0" :column="column0" :tableLoading="tableLoading0" + key="tableData0" + :height="'calc(100vh - 240px)'" :page="page0" @pagination="pagination0"> + <div slot="action" slot-scope="scope"> + <el-button type="text" @click="handleAdd(scope.row)">缂栬緫</el-button> + <el-button type="text" @click="delRow(scope.row)"> + <span style="color: #F56C6C">鍒犻櫎</span> + </el-button> + </div> + </lims-table> + </div> + <!-- 鏂板鏍峰搧 --> + <el-dialog :title="title" :visible.sync="addDialogVisible" width="400px"> + <el-row> + <el-col :span="24" style="margin-bottom: 16px;"> + <div class="search_thing"> + <div class="search_label">鏍峰搧鍚嶇О锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="addInfo.sampleName"></el-input></div> + </div> + </el-col> + <el-col :span="24" style="margin-bottom: 16px;"> + <div class="search_thing"> + <div class="search_label">鏍峰搧缂栧彿锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="addInfo.sampleCode"></el-input></div> + </div> + </el-col> + <el-col :span="24" style="margin-bottom: 16px;"> + <div class="search_thing"> + <div class="search_label">渚涙牱鍗曚綅锛�</div> + <div class="search_input"> + <el-select v-model="addInfo.sampleSupplier" size="small"> + <el-option :label="item.company" :value="item.company" v-for="(item, index) in customPageList" + :key="item.id"></el-option> + </el-select> + </div> + </div> + </el-col> + <el-col :span="24" style="margin-bottom: 16px;"> + <div class="search_thing"> + <div class="search_label">鏁伴噺锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="addInfo.num"></el-input> + </div> + </div> + </el-col> + <el-col :span="24" style="margin-bottom: 16px;"> + <div class="search_thing"> + <div class="search_label">澶勭悊鏂瑰紡锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="addInfo.dealMethod"></el-input></div> + </div> + </el-col> + <el-col :span="24" style="margin-bottom: 16px;"> + <div class="search_thing"> + <div class="search_label">鏃堕棿锛�</div> + <div class="search_input"> + <el-date-picker v-model="addInfo.dealTime" type="date" size="small" placeholder="閫夋嫨鏃ユ湡" format="yyyy-MM-dd" + value-format="yyyy-MM-dd" style="width: 100%;"> + </el-date-picker> + </div> + </div> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="addDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitAdd" :loading="addLoading">纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- 璇︽儏/涓嬭浇/瀹℃牳/鎵瑰噯 --> + <el-dialog :title="title0" :visible.sync="lookDialogVisible" width="800px" :class="{ downPdf: title0 == '涓嬭浇' }" + :modal="title0 != '涓嬭浇'" top="5vh"> + <filePreview v-if="lookDialogVisible" :fileUrl="javaApi + '/word/' + currentInfo.url" :currentFile="{}" + style="max-height: 70vh;overflow-y: auto;" /> + <span slot="footer" class="dialog-footer" v-if="title0 == '瀹℃牳' || title0 == '鎵瑰噯'"> + <el-button @click="submitCheck('涓嶉�氳繃')" :loading="noCheckLoading">涓嶉�氳繃</el-button> + <el-button type="primary" @click="submitCheck('閫氳繃')" :loading="checkLoading">閫� 杩�</el-button> + </span> + </el-dialog> + </div> +</template> + +<script> +import limsTable from "@/components/Table/lims-table.vue"; +import filePreview from "@/components/Preview/filePreview.vue"; +import { selectCustomPageList } from "@/api/system/customer"; +import { + pageProcessSample, + delProcessSample, + addProcessSample, + exportProcessSample +} from "@/api/cnas/process/sampleDisposal"; +import {exportInconsistentDistribution} from "@/api/cnas/process/nonconformingWork"; +export default { + name: 'SampleReceipt', + components: { + limsTable, + filePreview, + }, + data() { + return { + activeName: '濉啓', + title: '鏂板', + addDialogVisible: false, + addLoading: false, + outLoading: false, + editDialogVisible: false, + lookDialogVisible: false, + title0: '鏌ョ湅', + noCheckLoading: false, + checkLoading: false, + // 鍘嗗彶鍒楄〃 + addInfo: {},//鏂板鏍峰搧 + customPageList: [], + currentInfo: { + arr: [] + },//鏌ョ湅鐨勮鎯� + queryParams0: { + receiveDate: '' + }, + tableLoading0: false, + tableData0: [], + column0: [ + { + label: "鏀舵牱鏃ユ湡", + prop: "receiveDate", + }, + { + label: "鏍峰搧缂栧彿", + prop: "sampleCode", + }, + { + label: "鏍峰搧鍚嶇О", + prop: "sampleName", + }, + { + label: "鏍峰搧鏁伴噺", + prop: "num", + }, + { + label: "鏉ユ牱鍗曚綅", + prop: "sampleSupplier", + }, + { + label: "鐣欐牱鏃ユ湡", + prop: "leaveDate", + }, + { + label: "鏍峰搧鐘舵��", + prop: "sampleState", + }, + { + label: "閫�鏍风鏀�/澶勭悊鏃ユ湡", + prop: "dealTime", + }, + { + dataType: "slot", + slot: "action", + label: "鎿嶄綔", + } + ], + page0: { + total: 0, + size: 10, + current: 0, + }, + }; + }, + mounted() { + this.getList0() + }, + methods: { + // 鑾峰彇閫佹牱鍗曚綅鍒楄〃 + getCustomPageList() { + selectCustomPageList({ + current: -1, + size: -1 + }).then(res => { + this.customPageList = res.data.records + }).catch(err => { }); + }, + refresh() { + this.queryParams0 = {}; + this.page0.current = 1; + this.getList0(); + }, + refreshTable() { + this.page0.current = 1; + this.getList0(); + }, + // 鏌ヨ琛ㄦ牸鏁版嵁 + getList0() { + this.tableLoading0 = true; + let param = { ...this.queryParams0, ...this.page0 }; + delete param.total; + pageProcessSample({ ...param }) + .then((res) => { + this.tableLoading0 = false; + if (res.code === 200) { + this.tableData0 = res.data.records; + this.page0.total = res.data.total; + } + }) + .catch((err) => { + this.tableLoading0 = false; + }); + }, + pagination0({ page, limit }) { + this.page0.current = page; + this.page0.size = limit; + this.getList0(); + }, + // 鎵撳紑缂栬緫寮规 + handleAdd(row) { + this.addInfo = this.HaveJson(row) + this.title = '缂栬緫' + this.addDialogVisible = true + this.getCustomPageList() + }, + delRow(row) { + this.$confirm("鏄惁鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + delProcessSample({ id: row.id }).then(res => { + if (res.code == 200) { + this.$message.success("鍒犻櫎鎴愬姛"); + this.refreshTable(); + } + }).catch(err => { }); + }) + .catch(() => { }); + }, + // 鎻愪氦鏂板 + submitAdd() { + // 缂栬緫 + this.addLoading = true + addProcessSample({ + ...this.addInfo + }).then(res => { + this.addLoading = false + this.addDialogVisible = false + this.$message({ + type: 'success', + message: '缂栬緫鎴愬姛!' + }); + this.page0.current = 1; + this.refreshTable(); + }).catch(err => { }); + }, + // 瀵煎嚭璇︽儏 + handleDown0() { + exportProcessSample({ receiveDate: this.queryParams0.receiveDate }).then(res => { + this.outLoading = false + const blob = new Blob([res], { type: 'application/msword' }); + this.$download.saveAs(blob, '鏍峰搧鎺ユ敹' + '.docx'); + }) + }, + }, +} +</script> + +<style scoped> +.search_thing { + width: 350px; + display: flex; + align-items: center; +} + +.search_label { + width: 110px; + font-size: 14px; + text-align: right; +} + +.search_input { + width: calc(100% - 110px); +} + +.downPdf { + opacity: 0 !important; +} + +.tables td { + height: 40px; + width: 100px; + text-align: center; + font-size: 14px; + word-wrap: break-word; + white-space: normal; +} + +.user-info .el-button { + margin: 0; +} + +>>>.el-tabs__content { + height: 100%; +} +</style> diff --git a/src/views/CNAS/process/ensureResults/qualityControlPlan/components/processingSheet.vue b/src/views/CNAS/process/ensureResults/qualityControlPlan/components/processingSheet.vue index 5d2f2c8..c96c0bb 100644 --- a/src/views/CNAS/process/ensureResults/qualityControlPlan/components/processingSheet.vue +++ b/src/views/CNAS/process/ensureResults/qualityControlPlan/components/processingSheet.vue @@ -461,18 +461,6 @@ this.personList = data; }); }, - // getSupervisedUserList () { - // this.$axios.get(this.$api.user.selectDepartmentLimsUserList).then(res => { - // let data = [] - // res.data.forEach(a => { - // data.push({ - // label: a.name, - // value: a.id - // }) - // }) - // this.supervisedUserList = data - // }) - // }, } }; </script> diff --git a/src/views/CNAS/process/sampleDisposal/index.vue b/src/views/CNAS/process/sampleDisposal/index.vue deleted file mode 100644 index 31a1624..0000000 --- a/src/views/CNAS/process/sampleDisposal/index.vue +++ /dev/null @@ -1,521 +0,0 @@ -<template> - <div class="capacity-scope"> - <el-tabs type="border-card" v-model="activeName" style="height: 100%;" @tab-click="queryParams.totaldealId = ''"> - <el-tab-pane label="濉啓" name="濉啓" style="height: 100%;" :key="1"> - <el-button size="small" type="primary" @click="handleAdd0" style="margin-bottom: 10px">鏂板</el-button> - <div class="table" style="height: calc(100% - 200px)" v-if="activeName == '濉啓'"> - <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" - key="tableData" :height="'calc(100vh - 290px)'" :page="page" @pagination="pagination"></lims-table> - </div> - </el-tab-pane> - <el-tab-pane label="鍘嗗彶璁板綍" name="鍘嗗彶璁板綍" style="height: 100%;" :key="2"> - <el-form :model="queryParams0" ref="queryParams0" size="small" :inline="true"> - <el-form-item label="骞存湀" prop="month"> - <el-date-picker v-model="queryParams0.month" type="month" placeholder="閫夋嫨鏈�" format="yyyy-MM" - value-format="yyyy-MM" size="small" @change="refreshTable()"> - </el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button> - <el-button size="mini" @click="refresh">閲嶇疆</el-button> - </el-form-item> - </el-form> - <div class="table"> - <lims-table :tableData="tableData0" :column="column0" :tableLoading="tableLoading" - key="tableData0" - :height="'calc(100vh - 300px)'" :page="page0" @pagination="pagination0"></lims-table> - </div> - </el-tab-pane> - </el-tabs> - <!-- 鏂板鏍峰搧 --> - <el-dialog :title="title" :visible.sync="addDialogVisible" width="400px"> - <el-row> - <el-col :span="24" style="margin-bottom: 16px;"> - <div class="search_thing"> - <div class="search_label">鏍峰搧鍚嶇О锛�</div> - <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="addInfo.sampleName"></el-input></div> - </div> - </el-col> - <el-col :span="24" style="margin-bottom: 16px;"> - <div class="search_thing"> - <div class="search_label">鏍峰搧缂栧彿锛�</div> - <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="addInfo.sampleCode"></el-input></div> - </div> - </el-col> - <el-col :span="24" style="margin-bottom: 16px;"> - <div class="search_thing"> - <div class="search_label">渚涙牱鍗曚綅锛�</div> - <div class="search_input"> - <el-select v-model="addInfo.sampleSupplier" size="small"> - <el-option :label="item.company" :value="item.company" v-for="(item, index) in customPageList" - :key="item.id"></el-option> - </el-select> - </div> - </div> - </el-col> - <el-col :span="24" style="margin-bottom: 16px;"> - <div class="search_thing"> - <div class="search_label">鏁伴噺锛�</div> - <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="addInfo.num"></el-input> - </div> - </div> - </el-col> - <el-col :span="24" style="margin-bottom: 16px;"> - <div class="search_thing"> - <div class="search_label">澶勭悊鏂瑰紡锛�</div> - <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="addInfo.dealMethod"></el-input></div> - </div> - </el-col> - <el-col :span="24" style="margin-bottom: 16px;"> - <div class="search_thing"> - <div class="search_label">鏃堕棿锛�</div> - <div class="search_input"> - <el-date-picker v-model="addInfo.dealTime" type="date" size="small" placeholder="閫夋嫨鏃ユ湡" format="yyyy-MM-dd" - value-format="yyyy-MM-dd" style="width: 100%;"> - </el-date-picker> - </div> - </div> - </el-col> - </el-row> - <span slot="footer" class="dialog-footer"> - <el-button @click="addDialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="submitAdd" :loading="addLoading">纭� 瀹�</el-button> - </span> - </el-dialog> - <!-- 璇︽儏/涓嬭浇/瀹℃牳/鎵瑰噯 --> - <el-dialog :title="title0" :visible.sync="lookDialogVisible" width="800px" :class="{ downPdf: title0 == '涓嬭浇' }" - :modal="title0 != '涓嬭浇'" top="5vh"> - <filePreview v-if="lookDialogVisible" :fileUrl="javaApi + '/word/' + currentInfo.url" :currentFile="{}" - style="max-height: 70vh;overflow-y: auto;" /> - <span slot="footer" class="dialog-footer" v-if="title0 == '瀹℃牳' || title0 == '鎵瑰噯'"> - <el-button @click="submitCheck('涓嶉�氳繃')" :loading="noCheckLoading">涓嶉�氳繃</el-button> - <el-button type="primary" @click="submitCheck('閫氳繃')" :loading="checkLoading">閫� 杩�</el-button> - </span> - </el-dialog> - </div> -</template> - -<script> -import limsTable from "@/components/Table/lims-table.vue"; -import filePreview from "@/components/Preview/filePreview.vue"; -import { selectCustomPageList } from "@/api/system/customer"; -import { - doProcessDeal, - addProcessDeal, - submitProcessTotaldeal, - pageProcessDeal, - checkProcessTotaldeal, - ratifyProcessTotaldeal, - delProcessDeal, - pageProcessTotaldeal, -} from "@/api/cnas/process/sampleDisposal"; -export default { - name: 'SampleDisposal', - components: { - limsTable, - filePreview, - }, - data() { - return { - activeName: '濉啓', - title: '鏂板', - addDialogVisible: false, - addLoading: false, - outLoading: false, - editDialogVisible: false, - lookDialogVisible: false, - title0: '鏌ョ湅', - noCheckLoading: false, - checkLoading: false, - // 鍘嗗彶鍒楄〃 - addInfo: {},//鏂板鏍峰搧 - customPageList: [], - currentInfo: { - arr: [] - },//鏌ョ湅鐨勮鎯� - outPower: false, - addPower: false, - queryParams: {}, - tableData: [], - column: [ - { label: "鏍峰搧鍚嶇О", prop: "sampleName" }, - { label: "鏍峰搧缂栧彿", prop: "sampleCode" }, - { label: "渚涙牱鍗曚綅", prop: "sampleSupplier" }, - { label: "鏁伴噺", prop: "num" }, - { label: "澶勭悊鏂瑰紡", prop: "dealMethod" }, - { label: "鏃堕棿", prop: "dealTime" }, - { - dataType: "action", - fixed: "right", - label: "鎿嶄綔", - operation: [ - { - name: "缂栬緫", - type: "text", - clickFun: (row) => { - this.handleAdd0(row); - }, - }, - { - name: "鍒犻櫎", - type: "text", - clickFun: (row) => { - this.handleDelete(row); - }, - }, - ], - }, - ], - page: { - total: 0, - size: 10, - current: 0, - }, - tableLoading: false, - queryParams0: {}, - tableData0: [], - column0: [ - { label: "鏈堜唤", prop: "month" }, - { label: "鎬绘暟閲�", prop: "totalNum" }, - { label: "鎻愪氦浜�", prop: "submitUserName" }, - { label: "瀹℃牳浜�", prop: "examineUserName" }, - { label: "鎵瑰噯浜�", prop: "ratifyUserName" }, - { - dataType: "action", - fixed: "right", - label: "鎿嶄綔", - operation: [ - { - name: "鏌ョ湅", - type: "text", - clickFun: (row) => { - this.handleLook(row); - }, - }, - { - name: "涓嬭浇", - type: "text", - clickFun: (row) => { - this.handleDown0(row); - }, - disabled: (row) => { - return !row.url - } - }, - { - name: "鎻愪氦", - type: "text", - clickFun: (row) => { - this.handleSubmit(row); - }, - disabled: (row) => { - return !!row.submitState && row.submitState != '寰呮彁浜�' - } - }, - { - name: "瀹℃牳", - type: "text", - clickFun: (row) => { - this.handleCheck(row); - }, - disabled: (row) => { - return row.examineState == '閫氳繃' || row.submitState == '寰呮彁浜�' - } - }, - { - name: "鎵瑰噯", - type: "text", - clickFun: (row) => { - this.handleApproval(row); - }, - disabled: (row) => { - return row.ratifyState == '閫氳繃' || row.submitState == '寰呮彁浜�' - } - }, - ], - }, - ], - page0: { - total: 0, - size: 10, - current: 0, - }, - }; - }, - mounted() { - this.getCustomPageList() - this.getList() - this.getList0() - }, - methods: { - // 鑾峰彇閫佹牱鍗曚綅鍒楄〃 - getCustomPageList() { - selectCustomPageList({ - current: -1, - size: -1 - }).then(res => { - this.customPageList = res.data.records - }).catch(err => { }); - }, - handleDown() { }, - getList() { - this.tableLoading = true; - let param = { ...this.queryParams, ...this.page }; - delete param.total; - pageProcessDeal({ ...param }) - .then((res) => { - this.tableLoading = false; - if (res.code === 200) { - this.tableData = res.data.records; - this.page.total = res.data.total; - } - }) - .catch((err) => { - this.tableLoading = false; - }); - }, - pagination({ page, limit }) { - this.page.current = page; - this.page.size = limit; - this.getList(); - }, - refresh() { - this.queryParams0 = {}; - this.page0.current = 1; - this.getList0(); - }, - refreshTable() { - this.page0.current = 1; - this.getList0(); - }, - getList0() { - this.tableLoading = true; - let param = { ...this.queryParams0, ...this.page }; - delete param.total; - pageProcessTotaldeal({ ...param }) - .then((res) => { - this.tableLoading = false; - if (res.code === 200) { - this.tableData0 = res.data.records; - this.page0.total = res.data.total; - } - }) - .catch((err) => { - this.tableLoading = false; - }); - }, - pagination0({ page, limit }) { - this.page0.current = page; - this.page0.size = limit; - this.getList0(); - }, - // 濉啓 - // handleAdd(row){ - // this.componentData0.entity.totaldealId = row.id - // this.editDialogVisible = true - // }, - // 鎵撳紑鏂板鐣岄潰 - handleAdd0(row) { - if (row) { - this.addInfo = this.HaveJson(row) - this.title = '缂栬緫' - } else { - this.title = '鏂板' - this.addInfo = {} - } - this.addDialogVisible = true - }, - // 鎻愪氦鏂板 - submitAdd() { - if (this.addInfo.id) { - // 缂栬緫 - this.addLoading = true - doProcessDeal({ - totaldealId: this.queryParams.totaldealId, - ...this.addInfo - }).then(res => { - this.addLoading = false - this.addDialogVisible = false - this.$message({ - type: 'success', - message: '缂栬緫鎴愬姛!' - }); - this.page.current = 0; - this.getList(); - }).catch(err => { }); - } else { - // 鏂板 - this.addLoading = true - addProcessDeal({ - totaldealId: this.queryParams.totaldealId, - ...this.addInfo - }).then(res => { - this.addLoading = false - this.addDialogVisible = false - this.$message({ - type: 'success', - message: '鏂板鎴愬姛!' - }); - this.page.current = 0; - this.getList(); - }).catch(err => { }); - } - }, - // 鎻愪氦 - handleSubmit(row) { - this.$confirm('鏄惁鎻愪氦 ' + row.month + ' 鏈堜唤鐨勬暟鎹�', '鎻愪氦', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - submitProcessTotaldeal({ - id: row.id - }).then(res => { - this.$message({ - type: 'success', - message: '鎻愪氦鎴愬姛!' - }); - this.refreshTable() - }).catch(err => { }); - }) - }, - // 鏌ョ湅 - handleLook(row) { - this.activeName = '濉啓' - this.queryParams.totaldealId = row.id - this.$nextTick(() => { - this.page.current = 1; - this.getList(); - }) - }, - commonFun(row, callbanck) { - this.currentInfo = row - this.queryParams.totaldealId = row.id - pageProcessDeal({ - current: -1, - size: -1, ...this.queryParams - }).then(res => { - this.lookDialogVisible = true - this.currentInfo.arr = res.data.records - if (callbanck) { - callbanck() - } - }).catch(err => { }); - }, - // 瀹℃牳 - handleCheck(row) { - this.title0 = '瀹℃牳' - this.commonFun(row) - }, - // 鎵瑰噯 - handleApproval(row) { - this.title0 = '鎵瑰噯' - this.commonFun(row) - }, - // 鎻愪氦瀹℃牳/鎵瑰噯 - submitCheck(state) { - if (state == '閫氳繃') { - this.checkLoading = true - } else { - this.noCheckLoading = true - } - if (this.title0 == '瀹℃牳') { - checkProcessTotaldeal({ - id: this.currentInfo.id, - state: state - }).then(res => { - this.checkLoading = false - this.noCheckLoading = false - this.$message({ - type: 'success', - message: '鎿嶄綔鎴愬姛!' - }); - this.refreshTable() - this.lookDialogVisible = false - }).catch(err => { }); - } else if (this.title0 == '鎵瑰噯') { - ratifyProcessTotaldeal({ - id: this.currentInfo.id, - state: state - }).then(res => { - this.checkLoading = false - this.noCheckLoading = false - this.$message({ - type: 'success', - message: '鎿嶄綔鎴愬姛!' - }); - this.refreshTable() - this.lookDialogVisible = false - }).catch(err => { }); - } - }, - // 瀵煎嚭璇︽儏 - handleDown0(row) { - if (!row.url) { - this.$message.warning('鏆傛棤鏂囦欢') - return - } - // 鍚庣涓嬭浇 - this.$download.saveAs(row.url, row.month + ' 鏍峰搧澶勭悊鐢宠琛�'); - }, - handleDelete(row) { - this.$confirm("鏄惁鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - delProcessDeal({ id: row.id }).then((res) => { - this.$message.success("鍒犻櫎鎴愬姛"); - this.page.current = 0; - this.getList(); - }); - }) - .catch(() => { }); - }, - }, -} -</script> - -<style scoped> -.search_thing { - width: 350px; - display: flex; - align-items: center; -} - -.search_label { - width: 110px; - font-size: 14px; - text-align: right; -} - -.search_input { - width: calc(100% - 110px); -} - -.downPdf { - opacity: 0 !important; -} - -.tables td { - height: 40px; - width: 100px; - text-align: center; - font-size: 14px; - word-wrap: break-word; - white-space: normal; -} - -.user-info .el-button { - margin: 0; -} - ->>>.el-tabs__content { - height: 100%; -} -</style> diff --git a/src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue b/src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue index be50c66..aabb2dc 100644 --- a/src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue +++ b/src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue @@ -248,7 +248,6 @@ methods: { // 鏂板 openAdd() { - // this.$refs.ValueTable.openAddDia(this.$api.manageRecordIssueRecycle.addManageRecordIssueRecycle); this.addInfo = {} this.title = '鏂板' this.addDialogVisible = true; diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue index 1cdc196..08301b9 100644 --- a/src/views/business/inspectionTask/index.vue +++ b/src/views/business/inspectionTask/index.vue @@ -61,9 +61,10 @@ )" @click="handleConnect(scope.row)">浜ゆ帴</el-button> <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">鍘熷璁板綍</el-button> - <el-popover placement="bottom" trigger="hover" style="margin-left: 6px"> + <el-popover placement="bottom" trigger="hover" style="margin-left: 6px" :disabled="(scope.row.insState != 3 || scope.row.userName == null ||(scope.row.userName && !scope.row.userName.includes(nickName)))"> <template #reference> - <el-button link type="text" size="small">鏇村</el-button> + <el-button link type="text" size="small" :disabled="(scope.row.insState != 3 || scope.row.userName == null || + (scope.row.userName && !scope.row.userName.includes(nickName)))">鏇村</el-button> </template> <div> <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue index cfaa862..f648679 100644 --- a/src/views/business/inspectionTask/inspection.vue +++ b/src/views/business/inspectionTask/inspection.vue @@ -1641,20 +1641,6 @@ this.comparisonList = this.dictToValue(response.data); }); }, - // 鑾峰彇妫�楠屽�间负涓嬫媺鏃剁殑涓嬫媺鍒楄〃 - // selectEnumByCategoryOfSelect(val) { - // this.enumList = []; - // if (val === undefined || val === null) { - // return; - // } - // this.$axios - // .post(this.$api.enums.selectEnumByCategory, { - // category: val, - // }) - // .then((res) => { - // this.enumList = res.data; - // }); - // }, tableRowClassName({ row, rowIndex }) { row.index = rowIndex + 1; }, diff --git a/src/views/business/inspectionView/index.vue b/src/views/business/inspectionView/index.vue index f160492..c7f43c5 100644 --- a/src/views/business/inspectionView/index.vue +++ b/src/views/business/inspectionView/index.vue @@ -1639,20 +1639,6 @@ this.comparisonList = this.dictToValue(response.data); }); }, - // 鑾峰彇妫�楠屽�间负涓嬫媺鏃剁殑涓嬫媺鍒楄〃 - // selectEnumByCategoryOfSelect(val) { - // this.enumList = []; - // if (val === undefined || val === null) { - // return; - // } - // this.$axios - // .post(this.$api.enums.selectEnumByCategory, { - // category: val, - // }) - // .then((res) => { - // this.enumList = res.data; - // }); - // }, tableRowClassName({ row, rowIndex }) { row.index = rowIndex + 1; }, diff --git a/src/views/business/materialOrder/copperOrder.vue b/src/views/business/materialOrder/copperOrder.vue index 7613887..fd8bbdd 100644 --- a/src/views/business/materialOrder/copperOrder.vue +++ b/src/views/business/materialOrder/copperOrder.vue @@ -1496,19 +1496,6 @@ }) // this.searchTemList() }, - // searchTemList () { - // this.temperatureList = [] - // this.$axios.post(this.$api.enums.selectEnumByCategory, { - // category: "鐢靛姏娓╁害寰幆妫�楠�" - // }).then(res => { - // if (res.data.length > 0) { - // this.temperatureEngList = res.data - // res.data.forEach(item => { - // this.temperatureList.push(item.label) - // }) - // } - // }) - // }, changeModel() { this.sampleList.forEach(a => { let obj = this.sampleIds.find(b => b == a.id) diff --git a/src/views/business/materialOrder/copperView.vue b/src/views/business/materialOrder/copperView.vue index 7a5a8f8..9d0595b 100644 --- a/src/views/business/materialOrder/copperView.vue +++ b/src/views/business/materialOrder/copperView.vue @@ -1495,19 +1495,6 @@ }) // this.searchTemList() }, - // searchTemList () { - // this.temperatureList = [] - // this.$axios.post(this.$api.enums.selectEnumByCategory, { - // category: "鐢靛姏娓╁害寰幆妫�楠�" - // }).then(res => { - // if (res.data.length > 0) { - // this.temperatureEngList = res.data - // res.data.forEach(item => { - // this.temperatureList.push(item.label) - // }) - // } - // }) - // }, changeModel() { this.sampleList.forEach(a => { let obj = this.sampleIds.find(b => b == a.id) diff --git a/src/views/business/materialOrderComponents/materialOrder/showInfo.vue b/src/views/business/materialOrderComponents/materialOrder/showInfo.vue index 1a902e7..4dab747 100644 --- a/src/views/business/materialOrderComponents/materialOrder/showInfo.vue +++ b/src/views/business/materialOrderComponents/materialOrder/showInfo.vue @@ -34,12 +34,6 @@ methods: { getInfo (id) { console.log('id----', id) - this.$axios.get(this.$api.rawMaterialOrder.getIndustryChain + '?id=' + id).then(res => { - if (res.code === 200 && res.data !== null) { - this.infoLIst = JSON.parse(res.data) - console.log('this.infoLIst----', this.infoLIst) - } - }) } }, } diff --git a/src/views/business/reportPreparation/index.vue b/src/views/business/reportPreparation/index.vue index 0b6d7f7..785e9f1 100644 --- a/src/views/business/reportPreparation/index.vue +++ b/src/views/business/reportPreparation/index.vue @@ -187,7 +187,7 @@ <el-button size="small" style="height: 38px" type="primary">闄勪欢涓婁紶</el-button> </el-upload> </div> - <lims-table :tableData="tableDataFile" :column="columnFile" height="500px" + <lims-table :tableData="tableDataFile" :column="columnFile" height="600px" key="tableDataFile" :tableLoading="tableLoadingFile"></lims-table> </el-dialog> </div> @@ -525,7 +525,7 @@ // 鏌ヨ闄勪欢鏌ョ湅鍒楄〃鍥炶皟 getFileList() { this.tableLoadingFile = true - getFileList({ insOrderId: this.filesLookInfo.insOrderId }).then(res => { + getFileList({ insOrderId: this.filesLookInfo.insOrderId,current: -1, size: -1 }).then(res => { this.tableLoadingFile = false if (res.code === 200) { this.tableDataFile = res.data.records -- Gitblit v1.9.3