From e5454b769d44a34af423bf87ac8a740bf8c20341 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期二, 29 四月 2025 13:25:29 +0800 Subject: [PATCH] Merge branch 'dev' into dev_tides --- src/views/CNAS/resourceDemand/device/component/acquisitionConfig.vue | 302 ++++++++++++++++++-------------------------------- 1 files changed, 108 insertions(+), 194 deletions(-) diff --git a/src/views/CNAS/resourceDemand/device/component/acquisitionConfig.vue b/src/views/CNAS/resourceDemand/device/component/acquisitionConfig.vue index 38a545c..1bbe52c 100644 --- a/src/views/CNAS/resourceDemand/device/component/acquisitionConfig.vue +++ b/src/views/CNAS/resourceDemand/device/component/acquisitionConfig.vue @@ -5,6 +5,7 @@ <el-col :span="6" style="padding-left: 20px;text-align: left;">鏁伴噰閰嶇疆</el-col> <el-col :span="18" style="text-align: right;"> <el-button size="small" type="primary" @click="fileConfiguration">鏂囦欢閰嶇疆</el-button> + <el-button size="small" type="primary" @click="addItem">妫�楠岄」鏂板</el-button> <el-button size="small" @click="$parent.closeDataVue()"> <span style="color: #3A7BFA;">杩斿洖</span> </el-button> @@ -14,15 +15,9 @@ <div class="table"> <el-table :data="tableList.slice((page.current - 1) * page.size,page.current * page.size)" :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border - tooltip-effect="dark" height="100%" :span-method="spanMethod"> + tooltip-effect="dark" height="100%"> <el-table-column type="index" label="搴忓彿" align="center" width="65"></el-table-column> <el-table-column prop="deviceName" align="center" min-width="100" label="璁惧鍚嶇О"></el-table-column> - <el-table-column prop="fileType" align="center" label="鏂囦欢鍚庣紑"></el-table-column> - <el-table-column prop="collectUrl" align="center" min-width="100" show-overflow-tooltip - label="閲囬泦鍦板潃"></el-table-column> - <el-table-column prop="storageUrl" align="center" min-width="100" show-overflow-tooltip - label="瀛樺偍鍦板潃"></el-table-column> - <el-table-column prop="ip" align="center" label="IP鍦板潃" min-width="100"></el-table-column> <el-table-column prop="sample" align="center" label="妫�楠屽璞�" show-overflow-tooltip min-width="150"></el-table-column> <el-table-column prop="inspectionItemClass" align="center" label="妫�楠岄」鍒嗙被" min-width="120"></el-table-column> @@ -117,7 +112,7 @@ </el-row> </span> </el-dialog> - <el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible4" width="400px"> + <el-dialog title="鏂囦欢閰嶇疆" :visible.sync="dialogVisible4" width="400px"> <div class="search_thing" style="margin-bottom: 14px;"> <div class="search_label"> <span style="color:red;margin-right: 4px;">*</span>IP锛� @@ -162,6 +157,16 @@ </el-row> </span> </el-dialog> + <el-dialog title="娣诲姞妫�楠岄」" :visible.sync="dialogVisible5" width="1000px"> + <lims-table :tableData="tableData5" :column="column5" + :isSelection="true" :handleSelectionChange="selectMethod" + height="540" :page="page5" :tableLoading="tableLoading5" + @pagination="pagination5"></lims-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible5 = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm5" :loading="loading5">淇� 瀛�</el-button> + </span> + </el-dialog> </div> </template> @@ -170,19 +175,21 @@ queryDataAcquisitionConfiguration, saveDataAcquisitionConfiguration, deleteDataAcquisitionConfiguration, + getDeviceById, + saveDeviceFileConfiguration, + queryProductConfiguration, + getNoConfigProduct, } from '@/api/cnas/resourceDemand/device.js' +import limsTable from "@/components/Table/lims-table.vue"; export default { name: "dataAcquisitionConfig", // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: {}, + components: {limsTable}, props: { deviceId: { type: Number, default: () => [] } - }, - mounted() { - this.init(); }, data() { // 杩欓噷瀛樻斁鏁版嵁 @@ -295,110 +302,33 @@ ] } }, - deleteList: [] + deleteList: [], + tableData5: [], + column5: [ + {label: '鏍峰搧鍚嶇О', prop: 'sample'}, + {label: '妫�楠岄」鍒嗙被', prop: 'inspectionItemClass'}, + {label: '妫�楠岄」', prop: 'inspectionItem'}, + {label: '妫�楠屽瓙椤�', prop: 'inspectionItemSubclass'}, + ], + page5: { + total:0, + size:20, + current:1 + }, + tableLoading5: false, + dialogVisible5: false, + loading5: false, + multipleSelection: [] }; + }, + mounted() { + this.init(); }, // 鏂规硶闆嗗悎 methods: { - getIndexWithAlphabet(index) { - const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - const letterIndex = index % 26; - return alphabet.charAt(letterIndex) + (index + 1); - }, - rowspan(spanArr, position, spanName) { - this.tableList.forEach((item, index) => { - if (index === 0) { - spanArr.push(1); - position = 0; - } else { - if ( - this.tableList[index][spanName] === - this.tableList[index - 1][spanName] - ) { - spanArr[position] += 1; - spanArr.push(0); - } else { - spanArr.push(1); - position = index; - } - } - }); - }, - spanMethod({ row, column, rowIndex, columnIndex }) { - // 涓�鑸殑鍚堝苟琛� - if ( - this.spanConfig != undefined && - this.spanConfig.rows && - this.spanConfig.rows.length > 0 - ) { - let i = null; - let obj = this.spanConfig.rows.find((item, index) => { - i = index; - return item.index == columnIndex; - }); - if (obj) { - const _row = this.spanList[i].arr[rowIndex]; - const _col = _row > 0 ? 1 : 0; - return { - rowspan: _row, - colspan: _col - }; - } - } - // 鐗规畩鐨勫悎骞惰 - if ( - this.spanConfig != undefined && - this.spanConfig.special && - this.spanConfig.special.main && - this.spanConfig.special.rows && - this.spanConfig.special.rows.length > 0 - ) { - let i = null; - let obj = this.spanConfig.special.rows.find((item, index) => { - i = index; - return item.index == columnIndex; - }); - if (obj) { - const _row = this.specialSpanList[i].arr[rowIndex]; - const _col = _row > 0 ? 1 : 0; - return { - rowspan: _row, - colspan: _col - }; - } - } - }, - fileConfiguration() { - this.dialogVisible4 = true; - if (this.tableList[0]) { - this.$set(this.configForm, "fileType", this.tableList[0].fileType); - this.$set(this.configForm, "collectUrl", this.tableList[0].collectUrl); - this.$set(this.configForm, "storageUrl", this.tableList[0].storageUrl); - this.$set(this.configForm, "ip", this.tableList[0].ip); - this.$set( - this.configForm, - "entrustCode", - this.tableList[0].entrustCode - ); - this.$set( - this.configForm, - "sampleCode", - this.tableList[0].sampleCode - ); - this.$set( - this.configForm, - "dbFileName", - this.tableList[0].dbFileName - ); - this.$set( - this.configForm, - "fiberOpticRibbon", - this.tableList[0].fiberOpticRibbon - ) - } - }, + // 鏌ヨ鍒楄〃 init() { - queryDataAcquisitionConfiguration({ deviceId: this.deviceId, isDevice: false }).then(res => { + queryDataAcquisitionConfiguration({ deviceId: this.deviceId }).then(res => { this.tableList = res.data; this.tableList.forEach(i => { let isIncludes = false @@ -412,88 +342,72 @@ if (!isIncludes && i.formula) { i.formula = i.formula.slice(1, -1) } - i.sample = i.sample - .replace(/"/g, "") - .replace(/],/g, "锛�") - .replace(/\[/g, "") - .replace(/]/g, ""); }); - if (this.tableList[0]) { - this.$set(this.configForm, "fileType", this.tableList[0].fileType); - this.$set( - this.configForm, - "collectUrl", - this.tableList[0].collectUrl - ); - this.$set( - this.configForm, - "storageUrl", - this.tableList[0].storageUrl - ); - this.$set(this.configForm, "ip", this.tableList[0].ip); - this.$set( - this.configForm, - "entrustCode", - this.tableList[0].entrustCode - ); - this.$set( - this.configForm, - "sampleCode", - this.tableList[0].sampleCode - ); - this.$set( - this.configForm, - "dbFileName", - this.tableList[0].dbFileName - ); - this.$set( - this.configForm, - "fiberOpticRibbon", - this.tableList[0].fiberOpticRibbon - ) - } - // 涓�鑸殑鍚堝苟琛� - if ( - this.spanConfig != undefined && - this.spanConfig.rows && - this.spanConfig.rows.length > 0 - ) { - this.spanList = []; - this.spanConfig.rows.forEach((item, index) => { - this.spanList.push({ - arr: [], - position: 0 - }); - this.rowspan( - this.spanList[index].arr, - this.spanList[index].position, - item.name - ); - }); - } - // 鐗规畩鐨勫悎骞惰 - if ( - this.spanConfig != undefined && - this.spanConfig.special && - this.spanConfig.special.main && - this.spanConfig.special.rows && - this.spanConfig.special.rows.length > 0 - ) { - this.specialSpanList = []; - this.spanConfig.special.rows.forEach((item, index) => { - this.specialSpanList.push({ - arr: [], - position: 0 - }); - this.rowspan( - this.specialSpanList[index].arr, - this.specialSpanList[index].position, - this.spanConfig.special.main - ); - }); - } + }); }, + getIndexWithAlphabet(index) { + const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + const letterIndex = index % 26; + return alphabet.charAt(letterIndex) + (index + 1); + }, + // 鎵撳紑鏂板妫�楠岄」寮规 + addItem () { + this.dialogVisible5 = true; + this.getList5() + }, + getList5() { + this.tableLoading5 = true; + getNoConfigProduct({deviceId: this.deviceId, ...this.page5 }).then(res => { + this.tableLoading5 = false; + this.tableData5 = res.data.records + this.page5.total = res.data.total + }).catch(err => { + this.tableLoading5 = false; + }) + }, + pagination5 (page) { + this.page5.size = page.limit + this.getList5() + }, + // 琛ㄦ牸閫夋嫨鏂规硶 + selectMethod(val) { + this.multipleSelection = val + }, + // 鎻愪氦鏂板妫�楠岄」 + submitForm5 () { + this.loading5 = true; + saveDataAcquisitionConfiguration({ + deviceId: this.deviceId, + dataConfigList: this.multipleSelection, + }).then(res => { + this.loading5 = false; + this.dialogVisible5 = false; + this.init(); + this.$message.success("娣诲姞鎴愬姛"); + }).catch(err => { + this.loading5 = false; + }) + }, + // 鎵撳紑鏂囦欢閰嶇疆寮规 + fileConfiguration() { + this.dialogVisible4 = true; + this.getInfo() + }, + // 鏌ヨ鏂囦欢閰嶇疆淇℃伅 + getInfo() { + getDeviceById({deviceId: this.deviceId}).then(res => { + this.$set(this.configForm, "fileType", res.data.fileType); + this.$set(this.configForm, "collectUrl", res.data.collectUrl); + this.$set(this.configForm, "storageUrl", res.data.storageUrl); + this.$set(this.configForm, "ip", res.data.ip); + this.$set(this.configForm, "entrustCode", res.data.entrustCode); + this.$set(this.configForm, "sampleCode", res.data.sampleCode); + this.$set(this.configForm, "dbFileName", res.data.dbFileName); + this.$set(this.configForm, "fiberOpticRibbon", res.data.fiberOpticRibbon) + }) + }, + // 鎻愪氦鏂囦欢閰嶇疆 submitForm4() { const obj = Object.assign({ deviceId: this.deviceId, @@ -501,16 +415,14 @@ collectUrl: this.configForm.collectUrl, storageUrl: this.configForm.storageUrl, ip: this.configForm.ip, - isDevice: true, entrustCode: this.configForm.entrustCode, sampleCode: this.configForm.sampleCode, dbFileName: this.configForm.dbFileName, fiberOpticRibbon: this.configForm.fiberOpticRibbon }); this.upLoad4 = true; - saveDataAcquisitionConfiguration({ deviceId: this.deviceId, ...obj }).then(res => { + saveDeviceFileConfiguration({ deviceId: this.deviceId, ...obj }).then(res => { if (res.code == 200) { - // this.tableList = res.data; this.dialogVisible4 = false; this.init(); this.$message.success("鎿嶄綔鎴愬姛"); @@ -521,6 +433,7 @@ this.upLoad4 = false; }); }, + // 鎵撳紑鏁伴噰閰嶇疆寮规 dataConfig(row) { this.configForm = { deviceId: row.deviceId, @@ -530,7 +443,7 @@ inspectionItemClass: row.inspectionItemClass, }; this.dialogVisible3 = true; - queryDataAcquisitionConfiguration({ + queryProductConfiguration({ deviceId: this.deviceId, inspectionItem: row.inspectionItem.trim(), isDevice: true, @@ -570,6 +483,7 @@ } }); }, + // 鎻愪氦鏁伴噰閰嶇疆 submitForm3() { this.$refs.configForm.validate(valid => { // 琛ㄥ崟鏍¢獙 -- Gitblit v1.9.3