From 481ce9ffb9396cdd8c48bf9b28dffe228b83bc9e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 17 四月 2025 14:20:33 +0800
Subject: [PATCH] 设备维护保养页面开发、联调

---
 src/views/CNAS/resourceDemand/device/component/management.vue |  162 ++++++++++++++++++-----------------------------------
 1 files changed, 55 insertions(+), 107 deletions(-)

diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index 77e4671..8d74156 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -1,37 +1,38 @@
 <!-- 璁惧宸ュ叿鏄庣粏 -->
 <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>
-			<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>
-		</div>
+    <div class="search" v-show="!showData">
+      <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" clearable
+                       placeholder="鍏ㄩ儴" size="small" @change="refreshTable">
+              <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" 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()"></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>
+        <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 +120,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 +278,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">
@@ -443,11 +444,9 @@
 			labelPosition: 'right',
 			dialogVisible: false,
 			dialogVisible2: false,
-			addPower: false,
 			showData: false, // 鏁伴噰閰嶇疆椤甸潰
 			tableList: [],
 			addDia: true,
-			addPower: true,
 			//璁惧绫诲瀷鍒楄〃
 			equipmentList: [],
 			// 璐熻矗浜哄垪琛�
@@ -491,10 +490,18 @@
 				{
 					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 +561,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 +623,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() {
@@ -813,6 +785,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
@@ -834,10 +810,6 @@
 			}
 			this.upLoad = true;
 			upDeviceParameter(formData).then(res => {
-				if (res.code === 201) {
-					this.upLoad = false
-					return
-				}
 				this.$message.success('淇敼鎴愬姛')
 				this.upLoad = false
 				this.refreshTable('page')
@@ -887,10 +859,6 @@
 			}
 			this.upLoad2 = true;
 			addDeviceParameter(formData).then(res => {
-				if (res.code === 201) {
-					this.upLoad2 = false
-					return
-				}
 				this.$message.success('鎻愪氦鎴愬姛')
 				this.upLoad2 = false
 				this.refreshTable('page')
@@ -958,9 +926,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 +972,6 @@
 			})
 				.then(() => {
 					delDeviceParameter({ id: row.id }).then((res) => {
-						if (res.code == 201) return;
 						this.$message.success("鍒犻櫎鎴愬姛");
 						this.refresh();
 					});
@@ -1025,20 +989,11 @@
 </script>
 
 <style scoped>
-.role_manage {
-	width: 100%;
-	height: 100%;
-}
-
-.title {
-	line-height: 15px;
-}
-
 .search {
-	display: flex;
-	align-items: center;
-	justify-content: space-between;
-	margin-top: 10px;
+  height: 46px;
+  display: flex;
+  justify-content: space-between;
+  margin-top: 10px;
 }
 
 .search_thing {
@@ -1053,20 +1008,10 @@
 	text-align: right;
 }
 
-.search_input {
-	width: calc(100% - 80px);
-}
-
 .table {
-	margin-top: 12px;
 	background-color: #fff;
-	height: calc(100vh - 17em);
+	height: calc(100vh - 16em);
 }
-
-.el-form-item {
-	margin-bottom: 16px;
-}
-
 .picName {
 	overflow: hidden;
 	text-overflow: ellipsis;
@@ -1074,4 +1019,7 @@
 	word-break: break-all;
 	width: 120px;
 }
+.form-item >>>.el-form-item__content {
+  width: 120px;
+}
 </style>

--
Gitblit v1.9.3