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