From 237f95b05e0f122ee9ec7beaf82ba366a8b220ed Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期六, 15 二月 2025 14:50:59 +0800
Subject: [PATCH] 修改设备模块bug

---
 src/components/do/a6-device/files.vue                         | 1236 ++++++++-----
 src/components/do/a6-device/borrow.vue                        |  852 +++++---
 src/components/do/a6-device/operation-instruction.vue         |  868 ++++++--
 src/components/equipment/quantity-value-traceability-plan.vue |  774 +++++--
 src/components/equipment/equipment-acceptance.vue             |  534 +++--
 src/components/do/a6-device/calibration.vue                   |  995 +++++++---
 src/assets/api/controller.js                                  |  114 +
 7 files changed, 3,540 insertions(+), 1,833 deletions(-)

diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 92016a1..941345d 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -90,7 +90,10 @@
     responsi,
     deviceReservate,
     deviceInstruction,
-    borrow
+    borrow,
+    getDocuments,
+    product,
+    deviceBorrow
   };
 }
 
@@ -203,6 +206,7 @@
 };
 
 const deviceScope = {
+  selectUserList: "/deviceScope/selectUserList", //鑾峰彇鐢ㄦ埛鍒楄〃
   selectDeviceParameter: "/deviceScope/selectDeviceParameter", //鏌ヨ璁惧璇︽儏鍒楄〃
   addDeviceParameter: "/deviceScope/addDeviceParameter", //娣诲姞璁惧璇︽儏鍙傛暟
   delDeviceParameter: "/deviceScope/delDeviceParameter", //鍒犻櫎璁惧璇︽儏鍙傛暟
@@ -653,7 +657,92 @@
 // 6.2 浜哄憳
 const personnel = {
   selectCNSAPersonTree: "/personBasicInfo/selectCNSAPersonTree", // 鏌ヨCNAS浜哄憳渚ц竟鏍�
-  saveCNASFile: "/personBasicInfo/saveCNASFile" // 鍏叡鏂囦欢淇濆瓨鎺ュ彛
+  getAnnex: "/personBasicInfo/getAnnex", // 鑾峰彇闄勪欢
+  basicInformationOfPersonnelSelectPage:
+    "personBasicInfo/basicInformationOfPersonnelSelectPage", // 鑾峰彇浜哄憳鍒楄〃
+  getAnnexByUserId: "/personBasicInfo/getAnnexByUserId",
+  addAnnex: "/personBasicInfo/addAnnex", // 娣诲姞闄勪欢
+  deleteAnnex: "/personBasicInfo/deleteAnnex", // 鍒犻櫎闄勪欢
+  updateAnnex: "/personBasicInfo/updateAnnex", // 鏇存柊闄勪欢
+  getCNASFile: "/personBasicInfo/getCNASFile", // 鑾峰彇鍥剧墖
+  getCNASInformation: "/personBasicInfo/getCNASInformation", // 鏌ヨCNAS浜哄憳淇℃伅
+  updateCNASInformation: "/personBasicInfo/updateCNASInformation", // 鏇存柊CNAS浜哄憳淇℃伅
+  getCNASPersonnelInfo: "/personBasicInfo/getCNASPersonnelInfo", // 浜哄憳鍩烘湰淇℃伅鏌ヨ
+  saveCNASPersonnelInfo: "/personBasicInfo/saveCNASPersonnelInfo", // 浜哄憳鍩烘湰淇℃伅淇濆瓨
+  saveCNASFile: "/personBasicInfo/saveCNASFile", // 鍏叡鏂囦欢淇濆瓨鎺ュ彛
+  deleteCNASFile: "/personBasicInfo/deleteCNASFile", // 鍒犻櫎鏂囦欢
+  getBasicInfoFileList: "/personBasicInfo/getBasicInfoFileList", // 浜哄憳鍩硅鍩烘湰淇℃伅闄勪欢鍒楄〃
+  uploadBasicInfoFile: "/personBasicInfo/uploadBasicInfoFile", // 浜哄憳鍩硅鍩烘湰淇℃伅闄勪欢鍒楄〃
+  delBasicInfoFileList: "/personBasicInfo/delBasicInfoFileList", // 浜哄憳鍩硅鍩烘湰淇℃伅闄勪欢鍒楄〃
+  addBasicInfoWork: "/personBasicInfo/addBasicInfoWork", // 浜哄憳鍩硅鍩烘湰淇℃伅宸ヤ綔缁忓巻鏂板
+  updateBasicInfoWorkList: "/personBasicInfo/updateBasicInfoWorkList", // 浜哄憳鍩硅鍩烘湰淇℃伅宸ヤ綔缁忓巻淇敼
+  getBasicInfoWorkList: "/personBasicInfo/getBasicInfoWorkList", // 浜哄憳鍩硅鍩烘湰淇℃伅宸ヤ綔缁忓巻鍒楄〃
+  delBasicInfoWorkList: "/personBasicInfo/delBasicInfoWorkList", // 浜哄憳鍩硅鍩烘湰淇℃伅宸ヤ綔缁忓巻鍒犻櫎
+  getThisYearTrainingDetailed: "/personTraining/getThisYearTrainingDetailed", // 鏌ヨ浠婂勾浜哄憳鍩硅淇℃伅
+  personTrainingSelect: "/personTraining/personTrainingSelect", // 鏌ヨ浜哄憳鍩硅
+  personTrainingDelete: "/personTraining/personTrainingDelete", // 鍒犻櫎浜哄憳鍩硅淇℃伅
+  approveAnnualPersonnelTraining:
+    "/personTraining/approveAnnualPersonnelTraining", // 鎵瑰噯 骞村害浜哄憳鍩硅
+  reviewAnnualPersonnelTraining:
+    "/personTraining/reviewAnnualPersonnelTraining", // 瀹℃牳 骞村害浜哄憳鍩硅
+  personTrainingImport: "/personTraining/personTrainingImport", // 瀵煎叆 浜哄憳鍩硅
+  exportPersonTraining: "/personTraining/exportPersonTraining", // 瀵煎嚭/浜哄憳鍩硅
+  queryTheAnnualPlanDetailsTable:
+    "/personTraining/queryTheAnnualPlanDetailsTable", // 鏌ヨ鍩硅璁″垝骞村害璁″垝鏄庣粏琛�
+  addOrUpdatePersonTrainingDetailed:
+    "/personTraining/addOrUpdatePersonTrainingDetailed", // 鏂板鍩硅璁″垝骞村害璁″垝鏄庣粏琛�
+  deleteAnnualPlanDetailTable: "/personTraining/deleteAnnualPlanDetailTable", // 鎵归噺鍒犻櫎 骞村害璁″垝鏄庣粏琛�
+  trainingAndAssessmentRecordsPage:
+    "/personTraining/trainingAndAssessmentRecordsPage", // 鍩硅涓庤�冩牳璁板綍 鏌ヨ
+  deleteTrainingAndAssessmentRecords:
+    "/personTraining/deleteTrainingAndAssessmentRecords", // 鍩硅涓庤�冩牳璁板綍 鎵归噺鍒犻櫎
+  trainingAndAssessmentRecordsAdded:
+    "/personTraining/trainingAndAssessmentRecordsAdded", // 鍩硅涓庤�冩牳璁板綍 鎻愪氦
+  trainingAndAssessmentRecordsEvaluate:
+    "/personTraining/trainingAndAssessmentRecordsEvaluate", // 鍩硅涓庤�冩牳璁板綍 鎻愪氦璇勪环
+  getTrainingDetailedFileList: "/personTraining/getTrainingDetailedFileList", // 浜哄憳鍩硅璇︽儏闄勪欢鍒楄〃
+  delTrainingDetailedFileList: "/personTraining/delTrainingDetailedFileList", // 浜哄憳鍩硅璇︽儏闄勪欢鍒犻櫎
+  uploadTrainingDetailedFile: "/personTraining/uploadTrainingDetailedFile", // 浜哄憳鍩硅璇︽儏闄勪欢鏂板
+  personJobResponsibilitiesSave:
+    "/personJobResponsibilities/personJobResponsibilitiesSave", // 鏂板宀椾綅鑱岃矗
+  personJobResponsibilitiesDelete:
+    "/personJobResponsibilities/personJobResponsibilitiesDelete", // 鍒犻櫎宀椾綅鑱岃矗
+  personJobResponsibilitiesUpdate:
+    "/personJobResponsibilities/personJobResponsibilitiesUpdate", // 鏇存柊宀椾綅鑱岃矗
+  personJobResponsibilitiesSelect:
+    "/personJobResponsibilities/personJobResponsibilitiesSelect", // 鍒嗛〉鏌ヨ宀椾綅鑱岃矗
+  personJobResponsibilitiesExport:
+    "/personJobResponsibilities/personJobResponsibilitiesExport", // 瀵煎嚭宀椾綅鑱岃矗
+  personTrackRecordSave: "/personTrackRecord/personTrackRecordSave", // 鏂板宸ヤ綔灞ュ巻
+  personTrackRecordDelete: "/personTrackRecord/personTrackRecordDelete", // 鍒犻櫎宸ヤ綔灞ュ巻
+  personTrackRecordUpdate: "/personTrackRecord/personTrackRecordUpdate", // 鏇存柊宸ヤ綔灞ュ巻
+  personTrackRecordSelect: "/personTrackRecord/personTrackRecordSelect", // 鏌ヨ宸ヤ綔灞ュ巻
+  personTrackRecordExport: "/personTrackRecord/personTrackRecordExport", // 瀵煎嚭宸ヤ綔灞ュ巻
+  personTrainingRecordSelect:
+    "/personTrainingRecord/personTrainingRecordSelect", // 鏌ヨ鍩硅璁板綍
+  personTrainingRecordExport:
+    "/personTrainingRecord/personTrainingRecordExport", // 宸ヤ綔鍩硅璁板綍
+  personPersonnelCapacityPage:
+    "/personPersonnelCapacity/personPersonnelCapacityPage", // 鏌ヨ浜哄憳鑳藉姏
+  deletePersonPersonnelCapacity:
+    "/personPersonnelCapacity/deletePersonPersonnelCapacity", // 鍒犻櫎浜哄憳鑳藉姏
+  addOrUpdatePersonPersonnelCapacity:
+    "/personPersonnelCapacity/addOrUpdatePersonPersonnelCapacity", // 鏂板缂栬緫浜哄憳鑳藉姏
+  submitConfirmPersonnelCapability:
+    "/personPersonnelCapacity/submitConfirmPersonnelCapability", // 鏂板缂栬緫浜哄憳鑳藉姏
+  exportPersonnelCapacity: "/personPersonnelCapacity/exportPersonnelCapacity", // 瀵煎嚭浜哄憳鑳藉姏
+  newPersonnelAddedToTrainingRecords:
+    "/personTraining/newPersonnelAddedToTrainingRecords", // 鍩硅涓庤�冩牳 鏂板浜哄憳
+  outOfFocusPreservation: "/personTraining/outOfFocusPreservation", // 鍩硅涓庤�冩牳 澶辩劍鏇存柊
+  trainingSelectTrainingRecord:
+    "/personTrainingRecord/trainingSelectTrainingRecord", // 鏌ヨ浜哄憳 鍩硅璁板綍
+  queryPersonnelDetails: "/personTrainingRecord/queryPersonnelDetails", // 鏌ヨ浜哄憳鏄庣粏 鍩硅璁板綍
+  claimOfTrainingAndAssessmentRecords:
+    "/personTraining/claimOfTrainingAndAssessmentRecords", // 璁ら/鍙栨秷璁ら
+  exportPersonTrainingRecord: "/personTraining/exportPersonTrainingRecord", // 瀵煎嚭浜哄憳鍩硅涓庤�冩牳璁板綍
+  exportTrainingRecord: "/personTrainingRecord/exportTrainingRecord", // 瀵煎嚭鍩硅璁板綍
+  confirmPersonnelCapability:
+    "/personPersonnelCapacity/confirmPersonnelCapability" // 纭浜哄憳鑳藉姏
 };
 
 // 8.3 瀹㈡埛婊℃剰搴﹁皟鏌�
@@ -1041,6 +1130,17 @@
     "/personJobResponsibilities/exportPersonJobResponsibilities" //瀵煎嚭浜哄憳鑱岃矗,浼犲弬id
 };
 
+// 鑾峰彇鐩稿叧鏂囨。鏁版嵁鐨刟pi
+const getDocuments = {
+  list: "/documents",
+  get: "/documents/getListByDId",
+  updateDocument: "/documents/updateDocument"
+};
+// 浜у搧鐩稿簲鐨勬帴鍙�
+const product = {
+  list: "/api/products"
+};
+
 //璁惧鏁呴殰鐩稿簲鐨勬帴鍙�
 const deviceFault = {
   list: "/api/device-faults",
@@ -1308,3 +1408,13 @@
   updateTraceabilityManagement:
     "/deviceTraceabilityManagement/updateTraceabilityManagement" // 淇敼閲忓�兼函婧愯鍒�
 };
+
+// 6.4 璁惧
+const deviceBorrow = {
+  deviceBorrowPage: "/deviceBorrow/deviceBorrowPage", // 璁惧鍊熷嚭list
+  deleteDeviceBorrow: "/deviceBorrow/deleteDeviceBorrow", //鍒犻櫎
+  saveDeviceBorrow: "/deviceBorrow/saveDeviceBorrow", //淇濆瓨
+  getDeviceBorrow: "/deviceBorrow/getDeviceBorrow", //鏌ョ湅
+  deviceBorrowExport: "/deviceBorrow/deviceBorrowExport", //瀵煎嚭
+  directoryListing: "/procurementSuppliesContents/directoryListing" // 閲囪喘鐗╄祫鐩綍鍒楄〃
+};
diff --git a/src/components/do/a6-device/borrow.vue b/src/components/do/a6-device/borrow.vue
index c2ad921..95f75ac 100644
--- a/src/components/do/a6-device/borrow.vue
+++ b/src/components/do/a6-device/borrow.vue
@@ -4,27 +4,50 @@
     <div class="search">
       <div class="search_thing">
         <div class="search_label">娴佺▼缂栧彿锛�</div>
-        <div ><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.processNumber"
-            @keyup.enter.native="refreshTable()"></el-input></div>
+        <div>
+          <el-input
+            size="small"
+            placeholder="璇疯緭鍏�"
+            clearable
+            v-model="componentData.entity.processNumber"
+            @keyup.enter.native="refreshTable()"
+          ></el-input>
+        </div>
       </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-button size="small" type="primary" @click="refreshTable()"
+          >鏌� 璇�</el-button
+        >
       </div>
       <div class="btns">
         <el-button size="small" type="primary" @click="add">鏂板</el-button>
-        <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">瀵煎嚭</el-button>
+        <!--        <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">瀵煎嚭</el-button>-->
       </div>
     </div>
     <div class="tables" style="margin-top: 10px;">
-      <ValueTable ref="ValueTable" :url="$api.deviceBorrow.deviceBorrowPage"
-          :delUrl="$api.deviceBorrow.deleteDeviceBorrow"
-          :componentData="componentData" :key="upIndex"/>
+      <ValueTable
+        ref="ValueTable"
+        :url="$api.deviceBorrow.deviceBorrowPage"
+        :delUrl="$api.deviceBorrow.deleteDeviceBorrow"
+        :componentData="componentData"
+        :key="upIndex"
+      />
     </div>
-    <el-dialog title="浠櫒璁惧棰�(鍊�)鐢ㄧ櫥璁�" top="5vh" :visible.sync="dialogVisible" width="60%">
-      <el-steps :active="currentStep" finish-status="success"  align-center>
-        <el-step style="cursor:pointer" v-for="(v, i) in steps" :title="v" :key="i"
-          @click.native="choiceStep(i)"></el-step>
+    <el-dialog
+      title="浠櫒璁惧棰�(鍊�)鐢ㄧ櫥璁�"
+      top="5vh"
+      :visible.sync="dialogVisible"
+      width="60%"
+    >
+      <el-steps :active="currentStep" finish-status="success" align-center>
+        <el-step
+          style="cursor:pointer"
+          v-for="(v, i) in steps"
+          :title="v"
+          :key="i"
+          @click.native="choiceStep(i)"
+        ></el-step>
       </el-steps>
       <el-form ref="form" :model="form" :rules="rules" label-width="130px">
         <div v-show="currentStepClick === 0">
@@ -33,31 +56,62 @@
             <el-row>
               <el-col :span="12">
                 <el-form-item label="缂栧彿锛�" prop="processNumber">
-                  <el-input v-model="form.processNumber" size="small" :disabled="currentStep>0"></el-input>
+                  <el-input
+                    v-model="form.processNumber"
+                    size="small"
+                    :disabled="currentStep > 0"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
                 <el-form-item label="璁惧鍚嶇О锛�">
-                  <el-input v-model="form.deviceName" size="small" disabled></el-input>
+                  <el-input
+                    v-model="form.deviceName"
+                    size="small"
+                    disabled
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
                 <el-form-item label="绠$悊缂栧彿锛�" prop="unifyNumber">
-                  <el-input v-model="form.unifyNumber" size="small" :disabled="currentStep>0"></el-input>
+                  <el-input
+                    v-model="form.unifyNumber"
+                    size="small"
+                    :disabled="currentStep > 0"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
                 <el-form-item label="鍊熺敤浜猴細" prop="recipientUser">
-                  <el-select v-model="form.recipientUser" filterable placeholder="璇烽�夋嫨" clearable
-                   size="small" style="width: 100%;" :disabled="currentStep>0">
-                    <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name">
+                  <el-select
+                    v-model="form.recipientUser"
+                    filterable
+                    placeholder="璇烽�夋嫨"
+                    clearable
+                    size="small"
+                    style="width: 100%;"
+                    :disabled="currentStep > 0"
+                  >
+                    <el-option
+                      v-for="item in responsibleOptions"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.name"
+                    >
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="鍊熺敤浜鸿仈绯绘柟寮忥細" prop="borrowerContactInformation" label-width="150px">
-                  <el-input v-model="form.borrowerContactInformation" size="small"></el-input>
+                <el-form-item
+                  label="鍊熺敤浜鸿仈绯绘柟寮忥細"
+                  prop="borrowerContactInformation"
+                  label-width="150px"
+                >
+                  <el-input
+                    v-model="form.borrowerContactInformation"
+                    size="small"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -65,14 +119,22 @@
                   <el-date-picker
                     v-model="form.recipientTime"
                     type="date"
-                    placeholder="閫夋嫨鏃ユ湡" size="small"  format="yyyy-MM-dd" style="width: 100%" value-format="yyyy-MM-dd" :disabled="currentStep>0">
+                    placeholder="閫夋嫨鏃ユ湡"
+                    size="small"
+                    format="yyyy-MM-dd"
+                    style="width: 100%"
+                    value-format="yyyy-MM-dd"
+                    :disabled="currentStep > 0"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="鍊熺敤鏃剁姸鎬侊細"
-                >
-                  <el-radio-group v-model="form.recipientState" :disabled="currentStep !== 0">
+                <el-form-item label="鍊熺敤鏃剁姸鎬侊細">
+                  <el-radio-group
+                    v-model="form.recipientState"
+                    :disabled="currentStep !== 0"
+                  >
                     <el-radio :label="0">鍚堟牸</el-radio>
                     <el-radio :label="1">缁翠慨</el-radio>
                     <el-radio :label="2">鍋滅敤</el-radio>
@@ -82,23 +144,56 @@
               </el-col>
               <el-col :span="24">
                 <el-form-item label="鐩稿叧闄勪欢锛�" prop="fileName">
-                  <el-input v-model="form.fileName" disabled size="small"
-                    :style="`width: ${currentStep == 0 ? '88%' : '100%'};`">
-                    <el-button slot="append" v-if="currentStep === 0" icon="el-icon-delete-solid"
-                      @click="deleteFile"></el-button>
+                  <el-input
+                    v-model="form.fileName"
+                    disabled
+                    size="small"
+                    :style="`width: ${currentStep == 0 ? '88%' : '100%'};`"
+                  >
+                    <el-button
+                      slot="append"
+                      v-if="currentStep === 0"
+                      icon="el-icon-delete-solid"
+                      @click="deleteFile"
+                    ></el-button>
                   </el-input>
-                  <el-upload ref="upload" style="float: right;" :action="action" :show-file-list="false"
-                    :on-success="onSuccess" :disabled="currentStep !== 0">
-                    <el-button style="position: relative;top: -4px" class="uploadFile" slot="trigger" size="small"
-                      type="primary" v-if="currentStep === 0">闄勪欢涓婁紶</el-button>
+                  <el-upload
+                    ref="upload"
+                    style="float: right;"
+                    :action="action"
+                    :show-file-list="false"
+                    :on-success="onSuccess"
+                    :disabled="currentStep !== 0"
+                  >
+                    <el-button
+                      style="position: relative;top: -4px"
+                      class="uploadFile"
+                      slot="trigger"
+                      size="small"
+                      type="primary"
+                      v-if="currentStep === 0"
+                      >闄勪欢涓婁紶</el-button
+                    >
                   </el-upload>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
                 <el-form-item label="涓嬬幆鑺傝矗浠讳汉锛�" prop="nextUser">
-                  <el-select v-model="form.nextUser" filterable placeholder="璇烽�夋嫨" clearable
-                   size="small" style="width: 100%;" :disabled="currentStep !== 0">
-                    <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name">
+                  <el-select
+                    v-model="form.nextUser"
+                    filterable
+                    placeholder="璇烽�夋嫨"
+                    clearable
+                    size="small"
+                    style="width: 100%;"
+                    :disabled="currentStep !== 0"
+                  >
+                    <el-option
+                      v-for="item in responsibleOptions"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.name"
+                    >
                     </el-option>
                   </el-select>
                 </el-form-item>
@@ -106,41 +201,75 @@
             </el-row>
           </el-card>
           <el-row style="margin-top: 1em;">
-            <el-col :span="4">
-              鎿嶄綔浜猴細{{ form.submitOperationUser }}
-            </el-col>
-            <el-col :span="6">
-              鏃ユ湡锛歿{ form.submitOperationTime }}
-            </el-col>
+            <el-col :span="4"> 鎿嶄綔浜猴細{{ form.submitOperationUser }} </el-col>
+            <el-col :span="6"> 鏃ユ湡锛歿{ form.submitOperationTime }} </el-col>
           </el-row>
         </div>
         <div v-show="currentStepClick === 1">
           <el-card style="margin-top: 1em; height: 51vh; overflow-y: scroll;">
             <el-row>
               <el-col :span="12">
-                <el-form-item label="褰掕繕浜猴細" prop="rebackUser" :rules="[{ required: currentStep === 1, message: '璇疯緭鍏ュ綊杩樹汉', trigger: 'change' }]">
+                <el-form-item
+                  label="褰掕繕浜猴細"
+                  prop="rebackUser"
+                  :rules="[
+                    {
+                      required: currentStep === 1,
+                      message: '璇疯緭鍏ュ綊杩樹汉',
+                      trigger: 'change'
+                    }
+                  ]"
+                >
                   <!-- <el-input v-model="form.rebackUser" size="small" :disabled="currentStep !== 1"></el-input> -->
-                  <el-select v-model="form.rebackUser" filterable placeholder="璇烽�夋嫨" clearable
-                   size="small" style="width: 50%;" :disabled="currentStep !== 1">
-                    <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name">
+                  <el-select
+                    v-model="form.rebackUser"
+                    filterable
+                    placeholder="璇烽�夋嫨"
+                    clearable
+                    size="small"
+                    style="width: 50%;"
+                    :disabled="currentStep !== 1"
+                  >
+                    <el-option
+                      v-for="item in responsibleOptions"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.name"
+                    >
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="褰掕繕鏃ユ湡锛�" prop="rebackTime" :rules="[{ required: currentStep === 1, message: '璇烽�夋嫨褰掕繕鏃ユ湡', trigger: 'change' }]">
+                <el-form-item
+                  label="褰掕繕鏃ユ湡锛�"
+                  prop="rebackTime"
+                  :rules="[
+                    {
+                      required: currentStep === 1,
+                      message: '璇烽�夋嫨褰掕繕鏃ユ湡',
+                      trigger: 'change'
+                    }
+                  ]"
+                >
                   <el-date-picker
                     v-model="form.rebackTime"
                     :disabled="currentStep !== 1"
                     type="date"
-                    placeholder="閫夋嫨鏃ユ湡" size="small"  format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
+                    placeholder="閫夋嫨鏃ユ湡"
+                    size="small"
+                    format="yyyy-MM-dd HH:mm:ss"
+                    value-format="yyyy-MM-dd HH:mm:ss"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="鎺ユ敹鐘跺喌锛�"
-                >
-                  <el-radio-group v-model="form.receiveState" :disabled="currentStep !== 1">
+                <el-form-item label="鎺ユ敹鐘跺喌锛�">
+                  <el-radio-group
+                    v-model="form.receiveState"
+                    :disabled="currentStep !== 1"
+                  >
                     <el-radio :label="0">鍚堟牸</el-radio>
                     <el-radio :label="1">缁翠慨</el-radio>
                     <el-radio :label="2">鍋滅敤</el-radio>
@@ -149,67 +278,87 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="璁惧璐熻矗浜猴細" prop="deviceUser" :rules="[{ required: currentStep === 1, message: '璇烽�夋嫨璁惧璐熻矗浜�', trigger: 'change' }]">
+                <el-form-item
+                  label="璁惧璐熻矗浜猴細"
+                  prop="deviceUser"
+                  :rules="[
+                    {
+                      required: currentStep === 1,
+                      message: '璇烽�夋嫨璁惧璐熻矗浜�',
+                      trigger: 'change'
+                    }
+                  ]"
+                >
                   <!-- <el-input v-model="form.deviceUser" size="small" :disabled="currentStep !== 1"></el-input> -->
-                  <el-select v-model="form.deviceUser" filterable placeholder="璇烽�夋嫨" clearable
-                   size="small" style="width: 50%;" :disabled="currentStep !== 1">
-                    <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name">
+                  <el-select
+                    v-model="form.deviceUser"
+                    filterable
+                    placeholder="璇烽�夋嫨"
+                    clearable
+                    size="small"
+                    style="width: 50%;"
+                    :disabled="currentStep !== 1"
+                  >
+                    <el-option
+                      v-for="item in responsibleOptions"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.name"
+                    >
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="24">
                 <el-form-item label="澶囨敞锛�">
-                  <el-input type="textarea" v-model="form.note" :disabled="currentStep !== 1"
-                    size="small"></el-input>
+                  <el-input
+                    type="textarea"
+                    v-model="form.note"
+                    :disabled="currentStep !== 1"
+                    size="small"
+                  ></el-input>
                 </el-form-item>
               </el-col>
-
             </el-row>
           </el-card>
           <el-row style="margin-top: 1em;">
-            <el-col :span="4">
-              鎿嶄綔浜猴細{{ form.receiveOperationUser }}
-            </el-col>
-            <el-col :span="6">
-              鏃ユ湡锛歿{ form.receiveOperationTime }}
-            </el-col>
+            <el-col :span="4"> 鎿嶄綔浜猴細{{ form.receiveOperationUser }} </el-col>
+            <el-col :span="6"> 鏃ユ湡锛歿{ form.receiveOperationTime }} </el-col>
           </el-row>
         </div>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="submitForm('3reject')" v-if="currentStep !== 0 && currentStep !== 2">椹冲洖</el-button>
-        <el-button @click="submitForm('2save')" v-if="currentStep === 0">淇濆瓨</el-button>
-        <el-button type="primary" v-if="currentStep !== 2" @click="submitForm('1submit')">{{ currentStep === 0 ? '鎻愪氦' :
-          '閫氳繃'
-          }}</el-button>
+        <el-button
+          @click="submitForm('3reject')"
+          v-if="currentStep !== 0 && currentStep !== 2"
+          >椹冲洖</el-button
+        >
+        <el-button @click="submitForm('2save')" v-if="currentStep === 0"
+          >淇濆瓨</el-button
+        >
+        <el-button
+          type="primary"
+          v-if="currentStep !== 2"
+          @click="submitForm('1submit')"
+          >{{ currentStep === 0 ? "鎻愪氦" : "閫氳繃" }}</el-button
+        >
       </span>
     </el-dialog>
-    <el-dialog title="娴佺▼璺熻釜" top="5vh" :visible.sync="dialogVisible0" width="60%">
-      <el-table
-      :data="deviceLogs"
-      style="width: 100%">
-        <el-table-column
-          type="index"
-          width="50">
+    <el-dialog
+      title="娴佺▼璺熻釜"
+      top="5vh"
+      :visible.sync="dialogVisible0"
+      width="60%"
+    >
+      <el-table :data="deviceLogs" style="width: 100%">
+        <el-table-column type="index" width="50"> </el-table-column>
+        <el-table-column prop="operator" label="鎿嶄綔浜�" width="180">
         </el-table-column>
-        <el-table-column
-          prop="operator"
-          label="鎿嶄綔浜�"
-          width="180">
+        <el-table-column prop="operationTime" label="鎿嶄綔鏃ユ湡" width="180">
         </el-table-column>
-        <el-table-column
-          prop="operationTime"
-          label="鎿嶄綔鏃ユ湡"
-          width="180">
+        <el-table-column prop="operationType" label="鎻愪氦绫诲瀷">
         </el-table-column>
-        <el-table-column
-          prop="operationType"
-          label="鎻愪氦绫诲瀷">
-        </el-table-column>
-        <el-table-column
-          prop="operationContent"
-          label="鎿嶄綔鍐呭">
+        <el-table-column prop="operationContent" label="鎿嶄綔鍐呭">
         </el-table-column>
       </el-table>
     </el-dialog>
@@ -217,8 +366,8 @@
 </template>
 
 <script>
-import ValueTable from '../../tool/value-table.vue'
-import { dateFormat } from '../../../util/date'
+import ValueTable from "../../tool/value-table.vue";
+import { dateFormat } from "../../../util/date";
 export default {
   props: {
     clickNodeVal: {
@@ -234,337 +383,382 @@
   data() {
     return {
       dialogVisible: false,
-      dialogVisible0:false,
+      dialogVisible0: false,
       //琛ㄥご鏄剧ず
-      componentData:{
+      componentData: {
         entity: {
           processNumber: null,
-          deviceId:null,
+          deviceId: null,
           orderBy: {
-            field: 'id',
-            order: 'asc'
+            field: "id",
+            order: "asc"
           }
-          },
-          isIndex: true,
-          showSelect: false,
-          select: false,
-          do: [
+        },
+        isIndex: true,
+        showSelect: false,
+        select: false,
+        do: [
           {
-            id: 'show',
-            font: '鏌ョ湅',
-            type: 'text',
-            method: 'lookDetail'
-          },
-            {
-            id: 'delete',
-            font: '鍒犻櫎',
-            type: 'text',
-            method: 'doDiy'
+            id: "show",
+            font: "鏌ョ湅",
+            type: "text",
+            method: "lookDetail"
           },
           {
-            id: '111',
-            font: '娴佺▼璺熻釜',
-            type: 'text',
-            method: 'handleLookList'
-          }],
-          init:false,
-          tagField: {
-            recipientState:{
-              select: [{
-								value: 0,
-								type: 'success',
-								label: '鍚堟牸'
-							}, {
-								value: 1,
-								type: 'warning',
-								label: '缁翠慨'
-							}, {
-								value: 2,
-								type: 'info',
-								label: '鍋滅敤'
-							}, {
-								value: 3,
-								type: 'danger',
-								label: '鎶ュ簾'
-							}]
-            }
+            id: "delete",
+            font: "鍒犻櫎",
+            type: "text",
+            method: "doDiy"
           },
-          selectField: {},
-          requiredAdd: [],
-          requiredUp: [],
+          {
+            id: "111",
+            font: "娴佺▼璺熻釜",
+            type: "text",
+            method: "handleLookList"
+          }
+        ],
+        init: false,
+        tagField: {
+          recipientState: {
+            select: [
+              {
+                value: 0,
+                type: "success",
+                label: "鍚堟牸"
+              },
+              {
+                value: 1,
+                type: "warning",
+                label: "缁翠慨"
+              },
+              {
+                value: 2,
+                type: "info",
+                label: "鍋滅敤"
+              },
+              {
+                value: 3,
+                type: "danger",
+                label: "鎶ュ簾"
+              }
+            ]
+          }
+        },
+        selectField: {},
+        requiredAdd: [],
+        requiredUp: []
       },
-      upIndex:0,
-      entityCopy:null,
+      upIndex: 0,
+      entityCopy: null,
       currentStep: 0, // 姝ラ鏉℃樉绀虹鍑犳
       currentStepClick: 0, // 鐐瑰嚮姝ラ鏉″彉鍖�
-      steps: ['鍊熷嚭', '鍊熺敤'],
+      steps: ["鍊熷嚭", "鍊熺敤"],
       responsibleOptions: [], // 涓嬬幆鑺傝礋璐d汉list
-      form:{
-        processNumber:null,
-        deviceName:null,
-        unifyNumber:null,
-        recipientUser:null,
-        recipientTime:null,
-        nextUser:null,
-        rebackUser:null,
-        rebackTime:null,
-        receiveState:null,
-        deviceUser:null,
-        fileName:null,
+      form: {
+        processNumber: null,
+        deviceName: null,
+        unifyNumber: null,
+        recipientUser: null,
+        recipientTime: null,
+        nextUser: null,
+        rebackUser: null,
+        rebackTime: null,
+        receiveState: null,
+        deviceUser: null,
+        fileName: null
       },
-      rules:{
-        processNumber: [{ required: true, message: '璇疯緭鍏ョ紪鍙�', trigger: 'blur' }],
-        deviceName: [{ required: true, message: '璇疯緭鍏ヨ澶囧悕绉�', trigger: 'blur' }],
-        unifyNumber: [{ required: true, message: '璇疯緭鍏ョ鐞嗙紪鍙�', trigger: 'blur' }],
-        recipientUser: [{ required: true, message: '璇疯緭鍏ュ�熺敤浜�', trigger: 'blur' }],
-        borrowerContactInformation: [{ required: true, message: '璇疯緭鍏ュ�熺敤浜鸿仈绯绘柟寮�', trigger: 'blur' }],
-        recipientTime: [{ required: true, message: '璇烽�夋嫨鍊熺敤鏃ユ湡', trigger: 'change' }],
-        nextUser: [{ required: true, message: '璇烽�夋嫨涓嬬幆鑺傝礋璐d汉', trigger: 'change' }],
+      rules: {
+        processNumber: [
+          { required: true, message: "璇疯緭鍏ョ紪鍙�", trigger: "blur" }
+        ],
+        deviceName: [
+          { required: true, message: "璇疯緭鍏ヨ澶囧悕绉�", trigger: "blur" }
+        ],
+        unifyNumber: [
+          { required: true, message: "璇疯緭鍏ョ鐞嗙紪鍙�", trigger: "blur" }
+        ],
+        recipientUser: [
+          { required: true, message: "璇疯緭鍏ュ�熺敤浜�", trigger: "blur" }
+        ],
+        borrowerContactInformation: [
+          { required: true, message: "璇疯緭鍏ュ�熺敤浜鸿仈绯绘柟寮�", trigger: "blur" }
+        ],
+        recipientTime: [
+          { required: true, message: "璇烽�夋嫨鍊熺敤鏃ユ湡", trigger: "change" }
+        ],
+        nextUser: [
+          { required: true, message: "璇烽�夋嫨涓嬬幆鑺傝礋璐d汉", trigger: "change" }
+        ]
       },
-      deviceLogs:[],
-      outLoading:false
-    }
+      deviceLogs: [],
+      outLoading: false
+    };
   },
-  watch:{
+  watch: {
     // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
     clickNodeVal(newVal) {
       if (newVal.value) {
-        this.componentData.entity.deviceId = this.clickNodeVal.value
-        this.entityCopy = this.HaveJson(this.componentData.entity)
-        this.refreshTable()
+        this.componentData.entity.deviceId = this.clickNodeVal.value;
+        this.entityCopy = this.HaveJson(this.componentData.entity);
+        this.refreshTable();
       }
     },
     dialogVisible(newVal) {
       if (!newVal) {
-        this.form = {}
-        this.currentStep = 0 // 姝ラ鏉℃樉绀虹鍑犳
-        this.currentStepClick = 0 // 鐐瑰嚮姝ラ鏉″彉鍖�
-        this.$refs['form'].clearValidate()
+        this.form = {};
+        this.currentStep = 0; // 姝ラ鏉℃樉绀虹鍑犳
+        this.currentStepClick = 0; // 鐐瑰嚮姝ラ鏉″彉鍖�
+        this.$refs["form"].clearValidate();
       }
     }
   },
   computed: {
     action() {
-      return this.javaApi + this.$api.personnel.saveCNASFile
+      return this.javaApi + this.$api.personnel.saveCNASFile;
     }
   },
   mounted() {
-    this.componentData.entity.deviceId = this.clickNodeVal.value
-    this.entityCopy = this.HaveJson(this.componentData.entity)
+    this.componentData.entity.deviceId = this.clickNodeVal.value;
+    this.entityCopy = this.HaveJson(this.componentData.entity);
     // console.log(333,this.clickNodeVal)
-    this.getUserList()
-    this.refreshTable()
+    this.getUserList();
+    this.refreshTable();
   },
   methods: {
     refreshTable(e) {
-      this.$refs['ValueTable'].selectList(e)
+      this.$refs["ValueTable"].selectList(e);
     },
     refresh() {
-      this.componentData.entity = this.HaveJson(this.entityCopy)
-      this.refreshTable()
+      this.componentData.entity = this.HaveJson(this.entityCopy);
+      this.refreshTable();
       // this.upIndex++
     },
     choiceStep(index) {
-      this.currentStepClick = index
+      this.currentStepClick = index;
     },
     //鎻愪氦琛ㄥ崟
     async submitForm(saveState) {
-      this.$refs.form.validate((valid) => {
-        if (valid === true || saveState !== '1submit') {
+      this.$refs.form.validate(valid => {
+        if (valid === true || saveState !== "1submit") {
           // 缁欏綋鍓嶇幆鑺傝缃垱寤轰汉涓庢椂闂�
-          let user = JSON.parse(localStorage.getItem('user'))
-          const dateTime = dateFormat(new Date())
+          let user = JSON.parse(localStorage.getItem("user"));
+          const dateTime = dateFormat(new Date());
           // 鑾峰彇褰撳墠鐜妭鎿嶄綔浜轰笌鏃ユ湡
           switch (this.currentStep) {
             case 0:
-              this.form.submitOperationUser = user.name
-              this.form.submitOperationTime = dateTime
-              break
+              this.form.submitOperationUser = user.name;
+              this.form.submitOperationTime = dateTime;
+              break;
             case 1:
-              this.form.receiveOperationUser = user.name
-              this.form.receiveOperationTime = dateTime
-              break
+              this.form.receiveOperationUser = user.name;
+              this.form.receiveOperationTime = dateTime;
+              break;
             default:
-              break
+              break;
           }
           // 鑾峰彇褰撳墠鐜妭璐熻矗浜�
-          switch (saveState === '3reject' ? this.currentStep - 1 : this.currentStep) {
+          switch (
+            saveState === "3reject" ? this.currentStep - 1 : this.currentStep
+          ) {
             case 0:
-              this.form.nowUser = this.form.nextUser
-              break
+              this.form.nowUser = this.form.nextUser;
+              break;
             default:
-              break
+              break;
           }
           let currentStepAction;
           // 璁剧疆璇ユ搷浣滃垽鏂槸鍚︿负鎻愪氦锛屼繚瀛橈紝椹冲洖锛岄�氳繃
           switch (saveState) {
             // 鎻愪氦锛岄�氳繃
-            case '1submit':
-              currentStepAction = this.currentStep + 1
-              break
+            case "1submit":
+              currentStepAction = this.currentStep + 1;
+              break;
             // 淇濆瓨
-            case '2save':
-              currentStepAction = this.currentStep
-              break
+            case "2save":
+              currentStepAction = this.currentStep;
+              break;
             // 椹冲洖
-            case '3reject':
-              currentStepAction = this.currentStep - 1
-              break
+            case "3reject":
+              currentStepAction = this.currentStep - 1;
+              break;
             default:
-              break
+              break;
           }
           // 鑾峰彇褰撳墠鐘舵��
-          this.form.nowState = currentStepAction === 2 ? '鍏抽棴' : this.steps[currentStepAction]
-          this.form.deviceId = this.clickNodeVal.value
-          delete  this.form.deviceLogs
-          this.$axios.post(this.$api.deviceBorrow.saveDeviceBorrow, this.form, {
-            headers: {
-              'Content-Type': 'application/json'
-            },
-            noQs:true
-          }).then(res => {
-            if (res.code == 200) {
-              this.$message.success('鎻愪氦鎴愬姛')
-              this.dialogVisible = false
-              this.refreshTable()
-            }
-          })
+          this.form.nowState =
+            currentStepAction === 2 ? "鍏抽棴" : this.steps[currentStepAction];
+          this.form.deviceId = this.clickNodeVal.value;
+          delete this.form.deviceLogs;
+          this.$axios
+            .post(this.$api.deviceBorrow.saveDeviceBorrow, this.form, {
+              headers: {
+                "Content-Type": "application/json"
+              },
+              noQs: true
+            })
+            .then(res => {
+              if (res.code == 200) {
+                this.$message.success("鎻愪氦鎴愬姛");
+                this.dialogVisible = false;
+                this.refreshTable();
+              }
+            });
         } else {
-          let step = this.steps[this.currentStep]
-          this.$message.warning(step + '  娴佺▼涓湁蹇呭~椤规湭濉紒');
+          let step = this.steps[this.currentStep];
+          this.$message.warning(step + "  娴佺▼涓湁蹇呭~椤规湭濉紒");
         }
       });
     },
     deleteFile() {
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.$axios.delete(this.$api.personnel.deleteCNASFile + "?fileName=" + this.form.fileName).then(res => {
-          if (res.code == 200) {
-            this.$message.success('鍒犻櫎鎴愬姛锛�')
-          }
+      this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          this.$axios
+            .delete(
+              this.$api.personnel.deleteCNASFile +
+                "?fileName=" +
+                this.form.fileName
+            )
+            .then(res => {
+              if (res.code == 200) {
+                this.$message.success("鍒犻櫎鎴愬姛锛�");
+              }
+            });
         })
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '宸插彇娑堝垹闄�'
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堝垹闄�"
+          });
         });
-      });
     },
     onSuccess(response, file, fileList) {
       if (response.code == 200) {
         // 鍦ㄤ繚瀛樿祴鍊兼柊鏂囦欢
-        this.form.fileName = file.name
-        this.form.url= response.data
+        this.form.fileName = file.name;
+        this.form.url = response.data;
       } else {
-        this.$message.error(response.message)
+        this.$message.error(response.message);
       }
     },
     // 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
     getUserList() {
       this.$axios.get(this.$api.deviceScope.selectUserList).then(res => {
         if (res.code == 200) {
-          this.responsibleOptions = res.data
+          this.responsibleOptions = res.data;
         }
-      })
+      });
     },
     // 鏌ョ湅璇︽儏
-    lookDetail(row){
-      this.$axios.get(this.$api.deviceBorrow.getDeviceBorrow+'?id='+row.id).then(res => {
-        if (res.code == 200) {
-          this.form = res.data
-          this.form.deviceName = this.clickNodeVal.label
-          this.form.deviceId = this.clickNodeVal.value
-          this.deviceLogs = res.data.deviceLogs
-          let i = this.steps.findIndex(item => item == row.nowState)
-          if(i==-1){
-            this.currentStep = 2
-            this.currentStepClick = 0
-          }else{
-            this.currentStep = i
-            this.currentStepClick = i
+    lookDetail(row) {
+      this.$axios
+        .get(this.$api.deviceBorrow.getDeviceBorrow + "?id=" + row.id)
+        .then(res => {
+          if (res.code == 200) {
+            this.form = res.data;
+            this.form.deviceName = this.clickNodeVal.label;
+            this.form.deviceId = this.clickNodeVal.value;
+            this.deviceLogs = res.data.deviceLogs;
+            let i = this.steps.findIndex(item => item == row.nowState);
+            if (i == -1) {
+              this.currentStep = 2;
+              this.currentStepClick = 0;
+            } else {
+              this.currentStep = i;
+              this.currentStepClick = i;
+            }
+            console.log(this.currentStepClick);
+            this.dialogVisible = true;
           }
-          console.log(this.currentStepClick)
-          this.dialogVisible = true
-        }
-      })
+        });
     },
     // 鏂板
-    add(){
-      this.dialogVisible = true
+    add() {
+      this.dialogVisible = true;
       this.form = {
-        processNumber:null,
-        deviceName:null,
-        unifyNumber:null,
-        recipientUser:null,
-        recipientTime:null,
-        nextUser:null,
-        rebackUser:null,
-        rebackTime:null,
-        receiveState:null,
-        deviceUser:null,
-        fileName:null,
-      }
-      this.form.deviceName = this.clickNodeVal.label
-      this.form.deviceId = this.clickNodeVal.value
+        processNumber: null,
+        deviceName: null,
+        unifyNumber: null,
+        recipientUser: null,
+        recipientTime: null,
+        nextUser: null,
+        rebackUser: null,
+        rebackTime: null,
+        receiveState: null,
+        deviceUser: null,
+        fileName: null
+      };
+      this.form.deviceName = this.clickNodeVal.label;
+      this.form.deviceId = this.clickNodeVal.value;
     },
     //瀵煎嚭
     handleDown() {
-      this.outLoading = true
-      this.$axios.post(this.$api.deviceBorrow.deviceBorrowExport,{deviceId:this.clickNodeVal.value},{responseType: 'blob'}).then(res => {
-        this.outLoading = false
-        const blob = new Blob([res], {
-          type: 'application/force-download'
-        })
-        const filename = decodeURI(this.clickNodeVal.label+'璁惧鍊熷嚭缁熻'+'.xlsx')
-        //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
-        let reader = new FileReader();
-        reader.readAsText(blob, 'utf-8');
-        reader.onload = () => {
-          try {
-            let result = JSON.parse(reader.result);
-            if (result.message) {
-              this.$message.error(result.message);
-            } else {
+      this.outLoading = true;
+      this.$axios
+        .post(
+          this.$api.deviceBorrow.deviceBorrowExport,
+          { deviceId: this.clickNodeVal.value },
+          { responseType: "blob" }
+        )
+        .then(res => {
+          this.outLoading = false;
+          const blob = new Blob([res], {
+            type: "application/force-download"
+          });
+          const filename = decodeURI(
+            this.clickNodeVal.label + "璁惧鍊熷嚭缁熻" + ".xlsx"
+          );
+          //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+          let reader = new FileReader();
+          reader.readAsText(blob, "utf-8");
+          reader.onload = () => {
+            try {
+              let result = JSON.parse(reader.result);
+              if (result.message) {
+                this.$message.error(result.message);
+              } else {
+                // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
+                const elink = document.createElement("a");
+                elink.download = filename;
+                elink.style.display = "none";
+                elink.href = URL.createObjectURL(blob);
+                document.body.appendChild(elink);
+                elink.click();
+                URL.revokeObjectURL(elink.href); // 閲婃斁URL 瀵硅薄
+                document.body.removeChild(elink);
+                this.$message.success("瀵煎嚭鎴愬姛");
+              }
+            } catch (err) {
+              console.log(err);
               // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
-              const elink = document.createElement('a')
-              elink.download = filename
-              elink.style.display = 'none'
-              elink.href = URL.createObjectURL(blob)
-              document.body.appendChild(elink)
+              const elink = document.createElement("a");
+              elink.download = filename;
+              elink.style.display = "none";
+              elink.href = URL.createObjectURL(blob);
+              document.body.appendChild(elink);
               elink.click();
-              URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄
-              document.body.removeChild(elink)
-              this.$message.success('瀵煎嚭鎴愬姛')
+              URL.revokeObjectURL(elink.href); // 閲婃斁URL 瀵硅薄
+              document.body.removeChild(elink);
+              this.$message.success("瀵煎嚭鎴愬姛");
             }
-          } catch (err) {
-            console.log(err);
-            // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
-            const elink = document.createElement('a')
-            elink.download = filename
-            elink.style.display = 'none'
-            elink.href = URL.createObjectURL(blob)
-            document.body.appendChild(elink)
-            elink.click();
-            URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄
-            document.body.removeChild(elink)
-            this.$message.success('瀵煎嚭鎴愬姛')
-          }
-        }
-      })
+          };
+        });
     },
-    handleLookList(row){
-      this.$axios.get(this.$api.deviceBorrow.getDeviceBorrow+'?id='+row.id).then(res => {
-        if (res.code == 200) {
-          this.deviceLogs = res.data.deviceLogs
-          this.dialogVisible0 = true
-        }
-      })
+    handleLookList(row) {
+      this.$axios
+        .get(this.$api.deviceBorrow.getDeviceBorrow + "?id=" + row.id)
+        .then(res => {
+          if (res.code == 200) {
+            this.deviceLogs = res.data.deviceLogs;
+            this.dialogVisible0 = true;
+          }
+        });
     }
-  },
-}
+  }
+};
 </script>
 
 <style scoped>
@@ -580,7 +774,7 @@
   display: inline-block;
   width: 3px;
   height: 16px;
-  background: #3A7BFA;
+  background: #3a7bfa;
   margin-right: 4px;
 }
 
@@ -630,10 +824,10 @@
 .form .search_label {
   width: 120px;
 }
-.el-radio{
+.el-radio {
   margin-right: 10px;
 }
-.el-radio-group{
+.el-radio-group {
   width: 100%;
   display: flex;
   margin-top: 12px;
diff --git a/src/components/do/a6-device/calibration.vue b/src/components/do/a6-device/calibration.vue
index b1aa45b..bff1387 100644
--- a/src/components/do/a6-device/calibration.vue
+++ b/src/components/do/a6-device/calibration.vue
@@ -2,105 +2,246 @@
 <template>
   <div>
     <div class="btnS">
-      <el-button size="small" type="primary" @click="calibrationMaintenance()">鏍″噯椤圭洰缁存姢</el-button>
-      <el-button size="small" type="primary" @click="add('add')">娣诲姞鏍″噯璁板綍</el-button>
-      <el-button size="small" type="primary" @click="handleDown">瀵煎嚭Excel</el-button>
+      <el-button size="small" type="primary" @click="calibrationMaintenance()"
+        >鏍″噯椤圭洰缁存姢</el-button
+      >
+      <el-button size="small" type="primary" @click="add('add')"
+        >娣诲姞鏍″噯璁板綍</el-button
+      >
+      <el-button size="small" type="primary" @click="handleDown"
+        >瀵煎嚭Excel</el-button
+      >
     </div>
     <div class="tables" style="margin-top: 10px;">
       <el-table :data="tableData" height="calc(100vh - 20em)">
         <el-table-column label="搴忓彿" type="index" width="120">
           <template v-slot="scope">
-            <span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
+            <span>{{
+              (search.current - 1) * search.size + scope.$index + 1
+            }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="璁板綍缂栧彿" min-width="150" prop="processNumber"></el-table-column>
-        <el-table-column label="鏍″噯鏈烘瀯" min-width="150" prop="unitOfMeasure"
-                         show-overflow-tooltip></el-table-column>
+        <el-table-column
+          label="璁板綍缂栧彿"
+          min-width="150"
+          prop="processNumber"
+        ></el-table-column>
+        <el-table-column
+          label="鏍″噯鏈烘瀯"
+          min-width="150"
+          prop="unitOfMeasure"
+          show-overflow-tooltip
+        ></el-table-column>
         <el-table-column label="鏍″噯缁撹" min-width="150" prop="status">
           <template v-slot="scope">
-            {{ scope.row.status === '0yes' ? '鍚堟牸' : scope.row.status === '1no' ? '涓嶅悎鏍�' : '鍏朵粬' }}
+            {{
+              scope.row.status === "0yes"
+                ? "鍚堟牸"
+                : scope.row.status === "1no"
+                ? "涓嶅悎鏍�"
+                : "鍏朵粬"
+            }}
           </template>
         </el-table-column>
-        <el-table-column label="鏍″噯璇佷功缂栧彿" min-width="150" prop="certificateSerialNumber"></el-table-column>
-        <el-table-column label="璇存槑" min-width="150" prop="remark" show-overflow-tooltip></el-table-column>
-        <el-table-column label="鏍″噯鏃ユ湡" min-width="150" prop="calibrationDate"></el-table-column>
-        <el-table-column label="涓嬫鏍″噯鏃ユ湡" min-width="150" prop="nextCalibrationDate"></el-table-column>
-        <el-table-column label="纭鏃ユ湡" min-width="150" prop="confirmDate"></el-table-column>
-        <el-table-column label="鐧昏浜�" min-width="150" prop="createUser"></el-table-column>
-        <el-table-column label="鐧昏鏃ユ湡" min-width="150" prop="createTime"></el-table-column>
-        <el-table-column fixed="right" label="鎿嶄綔" min-width="180" align="center">
+        <el-table-column
+          label="鏍″噯璇佷功缂栧彿"
+          min-width="150"
+          prop="certificateSerialNumber"
+        ></el-table-column>
+        <el-table-column
+          label="璇存槑"
+          min-width="150"
+          prop="remark"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          label="鏍″噯鏃ユ湡"
+          min-width="150"
+          prop="calibrationDate"
+        ></el-table-column>
+        <el-table-column
+          label="涓嬫鏍″噯鏃ユ湡"
+          min-width="150"
+          prop="nextCalibrationDate"
+        ></el-table-column>
+        <el-table-column
+          label="纭鏃ユ湡"
+          min-width="150"
+          prop="confirmDate"
+        ></el-table-column>
+        <el-table-column
+          label="鐧昏浜�"
+          min-width="150"
+          prop="createUser"
+        ></el-table-column>
+        <el-table-column
+          label="鐧昏鏃ユ湡"
+          min-width="150"
+          prop="createTime"
+        ></el-table-column>
+        <el-table-column
+          fixed="right"
+          label="鎿嶄綔"
+          min-width="180"
+          align="center"
+        >
           <template #default="{ row }">
-            <el-button size="small" type="text" @click="handleAttachmentClick(row)">涓嬭浇闄勪欢</el-button>
-            <el-button size="small" type="text" @click="handleViewClick('view', row)">鏌ョ湅</el-button>
-            <el-button size="small" type="text" @click="handleDeleteClick(row)">鍒犻櫎</el-button>
+            <el-button
+              size="small"
+              type="text"
+              @click="handleAttachmentClick(row)"
+              >涓嬭浇闄勪欢</el-button
+            >
+            <el-button
+              size="small"
+              type="text"
+              @click="handleViewClick('view', row)"
+              >鏌ョ湅</el-button
+            >
+            <el-button size="small" type="text" @click="handleDeleteClick(row)"
+              >鍒犻櫎</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
-      <el-pagination :current-page="1" :page-size="search.size" :page-sizes="[10, 20, 30, 50, 100]"
-                     :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" style="margin-right: 5%;"
-                     @size-change="handleSizeChange" @current-change="handleCurrentChange">
+      <el-pagination
+        :current-page="1"
+        :page-size="search.size"
+        :page-sizes="[10, 20, 30, 50, 100]"
+        :total="search.total"
+        layout="->,total, sizes, prev, pager, next, jumper"
+        style="margin-right: 5%;"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      >
       </el-pagination>
     </div>
     <!-- 鏍″噯椤圭洰缁存姢 -->
-    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible0" title="鏍″噯椤圭洰缁存姢"
-               top="5vh" width="70%">
+    <el-dialog
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :visible.sync="dialogVisible0"
+      title="鏍″噯椤圭洰缁存姢"
+      top="5vh"
+      width="70%"
+    >
       <h4>
-        <span style="display: flex;align-items: center;"><span class="line"></span><span>璁惧鏍″噯鍙傛暟缁存姢</span></span>
-        <el-button :loading="addCalibrateLoading" size="small" type="primary" @click="addCalibrate">娣� 鍔�</el-button>
+        <span style="display: flex;align-items: center;"
+          ><span class="line"></span><span>璁惧鏍″噯鍙傛暟缁存姢</span></span
+        >
+        <el-button
+          :loading="addCalibrateLoading"
+          size="small"
+          type="primary"
+          @click="addCalibrate"
+          >娣� 鍔�</el-button
+        >
       </h4>
       <div>
-        <el-form ref="form0" :model="form0" :rules="form0Rules"
-                 label-position="right" label-width="120px">
+        <el-form
+          ref="form0"
+          :model="form0"
+          :rules="form0Rules"
+          label-position="right"
+          label-width="120px"
+        >
           <el-row>
             <el-col :span="12">
               <el-form-item label="璁¢噺鍙傛暟:" prop="measurementParameter">
-                <el-input v-model="form0.measurementParameter" clearable placeholder="璇疯緭鍏�" size="small"></el-input>
+                <el-input
+                  v-model="form0.measurementParameter"
+                  clearable
+                  placeholder="璇疯緭鍏�"
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="閲忕▼鑼冨洿:" prop="rangeOfMeasurement">
-                <el-input v-model="form0.rangeOfMeasurement" clearable placeholder="璇疯緭鍏�" size="small"></el-input>
+                <el-input
+                  v-model="form0.rangeOfMeasurement"
+                  clearable
+                  placeholder="璇疯緭鍏�"
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="鏈�澶у厑璁歌宸�:" prop="maxPermissibleError">
-                <el-input v-model="form0.maxPermissibleError" clearable placeholder="璇疯緭鍏�" size="small"></el-input>
+                <el-input
+                  v-model="form0.maxPermissibleError"
+                  clearable
+                  placeholder="璇疯緭鍏�"
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="鍒ゅ畾鏍囧噯:" prop="judgmentCriteria">
-                <el-input v-model="form0.judgmentCriteria" clearable placeholder="璇疯緭鍏�" size="small"></el-input>
+                <el-input
+                  v-model="form0.judgmentCriteria"
+                  clearable
+                  placeholder="璇疯緭鍏�"
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-col>
           </el-row>
         </el-form>
       </div>
       <h4>
-        <span style="display: flex;align-items: center;"><span class="line"></span><span>璁惧鏍″噯鍙傛暟</span></span>
+        <span style="display: flex;align-items: center;"
+          ><span class="line"></span><span>璁惧鏍″噯鍙傛暟</span></span
+        >
       </h4>
       <!-- 璁惧鏍″噯鍙傛暟琛ㄦ牸 -->
-      <el-table ref="calibrateTable" v-loading="calibrateParamsLoading" :data="calibrateParams"
-                max-height="450"
-                stripe style="width: 100%">
+      <el-table
+        ref="calibrateTable"
+        v-loading="calibrateParamsLoading"
+        :data="calibrateParams"
+        max-height="450"
+        stripe
+        style="width: 100%"
+      >
         <el-table-column label="缂栧彿" type="index" width="80"></el-table-column>
-        <el-table-column label="璁¢噺鍙傛暟" prop="measurementParameter"></el-table-column>
-        <el-table-column label="閲忕▼鑼冨洿" prop="rangeOfMeasurement"></el-table-column>
-        <el-table-column label="鏈�澶у厑璁歌宸�" prop="maxPermissibleError"></el-table-column>
-        <el-table-column label="鍒ゅ畾鏍囧噯" prop="judgmentCriteria"></el-table-column>
+        <el-table-column
+          label="璁¢噺鍙傛暟"
+          prop="measurementParameter"
+        ></el-table-column>
+        <el-table-column
+          label="閲忕▼鑼冨洿"
+          prop="rangeOfMeasurement"
+        ></el-table-column>
+        <el-table-column
+          label="鏈�澶у厑璁歌宸�"
+          prop="maxPermissibleError"
+        ></el-table-column>
+        <el-table-column
+          label="鍒ゅ畾鏍囧噯"
+          prop="judgmentCriteria"
+        ></el-table-column>
         <el-table-column label="鍒涘缓浜�" prop="createdBy"></el-table-column>
         <el-table-column label="鍒涘缓鏃堕棿" prop="creationTime"></el-table-column>
         <el-table-column fixed="right" label="鎿嶄綔">
           <template slot-scope="scope">
-            <el-button size="small" type="text" @click="handleDelete(scope.row)">鍒犻櫎</el-button>
+            <el-button size="small" type="text" @click="handleDelete(scope.row)"
+              >鍒犻櫎</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
     </el-dialog>
 
     <!-- 娣诲姞鏍″噯璁板綍 -->
-    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible1" title="娣诲姞鏍″噯璁板綍"
-               top="5vh"
-               width="80%" @close="resetCalibrationRecord">
+    <el-dialog
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :visible.sync="dialogVisible1"
+      title="娣诲姞鏍″噯璁板綍"
+      top="5vh"
+      width="80%"
+      @close="resetCalibrationRecord"
+    >
       <div style="height: 70vh;overflow-y: auto;overflow-x: hidden;">
         <h4>
           <div style="display: flex;align-items: center;">
@@ -108,67 +249,117 @@
             <span>娣诲姞璁惧鏍″噯璁板綍</span>
           </div>
         </h4>
-        <el-form ref="calibrationRecord" :model="calibrationRecord"
-                 :rules="formRules" label-position="right" label-width="120px">
+        <el-form
+          ref="calibrationRecord"
+          :model="calibrationRecord"
+          :rules="formRules"
+          label-position="right"
+          label-width="120px"
+        >
           <el-row>
             <el-col :span="6">
               <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:" prop="unitOfMeasure">
-                <el-input v-model="calibrationRecord.unitOfMeasure" :disabled="operationType === 'view'"
-                          size="small"></el-input>
+                <el-input
+                  v-model="calibrationRecord.unitOfMeasure"
+                  :disabled="operationType === 'view'"
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="鏍″噯鏃ユ湡:" prop="calibrationDate">
-                <el-date-picker v-model="calibrationRecord.calibrationDate" :disabled="operationType === 'view'"
-                                format="yyyy-MM-dd"
-                                placeholder="閫夋嫨鏃ユ湡"
-                                size="small"
-                                style="width: 90%" type="date"
-                                value-format="yyyy-MM-dd" @change="getNextCalibrationDate">
+                <el-date-picker
+                  v-model="calibrationRecord.calibrationDate"
+                  :disabled="operationType === 'view'"
+                  format="yyyy-MM-dd"
+                  placeholder="閫夋嫨鏃ユ湡"
+                  size="small"
+                  style="width: 90%"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  @change="getNextCalibrationDate"
+                >
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="涓嬫鏍″噯鏃ユ湡:" label-width="140px">
-                <el-date-picker v-model="calibrationRecord.nextCalibrationDate" disabled
-                                format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 90%"
-                                type="date" value-format="yyyy-MM-dd">
+                <el-date-picker
+                  v-model="calibrationRecord.nextCalibrationDate"
+                  disabled
+                  format="yyyy-MM-dd"
+                  placeholder="閫夋嫨鏃ユ湡"
+                  size="small"
+                  style="width: 90%"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                >
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="璁$畻鍣ㄥ叿:" prop="calculatingApparatus">
-                <el-input v-model="calibrationRecord.calculatingApparatus" :disabled="operationType === 'view'"
-                          size="small"></el-input>
+                <el-input
+                  v-model="calibrationRecord.calculatingApparatus"
+                  :disabled="operationType === 'view'"
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="璁$畻鏍囧噯閲忕▼:" prop="standardRange">
-                <el-input v-model="calibrationRecord.standardRange" :disabled="operationType === 'view'" size="small"
-                          style="width: 90%"></el-input>
+                <el-input
+                  v-model="calibrationRecord.standardRange"
+                  :disabled="operationType === 'view'"
+                  size="small"
+                  style="width: 90%"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="10">
-              <el-form-item label="璁¢噺鏍囧噯涓嶇‘瀹氬害:" label-width="140px" prop="calibrationStandardUncertainty">
-                <el-input v-model="calibrationRecord.calibrationStandardUncertainty" :disabled="operationType === 'view'" size="small"
-                          style="width: 90%"></el-input>
+              <el-form-item
+                label="璁¢噺鏍囧噯涓嶇‘瀹氬害:"
+                label-width="140px"
+                prop="calibrationStandardUncertainty"
+              >
+                <el-input
+                  v-model="calibrationRecord.calibrationStandardUncertainty"
+                  :disabled="operationType === 'view'"
+                  size="small"
+                  style="width: 90%"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="鎵�渚濇嵁鏂囦欢:" prop="byDocument">
-                <el-input v-model="calibrationRecord.byDocument" :disabled="operationType === 'view'"
-                          size="small"></el-input>
+                <el-input
+                  v-model="calibrationRecord.byDocument"
+                  :disabled="operationType === 'view'"
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="璇佷功缂栧彿:" prop="certificateSerialNumber">
-                <el-input v-model="calibrationRecord.certificateSerialNumber" :disabled="operationType === 'view'" size="small"
-                          style="width: 90%"></el-input>
+                <el-input
+                  v-model="calibrationRecord.certificateSerialNumber"
+                  :disabled="operationType === 'view'"
+                  size="small"
+                  style="width: 90%"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="10">
-              <el-form-item label="鐘舵��:" label-width="140px" prop="status" required>
-                <el-radio-group v-model="calibrationRecord.status" :disabled="operationType === 'view'">
+              <el-form-item
+                label="鐘舵��:"
+                label-width="140px"
+                prop="status"
+                required
+              >
+                <el-radio-group
+                  v-model="calibrationRecord.status"
+                  :disabled="operationType === 'view'"
+                >
                   <el-radio label="0yes">鍚堟牸</el-radio>
                   <el-radio label="1no">涓嶅悎鏍�</el-radio>
                   <el-radio label="2other">鍏朵粬</el-radio>
@@ -177,35 +368,68 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="纭鏃ユ湡:">
-                <el-date-picker v-model="calibrationRecord.confirmDate" :disabled="operationType === 'view'"
-                                format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 100%"
-                                type="datetime" value-format="yyyy-MM-dd HH:mm:ss">
+                <el-date-picker
+                  v-model="calibrationRecord.confirmDate"
+                  :disabled="operationType === 'view'"
+                  format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="閫夋嫨鏃ユ湡"
+                  size="small"
+                  style="width: 100%"
+                  type="datetime"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="17">
               <el-form-item label="闄勪欢锛�" prop="fileName">
-                <el-input v-model="calibrationRecord.fileName" :style="`width: ${operationType === 'add' ? '85%' : '100%'};}`" disabled
-                          size="small">
-                  <el-button v-if="operationType === 'add'" slot="append" icon="el-icon-delete-solid"
-                             @click="deleteFile"></el-button>
+                <el-input
+                  v-model="calibrationRecord.fileName"
+                  :style="
+                    `width: ${operationType === 'add' ? '85%' : '100%'};}`
+                  "
+                  disabled
+                  size="small"
+                >
+                  <el-button
+                    v-if="operationType === 'add'"
+                    slot="append"
+                    icon="el-icon-delete-solid"
+                    @click="deleteFile"
+                  ></el-button>
                 </el-input>
-                <el-upload v-if="operationType === 'add'" ref="upload" :action="action"
-                           :before-upload="beforeUpload"
-                           :headers="headers"
-                           :limit="1" :on-error="onError" :on-success="handleSuccessUp"
-                           :show-file-list="false"
-                           style="float: right;">
-                  <el-button :loading="upLoading" size="small" style="position: relative; top: -4px;"
-                             type="primary">闄勪欢涓婁紶
+                <el-upload
+                  v-if="operationType === 'add'"
+                  ref="upload"
+                  :action="action"
+                  :before-upload="beforeUpload"
+                  :headers="headers"
+                  :limit="1"
+                  :on-error="onError"
+                  :on-success="handleSuccessUp"
+                  :show-file-list="false"
+                  style="float: right;"
+                >
+                  <el-button
+                    :loading="upLoading"
+                    size="small"
+                    style="position: relative; top: -4px;"
+                    type="primary"
+                    >闄勪欢涓婁紶
                   </el-button>
                 </el-upload>
               </el-form-item>
             </el-col>
             <el-col :span="24">
               <el-form-item label="澶囨敞:">
-                <el-input v-model="calibrationRecord.remark" :disabled="operationType === 'view'" :rows="3" size="small" style="width: 96%"
-                          type="textarea"></el-input>
+                <el-input
+                  v-model="calibrationRecord.remark"
+                  :disabled="operationType === 'view'"
+                  :rows="3"
+                  size="small"
+                  style="width: 96%"
+                  type="textarea"
+                ></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -216,17 +440,36 @@
           </span>
         </h4>
         <el-table ref="calibrateTable" :data="calibrateParams" border>
-          <el-table-column label="缂栧彿" type="index" width="60"></el-table-column>
-          <el-table-column label="璁¢噺鍙傛暟" prop="measurementParameter"></el-table-column>
-          <el-table-column label="閲忕▼鑼冨洿" prop="rangeOfMeasurement"></el-table-column>
-          <el-table-column label="鏈�澶у厑璁歌宸�" prop="maxPermissibleError"></el-table-column>
-          <el-table-column label="鍒ゅ畾鏍囧噯" prop="judgmentCriteria"></el-table-column>
+          <el-table-column
+            label="缂栧彿"
+            type="index"
+            width="60"
+          ></el-table-column>
+          <el-table-column
+            label="璁¢噺鍙傛暟"
+            prop="measurementParameter"
+          ></el-table-column>
+          <el-table-column
+            label="閲忕▼鑼冨洿"
+            prop="rangeOfMeasurement"
+          ></el-table-column>
+          <el-table-column
+            label="鏈�澶у厑璁歌宸�"
+            prop="maxPermissibleError"
+          ></el-table-column>
+          <el-table-column
+            label="鍒ゅ畾鏍囧噯"
+            prop="judgmentCriteria"
+          ></el-table-column>
           <el-table-column label="鏄惁鏍″噯" prop="isCalibration">
             <template slot="header" slot-scope="scope">
               <span class="required-span">* </span>鏄惁鏍″噯
             </template>
             <template slot-scope="scope">
-              <el-radio-group v-model="scope.row.isCalibration" :disabled="operationType === 'view'">
+              <el-radio-group
+                v-model="scope.row.isCalibration"
+                :disabled="operationType === 'view'"
+              >
                 <el-radio label="0yes">鏄�</el-radio>
                 <el-radio label="1no">鍚�</el-radio>
               </el-radio-group>
@@ -237,7 +480,11 @@
               <span class="required-span">* </span>鍒ゅ畾缁撴灉
             </template>
             <template slot-scope="scope">
-              <el-radio-group v-model="scope.row.result" :disabled="operationType === 'view'" @input="checkRadio()">
+              <el-radio-group
+                v-model="scope.row.result"
+                :disabled="operationType === 'view'"
+                @input="checkRadio()"
+              >
                 <el-radio label="0yes">鍚堟牸</el-radio>
                 <el-radio label="1no">涓嶅悎鏍�</el-radio>
                 <el-radio label="2other">鍏朵粬</el-radio>
@@ -246,8 +493,11 @@
           </el-table-column>
           <el-table-column label="鍗曢」缁撴灉璇存槑" prop="singleResultStatement">
             <template slot-scope="scope">
-              <el-input v-model="scope.row.singleResultStatement" :disabled="operationType === 'view'"
-                        size="small"></el-input>
+              <el-input
+                v-model="scope.row.singleResultStatement"
+                :disabled="operationType === 'view'"
+                size="small"
+              ></el-input>
             </template>
           </el-table-column>
         </el-table>
@@ -267,16 +517,25 @@
         <!--        </el-table>-->
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button v-if="operationType === 'add'" @click="dialogVisible1 = false">鍙� 娑�</el-button>
-        <el-button v-if="operationType === 'add'" :loading="addRecordLoading" type="primary"
-                   @click="addRecord">纭� 瀹�</el-button>
+        <el-button
+          v-if="operationType === 'add'"
+          @click="dialogVisible1 = false"
+          >鍙� 娑�</el-button
+        >
+        <el-button
+          v-if="operationType === 'add'"
+          :loading="addRecordLoading"
+          type="primary"
+          @click="addRecord"
+          >纭� 瀹�</el-button
+        >
       </span>
     </el-dialog>
   </div>
 </template>
 
 <script>
-import file from '../../../util/file';
+import file from "../../../util/file";
 import fileDownload from "../../../util/file";
 
 export default {
@@ -295,348 +554,427 @@
       calibrateParamsLoading: false,
       addCalibrateLoading: false,
       calibrationRecord: {
-        unitOfMeasure: '', // 璁¢噺鍗曚綅
+        unitOfMeasure: "", // 璁¢噺鍗曚綅
         calibrationDate: null, // 鏍″噯鏃ユ湡
         nextCalibrationDate: null, // 涓嬫鏍″噯鏃ユ湡
-        calculatingApparatus: '', // 璁$畻鍣ㄥ叿
+        calculatingApparatus: "", // 璁$畻鍣ㄥ叿
         confirmDate: null, // 纭鏃ユ湡
-        standardRange: '', // 璁$畻鏍囧噯閲忕▼
-        calibrationStandardUncertainty: '', // 璁¢噺鏍囧噯涓嶇‘瀹氬害
-        byDocument: '', // 渚濇嵁鏂囦欢
-        certificateSerialNumber: '', // 璇佷功缂栧彿
-        status: '', // 鐘舵��
-        remark: '', // 澶囨敞
-        systemFileName: '', //
-        fileName: '', //
+        standardRange: "", // 璁$畻鏍囧噯閲忕▼
+        calibrationStandardUncertainty: "", // 璁¢噺鏍囧噯涓嶇‘瀹氬害
+        byDocument: "", // 渚濇嵁鏂囦欢
+        certificateSerialNumber: "", // 璇佷功缂栧彿
+        status: "", // 鐘舵��
+        remark: "", // 澶囨敞
+        systemFileName: "", //
+        fileName: "" //
       },
       formRules: {
-        unitOfMeasure: [{required: true, message: '璇疯緭鍏ユ牎鍑嗘湇鍔℃満鏋�', trigger: 'blur'}],
-        calibrationDate: [{required: true, message: '璇烽�夋嫨鏍″噯鏃ユ湡', trigger: 'change'}],
-        calculatingApparatus: [{required: true, message: '璇疯緭鍏ヨ绠楀櫒鍏�', trigger: 'blur'}],
-        standardRange: [{required: true, message: '璇疯緭鍏ヨ绠楁爣鍑嗛噺绋�', trigger: 'blur'}],
-        calibrationStandardUncertainty: [{required: true, message: '璇疯緭鍏ヨ閲忔爣鍑嗕笉纭畾搴�', trigger: 'blur'}],
-        byDocument: [{required: true, message: '璇疯緭鍏ユ墍渚濇嵁鏂囦欢', trigger: 'blur'}],
-        status: [{required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'change'}],
+        unitOfMeasure: [
+          { required: true, message: "璇疯緭鍏ユ牎鍑嗘湇鍔℃満鏋�", trigger: "blur" }
+        ],
+        calibrationDate: [
+          { required: true, message: "璇烽�夋嫨鏍″噯鏃ユ湡", trigger: "change" }
+        ],
+        calculatingApparatus: [
+          { required: true, message: "璇疯緭鍏ヨ绠楀櫒鍏�", trigger: "blur" }
+        ],
+        standardRange: [
+          { required: true, message: "璇疯緭鍏ヨ绠楁爣鍑嗛噺绋�", trigger: "blur" }
+        ],
+        calibrationStandardUncertainty: [
+          { required: true, message: "璇疯緭鍏ヨ閲忔爣鍑嗕笉纭畾搴�", trigger: "blur" }
+        ],
+        byDocument: [
+          { required: true, message: "璇疯緭鍏ユ墍渚濇嵁鏂囦欢", trigger: "blur" }
+        ],
+        status: [{ required: true, message: "璇烽�夋嫨鐘舵��", trigger: "change" }]
       },
       tableData: [],
       dialogVisible0: false,
       dialogVisible1: false,
       form0: {
-        measurementParameter: '', // 璁¢噺鍙傛暟
-        rangeOfMeasurement: '',
-        maxPermissibleError: '',
-        judgmentCriteria: '',
-        createdBy: '',
-        action: '',
+        measurementParameter: "", // 璁¢噺鍙傛暟
+        rangeOfMeasurement: "",
+        maxPermissibleError: "",
+        judgmentCriteria: "",
+        createdBy: "",
+        action: "",
         deviceId: null
       },
       form0Rules: {
         measurementParameter: [
-          {required: true, message: '璇疯緭鍏ヨ閲忓弬鏁�', trigger: 'blur'}
+          { required: true, message: "璇疯緭鍏ヨ閲忓弬鏁�", trigger: "blur" }
         ],
         rangeOfMeasurement: [
-          {required: true, message: '璇疯緭鍏ラ噺绋嬭寖鍥�', trigger: 'blur'}
+          { required: true, message: "璇疯緭鍏ラ噺绋嬭寖鍥�", trigger: "blur" }
         ],
         maxPermissibleError: [
-          {required: true, message: '璇疯緭鍏ユ渶澶у厑璁歌宸�', trigger: 'blur'}
+          { required: true, message: "璇疯緭鍏ユ渶澶у厑璁歌宸�", trigger: "blur" }
         ],
         judgmentCriteria: [
-          {required: true, message: '璇疯緭鍏ュ垽瀹氭爣鍑�', trigger: 'blur'}
-        ],
+          { required: true, message: "璇疯緭鍏ュ垽瀹氭爣鍑�", trigger: "blur" }
+        ]
       },
       addRecordLoading: false,
       tableDataOperate: [], // 鏈褰曠姸鎬佸拰鎿嶄綔鏃ュ織
       upLoading: false,
-      operationType: '',
+      operationType: "",
       search: {
         size: 20,
         current: 1,
         total: 0
-      },
-    }
+      }
+    };
   },
   // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
   computed: {
     headers() {
       return {
-        'token': sessionStorage.getItem('token')
-      }
+        token: sessionStorage.getItem("token")
+      };
     },
     action() {
-      return this.javaApi + this.$api.personnel.saveCNASFile
+      return this.javaApi + this.$api.personnel.saveCNASFile;
     }
   },
   mounted() {
     //鑾峰彇鎿嶄綔璁板綍淇℃伅
     this.getOperateMsg();
-    this.getTableList(this.clickNodeVal.value) // 鑾峰彇璁惧鏍″噯鍒楄〃鏁版嵁
+    this.getTableList(this.clickNodeVal.value); // 鑾峰彇璁惧鏍″噯鍒楄〃鏁版嵁
   },
   methods: {
     //鐘舵�佸垽瀹�
-    checkRadio(){
-      let resultList = this.calibrateParams.map(ele=>ele.result)
-      if(resultList && resultList.filter(ele=>ele=='1no').length>0){
-        this.calibrationRecord.status = '1no'
-      }else if(resultList && resultList.filter(ele=>ele=='2other').length==resultList.length){
-        this.calibrationRecord.status = '2other'
-      }else if(resultList && resultList.filter(ele=>ele=='0yes').length==resultList.length){
-        this.calibrationRecord.status = '0yes'
+    checkRadio() {
+      let resultList = this.calibrateParams.map(ele => ele.result);
+      if (resultList && resultList.filter(ele => ele == "1no").length > 0) {
+        this.calibrationRecord.status = "1no";
+      } else if (
+        resultList &&
+        resultList.filter(ele => ele == "2other").length == resultList.length
+      ) {
+        this.calibrationRecord.status = "2other";
+      } else if (
+        resultList &&
+        resultList.filter(ele => ele == "0yes").length == resultList.length
+      ) {
+        this.calibrationRecord.status = "0yes";
       }
     },
     getNextCalibrationDate(val) {
-      let oneYearLaterDate = new Date(val)
+      let oneYearLaterDate = new Date(val);
       oneYearLaterDate.setFullYear(oneYearLaterDate.getFullYear() + 1);
       oneYearLaterDate.setDate(oneYearLaterDate.getDate() - 1);
       // let obj = oneYearLaterDate.toISOString().split('T')[0];
-      this.calibrationRecord.nextCalibrationDate = oneYearLaterDate
+      this.calibrationRecord.nextCalibrationDate = oneYearLaterDate;
     },
     handleSizeChange(val) {
-      this.search.size = val
+      this.search.size = val;
       this.getTableList(this.clickNodeVal.value);
     },
     handleCurrentChange(val) {
-      this.search.current = val
+      this.search.current = val;
       this.getTableList(this.clickNodeVal.value);
     },
     getTableList(deviceId) {
-      this.$axios.get(this.$api.deviceCheck.deviceMetricRecordPage + '?deviceId=' + deviceId + "&size=" + this.search.size + "&current=" + this.search.current + "&type=calibrate").then(res => {
-        this.tableData = res.data.records
-        this.search.total = res.data.total
-      })
+      this.$axios
+        .get(
+          this.$api.deviceCheck.deviceMetricRecordPage +
+            "?deviceId=" +
+            deviceId +
+            "&size=" +
+            this.search.size +
+            "&current=" +
+            this.search.current +
+            "&type=calibrate"
+        )
+        .then(res => {
+          this.tableData = res.data.records;
+          this.search.total = res.data.total;
+        });
     },
     getOperateMsg() {
-      this.$axios.get(this.$api.deviceOperate.list + "/" + this.clickNodeVal.value).then(res => {
-        this.tableDataOperate = res.data
-      })
+      this.$axios
+        .get(this.$api.deviceOperate.list + "/" + this.clickNodeVal.value)
+        .then(res => {
+          this.tableDataOperate = res.data;
+        });
     },
     // 娣诲姞鏍告煡璁板綍
     add(type) {
-      this.operationType = type
-      this.dialogVisible1 = true
-      this.getXmsg()
+      this.operationType = type;
+      this.dialogVisible1 = true;
+      this.getXmsg();
     },
     // 鏌ョ湅璇︽儏
     handleViewClick(type, row) {
-      this.$axios.get(this.$api.deviceCheck.showDeviceMetricsCopy + "?id=" + row.id + "&type=calibrate").then(res => {
-        this.calibrateParams = res.data
-      })
-      this.calibrationRecord = {...row}
-      this.operationType = type
-      this.dialogVisible1 = true
+      this.$axios
+        .get(
+          this.$api.deviceCheck.showDeviceMetricsCopy +
+            "?id=" +
+            row.id +
+            "&type=calibrate"
+        )
+        .then(res => {
+          this.calibrateParams = res.data;
+        });
+      this.calibrationRecord = { ...row };
+      this.operationType = type;
+      this.dialogVisible1 = true;
     },
     // 琛ㄦ牸鍒犻櫎鎿嶄綔
     handleDeleteClick(row) {
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.$axios.delete(this.$api.deviceCheck.deleteDeviceMetricRecord + "?id=" + row.id).then(res => {
-          this.getTableList(this.clickNodeVal.value) // 鑾峰彇璁惧鏍″噯鍒楄〃鏁版嵁
-          this.$message.success('鍒犻櫎鎴愬姛锛�')
-        })
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '宸插彇娑堝垹闄�'
-        });
+      this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
       })
+        .then(() => {
+          this.$axios
+            .delete(
+              this.$api.deviceCheck.deleteDeviceMetricRecord + "?id=" + row.id
+            )
+            .then(res => {
+              this.getTableList(this.clickNodeVal.value); // 鑾峰彇璁惧鏍″噯鍒楄〃鏁版嵁
+              this.$message.success("鍒犻櫎鎴愬姛锛�");
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堝垹闄�"
+          });
+        });
     },
     handleAttachmentClick(row) {
-      let state = /\.(jpg|jpeg|png|gif)$/i.test(row.systemFileName)
+      let state = /\.(jpg|jpeg|png|gif)$/i.test(row.systemFileName);
       if (state) {
-        let url = this.javaApi + '/img/' + row.systemFileName;
-        fileDownload.downloadIamge(url, row.systemFileName)
+        let url = this.javaApi + "/img/" + row.systemFileName;
+        fileDownload.downloadIamge(url, row.systemFileName);
       } else {
-        const url = this.javaApi+'/word/'+ row.systemFileName
-        const link = document.createElement('a');
+        const url = this.javaApi + "/word/" + row.systemFileName;
+        const link = document.createElement("a");
         link.href = url;
         link.download = row.systemFileName;
         link.click();
-        this.$message.success('涓嬭浇鎴愬姛')
+        this.$message.success("涓嬭浇鎴愬姛");
       }
     },
     //瀵煎嚭
     handleDown() {
-      this.outLoading = true
-      this.$axios.get(this.$api.deviceCheck.deviceMetricRecordExport + '?deviceId=' + this.clickNodeVal.value + "&type=calibrate", {
-        responseType: "blob"
-      }).then(res => {
-        this.outLoading = false
-        const blob = new Blob([res], {type: 'application/octet-stream'});
-        //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
-        let reader = new FileReader();
-        reader.readAsText(blob, 'utf-8');
-        reader.onload = () => {
-          try {
-            let result = JSON.parse(reader.result);
-            if (result.message) {
-              this.$message.error(result.message);
-            } else {
-              const url = URL.createObjectURL(blob);
-              const link = document.createElement('a');
-              link.href = url;
-              link.download = '璁惧鏍″噯.xlsx';
-              link.click();
-              this.$message.success('瀵煎嚭鎴愬姛')
-            }
-          } catch (err) {
-            console.log(err);
-            const url = URL.createObjectURL(blob);
-            const link = document.createElement('a');
-            link.href = url;
-            link.download = '璁惧鏍″噯.xlsx';
-            link.click();
-            this.$message.success('瀵煎嚭鎴愬姛')
+      this.outLoading = true;
+      this.$axios
+        .get(
+          this.$api.deviceCheck.deviceMetricRecordExport +
+            "?deviceId=" +
+            this.clickNodeVal.value +
+            "&type=calibrate",
+          {
+            responseType: "blob"
           }
-        }
-      })
+        )
+        .then(res => {
+          this.outLoading = false;
+          const blob = new Blob([res], { type: "application/octet-stream" });
+          //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+          let reader = new FileReader();
+          reader.readAsText(blob, "utf-8");
+          reader.onload = () => {
+            try {
+              let result = JSON.parse(reader.result);
+              if (result.message) {
+                this.$message.error(result.message);
+              } else {
+                const url = URL.createObjectURL(blob);
+                const link = document.createElement("a");
+                link.href = url;
+                link.download = "璁惧鏍″噯.xlsx";
+                link.click();
+                this.$message.success("瀵煎嚭鎴愬姛");
+              }
+            } catch (err) {
+              console.log(err);
+              const url = URL.createObjectURL(blob);
+              const link = document.createElement("a");
+              link.href = url;
+              link.download = "璁惧鏍″噯.xlsx";
+              link.click();
+              this.$message.success("瀵煎嚭鎴愬姛");
+            }
+          };
+        });
     },
     deleteFile() {
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎鏂囦欢, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.$axios.delete(this.$api.personnel.deleteCNASFile + "?fileName=" + this.calibrationRecord.systemFileName).then(res => {
-          this.calibrationRecord.fileName = ''
-          this.$refs.upload.clearFiles()
-          if (res.code == 200) {
-            this.$message.success('鍒犻櫎鎴愬姛锛�')
-          }
+      this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎鏂囦欢, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          this.$axios
+            .delete(
+              this.$api.personnel.deleteCNASFile +
+                "?fileName=" +
+                this.calibrationRecord.systemFileName
+            )
+            .then(res => {
+              this.calibrationRecord.fileName = "";
+              this.$refs.upload.clearFiles();
+              if (res.code == 200) {
+                this.$message.success("鍒犻櫎鎴愬姛锛�");
+              }
+            });
         })
-      }).catch((err) => {
-        console.log('err----', err)
-        this.$message({
-          type: 'info',
-          message: '宸插彇娑堝垹闄�'
+        .catch(err => {
+          console.log("err----", err);
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堝垹闄�"
+          });
         });
-      });
     },
     // 鏍″噯椤圭洰缁存姢
     calibrationMaintenance() {
-      this.dialogVisible0 = true
+      this.dialogVisible0 = true;
       this.getXmsg();
     },
     // 鑾峰彇璁惧鏍″噯鍙傛暟table淇℃伅
     async getXmsg() {
-      this.calibrateParamsLoading = true
+      this.calibrateParamsLoading = true;
       try {
-        await this.$axios.get(this.$api.deviceCheck.selectDeviceMetric + "?deviceId=" + this.clickNodeVal.value + "&type=calibrate").then(res => {
-          if (res.code == 200) {
-            this.calibrateParams = res.data
-          }
-          this.calibrateParamsLoading = false
-        })
+        await this.$axios
+          .get(
+            this.$api.deviceCheck.selectDeviceMetric +
+              "?deviceId=" +
+              this.clickNodeVal.value +
+              "&type=calibrate"
+          )
+          .then(res => {
+            if (res.code == 200) {
+              this.calibrateParams = res.data;
+            }
+            this.calibrateParamsLoading = false;
+          });
       } catch (e) {
-        console.log('getXmsg---', e)
-        this.calibrateParamsLoading = false
+        console.log("getXmsg---", e);
+        this.calibrateParamsLoading = false;
       }
     },
     // 鏍″噯椤圭洰缁存姢-鍒犻櫎璁惧鏍″噯鍙傛暟
     handleDelete(row) {
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.$axios.delete(this.$api.deviceCheck.deleteDeviceMetrics + '?id=' + row.id).then(res => {
-          if (res.code === 200) {
-            this.$message.success('鍒犻櫎鎴愬姛!');
-            this.getXmsg();
-          }
-        })
-      }).catch(() => {
-        this.$message.info('宸插彇娑堝垹闄�');
+      this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
       })
+        .then(() => {
+          this.$axios
+            .delete(this.$api.deviceCheck.deleteDeviceMetrics + "?id=" + row.id)
+            .then(res => {
+              if (res.code === 200) {
+                this.$message.success("鍒犻櫎鎴愬姛!");
+                this.getXmsg();
+              }
+            });
+        })
+        .catch(() => {
+          this.$message.info("宸插彇娑堝垹闄�");
+        });
     },
     addCalibrate() {
-      this.$refs['form0'].validate((valid) => {
+      this.$refs["form0"].validate(valid => {
         if (valid) {
           // 淇濆瓨
-          this.calibrateParamsLoading = true
-          this.addCalibrateLoading = true
+          this.calibrateParamsLoading = true;
+          this.addCalibrateLoading = true;
           this.form0.deviceId = this.clickNodeVal.value;
-          const user = JSON.parse(localStorage.getItem('user'))
+          const user = JSON.parse(localStorage.getItem("user"));
           this.form0.createdBy = user.name;
-          this.form0.type = 'calibrate'
-          this.$axios.post(this.$api.deviceCheck.saveOrUpdateDeviceMetric, this.form0, {
-            headers: {
-              'Content-Type': 'application/json'
-            }
-          }).then(res => {
-            if (res.code == 200) {
-              this.$message.success('淇濆瓨鎴愬姛')
-              this.$refs['form0'].resetFields()
-              this.getXmsg() // 鍒锋柊璁惧鏍″噯鍙傛暟琛ㄦ牸
-            }
-            this.calibrateParamsLoading = false
-            this.addCalibrateLoading = false
-          })
+          this.form0.type = "calibrate";
+          this.$axios
+            .post(this.$api.deviceCheck.saveOrUpdateDeviceMetric, this.form0, {
+              headers: {
+                "Content-Type": "application/json"
+              }
+            })
+            .then(res => {
+              if (res.code == 200) {
+                this.$message.success("淇濆瓨鎴愬姛");
+                this.$refs["form0"].resetFields();
+                this.getXmsg(); // 鍒锋柊璁惧鏍″噯鍙傛暟琛ㄦ牸
+              }
+              this.calibrateParamsLoading = false;
+              this.addCalibrateLoading = false;
+            });
         } else {
-          this.addCalibrateLoading = false
-          this.$message.warning('鏈夊繀濉」鏈~');
+          this.addCalibrateLoading = false;
+          this.$message.warning("鏈夊繀濉」鏈~");
         }
-      })
+      });
     },
     addRecord() {
-      this.$refs['calibrationRecord'].validate((valid) => {
+      this.$refs["calibrationRecord"].validate(valid => {
         if (valid) {
           try {
             if (this.calibrateParams.some(m => m.isCalibration === undefined)) {
-              this.$message.error('璇烽�夋嫨鏄惁鏍″噯')
-              return
+              this.$message.error("璇烽�夋嫨鏄惁鏍″噯");
+              return;
             }
             if (!this.calibrateParams.every(m => m.result !== undefined)) {
-              this.$message.error('璇烽�夋嫨鍒ゅ畾缁撴灉')
-              return
+              this.$message.error("璇烽�夋嫨鍒ゅ畾缁撴灉");
+              return;
             }
-            this.addRecordLoading = true
+            this.addRecordLoading = true;
             this.calibrationRecord.deviceId = this.clickNodeVal.value;
-            let user = JSON.parse(localStorage.getItem('user'))
-            this.calibrationRecord.createUser = user.name
-            this.calibrationRecord.type = 'calibrate'
-            this.calibrationRecord.deviceMetricsCopyList = this.calibrateParams
-            this.$axios.post(this.$api.deviceCheck.addOrUpdateDeviceMetricRecord, this.calibrationRecord, {
-              headers: {
-                'Content-Type': 'application/json'
-              }
-            }).then(res => {
-              if (res.code == 200) {
-                this.$message.success('娣诲姞鎴愬姛')
-                this.dialogVisible1 = false
-                this.getTableList(this.clickNodeVal.value)
-              }
-              this.addRecordLoading = false
-            })
+            let user = JSON.parse(localStorage.getItem("user"));
+            this.calibrationRecord.createUser = user.name;
+            this.calibrationRecord.type = "calibrate";
+            this.calibrationRecord.deviceMetricsCopyList = this.calibrateParams;
+            this.$axios
+              .post(
+                this.$api.deviceCheck.addOrUpdateDeviceMetricRecord,
+                this.calibrationRecord,
+                {
+                  headers: {
+                    "Content-Type": "application/json"
+                  }
+                }
+              )
+              .then(res => {
+                if (res.code == 200) {
+                  this.$message.success("娣诲姞鎴愬姛");
+                  this.dialogVisible1 = false;
+                  this.getTableList(this.clickNodeVal.value);
+                }
+                this.addRecordLoading = false;
+              });
           } catch (e) {
-            console.log('addRecord---', e)
-            this.addRecordLoading = false
+            console.log("addRecord---", e);
+            this.addRecordLoading = false;
           }
         } else {
-          this.$message.warning('鏈夊繀濉」鏈~');
+          this.$message.warning("鏈夊繀濉」鏈~");
         }
-      })
+      });
     },
     resetCalibrationRecord() {
-      this.$refs.calibrationRecord.resetFields()
+      this.$refs.calibrationRecord.resetFields();
     },
     // 涓婁紶闄勪欢
     handleSuccessUp(response, file) {
       if (response.code == 200) {
         // 鍦ㄤ繚瀛樿祴鍊兼柊鏂囦欢
-        this.calibrationRecord.fileName = file.name
-        this.calibrationRecord.systemFileName = response.data
+        this.calibrationRecord.fileName = file.name;
+        this.calibrationRecord.systemFileName = response.data;
         this.upLoading = false;
       } else {
         this.upLoading = false;
-        this.$message.error(response.message)
+        this.$message.error(response.message);
       }
     },
     beforeUpload(file) {
       if (file.size > 1024 * 1024 * 10) {
-        this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
-        this.$refs.upload.clearFiles()
+        this.$message.error("涓婁紶鏂囦欢涓嶈秴杩�10M");
+        this.$refs.upload.clearFiles();
         return false;
       } else {
         this.upLoading = true;
@@ -644,9 +982,9 @@
       }
     },
     onError(err, file, fileList) {
-      this.$message.error('涓婁紶澶辫触')
-      this.$refs.upload.clearFiles()
-    },
+      this.$message.error("涓婁紶澶辫触");
+      this.$refs.upload.clearFiles();
+    }
     // end
   },
   watch: {
@@ -658,34 +996,33 @@
     },
     dialogVisible1(newVal) {
       if (newVal === false) {
-        this.calibrateParams = []
+        this.calibrateParams = [];
         this.calibrationRecord = {
-          unitOfMeasure: '', // 璁¢噺鍗曚綅
+          unitOfMeasure: "", // 璁¢噺鍗曚綅
           calibrationDate: null, // 鏍″噯鏃ユ湡
           nextCalibrationDate: null, // 涓嬫鏍″噯鏃ユ湡
-          calculatingApparatus: '', // 璁$畻鍣ㄥ叿
-          standardRange: '', // 璁$畻鏍囧噯閲忕▼
-          calibrationStandardUncertainty: '', // 璁¢噺鏍囧噯涓嶇‘瀹氬害
-          byDocument: '', // 渚濇嵁鏂囦欢
-          certificateSerialNumber: '', // 璇佷功缂栧彿
-          status: '', // 鐘舵��
-          remark: '', // 澶囨敞
-        }
+          calculatingApparatus: "", // 璁$畻鍣ㄥ叿
+          standardRange: "", // 璁$畻鏍囧噯閲忕▼
+          calibrationStandardUncertainty: "", // 璁¢噺鏍囧噯涓嶇‘瀹氬害
+          byDocument: "", // 渚濇嵁鏂囦欢
+          certificateSerialNumber: "", // 璇佷功缂栧彿
+          status: "", // 鐘舵��
+          remark: "" // 澶囨敞
+        };
       }
     }
   }
-}
+};
 
 function downloadImage(url) {
-  const link = document.createElement('a');
+  const link = document.createElement("a");
   link.href = url;
-  link.target="_blank"
-  link.download = 'attachment.jpg'; // 鏂囦欢鍚�
+  link.target = "_blank";
+  link.download = "attachment.jpg"; // 鏂囦欢鍚�
   document.body.appendChild(link);
   link.click();
   document.body.removeChild(link);
 }
-
 </script>
 <style scoped>
 .tables {
@@ -735,7 +1072,7 @@
   display: inline-block;
   width: 3px;
   height: 16px;
-  background: #3A7BFA;
+  background: #3a7bfa;
   margin-right: 4px;
 }
 
@@ -772,7 +1109,3 @@
   background-color: #f5f5f5;
 }
 </style>
-
-
-
-
diff --git a/src/components/do/a6-device/files.vue b/src/components/do/a6-device/files.vue
index bd95c1b..3cd3a43 100644
--- a/src/components/do/a6-device/files.vue
+++ b/src/components/do/a6-device/files.vue
@@ -5,13 +5,21 @@
       <h4><span class="line"></span><span>璁惧妗f</span></h4>
       <div class="btns">
         <el-button type="primary" size="small" @click="openEditForm"
-          style="">淇妗f</el-button>
+          >淇妗f</el-button
+        >
         <el-button type="primary" size="small" @click="dialogVisible1 = true"
-          style="">娣诲姞闄勪欢</el-button>
-        <el-button type="primary" v-if="isPermission('showDeviceQrCodeButton')" size="small" @click="deviceDialog = true"
-          style="">鏌ョ湅璁惧浜岀淮鐮�</el-button>
+          >娣诲姞闄勪欢</el-button
+        >
+        <el-button
+          type="primary"
+          v-if="isPermission('showDeviceQrCodeButton')"
+          size="small"
+          @click="deviceDialog = true"
+          >鏌ョ湅璁惧浜岀淮鐮�</el-button
+        >
         <el-button type="primary" size="small" @click="handleDownOne"
-          style="">瀵煎嚭</el-button>
+          >瀵煎嚭</el-button
+        >
       </div>
     </div>
     <el-divider></el-divider>
@@ -19,8 +27,12 @@
       <el-row :gutter="20">
         <el-col :span="6">
           <!-- 鍔犳椂闂存埑閬垮厤娴忚鍣ㄧ紦瀛橀棶棰� -->
-          <el-image :src="`${javaApi}/img/${Mdata.imageUpload}`" fit="fill" :key="'personalPicture' + timeStamp"
-            style="width: 200px;height: 300px;border: 1px solid #000;border-radius: 10px;margin-left: 30px;margin-top: 20px;">
+          <el-image
+            :src="`${javaApi}/img/${Mdata.imageUpload}`"
+            fit="fill"
+            :key="'personalPicture' + timeStamp"
+            style="width: 200px;height: 300px;border: 1px solid #000;border-radius: 10px;margin-left: 30px;margin-top: 20px;"
+          >
             <div slot="error" class="image-slot">
               <i class="el-icon-picture-outline" style="font-size: 40px;"></i>
             </div>
@@ -30,11 +42,8 @@
           <div class="form-item">
             <label>璁惧鍚嶇О</label>
             <!-- <p>{{ Mdata.deviceName }}</p> -->
-            <el-tooltip
-              class="item"
-              :content="Mdata.deviceName"
-            >
-              <span class="text-ellipsis" >{{ Mdata.deviceName }}</span>
+            <el-tooltip class="item" :content="Mdata.deviceName">
+              <span class="text-ellipsis">{{ Mdata.deviceName }}</span>
             </el-tooltip>
           </div>
           <div class="form-item">
@@ -53,16 +62,13 @@
           <div class="form-item">
             <label>鐢熶骇鍘傚</label>
             <!-- <p>{{ Mdata.manufacturer }}</p> -->
-            <el-tooltip
-              class="item"
-              :content="Mdata.manufacturer"
-            >
-              <span class="text-ellipsis" >{{ Mdata.manufacturer }}</span>
+            <el-tooltip class="item" :content="Mdata.manufacturer">
+              <span class="text-ellipsis">{{ Mdata.manufacturer }}</span>
             </el-tooltip>
           </div>
           <div class="form-item">
             <label>璧勪骇缂栫爜</label>
-              <p class="text-ellipsis">{{ Mdata.assetCode }}</p>
+            <p class="text-ellipsis">{{ Mdata.assetCode }}</p>
           </div>
 
           <div class="form-item">
@@ -70,7 +76,7 @@
             <p>{{ Mdata.acquisitionDate | formaterDateTime }}</p>
           </div>
           <div class="form-item">
-            <label>鍚敤鏃ユ湡</label>
+            <label>鏍″噯鏈夋晥鏈�</label>
             <p>{{ Mdata.activationDate | formaterDateTime }}</p>
           </div>
           <div class="form-item">
@@ -84,10 +90,7 @@
           </div>
           <div class="form-item">
             <label>鍑嗙‘搴﹂噺鍊�</label>
-            <el-tooltip
-              class="item"
-              :content="Mdata.technicalIndicators"
-            >
+            <el-tooltip class="item" :content="Mdata.technicalIndicators">
               <span class="text-ellipsis">{{ Mdata.technicalIndicators }}</span>
             </el-tooltip>
             <!-- <p>{{ Mdata.technicalIndicators }}</p> -->
@@ -100,7 +103,6 @@
             <label>琚巿鏉冧汉</label>
             <p>{{ Mdata.authorizedPersonName }}</p>
           </div>
-
         </el-col>
         <el-col :span="10">
           <div class="form-item">
@@ -116,13 +118,24 @@
             <p>{{ Mdata.factoryNo }}</p>
           </div>
           <div class="form-items">
-              <label>璁惧鐘舵��</label>
-              <el-radio-group v-model="Mdata.deviceStatus" style="margin-left: 10px;">
-              <el-radio :label="0"  :disabled="Mdata.deviceStatus != 0">姝e父</el-radio>
-              <el-radio :label="1"  :disabled="Mdata.deviceStatus != 1">缁翠慨</el-radio>
-              <el-radio :label="2"  :disabled="Mdata.deviceStatus != 2">鍋滅敤</el-radio>
-              <el-radio :label="3"  :disabled="Mdata.deviceStatus != 3">鎶ュ簾</el-radio>
-             </el-radio-group>
+            <label>璁惧鐘舵��</label>
+            <el-radio-group
+              v-model="Mdata.deviceStatus"
+              style="margin-left: 10px;"
+            >
+              <el-radio :label="0" :disabled="Mdata.deviceStatus != 0"
+                >姝e父</el-radio
+              >
+              <el-radio :label="1" :disabled="Mdata.deviceStatus != 1"
+                >缁翠慨</el-radio
+              >
+              <el-radio :label="2" :disabled="Mdata.deviceStatus != 2"
+                >鍋滅敤</el-radio
+              >
+              <el-radio :label="3" :disabled="Mdata.deviceStatus != 3"
+                >鎶ュ簾</el-radio
+              >
+            </el-radio-group>
           </div>
           <div class="form-item">
             <label>瀛樻斁鐐�</label>
@@ -140,7 +153,7 @@
               :content="Mdata.insProductItem"
               placement="top"
             >
-              <span class="text-ellipsis" >{{ Mdata.insProductItem }}</span>
+              <span class="text-ellipsis">{{ Mdata.insProductItem }}</span>
             </el-tooltip>
           </div>
           <div class="form-item">
@@ -149,16 +162,16 @@
           </div>
 
           <div class="form-item">
-            <label>鏈�杩戞函婧愭棩鏈�</label>
+            <label>鏈�杩戞牎鍑嗘棩鏈�</label>
             <p>{{ Mdata.lastCalibrationDate | formaterDateTime }}</p>
+          </div>
+          <div class="form-item">
+            <label>涓嬫鏍″噯鏃ユ湡</label>
+            <p>{{ Mdata.nextCalibrationDate | formaterDateTime }}</p>
           </div>
           <div class="form-item">
             <label>閲囪喘璐圭敤(鍏�)</label>
             <p>{{ Mdata.unitPrice }}</p>
-          </div>
-          <div class="form-item">
-            <label>鍋滅敤鏃堕棿</label>
-            <p>{{ Mdata.nextCalibrationDate | formaterDateTime }}</p>
           </div>
           <div class="form-item">
             <label>璁惧璐熻矗浜�</label>
@@ -174,12 +187,27 @@
           </div>
         </el-col>
       </el-row>
-      <h4 style="margin-bottom: 10px;margin-top: 10px;"><span class="line"></span><span>闄勪欢鍜岀浉鍏虫枃妗�</span></h4>
+      <h4 style="margin-bottom: 10px;margin-top: 10px;">
+        <span class="line"></span><span>闄勪欢鍜岀浉鍏虫枃妗�</span>
+      </h4>
       <el-table height="200px" :data="tableDataA">
-        <el-table-column header-align="center" align="center" prop="prop" label="搴忓彿" type="index" width="60" />
+        <el-table-column
+          header-align="center"
+          align="center"
+          prop="prop"
+          label="搴忓彿"
+          type="index"
+          width="60"
+        />
         <el-table-column prop="documentType" label="绫诲瀷" min-width="100">
           <template v-slot="scope">
-            {{ scope.row.documentType === '0' ? '闄勪欢' : scope.row.documentType === '1' ? '鏂囨。' : '' }}
+            {{
+              scope.row.documentType === "0"
+                ? "闄勪欢"
+                : scope.row.documentType === "1"
+                ? "鏂囨。"
+                : ""
+            }}
           </template>
         </el-table-column>
         <el-table-column prop="name" label="鍚嶇О" min-width="150" />
@@ -192,55 +220,110 @@
         <el-table-column prop="comments" label="澶囨敞" min-width="150" />
         <el-table-column fixed="right" label="鎿嶄綔" min-width="180">
           <template slot-scope="scope">
-            <el-button type="text" size="small" @click="handleAttachmentClick(scope.row)">涓嬭浇闄勪欢</el-button>
-            <el-button type="text" size="small" @click="handleViewClick(scope.row)">鏌ョ湅</el-button>
-            <el-button type="text" size="small" @click="handleDeleteClick(scope.row)">鍒犻櫎</el-button>
+            <el-button
+              type="text"
+              size="small"
+              @click="handleAttachmentClick(scope.row)"
+              >涓嬭浇闄勪欢</el-button
+            >
+            <el-button
+              type="text"
+              size="small"
+              @click="handleViewClick(scope.row)"
+              >鏌ョ湅</el-button
+            >
+            <el-button
+              type="text"
+              size="small"
+              @click="handleDeleteClick(scope.row)"
+              >鍒犻櫎</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
     </div>
     <!-- 淇 -->
-    <el-dialog title="淇妗f" top="5vh" :visible.sync="dialogVisible" width="70%" @open="openFileRevisionDialog"
-      :before-close="handleClose">
-      <el-row style="display:flex;justify-content: space-around;">
+    <el-dialog
+      title="妗f淇"
+      top="5vh"
+      :visible.sync="dialogVisible"
+      width="70%"
+      @open="openFileRevisionDialog"
+      :before-close="handleClose"
+    >
+      <el-row
+        style="display:flex;justify-content: space-around;max-height: 75vh;overflow-y: auto;"
+      >
         <!-- 宸﹁竟甯冨眬 -->
         <el-col :span="7">
           <el-col>
             <!-- 鍥剧墖 -->
-            <el-image class="img" style="width:100%;height: 320px;margin-bottom:16px"
-              :src="javaApi + '/img/' + editData.imageUpload">
-              <div slot="error" class="image-error" style="width: calc(100% -2px);
+            <el-image
+              class="img"
+              style="width:100%;height: 320px;margin-bottom:16px"
+              :src="javaApi + '/img/' + editData.imageUpload"
+            >
+              <div
+                slot="error"
+                class="image-error"
+                style="width: calc(100% - 2px);
             height: 318px;
             border-radius: 16px;
             display: flex;
             align-items: center;
             justify-content: center;
-            border: 1px solid #EEEEEE;">
-                <i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i>
+            border: 1px solid #EEEEEE;"
+              >
+                <i
+                  class="el-icon-picture-outline"
+                  style="font-size:60px;color:#666666;"
+                ></i>
               </div>
             </el-image>
             <!-- 琛ㄥ崟 -->
-            <el-form :model="editData" label-width="120px" ref="rules1" :rules="rules1">
+            <el-form
+              :model="editData"
+              label-width="120px"
+              ref="rules1"
+              :rules="rules1"
+            >
               <el-form-item label="浠櫒鍚嶇О:" prop="deviceName">
                 <el-input v-model="editData.deviceName" size="small"></el-input>
               </el-form-item>
               <el-form-item label="浠櫒鍚嶇ОEN:" prop="enDeviceName">
-                <el-input v-model="editData.enDeviceName" size="small"></el-input>
+                <el-input
+                  v-model="editData.enDeviceName"
+                  size="small"
+                ></el-input>
               </el-form-item>
               <el-form-item label="瑙勬牸鍨嬪彿:" prop="specificationModel">
-                <el-input v-model="editData.specificationModel" size="small"></el-input>
+                <el-input
+                  v-model="editData.specificationModel"
+                  size="small"
+                ></el-input>
               </el-form-item>
               <el-form-item label="鐢熶骇鍘傚:">
-                <el-input v-model="editData.manufacturer" size="small"></el-input>
+                <el-input
+                  v-model="editData.manufacturer"
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-form>
           </el-col>
         </el-col>
         <!-- 涓棿甯冨眬 -->
         <el-col :span="7">
-          <el-form :model="editData" label-width="116px" ref="rules2" :rules="rules1">
+          <el-form
+            :model="editData"
+            label-width="116px"
+            ref="rules2"
+            :rules="rules1"
+          >
             <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
-              <el-input v-model="editData.calibrationServices" disabled size="small"></el-input>
+              <el-input
+                v-model="editData.calibrationServices"
+                size="small"
+              ></el-input>
             </el-form-item>
             <el-form-item label="璧勪骇缂栫爜:">
               <el-input v-model="editData.assetCode" size="small"></el-input>
@@ -252,21 +335,48 @@
               <el-input v-model="editData.factoryNo" size="small"></el-input>
             </el-form-item>
             <el-form-item label="绠$悊缂栧彿:" prop="managementNumber">
-              <el-input v-model="editData.managementNumber" size="small"></el-input>
+              <el-input
+                v-model="editData.managementNumber"
+                size="small"
+              ></el-input>
             </el-form-item>
             <el-form-item label="璐疆鏃ユ湡:">
-              <el-date-picker style="width:100%" v-model="editData.acquisitionDate" type="date" format="yyyy-MM-dd"
-                value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+              <el-date-picker
+                style="width:100%"
+                v-model="editData.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="鍚敤鏃ユ湡:" prop="activationDate">
-              <el-date-picker style="width:100%" v-model="editData.activationDate" type="date" format="yyyy-MM-dd"
-                value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+            <el-form-item label="鏍″噯鏈夋晥鏈�:" prop="activationDate">
+              <el-date-picker
+                style="width:100%"
+                v-model="editData.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="editData.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-                <el-option v-for="item in responsiblePersonList" :key="item.name" :label="item.name" :value="item.id">
+              <el-select
+                v-model="editData.equipmentManager"
+                placeholder="璇烽�夋嫨"
+                size="small"
+                style="width:100%"
+              >
+                <el-option
+                  v-for="item in responsiblePersonList"
+                  :key="item.name"
+                  :label="item.name"
+                  :value="item.id"
+                >
                 </el-option>
               </el-select>
             </el-form-item>
@@ -274,39 +384,92 @@
               <el-input v-model="editData.storagePoint" size="small"></el-input>
             </el-form-item>
             <el-form-item label="鎶�鏈寚鏍�:">
-              <el-input v-model="editData.technicalIndicators" :rows="7" type="textarea" size="small"></el-input>
+              <el-input
+                v-model="editData.technicalIndicators"
+                :rows="7"
+                type="textarea"
+                size="small"
+              ></el-input>
             </el-form-item>
           </el-form>
         </el-col>
         <!-- 鍙宠竟甯冨眬 -->
         <el-col :span="7">
-          <el-form :model="editData" label-width="140px" ref="ruleForm" :rules="rules1">
+          <el-form
+            :model="editData"
+            label-width="140px"
+            ref="ruleForm"
+            :rules="rules1"
+          >
             <!-- 瀹為獙瀹ゅ垪琛� -->
             <el-form-item label="鎵�灞為儴闂�:">
-              <el-select v-model="editData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-                <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
-                  :value="item.value">
+              <el-select
+                v-model="editData.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="editData.insProductIds" :options="options" :show-all-levels="false" :props="props"
-                placeholder="璇烽�夋嫨" size="small" style="width:100%;" :collapse-tags="true" separator="," filterable
-                clearable></el-cascader>
+              <el-cascader
+                v-model="editData.insProductIds"
+                :options="options"
+                :show-all-levels="false"
+                :props="props"
+                placeholder="璇烽�夋嫨"
+                size="small"
+                style="width:100%;"
+                :collapse-tags="true"
+                separator=","
+                filterable
+                clearable
+              ></el-cascader>
             </el-form-item>
-            <!-- <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
-              <el-date-picker style="width:100%" v-model="Mdata.latestTraceability" format="yyyy-MM-dd"
-                value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
+            <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
+              <el-date-picker
+                style="width:100%"
+                v-model="editData.lastCalibrationDate"
+                format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="date"
+                size="small"
+                placeholder="閫夋嫨鏃ユ湡"
+              >
               </el-date-picker>
-            </el-form-item> -->
-            <!-- <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
-              <el-date-picker style="width:100%" v-model="Mdata.nextCalibrationDate" format="yyyy-MM-dd"
-                value-format="yyyy-MM-dd HH:mm:ss" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
+            </el-form-item>
+            <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
+              <el-date-picker
+                style="width:100%"
+                v-model="editData.nextCalibrationDate"
+                format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="date"
+                size="small"
+                placeholder="閫夋嫨鏃ユ湡"
+              >
               </el-date-picker>
-            </el-form-item> -->
+            </el-form-item>
             <el-form-item label="璁惧绫诲瀷:">
-              <el-select v-model="editData.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-                <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value">
+              <el-select
+                v-model="editData.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>
@@ -314,17 +477,41 @@
               <el-input v-model="editData.unitPrice" size="small"></el-input>
             </el-form-item>
             <el-form-item label="褰撳墠鐘舵��:" prop="deviceStatus">
-              <el-select v-model="editData.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-                <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
+              <el-select
+                v-model="editData.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="鏍″噯鍛ㄦ湡锛堟湀锛�:" prop="calibrationDate">
-              <el-input v-model="editData.calibrationDate" size="small"></el-input>
+              <el-input
+                v-model="editData.calibrationDate"
+                size="small"
+              ></el-input>
             </el-form-item>
             <el-form-item label="琚巿鏉冧汉:">
-              <el-select v-model="editData.authorizedPerson" multiple  placeholder="璇烽�夋嫨" size="small" style="width:100%">
-                <el-option v-for="item in responsiblePersonList" :key="item.name" :label="item.name" :value="item.id">
+              <el-select
+                v-model="editData.authorizedPerson"
+                multiple
+                placeholder="璇烽�夋嫨"
+                size="small"
+                style="width:100%"
+              >
+                <el-option
+                  v-for="item in responsiblePersonList"
+                  :key="item.name"
+                  :label="item.name"
+                  :value="item.id"
+                >
                 </el-option>
               </el-select>
             </el-form-item>
@@ -340,12 +527,25 @@
               </div> -->
 
               <div>
-                <div v-show="editData.imageName" class="picName">{{ editData.imageName }}</div>
-                <el-upload :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' class="avatar-uploader"
-                  >
-                  <img v-if="editData.imageUpload" :src="javaApi + '/img/' + editData.imageUpload" class="avatar">
+                <div v-show="editData.imageName" class="picName">
+                  {{ editData.imageName }}
+                </div>
+                <el-upload
+                  :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"
+                  class="avatar-uploader"
+                >
+                  <img
+                    v-if="editData.imageUpload"
+                    :src="javaApi + '/img/' + editData.imageUpload"
+                    class="avatar"
+                  />
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </div>
@@ -356,11 +556,19 @@
       <span slot="footer" class="dialog-footer">
         <el-row>
           <el-button @click="handleClose">鍙� 娑�</el-button>
-          <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
+          <el-button type="primary" @click="submitForm" :loading="upLoad"
+            >纭� 瀹�</el-button
+          >
         </el-row>
       </span>
     </el-dialog>
-    <el-dialog title="娣诲姞璁惧闄勪欢" top="5vh" v-if="dialogVisible1" :visible.sync="dialogVisible1" width="40%">
+    <el-dialog
+      title="娣诲姞璁惧闄勪欢"
+      top="5vh"
+      v-if="dialogVisible1"
+      :visible.sync="dialogVisible1"
+      width="40%"
+    >
       <el-form ref="form" :model="addFile" label-width="120px">
         <el-row :gutter="20">
           <el-col :span="12">
@@ -373,52 +581,107 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="妗f鍚嶇О锛�">
-              <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addFile.name"></el-input>
+              <el-input
+                size="small"
+                placeholder="璇疯緭鍏�"
+                clearable
+                v-model="addFile.name"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="搴撳彿/璧勪骇缂栧彿:">
-              <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addFile.number"></el-input>
+              <el-input
+                size="small"
+                placeholder="璇疯緭鍏�"
+                clearable
+                v-model="addFile.number"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鐗堟湰锛�">
-              <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addFile.version"></el-input>
+              <el-input
+                size="small"
+                placeholder="璇疯緭鍏�"
+                clearable
+                v-model="addFile.version"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="浠芥暟锛�">
-              <el-input-number v-model="addFile.quantity" controls-position="right" style="width: 100%;" size="small"
-                :min="0" :max="10"></el-input-number>
+              <el-input-number
+                v-model="addFile.quantity"
+                controls-position="right"
+                style="width: 100%;"
+                size="small"
+                :min="0"
+                :max="10"
+              ></el-input-number>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="椤电爜锛�">
-              <el-input-number v-model="addFile.pageCount" controls-position="right" style="width: 100%;" size="small"
-                :min="0" :max="10"></el-input-number>
+              <el-input-number
+                v-model="addFile.pageCount"
+                controls-position="right"
+                style="width: 100%;"
+                size="small"
+                :min="0"
+                :max="10"
+              ></el-input-number>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鎻愪緵鑰咃細">
-              <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addFile.provider"></el-input>
+              <el-input
+                size="small"
+                placeholder="璇疯緭鍏�"
+                clearable
+                v-model="addFile.provider"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="褰掓。鏃ユ湡锛�">
-              <el-date-picker type="date" style="width:100%" placeholder="璇烽�夋嫨鏃ユ湡" size="small" v-model="addFile.archiveDate"
-                format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+              <el-date-picker
+                type="date"
+                style="width:100%"
+                placeholder="璇烽�夋嫨鏃ユ湡"
+                size="small"
+                v-model="addFile.archiveDate"
+                format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd HH:mm:ss"
+              ></el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="澶囨敞锛�">
-              <el-input type="textarea" :rows="2" size="small" v-model="addFile.comments"></el-input>
+              <el-input
+                type="textarea"
+                :rows="2"
+                size="small"
+                v-model="addFile.comments"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="闄勪欢锛�" style="float: left;">
-              <el-upload class="upload-demo" :action="action" :headers="headers" ref="uploadFile" :on-error="onError"
-                :on-remove="handleRemove" :on-success="onSuccess" :before-remove="beforeRemove" multiple :limit="1"
-                :on-exceed="handleExceed" :file-list="fileList">
+              <el-upload
+                class="upload-demo"
+                :action="action"
+                :headers="headers"
+                ref="uploadFile"
+                :on-error="onError"
+                :on-remove="handleRemove"
+                :on-success="onSuccess"
+                :before-remove="beforeRemove"
+                multiple
+                :limit="1"
+                :on-exceed="handleExceed"
+                :file-list="fileList"
+              >
                 <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
               </el-upload>
             </el-form-item>
@@ -427,36 +690,56 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-row>
-          <el-button @click="dialogVisible1 = false" size="small">鍙� 娑�</el-button>
-          <el-button type="primary" @click="saveRecord" size="small" :loading="isLoading">{{ isAddFileUpdate == true ?
-            '鏇存柊' :
-            '纭� 瀹�' }}</el-button>
+          <el-button @click="dialogVisible1 = false" size="small"
+            >鍙� 娑�</el-button
+          >
+          <el-button
+            type="primary"
+            @click="saveRecord"
+            size="small"
+            :loading="isLoading"
+            >{{ isAddFileUpdate == true ? "鏇存柊" : "纭� 瀹�" }}</el-button
+          >
         </el-row>
       </span>
     </el-dialog>
     <el-dialog
       title="璁惧浜岀淮鐮�"
       :visible.sync="deviceDialog"
-       top="5vh"
-      width="30%">
+      top="5vh"
+      width="30%"
+    >
       <div style="width:90%;text-align: right;">
-        <el-button type="primary" size="mini" @click="clickGeneratePicture">涓嬭浇鍥剧墖</el-button>
-        <el-button type="primary" size="mini" @click="labelPrint">鏍囩鎵撳嵃</el-button>
+        <el-button type="primary" size="mini" @click="clickGeneratePicture"
+          >涓嬭浇鍥剧墖</el-button
+        >
+        <el-button type="primary" size="mini" @click="labelPrint"
+          >鏍囩鎵撳嵃</el-button
+        >
       </div>
       <div class="device-main" ref="deviceQrCode" id="deviceCode">
-        <div class="device-center" >
-          <p class="device-title">{{Mdata.deviceName}}</p>
+        <div class="device-center">
+          <p class="device-title">{{ Mdata.deviceName }}</p>
           <div class="device-footer">
             <div>
-                <vueQr class="qr-code" :text="'https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code='+Mdata.managementNumber+'&type=device'" :size="200" :margin="10"></vueQr>
+              <vueQr
+                class="qr-code"
+                :text="
+                  'https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=' +
+                    Mdata.managementNumber +
+                    '&type=device'
+                "
+                :size="200"
+                :margin="10"
+              ></vueQr>
             </div>
             <div class="device-number">
               <span class="device-text">璁惧缂栫爜:</span>
-              <span class="device-text">{{Mdata.managementNumber}}</span>
+              <span class="device-text">{{ Mdata.managementNumber }}</span>
             </div>
             <div class="device-name">
               <span class="device-text">璁惧鍨嬪彿:</span>
-              <span class="device-text">{{Mdata.specificationModel}}</span>
+              <span class="device-text">{{ Mdata.specificationModel }}</span>
             </div>
           </div>
         </div>
@@ -466,20 +749,20 @@
 </template>
 
 <script>
-import { MessageBox } from 'element-ui'
-import ValueTable from '../../tool/value-table.vue'
-import fileDownload from '../../../util/file'
-import vueQr from 'vue-qr'
-import PrintJS from 'print-js'
-import domtoimage from 'dom-to-image';
-import {isPermission} from '../../../util/auth'
+import { MessageBox } from "element-ui";
+import ValueTable from "../../tool/value-table.vue";
+import fileDownload from "../../../util/file";
+import vueQr from "vue-qr";
+import PrintJS from "print-js";
+import domtoimage from "dom-to-image";
+import { isPermission } from "../../../util/auth";
 export default {
-  filters:{
-    formaterDateTime(dateTime){
-      if(dateTime === undefined || dateTime === null || dateTime === ''){
-        return dateTime
+  filters: {
+    formaterDateTime(dateTime) {
+      if (dateTime === undefined || dateTime === null || dateTime === "") {
+        return dateTime;
       }
-      return dateTime.split(" ")[0]
+      return dateTime.split(" ")[0];
     }
   },
   props: {
@@ -496,40 +779,40 @@
   },
   data() {
     return {
-      isPermission:isPermission,
-      deviceDialog: false,//鏌ョ湅璁惧浜岀淮鐮佸脊妗�
+      isPermission: isPermission,
+      deviceDialog: false, //鏌ョ湅璁惧浜岀淮鐮佸脊妗�
       rules1: {
         deviceName: [
-            { required: true, message: '璇疯緭鍏ヤ华鍣ㄥ悕绉�', trigger: 'blur' },
-          ],
-          enDeviceName: [
-            { required: true, message: '璇疯緭鍏ヤ华鍣ㄥ悕绉癊N', trigger: 'blur' },
-          ],
-          specificationModel: [
-            { required: true, message: '璇疯緭鍏ヨ鏍煎瀷鍙�', trigger: 'blur' },
-          ],
-          managementNumber: [
-            { required: true, message: '璇疯緭鍏ョ鐞嗙紪鍙�', trigger: 'blur' },
-          ],
-          activationDate: [
-            { required: true, message: '璇疯緭鍏ュ惎鐢ㄦ棩鏈�', trigger: 'blur' },
-          ],
-          deviceStatus: [
-            { required: true, message: '璇疯緭鍏ュ綋鍓嶇姸鎬�', trigger: 'blur' },
-          ],
-          calibrationDate: [
-            { required: true, message: '璇疯緭鍏ユ牎鍑嗗懆鏈�(鏈�)', trigger: 'blur' },
-          ],
+          { required: true, message: "璇疯緭鍏ヤ华鍣ㄥ悕绉�", trigger: "blur" }
+        ],
+        enDeviceName: [
+          { required: true, message: "璇疯緭鍏ヤ华鍣ㄥ悕绉癊N", trigger: "blur" }
+        ],
+        specificationModel: [
+          { required: true, message: "璇疯緭鍏ヨ鏍煎瀷鍙�", trigger: "blur" }
+        ],
+        managementNumber: [
+          { required: true, message: "璇疯緭鍏ョ鐞嗙紪鍙�", trigger: "blur" }
+        ],
+        activationDate: [
+          { required: true, message: "璇疯緭鍏ユ牎鍑嗘湁鏁堟湡", trigger: "blur" }
+        ],
+        deviceStatus: [
+          { required: true, message: "璇疯緭鍏ュ綋鍓嶇姸鎬�", trigger: "blur" }
+        ],
+        calibrationDate: [
+          { required: true, message: "璇疯緭鍏ユ牎鍑嗗懆鏈�(鏈�)", trigger: "blur" }
+        ]
       },
       // dateForm: {
 
       // },
       fileList: [], // 娣诲姞闄勪欢涓婁紶鏂囦欢鍒楄〃
-      timeStamp: '', // 缁欏浘鐗囨坊鍔爇ey锛屽湪姣忔鍔犺浇椤甸潰鐨勬椂鍊欐柊寤烘椂闂存埑
+      timeStamp: "", // 缁欏浘鐗囨坊鍔爇ey锛屽湪姣忔鍔犺浇椤甸潰鐨勬椂鍊欐柊寤烘椂闂存埑
       equipmentManager: [],
-      formLabelWidth: '100px',
+      formLabelWidth: "100px",
       dialogVisible1: false,
-      recordNumber: '',
+      recordNumber: "",
       inLoading: false, // 鎺у埗涓婁紶鎸夐挳鍔犺浇鐘舵��
       isLoading: false, // 鎺у埗纭畾鎸夐挳鍔犺浇鐘舵��
       formData: {},
@@ -537,17 +820,17 @@
       num: 1,
       //娣诲姞闄勪欢鏁版嵁鏀堕泦
       addFile: {
-        documentType: '', // 缁存姢绫诲瀷
+        documentType: "", // 缁存姢绫诲瀷
         archiveDate: null, // 褰掓。鏃ユ湡
-        name: '', // 妗f鍚嶇О
-        number: '', // 搴撳彿/璧勪骇缂栧彿
-        version: '', // 鐗堟湰
+        name: "", // 妗f鍚嶇О
+        number: "", // 搴撳彿/璧勪骇缂栧彿
+        version: "", // 鐗堟湰
         quantity: 1, // 浠芥暟
         pageCount: 1, // 椤电爜
-        provider: '', // 鎻愪緵鑰�
+        provider: "", // 鎻愪緵鑰�
         comments: "", // 澶囨敞
         fileName: "", // 鏂囦欢鍘熷悕绉�
-        systemFileName: "", // 绯荤粺鐢熸垚鍚嶇О
+        systemFileName: "" // 绯荤粺鐢熸垚鍚嶇О
       },
       componentData: {
         entity: { name: "", orderBy: { field: "id", order: "asc" } },
@@ -555,361 +838,397 @@
       },
       upIndex: 0,
       dialogVisible: false,
-      dialogVisible1: false,
-      inLoading: false,
       upLoad: false,
       responsiblePersonList: [],
       subordinateDepartmentsList: [],
       options: [],
       equipmentList: [],
       deviceStatusList: [],
-      props: { multiple: true, emitPath: false, value: 'id', label: 'name' },
+      props: { multiple: true, emitPath: false, value: "id", label: "name" },
       // 鏀堕泦璁惧妗f鏁版嵁
       Mdata: {
         deviceName: null
       },
       isAddFileUpdate: false,
       editData: {
-        authorizedPerson: [],
-      },
-    }
+        authorizedPerson: []
+      }
+    };
   },
   computed: {
     headers() {
       return {
-        'token': sessionStorage.getItem('token')
-      }
+        token: sessionStorage.getItem("token")
+      };
     },
     action() {
-      return this.javaApi + this.$api.deviceScope.uploadFile
+      return this.javaApi + this.$api.deviceScope.uploadFile;
     }
   },
   mounted() {
     // 鏀堕泦鏁版嵁
-    this.getList(this.clickNodeVal.value)
+    this.getList(this.clickNodeVal.value);
     // 鑾峰彇鐩稿叧鏂囨。鐨勬暟鎹�
-    this.getPage()
-    this.timeStamp = Date.now()
+    this.getPage();
+    this.timeStamp = Date.now();
   },
   methods: {
-      /**
+    /**
      * 灏嗛〉闈㈡寚瀹氳妭鐐瑰唴瀹硅浆涓哄浘鐗�
      * 1.鎷垮埌鎯宠杞崲涓哄浘鐗囩殑鍐呭鑺傜偣DOM锛�
      * 2.杞崲锛屾嬁鍒拌浆鎹㈠悗鐨刢anvas
      * 3.杞崲涓哄浘鐗�
      */
-     clickGeneratePicture() {
-      const _than = this
-      domtoimage.toPng(_than.$refs.deviceQrCode,{ quality: 1,width:440,}).then(function (dataUrl) {
-        // 灏嗚浆鎹㈠悗鐨勫浘鍍忔暟鎹瓨鍌ㄤ负 data URL
-        fileDownload.downloadIamge(dataUrl,_than.Mdata.deviceName)
-      });
+    clickGeneratePicture() {
+      const _than = this;
+      domtoimage
+        .toPng(_than.$refs.deviceQrCode, { quality: 1, width: 440 })
+        .then(function(dataUrl) {
+          // 灏嗚浆鎹㈠悗鐨勫浘鍍忔暟鎹瓨鍌ㄤ负 data URL
+          fileDownload.downloadIamge(dataUrl, _than.Mdata.deviceName);
+        });
     },
     //鎵撳嵃璁惧浜岀淮鐮�
-    labelPrint(){
+    labelPrint() {
       PrintJS({
-            printable: 'deviceCode',//椤甸潰
-            type: "html",//鏂囨。绫诲瀷
-            maxWidth:360,
-            css: ['/static/css/device-print.css'],
-            style: '@page { size: auto;  margin: 0mm;}',
-            targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
-        });
+        printable: "deviceCode", //椤甸潰
+        type: "html", //鏂囨。绫诲瀷
+        maxWidth: 360,
+        css: ["/static/css/device-print.css"],
+        style: "@page { size: auto;  margin: 0mm;}",
+        targetStyles: ["*"] // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕�
+      });
     },
     openFileRevisionDialog() {
       // 鑾峰彇妗f淇璐熻矗浜轰笅鎷夋鏁版嵁
-      this.selectDevicePrincipal()
+      this.selectDevicePrincipal();
       // 鑾峰彇妗f淇鎵�灞為儴闂ㄤ笅鎷夋鏁版嵁
-      this.obtainItemParameterList()
+      this.obtainItemParameterList();
       // 鑾峰彇妗f淇璁惧鐘舵�佷笅鎷夋鏁版嵁
-      this.selectEnumByCategory()
+      this.selectEnumByCategory();
       // 鑾峰彇妗f淇妫�楠岄」鐩骇鑱斿脊妗嗘暟鎹�
-      this.getInsProductIds()
+      this.getInsProductIds();
     },
     //闄勪欢鍜岀浉鍏虫枃妗d簨浠�
     handleAttachmentClick(row) {
-      console.log(row)
-      if (row.fileName && row.documentType == 0) {
-        const fileUrl = this.javaApi + '/img/' + row.fileName;
-        fileDownload.downloadIamge(fileUrl, row.systemFileName)
-      } else if (row.fileName && row.documentType == 1) {
-        const url = this.javaApi+'/word/'+ row.fileName
-        const link = document.createElement('a');
-        link.href = url;
-        link.download = row.fileName;
-        link.click();
-        this.$message.success('涓嬭浇鎴愬姛')
+      console.log(row);
+      if (row.fileName) {
+        let state = /\.(jpg|jpeg|png|gif)$/i.test(row.fileName);
+        if (state) {
+          let url = this.javaApi + "/img/" + row.fileName;
+          fileDownload.downloadIamge(url, row.fileName);
+        } else {
+          const url = this.javaApi + "/word/" + row.fileName;
+          const link = document.createElement("a");
+          link.href = url;
+          link.download = row.fileName;
+          link.click();
+          this.$message.success("涓嬭浇鎴愬姛");
+        }
       } else {
-        this.$message.warning('鏈笂浼犳枃浠讹紒')
+        this.$message.warning("鏈笂浼犳枃浠讹紒");
       }
     },
     handleViewClick(row) {
-      this.isAddFileUpdate = true
-      this.addFile = { ...row }
-      this.dialogVisible1 = true
+      this.isAddFileUpdate = true;
+      this.addFile = { ...row };
+      this.dialogVisible1 = true;
       if (row.fileName) {
         const obj = Object.assign({
           name: row.fileName,
           url: row.fileName,
-          status: 'success',
-          uid: Date.now(),
-        })
-        this.fileList.push(obj)
+          status: "success",
+          uid: Date.now()
+        });
+        this.fileList.push(obj);
       }
     },
     handleDeleteClick(row) {
       // 鍒犻櫎閫昏緫
-      MessageBox.confirm('纭畾瑕佸垹闄よ璁板綍鍚楋紵', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning',
-      }).then(() => {
-        this.$axios.delete(this.$api.getDocuments.list + "/" + row.id).then(res => {
-          if (res.code == 200) {
-            this.$message.success('鍒犻櫎鎴愬姛')
-            this.getPage()
-          }
-        })
-      }).catch(() => {
-        this.$message.info('宸插彇娑堝垹闄�')
+      MessageBox.confirm("纭畾瑕佸垹闄よ璁板綍鍚楋紵", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
       })
+        .then(() => {
+          this.$axios
+            .delete(this.$api.getDocuments.list + "/" + row.id)
+            .then(res => {
+              if (res.code == 200) {
+                this.$message.success("鍒犻櫎鎴愬姛");
+                this.getPage();
+              }
+            });
+        })
+        .catch(() => {
+          this.$message.info("宸插彇娑堝垹闄�");
+        });
     },
     saveRecord() {
       //杞崲鏁版嵁
-      this.addFile.deviceId = this.clickNodeVal.value
-      let obj= this.addFile.systemFileName
-      this.addFile.systemFileName = obj.name
-      this.addFile.fileName = obj.url
+      this.addFile.deviceId = this.clickNodeVal.value;
+      let obj = this.addFile.systemFileName;
+      this.addFile.systemFileName = obj.name;
+      this.addFile.fileName = obj.url;
 
       // 鏇存柊
       if (this.isAddFileUpdate) {
-        this.$axios.put(this.$api.getDocuments.updateDocument, this.addFile, {
-          headers: {
-            'Content-Type': 'application/json'
-          }
-        }).then(res => {
-          if (res.code == 200) {
-            this.$message.success('鏇存柊鎴愬姛')
-            this.dialogVisible1 = false;
-            this.getPage()
-          }
-        })
+        this.$axios
+          .put(this.$api.getDocuments.updateDocument, this.addFile, {
+            headers: {
+              "Content-Type": "application/json"
+            }
+          })
+          .then(res => {
+            if (res.code == 200) {
+              this.$message.success("鏇存柊鎴愬姛");
+              this.dialogVisible1 = false;
+              this.getPage();
+            }
+          });
       } else {
         // 鏂板
-        this.$axios.post(this.$api.getDocuments.list, this.addFile).then(res => {
-          if (res.code == 200) {
-            this.$message.success('淇濆瓨鎴愬姛')
-            this.dialogVisible1 = false;
-            this.getPage()
-          }
-        })
+        this.$axios
+          .post(this.$api.getDocuments.list, this.addFile)
+          .then(res => {
+            if (res.code == 200) {
+              this.$message.success("淇濆瓨鎴愬姛");
+              this.dialogVisible1 = false;
+              this.getPage();
+            }
+          });
       }
     },
     onSuccess(response, file, fileList) {
       if (response.code == 200) {
-        this.addFile.systemFileName = response.data
-        this.addFile.fileName = file.name
+        this.addFile.systemFileName = response.data;
+        this.addFile.fileName = file.name;
       } else {
-        this.$refs.uploadFile.clearFiles()
-        this.$message.error('涓婁紶澶辫触锛�' + response.message)
+        this.$refs.uploadFile.clearFiles();
+        this.$message.error("涓婁紶澶辫触锛�" + response.message);
       }
     },
     handleRemove(file, fileList) {
-      this.deleteFile(this.addFile.systemFileName)
+      this.deleteFile(this.addFile.systemFileName);
     },
     deleteFile(fileName) {
-      this.$axios.delete(this.$api.personnel.deleteCNASFile + "?fileName=" + fileName).then(res => {
-        this.$message.success('鍒犻櫎鎴愬姛锛�')
-      })
+      this.$axios
+        .delete(this.$api.personnel.deleteCNASFile + "?fileName=" + fileName)
+        .then(res => {
+          this.$message.success("鍒犻櫎鎴愬姛锛�");
+        });
     },
     handleExceed(files, fileList) {
-      this.$message.warning(`褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
+      this.$message.warning(
+        `褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${
+          files.length
+        } 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶
+      );
     },
     beforeRemove(file, fileList) {
       return this.$confirm(`纭畾绉婚櫎 ${file.name}锛焋);
     },
     // 鑾峰彇鐩稿叧鏂囨。鏁版嵁鐨刟pi
     getPage() {
-      this.$axios.get(this.$api.getDocuments.get + "/" + this.clickNodeVal.value).then(res => {
-        if (res.code == 200)
-          this.tableDataA = res.data
-      })
+      this.$axios
+        .get(this.$api.getDocuments.get + "/" + this.clickNodeVal.value)
+        .then(res => {
+          if (res.code == 200) this.tableDataA = res.data;
+        });
     },
     // 鏀堕泦鏁版嵁
     getList(id) {
       this.$axios
-        .get(
-          this.$api.deviceScope.selectDeviceByCode + "?id=" + id)
+        .get(this.$api.deviceScope.selectDeviceByCode + "?id=" + id)
         .then(res => {
           // 灏嗗垎绫诲垪琛ㄧ殑淇℃伅瀛樿捣鏉�
           if (res.code == 200) {
             this.Mdata = res.data;
-            this.Mdata.insProductIds = this.Mdata.insProductIds.split(',')
-            this.Mdata.authorizedPerson = JSON.parse(this.Mdata.authorizedPerson)
+            this.Mdata.insProductIds = this.Mdata.insProductIds.split(",");
+            if (this.Mdata.authorizedPerson) {
+              this.Mdata.authorizedPerson = JSON.parse(
+                this.Mdata.authorizedPerson
+              );
+            }
           }
         });
     },
     handleData(m) {
       if (m) {
-        return m
+        return m;
       } else {
-        return '-'
+        return "-";
       }
     },
     handleClose() {
-      this.dialogVisible = false
+      this.dialogVisible = false;
     },
     //鎵撳紑淇妗f寮规
-    openEditForm(){
-      this.editData = JSON.parse(JSON.stringify(this.Mdata))
-      this.$nextTick(()=>{
-        this.dialogVisible = true
-      })
+    openEditForm() {
+      this.editData = JSON.parse(JSON.stringify(this.Mdata));
+      this.$nextTick(() => {
+        this.dialogVisible = true;
+      });
     },
     //淇妗f
     submitForm() {
-      let flag = true
-      this.$refs['rules1'].validate((valid) => {
+      let flag = true;
+      this.$refs["rules1"].validate(valid => {
         if (!valid) {
           flag = false;
           return false;
         }
       });
-      this.$refs['rules2'].validate((valid) => {
+      this.$refs["rules2"].validate(valid => {
         if (!valid) {
           flag = false;
           return false;
         }
       });
-      this.$refs['ruleForm'].validate((valid) => {
+      this.$refs["ruleForm"].validate(valid => {
         if (!valid) {
           flag = false;
           return false;
         }
       });
-      if(!flag) {
+      if (!flag) {
         return;
       }
-      delete this.editData.nextCalibrationDate
-      delete this.editData.createTime
-      delete this.editData.updateTime
-      delete this.editData.createUser
-      delete this.editData.updateUser
-      delete this.editData.orderBy
-      // this.Mdata.equipmentManager = 1;
-
-      this.editData.userAllow = this.equipmentManager.toString();
-      this.editData.insProductIds = Array.isArray(this.editData.insProductIds)
-        ? this.editData.insProductIds.join(',')
-        : '';
+      delete this.editData.createTime;
+      delete this.editData.updateTime;
+      delete this.editData.createUser;
+      delete this.editData.updateUser;
+      delete this.editData.orderBy;
+      const formData = this.HaveJson(this.editData);
+      formData.userAllow = this.equipmentManager.toString();
+      formData.insProductIds = Array.isArray(formData.insProductIds)
+        ? formData.insProductIds.join(",")
+        : "";
+      if (formData.authorizedPerson.length === 0) {
+        formData.authorizedPerson = "";
+      } else {
+        formData.authorizedPerson = JSON.stringify(formData.authorizedPerson);
+      }
       this.upLoad = true;
-      this.editData.authorizedPerson = JSON.stringify(this.editData.authorizedPerson)
-      this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.editData, {
-        headers: {
-          'Content-Type': 'application/json'
-        }
-      }).then(res => {
-        if (res.code === 201) {
-          this.upLoad = false
-          return
-        }
-        this.$message.success('淇敼鎴愬姛')
-        this.upLoad = false
-        this.getList(this.clickNodeVal.value)
-        this.dialogVisible = false
-      }).catch(e => {
-        this.$message.error('淇敼澶辫触')
-        this.dialogVisible = false
-        this.upLoad = false
-      })
+      this.$axios
+        .post(this.$api.deviceScope.upDeviceParameter, formData, {
+          headers: {
+            "Content-Type": "application/json"
+          }
+        })
+        .then(res => {
+          if (res.code === 201) {
+            this.upLoad = false;
+            return;
+          }
+          this.$message.success("淇敼鎴愬姛");
+          this.upLoad = false;
+          this.getList(this.clickNodeVal.value);
+          this.dialogVisible = false;
+        })
+        .catch(e => {
+          this.$message.error("淇敼澶辫触");
+          this.dialogVisible = false;
+          this.upLoad = false;
+        });
     },
     // 瀵煎嚭
     handleDownOne(row) {
-      this.outLoading = true
-      this.$axios.get(this.$api.deviceCheck.exportDeviceFile + '?deviceId=' + this.clickNodeVal.value, {
-        responseType: "blob"
-      }).then(res => {
-        this.outLoading = false
-        const blob = new Blob([res], { type: 'application/octet-stream' });
-        //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
-        let reader = new FileReader();
-        reader.readAsText(blob, 'utf-8');
-        reader.onload = () => {
-          try {
-            let result = JSON.parse(reader.result);
-            if (result.message) {
-              this.$message.error(result.message);
-            } else {
-              const url = URL.createObjectURL(blob);
-              const link = document.createElement('a');
-              link.href = url;
-              link.download = '璁惧妗f鍗�.doc';
-              link.click();
-              this.$message.success('瀵煎嚭鎴愬姛')
-            }
-          } catch (err) {
-            console.log(err);
-            const url = URL.createObjectURL(blob);
-            const link = document.createElement('a');
-            link.href = url;
-            link.download = '璁惧妗f鍗�.doc';
-            link.click();
-            this.$message.success('瀵煎嚭鎴愬姛')
+      this.outLoading = true;
+      this.$axios
+        .get(
+          this.$api.deviceCheck.exportDeviceFile +
+            "?deviceId=" +
+            this.clickNodeVal.value,
+          {
+            responseType: "blob"
           }
-        }
-      })
+        )
+        .then(res => {
+          this.outLoading = false;
+          const blob = new Blob([res], { type: "application/octet-stream" });
+          //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+          let reader = new FileReader();
+          reader.readAsText(blob, "utf-8");
+          reader.onload = () => {
+            try {
+              let result = JSON.parse(reader.result);
+              if (result.message) {
+                this.$message.error(result.message);
+              } else {
+                const url = URL.createObjectURL(blob);
+                const link = document.createElement("a");
+                link.href = url;
+                link.download = "璁惧妗f鍗�.doc";
+                link.click();
+                this.$message.success("瀵煎嚭鎴愬姛");
+              }
+            } catch (err) {
+              console.log(err);
+              const url = URL.createObjectURL(blob);
+              const link = document.createElement("a");
+              link.href = url;
+              link.download = "璁惧妗f鍗�.doc";
+              link.click();
+              this.$message.success("瀵煎嚭鎴愬姛");
+            }
+          };
+        });
     },
     handleSuccessUpImg2(response) {
       if (response.code == 200) {
         this.$nextTick(() => {
           this.editData.imageUpload = response.data.url;
           this.editData.imageName = response.data.name;
-          console.log(this.javaApi + 'img/' + this.editData.imageUpload);
-
-        })
+          console.log(this.javaApi + "img/" + this.editData.imageUpload);
+        });
       }
     },
     beforeUpload(file) {
       if (file.size > 1024 * 1024 * 10) {
-        this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
-        this.$refs.upload.clearFiles()
+        this.$message.error("涓婁紶鏂囦欢涓嶈秴杩�10M");
+        this.$refs.upload.clearFiles();
         return false;
       } else {
         return true;
       }
     },
     onError(err, file, fileList) {
-      this.$message.error('涓婁紶澶辫触')
-      this.$refs.upload.clearFiles()
+      this.$message.error("涓婁紶澶辫触");
+      this.$refs.upload.clearFiles();
     },
     // 鑾峰彇璐熻矗浜哄垪琛�
     selectDevicePrincipal() {
-      this.$axios.post(this.$api.user.selectUserList, this.componentData, {
-        headers: {
-          'Content-Type': 'application/json'
-        }
-      }).then(res => {
-        this.responsiblePersonList = res.data.body.records;
-      })
+      this.$axios
+        .post(this.$api.user.selectUserList, this.componentData, {
+          headers: {
+            "Content-Type": "application/json"
+          }
+        })
+        .then(res => {
+          this.responsiblePersonList = res.data.body.records;
+        });
     },
     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
-      })
+      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;
+        });
     },
     getInsProductIds() {
       this.$axios.post(this.$api.capacityScope.getInsProduction).then(res => {
         this.options = res.data.map((m, i) => {
           m.id = m.name;
-          return m
-        })
+          return m;
+        });
         this.options.forEach(item => {
           if (item.children.length == 0) {
             item.children = null;
@@ -922,49 +1241,53 @@
                   if (n.children && n.children.length == 0) {
                     n.children = null;
                   }
-                })
+                });
               }
-            })
+            });
           }
-        })
-      })
+        });
+      });
     },
     // 鑾峰彇瀛楀吀
     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.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
+          category: "璁惧鐘舵��"
         })
-      })
-      this.$axios.post(this.$api.enums.selectEnumByCategory, {
-        category: "璁惧鍒嗙被"
-      }).then(res => {
-        this.equipmentList = res.data
-      })
-    },
+        .then(res => {
+          this.deviceStatusList = res.data;
+          this.deviceStatusList.forEach(a => {
+            if (!isNaN(a.value)) {
+              a.value = parseInt(a.value);
+            }
+          });
+        });
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
+          category: "璁惧鍒嗙被"
+        })
+        .then(res => {
+          this.equipmentList = res.data;
+        });
+    }
   },
   watch: {
     // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
     clickNodeVal(newVal) {
       if (newVal.value) {
-        this.getList(newVal.value)
-        this.getPage()
+        this.getList(newVal.value);
+        this.getPage();
       }
     },
     dialogVisible1(newVal) {
       if (newVal == false) {
-        this.isAddFileUpdate = false
-        this.addFile = {}
-        this.fileList = []
+        this.isAddFileUpdate = false;
+        this.addFile = {};
+        this.fileList = [];
       }
     }
   }
-}
+};
 </script>
 
 <style scoped>
@@ -994,7 +1317,7 @@
   display: inline-block;
   width: 3px;
   height: 16px;
-  background: #3A7BFA;
+  background: #3a7bfa;
   margin-right: 4px;
 }
 
@@ -1022,21 +1345,20 @@
 
 .text-ellipsis {
   display: inline-block;
-  width: 200px;                    /* 鎴栬�呮偍鍙互璁剧疆涓�涓叿浣撶殑瀹藉害鍊� */
-  box-sizing: border-box;         /* 纭繚padding鍜宐order涓嶅奖鍝嶅厓绱犵殑鎬诲搴� */
-  white-space: nowrap;            /* 绂佹鏂囨湰鎹㈣ */
-  text-overflow: ellipsis;        /* 浣跨敤鐪佺暐鍙疯〃绀鸿鎴柇鐨勬枃鏈� */
-  overflow: hidden;               /* 闅愯棌瓒呭嚭瀹瑰櫒鐨勫唴瀹� */
+  width: 200px; /* 鎴栬�呮偍鍙互璁剧疆涓�涓叿浣撶殑瀹藉害鍊� */
+  box-sizing: border-box; /* 纭繚padding鍜宐order涓嶅奖鍝嶅厓绱犵殑鎬诲搴� */
+  white-space: nowrap; /* 绂佹鏂囨湰鎹㈣ */
+  text-overflow: ellipsis; /* 浣跨敤鐪佺暐鍙疯〃绀鸿鎴柇鐨勬枃鏈� */
+  overflow: hidden; /* 闅愯棌瓒呭嚭瀹瑰櫒鐨勫唴瀹� */
 }
 
 .form-items {
   line-height: 34px;
-   /* display: flex; */
+  /* display: flex; */
   /* align-items: center;  */
   margin-left: 15%;
   font-size: 14px;
 }
-
 
 .form-item label {
   min-width: 130px;
@@ -1080,98 +1402,98 @@
 }
 
 .avatar-uploader .el-upload {
-    border: 1px dashed #190505;
-    border-radius: 6px;
-    cursor: pointer;
-    position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 178px;
-    height: 178px;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 178px;
-    height: 178px;
-    display: block;
-  }
+  border: 1px dashed #190505;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 178px;
+  height: 178px;
+  line-height: 178px;
+  text-align: center;
+}
+.avatar {
+  width: 178px;
+  height: 178px;
+  display: block;
+}
 
-.device-main{
-  width:90%;
-  margin:0px 5%;
-  height:460px;
-  padding:25px 0px;
+.device-main {
+  width: 90%;
+  margin: 0px 5%;
+  height: 460px;
+  padding: 25px 0px;
   background-color: #fff;
 }
-.device-center{
-  width:90%;
-  height:460px;
-  margin:0px 5%;
+.device-center {
+  width: 90%;
+  height: 460px;
+  margin: 0px 5%;
   border-radius: 15px;
   background-color: #fff;
   overflow: hidden;
   /* box-shadow: 3px 3px 8px 0 rgba(0, 0, 0, 0.3); */
-  filter: drop-shadow(0px 5px 5px rgba(0,0,0,0.3))
+  filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.3));
 }
-.device-title{
+.device-title {
   position: relative;
-  top:20px;
+  top: 20px;
   z-index: 2;
   font-size: clamp(1rem, 0.582rem + 1.59vw, 1.475rem);
   font-weight: bold;
   color: #4f6ab2;
   width: 100%;
-  height:90px;
+  height: 90px;
   line-height: 100px;
   text-align: center;
 }
-.device-footer{
-  width:100%;
-  height:420px;
+.device-footer {
+  width: 100%;
+  height: 420px;
   background-color: #3361d0;
-  position: relative
+  position: relative;
 }
-.device-footer::after{
+.device-footer::after {
   content: "";
   width: 100%;
-	height: 70px;
-	position: absolute;
-  top:-30px;
+  height: 70px;
+  position: absolute;
+  top: -30px;
   border-radius: 0 0 50% 50%;
   background-color: #fff;
 }
-.device-footer .qr-code{
+.device-footer .qr-code {
   width: 55%;
   height: 200px;
   position: relative;
   top: 60px;
-  left:22.5%;
+  left: 22.5%;
   background-color: #fff;
   border-radius: 15px;
   overflow: hidden;
 }
-.device-number{
-  width:80%;
+.device-number {
+  width: 80%;
   height: 20px;
-  margin-left:20%;
+  margin-left: 20%;
   position: relative;
   top: 80px;
 }
-.device-text{
-  color:#fff;
+.device-text {
+  color: #fff;
   font-weight: bold;
-  font-size:100%;
+  font-size: 100%;
 }
-.device-name{
-  width:80%;
-  margin-left:20%;
+.device-name {
+  width: 80%;
+  margin-left: 20%;
   height: 20px;
   position: relative;
   top: 90px;
diff --git a/src/components/do/a6-device/operation-instruction.vue b/src/components/do/a6-device/operation-instruction.vue
index 969c3b4..29757ae 100644
--- a/src/components/do/a6-device/operation-instruction.vue
+++ b/src/components/do/a6-device/operation-instruction.vue
@@ -7,46 +7,125 @@
           <p style="line-height: 30px;">浣滀笟鎸囧涔�</p>
         </el-col>
         <el-col :span="12" style="text-align: right;">
-          <el-button size="small" type="primary" @click="getList">鍒锋柊</el-button>
-          <el-button size="small" type="primary" @click="dialogVisible = true">鍙楁帶鐢宠</el-button>
+          <el-button size="small" type="primary" @click="getList"
+            >鍒锋柊</el-button
+          >
+          <el-button size="small" type="primary" @click="dialogVisible = true"
+            >鍙楁帶鐢宠</el-button
+          >
         </el-col>
       </el-row>
     </div>
     <el-table :data="tableData" border height="calc(100vh - 18em)">
       <el-table-column type="index" label="搴忓彿" width="120">
         <template v-slot="scope">
-          <span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
+          <span>{{
+            (search.current - 1) * search.size + scope.$index + 1
+          }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="鐢宠缂栧彿" min-width="150" prop="applicationNumber"></el-table-column>
-      <el-table-column label="璁惧鍚嶇О" min-width="150" prop="deviceName"></el-table-column>
-      <el-table-column label="璁惧缂栧彿" min-width="150" prop="deviceNumber"></el-table-column>
-      <el-table-column label="璁惧鍨嬪彿" min-width="150" prop="deviceModel"></el-table-column>
-      <el-table-column label="鏂囦欢缂栧彿" min-width="150" prop="documentNumber"></el-table-column>
-      <el-table-column label="鏂囦欢鍚嶅瓧" min-width="150" prop="fileName"></el-table-column>
-      <el-table-column label="鏂囨。璇存槑" min-width="150" prop="documentNote"></el-table-column>
-      <el-table-column label="涓婁紶浜�" min-width="150" prop="uploaderName"></el-table-column>
-      <el-table-column label="涓婁紶鏃堕棿" min-width="150" prop="updateTime"></el-table-column>
-      <el-table-column label="鐢熸晥鏃堕棿" min-width="150" prop="entryIntoForceTime"></el-table-column>
-      <el-table-column label="瀹℃壒浜�" min-width="150" prop="approverName"></el-table-column>
+      <el-table-column
+        label="鐢宠缂栧彿"
+        min-width="150"
+        prop="applicationNumber"
+      ></el-table-column>
+      <el-table-column
+        label="璁惧鍚嶇О"
+        min-width="150"
+        prop="deviceName"
+      ></el-table-column>
+      <el-table-column
+        label="璁惧缂栧彿"
+        min-width="150"
+        prop="deviceNumber"
+      ></el-table-column>
+      <el-table-column
+        label="璁惧鍨嬪彿"
+        min-width="150"
+        prop="deviceModel"
+      ></el-table-column>
+      <el-table-column
+        label="鏂囦欢缂栧彿"
+        min-width="150"
+        prop="documentNumber"
+      ></el-table-column>
+      <el-table-column
+        label="鏂囦欢鍚嶅瓧"
+        min-width="150"
+        prop="fileName"
+      ></el-table-column>
+      <el-table-column
+        label="鏂囨。璇存槑"
+        min-width="150"
+        prop="documentNote"
+      ></el-table-column>
+      <el-table-column
+        label="涓婁紶浜�"
+        min-width="150"
+        prop="uploaderName"
+      ></el-table-column>
+      <el-table-column
+        label="涓婁紶鏃堕棿"
+        min-width="150"
+        prop="updateTime"
+      ></el-table-column>
+      <el-table-column
+        label="鐢熸晥鏃堕棿"
+        min-width="150"
+        prop="entryIntoForceTime"
+      ></el-table-column>
+      <el-table-column
+        label="瀹℃壒浜�"
+        min-width="150"
+        prop="approverName"
+      ></el-table-column>
       <el-table-column label="瀹℃壒鐘舵��" min-width="150" prop="status">
         <template v-slot="scope">
-          {{scope.row.status === true ? '閫氳繃' : scope.row.status === false ? '涓嶉�氳繃' : '鏈鏍�'}}
+          {{
+            scope.row.status === true
+              ? "閫氳繃"
+              : scope.row.status === false
+              ? "涓嶉�氳繃"
+              : "鏈鏍�"
+          }}
         </template>
       </el-table-column>
       <el-table-column label="鎿嶄綔" min-width="180" fixed="right" prop="name">
         <template v-slot="scope">
-          <el-button type="text" size="small" @click="downloadFile(scope.row.fileSystemName)">涓嬭浇</el-button>
-          <el-button type="text" size="small" style="color: red;" @click="deleteHomeworkGuidebook(scope.row)">鍒犻櫎</el-button>
-          <el-button type="text" size="small" @click="instructionEditFun(scope.row)">缂栬緫</el-button>
-          <el-button type="text" size="small" @click="approval(scope.row)">瀹℃壒</el-button>
+          <el-button
+            type="text"
+            size="small"
+            @click="downloadFile(scope.row.fileSystemName)"
+            >涓嬭浇</el-button
+          >
+          <el-button
+            type="text"
+            size="small"
+            style="color: red;"
+            @click="deleteHomeworkGuidebook(scope.row)"
+            >鍒犻櫎</el-button
+          >
+          <el-button
+            type="text"
+            size="small"
+            @click="instructionEditFun(scope.row)"
+            >缂栬緫</el-button
+          >
+          <el-button type="text" size="small" @click="approval(scope.row)"
+            >瀹℃壒</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
-    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="1"
-                   :page-sizes="[10, 20, 30, 50, 100]" :page-size="search.size"
-                   layout="->,total, sizes, prev, pager, next, jumper"
-                   :total="search.total">
+    <el-pagination
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :current-page="1"
+      :page-sizes="[10, 20, 30, 50, 100]"
+      :page-size="search.size"
+      layout="->,total, sizes, prev, pager, next, jumper"
+      :total="search.total"
+    >
     </el-pagination>
     <el-dialog :visible.sync="dialogVisible" title="鍙楁帶鐢宠" width="60%">
       <div style="height: 60vh; overflow-y: auto; overflow-x: hidden;">
@@ -54,133 +133,317 @@
           <el-row :gutter="20">
             <el-col :span="12">
               <el-form-item label="鐢宠缂栧彿:">
-                <el-input v-model="instructionForm.applicationNumber" disabled size="small" clearable></el-input>
+                <el-input
+                  v-model="instructionForm.applicationNumber"
+                  disabled
+                  size="small"
+                  clearable
+                ></el-input>
               </el-form-item>
               <el-form-item label="闄勪欢锛�" style="float: left;">
-                <el-upload ref="uploadFile" :action="action" :before-remove="beforeRemove" :file-list="fileList1"
-                           :headers="headers"
-                           :limit="1" :on-error="onError" :on-exceed="handleExceed" :on-remove="handleRemove1"
-                           :on-success="onSuccess1"
-                           class="upload-demo" multiple>
+                <el-upload
+                  ref="uploadFile"
+                  :action="action"
+                  :before-remove="beforeRemove"
+                  :file-list="fileList1"
+                  :headers="headers"
+                  :limit="1"
+                  :on-error="onError"
+                  :on-exceed="handleExceed"
+                  :on-remove="handleRemove1"
+                  :on-success="onSuccess1"
+                  class="upload-demo"
+                  multiple
+                >
                   <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
                 </el-upload>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="鐢宠閮ㄩ棬:">
-                <el-input v-model="instructionForm.applicationDepartment" clearable size="small"></el-input>
+                <el-input
+                  v-model="instructionForm.applicationDepartment"
+                  clearable
+                  size="small"
+                ></el-input>
               </el-form-item>
               <el-form-item label="璐d换浜�:">
-                <el-input v-model="instructionForm.personLiable" clearable size="small"></el-input>
+                <el-input
+                  v-model="instructionForm.personLiable"
+                  clearable
+                  size="small"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="鍙楁帶鐢宠璇存槑:" prop="controlledApplicationDescription"
-                            :rules="[{required: true, message: '璇疯緭鍏ュ彈鎺х敵璇疯鏄�', trigger: 'blur'}]">
-                <el-input v-model="instructionForm.controlledApplicationDescription" type="textarea"
-                          clearable></el-input>
+              <el-form-item
+                label="鍙楁帶鐢宠璇存槑:"
+                prop="controlledApplicationDescription"
+                :rules="[
+                  {
+                    required: true,
+                    message: '璇疯緭鍏ュ彈鎺х敵璇疯鏄�',
+                    trigger: 'blur'
+                  }
+                ]"
+              >
+                <el-input
+                  v-model="instructionForm.controlledApplicationDescription"
+                  type="textarea"
+                  clearable
+                ></el-input>
               </el-form-item>
             </el-col>
           </el-row>
         </el-form>
         <div style="text-align: right; margin-bottom: 10px">
-          <el-button size="small" type="primary" @click="dialogVisible1 = true">娣诲姞鍙楁帶鏂囦欢</el-button>
+          <el-button size="small" type="primary" @click="openAddDia"
+            >娣诲姞鍙楁帶鏂囦欢</el-button
+          >
           <el-button size="small" @click="delFile">鍒犻櫎</el-button>
         </div>
-        <el-table :data="documentTableData" border style="width: 100%;"
-                  tooltip-effect="dark"
-                  :row-key="getRowKey"
-                  @selection-change="handleSelectionChange" height="30em">
-          <el-table-column type="selection" width="55%">
-          </el-table-column>
-          <el-table-column label="搴忓彿" prop="id" type="index" width="60"></el-table-column>
-          <el-table-column label="璁惧鍚嶇О" prop="deviceName" show-overflow-tooltip min-width="125"></el-table-column>
-          <el-table-column label="璁惧缂栧彿" prop="deviceNumber" show-overflow-tooltip min-width="125"></el-table-column>
-          <el-table-column label="璁惧鍨嬪彿" prop="deviceModel" show-overflow-tooltip min-width="125"></el-table-column>
-          <el-table-column label="鏂囦欢缂栧彿" prop="documentNumber" show-overflow-tooltip
-                           min-width="125"></el-table-column>
-          <el-table-column label="鏂囦欢鍚嶇О" prop="fileName" show-overflow-tooltip min-width="125"></el-table-column>
-          <el-table-column label="涓婁紶浜�" prop="author" show-overflow-tooltip min-width="125"></el-table-column>
-          <el-table-column label="涓婁紶鏃堕棿" prop="updateTime" show-overflow-tooltip min-width="125"></el-table-column>
+        <el-table
+          :data="documentTableData"
+          border
+          style="width: 100%;"
+          tooltip-effect="dark"
+          :row-key="getRowKey"
+          @selection-change="handleSelectionChange"
+          height="30em"
+        >
+          <el-table-column type="selection" width="55%"> </el-table-column>
+          <el-table-column
+            label="搴忓彿"
+            prop="id"
+            type="index"
+            width="60"
+          ></el-table-column>
+          <el-table-column
+            label="璁惧鍚嶇О"
+            prop="deviceName"
+            show-overflow-tooltip
+            min-width="125"
+          ></el-table-column>
+          <el-table-column
+            label="璁惧缂栧彿"
+            prop="deviceNumber"
+            show-overflow-tooltip
+            min-width="125"
+          ></el-table-column>
+          <el-table-column
+            label="璁惧鍨嬪彿"
+            prop="deviceModel"
+            show-overflow-tooltip
+            min-width="125"
+          ></el-table-column>
+          <el-table-column
+            label="鏂囨。缂栧彿"
+            prop="documentNumber"
+            show-overflow-tooltip
+            min-width="125"
+          ></el-table-column>
+          <el-table-column
+            label="鏂囦欢鍚嶇О"
+            prop="fileName"
+            show-overflow-tooltip
+            min-width="125"
+          ></el-table-column>
+          <el-table-column
+            label="涓婁紶浜�"
+            prop="author"
+            show-overflow-tooltip
+            min-width="125"
+          ></el-table-column>
+          <el-table-column
+            label="涓婁紶鏃堕棿"
+            prop="updateTime"
+            show-overflow-tooltip
+            min-width="125"
+          ></el-table-column>
           <el-table-column min-width="100" label="鎿嶄綔" fixed="right">
-            <template #default="{row, $index}">
-              <el-button type="text" size="small" @click="downloadFile(row.fileSystemName)">涓嬭浇</el-button>
-              <el-button type="text" @click="editFun(row, $index)">缂栬緫</el-button>
+            <template v-slot="scope">
+              <el-button
+                type="text"
+                size="small"
+                @click="downloadFile(scope.row.fileSystemName)"
+                >涓嬭浇</el-button
+              >
+              <el-button type="text" @click="editFun(scope.row, scope.$index)"
+                >缂栬緫</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
       </div>
       <span slot="footer">
         <el-button @click="dialogVisible = false" size="small">鍙� 娑�</el-button>
-        <el-button size="small" type="primary" @click="submitFun">鎻愪氦</el-button>
+        <el-button size="small" type="primary" @click="submitFun"
+          >鎻愪氦</el-button
+        >
       </span>
     </el-dialog>
-    <el-dialog :visible.sync="dialogVisible1" title="娣诲姞璁惧浣滀笟鎸囧涔�" width="40%">
+    <el-dialog
+      :visible.sync="dialogVisible1"
+      title="娣诲姞璁惧浣滀笟鎸囧涔�"
+      width="40%"
+    >
       <div style="height: 50vh;">
         <el-form ref="form" :model="form" label-width="90px">
           <el-row :gutter="20">
             <el-col :span="12">
-              <el-form-item label="鏂囦欢绫诲瀷:" prop="documentType"
-                            :rules="[{required: true, message: '璇疯緭鍏ユ枃浠剁被鍨�', trigger: 'blur'}]">
-                <el-input v-model="form.documentType" clearable size="small" placeholder="璇疯緭鍏ユ枃浠剁被鍨�"></el-input>
+              <el-form-item
+                label="鏂囦欢绫诲瀷:"
+                prop="documentType"
+                :rules="[
+                  { required: true, message: '璇疯緭鍏ユ枃浠剁被鍨�', trigger: 'blur' }
+                ]"
+              >
+                <el-input
+                  v-model="form.documentType"
+                  clearable
+                  size="small"
+                  placeholder="璇疯緭鍏ユ枃浠剁被鍨�"
+                ></el-input>
               </el-form-item>
-              <el-form-item label="璁惧鍚嶇О:" prop="deviceName"
-                            :rules="[{required: true, message: '璇烽�夋嫨璁惧', trigger: 'change'}]">
-                <el-select v-model="form.deviceName" size="small" clearable style="width: 100%"
-                           placeholder="璇烽�夋嫨璁惧鍚嶇О"
-                           @change="onDeviceNameChange" filterable>
-                  <el-option v-for="item in deviceNameOption"
-                             :key="item.id"
-                             :label="item.label"
-                             :value="item.value">
+              <el-form-item
+                label="璁惧鍚嶇О:"
+                prop="deviceName"
+                :rules="[
+                  { required: true, message: '璇烽�夋嫨璁惧', trigger: 'change' }
+                ]"
+              >
+                <el-select
+                  v-model="form.deviceName"
+                  size="small"
+                  clearable
+                  style="width: 100%"
+                  placeholder="璇烽�夋嫨璁惧鍚嶇О"
+                  @change="onDeviceNameChange"
+                  filterable
+                >
+                  <el-option
+                    v-for="item in deviceNameOption"
+                    :key="item.id"
+                    :label="item.label"
+                    :value="item.value"
+                  >
                   </el-option>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="鏂囨。缂栧彿:" prop="documentNumber"
-                            :rules="[{required: true, message: '璇疯緭鍏ユ枃妗g紪鍙�', trigger: 'blur'}]">
-                <el-input v-model="form.documentNumber" size="small" clearable placeholder="璇疯緭鍏ユ枃妗g紪鍙�"></el-input>
+              <el-form-item
+                label="鏂囨。缂栧彿:"
+                prop="documentNumber"
+                :rules="[
+                  { required: true, message: '璇疯緭鍏ユ枃妗g紪鍙�', trigger: 'blur' }
+                ]"
+              >
+                <el-input
+                  v-model="form.documentNumber"
+                  size="small"
+                  clearable
+                  placeholder="璇疯緭鍏ユ枃妗g紪鍙�"
+                ></el-input>
               </el-form-item>
               <el-form-item label="绠$悊缂栧彿:">
-                <el-input v-model="form.deviceNumber" size="small" clearable disabled
-                          placeholder="璇疯緭鍏ョ鐞嗙紪鍙�"></el-input>
+                <el-input
+                  v-model="form.deviceNumber"
+                  size="small"
+                  clearable
+                  disabled
+                  placeholder="璇疯緭鍏ョ鐞嗙紪鍙�"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="鏂囦欢鐗堟湰:" prop="documentVersion"
-                            :rules="[{required: true, message: '璇疯緭鍏ユ枃浠剁増鏈�', trigger: 'blur'}]">
-                <el-input v-model="form.documentVersion" size="small" placeholder="璇疯緭鍏ユ枃浠剁増鏈�" clearable></el-input>
+              <el-form-item
+                label="鏂囦欢鐗堟湰:"
+                prop="documentVersion"
+                :rules="[
+                  { required: true, message: '璇疯緭鍏ユ枃浠剁増鏈�', trigger: 'blur' }
+                ]"
+              >
+                <el-input
+                  v-model="form.documentVersion"
+                  size="small"
+                  placeholder="璇疯緭鍏ユ枃浠剁増鏈�"
+                  clearable
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="浣滆��:" prop="author"
-                            :rules="[{required: true, message: '璇疯緭鍏ヤ綔鑰�', trigger: 'blur'}]">
-                <el-input v-model="form.author" size="small" clearable></el-input>
+              <el-form-item
+                label="浣滆��:"
+                prop="author"
+                :rules="[
+                  { required: true, message: '璇疯緭鍏ヤ綔鑰�', trigger: 'blur' }
+                ]"
+              >
+                <el-input
+                  v-model="form.author"
+                  size="small"
+                  clearable
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="鎻愪氦鏃ユ湡:" prop="submitDate"
-                            :rules="[{required: true, message: '璇烽�夋嫨鎻愪氦鏃ユ湡', trigger: 'change'}]">
-                <el-date-picker v-model="form.submitDate" format="yyyy-MM-dd" style="width: 100%" size="small" clearable
-                                placeholder="閫夋嫨鏃ユ湡"
-                                type="date" value-format="yyyy-MM-dd">
+              <el-form-item
+                label="鎻愪氦鏃ユ湡:"
+                prop="submitDate"
+                :rules="[
+                  {
+                    required: true,
+                    message: '璇烽�夋嫨鎻愪氦鏃ユ湡',
+                    trigger: 'change'
+                  }
+                ]"
+              >
+                <el-date-picker
+                  v-model="form.submitDate"
+                  format="yyyy-MM-dd"
+                  style="width: 100%"
+                  size="small"
+                  clearable
+                  placeholder="閫夋嫨鏃ユ湡"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                >
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="鏂囨。璇存槑:" prop="documentNote"
-                            :rules="[{required: true, message: '璇疯緭鍏ユ枃妗h鏄�', trigger: 'blur'}]">
-                <el-input v-model="form.documentNote" placeholder="璇疯緭鍏ユ枃妗h鏄�" type="textarea" clearable></el-input>
+              <el-form-item
+                label="鏂囨。璇存槑:"
+                prop="documentNote"
+                :rules="[
+                  { required: true, message: '璇疯緭鍏ユ枃妗h鏄�', trigger: 'blur' }
+                ]"
+              >
+                <el-input
+                  v-model="form.documentNote"
+                  placeholder="璇疯緭鍏ユ枃妗h鏄�"
+                  type="textarea"
+                  clearable
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
               <el-form-item label="闄勪欢锛�" style="float: left;">
-                <el-upload ref="uploadFile" :action="action" :before-remove="beforeRemove" :file-list="fileList"
-                           :headers="headers"
-                           :limit="1" :on-error="onError" :on-exceed="handleExceed" :on-remove="handleRemove"
-                           :on-success="onSuccess"
-                           class="upload-demo" multiple>
+                <el-upload
+                  ref="uploadFile"
+                  :action="action"
+                  :before-remove="beforeRemove"
+                  :file-list="fileList"
+                  :headers="headers"
+                  :limit="1"
+                  :on-error="onError"
+                  :on-exceed="handleExceed"
+                  :on-remove="handleRemove"
+                  :on-success="onSuccess"
+                  class="upload-demo"
+                  multiple
+                >
                   <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
                 </el-upload>
               </el-form-item>
@@ -189,8 +452,10 @@
         </el-form>
       </div>
       <span slot="footer">
-        <el-button @click="dialogVisible1 = false" size="small">鍙� 娑�</el-button>
-        <el-button type="primary" @click="addFile" size="small">纭� 瀹�</el-button>
+        <el-button @click="closeDia" size="small">鍙� 娑�</el-button>
+        <el-button type="primary" @click="addFile" size="small"
+          >纭� 瀹�</el-button
+        >
       </span>
     </el-dialog>
   </div>
@@ -208,7 +473,7 @@
       }
     }
   },
-  name: '',
+  name: "",
   components: {},
   data() {
     return {
@@ -219,19 +484,20 @@
       },
       dialogVisible: false,
       dialogVisible1: false,
-      value: '',
+      value: "",
       selectRow: null,
       device: null,
+      tableDataIndex: "",
       form: {
-        documentType: '',
-        documentNumber: '',
-        deviceName: '',
-        deviceModel: '',
-        deviceNumber: '',
-        fileName: '',
-        fileSystemName: '',
-        submitDate: '',
-        documentNote: '',
+        documentType: "",
+        documentNumber: "",
+        deviceName: "",
+        deviceModel: "",
+        deviceNumber: "",
+        fileName: "",
+        fileSystemName: "",
+        submitDate: "",
+        documentNote: ""
       },
       tableData: [],
       documentTableData: [],
@@ -243,228 +509,279 @@
       deviceNameOption: [], //璁惧鍚嶇О涓嬫媺妗嗘暟鎹�
       entity: {
         deviceName: null,
-        laboratoryName: '',
-        storagePoint: ''
+        laboratoryName: "",
+        storagePoint: ""
       },
       selectedRow: [],
       instructionForm: {
-        applicationNumber: '', // 鐢宠缂栧彿
-        applicationDepartment: '', // 鐢宠閮ㄩ棬
-        personLiable: '', // 璐d换浜�
-        controlledApplicationDescription: '', // 鍙楁帶鐢宠璇存槑
+        applicationNumber: "", // 鐢宠缂栧彿
+        applicationDepartment: "", // 鐢宠閮ㄩ棬
+        personLiable: "", // 璐d换浜�
+        controlledApplicationDescription: "" // 鍙楁帶鐢宠璇存槑
       }
-    }
+    };
   },
   mounted() {
     this.getAllDevice();
-    this.getList()
+    this.getList();
   },
   watch: {
     // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
     clickNodeVal(newVal) {
       if (newVal) {
-        this.getList()
-        this.clickSidebar(newVal)
-      }
-    },
-    dialogVisible1(newVal) {
-      this.form.deviceName = this.clickNodeVal.label
-      this.onDeviceNameChange()
-      if (newVal === false) {
-        this.$refs.form.resetFields()
-        // this.form = {}
-        this.fileList = []
+        this.getList();
+        this.clickSidebar(newVal);
       }
     },
     dialogVisible(newVal) {
       if (newVal === false) {
-        this.instructionForm = {}
-        this.documentTableData = []
-        this.fileList1 = []
+        this.instructionForm = {};
+        this.documentTableData = [];
+        this.fileList1 = [];
       }
     }
   },
   methods: {
     approval(row) {
-      this.$confirm('鏄惁瀹℃壒閫氳繃锛�', '鎻愮ず', {
-        confirmButtonText: '閫氳繃',
-        cancelButtonText: '涓嶉�氳繃',
-        type: 'warning'
-      }).then(() => {
-        this.approvalFun(row.id, true)
-      }).catch(() => {
-        this.approvalFun(row.id, false)
-      });
+      this.$confirm("鏄惁瀹℃壒閫氳繃锛�", "鎻愮ず", {
+        confirmButtonText: "閫氳繃",
+        cancelButtonText: "涓嶉�氳繃",
+        type: "warning"
+      })
+        .then(() => {
+          this.approvalFun(row.id, true);
+        })
+        .catch(() => {
+          this.approvalFun(row.id, false);
+        });
     },
     approvalFun(id, status) {
-      this.$axios.get(this.$api.deviceCheck.approvalOfHomeworkInstructionManual + "?id=" + id + "&status=" + status).then(res => {
-        this.getList()
-      })
+      this.$axios
+        .get(
+          this.$api.deviceCheck.approvalOfHomeworkInstructionManual +
+            "?id=" +
+            id +
+            "&status=" +
+            status
+        )
+        .then(res => {
+          this.getList();
+        });
       this.$message({
-        type: 'success',
-        message: '鎿嶄綔鎴愬姛!'
+        type: "success",
+        message: "鎿嶄綔鎴愬姛!"
       });
     },
-    getRowKey (row) {
-      return row.index
+    getRowKey(row) {
+      return row.index;
     },
     deleteHomeworkGuidebook(row) {
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.$axios.get(this.$api.deviceCheck.homeworkGuidebook + "?id=" + row.id + "&instructionId=" + row.instructionId).then(res => {
-          this.$message.success('鍒犻櫎鎴愬姛锛�')
-          this.getList()
+      this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          this.$axios
+            .get(
+              this.$api.deviceCheck.homeworkGuidebook +
+                "?id=" +
+                row.id +
+                "&instructionId=" +
+                row.instructionId
+            )
+            .then(res => {
+              this.$message.success("鍒犻櫎鎴愬姛锛�");
+              this.getList();
+            });
         })
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '宸插彇娑堝垹闄�'
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堝垹闄�"
+          });
         });
-      });
     },
     downloadFile(fileName) {
-      let state = /\.(jpg|jpeg|png|gif)$/i.test(fileName)
+      let state = /\.(jpg|jpeg|png|gif)$/i.test(fileName);
       if (state) {
-        let url = this.javaApi + '/img/' + fileName;
-        fileDownload.downloadIamge(url, fileName)
+        let url = this.javaApi + "/img/" + fileName;
+        fileDownload.downloadIamge(url, fileName);
       } else {
-        const url = this.javaApi+'/word/'+ fileName
-        const link = document.createElement('a');
+        const url = this.javaApi + "/word/" + fileName;
+        const link = document.createElement("a");
         link.href = url;
         link.download = fileName;
         link.click();
-        this.$message.success('涓嬭浇鎴愬姛')
+        this.$message.success("涓嬭浇鎴愬姛");
       }
     },
     instructionEditFun(row) {
-      this.dialogVisible = true
-      this.$axios.get(this.$api.deviceCheck.homeworkGuidebookEditor + "?instructionId=" + row.instructionId).then(res => {
-        if (res.code == 200) {
-          this.instructionForm = res.data.instruction;
-          if (this.instructionForm.fileSystemName) {
-            this.fileList1.push({name: this.instructionForm.fileName})
+      this.dialogVisible = true;
+      this.$axios
+        .get(
+          this.$api.deviceCheck.homeworkGuidebookEditor +
+            "?instructionId=" +
+            row.instructionId
+        )
+        .then(res => {
+          if (res.code == 200) {
+            this.instructionForm = res.data.instruction;
+            if (this.instructionForm.fileSystemName) {
+              this.fileList1.push({ name: this.instructionForm.fileName });
+            }
+            this.documentTableData = res.data.list;
+            // 鍒犻櫎鐢�
+            this.documentTableData.forEach((v, k) => {
+              v.index = k;
+            });
           }
-          this.documentTableData = res.data.list;
-          // 鍒犻櫎鐢�
-          this.documentTableData.forEach((v, k) => {
-            v.index = k
-          })
-        }
-      })
+        });
     },
     handleSizeChange(val) {
-      this.search.size = val
-      this.getList()
+      this.search.size = val;
+      this.getList();
     },
     handleCurrentChange(val) {
-      this.search.current = val
-      this.getList()
+      this.search.current = val;
+      this.getList();
     },
     submitFun() {
-      this.$refs.form1.validate((valid) => {
+      this.$refs.form1.validate(valid => {
         if (valid) {
-          this.instructionForm.feTempHumRecordList = this.documentTableData
-          this.$axios.post(this.$api.deviceCheck.newHomeworkGuidebookAdded, this.instructionForm, {
-            headers: {
-              'Content-Type': 'application/json'
-            }
-          }).then(res => {
-            if (res.code == 200) {
-              this.$message.success('鎿嶄綔鎴愬姛锛�')
-              this.dialogVisible = false
-              this.getList()
-            }
-          })
+          this.instructionForm.feTempHumRecordList = this.documentTableData;
+          this.$axios
+            .post(
+              this.$api.deviceCheck.newHomeworkGuidebookAdded,
+              this.instructionForm,
+              {
+                headers: {
+                  "Content-Type": "application/json"
+                }
+              }
+            )
+            .then(res => {
+              if (res.code == 200) {
+                this.$message.success("鎿嶄綔鎴愬姛锛�");
+                this.dialogVisible = false;
+                this.getList();
+              }
+            });
         } else {
           return false;
         }
       });
     },
     clickSidebar(clickNodeVal) {
-      this.laboratoryNameIsNull = false
+      this.laboratoryNameIsNull = false;
       // 鏄惁瀛樺湪value锛屽瓨鍦╲alue浠h〃涓轰笁绾�
       if (!clickNodeVal.value) {
         this.list = [];
-        this.entity.laboratoryName = null
-        this.entity.storagePoint = null
+        this.entity.laboratoryName = null;
+        this.entity.storagePoint = null;
         // 绛変簬1浠h〃涓烘爲鐨勪竴绾э紝label涓洪儴闂�
-        if (clickNodeVal.label === '鍏朵粬') {
-          this.laboratoryNameIsNull = true
-          this.getAllDevice()
-          return
+        if (clickNodeVal.label === "鍏朵粬") {
+          this.laboratoryNameIsNull = true;
+          this.getAllDevice();
+          return;
         }
         if (clickNodeVal.level === 1) {
-          this.entity.laboratoryName = clickNodeVal.label
+          this.entity.laboratoryName = clickNodeVal.label;
           // 绛変簬浜岀骇銆俵abel涓哄瓨鍌ㄥ湴鐐�
         } else if (clickNodeVal.level === 2) {
           // 鍏朵粬琛ㄧず娌℃湁閰嶇疆瀹為獙瀹わ紝鍙厤缃簡鍦扮偣
-          if (clickNodeVal.parent.label === '鍏朵粬') {
-            this.laboratoryNameIsNull = true
+          if (clickNodeVal.parent.label === "鍏朵粬") {
+            this.laboratoryNameIsNull = true;
           } else {
-            this.entity.laboratoryName = clickNodeVal.parent.label
+            this.entity.laboratoryName = clickNodeVal.parent.label;
           }
-          this.entity.storagePoint = clickNodeVal.label
+          this.entity.storagePoint = clickNodeVal.label;
         }
-        this.getAllDevice()
+        this.getAllDevice();
       }
     },
-    //鏂板
+    // 鏂板
     addFile() {
-      this.$refs.form.validate((valid) => {
+      this.$refs.form.validate(valid => {
         if (valid) {
-          if (this.form.index !== undefined) {
-            this.$set(this.documentTableData, this.form.index, this.form)
+          if (this.tableDataIndex !== undefined) {
+            this.$set(this.documentTableData, this.tableDataIndex, this.form);
             this.dialogVisible1 = false;
-            this.$message.success('淇敼鎴愬姛');
+            this.$message.success("淇敼鎴愬姛");
+            console.log(
+              "this.documentTableData---edit",
+              this.documentTableData[this.tableDataIndex]
+            );
           } else {
             this.documentTableData.push(this.form);
-            // 鍒犻櫎鐢�
-            this.documentTableData.forEach((v, k) => {
-              v.index = k
-            })
             this.dialogVisible1 = false;
-            this.$message.success('娣诲姞鎴愬姛');
+            this.$message.success("娣诲姞鎴愬姛");
           }
         } else {
           return false;
         }
       });
     },
+    openAddDia() {
+      this.dialogVisible1 = true;
+      this.tableDataIndex = undefined;
+      this.form = {
+        documentType: "",
+        documentNumber: "",
+        deviceName: "",
+        deviceModel: "",
+        deviceNumber: "",
+        fileName: "",
+        fileSystemName: "",
+        submitDate: "",
+        documentNote: ""
+      };
+      this.form.deviceName = this.clickNodeVal.label;
+      this.onDeviceNameChange();
+      this.fileList = [];
+    },
     editFun(row, index) {
-      this.form = {...row}
-      // 鏇存柊鐢�
-      this.form.index = index;
+      this.form = { ...row };
+      this.tableDataIndex = index;
+      console.log("this.tableDataIndex", this.tableDataIndex);
       // 鍥炴樉鍒楄〃
       if (this.form.fileSystemName) {
-        this.fileList.push({name: this.form.fileName})
+        this.fileList.push({ name: this.form.fileName });
       }
-      this.dialogVisible1 = true
+      this.dialogVisible1 = true;
+    },
+    closeDia() {
+      this.dialogVisible1 = false;
+      this.$refs["form"].resetFields();
+      this.fileList = [];
     },
     handleSelectionChange(selected) {
-      this.selectedRow = selected
+      this.selectedRow = selected;
     },
     async delFile() {
       if (this.selectedRow.length === 0) {
-        this.$message.error('璇烽�夋嫨瑕佸垹闄ょ殑閫夐」');
+        this.$message.error("璇烽�夋嫨瑕佸垹闄ょ殑閫夐」");
         return;
       }
       // 鍒犻櫎淇濆瓨濂界殑鏁版嵁
       let ids = this.selectedRow
-        .filter(item => item.id!== undefined)
-        .map(item => item.id).join(',');
+        .filter(item => item.id !== undefined)
+        .map(item => item.id)
+        .join(",");
       //鏈夐敊璇�
-      const res = await this.$axios.get(this.$api.deviceCheck.deleteHomeworkGuidebook + '?ids=' + ids);
+      const res = await this.$axios.get(
+        this.$api.deviceCheck.deleteHomeworkGuidebook + "?ids=" + ids
+      );
       if (res.code === 200) {
         // 鍒犻櫎瑙嗗浘鐨勬暟鎹�
         for (const resKey in this.selectedRow) {
-          this.documentTableData = this.documentTableData.filter(item => item.index === this.selectedRow[resKey].index)
+          this.documentTableData = this.documentTableData.filter(
+            item => item.index === this.selectedRow[resKey].index
+          );
         }
         this.$message.success({
-          message: '鍒犻櫎鎴愬姛',
-          type: 'success'
+          message: "鍒犻櫎鎴愬姛",
+          type: "success"
         });
       }
     },
@@ -477,47 +794,65 @@
       this.instructionForm.fileSystemName = response.data;
     },
     onError(error, file, fileList) {
-      this.$message.error('涓婁紶澶辫触:', error, file, fileList);
+      this.$message.error("涓婁紶澶辫触:", error, file, fileList);
     },
     handleRemove(file, fileList) {
-      this.form.fileName = ''
-      this.form.fileSystemName = ''
+      this.form.fileName = "";
+      this.form.fileSystemName = "";
     },
     handleRemove1(file, fileList) {
-      this.form.fileName = ''
-      this.form.fileSystemName = ''
+      this.form.fileName = "";
+      this.form.fileSystemName = "";
     },
     beforeRemove(file) {
-      return this.$confirm(`纭畾绉婚櫎 ${file.name}锛焋)
+      return this.$confirm(`纭畾绉婚櫎 ${file.name}锛焋);
     },
     handleExceed(files, fileList) {
-      this.$message.warning(`褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠躲�俙);
+      this.$message.warning(
+        `褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠躲�俙
+      );
     },
     getList() {
-      this.$axios.get(this.$api.deviceCheck.pageByPageQueryOfHomeworkInstructions + "?size=" + this.search.size + "&current=" + this.search.current).then(res => {
-        if (res.code == 200) {
-          this.tableData = res.data.records;
-          this.search.total = res.data.total
-        }
-      })
+      this.$axios
+        .get(
+          this.$api.deviceCheck.pageByPageQueryOfHomeworkInstructions +
+            "?size=" +
+            this.search.size +
+            "&current=" +
+            this.search.current
+        )
+        .then(res => {
+          if (res.code == 200) {
+            this.tableData = res.data.records;
+            this.search.total = res.data.total;
+          }
+        });
     },
     getAllDevice() {
-      this.$axios.post(this.$api.deviceScope.selectDeviceParameter + "?laboratoryNameIsNull=" + this.laboratoryNameIsNull, {
-        page: {
-          current: 1,
-          size: -1
-        },
-        entity: this.entity
-      }, {
-        headers: {
-          'Content-Type': 'application/json'
-        }
-      }).then(res => {
-        if (res.code == 200) {
-          this.devices = res.data.body.records;
-          this.updateDeviceNameOptions();
-        }
-      })
+      this.$axios
+        .post(
+          this.$api.deviceScope.selectDeviceParameter +
+            "?laboratoryNameIsNull=" +
+            this.laboratoryNameIsNull,
+          {
+            page: {
+              current: 1,
+              size: -1
+            },
+            entity: this.entity
+          },
+          {
+            headers: {
+              "Content-Type": "application/json"
+            }
+          }
+        )
+        .then(res => {
+          if (res.code == 200) {
+            this.devices = res.data.body.records;
+            this.updateDeviceNameOptions();
+          }
+        });
     },
     // 鏇存柊璁惧鍚嶇О涓嬫媺妗嗙殑閫夐」
     updateDeviceNameOptions() {
@@ -529,29 +864,30 @@
     // 璁惧鍚嶇О鏀瑰彉鏃惰Е鍙�
     onDeviceNameChange() {
       // 鏍规嵁閫変腑鐨勮澶囧悕绉帮紝鏇存柊绠$悊缂栧彿涓嬫媺妗嗙殑閫夐」
-      const selectedDevice = this.devices.find(device => device.deviceName === this.form.deviceName);
+      const selectedDevice = this.devices.find(
+        device => device.deviceName === this.form.deviceName
+      );
       if (selectedDevice) {
         this.form.deviceNumber = selectedDevice.managementNumber;
         this.form.deviceModel = selectedDevice.specificationModel;
-        this.form.deviceId = selectedDevice.id
+        this.form.deviceId = selectedDevice.id;
       }
-    },
+    }
   },
   computed: {
     headers() {
       return {
-        'token': sessionStorage.getItem('token')
-      }
+        token: sessionStorage.getItem("token")
+      };
     },
     action() {
-      return this.javaApi + this.$api.personnel.saveCNASFile
+      return this.javaApi + this.$api.personnel.saveCNASFile;
     }
-  },
-}
+  }
+};
 </script>
 
 <style scoped>
-
 h4 {
   font-weight: 400;
   font-size: 16px;
diff --git a/src/components/equipment/equipment-acceptance.vue b/src/components/equipment/equipment-acceptance.vue
index 8bda75d..1f2ec01 100644
--- a/src/components/equipment/equipment-acceptance.vue
+++ b/src/components/equipment/equipment-acceptance.vue
@@ -2,48 +2,117 @@
   <div>
     <div>
       <div style="margin: 10px 0;text-align: right">
-        <el-button size="small" type="primary" @click="handleForm('add')">鏂板</el-button>
+        <el-button size="small" type="primary" @click="handleForm('add')"
+          >鏂板</el-button
+        >
       </div>
       <div>
-        <el-table ref="yearTable" v-loading="yearTableDetailDataLoading" :data="yearTableDetailData"
-                  height="calc(100vh - 18em)"
-                  style="width: 100% ;">
+        <el-table
+          ref="yearTable"
+          v-loading="yearTableDetailDataLoading"
+          :data="yearTableDetailData"
+          height="calc(100vh - 18em)"
+          style="width: 100% ;"
+        >
           <!-- 琛ㄦ牸鍒� -->
-          <el-table-column align="center" header-align="center" label="搴忓彿" prop="prop" type="index" width="70"></el-table-column>
-          <el-table-column label="鍒拌揣鏃ユ湡" min-width="150" prop="arrivalDate"></el-table-column>
-          <el-table-column label="閲戦" min-width="100" prop="goldAmount"></el-table-column>
-          <el-table-column label="缁翠慨鍗曚綅" min-width="150" prop="maintenanceunit"></el-table-column>
+          <el-table-column
+            align="center"
+            header-align="center"
+            label="搴忓彿"
+            prop="prop"
+            type="index"
+            width="70"
+          ></el-table-column>
+          <el-table-column
+            label="鍒拌揣鏃ユ湡"
+            min-width="150"
+            prop="arrivalDate"
+          ></el-table-column>
+          <el-table-column
+            label="閲戦"
+            min-width="100"
+            prop="goldAmount"
+          ></el-table-column>
+          <el-table-column
+            label="缁翠慨鍗曚綅"
+            min-width="150"
+            prop="maintenanceunit"
+          ></el-table-column>
           <!-- 鎿嶄綔鎸夐挳 -->
           <el-table-column align="center" label="鎿嶄綔" min-width="180">
             <template slot-scope="scope">
-              <el-button size="small" type="text" @click="handleForm('edit',scope.row.acceptanceId)">缂栬緫</el-button>
-              <el-button size="small" type="text" @click="handleForm('view',scope.row.acceptanceId)">鏌ョ湅</el-button>
-              <el-button size="small" type="text" @click="record(scope.row)">闄勪欢</el-button>
-              <el-button size="small" type="text" @click="handleDownOne(scope.row.acceptanceId)">瀵煎嚭</el-button>
-              <el-button size="small" style="color: #f56c6c" type="text" @click="deleteFun(scope.row.acceptanceId)">鍒犻櫎</el-button>
+              <el-button
+                size="small"
+                type="text"
+                @click="handleForm('edit', scope.row.acceptanceId)"
+                >缂栬緫</el-button
+              >
+              <el-button
+                size="small"
+                type="text"
+                @click="handleForm('view', scope.row.acceptanceId)"
+                >鏌ョ湅</el-button
+              >
+              <el-button size="small" type="text" @click="record(scope.row)"
+                >闄勪欢</el-button
+              >
+              <el-button
+                size="small"
+                type="text"
+                @click="handleDownOne(scope.row.acceptanceId)"
+                >瀵煎嚭</el-button
+              >
+              <el-button
+                size="small"
+                style="color: #f56c6c"
+                type="text"
+                @click="deleteFun(scope.row.acceptanceId)"
+                >鍒犻櫎</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
-        <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]"
-                       :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange1"
-                       @current-change="handleCurrentChange1">
+        <el-pagination
+          :current-page="1"
+          :page-size="pagination1.size"
+          :page-sizes="[10, 20, 30, 50, 100]"
+          :total="pagination1.total"
+          layout="->,total, sizes, prev, pager, next, jumper"
+          @size-change="handleSizeChange1"
+          @current-change="handleCurrentChange1"
+        >
         </el-pagination>
       </div>
     </div>
-    <acceptance-form v-if="applicationForm" ref="applicationForm" @closeDialog="closeDialog"></acceptance-form>
+    <acceptance-form
+      v-if="applicationForm"
+      ref="applicationForm"
+      @closeDialog="closeDialog"
+    ></acceptance-form>
     <!--涓婁紶鎶ュ憡-->
-    <el-dialog :visible.sync="filesDialogVisible" title="闄勪欢" width="80%" @closed="closeFilesLook">
+    <el-dialog
+      :visible.sync="filesDialogVisible"
+      title="闄勪欢"
+      width="80%"
+      @closed="closeFilesLook"
+    >
       <div style="display: flex;justify-content: space-between;">
-        <el-upload ref='upload'
-                   :action="fileAction"
-                   :auto-upload="true"
-                   :before-upload="fileBeforeUpload"
-                   :data="{acceptanceId: acceptanceId}"
-                   :headers="headers" :on-error="onError"
-                   :on-success="handleSuccessUp"
-                   :show-file-list="false"
-                   accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' style="width: 80px !important;">
-          <el-button size="small" style="height: 38px" type="primary">闄勪欢涓婁紶</el-button>
+        <el-upload
+          ref="upload"
+          :action="fileAction"
+          :auto-upload="true"
+          :before-upload="fileBeforeUpload"
+          :data="{ acceptanceId: acceptanceId }"
+          :headers="headers"
+          :on-error="onError"
+          :on-success="handleSuccessUp"
+          :show-file-list="false"
+          accept=".jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar"
+          style="width: 80px !important;"
+        >
+          <el-button size="small" style="height: 38px" type="primary"
+            >闄勪欢涓婁紶</el-button
+          >
         </el-upload>
       </div>
       <div>
@@ -54,16 +123,24 @@
           :highlightCurrentRow="true"
           :table-data="tableData"
           :table-loading="tableLoading"
-          style="margin-top: 0.5em;">
+          style="margin-top: 0.5em;"
+        >
         </ZTTable>
       </div>
     </el-dialog>
     <el-dialog
       :visible.sync="lookDialogVisible"
       fullscreen
-      title="鏌ョ湅闄勪欢" top="5vh" width="800px">
-      <filePreview v-if="lookDialogVisible" :currentFile="{}"
-                   :fileUrl="fileUrl" style="height: 90vh;overflow-y: auto;"/>
+      title="鏌ョ湅闄勪欢"
+      top="5vh"
+      width="800px"
+    >
+      <filePreview
+        v-if="lookDialogVisible"
+        :currentFile="{}"
+        :fileUrl="fileUrl"
+        style="height: 90vh;overflow-y: auto;"
+      />
     </el-dialog>
   </div>
 </template>
@@ -72,16 +149,16 @@
 import AcceptanceForm from "./acceptance-form.vue";
 import ZTTable from "../caorui/ZTTable/index.vue";
 import filePreview from "../tool/file-preview.vue";
+import file from "../../util/file";
 
 export default {
   name: "equipment-acceptance",
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
-  components: {filePreview, ZTTable, AcceptanceForm},
+  components: { filePreview, ZTTable, AcceptanceForm },
   props: {
     clickNodeVal: {
       type: Object,
-      default: () => {
-      }
+      default: () => {}
     }
   },
   data() {
@@ -90,7 +167,7 @@
       pagination1: {
         size: 10,
         current: 1,
-        total: 0,
+        total: 0
       },
       yearTableDetailDataLoading: false,
       yearTableDetailData: [],
@@ -98,36 +175,36 @@
       filesDialogVisible: false,
       columnData: [
         {
-          label: '鏂囦欢鍚嶇О',
-          prop: 'fileName',
-          minWidth: '150px'
+          label: "鏂囦欢鍚嶇О",
+          prop: "fileName",
+          minWidth: "150px"
         },
         {
-          dataType: 'action',
-          minWidth: '100',
-          label: '鎿嶄綔',
-          fixed: 'right',
+          dataType: "action",
+          minWidth: "100",
+          label: "鎿嶄綔",
+          fixed: "right",
           operation: [
             {
-              name: '棰勮',
-              type: 'text',
-              clickFun: (row) => {
-                this.handleLook(row)
+              name: "棰勮",
+              type: "text",
+              clickFun: row => {
+                this.handleLook(row);
               }
             },
             {
-              name: '涓嬭浇',
-              type: 'text',
-              clickFun: (row) => {
-                this.upload(row)
+              name: "涓嬭浇",
+              type: "text",
+              clickFun: row => {
+                this.upload(row);
               }
             },
             {
-              name: '鍒犻櫎',
-              type: 'text',
-              color: '#f56c6c',
-              clickFun: (row) => {
-                this.delete(row)
+              name: "鍒犻櫎",
+              type: "text",
+              color: "#f56c6c",
+              clickFun: row => {
+                this.delete(row);
               }
             }
           ]
@@ -135,210 +212,252 @@
       ],
       tableData: [],
       tableLoading: false,
-      acceptanceId: '', // 涓婁紶闄勪欢褰撳墠琛岀殑id
-      currentInfo:{},
+      acceptanceId: "", // 涓婁紶闄勪欢褰撳墠琛岀殑id
+      currentInfo: {},
       lookDialogVisible: false,
-      fileUrl: ''
-    }
+      fileUrl: ""
+    };
   },
   mounted() {
-    this.getYearTableDetailData(this.clickNodeVal.value)
+    this.getYearTableDetailData(this.clickNodeVal.value);
   },
   // 鏂规硶闆嗗悎
   methods: {
     // 鏌ヨ
     getYearTableDetailData(deviceId) {
-      this.yearTableDetailDataLoading = true
-      this.$axios.post(this.$api.deviceAcceptance.pageDeviceAcceptance, {
-        page: {
-          current: this.pagination1.current,
-          size: this.pagination1.size,
-        },
-        entity: {
-          deviceId: deviceId,
-        }
-      }, {
-        headers: {
-          'Content-Type': 'application/json'
-        },
-        noQs: true
-      }).then(res => {
-        if (res.code == 200) {
-          this.yearTableDetailData = res.data.records
-          this.pagination1.total = res.data.total
-        }
-        this.yearTableDetailDataLoading = false
-      }).catch(err => {
-        this.yearTableDetailDataLoading = false
-      })
+      this.yearTableDetailDataLoading = true;
+      this.$axios
+        .post(
+          this.$api.deviceAcceptance.pageDeviceAcceptance,
+          {
+            page: {
+              current: this.pagination1.current,
+              size: this.pagination1.size
+            },
+            entity: {
+              deviceId: deviceId
+            }
+          },
+          {
+            headers: {
+              "Content-Type": "application/json"
+            },
+            noQs: true
+          }
+        )
+        .then(res => {
+          if (res.code == 200) {
+            this.yearTableDetailData = res.data.records;
+            this.pagination1.total = res.data.total;
+          }
+          this.yearTableDetailDataLoading = false;
+        })
+        .catch(err => {
+          this.yearTableDetailDataLoading = false;
+        });
     },
     handleForm(type, id) {
-      this.applicationForm = true
+      this.applicationForm = true;
       this.$nextTick(() => {
-        this.$refs.applicationForm.openDialog(type, id, this.clickNodeVal.value)
-      })
+        this.$refs.applicationForm.openDialog(
+          type,
+          id,
+          this.clickNodeVal.value
+        );
+      });
     },
     closeDialog() {
-      this.applicationForm = false
-      this.getYearTableDetailData(this.clickNodeVal.value)
+      this.applicationForm = false;
+      this.getYearTableDetailData(this.clickNodeVal.value);
     },
     // 鎵撳紑鎶ュ憡寮规
-    record (row) {
-      this.filesDialogVisible = true
-      this.acceptanceId = row.acceptanceId
-      this.searchTableList()
+    record(row) {
+      this.filesDialogVisible = true;
+      this.acceptanceId = row.acceptanceId;
+      this.searchTableList();
     },
     // 鏌ヨ闄勪欢鍒楄〃
-    searchTableList () {
-      this.tableLoading = true
-      this.$axios.get(this.$api.deviceAcceptance.getDeviceAcceptanceFileList + '?acceptanceId=' + this.acceptanceId).then(res => {
-        this.tableLoading = false
-        if (res.code === 201) return
-        this.tableData = res.data
-      }).catch(err => {
-        this.tableLoading = false
-        console.log('err---', err);
-      })
+    searchTableList() {
+      this.tableLoading = true;
+      this.$axios
+        .get(
+          this.$api.deviceAcceptance.getDeviceAcceptanceFileList +
+            "?acceptanceId=" +
+            this.acceptanceId
+        )
+        .then(res => {
+          this.tableLoading = false;
+          if (res.code === 201) return;
+          this.tableData = res.data;
+        })
+        .catch(err => {
+          this.tableLoading = false;
+          console.log("err---", err);
+        });
     },
     // 鏌ョ湅鏂囦欢
-    handleLook(row){
-      this.currentInfo = row
-      this.lookDialogVisible = true
-      const state = /\.(jpg|jpeg|png|gif)$/i.test(this.currentInfo.fileUrl)
+    handleLook(row) {
+      this.currentInfo = row;
+      this.lookDialogVisible = true;
+      const state = /\.(jpg|jpeg|png|gif)$/i.test(this.currentInfo.fileUrl);
       if (state) {
-        this.fileUrl = this.javaApi+'/img/'+ this.currentInfo.fileUrl
+        this.fileUrl = this.javaApi + "/img/" + this.currentInfo.fileUrl;
       } else {
-        this.fileUrl = this.javaApi+'/word/'+ this.currentInfo.fileUrl
+        this.fileUrl = this.javaApi + "/word/" + this.currentInfo.fileUrl;
       }
     },
     // 涓嬭浇
-    upload (row) {
-      let url = '';
-      if(row.type==1){
-        url = this.javaApi+'/img/'+row.fileUrl
-        file.downloadIamge(url,row.fileName)
-      }else{
-        url = this.javaApi+'/word/'+row.fileUrl
-        const link = document.createElement('a');
+    upload(row) {
+      let url = "";
+      if (row.type == 1) {
+        url = this.javaApi + "/img/" + row.fileUrl;
+        file.downloadIamge(url, row.fileName);
+      } else {
+        url = this.javaApi + "/word/" + row.fileUrl;
+        const link = document.createElement("a");
         link.href = url;
         link.download = row.fileName;
         link.click();
       }
     },
     // 鍒犻櫎
-    delete (row) {
-      this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.tableLoading = true
-        this.$axios.get(this.$api.deviceAcceptance.delDeviceAcceptanceFileList + '?acceptanceFileId=' + row.acceptanceFileId).then(res => {
-          this.tableLoading = false
-          if (res.code === 201) return
-          this.$message.success('鍒犻櫎鎴愬姛')
-          this.searchTableList()
-        }).catch(err => {
-          this.tableLoading = false
-          console.log('err---', err);
+    delete(row) {
+      this.$confirm("姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          this.tableLoading = true;
+          this.$axios
+            .get(
+              this.$api.deviceAcceptance.delDeviceAcceptanceFileList +
+                "?acceptanceFileId=" +
+                row.acceptanceFileId
+            )
+            .then(res => {
+              this.tableLoading = false;
+              if (res.code === 201) return;
+              this.$message.success("鍒犻櫎鎴愬姛");
+              this.searchTableList();
+            })
+            .catch(err => {
+              this.tableLoading = false;
+              console.log("err---", err);
+            });
         })
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '宸插彇娑堝垹闄�'
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堝垹闄�"
+          });
         });
-      });
     },
     // 涓婁紶闄勪欢
     fileBeforeUpload(file) {
-      let flag = true
+      let flag = true;
       if (file.size > 1024 * 1024 * 10) {
-        this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
-        this.$refs.upload.clearFiles()
-        flag = false
+        this.$message.error("涓婁紶鏂囦欢涓嶈秴杩�10M");
+        this.$refs.upload.clearFiles();
+        flag = false;
       }
       if (!flag) {
         return Promise.reject(flag); //姝g‘鐨勭粓姝�
       }
     },
-    onError(err, file, fileList,type) {
-      this.$message.error('涓婁紶澶辫触')
-      this.$refs.upload.clearFiles()
+    onError(err, file, fileList, type) {
+      this.$message.error("涓婁紶澶辫触");
+      this.$refs.upload.clearFiles();
     },
-    handleSuccessUp(response, ) {
+    handleSuccessUp(response) {
       this.upLoading = false;
       if (response.code == 200) {
-        this.$message.success('涓婁紶鎴愬姛');
-        this.searchTableList()
+        this.$message.success("涓婁紶鎴愬姛");
+        this.searchTableList();
       }
     },
-    closeFilesLook () {
-      this.filesDialogVisible = false
+    closeFilesLook() {
+      this.filesDialogVisible = false;
     },
     // 鍒嗛〉
     handleSizeChange1(val) {
-      this.pagination1.size = val
-      this.getYearTableDetailData(this.clickNodeVal.value)
+      this.pagination1.size = val;
+      this.getYearTableDetailData(this.clickNodeVal.value);
     },
     // 鍒嗛〉
     handleCurrentChange1(val) {
-      this.pagination1.current = val
-      this.getYearTableDetailData(this.clickNodeVal.value)
+      this.pagination1.current = val;
+      this.getYearTableDetailData(this.clickNodeVal.value);
     },
     // 瀵煎嚭
     handleDownOne(id) {
-      this.outLoading = true
-      this.$axios.get(this.$api.deviceAcceptance.exportDeviceAcceptance + '?acceptanceId=' + id, {
-        responseType: "blob"
-      }).then(res => {
-        this.outLoading = false
-        const blob = new Blob([res], {type: 'application/octet-stream'});
-        //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
-        let reader = new FileReader();
-        reader.readAsText(blob, 'utf-8');
-        reader.onload = () => {
-          try {
-            let result = JSON.parse(reader.result);
-            if (result.message) {
-              this.$message.error(result.message);
-            } else {
-              const url = URL.createObjectURL(blob);
-              const link = document.createElement('a');
-              link.href = url;
-              link.download = '璁惧楠屾敹.doc';
-              link.click();
-              this.$message.success('瀵煎嚭鎴愬姛')
-            }
-          } catch (err) {
-            console.log(err);
-            const url = URL.createObjectURL(blob);
-            const link = document.createElement('a');
-            link.href = url;
-            link.download = '璁惧楠屾敹.doc';
-            link.click();
-            this.$message.success('瀵煎嚭鎴愬姛')
+      this.outLoading = true;
+      this.$axios
+        .get(
+          this.$api.deviceAcceptance.exportDeviceAcceptance +
+            "?acceptanceId=" +
+            id,
+          {
+            responseType: "blob"
           }
-        }
-      })
+        )
+        .then(res => {
+          this.outLoading = false;
+          const blob = new Blob([res], { type: "application/octet-stream" });
+          //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+          let reader = new FileReader();
+          reader.readAsText(blob, "utf-8");
+          reader.onload = () => {
+            try {
+              let result = JSON.parse(reader.result);
+              if (result.message) {
+                this.$message.error(result.message);
+              } else {
+                const url = URL.createObjectURL(blob);
+                const link = document.createElement("a");
+                link.href = url;
+                link.download = "璁惧楠屾敹.doc";
+                link.click();
+                this.$message.success("瀵煎嚭鎴愬姛");
+              }
+            } catch (err) {
+              console.log(err);
+              const url = URL.createObjectURL(blob);
+              const link = document.createElement("a");
+              link.href = url;
+              link.download = "璁惧楠屾敹.doc";
+              link.click();
+              this.$message.success("瀵煎嚭鎴愬姛");
+            }
+          };
+        });
     },
     // 鍒犻櫎
     deleteFun(id) {
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.$axios.get(this.$api.deviceAcceptance.delDeviceAcceptance + '?acceptanceId=' + id).then(res => {
-          this.$message.success('鍒犻櫎鎴愬姛锛�');
-          this.getYearTableDetailData(this.clickNodeVal.value);
+      this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          this.$axios
+            .get(
+              this.$api.deviceAcceptance.delDeviceAcceptance +
+                "?acceptanceId=" +
+                id
+            )
+            .then(res => {
+              this.$message.success("鍒犻櫎鎴愬姛锛�");
+              this.getYearTableDetailData(this.clickNodeVal.value);
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堝垹闄�"
+          });
         });
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '宸插彇娑堝垹闄�'
-        });
-      });
-    },
+    }
   },
   watch: {
     // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
@@ -346,20 +465,21 @@
       if (newVal.value) {
         this.getYearTableDetailData(newVal.value);
       }
-    },
+    }
   },
   computed: {
     headers() {
       return {
-        'token': sessionStorage.getItem('token')
-      }
+        token: sessionStorage.getItem("token")
+      };
     },
     fileAction() {
-      return this.javaApi + this.$api.deviceAcceptance.uploadDeviceAcceptanceFile
-
+      return (
+        this.javaApi + this.$api.deviceAcceptance.uploadDeviceAcceptanceFile
+      );
     }
-  },
-}
+  }
+};
 </script>
 
 <style scoped>
diff --git a/src/components/equipment/quantity-value-traceability-plan.vue b/src/components/equipment/quantity-value-traceability-plan.vue
index 8e78d1c..845a295 100644
--- a/src/components/equipment/quantity-value-traceability-plan.vue
+++ b/src/components/equipment/quantity-value-traceability-plan.vue
@@ -2,130 +2,352 @@
   <div>
     <div>
       <div style="margin: 10px 0;text-align: right">
-        <el-button size="small" type="primary" @click="getYearTableDetailData">鍒锋柊</el-button>
-        <el-button size="small" type="primary" @click="handleForm('add')">鏂板</el-button>
+        <el-button size="small" type="primary" @click="getYearTableDetailData"
+          >鍒锋柊</el-button
+        >
+        <el-button size="small" type="primary" @click="handleForm('add')"
+          >鏂板</el-button
+        >
       </div>
       <div>
-        <el-table ref="yearTable" v-loading="yearTableDetailDataLoading" :data="yearTableDetailData"
-                  height="calc(100vh - 18em)"
-                  style="width: 100% ;">
+        <el-table
+          ref="yearTable"
+          v-loading="yearTableDetailDataLoading"
+          :data="yearTableDetailData"
+          height="calc(100vh - 18em)"
+          style="width: 100% ;"
+        >
           <!-- 琛ㄦ牸鍒� -->
-          <el-table-column align="center" header-align="center" label="搴忓彿" prop="prop" type="index" width="70"></el-table-column>
-          <el-table-column label="骞翠唤" min-width="80" prop="planYear"></el-table-column>
-          <el-table-column label="鏂囦欢鍚嶇О" min-width="120" prop="compiler"></el-table-column>
-          <el-table-column label="缂栧埗浜�" min-width="150" prop="compiler"></el-table-column>
-          <el-table-column label="缂栧埗鏃堕棿" min-width="150" prop="datePreparation"></el-table-column>
-          <el-table-column label="鎵瑰噯浜�" min-width="180" prop="audit"></el-table-column>
+          <el-table-column
+            align="center"
+            header-align="center"
+            label="搴忓彿"
+            prop="prop"
+            type="index"
+            width="70"
+          ></el-table-column>
+          <el-table-column
+            label="骞翠唤"
+            min-width="80"
+            prop="planYear"
+          ></el-table-column>
+          <el-table-column
+            label="鏂囦欢鍚嶇О"
+            min-width="120"
+            prop="compiler"
+          ></el-table-column>
+          <el-table-column
+            label="缂栧埗浜�"
+            min-width="150"
+            prop="compiler"
+          ></el-table-column>
+          <el-table-column
+            label="缂栧埗鏃堕棿"
+            min-width="150"
+            prop="datePreparation"
+          ></el-table-column>
+          <el-table-column
+            label="鎵瑰噯浜�"
+            min-width="180"
+            prop="audit"
+          ></el-table-column>
           <el-table-column label="鎵瑰噯鐘舵��" min-width="180" prop="status">
             <template slot-scope="scope">
-              <el-tag v-if="scope.row.status ===  1" type="success">鎵� 鍑�</el-tag>
-              <el-tag v-if="scope.row.status ===  0" type="danger">涓嶆壒鍑�</el-tag>
+              <el-tag v-if="scope.row.status === 1" type="success"
+                >鎵� 鍑�</el-tag
+              >
+              <el-tag v-if="scope.row.status === 0" type="danger"
+                >涓嶆壒鍑�</el-tag
+              >
             </template>
           </el-table-column>
-          <el-table-column label="鎵瑰噯鏃堕棿" min-width="180" prop="auditDate"></el-table-column>
+          <el-table-column
+            label="鎵瑰噯鏃堕棿"
+            min-width="180"
+            prop="auditDate"
+          ></el-table-column>
           <!-- 鎿嶄綔鎸夐挳 -->
-          <el-table-column align="center" fixed="right" label="鎿嶄綔" min-width="180">
+          <el-table-column
+            align="center"
+            fixed="right"
+            label="鎿嶄綔"
+            min-width="180"
+          >
             <template slot-scope="scope">
-              <el-button :disabled="scope.row.status === 1" size="small" type="text" @click="handleForm('edit', scope.row)">缂栬緫</el-button>
-              <el-button :disabled="scope.row.status === 1" size="small" type="text" @click="handleForm('check', scope.row)">鎵瑰噯</el-button>
-              <el-button size="small" type="text" @click="handleDownOne(scope.row.traceabilityManagementId)">瀵煎嚭</el-button>
-              <el-button :disabled="scope.row.status === 1" size="small" style="color: #f56c6c" type="text" @click="deleteFun(scope.row.traceabilityManagementId)">鍒犻櫎</el-button>
+              <el-button
+                :disabled="scope.row.status === 1"
+                size="small"
+                type="text"
+                @click="handleForm('edit', scope.row)"
+                >缂栬緫</el-button
+              >
+              <el-button
+                :disabled="scope.row.status === 1"
+                size="small"
+                type="text"
+                @click="handleForm('check', scope.row)"
+                >鎵瑰噯</el-button
+              >
+              <el-button
+                size="small"
+                type="text"
+                @click="handleDownOne(scope.row.traceabilityManagementId)"
+                >瀵煎嚭</el-button
+              >
+              <el-button
+                :disabled="scope.row.status === 1"
+                size="small"
+                style="color: #f56c6c"
+                type="text"
+                @click="deleteFun(scope.row.traceabilityManagementId)"
+                >鍒犻櫎</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
-        <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]"
-                       :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange1"
-                       @current-change="handleCurrentChange1">
+        <el-pagination
+          :current-page="1"
+          :page-size="pagination1.size"
+          :page-sizes="[10, 20, 30, 50, 100]"
+          :total="pagination1.total"
+          layout="->,total, sizes, prev, pager, next, jumper"
+          @size-change="handleSizeChange1"
+          @current-change="handleCurrentChange1"
+        >
         </el-pagination>
       </div>
     </div>
-    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
-               :visible.sync="applicationForm" title="浠櫒璁惧閲忓�兼函婧愮鐞嗘�讳綋璁″垝"
-               width="80%" @close="closeDialog">
+    <el-dialog
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :visible.sync="applicationForm"
+      title="浠櫒璁惧閲忓�兼函婧愮鐞嗘�讳綋璁″垝"
+      width="80%"
+      @close="closeDialog"
+    >
       <div style="display: flex;align-items: center;">
-        <el-button v-if="operationType !== 'check'" size="small" type="primary" @click="addTableRow">娣诲姞</el-button>
+        <el-button
+          v-if="operationType !== 'check'"
+          size="small"
+          type="primary"
+          @click="addTableRow"
+          >娣诲姞</el-button
+        >
         <span style="width: 60px">骞翠唤锛�</span>
         <el-date-picker
           v-model="form.planYear"
           type="year"
           value-format="yyyy"
+          :disabled="operationType === 'check'"
           clearable
           size="small"
           format="yyyy"
-          placeholder="閫夋嫨骞�">
+          placeholder="閫夋嫨骞�"
+        >
         </el-date-picker>
       </div>
       <div style="margin: 10px 0">
-        <el-table ref="yearTable" :data="deviceTraceabilityManagementDetails"
-                  height="300px" id="templateParamTable" row-key="deviceId"
-                  style="width: 100% ;">
-          <el-table-column align="center" header-align="center" label="搴忓彿" type="index" width="60"></el-table-column>
+        <el-table
+          ref="yearTable"
+          :data="deviceTraceabilityManagementDetails"
+          height="300px"
+          id="templateParamTable"
+          row-key="deviceId"
+          style="width: 100% ;"
+        >
+          <el-table-column
+            align="center"
+            header-align="center"
+            label="搴忓彿"
+            type="index"
+            width="60"
+          ></el-table-column>
           <el-table-column label="璁惧鍚嶇О" min-width="170" prop="deviceId">
             <template slot-scope="scope">
-              <el-input v-model="scope.row.deviceName" :disabled="operationType === 'check'" clearable size="small"></el-input>
+              <el-input
+                v-model="scope.row.deviceName"
+                :disabled="operationType === 'check'"
+                clearable
+                size="small"
+              ></el-input>
             </template>
           </el-table-column>
-          <el-table-column label="鍨嬪彿" min-width="140" prop="specificationModel">
+          <el-table-column
+            label="鍨嬪彿"
+            min-width="140"
+            prop="specificationModel"
+          >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.specificationModel" :disabled="operationType === 'check'" clearable size="small"></el-input>
+              <el-input
+                v-model="scope.row.specificationModel"
+                :disabled="operationType === 'check'"
+                clearable
+                size="small"
+              ></el-input>
             </template>
           </el-table-column>
-          <el-table-column label="璁惧缂栧彿" min-width="140" prop="managementNumber">
+          <el-table-column
+            label="璁惧缂栧彿"
+            min-width="140"
+            prop="managementNumber"
+          >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.managementNumber" :disabled="operationType === 'check'" clearable size="small"></el-input>
+              <el-input
+                v-model="scope.row.managementNumber"
+                :disabled="operationType === 'check'"
+                clearable
+                size="small"
+              ></el-input>
             </template>
           </el-table-column>
-          <el-table-column label="鎶�鏈寚鏍囧弬鏁�" min-width="120" prop="technicalIndexParameters">
+          <el-table-column
+            label="鎶�鏈寚鏍囧弬鏁�"
+            min-width="120"
+            prop="technicalIndexParameters"
+          >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.technicalIndexParameters" :disabled="operationType === 'check'" clearable size="small" type="textarea"></el-input>
+              <el-input
+                v-model="scope.row.technicalIndexParameters"
+                :disabled="operationType === 'check'"
+                clearable
+                size="small"
+                type="textarea"
+              ></el-input>
             </template>
           </el-table-column>
-          <el-table-column label="鎶�鏈寚鏍囪姹�" min-width="120" prop="technicalRequirements">
+          <el-table-column
+            label="鎶�鏈寚鏍囪姹�"
+            min-width="120"
+            prop="technicalRequirements"
+          >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.technicalRequirements" :disabled="operationType === 'check'" clearable size="small" type="textarea"></el-input>
+              <el-input
+                v-model="scope.row.technicalRequirements"
+                :disabled="operationType === 'check'"
+                clearable
+                size="small"
+                type="textarea"
+              ></el-input>
             </template>
           </el-table-column>
-          <el-table-column label="妫�瀹氬懆鏈�" min-width="120" prop="verificationCycle">
+          <el-table-column
+            label="妫�瀹氬懆鏈�"
+            min-width="120"
+            prop="verificationCycle"
+          >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.verificationCycle" :disabled="operationType === 'check'" clearable size="small" type="textarea"></el-input>
+              <el-input
+                v-model="scope.row.verificationCycle"
+                :disabled="operationType === 'check'"
+                clearable
+                size="small"
+                type="textarea"
+              ></el-input>
             </template>
           </el-table-column>
-          <el-table-column label="妫�瀹氬崟浣�" min-width="90" prop="verificationUnit">
+          <el-table-column
+            label="妫�瀹氬崟浣�"
+            min-width="90"
+            prop="verificationUnit"
+          >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.verificationUnit" :disabled="operationType === 'check'" clearable size="small" type="textarea"></el-input>
+              <el-input
+                v-model="scope.row.verificationUnit"
+                :disabled="operationType === 'check'"
+                clearable
+                size="small"
+                type="textarea"
+              ></el-input>
             </template>
           </el-table-column>
           <el-table-column label="澶囨敞" min-width="90" prop="remark">
             <template slot-scope="scope">
-              <el-input v-model="scope.row.remark" :disabled="operationType === 'check'" clearable size="small" type="textarea"></el-input>
+              <el-input
+                v-model="scope.row.remark"
+                :disabled="operationType === 'check'"
+                clearable
+                size="small"
+                type="textarea"
+              ></el-input>
             </template>
           </el-table-column>
           <el-table-column fixed="right" label="鎿嶄綔" width="80" align="center">
             <template slot-scope="scope">
-              <el-button style="color: #f56c6c" type="text" @click="deleteRow(scope.$index)">鍒犻櫎</el-button>
+              <el-button
+                style="color: #f56c6c"
+                type="text"
+                @click="deleteRow(scope.$index)"
+                >鍒犻櫎</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="closeDialog">鍙� 娑�</el-button>
-        <el-button v-if="operationType !=='check'" :loading="submitFormLoading" type="primary" @click="submitForm">纭� 璁�</el-button>
-        <el-button v-if="operationType ==='check'" :loading="submitFormLoading" type="primary" @click="checkStatus(0)">涓嶉�氳繃</el-button>
-        <el-button v-if="operationType ==='check'" :loading="submitFormLoading" type="primary" @click="checkStatus(1)">閫� 杩�</el-button>
+        <el-button
+          v-if="operationType !== 'check'"
+          :loading="submitFormLoading"
+          type="primary"
+          @click="submitForm"
+          >纭� 璁�</el-button
+        >
+        <el-button
+          v-if="operationType === 'check'"
+          :loading="submitFormLoading"
+          type="primary"
+          @click="checkStatus(0)"
+          >涓嶉�氳繃</el-button
+        >
+        <el-button
+          v-if="operationType === 'check'"
+          :loading="submitFormLoading"
+          type="primary"
+          @click="checkStatus(1)"
+          >閫� 杩�</el-button
+        >
       </span>
     </el-dialog>
-    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
-               :visible.sync="addEquipDia" title="娣诲姞璁惧" width="50%">
-      <el-table ref="multipleTable" :data="equipOptions" tooltip-effect="dark" height="500"
-                style="width: 100%" @selection-change="handleSelectionChange">
+    <el-dialog
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :visible.sync="addEquipDia"
+      title="娣诲姞璁惧"
+      width="50%"
+    >
+      <el-table
+        ref="multipleTable"
+        :data="equipOptions"
+        tooltip-effect="dark"
+        height="500"
+        style="width: 100%"
+        @selection-change="handleSelectionChange"
+      >
         <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column label="璁惧鍚嶇О" prop="label" width="190"></el-table-column>
-        <el-table-column prop="specificationModel" label="鍨嬪彿" width="120"></el-table-column>
-        <el-table-column prop="managementNumber" label="璁惧缂栧彿"></el-table-column>
+        <el-table-column
+          label="璁惧鍚嶇О"
+          prop="label"
+          width="190"
+        ></el-table-column>
+        <el-table-column
+          prop="specificationModel"
+          label="鍨嬪彿"
+          width="120"
+        ></el-table-column>
+        <el-table-column
+          prop="managementNumber"
+          label="璁惧缂栧彿"
+        ></el-table-column>
       </el-table>
       <span slot="footer" class="dialog-footer">
         <el-button @click="addEquipDia = false">鍙� 娑�</el-button>
-        <el-button v-if="operationType !=='check'" :loading="submitFormLoading" type="primary" @click="changeMachineName">纭� 璁�</el-button>
+        <el-button
+          v-if="operationType !== 'check'"
+          :loading="submitFormLoading"
+          type="primary"
+          @click="changeMachineName"
+          >纭� 璁�</el-button
+        >
       </span>
     </el-dialog>
   </div>
@@ -141,8 +363,7 @@
   props: {
     clickNodeVal: {
       type: Object,
-      default: () => {
-      }
+      default: () => {}
     }
   },
   data() {
@@ -151,7 +372,7 @@
       pagination1: {
         size: 10,
         current: 1,
-        total: 0,
+        total: 0
       },
       yearTableDetailDataLoading: false,
       yearTableDetailData: [],
@@ -160,146 +381,190 @@
       deviceIds: [],
       applicationForm: false,
       submitFormLoading: false,
-      operationType: '',
+      operationType: "",
       equipOptions: [],
       form: {
-        planYear: '',
+        planYear: "",
         deviceTraceabilityManagementDetails: []
       },
-      addEquipDia: false,
-    }
+      addEquipDia: false
+    };
   },
   mounted() {
-    this.getYearTableDetailData()
+    this.getYearTableDetailData();
   },
   // 鏂规硶闆嗗悎
   methods: {
     // 鏌ヨ
     getYearTableDetailData() {
-      this.yearTableDetailDataLoading = true
-      this.$axios.post(this.$api.deviceTraceabilityManagement.selectDeviceTraceabilityManagementByPage, {
-        page: {
-          current: this.pagination1.current,
-          size: this.pagination1.size,
-        },
-        entity: {}
-      }, {
-        headers: {
-          'Content-Type': 'application/json'
-        },
-        noQs: true
-      }).then(res => {
-        if (res.code == 200) {
-          this.yearTableDetailData = res.data.records
-          this.pagination1.total = res.data.total
-        }
-        this.yearTableDetailDataLoading = false
-      }).catch(err => {
-        this.yearTableDetailDataLoading = false
-      })
+      this.yearTableDetailDataLoading = true;
+      this.$axios
+        .post(
+          this.$api.deviceTraceabilityManagement
+            .selectDeviceTraceabilityManagementByPage,
+          {
+            page: {
+              current: this.pagination1.current,
+              size: this.pagination1.size
+            },
+            entity: {}
+          },
+          {
+            headers: {
+              "Content-Type": "application/json"
+            },
+            noQs: true
+          }
+        )
+        .then(res => {
+          if (res.code == 200) {
+            this.yearTableDetailData = res.data.records;
+            this.pagination1.total = res.data.total;
+          }
+          this.yearTableDetailDataLoading = false;
+        })
+        .catch(err => {
+          this.yearTableDetailDataLoading = false;
+        });
     },
     // 鎵撳紑鏂板鍜岀紪杈戝脊妗�
     handleForm(type, row) {
-      this.operationType = type
-      this.applicationForm = true
-      this.form = {
-        planYear: '',
-          deviceTraceabilityManagementDetails: []
-      },
-      this.deviceTraceabilityManagementDetails = []
+      this.operationType = type;
+      this.applicationForm = true;
+      (this.form = {
+        planYear: "",
+        deviceTraceabilityManagementDetails: []
+      }),
+        (this.deviceTraceabilityManagementDetails = []);
       if (row) {
-        this.traceabilityManagementId = row.traceabilityManagementId
-        this.$axios.get(this.$api.deviceTraceabilityManagement.getTraceabilityManagementDetail + '?traceabilityManagementId=' + this.traceabilityManagementId).then(res => {
-          if (res.code === 200) {
-            this.form = res.data
-            this.deviceTraceabilityManagementDetails = this.form.deviceTraceabilityManagementDetails
-          }
-        }).catch(error => {
-          console.error(error)
-        })
+        this.traceabilityManagementId = row.traceabilityManagementId;
+        this.$axios
+          .get(
+            this.$api.deviceTraceabilityManagement
+              .getTraceabilityManagementDetail +
+              "?traceabilityManagementId=" +
+              this.traceabilityManagementId
+          )
+          .then(res => {
+            if (res.code === 200) {
+              this.form = res.data;
+              this.deviceTraceabilityManagementDetails = this.form.deviceTraceabilityManagementDetails;
+            }
+          })
+          .catch(error => {
+            console.error(error);
+          });
       }
     },
     // 娣诲姞璁惧
-    addTableRow () {
-      this.addEquipDia = true
-      this.getEquipOptions()
+    addTableRow() {
+      this.addEquipDia = true;
+      this.getEquipOptions();
     },
-    handleSelectionChange (selection) {
-      this.selectionRows = selection
+    handleSelectionChange(selection) {
+      this.selectionRows = selection;
     },
     // 璧嬪�间华鍣ㄧ紪鍙�
     changeMachineName() {
-      this.deviceTraceabilityManagementDetails = []
+      this.deviceTraceabilityManagementDetails = [];
       this.selectionRows.map(val => {
-        this.deviceTraceabilityManagementDetails.push({deviceId: val.id,managementNumber: val.value, deviceName: val.label, specificationModel: val.specificationModel})
-      })
-      this.addEquipDia = false
-      this.rowDrop()
+        this.deviceTraceabilityManagementDetails.push({
+          deviceId: val.id,
+          managementNumber: val.value,
+          deviceName: val.label,
+          specificationModel: val.specificationModel
+        });
+      });
+      this.addEquipDia = false;
+      this.rowDrop();
     },
     rowDrop() {
-      const that = this
+      const that = this;
       const tbody = document.querySelector(
-        '#templateParamTable .el-table__body-wrapper tbody'
-      )
+        "#templateParamTable .el-table__body-wrapper tbody"
+      );
       if (!this.sortTable) {
         this.sortTable = Sortable.create(tbody, {
           animation: 200, //鍔ㄧ敾鏃堕暱
           handle: ".el-table__row", //鍙嫋鎷藉尯鍩焎lass
           //鎷栨嫿涓簨浠�
           onMove: ({ dragged, related }) => {
-            const oldRow = that.deviceTraceabilityManagementDetails[dragged.rowIndex] //鏃т綅缃暟鎹�
-            const newRow = that.deviceTraceabilityManagementDetails[related.rowIndex] //琚嫋鎷界殑鏂版暟鎹�
+            const oldRow =
+              that.deviceTraceabilityManagementDetails[dragged.rowIndex]; //鏃т綅缃暟鎹�
+            const newRow =
+              that.deviceTraceabilityManagementDetails[related.rowIndex]; //琚嫋鎷界殑鏂版暟鎹�
           },
           //鎷栨嫿缁撴潫浜嬩欢
           onEnd: evt => {
-            const curRow = that.deviceTraceabilityManagementDetails.splice(evt.oldIndex, 1)[0];
-            that.deviceTraceabilityManagementDetails.splice(evt.newIndex, 0, curRow);
+            const curRow = that.deviceTraceabilityManagementDetails.splice(
+              evt.oldIndex,
+              1
+            )[0];
+            that.deviceTraceabilityManagementDetails.splice(
+              evt.newIndex,
+              0,
+              curRow
+            );
           }
-        })
+        });
       }
     },
     // 鍒犻櫎琛ㄦ牸琛�
-    deleteRow (index) {
-      this.deviceTraceabilityManagementDetails.splice(index, 1)
+    deleteRow(index) {
+      this.deviceTraceabilityManagementDetails.splice(index, 1);
     },
     // 鎻愪氦鏂板鍜屼慨鏀�
     submitForm() {
-      this.form.deviceTraceabilityManagementDetails = this.HaveJson(this.deviceTraceabilityManagementDetails)
-      this.submitFormLoading = true
-      if (this.operationType === 'add') {
-        this.$axios.post(this.$api.deviceTraceabilityManagement.addTraceabilityManagement,
-          this.form, {
-            headers: {
-              'Content-Type': 'application/json'
-            },
-            noQs: true
-          }).then(res => {
-          if (res.code == 200) {
-            this.$message.success('鏂板鎴愬姛')
-            this.applicationForm = false
-            this.getYearTableDetailData()
-          }
-          this.submitFormLoading = false
-        }).catch(err => {
-          this.submitFormLoading = false
-        })
+      this.form.deviceTraceabilityManagementDetails = this.HaveJson(
+        this.deviceTraceabilityManagementDetails
+      );
+      this.submitFormLoading = true;
+      if (this.operationType === "add") {
+        this.$axios
+          .post(
+            this.$api.deviceTraceabilityManagement.addTraceabilityManagement,
+            this.form,
+            {
+              headers: {
+                "Content-Type": "application/json"
+              },
+              noQs: true
+            }
+          )
+          .then(res => {
+            if (res.code == 200) {
+              this.$message.success("鏂板鎴愬姛");
+              this.applicationForm = false;
+              this.getYearTableDetailData();
+            }
+            this.submitFormLoading = false;
+          })
+          .catch(err => {
+            this.submitFormLoading = false;
+          });
       } else {
-        this.$axios.post(this.$api.deviceTraceabilityManagement.updateTraceabilityManagement,
-          this.form, {
-            headers: {
-              'Content-Type': 'application/json'
-            },
-            noQs: true
-          }).then(res => {
-          if (res.code == 200) {
-            this.$message.success('淇敼鎴愬姛')
-            this.applicationForm = false
-            this.getYearTableDetailData()
-          }
-          this.submitFormLoading = false
-        }).catch(err => {
-          this.submitFormLoading = false
-        })
+        this.$axios
+          .post(
+            this.$api.deviceTraceabilityManagement.updateTraceabilityManagement,
+            this.form,
+            {
+              headers: {
+                "Content-Type": "application/json"
+              },
+              noQs: true
+            }
+          )
+          .then(res => {
+            if (res.code == 200) {
+              this.$message.success("淇敼鎴愬姛");
+              this.applicationForm = false;
+              this.getYearTableDetailData();
+            }
+            this.submitFormLoading = false;
+          })
+          .catch(err => {
+            this.submitFormLoading = false;
+          });
       }
     },
     // 鎻愪氦瀹℃牳
@@ -307,106 +572,133 @@
       const params = {
         status: status,
         traceabilityManagementId: this.traceabilityManagementId
-      }
-      this.$axios.post(this.$api.deviceTraceabilityManagement.reviewTraceabilityManagementStatus,
-        params, {
-          headers: {
-            'Content-Type': 'application/json'
-          },
-          noQs: true
-        }).then(res => {
-        if (res.code == 200) {
-          this.$message.success('瀹℃牳鎴愬姛')
-          this.applicationForm = false
-          this.getYearTableDetailData()
-        }
-        this.submitFormLoading = false
-      }).catch(err => {
-        this.submitFormLoading = false
-      })
+      };
+      this.$axios
+        .post(
+          this.$api.deviceTraceabilityManagement
+            .reviewTraceabilityManagementStatus,
+          params,
+          {
+            headers: {
+              "Content-Type": "application/json"
+            },
+            noQs: true
+          }
+        )
+        .then(res => {
+          if (res.code == 200) {
+            this.$message.success("瀹℃牳鎴愬姛");
+            this.applicationForm = false;
+            this.getYearTableDetailData();
+          }
+          this.submitFormLoading = false;
+        })
+        .catch(err => {
+          this.submitFormLoading = false;
+        });
     },
     closeDialog() {
-      this.applicationForm = false
-      this.getYearTableDetailData()
+      this.applicationForm = false;
+      this.getYearTableDetailData();
     },
     // 鍒嗛〉
     handleSizeChange1(val) {
-      this.pagination1.size = val
-      this.getYearTableDetailData()
+      this.pagination1.size = val;
+      this.getYearTableDetailData();
     },
     // 鍒嗛〉
     handleCurrentChange1(val) {
-      this.pagination1.current = val
-      this.getYearTableDetailData()
+      this.pagination1.current = val;
+      this.getYearTableDetailData();
     },
     handleDownOne(id) {
-      this.outLoading = true
-      this.$axios.get(this.$api.deviceTraceabilityManagement.exportDeviceTraceabilityManagement + '?traceabilityManagementId=' + id, {
-        responseType: "blob"
-      }).then(res => {
-        this.outLoading = false
-        const blob = new Blob([res], {type: 'application/octet-stream'});
-        //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
-        let reader = new FileReader();
-        reader.readAsText(blob, 'utf-8');
-        reader.onload = () => {
-          try {
-            let result = JSON.parse(reader.result);
-            if (result.message) {
-              this.$message.error(result.message);
-            } else {
-              const url = URL.createObjectURL(blob);
-              const link = document.createElement('a');
-              link.href = url;
-              link.download = '浠櫒璁惧閲忓�兼函婧愮鐞嗘�讳綋璁″垝.doc';
-              link.click();
-              this.$message.success('瀵煎嚭鎴愬姛')
-            }
-          } catch (err) {
-            console.log(err);
-            const url = URL.createObjectURL(blob);
-            const link = document.createElement('a');
-            link.href = url;
-            link.download = '浠櫒璁惧閲忓�兼函婧愮鐞嗘�讳綋璁″垝.doc';
-            link.click();
-            this.$message.success('瀵煎嚭鎴愬姛')
+      this.outLoading = true;
+      this.$axios
+        .get(
+          this.$api.deviceTraceabilityManagement
+            .exportDeviceTraceabilityManagement +
+            "?traceabilityManagementId=" +
+            id,
+          {
+            responseType: "blob"
           }
-        }
-      })
+        )
+        .then(res => {
+          this.outLoading = false;
+          const blob = new Blob([res], { type: "application/octet-stream" });
+          //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+          let reader = new FileReader();
+          reader.readAsText(blob, "utf-8");
+          reader.onload = () => {
+            try {
+              let result = JSON.parse(reader.result);
+              if (result.message) {
+                this.$message.error(result.message);
+              } else {
+                const url = URL.createObjectURL(blob);
+                const link = document.createElement("a");
+                link.href = url;
+                link.download = "浠櫒璁惧閲忓�兼函婧愮鐞嗘�讳綋璁″垝.doc";
+                link.click();
+                this.$message.success("瀵煎嚭鎴愬姛");
+              }
+            } catch (err) {
+              console.log(err);
+              const url = URL.createObjectURL(blob);
+              const link = document.createElement("a");
+              link.href = url;
+              link.download = "浠櫒璁惧閲忓�兼函婧愮鐞嗘�讳綋璁″垝.doc";
+              link.click();
+              this.$message.success("瀵煎嚭鎴愬姛");
+            }
+          };
+        });
     },
     // 鍒犻櫎
     deleteFun(id) {
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.$axios.get(this.$api.deviceTraceabilityManagement.deleteTraceabilityManagement + '?traceabilityManagementId=' + id).then(res => {
-          this.$message.success('鍒犻櫎鎴愬姛锛�');
-          this.getYearTableDetailData();
+      this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          this.$axios
+            .get(
+              this.$api.deviceTraceabilityManagement
+                .deleteTraceabilityManagement +
+                "?traceabilityManagementId=" +
+                id
+            )
+            .then(res => {
+              this.$message.success("鍒犻櫎鎴愬姛锛�");
+              this.getYearTableDetailData();
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堝垹闄�"
+          });
         });
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '宸插彇娑堝垹闄�'
-        });
-      });
     },
     // 鑾峰彇鎵�鏈夎澶�
     getEquipOptions() {
-      this.equipOptions = []
-      this.$axios.get(this.$api.deviceScope.deviceScopeSearch + '?status=0').then(res => {
-        if (res.code === 200 && res.data) {
-          this.equipOptions = res.data.map(m => {
-            m.value = m.managementNumber
-            m.label = m.deviceName
-            return m
-          })
-        }
-      }).catch(error => {
-        console.error(error)
-      })
-    },
+      this.equipOptions = [];
+      this.$axios
+        .get(this.$api.deviceScope.deviceScopeSearch + "?status=0")
+        .then(res => {
+          if (res.code === 200 && res.data) {
+            this.equipOptions = res.data.map(m => {
+              m.value = m.managementNumber;
+              m.label = m.deviceName;
+              return m;
+            });
+          }
+        })
+        .catch(error => {
+          console.error(error);
+        });
+    }
   },
   watch: {
     // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
@@ -414,9 +706,9 @@
       if (newVal.value) {
         this.getYearTableDetailData();
       }
-    },
+    }
   }
-}
+};
 </script>
 
 <style scoped>

--
Gitblit v1.9.3