From 9b0a82931d2d4ef6fa877ebba59737a65ba37103 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 07 八月 2024 11:18:53 +0800
Subject: [PATCH] 检验下单-检验项要求值校验修改
---
src/components/view/a6-device.vue | 154 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 107 insertions(+), 47 deletions(-)
diff --git a/src/components/view/a6-device.vue b/src/components/view/a6-device.vue
index 2ea9f0b..b904515 100644
--- a/src/components/view/a6-device.vue
+++ b/src/components/view/a6-device.vue
@@ -1,12 +1,24 @@
<template>
<div class="device-page">
<div class="device-left">
- <el-input placeholder="杈撳叆璁惧鍚嶇О" suffix-icon="el-icon-search" v-model="search" size="small"
- @keyup.enter="handleSearch"
- style="margin-bottom: 5px;" clearable @change="handleSearch"></el-input>
- <ul v-loading="loading">
- <li v-for="(item,index) in 28" :title="item" :class="{active:index==current}" @click="getCurrentDevice(item,index)">璁惧鍒楄〃璁惧鍒楄〃璁惧鍒楄〃璁惧鍒楄〃</li>
- </ul>
+ <el-input placeholder="杈撳叆璁惧鍚嶇О" suffix-icon="el-icon-search" v-model="deviceName" size="small"
+ @keyup.enter="geList"
+ style="margin-bottom: 5px;" clearable @change="geList"></el-input>
+ <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="id" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
+ @node-collapse="nodeClose" v-loading="loading" :expand-on-click-node="false"
+ :default-expanded-keys="expandedKeys"
+ style="height:calc(100% - 46px);overflow-y: scroll;scrollbar-width: none;">
+ <div class="custom-tree-node" slot-scope="{ node, data }">
+ <el-row style="width: 100%;">
+ <el-col :span="21" :title="data.label">
+ <span class="single-line-ellipsis" style="width: 100%;display: inline-block;">
+ <i :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
+ {{ data.label }}
+ </span>
+ </el-col>
+ </el-row>
+ </div>
+ </el-tree>
</div>
<div class="device-right">
<el-radio-group v-model="currentPage" size="small">
@@ -22,14 +34,31 @@
<script>
import operationOverview from '../do/a6-device/operation-overview.vue';
+import files from '../do/a6-device/files.vue';
+import checkAndAccept from '../do/a6-device/check-and-accept.vue';
+import calibration from '../do/a6-device/calibration.vue';
+import check from '../do/a6-device/check.vue';
+import maintenance from '../do/a6-device/maintenance.vue';
+import borrow from "../do/a6-device/borrow.vue";
+import fault from "../do/a6-device/fault.vue";
+import record from '../do/a6-device/record.vue';
+import state from '../do/a6-device/state.vue';
export default {
components:{
operationOverview,
+ files,
+ checkAndAccept,
+ calibration,
+ check,
+ maintenance,
+ borrow,
+ fault,
+ record,
+ state,
},
data(){
return {
- search:'',
- current:0,
+ deviceName:'',
loading:false,
tabList:[
{
@@ -37,53 +66,96 @@
title:'璁惧杩愯鎬昏',
},
{
- id:1,
+ id:'files',
title:'璁惧妗f',
},
{
- id:2,
+ id:'checkAndAccept',
title:'璁惧楠屾敹',
},
{
- id:3,
+ id:'calibration',
title:'璁惧鏍″噯',
},
{
- id:4,
+ id:'check',
title:'璁惧鏍告煡',
},
{
- id:5,
+ id:'maintenance',
title:'璁惧缁存姢',
},
{
- id:6,
+ id:'borrow',
title:'璁惧鍊熺敤',
},
{
- id:7,
+ id:'fault',
title:'璁惧鏁呴殰',
},
{
- id:8,
+ id:'record',
title:'浣跨敤璁板綍',
},
{
- id:9,
+ id:'state',
title:'璁惧鍋滅敤/鍚敤',
},
],
- currentPage:'operationOverview'
+ currentPage:'operationOverview',
+ expandedKeys:[],
+ selectTree:'',
+ list:[]
}
},
+ mounted(){
+ this.geList()
+ },
methods:{
- handleSearch(m){
- // this.loading = true;
+ geList(){
+ this.loading = true;
+ this.$axios.get(this.$api.deviceScope.treeDevice+'?deviceName='+this.deviceName).then(res => {
+ this.loading = false;
+ let data = res.data
+ data.forEach((item,index) => {
+ item.id = index +1
+ item.label = item.largeCategory
+ item.children.forEach((m,i)=>{
+ m.label = m.deviceName
+ })
+ })
+ this.list = data
+ })
},
- getCurrentDevice(item,index){
- this.current = index;
+ handleNodeClick(val, node, el) { //鏍戠殑鍊�
+ this.selectTree = ''
+ this.getNodeParent(node)
+ this.selectTree = this.selectTree.replace(' - ', '')
+ let data = this.selectTree.split(' - ')
+ let data2 = ''
+ for (let index = data.length - 1; index >= 0; index--) {
+ data2 += " - " + data[index]
+ }
+ this.selectTree = data2.replace(' - ', '')
+
this.currentPage = 'operationOverview';
- }
+ },
+ getNodeParent(val) {
+ if (val.parent != null) {
+ if(val.data.children === null){
+ this.selectTree += ' - ' + val.label + ' - ' + 'null'
+ }else{
+ this.selectTree += ' - ' + val.label
+ }
+ this.getNodeParent(val.parent)
+ }
+ },
+ nodeOpen(data, node, el) {
+ $($(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')
+ },
}
}
</script>
@@ -94,6 +166,7 @@
padding-top: 10px;
padding-bottom: 10px;
box-sizing: border-box;
+ width: 100%;
}
.device-left{
width: 200px;
@@ -103,30 +176,6 @@
border-radius: 16px;
box-sizing: border-box;
padding: 10px 16px;
-}
-.device-left ul{
- list-style-type: none;
- padding: 0;
- margin: 0;
- font-size: 14px;
- color: #999999;
- cursor: pointer;
- margin-top: 10px;
- height: calc(100% - 46px);
- overflow-y: scroll;
-}
-.device-left ul li{
- white-space: nowrap; /* 绂佹鎹㈣ */
- overflow: hidden; /* 闅愯棌婧㈠嚭鐨勬枃鏈� */
- text-overflow: ellipsis; /* 鐢ㄧ渷鐣ュ彿琛ㄧず婧㈠嚭鐨勬枃鏈� */
- padding: 3px 0;
-
-}
-.device-left ul li:hover{
- color: #3A7BFA;
-}
-.device-left ul li.active{
- color: #3A7BFA;
}
.device-right{
background: #fff;
@@ -138,5 +187,16 @@
.device-right-content{
margin-top: 10px;
height: calc(100% - 42px);
+ width: 100%;
+}
+.custom-tree-node {
+ width: 100%;
+ /* line-height: 32px; */
+ font-size: 14px;
+}
+
+.node_i {
+ color: orange;
+ font-size: 18px;
}
</style>
--
Gitblit v1.9.3