From 7eb190f13437b2e67788e9f4bdea725fdb165f01 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期二, 20 五月 2025 10:41:01 +0800 Subject: [PATCH] 代码合并 --- src/views/CNAS/resourceDemand/device/index.vue | 82 +++++++++++++++++++++------------------- 1 files changed, 43 insertions(+), 39 deletions(-) diff --git a/src/views/CNAS/resourceDemand/device/index.vue b/src/views/CNAS/resourceDemand/device/index.vue index 6a23ed4..e01dc60 100644 --- a/src/views/CNAS/resourceDemand/device/index.vue +++ b/src/views/CNAS/resourceDemand/device/index.vue @@ -12,7 +12,9 @@ <div slot-scope="{ node, data }" class="custom-tree-node"> <el-row style="width: 100%;"> <el-col :span="24"> - <p class="single-line-ellipsis" style="width: 100%"> + <p class="single-line-ellipsis" style="width: 100%" :style="{ + color: isLeafNode(data) && shouldHighlight(data) ? 'red' : '' + }"> <i :class="`node_i ${data.children != undefined ? data.code === '[1]' ? 'el-icon-folder-opened' @@ -22,7 +24,9 @@ "></i> {{ data.label }} </p> - <p> + <p :style="{ + color: isLeafNode(data) && shouldHighlight(data) ? 'red' : '' + }"> {{ data.managementNumber === undefined ? '' : data.managementNumber }} </p> </el-col> @@ -34,77 +38,56 @@ <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="璁惧鏍″噯璁″垝"> - <!-- 瀹屾垚鎺ュ彛 --> <equipment-calibration-plan v-if="menuListActiveName == '璁惧鏍″噯璁″垝'" :clickNodeVal="clickNodeVal"></equipment-calibration-plan> </el-tab-pane> <el-tab-pane label="璁惧鏍告煡璁″垝" name="璁惧鏍告煡璁″垝"> - <!-- 瀹屾垚鎺ュ彛 --> <equipment-verification-plan v-if="menuListActiveName == '璁惧鏍告煡璁″垝'" :clickNodeVal="clickNodeVal"></equipment-verification-plan> </el-tab-pane> <el-tab-pane label="璁惧淇濆吇璁″垝" name="璁惧淇濆吇璁″垝"> - <!-- 瀹屾垚鎺ュ彛 --> <equipment-maintenance-plan v-if="menuListActiveName == '璁惧淇濆吇璁″垝'" :clickNodeVal="clickNodeVal"></equipment-maintenance-plan> </el-tab-pane> <el-tab-pane label="閲忓�兼函婧愯鍒�" name="閲忓�兼函婧愯鍒�"> - <!-- 瀹屾垚鎺ュ彛 --> <quantity-value-traceability-plan v-if="menuListActiveName == '閲忓�兼函婧愯鍒�'" :clickNodeVal="clickNodeVal"></quantity-value-traceability-plan> </el-tab-pane> + <el-tab-pane label="璁惧浣跨敤鎺堟潈" name="璁惧浣跨敤鎺堟潈"> + <usage-authorization v-if="menuListActiveName == '璁惧浣跨敤鎺堟潈'" + :clickNodeVal="clickNodeVal"></usage-authorization> + </el-tab-pane> <el-tab-pane label="鍒╃敤澶栭儴浠櫒璁惧" name="鍒╃敤澶栭儴浠櫒璁惧"> - <!-- 瀹屾垚鎺ュ彛 --> - <using-external-instruments v-if="menuListActiveName == '鍒╃敤澶栭儴浠櫒璁惧'" - :clickNodeVal="clickNodeVal"></using-external-instruments> + <using-external-instruments v-if="menuListActiveName == '鍒╃敤澶栭儴浠櫒璁惧'" :clickNodeVal="clickNodeVal"></using-external-instruments> </el-tab-pane> <el-tab-pane label="浣跨敤璁板綍" name="浣跨敤璁板綍"> - <!-- 瀹屾垚鎺ュ彛 --> <record v-if="menuListActiveName == '浣跨敤璁板綍'" :isMenuList="1" /> </el-tab-pane> </el-tabs> </div> <div v-if="!isShowAll" style="height: 100%;"> <el-tabs v-model="tabListActiveName" class="main_right" type="border-card" @tab-click="handleClick"> - <!-- <el-tab-pane label="璁惧杩愯鎬昏" name="璁惧杩愯鎬昏">--> - <!-- <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> + <equipment-acceptance v-if="tabListActiveName == '璁惧楠屾敹'" :clickNodeVal="clickNodeVal"></equipment-acceptance> </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 label="璁惧缁存姢淇濆吇" name="璁惧缁存姢淇濆吇"> + <equipmentMaintenance 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> @@ -137,7 +120,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"; @@ -156,10 +138,13 @@ 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 usageAuthorization from "./component/usageAuthorization.vue"; import { treeDevice, } from '@/api/cnas/resourceDemand/device.js' export default { + name: 'Device', components: { QuantityValueTraceabilityPlan, EquipmentAcceptance, @@ -175,7 +160,6 @@ files, calibration, check, - maintenance, borrow, fault, record, @@ -183,7 +167,9 @@ management, overview, resourceReservation, - operationInstruction + operationInstruction, + equipmentMaintenance, + usageAuthorization, }, data() { return { @@ -216,8 +202,24 @@ treeDevice().then(res => { let data = res.data; this.list = data; + console.log('this.list--', this.list) this.loading = false }); + }, + // 鍒ゆ柇鏄惁鏄彾瀛愯妭鐐� + isLeafNode(data) { + return !data.children || data.children.length === 0; + }, + // 鍒ゆ柇鏄惁闇�瑕佹爣绾� + shouldHighlight(data) { + if (!data.activationDate) return false; + const today = new Date(); + const targetDate = new Date(data.activationDate); + const fiveDaysBeforeTarget = new Date(targetDate); + // 璁$畻鍓嶄簲澶╃殑鏃ユ湡 + fiveDaysBeforeTarget.setDate(targetDate.getDate() - 5); + + return today > fiveDaysBeforeTarget; }, handleNodeClick(val, node, el) { // 鐐瑰嚮涓存椂缂撳瓨 @@ -233,13 +235,13 @@ } }, nodeOpen(data, node, el) { - $($(el.$el).find(".node_i")[0]).attr( - "class", - "node_i el-icon-folder-opened" - ); + // $($(el.$el).find(".node_i")[0]).attr( + // "class", + // "node_i el-icon-folder-opened" + // ); }, nodeClose(data, node, el) { - $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder"); + // $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder"); }, } }; @@ -302,6 +304,8 @@ >>>.el-tabs__content { padding-top: 0; + max-height: 95%; /* 鏍规嵁闇�姹傝皟鏁撮珮搴� */ + overflow-y: auto; /* 鍨傜洿鏂瑰悜瓒呭嚭鏃舵樉绀烘粴鍔ㄦ潯 */ } >>>.single-line-ellipsis { -- Gitblit v1.9.3