From 4b1898aa7f82e400b5958293c6c0a5dce5da6d6c Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 18 二月 2025 14:44:26 +0800
Subject: [PATCH] 在线预览调整

---
 src/components/do/a6-device/files.vue | 1238 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 781 insertions(+), 457 deletions(-)

diff --git a/src/components/do/a6-device/files.vue b/src/components/do/a6-device/files.vue
index bd95c1b..ab9e2c4 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,399 @@
       },
       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;
+      if (obj) {
+        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 +1243,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 +1319,7 @@
   display: inline-block;
   width: 3px;
   height: 16px;
-  background: #3A7BFA;
+  background: #3a7bfa;
   margin-right: 4px;
 }
 
@@ -1022,21 +1347,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 +1404,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;

--
Gitblit v1.9.3