From d3793edc9e3479f162c0cab6930d17c919ecacae Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 10 三月 2025 17:12:37 +0800
Subject: [PATCH] 设备搬迁

---
 src/api/cnas/resourceDemand/device.js                                   |   92 ++
 src/views/CNAS/resourceDemand/device/index.vue                          |   18 
 src/views/CNAS/resourceDemand/device/component/files.vue                |  119 +-
 src/views/CNAS/resourceDemand/device/component/management.vue           |  616 +++++++--------
 src/views/CNAS/resourceDemand/device/component/check-and-accept.vue     |  929 +++++++++++++++++++++++
 src/views/CNAS/resourceDemand/device/component/check.vue                |   88 +
 src/views/CNAS/resourceDemand/device/component/calibration.vue          |  165 +++-
 src/views/CNAS/resourceDemand/device/component/borrow.vue               |    2 
 src/views/CNAS/resourceDemand/device/component/operationInstruction.vue |    2 
 src/views/CNAS/resourceDemand/device/component/record.vue               |  131 +-
 src/views/CNAS/resourceDemand/device/component/fault.vue                |   52 
 src/views/CNAS/resourceDemand/device/component/operationOverview.vue    |   19 
 src/views/CNAS/resourceDemand/device/component/maintenance.vue          |   61 
 13 files changed, 1,704 insertions(+), 590 deletions(-)

diff --git a/src/api/cnas/resourceDemand/device.js b/src/api/cnas/resourceDemand/device.js
index 0071864..84b37ea 100644
--- a/src/api/cnas/resourceDemand/device.js
+++ b/src/api/cnas/resourceDemand/device.js
@@ -868,6 +868,15 @@
     params: query,
   });
 }
+//璁惧缁存姢鍒犻櫎
+export function deviceMaintenanceExport(query) {
+  return request({
+    url: "/deviceMaintain/deviceMaintenanceExport",
+    method: "get",
+    responseType: "blob",
+    params: query,
+  });
+}
 
 // 鏂板璁惧缁存姢淇濆吇
 export function addDeviceMaintenance(data) {
@@ -1275,3 +1284,86 @@
     params: query,
   });
 }
+//璁惧棰勭害鎺ュ彛
+export function device(query) {
+  return request({
+    url: "/api/device-faults/device",
+    method: "get",
+    params: query,
+  });
+}
+//璁惧楠屾敹涓洓涓猼able琛ㄦ牸鐨勫垹闄ゅ姛鑳�
+export function deleteIncidentReportAll(query) {
+  return request({
+    url: "/incident-report/deleteIncidentReportAll",
+    method: "delete",
+    params: query,
+  });
+}
+
+//璁惧楠屾敹 淇濆瓨锛屾彁浜わ紝椹冲洖锛岄�氳繃鎺ュ彛
+export function saveIncidentReportData(query) {
+  return request({
+    url: "/incident-report/saveIncidentReportData",
+    method: "post",
+    data: query,
+  });
+}
+//璁惧楠屾敹 淇濆瓨锛屾彁浜わ紝椹冲洖锛岄�氳繃鎺ュ彛
+export function incidentReportPage(query) {
+  return request({
+    url: "/incident-report/incidentReportPage",
+    method: "get",
+    params: query,
+  });
+}
+//璁惧楠屾敹 淇濆瓨锛屾彁浜わ紝椹冲洖锛岄�氳繃鎺ュ彛
+export function getShowIncidentReport(query) {
+  return request({
+    url: "/incident-report/getShowIncidentReport",
+    method: "get",
+    params: query,
+  });
+}
+//璁惧楠屾敹瀵煎嚭
+export function incidentReportExport(query) {
+  return request({
+    url: "/incident-report/incidentReportExport",
+    method: "get",
+    params: query,
+    responseType: "blob"
+  });
+}
+//娣诲姞璁惧鏁呴殰
+export function addOrUpdateDeviceFaultOne(query) {
+  return request({
+    url: "/deviceFaultOne/addOrUpdateDeviceFaultOne",
+    method: "post",
+    data: query,
+  });
+}
+//璁惧鏁呴殰琛� 鍒嗛〉鏌ヨ
+export function deviceFaultOnePage(query) {
+  return request({
+    url: "/deviceFaultOne/deviceFaultOnePage",
+    method: "get",
+    params: query,
+  });
+}
+//璁惧鏁呴殰瀵煎嚭
+export function exportRewardAndPunishmentRecords(query) {
+  return request({
+    url: "/deviceFaultOne/exportRewardAndPunishmentRecords",
+    method: "get",
+    params: query,
+    responseType: "blob"
+  });
+}
+//鍒犻櫎 璁惧鏁呴殰
+export function deleteDeviceFaultOne(query) {
+  return request({
+    url: "/deviceFaultOne/deleteDeviceFaultOne",
+    method: "delete",
+    params: query,
+  });
+}
diff --git a/src/views/CNAS/resourceDemand/device/component/borrow.vue b/src/views/CNAS/resourceDemand/device/component/borrow.vue
index fafa7b9..fd18aba 100644
--- a/src/views/CNAS/resourceDemand/device/component/borrow.vue
+++ b/src/views/CNAS/resourceDemand/device/component/borrow.vue
@@ -13,7 +13,7 @@
       </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;">
diff --git a/src/views/CNAS/resourceDemand/device/component/calibration.vue b/src/views/CNAS/resourceDemand/device/component/calibration.vue
index f11b502..a64e14a 100644
--- a/src/views/CNAS/resourceDemand/device/component/calibration.vue
+++ b/src/views/CNAS/resourceDemand/device/component/calibration.vue
@@ -4,9 +4,9 @@
     <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="handleDown">瀵煎嚭Excel</el-button>
     </div>
-    <div class="tables" style="margin-top: 10px;">
+    <div class="tables" style="margin-top: 16px;">
       <el-table :data="tableData" height="calc(100vh - 20em)">
         <el-table-column label="搴忓彿" type="index" width="120">
           <template v-slot="scope">
@@ -14,7 +14,8 @@
           </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="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' ? '涓嶅悎鏍�' : '鍏朵粬' }}
@@ -27,28 +28,79 @@
         <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 fixed="right" label="鎿嶄綔" min-width="150">
           <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="handleAttachmentClick(row)">闄勪欢</el-button>
+            <!-- <el-button size="small" type="text" @click="handleViewClick('view', row)">鏌ョ湅</el-button> -->
+            <el-button size="small" type="text" @click="handleViewClick('add', 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">
+                     :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
+        :visible.sync="lookDialogVisible"
+        fullscreen
+        title="鏌ョ湅闄勪欢" width="800px">
+      <filePreview v-if="lookDialogVisible" :currentFile="{}"
+                   :fileUrl="previewFile" style="height: 90vh;overflow-y: auto;top: 0"/>
+    </el-dialog>
+    <!-- 闄勪欢寮规 -->
+    <el-dialog
+        title="闄勪欢"
+        :visible.sync="dialogVisibleFile"
+        width="60%"
+    >
+      <el-upload
+          ref="upload"
+          style="margin-top: 5px;margin-bottom: 10px;"
+          :action="action"
+          :data="uploadData"
+          :headers="headers"
+          :before-upload="beforeUpload"
+          :on-success="onSuccess"
+      >
+        <el-button type="primary" size="small" :loading="upLoading">涓婁紶闄勪欢</el-button>
+      </el-upload>
+      <el-table
+          :data="fileData"
+          border
+          height="400px"
+          style="width: 100%">
+        <el-table-column label="搴忓彿" type="index" width="240px">
+        </el-table-column>
+        <el-table-column label="鏂囦欢鍚嶇О" prop="fileName">
+        </el-table-column>
+        <el-table-column label="鎿嶄綔">
+          <template slot-scope="scope">
+            <el-button type="text" @click="preview(scope.row)">棰勮</el-button>
+            <el-button type="text" @click="download(scope.row)">涓嬭浇</el-button>
+            <el-button type="text" @click="delFile(scope.row)" style="color: red;">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="dialogVisibleFile = false">鍏� 闂�</el-button>
+      </span>
+    </el-dialog>
+
+
+
     <!-- 鏍″噯椤圭洰缁存姢 -->
-    <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>
       </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">
@@ -77,8 +129,9 @@
         <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>
@@ -95,8 +148,9 @@
     </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;">
@@ -104,58 +158,62 @@
             <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>
+                          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">
+                                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>
+                          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>
+                          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-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>
+                          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">
@@ -170,31 +228,32 @@
             <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">
+                                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-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-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>
+                             @click="deleteFile"></el-button>
                 </el-input>
-                <el-upload v-if="operationType === 'add'" ref="upload" :action="action" :before-upload="beforeUpload"
-                  :headers="uploadHeader" :limit="1" :on-error="onError" :on-success="handleSuccessUp"
-                  :show-file-list="false" style="float: right;">
+                <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">闄勪欢涓婁紶
+                             type="primary">闄勪欢涓婁紶
                   </el-button>
                 </el-upload>
               </el-form-item>
-            </el-col>
+            </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>
@@ -236,15 +295,29 @@
           <el-table-column label="鍗曢」缁撴灉璇存槑" prop="singleResultStatement">
             <template slot-scope="scope">
               <el-input v-model="scope.row.singleResultStatement" :disabled="operationType === 'view'"
-                size="small"></el-input>
+                        size="small"></el-input>
             </template>
           </el-table-column>
         </el-table>
+        <!-- 鎿嶄綔鏃ュ織 -->
+        <!--        <h4>-->
+        <!--          <div style="display: flex;-->
+        <!--      align-items: center;">-->
+        <!--            <span class="line"></span><span>鏈褰曠姸鎬佸拰鎿嶄綔鏃ュ織</span>-->
+        <!--          </div>-->
+        <!--        </h4>-->
+        <!--        <el-table :data="tableDataOperate" style="width: 100%">-->
+        <!--          <el-table-column type="index" label="搴忓彿" width="100"></el-table-column>-->
+        <!--          <el-table-column prop="operator" label="鎿嶄綔浜�" width="120"></el-table-column>-->
+        <!--          <el-table-column prop="operationTime" label="鎿嶄綔鏃堕棿" width="180"></el-table-column>-->
+        <!--          <el-table-column prop="operationType" label="鎿嶄綔绫诲瀷" width="120"></el-table-column>-->
+        <!--          <el-table-column prop="operationContent" label="鎿嶄綔鍐呭"></el-table-column>-->
+        <!--        </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'" :loading="addRecordLoading" type="primary"
+                   @click="addRecord">纭� 瀹�</el-button>
       </span>
     </el-dialog>
   </div>
@@ -263,7 +336,9 @@
   saveOrUpdateDeviceMetric
 } from '@/api/cnas/resourceDemand/device.js'
 import { mapGetters } from "vuex";
+import filePreview from "@/components/Preview/filePreview.vue";
 export default {
+  components: {filePreview},
   props: {
     clickNodeVal: {
       type: Object,
diff --git a/src/views/CNAS/resourceDemand/device/component/check-and-accept.vue b/src/views/CNAS/resourceDemand/device/component/check-and-accept.vue
new file mode 100644
index 0000000..e940152
--- /dev/null
+++ b/src/views/CNAS/resourceDemand/device/component/check-and-accept.vue
@@ -0,0 +1,929 @@
+<!-- 璁惧楠屾敹 -->
+<template>
+  <div>
+    <div class="search">
+      <div class="search_thing">
+        <div class="search_label">娴佺▼缂栧彿锛�</div>
+        <div class="search_input"><el-input v-model="search.processNumber" clearable placeholder="璇疯緭鍏�" size="small"
+            @keyup.enter.native="getDeviceAList(clickNodeVal.value)"></el-input></div>
+      </div>
+      <div class="search_thing" style="padding-left: 30px;">
+        <el-button size="small" @click="resetSearch">閲� 缃�</el-button>
+        <el-button size="small" type="primary" @click="getDeviceAList(clickNodeVal.value)">鏌� 璇�</el-button>
+      </div>
+      <div class="btns">
+        <el-button size="small" type="primary" @click="dialogVisible = true">娣诲姞楠屾敹</el-button>
+        <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">瀵煎嚭</el-button>
+      </div>
+    </div>
+    <div class="tables" style="margin-top: 10px;">
+      <el-table ref="table" :data="tableDataAlist" height="100%">
+        <el-table-column label="搴忓彿" type="index" width="60">
+          <template v-slot="scope">
+            <span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="娴佺▼缂栧彿" min-width="150" prop="processNumber" show-overflow-tooltip/>
+        <el-table-column label="璁惧鍚嶇О" min-width="140" prop="deviceName" show-overflow-tooltip/>
+        <el-table-column label="绠$悊缂栧彿" min-width="140" prop="managementNumber" show-overflow-tooltip/>
+        <el-table-column label="搴忓垪鍙�" min-width="80" prop="serialNumber" />
+        <el-table-column label="鎻愪氦鑰�" min-width="100" prop="submitUser" />
+        <el-table-column label="鎻愪氦鏃ユ湡" min-width="150" prop="createTime" />
+        <el-table-column label="褰撳墠鐘舵��" min-width="140" prop="currentState" />
+        <el-table-column label="褰撳墠璐熻矗浜�" min-width="120" prop="currentResponsible" />
+        <el-table-column fixed="right" label="鎿嶄綔" min-width="140">
+          <template #default="{ row }">
+            <el-button size="small" type="text" @click="handleAttachmentClick(row)">闄勪欢</el-button>
+            <el-button size="small" type="text" @click="handleViewClick(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" @size-change="handleSizeChange"
+        @current-change="handleCurrentChange">
+      </el-pagination>
+    </div>
+    <!-- 娣诲姞璁惧鏁呴殰璁板綍 -->
+    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible" title="浠櫒璁惧楠屾敹璁板綍"
+      width="60%" @open="openRecordAcceptance">
+      <el-steps :active="currentStep" finish-status="success">
+        <el-step v-for="(v, i) in steps" :key="i" :title="v" style="cursor:pointer"
+          @click.native="choiceStep(i)"></el-step>
+      </el-steps>
+      <el-form ref="form" :model="form" :rules="rules" label-width="130px">
+        <div v-show="currentStepClick === 0">
+          <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+            <!-- 鏂板璁惧浜嬭褰曞崱鐗� -->
+            <el-row>
+              <el-col :span="24">
+                <el-form-item label="娴佺▼缂栧彿锛�" prop="processNumber">
+                  <el-input v-model="form.processNumber" disabled size="small"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="璁惧鍚嶇О锛�">
+                  <el-input v-model="form.deviceName" disabled size="small"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="鐢熶骇鍘傚锛�">
+                  <el-input v-model="form.manufacturer" disabled size="small"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="璁惧鍨嬪彿锛�">
+                  <el-input v-model="form.specificationModel" disabled size="small"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="绠$悊缂栧彿锛�">
+                  <el-input v-model="form.managementNumber" disabled size="small"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ュ簭鍒楀彿', trigger: 'blur' }]" label="搴忓垪鍙凤細"
+                  prop="serialNumber">
+                  <el-input v-model="form.serialNumber" :disabled="currentStep !== 0" size="small"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ヨ澶囩被鍒�', trigger: 'change' }]" label="璁惧绫诲埆锛�"
+                  prop="deviceClass">
+                  <el-radio-group v-model="form.deviceClass" :disabled="currentStep !== 0">
+                    <el-radio label="0precision">绮惧瘑鍨嬭澶�</el-radio>
+                    <el-radio label="1conventional">甯歌璁惧</el-radio><br />
+                    <el-radio label="2auxiliary_class">杈呭姪绫昏澶�</el-radio>
+                    <el-radio label="4environmental">鐜绫昏澶�</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ュ紑绠卞墠妫�鏌ュ鍖呰鏈夋棤鐮存崯', trigger: 'blur' }]" label="寮�绠卞墠妫�鏌ュ鍖呰鏈夋棤鐮存崯锛�" label-width="220px"
+                  prop="checkOuterPackaging">
+                  <el-input v-model="form.checkOuterPackaging" :disabled="currentStep !== 0" size="small"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item label="鐩稿叧闄勪欢锛�" prop="fileName">
+                  <el-input v-model="form.fileName" :style="`width: ${currentStep == 0 ? '88%' : '100%'};`" disabled
+                    size="small">
+                    <el-button v-if="currentStep === 0" slot="append" icon="el-icon-delete-solid"
+                      @click="deleteFile"></el-button>
+                  </el-input>
+                  <el-upload ref="upload" :action="action" :on-success="onSuccess" :show-file-list="false"
+                    style="float: right;">
+                    <el-button v-if="currentStep === 0" slot="trigger" class="uploadFile" 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 :rules="[{ required: currentStep === 0, message: '璇烽�夋嫨涓嬬幆鑺傝矗浠讳汉', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+                  prop="submitNextPesponsible">
+                  <el-select v-model="form.submitNextPesponsible" :disabled="currentStep !== 0" clearable filterable
+                    placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+                    <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 :rules="[{ required: currentStep === 0, message: '璇疯緭鍏ヨ澶囧紑绠遍獙鏀剁粨璁�', trigger: 'change' }]" label="璁惧寮�绠遍獙鏀剁粨璁猴細" label-width="150px"
+                  prop="unpackingAcceptanceConclusion">
+                  <el-radio-group v-model="form.unpackingAcceptanceConclusion" :disabled="currentStep !== 0">
+                    <el-radio :label="'0qualified'">鍚堟牸</el-radio>
+                    <el-radio :label="'1unqualified'">涓嶅悎鏍硷紝缂哄皯澶囦欢渚涘簲鍟嗚ˉ鍙�</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <div style="margin-bottom: 20px; width: 100%;">
+                  <label>澶囦欢纭锛�</label>
+                  <el-button v-if="currentStep === 0" size="small" style="float: right;"
+                    type="primary" @click="addTableRow('sparePartsConfirmationList')">澧炲姞琛�</el-button>
+                </div>
+                <el-table :data="form.sparePartsConfirmationList" border stripe style="width: 100%; min-height: 30vh">
+                  <el-table-column label="搴忓彿" prop="搴忓彿" type="index" width="80" />
+                  <el-table-column label="鍚嶇О" min-width="120" prop="name">
+                    <template v-slot="scope">
+                      <el-input v-if="currentStep === 0" v-model="scope.row.name" size="small"></el-input>
+                      <label v-else>{{ scope.row.name }}</label>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="鏁伴噺" min-width="120" prop="number">
+                    <template v-slot="scope">
+                      <el-input v-if="currentStep === 0" v-model="scope.row.number" size="small"></el-input>
+                      <label v-else>{{ scope.row.number }}</label>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="澶囨敞" min-width="120" prop="note">
+                    <template v-slot="scope">
+                      <el-input v-if="currentStep === 0" v-model="scope.row.note" size="small"></el-input>
+                      <label v-else>{{ scope.row.note }}</label>
+                    </template>
+                  </el-table-column>
+                  <el-table-column v-if="currentStep === 0" fixed="right" label="鎿嶄綔" width="90">
+                    <template slot-scope="scope">
+                      <el-button icon="el-icon-delete" type="text"
+                        @click="deleteRow(scope.$index, scope.row, 'sparePartsConfirmationList')">鍒犻櫎</el-button>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-col>
+              <el-col :span="24">
+                <div style="margin: 20px 0; width: 100%;">
+                  <label>鏂囦欢绫荤‘璁わ細</label>
+                  <el-button v-if="currentStep === 0" size="small" style="float: right;"
+                    type="primary" @click="addTableRow('fileClassConfirmationList')">澧炲姞琛�</el-button>
+                </div>
+                <el-table :data="form.fileClassConfirmationList" border stripe style="width: 100%; min-height: 30vh">
+                  <el-table-column label="搴忓彿" prop="搴忓彿" type="index" width="80" />
+                  <el-table-column label="搴旀湁鍐屾暟" min-width="120" prop="expectedCopies">
+                    <template v-slot="scope">
+                      <el-input v-if="currentStep === 0" v-model="scope.row.expectedCopies" size="small"></el-input>
+                      <label v-else>{{ scope.row.expectedCopies }}</label>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="瀹為檯鏀跺埌鍐屾暟" min-width="120" prop="actualCopies">
+                    <template v-slot="scope">
+                      <el-input v-if="currentStep === 0" v-model="scope.row.actualCopies" size="small"></el-input>
+                      <label v-else>{{ scope.row.actualCopies }}</label>
+                    </template>
+                  </el-table-column>
+                  <el-table-column v-if="currentStep === 0" fixed="right" label="鎿嶄綔" width="90">
+                    <template v-slot="scope">
+                      <el-button icon="el-icon-delete" type="text"
+                        @click="deleteRow(scope.$index, scope.row, 'fileClassConfirmationList')">鍒犻櫎</el-button>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-col>
+              <el-col :span="24" style="margin-top: 10px;">
+                <el-form-item label="澶囨敞锛�" label-width="90px">
+                  <el-input v-model="form.submitRemarks" :disabled="currentStep !== 0" size="small"
+                    type="textarea"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+          <el-row style="margin-top: 1em;">
+            <el-col :span="4">
+              鎿嶄綔浜猴細{{ form.submitOperatingPersonnel }}
+            </el-col>
+            <el-col :span="6">
+              鏃ユ湡锛歿{ form.submitDate }}
+            </el-col>
+          </el-row>
+        </div>
+        <div v-show="currentStepClick === 1">
+          <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+            <el-row>
+              <el-col :span="24">
+                <el-form-item label="澶嶆牳鎰忚锛�" prop="accidentDescription">
+                  <el-input v-model="form.unpackingReviewOpinion" :disabled="currentStep !== 1" size="small"
+                    type="textarea"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item :rules="[{ required: currentStep === 1, message: '璇疯緭鍏ヤ笅鐜妭璐d换浜�', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+                  prop="unpackingNextPesponsible">
+                  <el-select v-model="form.unpackingNextPesponsible" :disabled="currentStep !== 1" clearable filterable
+                    placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+                    <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-row>
+          </el-card>
+          <el-row style="margin-top: 1em;">
+            <el-col :span="4">
+              鎿嶄綔浜猴細{{ form.unpackingOperatingPersonnel }}
+            </el-col>
+            <el-col :span="6">
+              鏃ユ湡锛歿{ form.unpackingDate }}
+            </el-col>
+          </el-row>
+        </div>
+        <div v-show="currentStepClick === 2">
+          <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+            <el-row>
+              <el-col :span="24">
+                <el-form-item :rules="[{ required: currentStep === 2, message: '璇疯緭鍏ュ畨瑁呬綅缃�', trigger: 'blur' }]" label="瀹夎浣嶇疆锛�"
+                  prop="installLocation">
+                  <el-input v-model="form.installLocation" :disabled="currentStep !== 2" clearable placeholder="璇疯緭鍏ュ畨瑁呬綅缃�"
+                    size="small"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item label="澶囨敞锛�">
+                  <el-input v-model="form.installRemarks" :disabled="currentStep !== 2" size="small"
+                    type="textarea"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item :rules="[{ required: currentStep === 2, message: '璇疯緭鍏ヤ笅鐜妭璐d换浜�', trigger: 'blur' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+                  prop="installNextPesponsible">
+                  <el-select v-model="form.installNextPesponsible" :disabled="currentStep !== 2" clearable filterable
+                    placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+                    <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">
+                <div style="margin-bottom: 20px; width: 100%;">
+                  <label>瀹夎楠屾敹璁板綍</label>
+                  <el-button v-if="currentStep === 2" size="small" style="float: right;"
+                    type="primary" @click="addTableRow('installationAcceptanceRecordList')">澧炲姞琛�</el-button>
+                </div>
+                <el-table :data="form.installationAcceptanceRecordList" border stripe
+                  style="width: 100%; min-height: 30vh">
+                  <el-table-column label="搴忓彿" prop="搴忓彿" type="index" width="80" />
+                  <el-table-column label="椤圭洰" min-width="120" prop="installationProject">
+                    <template v-slot="scope">
+                      <el-input v-if="currentStep === 2" v-model="scope.row.installationProject"
+                        size="small"></el-input>
+                      <label v-else>{{ scope.row.installationProject }}</label>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="瀹夎鎯呭喌" min-width="120" prop="installationSituation">
+                    <template v-slot="scope">
+                      <el-input v-if="currentStep === 2" v-model="scope.row.installationSituation"
+                        size="small"></el-input>
+                      <label v-else>{{ scope.row.installationSituation }}</label>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="瀹夎瀹屾垚" min-width="120" prop="installationCompleted">
+                    <template v-slot="scope">
+                      <el-select v-if="currentStep === 2" v-model="scope.row.installationCompleted" placeholder="璇烽�夋嫨">
+                        <el-option label="鏄�" value="0yes"></el-option>
+                        <el-option label="鍚�" value="1no"></el-option>
+                      </el-select>
+                      <label v-else>{{ scope.row.installationCompleted === '0yes' ? '鏄�' :
+                        scope.row.installationCompleted === '1no' ? '鍚�' : '' }}</label>
+                    </template>
+                  </el-table-column>
+                  <el-table-column v-if="currentStep === 2" fixed="right" label="鎿嶄綔" width="90">
+                    <template slot-scope="scope">
+                      <el-button icon="el-icon-delete" type="text"
+                        @click="deleteRow(scope.$index, scope.row, 'installationAcceptanceRecordList')">鍒犻櫎</el-button>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-col>
+            </el-row>
+          </el-card>
+          <el-row style="margin-top: 1em;">
+            <el-col :span="4">
+              鎿嶄綔浜猴細{{ form.installOperatingPersonnel }}
+            </el-col>
+            <el-col :span="6">
+              鏃ユ湡锛歿{ form.installDate }}
+            </el-col>
+          </el-row>
+        </div>
+        <div v-show="currentStepClick === 3">
+          <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+            <el-row>
+              <el-col :span="24">
+                <el-form-item :rules="[{ required: currentStep === 3, message: '璇疯緭鍏ュ鍚堟剰瑙�', trigger: 'blur' }]" label="澶嶅悎鎰忚锛�"
+                  prop="installationAcceptanceCompoundOpinion">
+                  <el-input v-model="form.installationAcceptanceCompoundOpinion" :disabled="currentStep !== 3"
+                    size="small" type="textarea"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item :rules="[{ required: currentStep === 3, message: '璇疯緭鍏ヤ笅鐜妭璐熻矗浜�', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+                  prop="installationAcceptanceNextPesponsible">
+                  <el-select v-model="form.installationAcceptanceNextPesponsible" :disabled="currentStep !== 3" clearable
+                    filterable placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+                    <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-row>
+          </el-card>
+          <el-row style="margin-top: 1em;">
+            <el-col :span="4">
+              鎿嶄綔浜猴細{{ form.installationAcceptanceOperatingPersonnel }}
+            </el-col>
+            <el-col :span="6">
+              鏃ユ湡锛歿{ form.installationAcceptanceDate }}
+            </el-col>
+          </el-row>
+        </div>
+        <div v-show="currentStepClick === 4">
+          <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+            <div style="margin-bottom: 20px; width: 100%;">
+              <label>楠屾敹鏍告煡璁板綍锛�</label>
+              <el-button v-if="currentStep === 4" size="small" style="float: right;"
+                type="primary" @click="addTableRow('acceptanceCheckRecordList')">澧炲姞琛�</el-button>
+            </div>
+            <el-table :data="form.acceptanceCheckRecordList" border style="width: 100%; min-height: 30vh">
+              <el-table-column label="搴忓彿" prop="sequence" width="80">
+              </el-table-column>
+              <el-table-column label="浠櫒妯″潡" min-width="120" prop="instrumentModule">
+                <template v-slot="scope">
+                  <el-input v-if="currentStep === 4" v-model="scope.row.instrumentModule" size="small"></el-input>
+                  <label v-else>{{ scope.row.instrumentModule }}</label>
+                </template>
+              </el-table-column>
+              <el-table-column label="鏍告煡鍙傛暟" min-width="120" prop="verificationParameter">
+                <template v-slot="scope">
+                  <el-input v-if="currentStep === 4" v-model="scope.row.verificationParameter" size="small"></el-input>
+                  <label v-else>{{ scope.row.verificationParameter }}</label>
+                </template>
+              </el-table-column>
+              <el-table-column label="鍙帴鏀堕檺" min-width="120" prop="acceptableLimit">
+                <template v-slot="scope">
+                  <el-input v-if="currentStep === 4" v-model="scope.row.acceptableLimit" size="small"></el-input>
+                  <label v-else>{{ scope.row.acceptableLimit }}</label>
+                </template>
+              </el-table-column>
+              <el-table-column label="鏍告煡缁撴灉" min-width="120" prop="verificationResult">
+                <template v-slot="scope">
+                  <el-input v-if="currentStep === 4" v-model="scope.row.verificationResult" size="small"></el-input>
+                  <label v-else>{{ scope.row.verificationResult }}</label>
+                </template>
+              </el-table-column>
+              <el-table-column label="鏍告煡缁撹" min-width="120" prop="verificationConclusion">
+                <template v-slot="scope">
+                  <el-select v-if="currentStep === 4" v-model="scope.row.verificationConclusion" placeholder="璇烽�夋嫨">
+                    <el-option label="绗﹀悎" value="0accordWith"></el-option>
+                    <el-option label="涓嶇鍚�" value="1inconformity"></el-option>
+                  </el-select>
+                  <label v-else>{{ scope.row.verificationConclusion }}</label>
+                </template>
+              </el-table-column>
+              <el-table-column v-if="currentStep === 4" fixed="right" label="鎿嶄綔" width="90">
+                <template slot-scope="scope">
+                  <el-button size="small" type="text"
+                    @click="deleteRow(scope.$index, scope.row, 'acceptanceCheckRecordList')">鍒犻櫎</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <el-form-item :rules="[{ required: currentStep === 4, message: '璇疯緭鍏ヨ澶囧紑绠遍獙鏀剁粨璁�', trigger: 'change' }]" label="璁惧寮�绠遍獙鏀剁粨璁猴細"
+              label-width="150px" prop="acceptanceCheckUnpackingConclusion">
+              <el-radio-group v-model="form.acceptanceCheckUnpackingConclusion" :disabled="currentStep !== 4">
+                <el-radio :label="'0qualified'">鍚堟牸</el-radio>
+                <el-radio :label="'1unqualified'">涓嶅悎鏍硷紝缂哄皯澶囦欢渚涘簲鍟嗚ˉ鍙�</el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item :rules="[{ required: currentStep === 4, message: '璇疯緭鍏ヤ笅鐜妭璐d换浜�', trigger: 'change' }]" label="涓嬬幆鑺傝矗浠讳汉锛�"
+              prop="acceptanceCheckNextPesponsible">
+              <el-select v-model="form.acceptanceCheckNextPesponsible" :disabled="currentStep !== 4" clearable
+                filterable placeholder="璇烽�夋嫨涓嬬幆鑺傝礋璐d汉" size="small" style="width: 50%;">
+                <el-option v-for="item in responsibleOptions" :key="item.value" :label="item.label" :value="item.name">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-card>
+          <el-row style="margin-top: 1em;">
+            <el-col :span="4">
+              鎿嶄綔浜猴細{{ form.acceptanceCheckOperatingPersonnel }}
+            </el-col>
+            <el-col :span="6">
+              鏃ユ湡锛歿{ form.acceptanceCheckDate }}
+            </el-col>
+          </el-row>
+        </div>
+        <div v-show="currentStepClick === 5">
+          <el-card style="margin-top: 1em; height: 56vh; overflow-y: scroll;">
+            <el-row>
+              <el-col :span="24">
+                <el-form-item :rules="[{ required: currentStep === 5, message: '璇疯緭鍏ュ鏍告剰瑙�', trigger: 'blur' }]" label="瀹℃牳鎰忚锛�"
+                  prop="acceptanceAuditAuditOpinion">
+                  <el-input v-model="form.acceptanceAuditAuditOpinion" :disabled="currentStep !== 5" size="small"
+                    type="textarea"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-card>
+          <el-row style="margin-top: 1em;">
+            <el-col :span="4">
+              鎿嶄綔浜猴細{{ form.acceptanceAuditOperatingPersonnel }}
+            </el-col>
+            <el-col :span="6">
+              鏃ユ湡锛歿{ form.acceptanceAuditDate }}
+            </el-col>
+          </el-row>
+        </div>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button v-if="currentStep !== 0 && currentStep !== 6" @click="submitForm('3reject')">椹冲洖</el-button>
+        <el-button v-if="currentStep === 0" @click="submitForm('2save')">淇濆瓨</el-button>
+        <el-button v-if="currentStep !== 6" type="primary" @click="submitForm('1submit')">{{ currentStep === 0 ? '鎻愪氦' :
+          '閫氳繃'
+          }}</el-button>
+      </span>
+    </el-dialog>
+  </div>
+  <!-- 鏌ュ崟缂栬緫妗� -->
+</template>
+
+<script>
+import { dateFormat } from '@/utils/date'
+import file from "@/utils/file";
+import {
+  deleteCNASFile,
+  deleteIncidentReportAll, getShowIncidentReport, incidentReportExport, incidentReportPage,
+  saveIncidentReportData,
+  selectDeviceByCode
+} from "@/api/cnas/resourceDemand/device";
+import {selectUserCondition} from "@/api/system/user";
+
+export default {
+  props: {
+    clickNodeVal: {
+      type: Object,
+      default: () => {
+        return {};
+      }
+    }
+  },
+  data() {
+    return {
+      //浜嬫晠璁惧淇℃伅
+      tableDataAlist: [], // 鏇存敼鍙橀噺鍚嶇О
+      dialogVisible: false,
+      rules: {
+        quantity: [{ required: true, message: '璇疯緭鍏ユ暟閲�', trigger: 'blur' }],
+      },
+      currentStep: 0, // 姝ラ鏉℃樉绀虹鍑犳
+      currentStepClick: 0, // 鐐瑰嚮姝ラ鏉″彉鍖�
+      steps: ['鎻愪氦', '寮�绠遍獙鏀跺鏍�', '瀹夎楠屾敹妫�鏌�', '瀹夎楠屾敹澶嶆牳', '楠屾敹鏍告煡', '楠屾敹鏍告煡瀹℃牳'],
+      form: {
+        sparePartsConfirmationList: [], // 澶囦欢纭List
+        fileClassConfirmationList: [], // 鏂囦欢纭List
+        installationAcceptanceRecordList: [], // 瀹夎楠屾敹璁板綍
+        acceptanceCheckRecordList: [], // 楠屾敹鏍告煡璁板綍
+        fileName: '', // 鏂囦欢鍚嶇О
+        systemFileName: '', // 绯荤粺鏂囦欢鍚嶇О
+      },
+      outLoading: false,
+      responsibleOptions: [], // 涓嬬幆鑺傝礋璐d汉list
+      isUpdate: false,
+      search: {
+        size: 20,
+        current: 1,
+        total: 0,
+        processNumber: '',
+      },
+    }
+  },
+  computed: {
+    action() {
+      return this.javaApi + '/personBasicInfo/saveCNASFile'
+    }
+  },
+  mounted() {
+    // 鑾峰彇璁惧浜嬫晠淇℃伅
+    this.getDeviceAList(this.clickNodeVal.value);
+    window.excelClosed = this.closed
+  },
+  methods: {
+    handleSizeChange(val) {
+      this.search.size = val
+      this.getDeviceAList(this.clickNodeVal.value);
+    },
+    handleCurrentChange(val) {
+      this.search.current = val
+      this.getDeviceAList(this.clickNodeVal.value);
+    },
+    deleteFile() {
+      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        deleteCNASFile({fileName: this.form.systemFileName}).then(res => {
+          if (res.code == 200) {
+            this.$message.success('鍒犻櫎鎴愬姛锛�')
+          }
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '宸插彇娑堝垹闄�'
+        });
+      });
+    },
+    onSuccess(response, file, fileList) {
+      if (response.code == 200) {
+        // 鍦ㄤ繚瀛樿祴鍊兼柊鏂囦欢
+        this.form.fileName = file.name
+        this.form.systemFileName = response.data
+      } else {
+        this.$message.error(response.message)
+      }
+    },
+    addTableRow(value) {
+      switch (value) {
+        // 澶囦欢纭
+        case 'sparePartsConfirmationList':
+          const obj = Object.assign({
+            name: '',
+            number: null,
+            note: ''
+          })
+          this.form.sparePartsConfirmationList.push(obj)
+          break
+        // 鏂囦欢纭List
+        case 'fileClassConfirmationList':
+          const obj1 = Object.assign({
+            expectedCopies: '',
+            actualCopies: '',
+          })
+          this.form.fileClassConfirmationList.push(obj1)
+          break
+        // 瀹夎楠屾敹璁板綍
+        case 'installationAcceptanceRecordList':
+          const obj2 = Object.assign({
+            installationProject: '',
+            installationSituation: '',
+            installationCompleted: ''
+          })
+          this.form.installationAcceptanceRecordList.push(obj2)
+          break
+        // 楠屾敹鏍告煡璁板綍
+        case 'acceptanceCheckRecordList':
+          const obj3 = Object.assign({
+            instrumentModule: '',
+            verificationParameter: '',
+            acceptableLimit: '',
+            verificationResult: '',
+            verificationConclusion: ''
+          })
+          this.form.acceptanceCheckRecordList.push(obj3)
+        default:
+          break
+      }
+    },
+    deleteRow(index, row, type) {
+      switch (type) {
+        // 澶囦欢纭
+        case 'sparePartsConfirmationList':
+          if (row.sparePartsId) {
+            deleteIncidentReportAll({sparePartsId: row.sparePartsId}).then(res => { });
+          }
+          this.form.sparePartsConfirmationList.splice(index, 1)
+          this.$message.success('鍒犻櫎鎴愬姛锛�')
+          break
+        // 鏂囦欢纭List
+        case 'fileClassConfirmationList':
+          if (row.fileId) {
+            deleteIncidentReportAll({fileId: row.fileId}).then(res => { });
+          }
+          this.form.fileClassConfirmationList.splice(index, 1)
+          this.$message.success('鍒犻櫎鎴愬姛锛�')
+          break
+        // 瀹夎楠屾敹璁板綍
+        case 'installationAcceptanceRecordList':
+          if (row.installId) {
+            deleteIncidentReportAll({installId: row.installId}).then(res => { });
+          }
+          this.form.installationAcceptanceRecordList.splice(index, 1)
+          this.$message.success('鍒犻櫎鎴愬姛锛�')
+          break
+        // 楠屾敹鏍告煡璁板綍
+        case 'acceptanceCheckRecordList':
+          if (row.acceptanceCheckId) {
+            deleteIncidentReportAll({acceptanceCheckId: row.acceptanceCheckId}).then(res => { });
+          }
+          this.form.acceptanceCheckRecordList.splice(index, 1)
+          this.$message.success('鍒犻櫎鎴愬姛锛�')
+        default:
+          break
+      }
+    },
+    choiceStep(index) {
+      this.currentStepClick = index
+    },
+    openRecordAcceptance() {
+      // 鑾峰彇璁惧鍩虹淇℃伅
+      selectDeviceByCode({id: this.clickNodeVal.value}).then(res => {
+        this.form.deviceName = res.data.deviceName
+        this.form.manufacturer = res.data.manufacturer
+        this.form.specificationModel = res.data.specificationModel
+        this.form.managementNumber = res.data.managementNumber
+        this.$nextTick(() => {
+          this.$refs['form'].clearValidate()
+        })
+      });
+      // 鑾峰彇璐熻矗浜轰俊鎭�
+      this.getUserList()
+    },
+    //鎻愪氦琛ㄥ崟
+    async submitForm(saveState) {
+      this.$refs.form.validate((valid) => {
+        if (valid === true || saveState !== '1submit') {
+          // 缁欏綋鍓嶇幆鑺傝缃垱寤轰汉涓庢椂闂�
+          let user = JSON.parse(localStorage.getItem('user'))
+          const dateTime = dateFormat(new Date())
+          // 鑾峰彇褰撳墠鐜妭鎿嶄綔浜轰笌鏃ユ湡
+          switch (this.currentStep) {
+            case 0:
+              this.form.submitOperatingPersonnel = user.name
+              this.form.submitDate = dateTime
+              break
+            case 1:
+              this.form.unpackingOperatingPersonnel = user.name
+              this.form.unpackingDate = dateTime
+              break
+            case 2:
+              this.form.installOperatingPersonnel = user.name
+              this.form.installDate = dateTime
+              break
+            case 3:
+              this.form.installationAcceptanceOperatingPersonnel = user.name
+              this.form.installationAcceptanceDate = dateTime
+              break
+            case 4:
+              this.form.acceptanceCheckOperatingPersonnel = user.name
+              this.form.acceptanceCheckDate = dateTime
+              break
+            case 5:
+              this.form.acceptanceAuditOperatingPersonnel = user.name
+              this.form.acceptanceAuditDate = dateTime
+              break
+            default:
+              break
+          }
+          // 鑾峰彇褰撳墠鐜妭璐熻矗浜�
+          switch (saveState === '3reject' ? this.currentStep - 1 : this.currentStep) {
+            case 0:
+              this.form.currentResponsible = this.form.submitNextPesponsible
+              break
+            case 1:
+              this.form.currentResponsible = this.form.unpackingNextPesponsible
+              break
+            case 2:
+              this.form.currentResponsible = this.form.installNextPesponsible
+              break
+            case 3:
+              this.form.currentResponsible = this.form.installationAcceptanceNextPesponsible
+              break
+            case 4:
+              this.form.currentResponsible = this.form.acceptanceCheckNextPesponsible
+              break
+            default:
+              break
+          }
+          let currentStepAction;
+          // 璁剧疆璇ユ搷浣滃垽鏂槸鍚︿负鎻愪氦锛屼繚瀛橈紝椹冲洖锛岄�氳繃
+          switch (saveState) {
+            // 鎻愪氦锛岄�氳繃
+            case '1submit':
+              currentStepAction = this.currentStep + 1
+              break
+            // 淇濆瓨
+            case '2save':
+              currentStepAction = this.currentStep
+              break
+            // 椹冲洖
+            case '3reject':
+              currentStepAction = this.currentStep - 1
+              break
+            default:
+              break
+          }
+          // 鑾峰彇褰撳墠鐘舵��
+          this.form.currentState = currentStepAction === 6 ? '鍏抽棴' : this.steps[currentStepAction]
+          this.form.deviceId = this.clickNodeVal.value
+          saveIncidentReportData(this.form).then(res => {
+            if (res.code == 200) {
+              this.$message.success('鎻愪氦鎴愬姛')
+              this.getDeviceAList(this.clickNodeVal.value);
+              this.dialogVisible = false
+            }
+          })
+        } else {
+          let step = this.steps[this.currentStep]
+          this.$message.warning(step + '  娴佺▼涓湁蹇呭~椤规湭濉紒');
+        }
+      });
+    },
+    // 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
+    getUserList() {
+      selectUserCondition().then(res => {
+        if (res.code == 200) {
+          this.responsibleOptions = res.data
+        }
+      })
+    },
+    resetSearch() {
+      this.search = {
+        size: 20,
+          current: 1,
+          total: 0,
+          processNumber: '',
+      }
+      this.getDeviceAList(this.clickNodeVal.value);
+    },
+    // 鑾峰彇璁惧浜嬫晠淇℃伅(鏍规嵁浠巚uex涓幏鍙栧埌鐨勮澶囧悕绉癷d杩涜鏁版嵁鏌ヨ)
+    getDeviceAList(deviceId) {
+      incidentReportPage({deviceId: deviceId, size:this.search.size, current:this.search.current, processNumber: this.search.processNumber}).then(res => {
+        if (res.code == 200) {
+          this.tableDataAlist = res.data.records
+          this.search.total = res.data.total
+        }
+      })
+    },
+    //table 浜嬩欢澶勭悊寮�濮嬪
+    handleAttachmentClick(row) {
+      // 妯℃嫙涓嬭浇闄勪欢
+      const imageUrl = this.javaApi+'/img/'+row.systemFileName; // 鍥剧墖 URL
+      // downloadImage(imageUrl);
+      file.downloadIamge(imageUrl,row.fileName)
+    },
+    handleViewClick(row) {
+      getShowIncidentReport({id: row.id}).then(res => {
+        this.form = { ...res.data }
+        // 濡傛灉绱㈠紩涓�6琛ㄧず鍏ㄩ儴閫氳繃
+        this.currentStep = this.steps.indexOf(this.form.currentState) === -1 ? 6 : this.steps.indexOf(this.form.currentState)
+        this.currentStepClick = this.currentStep === 6 ? 0 : this.currentStep
+        this.$nextTick(() => {
+          this.$refs['form'].clearValidate()
+        })
+      })
+      this.dialogVisible = true
+    },
+    handleDeleteClick(row) {
+      this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        deleteIncidentReportAll({id: row.id}).then(res => {
+          if (res.code == 200) {
+            this.$message.success('鍒犻櫎鎴愬姛')
+            this.getDeviceAList(this.clickNodeVal.value);
+          }
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '宸插彇娑堝垹闄�'
+        });
+      });
+
+    },
+    //瀵煎嚭
+    handleDown() {
+      this.outLoading = true
+      incidentReportExport({deviceId: this.clickNodeVal.value}).then(res => {
+        this.outLoading = false
+        const blob = new Blob([res], { type: 'application/octet-stream' });
+        this.$download.saveAs(blob, '璁惧楠屾敹.xlsx')
+      })
+    },
+  },
+  watch: {
+    // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
+    clickNodeVal(newVal) {
+      if (newVal.value) {
+        this.getDeviceAList(newVal.value);
+      }
+    },
+    dialogVisible(newVal) {
+      if (!newVal) {
+        this.form = {
+          sparePartsConfirmationList: [], // 澶囦欢纭List
+          fileClassConfirmationList: [], // 鏂囦欢纭List
+          installationAcceptanceRecordList: [], // 瀹夎楠屾敹璁板綍
+          acceptanceCheckRecordList: [], // 楠屾敹鏍告煡璁板綍
+          fileName: '', // 鏂囦欢鍚嶇О
+          systemFileName: '', // 绯荤粺鏂囦欢鍚嶇О
+        }
+        this.currentStep = 0 // 姝ラ鏉℃樉绀虹鍑犳
+        this.currentStepClick = 0 // 鐐瑰嚮姝ラ鏉″彉鍖�
+        this.$refs['form'].clearValidate()
+      }
+    }
+  }
+}
+function downloadImage(url) {
+  const link = document.createElement('a');
+  link.href = url;
+  link.download = 'attachment.jpg'; // 鏂囦欢鍚�
+  document.body.appendChild(link);
+  link.click();
+  document.body.removeChild(link);
+}
+</script>
+
+<style scoped>
+>>>.el-radio {
+  color: #606266;
+  font-weight: 500;
+  cursor: pointer;
+  margin-right: 0px;
+  width: 10em;
+}
+
+.tables {
+  width: 100%;
+  height: calc(100vh - 17em);
+}
+
+.search {
+  background-color: #fff;
+  height: 40px;
+  display: flex;
+  align-items: center;
+  position: relative;
+}
+
+.search_thing {
+  display: flex;
+  align-items: center;
+  height: 40px;
+}
+
+.search_label {
+  font-size: 14px;
+  text-align: right;
+}
+
+.search_input {
+  width: calc(100% - 120px);
+}
+
+.btns {
+  position: absolute;
+  right: 0px;
+  top: 40%;
+  transform: translate(0, -50%);
+  /* text-align: right; */
+}
+
+.search_thing {
+  display: flex;
+  margin-bottom: 10px;
+}
+
+.search_label {
+  /* width: 150px; */
+  text-align: right;
+  padding-right: 10px;
+}
+
+.search_input {
+  flex-grow: 1;
+}
+
+.line {
+  width: 20px;
+  height: 1px;
+  background-color: #ccc;
+  display: inline-block;
+  margin-right: 10px;
+}
+
+.form .search_label {
+  width: 120px;
+}
+</style>
diff --git a/src/views/CNAS/resourceDemand/device/component/check.vue b/src/views/CNAS/resourceDemand/device/component/check.vue
index 5dfe6b9..40e0de3 100644
--- a/src/views/CNAS/resourceDemand/device/component/check.vue
+++ b/src/views/CNAS/resourceDemand/device/component/check.vue
@@ -4,7 +4,7 @@
     <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">瀵煎嚭Excel</el-button>
+      <el-button size="small" type="primary" @click="downLoadPost">瀵煎嚭Excel</el-button>
     </div>
     <div class="tables" style="margin-top: 16px;">
       <el-table :data="tableData" height="calc(100vh - 20em)">
@@ -42,14 +42,15 @@
     </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>
       </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">
@@ -78,8 +79,9 @@
         <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>
@@ -96,68 +98,71 @@
     </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="鏍告煡璁板綍" :before-close="handleClose"
+               top="5vh"
+               width="80%" @close="resetcalibrationRecord">
       <div class="dialog-content">
         <h4>
           <span style="display: flex;align-items: center;">
-            <span class="line"></span>
+           <span class="line"></span>
             <span>娣诲姞璁惧鏍告煡璁板綍</span>
           </span>
         </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>
+                          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">
+                <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">
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="涓嬫鏍告煡鏃ユ湡:" label-width="140px" prop="nextCalibrationDate">
-                <el-date-picker v-model="calibrationRecord.nextCalibrationDate" :disabled="operationType === 'view'"
-                  :picker-options="{ disabledDate: this.disabledDate }" 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="operationType === 'view'" :picker-options="{ disabledDate: this.disabledDate }"
+                                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>
+                          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>
+                          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-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>
+                          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="8">
@@ -171,16 +176,17 @@
             </el-col>
             <el-col :span="23">
               <el-form-item label="闄勪欢锛�" prop="fileName">
-                <el-input v-model="calibrationRecord.fileName"
-                  :style="`width: ${operationType === 'add' ? '90%' : '100%'};}`" disabled size="small">
+                <el-input v-model="calibrationRecord.fileName" :style="`width: ${operationType === 'add' ? '90%' : '100%'};}`" disabled
+                          size="small">
                   <el-button v-if="operationType === 'add'" slot="append" icon="el-icon-delete-solid"
-                    @click="deleteFile"></el-button>
+                             @click="deleteFile"></el-button>
                 </el-input>
-                <el-upload v-if="operationType === 'add'" ref="upload" :action="action" :before-upload="beforeUpload"
-                  :headers="uploadHeader" :limit="1" :on-error="onError" :on-success="handleSuccessUp"
-                  :show-file-list="false" style="float: right;">
+                <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">闄勪欢涓婁紶
+                             type="primary">闄勪欢涓婁紶
                   </el-button>
                 </el-upload>
               </el-form-item>
@@ -188,7 +194,7 @@
             <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>
+                          style="width: 96%" type="textarea"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -229,13 +235,12 @@
           </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>
         <span slot="footer" class="dialog-footer" style="float: right;margin-top: 10px">
-          <el-button v-if="operationType === 'add'" @click="dialogVisible1 = false">鍙� 娑�</el-button>
+          <el-button v-if="operationType === 'add'" @click="handleClose">鍙� 娑�</el-button>
           <el-button v-if="operationType === 'add'" type="primary" @click="addRecord">纭� 瀹�</el-button>
         </span>
       </div>
@@ -247,6 +252,7 @@
 <script>
 import file from '@/utils/file';
 import { mapGetters } from "vuex";
+import {deviceMetricRecordExport} from "@/api/cnas/resourceDemand/device";
 export default {
   components: {},
   props: {
@@ -561,7 +567,15 @@
           message: '宸插彇娑堝垹闄�'
         });
       })
-    }
+    },
+    downLoadPost() {
+      this.outLoading = true
+      deviceMetricRecordExport({deviceId: this.clickNodeVal.value}).then(res => {
+        this.outLoading = false
+        const blob = new Blob([res],{ type: 'application/msword' });
+        this.$download.saveAs(blob, '璁惧鏍告煡.xlsx')
+      })
+    },
   },
   watch: {
     // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
diff --git a/src/views/CNAS/resourceDemand/device/component/fault.vue b/src/views/CNAS/resourceDemand/device/component/fault.vue
index a229fa7..c509165 100644
--- a/src/views/CNAS/resourceDemand/device/component/fault.vue
+++ b/src/views/CNAS/resourceDemand/device/component/fault.vue
@@ -278,6 +278,13 @@
 <script>
 import { dateFormat } from '@/utils/date'
 import { mapGetters } from "vuex";
+import {
+  addOrUpdateDeviceFaultOne,
+  deleteCNASFile, deleteDeviceFaultOne,
+  deviceFaultOnePage, exportRewardAndPunishmentRecords,
+  selectDeviceByCode
+} from "@/api/cnas/resourceDemand/device";
+import {selectUserCondition} from "@/api/system/user";
 export default {
   props: {
     clickNodeVal: {
@@ -310,7 +317,7 @@
   computed: {
     ...mapGetters(["nickName"]),
     action() {
-      return this.javaApi + this.$api.personnel.saveCNASFile
+      return this.javaApi + '/personBasicInfo/saveCNASFile'
     }
   },
   mounted() {
@@ -399,11 +406,7 @@
           // 鑾峰彇褰撳墠鐘舵��
           this.form.currentState = currentStepAction === 5 ? '鍏抽棴' : this.steps[currentStepAction]
           this.form.deviceId = this.clickNodeVal.value
-          this.$axios.post(this.$api.deviceCheck.addOrUpdateDeviceFaultOne, this.form, {
-            headers: {
-              'Content-Type': 'application/json'
-            }
-          }).then(res => {
+          addOrUpdateDeviceFaultOne(this.form).then(res => {
             if (res.code == 200) {
               this.$message.success('鎻愪氦鎴愬姛')
               this.getTableList(this.clickNodeVal.value)
@@ -425,7 +428,7 @@
     },
     openRecordAcceptance() {
       // 鑾峰彇璁惧鍩虹淇℃伅
-      this.$axios.get(this.$api.deviceScope.selectDeviceByCode + '?id=' + this.clickNodeVal.value).then(res => {
+      selectDeviceByCode({id: this.clickNodeVal.value}).then(res => {
         this.form.deviceName = res.data.deviceName
         this.form.manufacturer = res.data.manufacturer
         this.form.specificationModel = res.data.specificationModel
@@ -436,11 +439,9 @@
     },
     // 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
     getUserList() {
-      this.$axios.get(this.$api.deviceScope.selectUserList).then(res => {
-        if (res.code == 200) {
-          this.users = res.data
-        }
-      })
+      selectUserCondition().then((res) => {
+        this.users = res.data;
+      });
     },
     handleSizeChange(val) {
       this.search.size = val
@@ -456,7 +457,7 @@
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       }).then(() => {
-        this.$axios.delete(this.$api.personnel.deleteCNASFile + "?fileName=" + this.form.systemFileName).then(res => {
+        deleteCNASFile({fileName: this.form.systemFileName}).then(res => {
           if (res.code == 200) {
             this.$message.success('鍒犻櫎鎴愬姛锛�')
           }
@@ -477,7 +478,7 @@
         this.form.fileName = response.data
         this.$message.success('涓婁紶鎴愬姛')
       } else {
-        this.$message.error(response.message)
+        this.$message.error(response.msg)
       }
     },
     onError(error, file, fileList) {
@@ -505,7 +506,13 @@
     },
     //鑾峰彇鎵�鏈変俊鎭�
     getTableList(deviceId) {
-      this.$axios.get(this.$api.deviceCheck.deviceFaultOnePage + '?deviceId=' + deviceId + "&size=" + this.search.size + "&current=" + this.search.current + "&processNumber=" + this.search.processNumber).then(res => {
+      const params = {
+        deviceId: deviceId,
+        size: this.search.size,
+        current: this.search.current,
+        processNumber: this.search.processNumber,
+      }
+      deviceFaultOnePage(params).then(res => {
         if (res.code == 200) {
           this.faultParam = res.data.records
           this.search.total = res.data.total
@@ -515,19 +522,10 @@
     //瀵煎嚭
     handleDown() {
       this.outLoading = true
-      this.$axios.post(this.$api.deviceCheck.exportRewardAndPunishmentRecords, {
-        deviceId: this.clickNodeVal.value
-      }, { responseType: "blob" }).then(res => {
+      exportRewardAndPunishmentRecords({deviceId: this.clickNodeVal.value}).then(res => {
         this.outLoading = false
-        this.$message.success('瀵煎嚭鎴愬姛')
         const blob = new Blob([res], { type: 'application/octet-stream' });
-        const url = URL.createObjectURL(blob);
-        const link = document.createElement('a');
-        link.href = url;
-        link.download = '璁惧鏁呴殰琛�.xlsx';
-        link.click();
-      }).finally(() => {
-        this.outLoading = false
+        this.$dowmload.saveAs(blob, '璁惧鏁呴殰琛�.xlsx')
       })
     },
     selectAllByOne(row) {
@@ -556,7 +554,7 @@
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       }).then(() => {
-        this.$axios.delete(this.$api.deviceCheck.deleteDeviceFaultOne + '?id=' + row.id).then(res => {
+        deleteDeviceFaultOne({id: row.id}).then(res => {
           if (res.code == 200) {
             this.$message.success('鍒犻櫎鎴愬姛')
             this.getTableList(this.clickNodeVal.value)
diff --git a/src/views/CNAS/resourceDemand/device/component/files.vue b/src/views/CNAS/resourceDemand/device/component/files.vue
index 40ac949..b6381d6 100644
--- a/src/views/CNAS/resourceDemand/device/component/files.vue
+++ b/src/views/CNAS/resourceDemand/device/component/files.vue
@@ -7,7 +7,7 @@
         <el-button type="primary" size="small" @click="openEditForm" style="">淇妗f</el-button>
         <el-button type="primary" size="small" @click="dialogVisible1 = true" style="">娣诲姞闄勪欢</el-button>
         <el-button type="primary" size="small" @click="deviceDialog = true" style="">鏌ョ湅璁惧浜岀淮鐮�</el-button>
-        <el-button type="primary" size="small" @click="handleDownOne" style="">瀵煎嚭</el-button>
+<!--        <el-button type="primary" size="small" @click="handleDownOne" style="">瀵煎嚭</el-button>-->
       </div>
     </div>
     <el-divider></el-divider>
@@ -16,7 +16,7 @@
         <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;">
+                    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>
@@ -26,8 +26,11 @@
           <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">
@@ -46,8 +49,11 @@
           <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">
@@ -60,7 +66,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">
@@ -74,7 +80,10 @@
           </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> -->
@@ -105,10 +114,10 @@
           <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 :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">
@@ -121,8 +130,13 @@
           </div>
           <div class="form-item">
             <label>妫�楠岄」</label>
-            <el-tooltip class="item" effect="dark" :content="Mdata.insProductItem" placement="top">
-              <span class="text-ellipsis">{{ Mdata.insProductItem }}</span>
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="Mdata.insProductItem"
+              placement="top"
+            >
+              <span class="text-ellipsis" >{{ Mdata.insProductItem }}</span>
             </el-tooltip>
           </div>
           <div class="form-item">
@@ -131,16 +145,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>
@@ -170,27 +184,27 @@
         <el-table-column prop="quantity" label="浠芥暟" min-width="80" />
         <el-table-column prop="pageCount" label="椤电爜" min-width="80" />
         <el-table-column prop="provider" label="鎻愪緵鑰�" min-width="150" />
-        <el-table-column prop="provideDate" label="褰掓。鏃ユ湡" min-width="150" />
+        <el-table-column prop="provideDate" label="鎻愪緵鏃ユ湡" min-width="150" />
         <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="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;max-height: 75vh;overflow-y: auto;">
+    <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-col :span="7">
           <el-col>
             <!-- 鍥剧墖 -->
             <el-image class="img" style="width:100%;height: 320px;margin-bottom:16px"
-              :src="javaApi + '/img/' + editData.imageUpload">
+                      :src="javaApi + '/img/' + editData.imageUpload">
               <div slot="error" class="image-error" style="width: calc(100% - 2px);
             height: 318px;
             border-radius: 16px;
@@ -222,7 +236,7 @@
         <el-col :span="7">
           <el-form :model="editData" label-width="116px" ref="rules2" :rules="rules1">
             <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
-              <el-input v-model="editData.calibrationServices" size="small"></el-input>
+              <el-input v-model="editData.calibrationServices" disabled size="small"></el-input>
             </el-form-item>
             <el-form-item label="璧勪骇缂栫爜:">
               <el-input v-model="editData.assetCode" size="small"></el-input>
@@ -238,12 +252,12 @@
             </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="閫夋嫨鏃ユ湡">
+                              value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
               </el-date-picker>
             </el-form-item>
-            <el-form-item label="鏍″噯鏈夋晥鏈�:" prop="activationDate">
+            <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="閫夋嫨鏃ユ湡">
+                              value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
               </el-date-picker>
             </el-form-item>
             <el-form-item label="璐熻矗浜�:">
@@ -264,28 +278,28 @@
         <el-col :span="7">
           <el-form :model="editData" label-width="140px" ref="ruleForm" :rules="rules1">
             <!-- 瀹為獙瀹ゅ垪琛� -->
-            <el-form-item label="鎵�灞為儴闂�:" prop="subordinateDepartmentsId">
+            <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">
+                           :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>
+                           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="editData.lastCalibrationDate" format="yyyy-MM-dd"
+            <!-- <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-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-date-picker>
-            </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">
@@ -305,7 +319,7 @@
               <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-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>
@@ -324,8 +338,9 @@
               <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="uploadHeader" :on-change="beforeUpload"
-                  :on-error="onError" ref='upload' class="avatar-uploader">
+                           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>
@@ -341,7 +356,7 @@
         </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">
@@ -370,13 +385,13 @@
           <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>
+                               :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>
+                               :min="0" :max="10"></el-input-number>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -386,8 +401,8 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="褰掓。鏃ユ湡锛�">
-              <el-date-picker type="date" style="width:100%" placeholder="璇烽�夋嫨鏃ユ湡" size="small"
-                v-model="addFile.provideDate" 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">
@@ -397,9 +412,9 @@
           </el-col>
           <el-col :span="24">
             <el-form-item label="闄勪欢锛�" style="float: left;">
-              <el-upload class="upload-demo" :action="action" :headers="uploadHeader" 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>
diff --git a/src/views/CNAS/resourceDemand/device/component/maintenance.vue b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
index 9ea4f5a..c875750 100644
--- a/src/views/CNAS/resourceDemand/device/component/maintenance.vue
+++ b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
@@ -5,18 +5,18 @@
       <div class="search_thing">
         <div class="search_label">娴佺▼缂栧彿锛�</div>
         <div class="search_input"><el-input v-model="search.deviceNumber" clearable placeholder="璇疯緭鍏�" size="small"
-            @keyup.enter.native="getAllMessage(clickNodeVal.value)"></el-input></div>
+                                            @keyup.enter.native="getAllMessage(clickNodeVal.value)"></el-input></div>
       </div>
-      <div class="search_thing" style="padding-left: 30px;">
+      <div class="search_thing" style="padding-left: 20px;">
         <el-button size="small" @click="resetSearch">閲� 缃�</el-button>
         <el-button size="small" type="primary" @click="getAllMessage(clickNodeVal.value)">鏌� 璇�</el-button>
       </div>
       <div class="btns">
         <el-button size="small" type="primary" @click="dialogVisible = true; add()">娣诲姞缁存姢璁板綍</el-button>
-        <el-button :loading="outLoading" size="small" type="primary" @click="handleDownOne">瀵煎嚭</el-button>
+        <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">瀵煎嚭</el-button>
       </div>
     </div>
-    <div class="tables" style="margin-top: 10px;">
+    <div class="tables" style="margin-top: 16px;">
       <el-table ref="table" :data="MaintainParam" height="calc(100vh - 20em)">
         <el-table-column label="搴忓彿" type="index" width="120">
           <template v-slot="scope">
@@ -31,7 +31,7 @@
         <el-table-column label="鎻愪氦浜�" min-width="150" prop="name" />
         <el-table-column label="鎻愪氦鏃ユ湡" min-width="150" prop="date">
         </el-table-column>
-        <el-table-column fixed="right" label="鎿嶄綔" width="110">
+        <el-table-column fixed="right" label="鎿嶄綔" width="150">
           <template slot-scope="scope">
             <el-button size="small" type="text" @click="handleViewClick(scope.row)">鏌ョ湅</el-button>
             <el-button size="small" type="text" @click="handleDeleteClick(scope.$index, scope.row)">鍒犻櫎</el-button>
@@ -39,13 +39,14 @@
         </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" @size-change="handleSizeChange"
-        @current-change="handleCurrentChange">
+                     :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
+                     @current-change="handleCurrentChange">
       </el-pagination>
     </div>
     <!-- 鏂板缓缁存姢 -->
-    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible" title="娣诲姞缁存姢璁板綍"
-      top="5vh" width="60%">
+    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible"
+               title="娣诲姞缁存姢璁板綍"
+               top="5vh" width="60%">
       <el-form ref="form" :model="formData" label-width="130px">
         <el-row>
           <el-col :span="24">
@@ -61,25 +62,25 @@
           <el-col :span="12">
             <el-form-item label="绠$悊缂栧彿:" prop="managementNumber">
               <el-input v-model="formData.managementNumber" clearable disabled placeholder="璇疯緭鍏�"
-                size="small"></el-input>
+                        size="small"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶ゅ唴瀹�', trigger: 'blur' }]" label="缁存姢鍐呭:"
-              prop="content">
+                          prop="content">
               <el-input v-model="formData.content" placeholder="璇疯緭鍏�" size="small" type="textarea"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶ゆ椂闂�', trigger: 'blur' }]" label="缁存姢鏃堕棿:" prop="date">
+            <el-form-item :rules="[{ required: true, message: '璇烽�夋嫨缁存姢鏃堕棿', trigger: 'blur' }]" label="缁存姢鏃堕棿:" prop="date">
               <el-date-picker v-model="formData.date" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small"
-                style="width:100%" type="date" value-format="yyyy-MM-dd">
+                              style="width:100%" type="date" value-format="yyyy-MM-dd">
               </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶ゆ椂闂�', trigger: 'blur' }]" label="缁存姢绫诲瀷:"
-              prop="maintenanceType">
+            <el-form-item :rules="[{ required: true, message: '璇烽�夋嫨缁存姢绫诲瀷', trigger: 'blur' }]" label="缁存姢绫诲瀷:"
+                          prop="maintenanceType">
               <el-radio-group v-model="formData.maintenanceType" :disabled="!this.editMode">
                 <el-radio :label="0">浣跨敤鍓嶅悗缁存姢</el-radio>
                 <el-radio :label="1">璁″垝涓淮鎶�</el-radio>
@@ -88,10 +89,15 @@
           </el-col>
           <el-col :span="12">
             <el-form-item :rules="[{ required: true, message: '璇烽�夋嫨涓嬫缁存姢鏃堕棿', trigger: 'blur' }]" label="涓嬫缁存姢鏃堕棿:"
-              prop="nextDate">
-              <el-date-picker v-model="formData.nextDate" :picker-options="{ disabledDate: this.disabledDate }"
-                format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small" style="width:100%" type="date"
-                value-format="yyyy-MM-dd">
+                          prop="nextDate">
+              <el-date-picker
+                  v-model="formData.nextDate"
+                  :picker-options="{ disabledDate: this.disabledDate }"
+                  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>
@@ -121,7 +127,7 @@
   deleteDeviceMaintenance,
   selectDeviceByCode,
   addDeviceMaintenance,
-  getDeviceMaintenancePage,
+  getDeviceMaintenancePage, deviceMaintenanceExport,
 } from '@/api/cnas/resourceDemand/device.js'
 export default {
   props: {
@@ -179,10 +185,10 @@
     // 瀵煎嚭
     handleDownOne() {
       this.outLoading = true
-      exportMaintenanceRecord({ deviceId: this.clickNodeVal.value }).then(res => {
+      deviceMaintenanceExport({ deviceId: this.clickNodeVal.value }).then(res => {
         this.outLoading = false
         const blob = new Blob([res], { type: 'application/octet-stream' });
-        this.$download.saveAs(blob, '璁惧缁存姢淇濆吇璁板綍.doc')
+        this.$download.saveAs(blob, '璁惧缁存姢.xlsx')
       })
     },
     //鎿嶄綔璇︽儏鍒犻櫎
@@ -193,13 +199,12 @@
         type: 'warning'
       }).then(() => {
         deleteDeviceMaintenance({ id: row.id }).then(res => {
+          this.getAllMessage(this.clickNodeVal.value)
+          this.$message({
+            type: 'success',
+            message: '鍒犻櫎鎴愬姛!'
+          });
         })
-        // this.MaintainParam.splice(index, 1);
-        this.getAllMessage(this.clickNodeVal.value)
-        this.$message({
-          type: 'success',
-          message: '鍒犻櫎鎴愬姛!'
-        });
       }).catch(() => {
         this.$message({
           type: 'info',
diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index fa8ecd6..739ac7f 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -34,354 +34,332 @@
 			<lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 320px)'"
 				:page="page" @pagination="pagination"></lims-table>
 		</div>
-		<el-dialog :title="isUp ? '璁惧璇︽儏' : '妗f淇'" :visible.sync="dialogVisible" width="70%" top="5vh"
-			: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;marginBottom:16px"
-							:src="javaApi + '/img/' + formData.imageUpload">
-							<div slot="error" class="image-error" style="width: calc(100% -2px);
+    <el-dialog :title="isUp ? '璁惧璇︽儏' : '妗f淇'" :visible.sync="dialogVisible" width="70%"
+               top="5vh"
+               :before-close="handleClose">
+      <el-row style="display:flex;justify-content: space-around;">
+        <!-- 宸﹁竟甯冨眬 -->
+        <el-col :span="7">
+          <el-col>
+            <!-- 鍥剧墖 -->
+            <el-image class="img" style="width:100%;height: 320px;marginBottom:16px"
+                      :src="javaApi + '/img/' + formData.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>
-							</div>
-						</el-image>
-						<!-- 琛ㄥ崟 -->
-						<el-form :label-position="labelPosition" :model="formData" label-width="120px">
-							<el-form-item label="浠櫒鍚嶇О:" required prop="deviceName">
-								<el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input>
-							</el-form-item>
-							<el-form-item label="浠櫒鍚嶇ОEN:" required>
-								<el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input>
-							</el-form-item>
-							<el-form-item label="瑙勬牸鍨嬪彿:" required>
-								<el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input>
-							</el-form-item>
-							<el-form-item label="鐢熶骇鍘傚:">
-								<el-input :disabled="isUp" v-model="formData.manufacturer" size="small"></el-input>
-							</el-form-item>
-						</el-form>
-					</el-col>
-				</el-col>
-				<!-- 涓棿甯冨眬 -->
-				<el-col :span="7">
-					<el-form :label-position="labelPosition" :model="formData" label-width="116px">
-						<el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
-							<el-input :disabled="isUp" v-model="formData.calibrationServices" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="璧勪骇缂栫爜:">
-							<el-input v-model="formData.assetCode" :disabled="isUp" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="浜у湴:">
-							<el-input v-model="formData.origin" :disabled="isUp" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="鍑哄巶缂栧彿:">
-							<el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="绠$悊缂栧彿:" required>
-							<el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="璐疆鏃ユ湡:">
-							<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.acquisitionDate" type="date"
-								format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="鏍″噯鏈夋晥鏈�:" required>
-							<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate" type="date"
-								format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="璐熻矗浜�:">
-							<el-select v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small" :disabled="isUp"
-								style="width:100%">
-								<el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
-									:value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="瀛樻斁鐐�:">
-							<el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="鎶�鏈寚鏍�:">
-							<el-input :disabled="isUp" v-model="formData.technicalIndicators" :rows="7" type="textarea"
-								size="small"></el-input>
-						</el-form-item>
-					</el-form>
-				</el-col>
-				<!-- 鍙宠竟甯冨眬 -->
-				<el-col :span="7">
-					<el-form :label-position="labelPosition" :model="formData" label-width="140px" ref="ruleForm">
-						<!-- 瀹為獙瀹ゅ垪琛� -->
-						<el-form-item label="鎵�灞為儴闂�:" required>
-							<el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small"
-								style="width:100%">
-								<el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
-									:value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="妫�娴嬮」鐩�:">
-							<el-cascader :disabled="isUp" v-model="formData.insProductIds" :options="options" :show-all-levels="false"
-								:props="props" placeholder="璇烽�夋嫨" size="small" style="width:100%;" :collapse-tags="!isUp" separator=","
-								filterable clearable></el-cascader>
-						</el-form-item>
-						<el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
-							<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.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 :disabled="isUp" style="width:100%" v-model="formData.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 label="璁惧绫诲瀷:">
-							<el-select :disabled="isUp" v-model="formData.largeCategory" placeholder="璇烽�夋嫨" size="small"
-								style="width:100%">
-								<el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="鍗曚环(涓囧厓):">
-							<el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="褰撳墠鐘舵��:" required>
-							<el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small"
-								style="width:100%">
-								<el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
-							<el-input :disabled="isUp" v-model="formData.calibrationDate" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="琚巿鏉冧汉:">
-							<el-select v-model="formData.authorizedPerson" multiple :disabled="isUp" placeholder="璇烽�夋嫨" size="small"
-								style="width:100%">
-								<el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
-									:value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="鍥剧墖:">
-							<div
-								style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;">
-								<div v-show="formData.imageName" class="picName">{{ formData.imageName }}</div>
-								<el-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false"
-									accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload"
-									:on-error="onError" ref='upload'>
-									<el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
-								</el-upload>
-							</div>
-						</el-form-item>
-					</el-form>
-				</el-col>
-			</el-row>
-			<span slot="footer" class="dialog-footer">
+                <i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i>
+              </div>
+            </el-image>
+            <!-- 琛ㄥ崟 -->
+            <el-form :label-position="labelPosition" :model="formData" label-width="120px">
+              <el-form-item label="浠櫒鍚嶇О:" required>
+                <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input>
+              </el-form-item>
+              <el-form-item label="浠櫒鍚嶇ОEN:" required>
+                <el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input>
+              </el-form-item>
+              <el-form-item label="瑙勬牸鍨嬪彿:" required>
+                <el-input :disabled="isUp" v-model="formData.specificationModel"
+                          size="small"></el-input>
+              </el-form-item>
+              <el-form-item label="鐢熶骇鍘傚:">
+                <el-input :disabled="isUp" v-model="formData.manufacturer" size="small"></el-input>
+              </el-form-item>
+            </el-form>
+          </el-col>
+        </el-col>
+        <!-- 涓棿甯冨眬 -->
+        <el-col :span="7">
+          <el-form :label-position="labelPosition" :model="formData" label-width="116px">
+            <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
+              <el-input disabled v-model="formData.calibrationServices" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="鍑哄巶缂栧彿:">
+              <el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="绠$悊缂栧彿:" required>
+              <el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="璐疆鏃ユ湡:">
+              <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.acquisitionDate"
+                              type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small"
+                              placeholder="閫夋嫨鏃ユ湡">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="鍚敤鏃ユ湡:" required>
+              <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate"
+                              type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small"
+                              placeholder="閫夋嫨鏃ユ湡">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="绠$悊浜�:">
+              <el-select v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small"
+                         style="width:100%">
+                <el-option :disabled="isUp" v-for="item in responsiblePersonList" :key="item.value"
+                           :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="瀛樻斁鐐�:">
+              <el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="鎶�鏈寚鏍�:">
+              <el-input :disabled="isUp" v-model="formData.technicalIndicators" :rows="7" type="textarea"
+                        size="small"></el-input>
+            </el-form-item>
+          </el-form>
+        </el-col>
+        <!-- 鍙宠竟甯冨眬 -->
+        <el-col :span="7">
+          <el-form :label-position="labelPosition" :model="formData" label-width="140px" ref="ruleForm">
+            <!-- 瀹為獙瀹ゅ垪琛� -->
+            <el-form-item label="鎵�灞為儴闂�:">
+              <el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="璇烽�夋嫨"
+                         size="small" style="width:100%">
+                <el-option v-for="item in subordinateDepartmentsList" :key="item.value"
+                           :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="妫�娴嬮」鐩�:">
+              <el-cascader :disabled="isUp" v-model="formData.insProductIds" :options="options"
+                           :show-all-levels="false" :props="props" placeholder="璇烽�夋嫨" size="small"
+                           style="width:100%;" :collapse-tags="!isUp" separator="," filterable
+                           clearable></el-cascader>
+            </el-form-item>
+            <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:" v-if="isUp">
+              <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability"
+                              format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="date" size="small"
+                              placeholder="閫夋嫨鏃ユ湡">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="涓嬫鏍″噯鏃ユ湡:" v-if="isUp">
+              <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability"
+                              format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="date" size="small"
+                              placeholder="閫夋嫨鏃ユ湡">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="璁惧绫诲瀷:">
+              <el-select :disabled="isUp" v-model="formData.largeCategory" placeholder="璇烽�夋嫨" size="small"
+                         style="width:100%">
+                <el-option v-for="item in equipmentList" :key="item.value" :label="item.label"
+                           :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鍗曚环(涓囧厓):">
+              <el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="褰撳墠鐘舵��:" required>
+              <el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small"
+                         style="width:100%">
+                <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label"
+                           :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
+              <el-input :disabled="isUp" v-model="formData.calibrationDate" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="鍥剧墖:">
+              <div
+                style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;">
+                <div v-show="formData.imageName" class="picName">{{ formData.imageName }}</div>
+                <el-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2"
+                           :show-file-list="false" accept='image/jpg,image/jpeg,image/png' :headers="headers"
+                           :on-change="beforeUpload" :on-error="onError" ref='upload'>
+                  <el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
+                </el-upload>
+              </div>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-row>
+      <span slot="footer" class="dialog-footer">
 				<el-row v-if="!isUp">
 					<el-button @click="handleClose">鍙� 娑�</el-button>
 					<el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button>
 				</el-row>
 			</span>
-		</el-dialog>
-		<!-- 鏂板-->
-		<el-dialog title="鏂板璁惧" top="5vh" :visible.sync="dialogVisible2" width="70%" :before-close="handleClose2">
-			<el-row style="display:flex;justify-content: space-around;">
-				<!-- 宸﹁竟甯冨眬 -->
-				<el-col :span="7">
-					<el-col>
-						<!-- 鍥剧墖 -->
-						<el-image class="img" style="width:100%;height: 320px;margin-bottom:16px"
-							:src="javaApi + '/img/' + formData2.imageUpload">
-							<div slot="error" class="image-error" style="width: calc(100% -2px);
+    </el-dialog>
+    <!-- 鏂板-->
+    <el-dialog title="鏂板璁惧" top="5vh" :visible.sync="dialogVisible2" width="70%" :before-close="handleClose2">
+      <el-row style="display:flex;justify-content: space-around;">
+        <!-- 宸﹁竟甯冨眬 -->
+        <el-col :span="7">
+          <el-col>
+            <!-- 鍥剧墖 -->
+            <el-image class="img" style="width:100%;height: 320px;margin-bottom:16px"
+                      :src="javaApi + '/img/' + formData2.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>
-							</div>
-						</el-image>
-						<!-- 琛ㄥ崟 -->
-						<el-form :label-position="labelPosition" :model="formData2" label-width="120px">
-							<el-form-item label="浠櫒鍚嶇О:" required>
-								<el-input v-model="formData2.deviceName" size="small"></el-input>
-							</el-form-item>
-							<el-form-item label="浠櫒鍚嶇ОEN:" required>
-								<el-input v-model="formData2.enDeviceName" size="small"></el-input>
-							</el-form-item>
-							<el-form-item label="瑙勬牸鍨嬪彿:" required>
-								<el-input v-model="formData2.specificationModel" size="small"></el-input>
-							</el-form-item>
-							<el-form-item label="鐢熶骇鍘傚:">
-								<el-input v-model="formData2.manufacturer" size="small"></el-input>
-							</el-form-item>
-						</el-form>
-					</el-col>
-				</el-col>
-				<!-- 涓棿甯冨眬 -->
-				<el-col :span="7">
-					<el-form :label-position="labelPosition" :model="formData2" label-width="110px">
-						<!-- <el-form-item label="鐢熶骇鍘傚EN:">
+                <i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i>
+              </div>
+            </el-image>
+            <!-- 琛ㄥ崟 -->
+            <el-form :label-position="labelPosition" :model="formData2" label-width="120px">
+              <el-form-item label="浠櫒鍚嶇О:" required>
+                <el-input v-model="formData2.deviceName" size="small"></el-input>
+              </el-form-item>
+              <el-form-item label="浠櫒鍚嶇ОEN:" required>
+                <el-input v-model="formData2.enDeviceName" size="small"></el-input>
+              </el-form-item>
+              <el-form-item label="瑙勬牸鍨嬪彿:" required>
+                <el-input v-model="formData2.specificationModel" size="small"></el-input>
+              </el-form-item>
+              <el-form-item label="鐢熶骇鍘傚:">
+                <el-input v-model="formData2.manufacturer" size="small"></el-input>
+              </el-form-item>
+            </el-form>
+          </el-col>
+        </el-col>
+        <!-- 涓棿甯冨眬 -->
+        <el-col :span="7">
+          <el-form :label-position="labelPosition" :model="formData2" label-width="110px">
+            <!-- <el-form-item label="鐢熶骇鍘傚EN:">
               <el-input v-model="formData2.factoryNo" size="small"></el-input>
             </el-form-item> -->
-						<el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
-							<el-input v-model="formData2.calibrationServices" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="璧勪骇缂栫爜:">
-							<el-input v-model="formData2.assetCode" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="浜у湴:">
-							<el-input v-model="formData2.origin" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="鍑哄巶缂栧彿:">
-							<el-input v-model="formData2.factoryNo" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="绠$悊缂栧彿:" required>
-							<el-input v-model="formData2.managementNumber" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="璐疆鏃ユ湡:">
-							<el-date-picker style="width:100%" v-model="formData2.acquisitionDate" type="date" format="yyyy-MM-dd"
-								value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="鏍″噯鏈夋晥鏈�:" required>
-							<el-date-picker style="width:100%" v-model="formData2.activationDate" type="date" format="yyyy-MM-dd"
-								value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
-							</el-date-picker>
-						</el-form-item>
-						<el-form-item label="璐熻矗浜�:">
-							<el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-								<el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
-									:value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="瀛樻斁鐐�:">
-							<el-input v-model="formData2.storagePoint" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="鎶�鏈寚鏍�:">
-							<el-input v-model="formData2.technicalIndicators" :rows="7" type="textarea" size="small"></el-input>
-						</el-form-item>
-					</el-form>
-				</el-col>
-				<!-- 鍙宠竟甯冨眬 -->
-				<el-col :span="7">
-					<el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
-						<!-- 瀹為獙瀹ゅ垪琛� -->
-						<el-form-item label="鎵�灞為儴闂�:" required>
-							<el-select v-model="formData2.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-								<el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
-									:value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="妫�娴嬮」鐩�:">
-							<el-cascader v-model="formData2.insProductIds" :options="options" :show-all-levels="false" :props="props"
-								placeholder="璇烽�夋嫨" size="small" style="width:100%" collapse-tags separator="," filterable
-								clearable></el-cascader>
-						</el-form-item>
-						<el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
-							<el-date-picker style="width:100%" v-model="formData2.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="formData2.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 label="璁惧绫诲瀷:">
-							<el-select v-model="formData2.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-								<el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="鍗曚环(涓囧厓):">
-							<el-input v-model="formData2.unitPrice" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="褰撳墠鐘舵��:" required>
-							<el-select v-model="formData2.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
-								<el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
-							<el-input v-model="formData2.calibrationDate" size="small"></el-input>
-						</el-form-item>
-						<el-form-item label="琚巿鏉冧汉:">
-							<el-select v-model="formData2.authorizedPerson" multiple placeholder="璇烽�夋嫨" size="small"
-								style="width:100%">
-								<el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
-									:value="item.value">
-								</el-option>
-							</el-select>
-						</el-form-item>
-						<el-form-item label="鍥剧墖:">
-							<div
-								style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;line-height:32px;display:flex;justify-content: space-around;font-size: 13px;">
-								<div v-show="formData2.imageName" class="picName">{{ formData2.imageName }}</div>
-								<el-upload :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false"
-									accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload"
-									:on-error="onError" ref='upload'>
-									<el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
-								</el-upload>
-							</div>
-						</el-form-item>
-					</el-form>
-				</el-col>
-			</el-row>
-			<span slot="footer" class="dialog-footer">
+            <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:">
+              <el-input v-model="formData2.calibrationServices" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="鍑哄巶缂栧彿:">
+              <el-input v-model="formData2.factoryNo" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="绠$悊缂栧彿:" required>
+              <el-input v-model="formData2.managementNumber" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="璐疆鏃ユ湡:">
+              <el-date-picker style="width:100%" v-model="formData2.acquisitionDate" type="date"
+                              format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="鍚敤鏃ユ湡:" required>
+              <el-date-picker style="width:100%" v-model="formData2.activationDate" type="date"
+                              format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="绠$悊浜�:">
+              <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small"
+                         style="width:100%">
+                <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label"
+                           :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="瀛樻斁鐐�:">
+              <el-input v-model="formData2.storagePoint" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="鎶�鏈寚鏍�:">
+              <el-input v-model="formData2.technicalIndicators" :rows="7" type="textarea"
+                        size="small"></el-input>
+            </el-form-item>
+          </el-form>
+        </el-col>
+        <!-- 鍙宠竟甯冨眬 -->
+        <el-col :span="7">
+          <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
+            <!-- 瀹為獙瀹ゅ垪琛� -->
+            <el-form-item label="鎵�灞為儴闂�:">
+              <el-select v-model="formData2.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small"
+                         style="width:100%">
+                <el-option v-for="item in subordinateDepartmentsList" :key="item.value"
+                           :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="妫�娴嬮」鐩�:">
+              <el-cascader v-model="formData2.insProductIds" :options="options" :show-all-levels="false"
+                           :props="props" placeholder="璇烽�夋嫨" size="small" style="width:100%" collapse-tags
+                           separator="," filterable clearable></el-cascader>
+            </el-form-item>
+            <el-form-item label="璁惧绫诲瀷:">
+              <el-select v-model="formData2.largeCategory" placeholder="璇烽�夋嫨" size="small"
+                         style="width:100%">
+                <el-option v-for="item in equipmentList" :key="item.value" :label="item.label"
+                           :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鍗曚环(涓囧厓):">
+              <el-input v-model="formData2.unitPrice" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="褰撳墠鐘舵��:" required>
+              <el-select v-model="formData2.deviceStatus" placeholder="璇烽�夋嫨" size="small"
+                         style="width:100%">
+                <el-option v-for="item in deviceStatusList" :key="item.id" :label="item.label"
+                           :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
+              <el-input v-model="formData2.calibrationDate" size="small"></el-input>
+            </el-form-item>
+            <el-form-item label="鍥剧墖:">
+              <div
+                style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;line-height:32px;display:flex;justify-content: space-around;font-size: 13px;">
+                <div v-show="formData2.imageName" class="picName">{{ formData2.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'>
+                  <el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button>
+                </el-upload>
+              </div>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-row>
+      <span slot="footer" class="dialog-footer">
 				<el-row>
 					<el-button @click="handleClose2">鍙� 娑�</el-button>
 					<el-button type="primary" @click="submitForm2" :loading="upLoad2">纭� 瀹�</el-button>
 				</el-row>
 			</span>
-		</el-dialog>
-		<el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible3" width="400px">
-			<div class="search_thing" style="margin-bottom: 14px;">
-				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>IP锛�</div>
-				<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.ip"></el-input>
-			</div>
-			<div class="search_thing" style="margin-bottom: 14px;">
-				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>閲囬泦鍦板潃锛�</div>
-				<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.collectUrl"></el-input>
-			</div>
-			<div class="search_thing" style="margin-bottom: 14px;">
-				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍌ㄥ瓨鍦板潃锛�</div>
-				<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.storageUrl"></el-input>
-			</div>
-			<div class="search_thing" style="margin-bottom: 14px;">
-				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍙傜収锛�</div>
-				<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.refer"></el-input>
-			</div>
-			<div class="search_thing" style="margin-bottom: 14px;">
-				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>X锛�</div>
-				<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.x"></el-input>
-			</div>
-			<div class="search_thing" style="margin-bottom: 14px;">
-				<div class="search_label"><span style="color:red;margin-right: 4px;">*</span>Y锛�</div>
-				<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.y"></el-input>
-			</div>
-			<div class="search_thing">
-				<div class="search_label">鍏紡锛�</div>
-				<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.formula"></el-input>
-			</div>
-			<span slot="footer" class="dialog-footer">
+    </el-dialog>
+    <el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible3" width="400px">
+      <div class="search_thing" style="margin-bottom: 14px;">
+        <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>IP锛�</div>
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.ip"></el-input>
+      </div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+        <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>閲囬泦鍦板潃锛�</div>
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.collectUrl"></el-input>
+      </div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+        <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍌ㄥ瓨鍦板潃锛�</div>
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.storageUrl"></el-input>
+      </div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+        <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍙傜収锛�</div>
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.refer"></el-input>
+      </div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+        <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>X锛�</div>
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.x"></el-input>
+      </div>
+      <div class="search_thing" style="margin-bottom: 14px;">
+        <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>Y锛�</div>
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.y"></el-input>
+      </div>
+      <div class="search_thing">
+        <div class="search_label">鍏紡锛�</div>
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="configForm.formula"></el-input>
+      </div>
+      <span slot="footer" class="dialog-footer">
 				<el-row>
 					<el-button @click="dialogVisible3 = false">鍙� 娑�</el-button>
 					<el-button type="primary" @click="submitForm3" :loading="upLoad3">纭� 瀹�</el-button>
 				</el-row>
 			</span>
-		</el-dialog>
+    </el-dialog>
 		<dataAcquisitionConfig v-if="showData" :deviceId="deviceId" />
 	</div>
 </template>
diff --git a/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue b/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
index 8ab8536..436b01f 100644
--- a/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
+++ b/src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
@@ -2,7 +2,7 @@
 <template>
   <div>
     <div style="margin: 10px 0;text-align: right">
-      <el-button size="small" type="primary" @click="getList">鍒锋柊</el-button>
+<!--      <el-button size="small" type="primary" @click="getList">鍒锋柊</el-button>-->
       <el-button size="small" type="primary" @click="dialogVisible = true">鍙楁帶鐢宠</el-button>
     </div>
     <el-table :data="tableData" border height="calc(100vh - 18em)">
diff --git a/src/views/CNAS/resourceDemand/device/component/operationOverview.vue b/src/views/CNAS/resourceDemand/device/component/operationOverview.vue
index b420b3e..7f87754 100644
--- a/src/views/CNAS/resourceDemand/device/component/operationOverview.vue
+++ b/src/views/CNAS/resourceDemand/device/component/operationOverview.vue
@@ -6,11 +6,11 @@
       <div class="page-right">
         <div class="form-item">
           <label>鍚敤鏃堕暱(骞�)</label>
-          <span>{{ deviceData.usedYears }}</span>
+          <span>{{deviceData.usedYears}}</span>
         </div>
         <div class="form-item">
           <label>鏁呴殰娆℃暟</label>
-          <span>{{ deviceData.faultCount }}</span>
+          <span>{{deviceData.faultCount}}</span>
         </div>
         <div class="form-item">
           <label>鏈�杩戞晠闅滄棩鏈�</label>
@@ -18,11 +18,11 @@
         </div>
         <div class="form-item">
           <label>鏈�杩戞牎鍑嗘棩鏈�</label>
-          <span>{{ deviceData.lastCalibrationDate }}</span>
+          <span>{{deviceData.lastCalibrationDate }}</span>
         </div>
         <div class="form-item">
           <label>涓嬫鏍″噯鏃ユ湡</label>
-          <span>{{ deviceData.nextCalibrationDate }}</span>
+          <span>{{deviceData.nextCalibrationDate}}</span>
         </div>
         <div class="form-item">
           <label>鏍″噯鎬荤粨璁�</label>
@@ -30,19 +30,19 @@
         </div>
         <div class="form-item">
           <label>鏈�杩戞牳鏌ユ棩鏈�</label>
-          <span>{{ deviceData.lastExamineDate }}</span>
+          <span>{{deviceData.lastExamineDate}}</span>
         </div>
         <div class="form-item">
           <label>涓嬫鏍告煡鏃ユ湡</label>
-          <span>{{ deviceData.nextExamineDate }}</span>
+          <span>{{deviceData.nextExamineDate}}</span>
         </div>
         <div class="form-item">
           <label>鏍告煡鎬荤粨璁�</label>
-          <span :class="formatColorStyle(deviceData.examineStatus)">{{ deviceData.examineStatus }}</span>
+          <span :class="formatColorStyle(deviceData.examineStatus)">{{deviceData.examineStatus}}</span>
         </div>
         <div class="form-item">
           <label>璁惧杩愯鐘舵��</label>
-          <span :class="formatColorStyle(deviceData.deviceStatus)">{{ deviceData.deviceStatus }}</span>
+          <span :class="formatColorStyle(deviceData.deviceStatus)">{{deviceData.deviceStatus}}</span>
         </div>
         <div class="form-item">
           <label>鏈�杩戠淮鎶ゆ棩鏈�</label>
@@ -67,6 +67,7 @@
 
 <script>
 import EchartModule from '@/components/Echart/echart.vue'
+import {device} from "@/api/cnas/resourceDemand/device";
 
 export default {
   components: { EchartModule },
@@ -143,7 +144,7 @@
     },
     //鑾峰彇璁惧杩愯鎬昏淇℃伅
     getDeviceInfo(deviceId) {
-      this.$axios.get(this.$api.deviceFault.getDevice + "/" + deviceId).then(res => {
+      device({deviceId: deviceId}).then(res => {
         if (res.code == 200) {
           this.deviceData = res.data
           this.chartData.value = res.data.progress
diff --git a/src/views/CNAS/resourceDemand/device/component/record.vue b/src/views/CNAS/resourceDemand/device/component/record.vue
index 27c094f..d4eec0c 100644
--- a/src/views/CNAS/resourceDemand/device/component/record.vue
+++ b/src/views/CNAS/resourceDemand/device/component/record.vue
@@ -3,23 +3,20 @@
   <div>
     <div class="search">
       <div class="search_thing">
-        <div class="search_label">鏍峰搧缂栧彿锛�</div>
-        <el-input v-model="search.sampleCode" clearable placeholder="璇疯緭鍏�" size="small" style="width: 60%;"
-          @keyup.enter.native="getTableList(clickNodeVal.value)"></el-input>
-        <div class="search_label">绠$悊缂栧彿锛�</div>
-        <el-input v-model="search.managementNumber" clearable placeholder="璇疯緭鍏�" size="small" style="width: 60%;"
-          @keyup.enter.native="getTableList(clickNodeVal.value)"></el-input>
+        <div class="search_label">娴佺▼缂栧彿锛�</div>
+        <el-input v-model="search.deviceNumber" clearable placeholder="璇疯緭鍏�" size="small" style="width: 70%;"
+                  @keyup.enter.native="getTableList(clickNodeVal.value)"></el-input>
       </div>
       <div class="search_thing" style="padding-left: 30px;">
         <el-button size="small" @click="resetSearch">閲� 缃�</el-button>
         <el-button size="small" type="primary" @click="getTableList(clickNodeVal.value)">鏌� 璇�</el-button>
       </div>
-      <div class="btns" v-if="isMenuList != 1">
+      <div class="btns">
         <el-button size="small" type="primary" @click="dialogVisible = true, openAdd()">鏂� 寤�</el-button>
-        <el-button :loading="outLoading" size="small" type="primary" @click="openHandleOut">瀵� 鍑�</el-button>
+        <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">瀵� 鍑�</el-button>
       </div>
     </div>
-    <div class="tables" style="margin-top: 10px;">
+    <div class="tables" style="margin-top: 16px;">
       <el-table ref="Recordtable" :data="formParamList" height="calc(100vh - 20em)">
         <!-- 琛ㄦ牸鍒� -->
         <el-table-column label="搴忓彿" type="index" width="120">
@@ -27,117 +24,137 @@
             <span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="鏍峰搧缂栧彿" min-width="180" prop="sampleCode" />
+        <el-table-column label="鏍峰搧缂栧彿" min-width="180" prop="deviceNumber" />
         <el-table-column label="璁惧鍚嶇О" min-width="150" prop="deviceName" />
         <el-table-column label="绠$悊缂栧彿" min-width="150" prop="managementNumber" />
+        <el-table-column label="娓╁害(掳C)" min-width="120" prop="temperature" />
+        <el-table-column label="婀垮害(%RH)" min-width="120" prop="humidity" />
         <el-table-column label="浣跨敤鍓�" min-width="120" prop="useBefore">
           <template v-slot="scope">
-            {{ scope.row.useBefore === 1 ? '鑹ソ' : '寮傚父' }}
+            {{ scope.row.useBefore === 1 ? '姝e父' : '涓嶆甯�' }}
           </template>
         </el-table-column>
         <el-table-column label="浣跨敤鍚�" min-width="120" prop="useAfter">
           <template v-slot="scope">
-            {{ scope.row.useAfter === 1 ? '鑹ソ' : '寮傚父' }}
+            {{ scope.row.useAfter === 1 ? '姝e父' : '涓嶆甯�' }}
           </template>
         </el-table-column>
-        <!--        <el-table-column label="寮傚父鎯呭喌" min-width="120" prop="abnormal" />-->
+        <el-table-column label="寮傚父鎯呭喌" min-width="120" prop="abnormal" />
         <el-table-column label="浣跨敤寮�濮嬫棩鏈�" min-width="150" prop="useStartDate" />
         <el-table-column label="浣跨敤缁撴潫鏃ユ湡" min-width="150" prop="useEndDate" />
         <el-table-column label="浣跨敤浜�" min-width="120" prop="usePerson" />
         <el-table-column label="澶囨敞" min-width="120" prop="remark" />
         <!-- 鎿嶄綔鎸夐挳 -->
-        <el-table-column fixed="right" label="鎿嶄綔" width="150" align="center">
+        <el-table-column fixed="right" label="鎿嶄綔" width="130">
           <template slot-scope="scope">
-            <el-button size="small" type="text" @click="showDetailsDialog('edit', scope.row)">缂栬緫</el-button>
-            <el-button size="small" type="text" @click="showDetailsDialog('view', scope.row)">鏌ョ湅</el-button>
+            <el-button size="small" type="text" @click="showDetailsDialog(scope.row)">鏌ョ湅璇︽儏</el-button>
             <el-button size="small" type="text" @click="handleDeleteClick(scope.$index, scope.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" @size-change="handleSizeChange"
-        @current-change="handleCurrentChange">
+                     :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
+                     @current-change="handleCurrentChange">
       </el-pagination>
     </div>
     <el-dialog :visible.sync="dialogVisible" title="浠櫒璁惧浣跨敤璁板綍琛�" top="5vh" width="55%">
       <el-form ref="form" :model="form" label-width="130px">
         <el-row>
           <el-col :span="24">
-            <el-form-item :rules="[{ required: true, message: '鏍峰搧缂栧彿', trigger: 'blur' }]" label="鏍峰搧缂栧彿:"
-              prop="sampleCode">
-              <el-input v-model="form.sampleCode" :disabled="operationType === 'view'" size="small"
-                style="width: 100%;"></el-input>
+            <el-form-item label="鏍峰搧缂栧彿:">
+              <el-input v-model="form.deviceNumber" disabled size="small" style="width: 100%;"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="璁惧鍚嶇О:" required>
-              <el-input v-model="form.deviceName" :disabled="operationType === 'view'" size="small"
-                style="width: 100%;"></el-input>
+              <el-input v-model="form.deviceName" :disabled="true" size="small" style="width: 100%;"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="绠$悊缂栧彿:" required>
-              <el-input v-model="form.managementNumber" :disabled="operationType === 'view'" size="small"
-                style="width: 100%;"></el-input>
+              <el-input v-model="form.managementNumber" :disabled="true" size="small" style="width: 100%;"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ユ俯搴�(掳C)', trigger: 'blur' }]" label="娓╁害(掳C):"
+                          prop="temperature">
+              <el-input v-model="form.temperature" :disabled="isShow" size="small" style="width: 100%;"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ユ箍搴�(%RH)', trigger: 'blur' }]" label="婀垮害(%RH):"
+                          prop="humidity">
+              <el-input v-model="form.humidity" :disabled="isShow" size="small" style="width: 100%;"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item :rules="[{ required: true, message: '璇烽�夋嫨浣跨敤鍓�', trigger: 'change' }]" label="浣跨敤鍓�:"
-              prop="useBefore">
-              <el-radio-group v-model="form.useBefore" :disabled="operationType === 'view'">
-                <el-radio :label="1">鑹ソ</el-radio>
-                <el-radio :label="0">寮傚父</el-radio>
+                          prop="useBefore">
+              <el-radio-group v-model="form.useBefore" :disabled="isShow">
+                <el-radio :label="1">姝e父</el-radio>
+                <el-radio :label="0">涓嶆甯�</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item :rules="[{ required: true, message: '璇烽�夋嫨浣跨敤鍚�', trigger: 'change' }]" label="浣跨敤鍚�:"
-              prop="useAfter">
-              <el-radio-group v-model="form.useAfter" :disabled="operationType === 'view'">
-                <el-radio :label="1">鑹ソ</el-radio>
-                <el-radio :label="0">寮傚父</el-radio>
+                          prop="useAfter">
+              <el-radio-group v-model="form.useAfter" :disabled="isShow">
+                <el-radio :label="1">姝e父</el-radio>
+                <el-radio :label="0">涓嶆甯�</el-radio>
               </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col v-if="form.useAfter === 0" :span="24">
+            <el-form-item :rules="[{ required: form.useAfter === 0, message: '璇疯緭鍏ュ紓甯告儏鍐�', trigger: 'blur' }]" label="寮傚父鎯呭喌:"
+                          prop="abnormal">
+              <el-input v-model="form.abnormal" :disabled="isShow" size="small" style="width: 100%;"
+                        type="textarea"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ヤ娇鐢ㄦ棩鏈�', trigger: 'blur' }]" label="浣跨敤鏃ユ湡:"
-              prop="useDateList">
-              <el-date-picker v-model="form.useDateList" :disabled="operationType === 'view'" end-placeholder="缁撴潫鏃ユ湡"
-                format="yyyy-MM-dd HH:mm:ss" size="small" start-placeholder="寮�濮嬫棩鏈�" style="width:100%"
-                type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss">
+                          prop="useDateList">
+
+              <el-date-picker
+                  v-model="form.useDateList"
+                  :disabled="isShow"
+                  value-format="yyyy-MM-dd"
+                  type="daterange"
+                  range-separator="鑷�"
+                  start-placeholder="寮�濮嬫棩鏈�"
+                  end-placeholder="缁撴潫鏃ユ湡">
               </el-date-picker>
+              <!-- <el-date-picker
+                v-model="form.useDateList" :disabled="isShow" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd HH:mm:ss"
+                size="small"
+                start-placeholder="寮�濮嬫棩鏈�"
+                style="width:100%"
+                type="datetimerange"
+                value-format="yyyy-MM-dd HH:mm:ss">
+              </el-date-picker> -->
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ヤ娇鐢ㄤ汉', trigger: 'change' }]" label="浣跨敤浜�:"
-              prop="usePersonId">
-              <el-select @change="usePersonName" v-model="form.usePersonId" :disabled="operationType === 'view'"
-                placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
-              </el-select>
+                          prop="usePerson">
+              <el-input v-model="form.usePerson" :disabled="isShow" size="small" style="width:100%"></el-input>
+              <!-- <el-select v-model="form.usePerson" placeholder="璇烽�夋嫨" :disabled="isShow" 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>
           </el-col>
           <el-col :span="24">
             <el-form-item label="澶囨敞:">
-              <el-input v-model="form.remark" :disabled="operationType === 'view'" type="textarea"></el-input>
+              <el-input v-model="form.remark" :disabled="isShow" type="textarea"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
-        <el-button v-if="operationType !== 'view'" type="primary" @click="saveRecord">纭� 瀹�</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog :visible.sync="ratifyDialog" title="瀵煎嚭" width="30%" @close="ratifyDialog = false, exportDate = ''">
-      <span>鏃堕棿锛�
-        <el-date-picker v-model="exportDate" format="yyyy-MM" placeholder="閫夋嫨鏈堜唤" size="small" style="width:100%"
-          type="month" value-format="yyyy-MM">
-        </el-date-picker>
-      </span>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="ratifyDialog = false, exportDate = ''">鍙� 娑�</el-button>
-        <el-button :loading="outLoading" type="primary" @click="handleDown">瀵� 鍑�</el-button>
+        <el-button v-if="!isShow" @click="dialogVisible = false">鍙� 娑�</el-button>
+        <el-button v-if="!isShow" type="primary" @click="saveRecord">纭� 瀹�</el-button>
       </span>
     </el-dialog>
   </div>
diff --git a/src/views/CNAS/resourceDemand/device/index.vue b/src/views/CNAS/resourceDemand/device/index.vue
index 0c79ff6..929ed5e 100644
--- a/src/views/CNAS/resourceDemand/device/index.vue
+++ b/src/views/CNAS/resourceDemand/device/index.vue
@@ -34,18 +34,16 @@
       <div v-if="isShowAll" style="height: 100%;">
         <el-tabs v-model="menuListActiveName" class="main_right" type="border-card">
           <el-tab-pane label="璁惧鎬昏" name="璁惧鎬昏">
-            <!-- 瀹屾垚鎺ュ彛 -->
             <overview v-if="menuListActiveName == '璁惧鎬昏'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
           <el-tab-pane label="璁惧宸ュ叿鏄庣粏" name="璁惧宸ュ叿鏄庣粏">
-            <!-- 瀹屾垚鎺ュ彛 -->
             <management v-if="menuListActiveName == '璁惧宸ュ叿鏄庣粏'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
           <el-tab-pane label="璧勬簮棰勫畾" name="璧勬簮棰勫畾">
             <resourceReservation v-if="menuListActiveName == '璧勬簮棰勫畾'" :clickNodeVal="clickNodeVal"/>
           </el-tab-pane>
           <el-tab-pane label="浣滀笟鎸囧涔�" name="浣滀笟鎸囧涔�">
-            <operationInstruction v-if="tabListActiveName == '浣滀笟鎸囧涔�'" :clickNodeVal="clickNodeVal" />
+            <operationInstruction v-if="menuListActiveName == '浣滀笟鎸囧涔�'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
         </el-tabs>
       </div>
@@ -55,37 +53,29 @@
             <operationOverview v-if="tabListActiveName == '璁惧杩愯鎬昏'" :clickNodeVal="clickNodeVal"/>
           </el-tab-pane>
           <el-tab-pane label="璁惧妗f" name="璁惧妗f">
-            <!-- 瀹屾垚鎺ュ彛 -->
             <files v-if="tabListActiveName == '璁惧妗f'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
           <el-tab-pane label="璁惧楠屾敹" name="璁惧楠屾敹">
-            <!-- 瀹屾垚鎺ュ彛 -->
-            <equipment-acceptance v-if="tabListActiveName == '璁惧楠屾敹'"
-              :clickNodeVal="clickNodeVal"></equipment-acceptance>
+            <checkAndAccept v-if="tabListActiveName == '璁惧楠屾敹'" :clickNodeVal="clickNodeVal"/>
           </el-tab-pane>
           <el-tab-pane label="璁惧鏍″噯" name="璁惧鏍″噯">
-            <!-- 瀹屾垚鎺ュ彛 -->
             <calibration v-if="tabListActiveName == '璁惧鏍″噯'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
           <el-tab-pane label="璁惧鏍告煡" name="璁惧鏍告煡">
             <check v-if="tabListActiveName == '璁惧鏍告煡'" :clickNodeVal="clickNodeVal"/>
           </el-tab-pane>
           <el-tab-pane label="璁惧缁存姢" name="璁惧缁存姢">
-            <!-- 瀹屾垚鎺ュ彛 -->
             <maintenance v-if="tabListActiveName == '璁惧缁存姢'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
           <el-tab-pane label="璁惧鍊熺敤" name="璁惧鍊熺敤">
-            <!-- 瀹屾垚鎺ュ彛 -->
             <borrow v-if="tabListActiveName == '璁惧鍊熺敤'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
           <el-tab-pane label="璁惧鏁呴殰" name="璁惧鏁呴殰">
             <fault v-if="tabListActiveName == '璁惧鏁呴殰'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
-          <!-- 瀹屾垚鎺ュ彛 -->
           <el-tab-pane label="浣跨敤璁板綍" name="浣跨敤璁板綍">
             <record v-if="tabListActiveName == '浣跨敤璁板綍'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
-          <!-- 瀹屾垚鎺ュ彛 -->
           <el-tab-pane label="璁惧鍋滅敤/鍚敤" name="璁惧鍋滅敤/鍚敤">
             <state v-if="tabListActiveName == '璁惧鍋滅敤/鍚敤'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
@@ -102,7 +92,7 @@
 import operationInstruction from "./component/operationInstruction.vue";
 import operationOverview from "./component/operationOverview.vue";
 import files from "./component/files.vue";
-import EquipmentAcceptance from "./component/equipmentAcceptance.vue";
+import checkAndAccept from "./component/check-and-accept.vue";
 import calibration from "./component/calibration.vue";
 import check from "./component/check.vue";
 import maintenance from "./component/maintenance.vue";
@@ -116,7 +106,7 @@
 } from '@/api/cnas/resourceDemand/device.js'
 export default {
   components: {
-    EquipmentAcceptance,
+    checkAndAccept,
     operationOverview,
     files,
     calibration,

--
Gitblit v1.9.3