Merge remote-tracking branch 'origin/dev' into dev
| | |
| | | // æ£æµææ ¡åç©åçå¤ç½® |
| | | import request from "@/utils/request"; |
| | | |
| | | // æ£æµææ ¡åç©åçå¤ç½® |
| | | // ä¿®æ¹ |
| | | export function doProcessDeal(data) { |
| | | return request({ |
| | |
| | | }); |
| | | } |
| | | |
| | | // æ°å¢ |
| | | // æ°å¢è¯¦æ
|
| | | export function addProcessDeal(data) { |
| | | return request({ |
| | | url: "/processDeal/addProcessDeal", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // æäº¤åå² ä¼ åid |
| | | export function addProcessTotaldeal(data) { |
| | | return request({ |
| | | url: "/processTotaldeal/addProcessTotaldeal", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | //æ¥è¯¢è¯¦æ
å页æ¥è¯¢éé¢totaldealId ä¼ ååå²çid |
| | | export function pageProcessDeal(query) { |
| | | export function getProcessDeal(query) { |
| | | return request({ |
| | | url: "/processDeal/pageProcessDeal", |
| | | url: "/processDeal/getProcessDeal", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | |
| | | 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, |
| | | }); |
| | | } |
| | |
| | | :legend="legend2" |
| | | :lineColors="lineColors" |
| | | :series="echartsSeries2" |
| | | :tooltip="tooltip" |
| | | :tooltip="tooltip1" |
| | | :xAxis="xAxis" |
| | | :yAxis="yAxis2" |
| | | style="height: 40vh;"></Echarts> |
| | |
| | | |
| | | <script> |
| | | import Echarts from "./echarts.vue"; |
| | | import {getRawSupplierCompare} from "@/api/statisticalCharts/dataAnalysis"; |
| | | |
| | | export default { |
| | | name: "DataComparison", |
| | |
| | | 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'] |
| | |
| | | yAxis2: [{ |
| | | type: 'value', |
| | | min: 0, |
| | | max: 1, |
| | | max: 100, |
| | | axisLabel: { |
| | | formatter: '{value}%' // 卿¯ä¸ªå»åº¦å¼åæ·»å ç¾åæ¯ç¬¦å· |
| | | } |
| | | }], |
| | | echartsSeries2: [ |
| | | { |
| | |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | formatter: (params) => Math.round(params.value * 1000) / 10 + '%' |
| | | formatter: (params) => params.value + '%' |
| | | }, |
| | | data: [], |
| | | }, |
| | |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | formatter: (params) => Math.round(params.value * 1000) / 10 + '%' |
| | | formatter: (params) => params.value + '%' |
| | | }, |
| | | data: [], |
| | | } |
| | |
| | | }, |
| | | // æ¹æ³éå |
| | | 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) => { |
| | |
| | | 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() |
| | | }) |
| | |
| | | |
| | | <style scoped> |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | } |
| | | .container { |
| | | width: calc(100% - 20px); |
| | |
| | | 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); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
| | |
| | | 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> |
| | |
| | | methods: { |
| | | // æ°å¢ |
| | | openAdd() { |
| | | // this.$refs.ValueTable.openAddDia(this.$api.manageRecordIssueRecycle.addManageRecordIssueRecycle); |
| | | this.addInfo = {} |
| | | this.title = 'æ°å¢' |
| | | this.addDialogVisible = true; |
| | |
| | | )" |
| | | @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 || |
| | |
| | | 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; |
| | | }, |
| | |
| | | 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; |
| | | }, |
| | |
| | | }) |
| | | // 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) |
| | |
| | | }) |
| | | // 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) |
| | |
| | | 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) |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | } |
| | |
| | | <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> |
| | |
| | | // æ¥è¯¢éä»¶æ¥çå表åè° |
| | | 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 |