From 333d98a8ffa718aaa903632525f16e4aecb92638 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 17 四月 2025 14:18:22 +0800
Subject: [PATCH] 设备维护保养页面开发、联调

---
 /dev/null                                                               |  287 --------------------------
 src/api/cnas/resourceDemand/device.js                                   |   60 ++---
 src/views/CNAS/resourceDemand/device/component/equipmentMaintenance.vue |  282 +++++++++++++++++++++++++
 src/views/CNAS/resourceDemand/device/index.vue                          |   10 
 4 files changed, 311 insertions(+), 328 deletions(-)

diff --git a/src/api/cnas/resourceDemand/device.js b/src/api/cnas/resourceDemand/device.js
index 58189d3..fb3c7ea 100644
--- a/src/api/cnas/resourceDemand/device.js
+++ b/src/api/cnas/resourceDemand/device.js
@@ -874,42 +874,6 @@
   });
 }
 
-//璁惧淇濆吇鍗曟潯瀵煎嚭
-export function exportMaintenanceRecord(query) {
-  return request({
-    url: "/deviceMaintain/exportMaintenanceRecord",
-    method: "get",
-    responseType: "blob",
-    params: query,
-  });
-}
-
-//璁惧缁存姢鍒犻櫎
-export function deleteDeviceMaintenance(query) {
-  return request({
-    url: "/deviceMaintain/deleteDeviceMaintenance",
-    method: "delete",
-    params: query,
-  });
-}
-
-// 鏂板璁惧缁存姢淇濆吇
-export function addDeviceMaintenance(data) {
-  return request({
-    url: "/deviceMaintain/addDeviceMaintenance",
-    method: "post",
-    data: data,
-  });
-}
-//璁惧缁存姢琛� 鏌ヨ
-export function getDeviceMaintenancePage(query) {
-  return request({
-    url: "/deviceMaintain/getDeviceMaintenancePage",
-    method: "get",
-    params: query,
-  });
-}
-
 // 鍊熺敤-淇濆瓨
 export function saveDeviceBorrow(data) {
   return request({
@@ -1275,3 +1239,27 @@
     params: query,
   });
 }
+//璁惧缁存姢淇濆吇 鏌ヨ
+export function selectDeviceMaintenancePage(query) {
+  return request({
+    url: "/deviceMaintain/selectDeviceMaintenancePage",
+    method: "get",
+    params: query,
+  });
+}
+//璁惧缁存姢淇濆吇 鍒犻櫎
+export function deleteDeviceMaintenance(query) {
+  return request({
+    url: "/deviceMaintain/deleteDeviceMaintenance",
+    method: "delete",
+    params: query,
+  });
+}
+//璁惧缁存姢淇濆吇 鏂板
+export function addDeviceMaintenance(query) {
+  return request({
+    url: "/deviceMaintain/addDeviceMaintenance",
+    method: "post",
+    data: query,
+  });
+}
diff --git a/src/views/CNAS/resourceDemand/device/component/equipmentMaintenance.vue b/src/views/CNAS/resourceDemand/device/component/equipmentMaintenance.vue
new file mode 100644
index 0000000..667d29e
--- /dev/null
+++ b/src/views/CNAS/resourceDemand/device/component/equipmentMaintenance.vue
@@ -0,0 +1,282 @@
+<template>
+  <div>
+    <div class="search">
+      <el-button size="small" type="primary" @click="refreshTableList">鍒锋柊</el-button>
+      <el-button size="small" type="primary" @click="openDia('add')">鏂� 寤�</el-button>
+      <el-button :loading="outLoading" size="small" type="primary" @click="openHandleOut">瀵� 鍑�</el-button>
+    </div>
+    <div>
+      <lims-table :tableData="tableData" :column="column"
+                  height="calc(100vh - 20em)" @pagination="pagination"
+                  :page="page" :tableLoading="tableLoading"></lims-table>
+    </div>
+    <el-dialog :visible.sync="dialogVisible" title="浠櫒璁惧浣跨敤缁存姢淇濆吇琛�" width="55%">
+      <el-form ref="form" :model="form" label-width="130px" :rules="rules">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="缁存姢鏃ユ湡:" prop="maintenanceDate">
+              <el-date-picker v-model="form.maintenanceDate" :disabled="operationType === 'view'"
+                              format="yyyy-MM-dd" size="small" placeholder="閫夋嫨鏃ユ湡" style="width:100%"
+                              type="date" value-format="yyyy-MM-dd">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="缁存姢鍐呭:" prop="maintenanceContentArr">
+              <el-checkbox-group v-model="form.maintenanceContentArr" :disabled="operationType === 'view'">
+                <el-checkbox v-for="city in qualificationList" :key="city.label" :label="city.label"
+                             :value="city.label"></el-checkbox>
+              </el-checkbox-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="缁存姢浜�:" prop="maintenanceUserId">
+              <el-select v-model="form.maintenanceUserId"
+                         clearable filterable
+                         placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.id">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="澶囨敞:" prop="remark">
+              <el-input v-model="form.remark" :disabled="operationType === 'view'" size="small"
+                        style="width: 100%;"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDia">鍙� 娑�</el-button>
+        <el-button v-if="operationType !== 'view'" type="primary" @click="saveRecord" :loading="buttonLoading">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  addDeviceMaintenance,
+  deleteDeviceMaintenance,
+  selectDeviceMaintenancePage
+} from "@/api/cnas/resourceDemand/device";
+import limsTable from "@/components/Table/lims-table.vue";
+import {selectUserCondition} from "@/api/system/user";
+
+export default {
+  name: '',
+  // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {limsTable},
+  props: {
+    clickNodeVal: {
+      type: Object,
+      default: () => {
+        return {};
+      }
+    },
+  },
+  data() {
+    // 杩欓噷瀛樻斁鏁版嵁
+    return {
+      search: {
+        maintenanceDate: '',
+      },
+      total: 0,
+      outLoading: false,
+      tableData: [],
+      tableLoading: false,
+      page: {
+        total: 0,
+        size: 20,
+        current: 1
+      },
+      column: [
+        { label: '缁存姢鏃ユ湡', prop: 'maintenanceDate' },
+        { label: '缁存姢鍐呭', prop: 'maintenanceContent' },
+        { label: '缁存姢浜�', prop: 'maintenanceUserName' },
+        { label: '澶囨敞', prop: 'remark' },
+        {
+          dataType: 'action',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '缂栬緫',
+              type: 'text',
+              clickFun: (row) => {
+                this.openDia('edit', row);
+              },
+            },
+            {
+              name: '鍒犻櫎',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleDeleteClick(row);
+              },
+            },
+          ]
+        }
+      ],
+      dialogVisible: false,
+      form: {
+        id: '',
+        deviceId: '',
+        maintenanceDate: '',
+        maintenanceContentArr: [],
+        maintenanceContent: '',
+        maintenanceUserId: '',
+        remark: '',
+      },
+      operationType: '',
+      buttonLoading: false,
+      qualificationList: [],
+      rules: {
+        maintenanceDate: [{ required: true, message: '璇烽�夋嫨缁存姢鏃ユ湡', trigger: 'change' }],
+        maintenanceContentArr: [{ required: true, message: '璇烽�夋嫨缁存姢鍐呭', trigger: 'change' }],
+        maintenanceUserId: [{ required: true, message: '璇烽�夋嫨缁存姢浜�', trigger: 'change' }],
+      },
+      responsibleOptions: [],
+    };
+  },
+  mounted() {
+    this.refreshTableList()
+  },
+  // 鏂规硶闆嗗悎
+  methods: {
+    // 鐐瑰嚮鍒锋柊
+    refreshTableList () {
+      this.page.current = 1;
+      this.getTableList()
+    },
+    // 鍒嗛〉鍒囨崲
+    pagination(page) {
+      this.page.size = page.limit
+      this.getTableList()
+    },
+    getTableList () {
+      this.tableLoading = true
+      selectDeviceMaintenancePage({
+        deviceId: this.clickNodeVal.value,
+        ...this.page
+      }).then(res => {
+        this.tableLoading = false
+        this.tableData = res.data.records
+        this.page.total = res.data.total
+      }).catch(err => {
+        this.tableLoading = false
+      })
+    },
+    // 鎵撳紑鎿嶄綔寮规
+    openDia (type, row) {
+      this.operationType = type
+      this.dialogVisible = true
+      this.$nextTick(() => {
+        this.$refs['form'].resetFields()
+        this.form.id = ''
+        if (this.operationType === 'edit') {
+          this.form = {...row}
+          this.$set(this.form, 'maintenanceContentArr', this.form.maintenanceContent.split(','))
+        }
+      })
+      this.getDictS()
+      this.getUserList()
+    },
+    // 鏌ヨ缁存姢鍐呭閫夋嫨妗嗗唴瀹�
+    getDictS () {
+      // 瀹氫箟瀹為獙瀹ゅ悕绉颁笌缁存姢鍐呭绫诲瀷鐨勬槧灏勫叧绯�
+      const labTypeMapping = {
+        '鑰佸寲瀹�': 'aging_maintenance_content',
+        '鑰佸寲瀹為獙瀹�': 'aging_maintenance_content',
+        '鐢垫�ц兘瀹為獙瀹�': 'electrical_maintenance_content',
+        '鐜瀹為獙瀹�': 'environmental_maintenance_content',
+        '鐕冪儳瀹為獙瀹�': 'burn_maintenance_content',
+        '娣风偧瀹為獙瀹�': 'mixing_maintenance_content',
+        '妫�娴嬩腑蹇冪數鎬ц兘瀹為獙瀹�': 'center_electrical_maintenance_content',
+        '鎭掓俯浜�': 'temperature2_maintenance_content',
+        '鎭掓俯涓�': 'temperature1_maintenance_content',
+        '鍖栧瀹為獙瀹�': 'chemistry_maintenance_content',
+        '鍒舵牱瀹�': 'sample_maintenance_content',
+        '浣庢俯瀹為獙瀹�': 'hypothermia_maintenance_content',
+      };
+      // 鑾峰彇褰撳墠鑺傜偣鐨勫疄楠屽鍚嶇О
+      const name = this.clickNodeVal.parent.label;
+      // 鏍规嵁鏄犲皠鍏崇郴鑾峰彇瀵瑰簲鐨勭被鍨�
+      const type = labTypeMapping[name];
+      this.getDicts(type).then((response) => {
+        this.qualificationList = response.data.map((m) => {
+          return {
+            label: m.dictLabel,
+            value: m.dictValue,
+          };
+        });
+      });
+    },
+    openHandleOut () {
+
+    },
+    handleDeleteClick(row) {
+      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        deleteDeviceMaintenance({ id: row.id }).then(res => {
+          this.$message({
+            type: 'success',
+            message: '鍒犻櫎鎴愬姛!'
+          });
+          this.refreshTableList()
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '宸插彇娑堝垹闄�'
+        });
+      });
+    },
+    // 鎻愪氦鏂板鍜屼繚瀛�
+    saveRecord () {
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          this.buttonLoading = true;
+          this.form.maintenanceContent = this.form.maintenanceContentArr.join(',')
+          this.form.deviceId = this.clickNodeVal.value
+          addDeviceMaintenance(this.form).then(res => {
+            this.buttonLoading = false;
+            this.$message.success('鏂板鎴愬姛')
+            this.closeDia()
+            this.getTableList()
+          }).catch(err => {
+            this.buttonLoading = false;
+          })
+        }
+      })
+    },
+    closeDia () {
+      this.$refs['form'].resetFields();
+      this.dialogVisible = false
+      this.refreshTableList()
+    },
+    // 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
+    getUserList() {
+      selectUserCondition({type: 2}).then(res => {
+        if (res.code == 200) {
+          this.responsibleOptions = res.data
+        }
+      })
+    },
+  }
+};
+</script>
+
+<style scoped>
+.search {
+  height: 46px;
+  text-align: right;
+  margin-top: 10px;
+}
+</style>
diff --git a/src/views/CNAS/resourceDemand/device/component/maintenance.vue b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
deleted file mode 100644
index 8bc91aa..0000000
--- a/src/views/CNAS/resourceDemand/device/component/maintenance.vue
+++ /dev/null
@@ -1,287 +0,0 @@
-<!-- 璁惧缁存姢 -->
-<template>
-  <div>
-    <div class="search">
-      <el-form :model="search" ref="search" size="small" :inline="true">
-        <el-form-item label="娴佺▼缂栧彿">
-          <el-input v-model="search.deviceNumber" clearable placeholder="璇疯緭鍏�" size="small"
-                    @keyup.enter.native="getAllMessage(clickNodeVal.value)"></el-input>
-        </el-form-item>
-        <el-form-item>
-          <el-button size="mini" type="primary" @click="getAllMessage(clickNodeVal.value)">鏌ヨ</el-button>
-          <el-button size="mini" @click="resetSearch">閲嶇疆</el-button>
-        </el-form-item>
-      </el-form>
-      <div>
-        <el-button size="small" type="primary" @click="dialogVisible = true; add()">娣诲姞缁存姢璁板綍</el-button>
-        <el-button :loading="outLoading" size="small" type="primary" @click="handleDownOne">瀵煎嚭</el-button>
-      </div>
-    </div>
-    <div>
-      <el-table ref="table" :data="MaintainParam" height="calc(100vh - 20em)"
-                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
-        <el-table-column label="搴忓彿" type="index" width="120">
-          <template v-slot="scope">
-            <span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
-          </template>
-        </el-table-column>
-        <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="缁存姢鍐呭" min-width="150" prop="content" />
-        <el-table-column label="缁存姢鏃堕棿" min-width="150" prop="date" />
-        <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">
-          <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>
-          </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" background>
-      </el-pagination>
-    </div>
-    <!-- 鏂板缓缁存姢 -->
-    <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">
-            <el-form-item label="娴佺▼缂栧彿:" prop="deviceNumber">
-              <el-input v-model="formData.deviceNumber" clearable disabled size="small"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="璁惧鍚嶇О:" prop="deviceName">
-              <el-input v-model="formData.deviceName" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="绠$悊缂栧彿:" prop="managementNumber">
-              <el-input v-model="formData.managementNumber" clearable disabled placeholder="璇疯緭鍏�"
-                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">
-              <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-date-picker v-model="formData.date" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small"
-                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-radio-group v-model="formData.maintenanceType" :disabled="!this.editMode">
-                <el-radio :label="0">浣跨敤鍓嶅悗缁存姢</el-radio>
-                <el-radio :label="1">璁″垝涓淮鎶�</el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </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">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶や汉', trigger: 'blur' }]" label="缁存姢浜�:" prop="name">
-              <el-input v-model="formData.name" clearable placeholder="璇疯緭鍏�" size="small"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="澶囨敞:">
-              <el-input v-model="formData.comments" placeholder="璇疯緭鍏�" size="small" type="textarea"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button v-if="editMode" @click="dialogVisible = false">鍙� 娑�</el-button>
-        <el-button v-if="editMode" type="primary" @click="addRecord">纭� 瀹�</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import {
-  exportMaintenanceRecord,
-  deleteDeviceMaintenance,
-  selectDeviceByCode,
-  addDeviceMaintenance,
-  getDeviceMaintenancePage,
-} from '@/api/cnas/resourceDemand/device.js'
-export default {
-  props: {
-    clickNodeVal: {
-      type: Object,
-      default: () => {
-        return {};
-      }
-    }
-  },
-  data() {
-    return {
-      search: {
-        size: 20,
-        current: 1,
-        total: 0,
-        deviceNumber: ''
-      },
-      editMode: false,
-      dialogVisible: false,
-      //琛ㄥ崟缁存姢鍐呭
-      formData: {},
-      //琛ㄥご鏄剧ず
-      MaintainParam: [],
-      outLoading: false
-    }
-  },
-  mounted() {
-    this.getAllMessage(this.clickNodeVal.value)
-  },
-  methods: {
-    //涓嬫缁存姢鏃ユ湡:绂佺敤鍦ㄧ淮鎶ゆ棩鏈熷墠鐨勬棩鏈�
-    disabledDate(time) {
-      let selectDate = this.formData.date
-      if (selectDate) {
-        let oldDate = new Date(selectDate)
-        return time <= oldDate.getTime()
-      }
-      return false
-    },
-    handleSizeChange(val) {
-      this.search.size = val
-      this.getAllMessage(this.clickNodeVal.value)
-    },
-    handleCurrentChange(val) {
-      this.search.current = val
-      this.getAllMessage(this.clickNodeVal.value)
-    },
-    //鎿嶄綔璇︽儏鏌ョ湅
-    handleViewClick(row) {
-      this.editMode = false;
-      this.dialogVisible = true;
-      this.formData = row;
-    },
-    // 瀵煎嚭
-    handleDownOne() {
-      this.outLoading = true
-      exportMaintenanceRecord({ deviceId: this.clickNodeVal.value }).then(res => {
-        this.outLoading = false
-        const blob = new Blob([res], { type: 'application/octet-stream' });
-        this.$download.saveAs(blob, '璁惧缁存姢淇濆吇璁板綍.doc')
-      })
-    },
-    //鎿嶄綔璇︽儏鍒犻櫎
-    handleDeleteClick(index, row) {
-      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        deleteDeviceMaintenance({ id: row.id }).then(res => {
-        })
-        // this.MaintainParam.splice(index, 1);
-        this.getAllMessage(this.clickNodeVal.value)
-        this.$message({
-          type: 'success',
-          message: '鍒犻櫎鎴愬姛!'
-        });
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '宸插彇娑堝垹闄�'
-        });
-      });
-    },
-    //鐐瑰嚮鍚庡彲缂栬緫
-    add() {
-      selectDeviceByCode({ id: this.clickNodeVal.value }).then(res => {
-        this.formData.deviceName = res.data.deviceName
-        this.formData.managementNumber = res.data.managementNumber
-        this.$nextTick(() => {
-          this.$refs['form'].clearValidate()
-        })
-      });
-      this.editMode = true;
-    },
-    //娣诲姞缁存姢璁板綍
-    addRecord() {
-      this.$refs['form'].validate((valid) => {
-        if (valid) {
-          this.formData.deviceId = this.clickNodeVal.value;
-          addDeviceMaintenance(this.formData).then(res => {
-            if (res.code == 200) {
-              this.$message.success('娣诲姞鎴愬姛');
-              this.getAllMessage(this.clickNodeVal.value)
-              this.dialogVisible = false;
-              this.formData = {}; //娓呯┖琛ㄥ崟
-            }
-          })
-          // this.MaintainParam.push(this.formData)
-        }
-      })
-    },
-    resetSearch() {
-      this.search = {
-        size: 20,
-        current: 1,
-        total: 0,
-        deviceNumber: '',
-      }
-      this.getAllMessage(this.clickNodeVal.value);
-    },
-    //鑾峰彇琛ㄥ崟璁惧缁存姢淇℃伅
-    getAllMessage(deviceId) {
-      getDeviceMaintenancePage({
-        deviceId,
-        ...this.search
-      }).then(res => {
-        if (res.code == 200) {
-          this.MaintainParam = res.data.records
-          this.search.total = res.data.total
-        }
-      })
-    },
-  },
-  watch: {
-    // 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
-    clickNodeVal(newVal) {
-      if (newVal.value) {
-        this.getAllMessage(newVal.value)
-      }
-    },
-    dialogVisible(newVal) {
-      if (newVal === false) {
-        this.formData = {}
-        this.$refs['form'].clearValidate()
-      }
-    }
-  }
-}
-</script>
-
-<style scoped>
-.search {
-  height: 46px;
-  display: flex;
-  justify-content: space-between;
-  margin-top: 10px;
-  align-items: flex-start;
-}
-</style>
diff --git a/src/views/CNAS/resourceDemand/device/index.vue b/src/views/CNAS/resourceDemand/device/index.vue
index ec9951f..f3f4170 100644
--- a/src/views/CNAS/resourceDemand/device/index.vue
+++ b/src/views/CNAS/resourceDemand/device/index.vue
@@ -74,8 +74,8 @@
           <el-tab-pane label="璁惧鏍″噯" name="璁惧鏍″噯">
             <calibration v-if="tabListActiveName == '璁惧鏍″噯'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
-          <el-tab-pane label="璁惧缁存姢" name="璁惧缁存姢">
-            <maintenance v-if="tabListActiveName == '璁惧缁存姢'" :clickNodeVal="clickNodeVal" />
+          <el-tab-pane label="璁惧缁存姢淇濆吇" name="璁惧缁存姢淇濆吇">
+            <equipmentMaintenance v-if="tabListActiveName == '璁惧缁存姢淇濆吇'" :clickNodeVal="clickNodeVal" />
           </el-tab-pane>
           <el-tab-pane label="璁惧鍊熺敤" name="璁惧鍊熺敤">
             <borrow v-if="tabListActiveName == '璁惧鍊熺敤'" :clickNodeVal="clickNodeVal" />
@@ -112,7 +112,6 @@
 import files from "./component/files.vue";
 import calibration from "./component/calibration.vue";
 import check from "./component/check.vue";
-import maintenance from "./component/maintenance.vue";
 import borrow from "./component/borrow.vue";
 import fault from "./component/fault.vue";
 import record from "./component/record.vue";
@@ -131,6 +130,7 @@
 import EquipmentMaintenancePlan from "./component/equipmentMaintenancePlan.vue";
 import EquipmentAcceptance from "./component/equipmentAcceptance.vue";
 import QuantityValueTraceabilityPlan from "./component/quantityValueTraceabilityPlan.vue";
+import equipmentMaintenance from "./component/equipmentMaintenance.vue";
 import {
   treeDevice,
 } from '@/api/cnas/resourceDemand/device.js'
@@ -151,7 +151,6 @@
     files,
     calibration,
     check,
-    maintenance,
     borrow,
     fault,
     record,
@@ -159,7 +158,8 @@
     management,
     overview,
     resourceReservation,
-    operationInstruction
+    operationInstruction,
+    equipmentMaintenance,
   },
   data() {
     return {

--
Gitblit v1.9.3