From 07a41ade45c962e93a9d449ce1be0eec52e66a6a Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 19 三月 2025 10:44:32 +0800
Subject: [PATCH] 内部单不能修改报告

---
 src/components/view/a6-device-management.vue |  672 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 421 insertions(+), 251 deletions(-)

diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue
index 1c3fb6d..478341e 100644
--- a/src/components/view/a6-device-management.vue
+++ b/src/components/view/a6-device-management.vue
@@ -51,15 +51,15 @@
 
 <template>
 	<div class="role_manage">
-		<div>
+		<div v-if="!showData">
 			<el-row class="title">
-				<el-col :span="12" style="padding-left: 20px;">璁惧宸ュ叿鏄庣粏</el-col>
+				<el-col :span="12" style="padding-left: 20px;text-align: left;">璁惧宸ュ叿鏄庣粏</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" v-if="!showData">
 			<div class="search_thing">
 				<div class="search_label">鐘舵�侊細</div>
 				<el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴" size="small">
@@ -82,7 +82,7 @@
 				<el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
 			</div>
 		</div>
-		<div class="table">
+		<div class="table" v-if="!showData">
 			<!-- 璇硶 瀛愮粍浠堕�氳繃 this.$emit +浼犲叆鏂规硶鍚� 璋冪敤鐖剁粍浠舵柟娉� 渚嬪  this.$emit锛坰electAllByOne锛� 灏遍渶鍦ㄧ埗缁勪欢澹版槑骞朵紶鍏�  @selectAllByOne="selectAllByOne"-->
 			<ValueTable @selectAllByOne="selectAllByOne" @isUpdate="isUpdate" ref="ValueTable"
 				:url="$api.deviceScope.selectDeviceParameter" :upUrl="$api.deviceScope.upDeviceParameter"
@@ -107,131 +107,121 @@
 							</div>
 						</el-image>
 						<!-- 琛ㄥ崟 -->
-						<el-form :label-position="labelPosition" :model="formData" label-width="90px">
-							<el-form-item label="鍑哄巶鏃ユ湡:">
-								<el-date-picker style="width:100%" :disabled="isUp" v-model="formData.dateProduction" type="datetime"
-									size="small" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡">
-								</el-date-picker>
-							</el-form-item>
-							<el-form-item label="璁惧璐熻矗浜�:">
-								<el-select :disabled="isUp" v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small"
-									style="width:100%">
-									<el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
-										:value="item.value">
-									</el-option>
-								</el-select>
-							</el-form-item>
-							<el-form-item label="琚巿鏉冧汉:">
-								<el-select :disabled="isUp" v-model="formData.authorizedPerson" size="small" multiple placeholder="璇烽�夋嫨"
-									style="width:100%">
-									<el-option v-for="item in authorizerList" :key="item.value" :label="item.label" :value="item.value">
-									</el-option>
-								</el-select>
-							</el-form-item>
-              <el-form-item label="妫�楠岄」鐩�:">
-                <el-cascader
-                v-model="formData.insProductIds"
-                :options="options"
-                :show-all-levels="false"
-                :props="props"
-                placeholder="璇烽�夋嫨" size="small"
-                style="width:100%"
-                collapse-tags
-                separator=","
-                clearable></el-cascader>
-							</el-form-item>
-						</el-form>
-					</el-col>
-				</el-col>
-				<!-- 涓棿甯冨眬 -->
-				<el-col :span="7">
-					<el-form :label-position="labelPosition" :model="formData" label-width="116px">
-						<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="鍐呴儴缂栫爜:">
-							<el-input :disabled="isUp" v-model="formData.internalCode" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="璧勪骇缂栫爜:">
-							<el-input :disabled="isUp" v-model="formData.assetCode" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="鏍″噯鏃ユ湡锛堟湀锛�:">
-							<el-date-picker :disabled="isUp" v-model="formData.calibrationDate" type="month" size="small"
-								format="yyyy-MM" value-format="yyyy-MM" style="width:100%" placeholder="閫夋嫨鏈�">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="鎶ュ簾鏃堕棿:">
-							<el-date-picker style="width:100%" :disabled="isUp" v-model="formData.scrapTime" type="datetime"
-								format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃堕棿">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="楠屾敹璁板綍:">
-							<el-input :disabled="isUp" v-model="formData.acceptanceRecords" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="璁惧缂栫爜:">
+										</el-form-item>
+							<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="瑙勬牸鍨嬪彿:" required>
+								<el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input>
+											</el-form-item>
+							<el-form-item label="鐢熶骇鍘傚:">
+								<el-input :disabled="isUp" v-model="formData.manufacturer" size="small"></el-input>
+											</el-form-item>
+										</el-form>
+									</el-col>
+								</el-col>
+								<!-- 涓棿甯冨眬 -->
+								<el-col :span="7">
+									<el-form :label-position="labelPosition" :model="formData" label-width="116px">
+										<el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
+							<el-input :disabled="isUp" v-model="formData.calibrationServices" size="small"></el-input>
+							</el-form-item>
+							<el-form-item label="鍑哄巶缂栧彿:">
 							<el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="璐疆鏃ユ湡:">
-							<el-date-picker style="width:100%" :disabled="isUp" v-model="formData.acquisitionDate" type="datetime"
-								size="small" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="鍑嗙‘搴﹂噺鍊�:">
-							<el-input :disabled="isUp" v-model="formData.accurateMeasurement" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="澶囨敞:">
-							<el-input :disabled="isUp" v-model="formData.notes" size="small"></el-input>
-						</el-form-item>
+							</el-form-item>
+							<el-form-item label="绠$悊缂栧彿:" required>
+							<el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input>
+							</el-form-item>
+							<el-form-item label="璐疆鏃ユ湡:">
+											<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.acquisitionDate" type="date"
+												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="鍚敤鏃ユ湡:" 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>
+										</el-form-item>
+							<el-form-item label="绠$悊浜�:">
+							<el-select v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+								<el-option :disabled="isUp" v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
+								:value="item.value">
+								</el-option>
+							</el-select>
+							</el-form-item>
+							<el-form-item label="瀛樻斁鐐�:">
+							<el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input>
+							</el-form-item>
+							<el-form-item label="鎶�鏈寚鏍�:">
+							<el-input :disabled="isUp" v-model="formData.technicalIndicators" :rows="7" type="textarea" size="small"></el-input>
+							</el-form-item>
 					</el-form>
 				</el-col>
 				<!-- 鍙宠竟甯冨眬 -->
 				<el-col :span="7">
-					<el-form :label-position="labelPosition" :model="formData" label-width="110px" ref="ruleForm">
-						<el-form-item label="瑙勬牸鍨嬪彿:">
-							<el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input>
+					<el-form :label-position="labelPosition" :model="formData" label-width="140px" ref="ruleForm">
+            <!-- 瀹為獙瀹ゅ垪琛� -->
+            <el-form-item label="鎵�灞為儴闂�:">
+              <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"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="妫�娴嬮」鐩�:">
+              <el-cascader
+			  :disabled="isUp"
+              v-model="formData.insProductIds"
+              :options="options"
+              :show-all-levels="false"
+              :props="props"
+              placeholder="璇烽�夋嫨" size="small"
+              style="width:100%;"
+              :collapse-tags="!isUp"
+              separator=","
+			  filterable
+              clearable></el-cascader>
+            </el-form-item>
+            <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-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small"
-								style="width:100%">
+            <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-select :disabled="isUp" v-model="formData.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+                <el-option v-for="item in equipmentList" :key="item.value" :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鍗曚环(涓囧厓):">
+              <el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input>
+            </el-form-item>
+            <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-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="鏈�杩戣拷婧棩鏈�:">
-							<el-date-picker style="width:100%" :disabled="isUp" v-model="formData.latestTraceability"
-								format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" size="small"
-								placeholder="閫夋嫨鏃ユ湡">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="鍋滅敤鏃堕棿:">
-							<el-date-picker style="width:100%" :disabled="isUp" format="yyyy-MM-dd HH:mm:ss"
-								value-format="yyyy-MM-dd HH:mm:ss" v-model="formData.downTime" type="datetime" size="small"
-								placeholder="閫夋嫨鏃堕棿">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="缁翠慨璁板綍:">
-							<el-input :disabled="isUp" v-model="formData.maintenanceRecords" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="鐢熶骇鍘傚:">
-							<el-input :disabled="isUp" v-model="formData.manufacturer" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="閲囪喘璐圭敤:">
-							<el-input :disabled="isUp" v-model="formData.procurementCosts" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="鏍″噯璇佷功:">
-							<el-input :disabled="isUp" v-model="formData.calibrationCerticate" size="small"></el-input>
-						</el-form-item>
-						<el-form-item v-if="!isUp" 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="鍥剧墖:">
 							<div
 								style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;">
 								<div v-show="formData.imageName" class="picName">{{formData.imageName}}</div>
-								<el-upload :action="action" :on-success="handleSuccessUpImg" :show-file-list="false"
+								<el-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false"
 									accept='image/jpg,image/jpeg,image/png' :headers="headers" :on-change="beforeUpload"
 									:on-error="onError" ref='upload'>
-									<el-button type="text" style="height:30px;paddingTop:8px">涓婁紶</el-button>
+									<el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
 								</el-upload>
 							</div>
 						</el-form-item>
@@ -268,50 +258,19 @@
 							</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-input v-model="formData2.deviceName" size="small"></el-input>
+              <el-form-item label="浠櫒鍚嶇ОEN:" required>
+                <el-input v-model="formData2.enDeviceName" size="small"></el-input>
 							</el-form-item>
-              <el-form-item label="瑙勬牸鍨嬪彿:">
-                <el-input v-model="formData2.deviceName" size="small"></el-input>
+              <el-form-item label="瑙勬牸鍨嬪彿:" required>
+                <el-input v-model="formData2.specificationModel" size="small"></el-input>
 							</el-form-item>
               <el-form-item label="鐢熶骇鍘傚:">
-                <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-                <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
+                <el-input v-model="formData2.manufacturer" size="small"></el-input>
 							</el-form-item>
-							<!-- <el-form-item label="璁惧璐熻矗浜�:">
-								<el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-									<el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
-										:value="item.value">
-									</el-option>
-								</el-select>
-							</el-form-item>
-							<el-form-item label="琚巿鏉冧汉:">
-								<el-select v-model="formData2.authorizedPerson" size="small" multiple placeholder="璇烽�夋嫨"
-									style="width:100%">
-									<el-option v-for="item in authorizerList" :key="item.value" :label="item.label" :value="item.value">
-									</el-option>
-								</el-select>
-							</el-form-item>
-              <el-form-item label="妫�楠岄」鐩�:">
-                <el-cascader
-                v-model="formData.insProductIds"
-                :options="options"
-                :show-all-levels="false"
-                :props="props"
-                placeholder="璇烽�夋嫨" size="small"
-                style="width:100%"
-                collapse-tags
-                separator=","
-                clearable></el-cascader>
-							</el-form-item>
-              -->
 						</el-form>
 					</el-col>
 				</el-col>
@@ -319,25 +278,25 @@
 				<el-col :span="7">
 					<el-form :label-position="labelPosition" :model="formData2" label-width="110px">
             <!-- <el-form-item label="鐢熶骇鍘傚EN:">
-              <el-input v-model="formData2.deviceName" size="small"></el-input>
+              <el-input v-model="formData2.factoryNo" size="small"></el-input>
             </el-form-item> -->
+			<el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
+              <el-input v-model="formData2.calibrationServices" size="small"></el-input>
+            </el-form-item>
             <el-form-item label="鍑哄巶缂栧彿:">
-              <el-input v-model="formData2.deviceName" size="small"></el-input>
+              <el-input v-model="formData2.factoryNo" size="small"></el-input>
             </el-form-item>
-            <el-form-item label="绠$悊缂栧彿:">
-              <el-input v-model="formData2.deviceName" size="small"></el-input>
-            </el-form-item>
-            <el-form-item label="鎶�鏈寚鏍�:">
-              <el-input v-model="formData2.deviceName" :rows="7" type="textarea" size="small"></el-input>
+            <el-form-item label="绠$悊缂栧彿:" required>
+              <el-input v-model="formData2.managementNumber" size="small"></el-input>
             </el-form-item>
             <el-form-item label="璐疆鏃ユ湡:">
-							<el-date-picker style="width:100%" v-model="formData2.scrapTime" type="date"
-								format="yyyy-MM-dd" value-format="yyyy-MM-dd" size="small" placeholder="閫夋嫨鏃ユ湡">
+							<el-date-picker style="width:100%" v-model="formData2.acquisitionDate" type="date"
+								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-date-picker style="width:100%" v-model="formData2.scrapTime" type="date"
-								format="yyyy-MM-dd" value-format="yyyy-MM-dd" size="small" placeholder="閫夋嫨鏃ユ湡">
+            <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>
 						</el-form-item>
             <el-form-item label="绠$悊浜�:">
@@ -347,8 +306,11 @@
                 </el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="鍦板潃:">
-              <el-input v-model="formData2.deviceName" size="small"></el-input>
+            <el-form-item label="瀛樻斁鐐�:">
+              <el-input v-model="formData2.storagePoint" size="small"></el-input>
+            </el-form-item>
+			<el-form-item label="鎶�鏈寚鏍�:">
+              <el-input v-model="formData2.technicalIndicators" :rows="7" type="textarea" size="small"></el-input>
             </el-form-item>
 					</el-form>
 				</el-col>
@@ -357,15 +319,15 @@
 					<el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
             <!-- 瀹為獙瀹ゅ垪琛� -->
             <el-form-item label="鎵�灞為儴闂�:">
-              <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-                <el-option v-for="item in componentData.selectField.laboratory.select" :key="item.value" :label="item.label"
+              <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">
                 </el-option>
               </el-select>
             </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"
@@ -373,39 +335,27 @@
               style="width:100%"
               collapse-tags
               separator=","
+			  filterable
               clearable></el-cascader>
             </el-form-item>
-            <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
-              <el-input v-model="formData2.deviceName" size="small"></el-input>
-            </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.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
+              <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"
                   :value="item.value">
                 </el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="鍗曚环(涓囧厓):">
-              <el-input v-model="formData2.deviceName" size="small"></el-input>
+              <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-input v-model="formData2.deviceName" size="small"></el-input>
+            <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
+              <el-input v-model="formData2.calibrationDate" size="small"></el-input>
             </el-form-item>
 						<el-form-item label="鍥剧墖:">
 							<div
@@ -428,31 +378,90 @@
 				</el-row>
 			</span>
 		</el-dialog>
+    <el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible3" width="400px">
+      <div class="search_thing" style="margin-bottom: 14px;">
+				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>IP锛�</div>
+				<el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="configForm.ip"></el-input>
+			</div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>閲囬泦鍦板潃锛�</div>
+				<el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="configForm.collectUrl"></el-input>
+			</div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍌ㄥ瓨鍦板潃锛�</div>
+				<el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="configForm.storageUrl"></el-input>
+			</div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍙傜収锛�</div>
+				<el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="configForm.refer"></el-input>
+			</div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>X锛�</div>
+				<el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="configForm.x"></el-input>
+			</div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>Y锛�</div>
+				<el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="configForm.y"></el-input>
+			</div>
+      <div class="search_thing">
+				<div class="search_label">鍏紡锛�</div>
+				<el-input size="small" placeholder="璇疯緭鍏�" clearable
+						v-model="configForm.formula"></el-input>
+			</div>
+      <span slot="footer" class="dialog-footer">
+				<el-row>
+					<el-button @click="dialogVisible3=false">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submitForm3" :loading="upLoad3">纭� 瀹�</el-button>
+				</el-row>
+			</span>
+    </el-dialog>
+    <dataAcquisitionConfig v-if="showData" :deviceId="deviceId"/>
 	</div>
 </template>
 
 <script>
 	import ValueTable from '../tool/value-table.vue'
+  import dataAcquisitionConfig from '../do/b6-device-management/b6-data-acquisition-config.vue'
 	export default {
 		components: {
-			ValueTable
+			ValueTable,
+      dataAcquisitionConfig
 		},
 		data() {
 			return {
+				deviceId: '',
+				fileTypeOptions: [
+					{label: 'csv', value: '.csv'},
+					{label: 'db', value: '.db'},
+					{label: 'mdb', value: '.mdb'},
+					{label: 'word', value: '.docx'},
+					{label: 'excel', value: '.xlsx'},
+					{label: 'txt', value: '.txt'},
+					{label: 'png', value: '.png'},
+				],
 				//鏄惁鏄。妗堜慨璁�  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,
 				dialogVisible2: false,
 				addPower: false,
+        showData: false, // 鏁伴噰閰嶇疆椤甸潰
+        tableList: [],
 				componentData: {
 					entity: {
 						deviceStatus: null,
@@ -477,22 +486,21 @@
 						font: '妗f淇',
 						type: 'text',
 						method: 'isUpdate'
-					}],
+					}
+          // , {
+					// 	id: 'handleConfig',
+					// 	font: '鏁伴噰閰嶇疆',
+					// 	type: 'text',
+					// 	method: 'handleConfig',
+          //   disabFun: (row, index) => {
+          //     return row.insProductItem === ''
+          //   }
+					// }
+        ],
+          headNoShow:['enDeviceName'],
 					tagField: {
 						deviceStatus: {
-							select: [{
-								value: 0,
-								type: 'success',
-								label: '姝e父'
-							}, {
-								value: 1,
-								type: 'warning',
-								label: '鎶ュ簾'
-							}, {
-								value: 2,
-								type: 'danger',
-								label: '淇濅慨'
-							}]
+							select: []
 						},
 						equipmentManager: {
 							select: []
@@ -501,9 +509,6 @@
 							select: []
 						},
             insProductIds:{
-              select:[]
-            },
-            laboratory:{
               select:[]
             }
 					},
@@ -523,13 +528,11 @@
             insProductIds:{
               select:[],
               choose: true
-            },
-            laboratory:{
-              select:[]
             }
 					},
 					requiredAdd: [],
-					requiredUp: []
+					requiredUp: [],
+          needSort: ['deviceName', 'acquisitionDate', 'activationDate', 'lastCalibrationDate', 'nextCalibrationDate', 'deviceStatus'],
 				},
 				entityCopy: {},
 				upIndex: 0,
@@ -543,8 +546,13 @@
 				authorizerList: [],
 				// 褰撳墠鐘舵�佸垪琛�
 				deviceStatusList: [],
+				// 鎵�灞為儴闂�
+				subordinateDepartmentsList: [],
 				upLoad: false,
 				upLoad2: false,
+        dialogVisible3:false,
+        upLoad3:false,
+        configForm:{}
 			}
 		},
 		computed: {
@@ -563,12 +571,24 @@
 			// this.getAuthorizedPerson()
 			this.selectEnumByCategory()
 			this.selectDevicePrincipal()
-      this.getInsProductIds()
-      this.obtainItemParameterList()
+			this.obtainItemParameterList()
+      		this.getInsProductIds()
 		},
 		methods: {
-			refreshTable() {
-				this.$refs['ValueTable'].selectList()
+			obtainItemParameterList() {
+				this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => {
+					let data = []
+					res.data.forEach(a=>{
+						data.push({
+							label: a.laboratoryName,
+							value: a.id
+						})
+					})
+					this.subordinateDepartmentsList = data
+				})
+			},
+			refreshTable(e) {
+				this.$refs['ValueTable'].selectList(e)
 			},
 			refresh() {
 				this.componentData.entity = this.HaveJson(this.entityCopy)
@@ -580,6 +600,7 @@
 				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
@@ -590,21 +611,33 @@
 					if (power[i].menuMethod == 'addDeviceParameter') {
 						add = true
 					}
+          			if (power[i].menuMethod == 'saveDataAcquisitionConfiguration') {
+						config = true
+					}
 				}
-				if (!up) {
-					this.componentData.do.splice(1, 1)
-				}
-				if (!del) {
-					this.componentData.do.splice(0, 1)
-				}
-				this.addPower = add
-			},
+				// 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() {
 				this.$axios.post(this.$api.enums.selectEnumByCategory, {
 					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: "璁惧鍒嗙被"
@@ -633,7 +666,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;
@@ -643,26 +676,40 @@
             this.componentData.selectField.insProductIds.select = [...this.componentData.selectField.insProductIds.select,...children]
             return m
           })
+          this.options.forEach(item=>{
+            if(item.children.length==0){
+              item.children = null;
+            }else{
+              item.children.forEach(m=>{
+                if(m.children.length==0){
+                  m.children = null;
+                }else{
+                  m.children.forEach(n=>{
+                    if(n.children&&n.children.length==0){
+                      n.children = null;
+                    }
+                  })
+                }
+              })
+            }
+          })
 				})
       },
-      obtainItemParameterList() {
-				this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => {
-					let data = []
-					res.data.forEach(a=>{
-						data.push({
-							label: a.laboratoryName,
-							value: a.id
-						})
-					})
-					this.componentData.selectField.laboratory.select = data
-					this.componentData.tagField.laboratory.select = data
-				})
-			},
 			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;
 			},
@@ -673,7 +720,7 @@
 				//row = 鐐瑰嚮瀵瑰簲琛屽��
 				//澶嶅埗缁檉ormData
 				this.formData = this.HaveJson(row);
-				this.formData.authorizedPerson = row.authorizedPerson ? row.authorizedPerson.split(',') : [];
+				this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : [];
 			},
 			isUpdate(row) {
 				//淇敼  isUp 涓烘。妗堜慨鏀�
@@ -683,7 +730,10 @@
 				//row = 鐐瑰嚮瀵瑰簲琛屽�间竴琛屽��
 				//澶嶅埗缁檉ormData
 				this.formData = this.HaveJson(row);
-				this.formData.authorizedPerson = row.authorizedPerson ? row.authorizedPerson.split(',') : [];
+        if(typeof(row.insProductIds)==='number'){
+          row.insProductIds = row.insProductIds+''
+        }
+				this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : [];
 			},
 			beforeUpload(file) {
 				if (file.size > 1024 * 1024 * 10) {
@@ -705,23 +755,51 @@
 					this.formData.imageName = response.data.name;
 				}
 			},
-			handleSuccessUpImg2(response, ) {
+			handleSuccessUpImg2(response) {
 				if (response.code == 200) {
 					this.$nextTick(() => {
+            this.formData.imageUpload = response.data.url;
+            this.formData.imageName = response.data.name;
 						this.formData2.imageUpload = response.data.url;
 						this.formData2.imageName = response.data.name;
 					})
 				}
 			},
 			submitForm() {
-				this.upLoad = true;
-				let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : ''
+        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.formData.deviceStatus===null){
+          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.authorizedPerson = authorizedPerson
-        this.formData.insProductIds = JSON.stringify(this.formData.insProductIds)
+        this.formData.insProductIds = this.formData.insProductIds?this.formData.insProductIds.join():''
+        this.upLoad = true;
 				this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
 					headers: {
 						'Content-Type': 'application/json'
@@ -733,7 +811,7 @@
 					}
 					this.$message.success('淇敼鎴愬姛')
 					this.upLoad = false
-					this.refreshTable()
+					this.refreshTable('page')
 					this.dialogVisible = false
 				}).catch(e => {
 					this.$message.error('淇敼澶辫触')
@@ -742,11 +820,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.formData2.deviceStatus===null){
+          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 = JSON.stringify(this.formData.insProductIds)
+        this.formData2.insProductIds = this.formData2.insProductIds?this.formData2.insProductIds.join():''
 				this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, {
 					headers: {
 						'Content-Type': 'application/json'
@@ -758,7 +861,7 @@
 					}
 					this.$message.success('鎻愪氦鎴愬姛')
 					this.upLoad2 = false
-					this.refreshTable()
+					this.refreshTable('page')
 					this.dialogVisible2 = false
 					this.formData2 = {
 						imageUpload: '',
@@ -769,7 +872,74 @@
 					this.dialogVisible2 = false
 					this.upLoad2 = false
 				})
-			}
+			},
+      handleConfig(row){
+        // this.configForm = {}
+        // this.dialogVisible3 = true
+        // this.$axios.post(this.$api.deviceScope.getNumberCollect+'?id='+row.id).then(res => {
+        //   this.configForm = res.data
+        // })
+        this.showData = true
+        const list = row.insProductItem.split(';')
+        let list2 = []
+        list.map((item) => {
+          const obj = Object.assign({
+			deviceId: row.id,
+            insProductItem: item,
+          })
+          list2.push(obj)
+        })
+        this.tableList = list2
+		this.deviceId = row.id
+      },
+      closeDataVue () {
+        this.showData = false
+      },
+      submitForm3(){
+        if(!this.configForm.ip){
+          this.$message.error('璇峰~鍐橧P');
+          return
+        }
+        if(!this.configForm.collectUrl){
+          this.$message.error('璇峰~鍐欓噰闆嗗湴鍧�');
+          return
+        }
+        if(!this.configForm.storageUrl){
+          this.$message.error('璇峰~鍐欏偍瀛樺湴鍧�');
+          return
+        }
+        if(!this.configForm.refer){
+          this.$message.error('璇峰~鍐欏弬鐓�');
+          return
+        }
+        if(!this.configForm.x){
+          this.$message.error('璇峰~鍐橷');
+          return
+        }
+        if(!this.configForm.y){
+          this.$message.error('璇峰~鍐橸');
+          return
+        }
+
+        this.upLoad3 = true
+        this.$axios.post(this.$api.deviceScope.numberCollect, this.configForm, {
+					headers: {
+						'Content-Type': 'application/json'
+					}
+				}).then(res => {
+          this.upLoad3 = false
+					if (res.code === 201) {
+						return
+					}
+					this.$message.success('鎿嶄綔鎴愬姛')
+					this.refreshTable('page')
+					this.dialogVisible3 = false
+				}).catch(e => {
+					this.$message.error('鎿嶄綔澶辫触')
+					this.dialogVisible3 = false
+					this.upLoad3 = false
+				})
+      }
 		}
 	}
 </script>

--
Gitblit v1.9.3