From 083c818af77d33d619dba3dc20f94e996225a1c7 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 16 五月 2024 10:28:39 +0800
Subject: [PATCH] 增加人事系统对接

---
 src/components/view/a6-device-management.vue |  183 +++++++++++++++++++++++++++------------------
 1 files changed, 110 insertions(+), 73 deletions(-)

diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue
index dba3847..7fc51d6 100644
--- a/src/components/view/a6-device-management.vue
+++ b/src/components/view/a6-device-management.vue
@@ -55,13 +55,14 @@
 			<el-row class="title">
 				<el-col :span="12" style="padding-left: 20px;">璁惧宸ュ叿鏄庣粏</el-col>
 				<el-col :span="12" style="text-align: right;">
+					<el-button size="medium" type="primary" @click="dialogVisible2 = true">鏂板</el-button>
 				</el-col>
 			</el-row>
 		</div>
 		<div class="search">
 			<div class="search_thing">
 				<div class="search_label">鐘舵�侊細</div>
-				<el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴">
+				<el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴" size="small">
 					<el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
 					</el-option>
 				</el-select>
@@ -76,19 +77,9 @@
 				<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
 						v-model="componentData.entity.specificationModel" @keyup.enter.native="refreshTable()"></el-input></div>
 			</div>
-			<div class="search_thing">
-				<div class="search_label">璁惧鍒嗙被锛�</div>
-				<el-select v-model="componentData.entity.largeCategory" placeholder="璇烽�夋嫨">
-					<el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value">
-					</el-option>
-				</el-select>
-			</div>
 			<div class="search_thing" style="padding-left: 30px;">
 				<el-button size="small" @click="refresh()">閲� 缃�</el-button>
 				<el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
-				<el-col :span="12" style="text-align: right;">
-					<el-button size="medium" type="primary" @click="dialogVisible2 = true">鏂板</el-button>
-				</el-col>
 			</div>
 		</div>
 		<div class="table">
@@ -116,14 +107,14 @@
 							</div>
 						</el-image>
 						<!-- 琛ㄥ崟 -->
-						<el-form :label-position="labelPosition" :model="formData" label-width="100px">
-							<el-form-item label="浠櫒鍚嶇О:">
+						<el-form :label-position="labelPosition" :model="formData" label-width="120px">
+							<el-form-item label="浠櫒鍚嶇О:" required>
 							<el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input>
 										</el-form-item>
-							<el-form-item label="浠櫒鍚嶇ОEN:">
+							<el-form-item label="浠櫒鍚嶇ОEN:" required>
 								<el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input>
 											</el-form-item>
-							<el-form-item label="瑙勬牸鍨嬪彿:">
+							<el-form-item label="瑙勬牸鍨嬪彿:" required>
 								<el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input>
 											</el-form-item>
 							<el-form-item label="鐢熶骇鍘傚:">
@@ -141,7 +132,7 @@
 							<el-form-item label="鍑哄巶缂栧彿:">
 							<el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input>
 							</el-form-item>
-							<el-form-item label="绠$悊缂栧彿:">
+							<el-form-item label="绠$悊缂栧彿:" required>
 							<el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input>
 							</el-form-item>
 							<el-form-item label="璐疆鏃ユ湡:">
@@ -149,7 +140,7 @@
 												format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
 											</el-date-picker>
 										</el-form-item>
-							<el-form-item label="鍚敤鏃ユ湡:">
+							<el-form-item label="鍚敤鏃ユ湡:" required>
 											<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate" type="date"
 												format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
 											</el-date-picker>
@@ -194,12 +185,12 @@
 			  filterable
               clearable></el-cascader>
             </el-form-item>
-            <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
+            <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:" v-if="isUp">
 							<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd"
 								value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
 							</el-date-picker>
 						</el-form-item>
-            <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
+            <el-form-item label="涓嬫鏍″噯鏃ユ湡:" v-if="isUp">
 							<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd"
 								value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
 							</el-date-picker>
@@ -214,13 +205,13 @@
             <el-form-item label="鍗曚环(涓囧厓):">
               <el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input>
             </el-form-item>
-            <el-form-item label="褰撳墠鐘舵��:">
+            <el-form-item label="褰撳墠鐘舵��:" required>
 							<el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
 								<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="鏍″噯鍛ㄦ湡锛堟湀锛�:">
+            <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
               <el-input :disabled="isUp" v-model="formData.calibrationDate" size="small"></el-input>
             </el-form-item>
 						<el-form-item label="鍥剧墖:">
@@ -267,14 +258,14 @@
 							</div>
 						</el-image>
 						<!-- 琛ㄥ崟 -->
-						<el-form :label-position="labelPosition" :model="formData2" label-width="100px">
-							<el-form-item label="浠櫒鍚嶇О:">
+						<el-form :label-position="labelPosition" :model="formData2" label-width="120px">
+							<el-form-item label="浠櫒鍚嶇О:" required>
                 <el-input v-model="formData2.deviceName" size="small"></el-input>
 							</el-form-item>
-              <el-form-item label="浠櫒鍚嶇ОEN:">
+              <el-form-item label="浠櫒鍚嶇ОEN:" required>
                 <el-input v-model="formData2.enDeviceName" size="small"></el-input>
 							</el-form-item>
-              <el-form-item label="瑙勬牸鍨嬪彿:">
+              <el-form-item label="瑙勬牸鍨嬪彿:" required>
                 <el-input v-model="formData2.specificationModel" size="small"></el-input>
 							</el-form-item>
               <el-form-item label="鐢熶骇鍘傚:">
@@ -295,7 +286,7 @@
             <el-form-item label="鍑哄巶缂栧彿:">
               <el-input v-model="formData2.factoryNo" size="small"></el-input>
             </el-form-item>
-            <el-form-item label="绠$悊缂栧彿:">
+            <el-form-item label="绠$悊缂栧彿:" required>
               <el-input v-model="formData2.managementNumber" size="small"></el-input>
             </el-form-item>
             <el-form-item label="璐疆鏃ユ湡:">
@@ -303,7 +294,7 @@
 								format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
 							</el-date-picker>
 						</el-form-item>
-            <el-form-item label="鍚敤鏃ユ湡:">
+            <el-form-item label="鍚敤鏃ユ湡:" required>
 							<el-date-picker style="width:100%" v-model="formData2.activationDate" type="date"
 								format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
 							</el-date-picker>
@@ -336,7 +327,7 @@
             </el-form-item>
             <el-form-item label="妫�娴嬮」鐩�:">
               <el-cascader
-              v-model="formData.insProductIds"
+              v-model="formData2.insProductIds"
               :options="options"
               :show-all-levels="false"
               :props="props"
@@ -344,18 +335,9 @@
               style="width:100%"
               collapse-tags
               separator=","
+			  filterable
               clearable></el-cascader>
             </el-form-item>
-            <!-- <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
-							<el-date-picker style="width:100%" v-model="formData2.latestTraceability" format="yyyy-MM-dd"
-								value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
-							</el-date-picker>
-						</el-form-item>
-            <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
-							<el-date-picker style="width:100%" v-model="formData2.latestTraceability" format="yyyy-MM-dd"
-								value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
-							</el-date-picker>
-						</el-form-item> -->
             <el-form-item label="璁惧绫诲瀷:">
               <el-select v-model="formData2.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
                 <el-option v-for="item in equipmentList" :key="item.value" :label="item.label"
@@ -366,13 +348,13 @@
             <el-form-item label="鍗曚环(涓囧厓):">
               <el-input v-model="formData2.unitPrice" size="small"></el-input>
             </el-form-item>
-            <el-form-item label="褰撳墠鐘舵��:">
+            <el-form-item label="褰撳墠鐘舵��:" required>
 							<el-select v-model="formData2.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-								<el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
+								<el-option v-for="item in deviceStatusList" :key="item.id" :label="item.label" :value="item.value">
 								</el-option>
 							</el-select>
 						</el-form-item>
-            <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:">
+            <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
               <el-input v-model="formData2.calibrationDate" size="small"></el-input>
             </el-form-item>
 						<el-form-item label="鍥剧墖:">
@@ -409,13 +391,14 @@
 			return {
 				//鏄惁鏄。妗堜慨璁�  true涓嶆槸 false鏄�
 				isUp: true,
-				formData: {},
+				formData: {
+				},
 				formData2: {
 					imageUpload: '',
 					imageName: ''
 				},
 				value: '',
-        props: { multiple: true,emitPath:false,value:'id',label:'name' },
+        		props: { multiple: true,emitPath:false,value:'id',label:'name' },
 				options: [],
 				labelPosition: 'right',
 				dialogVisible: false,
@@ -448,23 +431,7 @@
 					}],
 					tagField: {
 						deviceStatus: {
-							select: [{
-								value: 0,
-								type: 'success',
-								label: '鑹ソ'
-							}, {
-								value: 1,
-								type: 'info',
-								label: '鎶ュ簾'
-							}, {
-								value: 2,
-								type: 'danger',
-								label: '鍋滅敤'
-							}, {
-								value: 3,
-								type: 'danger',
-								label: '瀛樼枒'
-							}]
+							select: []
 						},
 						equipmentManager: {
 							select: []
@@ -532,7 +499,7 @@
 			this.selectEnumByCategory()
 			this.selectDevicePrincipal()
 			this.obtainItemParameterList()
-      this.getInsProductIds()
+      		this.getInsProductIds()
 		},
 		methods: {
 			obtainItemParameterList() {
@@ -585,6 +552,12 @@
 					category: "璁惧鐘舵��"
 				}).then(res => {
 					this.deviceStatusList = res.data
+          this.deviceStatusList.forEach(a=>{
+            if(!isNaN(a.value)){
+              a.value = parseInt(a.value)
+            }
+          })
+					this.componentData.tagField.deviceStatus.select = res.data
 				})
 				this.$axios.post(this.$api.enums.selectEnumByCategory, {
 					category: "璁惧鍒嗙被"
@@ -613,7 +586,7 @@
           this.componentData.tagField.insProductIds.select = []
           this.componentData.selectField.insProductIds.select = []
           this.options = res.data.map((m,i)=>{
-            m.id = i;
+            m.id = m.name;
             let children = m.children.map(n=>{
               n.label = n.name;
               n.value = n.id;
@@ -626,10 +599,20 @@
 				})
       },
 			handleClose() {
+				this.formData = {}
+				this.formData2 = {
+					imageUpload: '',
+					imageName: ''
+				}
 				this.dialogVisible = false;
 				this.upLoad = false;
 			},
 			handleClose2() {
+				this.formData = {}
+				this.formData2 = {
+					imageUpload: '',
+					imageName: ''
+				}
 				this.dialogVisible2 = false;
 				this.upLoad = false;
 			},
@@ -650,6 +633,9 @@
 				//row = 鐐瑰嚮瀵瑰簲琛屽�间竴琛屽��
 				//澶嶅埗缁檉ormData
 				this.formData = this.HaveJson(row);
+        if(typeof(row.insProductIds)==='number'){
+          row.insProductIds = row.insProductIds+''
+        }
 				this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : [];
 			},
 			beforeUpload(file) {
@@ -681,14 +667,40 @@
 				}
 			},
 			submitForm() {
-				this.upLoad = true;
-				// let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : ''
-				// delete this.formData.createTime
-				// delete this.formData.updateTime
-				// delete this.formData.createUser
-				// delete this.formData.updateUser
-				// this.formData.authorizedPerson = authorizedPerson
+        if(!this.formData.deviceName){
+          this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
+          return
+        }
+        if(!this.formData.enDeviceName){
+          this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
+          return
+        }
+        if(!this.formData.specificationModel){
+          this.$message.error('鏈緭鍏ヨ鏍煎瀷鍙�')
+          return
+        }
+        if(!this.formData.managementNumber){
+          this.$message.error('鏈緭鍏ョ鐞嗙紪鍙�')
+          return
+        }
+        if(!this.formData.activationDate){
+          this.$message.error('鏈緭鍏ュ惎鐢ㄦ棩鏈�')
+          return
+        }
+        if(!this.formData.deviceStatus){
+          this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
+          return
+        }
+        if(!this.formData.calibrationDate){
+          this.$message.error('鏈緭鍏ユ牎鍑嗗懆鏈燂紙鏈堬級')
+          return
+        }
+				delete this.formData.createTime
+				delete this.formData.updateTime
+				delete this.formData.createUser
+				delete this.formData.updateUser
         this.formData.insProductIds = this.formData.insProductIds.join()
+        this.upLoad = true;
 				this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
 					headers: {
 						'Content-Type': 'application/json'
@@ -709,11 +721,36 @@
 				})
 			},
 			submitForm2() {
+        if(!this.formData2.deviceName){
+          this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
+          return
+        }
+        if(!this.formData2.enDeviceName){
+          this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
+          return
+        }
+        if(!this.formData2.specificationModel){
+          this.$message.error('鏈緭鍏ヨ鏍煎瀷鍙�')
+          return
+        }
+        if(!this.formData2.managementNumber){
+          this.$message.error('鏈緭鍏ョ鐞嗙紪鍙�')
+          return
+        }
+        if(!this.formData2.activationDate){
+          this.$message.error('鏈緭鍏ュ惎鐢ㄦ棩鏈�')
+          return
+        }
+        if(!this.formData2.deviceStatus){
+          this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
+          return
+        }
+        if(!this.formData2.calibrationDate){
+          this.$message.error('杈撳叆鏍″噯鍛ㄦ湡锛堟湀锛�')
+          return
+        }
 				this.upLoad2 = true;
-		// 		let authorizedPerson = this.formData2.authorizedPerson.length > 0 ? this.formData2.authorizedPerson.join(',') :
-		// 			''
-		// 		this.formData2.authorizedPerson = authorizedPerson
-        this.formData.insProductIds = this.formData.insProductIds.join()
+        this.formData2.insProductIds = this.formData2.insProductIds.join()
 				this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, {
 					headers: {
 						'Content-Type': 'application/json'

--
Gitblit v1.9.3