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

---
 src/views/CNAS/resourceDemand/device/component/check.vue |   88 +++++++++++++++++++++++++------------------
 1 files changed, 51 insertions(+), 37 deletions(-)

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鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊

--
Gitblit v1.9.3