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