From 3c510ea35b428feed7f7a1743a595e7dba634518 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 16 四月 2025 15:50:45 +0800 Subject: [PATCH] 网络分析仪数采配置 --- src/views/CNAS/resourceDemand/device/component/management.vue | 178 ++++++++++++++++++++++++----------------------------------- 1 files changed, 73 insertions(+), 105 deletions(-) diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue index 77e4671..649138e 100644 --- a/src/views/CNAS/resourceDemand/device/component/management.vue +++ b/src/views/CNAS/resourceDemand/device/component/management.vue @@ -1,37 +1,42 @@ <!-- 璁惧宸ュ叿鏄庣粏 --> <template> <div class="role_manage"> - <div class="search" v-show="!showData"> - <div class="search_thing"> - <div class="search_label">鐘舵�侊細</div> - <el-select v-model="queryParams.deviceStatus" placeholder="鍏ㄩ儴" size="small"> - <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> - </el-option> - </el-select> + <div class="search"> + <div> + <el-form :model="queryParams" ref="queryParams" size="small" :inline="true"> + <el-form-item label="鐘舵��" prop="deviceStatus" class="form-item"> + <el-select v-model="queryParams.deviceStatus" placeholder="鍏ㄩ儴" size="small"> + <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="璁惧鍚嶇О" prop="deviceName"> + <el-input size="small" style="width: 160px;" placeholder="璇疯緭鍏�" clearable v-model="queryParams.deviceName" + @keyup.enter.native="refreshTable()"> + </el-input> + </el-form-item> + <el-form-item label="瑙勬牸鍨嬪彿" prop="specificationModel"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.specificationModel" + @keyup.enter.native="refreshTable()" style="width: 160px;"></el-input> + </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> - <div class="search_thing"> - <div class="search_label">璁惧鍚嶇О锛�</div> - <div class="search_input"> - <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.deviceName" - @keyup.enter.native="refreshTable()"> - </el-input> - </div> - </div> - <div class="search_thing"> - <div class="search_label">瑙勬牸鍨嬪彿锛�</div> - <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="queryParams.specificationModel" @keyup.enter.native="refreshTable()"></el-input> - </div> - </div> - <div style="padding-left: 30px;"> - <el-button size="small" @click="refresh()">閲� 缃�</el-button> - <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> - <el-button size="small" type="primary" @click="dialogVisible2 = true">鏂� 澧�</el-button> - <el-button size="small" type="primary" @click="handleDownOne">瀵� 鍑�</el-button> + <div> + <el-upload ref='upload' style="display: inline;margin-right: 8px" :action="uploadAction" + :before-upload="beforeUpload" :headers="uploadHeader" :on-error="onError" :on-success="handleSuccessUp" + :show-file-list="false" accept='.xls,.xlsx'> + <el-button size="small" type="primary">瀵煎叆</el-button> + </el-upload> + <el-button size="small" type="primary" @click="dialogVisible2 = true">鏂板</el-button> + <el-button size="small" type="primary" @click="handleDownOne">瀵煎嚭</el-button> </div> </div> <div class="table" v-show="!showData"> - <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 320px)'" + <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 300px)'" :page="page" @pagination="pagination"></lims-table> </div> <el-dialog :title="isUp ? '璁惧璇︽儏' : '妗f淇'" :visible.sync="dialogVisible" width="70%" top="5vh" @@ -119,7 +124,7 @@ <el-col :span="7"> <el-form :label-position="labelPosition" :model="formData" label-width="140px" ref="ruleForm"> <!-- 瀹為獙瀹ゅ垪琛� --> - <el-form-item label="鎵�灞為儴闂�:"> + <el-form-item label="鎵�灞為儴闂�:" required> <el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%"> <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label" @@ -277,7 +282,7 @@ <el-col :span="7"> <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm"> <!-- 瀹為獙瀹ゅ垪琛� --> - <el-form-item label="鎵�灞為儴闂�:"> + <el-form-item label="鎵�灞為儴闂�:" required> <el-select v-model="formData2.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%"> <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label" :value="item.value"> @@ -382,7 +387,7 @@ </el-row> </span> </el-dialog> - <dataAcquisitionConfig v-if="showData" :deviceId="deviceId" /> + <dataAcquisitionConfig v-if="showData" :deviceId="deviceId" :deviceName="deviceName" /> </div> </template> @@ -415,8 +420,10 @@ }, data() { return { + uploadAction: process.env.VUE_APP_BASE_API + '/deviceScope/importDevice', dateFormat: 'yyyy-MM-dd', deviceId: '', + deviceName: '', fileTypeOptions: [ { label: 'csv', value: '.csv' }, { label: 'db', value: '.db' }, @@ -484,17 +491,25 @@ { label: "鎵�灞為儴闂�", prop: "laboratoryName" }, { label: "妫�楠岄」鐩�", prop: "insProductItem" }, { label: "鏍″噯鏈嶅姟鏈烘瀯", prop: "calibrationServices" }, - { label: "鏈�杩戞牎鍑嗘棩鏈�", prop: "lastCalibrationDateTwo" }, - { label: "鏈�杩戞牳鏌ユ棩鏈�", prop: "lastCalibrationDate" }, - { label: "涓嬫鏍″噯鏃ユ湡", prop: "nextCalibrationDateTwo" }, - { label: "涓嬫鏍告煡鏃ユ湡", prop: "nextCalibrationDate" }, + { label: "鏈�杩戞牎鍑嗘棩鏈�", prop: "lastCalibrationDate" }, + { label: "鏈�杩戞牳鏌ユ棩鏈�", prop: "lastCalibrationDateTwo" }, + { label: "涓嬫鏍″噯鏃ユ湡", prop: "nextCalibrationDate" }, + { label: "涓嬫鏍告煡鏃ユ湡", prop: "nextCalibrationDateTwo" }, { label: "璁惧鍒嗙被", prop: "largeCategory", dataType: "tag", formatData: (params) => { - return this.equipmentList.find(m => m.value == params).label + if (this.equipmentList.find(m => m.value == params)) { + return this.equipmentList.find(m => m.value == params).label + } else { + return null + } }, formatType: (params) => { - return this.equipmentList.find(m => m.value == params).type + if (this.equipmentList.find(m => m.value == params)) { + return this.equipmentList.find(m => m.value == params).type + } else { + return null + } } }, { label: "鍗曚环", prop: "unitPrice" }, @@ -554,13 +569,10 @@ } }, mounted() { - // this.entityCopy = this.HaveJson(this.componentData.entity) - // this.getPower() this.selectEnumByCategory() this.selectDevicePrincipal() this.obtainItemParameterList() this.getInsProductIds() - // this.$customEvents.$on('largeCategory', this.handleNotification); // 鍒濆鍖� this.clickSidebar(this.clickNodeVal) }, @@ -619,38 +631,6 @@ const blob = new Blob([res], { type: 'application/octet-stream' }); this.$download.saveAs(blob, '璁惧浠櫒涓�瑙堣〃.doc') }) - }, - // 鏉冮檺鍒嗛厤 - getPower(radio) { - let power = JSON.parse(sessionStorage.getItem('power')) - let up = false - let del = false - let add = false - let config = false - for (var i = 0; i < power.length; i++) { - if (power[i].menuMethod == 'upDeviceParameter') { - up = true - } - if (power[i].menuMethod == 'delDeviceParameter') { - del = true - } - if (power[i].menuMethod == 'addDeviceParameter') { - add = true - } - if (power[i].menuMethod == 'saveDataAcquisitionConfiguration') { - config = true - } - } - if (!config) { - this.componentData.do.splice(2, 1) - } - if (!up) { - this.componentData.do.splice(1, 1) - } - if (!del) { - this.componentData.do.splice(0, 1) - } - this.addPower = add }, // 鑾峰彇瀛楀吀 selectEnumByCategory() { @@ -792,6 +772,15 @@ }) } }, + handleSuccessUp(response, file, fileList) { + this.$refs.upload.clearFiles() + if (response.code !== 200) { + this.$message.error(response.msg) + return + } + this.$message.success('涓婁紶鎴愬姛') + this.refreshTable() + }, submitForm() { if (!this.formData.deviceName) { this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�') @@ -813,6 +802,10 @@ this.$message.error('鏈緭鍏ユ牎鍑嗘湁鏁堟湡') return } + if (!this.formData.subordinateDepartmentsId) { + this.$message.error('鏈�夋嫨鎵�灞為儴闂�') + return + } if (this.formData.deviceStatus === '' || this.formData.deviceStatus === null) { this.$message.error('鏈�夋嫨褰撳墠鐘舵��') return @@ -827,17 +820,13 @@ delete this.formData.updateUser const formData = this.HaveJson(this.formData) formData.insProductIds = formData.insProductIds ? formData.insProductIds.join() : '' - if (formData.authorizedPerson.length === 0) { + if (!formData.authorizedPerson || formData.authorizedPerson.length === 0) { formData.authorizedPerson = '' } else { formData.authorizedPerson = JSON.stringify(formData.authorizedPerson) } this.upLoad = true; upDeviceParameter(formData).then(res => { - if (res.code === 201) { - this.upLoad = false - return - } this.$message.success('淇敼鎴愬姛') this.upLoad = false this.refreshTable('page') @@ -880,17 +869,13 @@ } const formData = this.HaveJson(this.formData2) formData.insProductIds = formData.insProductIds ? formData.insProductIds.join() : '' - if (formData.authorizedPerson.length === 0) { + if (!formData.authorizedPerson || formData.authorizedPerson.length === 0) { formData.authorizedPerson = '' } else { formData.authorizedPerson = JSON.stringify(formData.authorizedPerson) } this.upLoad2 = true; addDeviceParameter(formData).then(res => { - if (res.code === 201) { - this.upLoad2 = false - return - } this.$message.success('鎻愪氦鎴愬姛') this.upLoad2 = false this.refreshTable('page') @@ -921,6 +906,7 @@ }) this.tableList = list2 this.deviceId = row.id + this.deviceName = row.deviceName this.$nextTick(() => { this.showData = true }) @@ -958,9 +944,6 @@ this.upLoad3 = true numberCollect(this.configForm).then(res => { this.upLoad3 = false - if (res.code === 201) { - return - } this.$message.success('鎿嶄綔鎴愬姛') this.refreshTable('page') this.dialogVisible3 = false @@ -1007,7 +990,6 @@ }) .then(() => { delDeviceParameter({ id: row.id }).then((res) => { - if (res.code == 201) return; this.$message.success("鍒犻櫎鎴愬姛"); this.refresh(); }); @@ -1025,18 +1007,9 @@ </script> <style scoped> -.role_manage { - width: 100%; - height: 100%; -} - -.title { - line-height: 15px; -} - .search { + height: 46px; display: flex; - align-items: center; justify-content: space-between; margin-top: 10px; } @@ -1053,18 +1026,9 @@ text-align: right; } -.search_input { - width: calc(100% - 80px); -} - .table { - margin-top: 12px; background-color: #fff; - height: calc(100vh - 17em); -} - -.el-form-item { - margin-bottom: 16px; + height: calc(100vh - 16em); } .picName { @@ -1074,4 +1038,8 @@ word-break: break-all; width: 120px; } + +.form-item>>>.el-form-item__content { + width: 120px; +} </style> -- Gitblit v1.9.3