|
@@ -1,24 +1,21 @@
|
|
|
-<!--
|
|
|
- revit信息点开关
|
|
|
- -->
|
|
|
<template>
|
|
|
<div id="family">
|
|
|
+ <nav>
|
|
|
+ <div class="tab-box">
|
|
|
+ <el-tabs v-model="value" @tab-click="chooseMedicine" type="card">
|
|
|
+ <el-tab-pane v-for="item in options" :key="item.value" :label="item.label" :name="item.value">{{item.label}}</el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </div>
|
|
|
+ <div class="button-box">
|
|
|
+ <el-button @click="handleClickConfig" size="small">批量配置信息点</el-button>
|
|
|
+ </div>
|
|
|
+ </nav>
|
|
|
<main>
|
|
|
<div class="left_main" v-loading="isLoading">
|
|
|
<header>
|
|
|
- <!-- <select class="form-control" v-model="value" @change="chooseMedicine">
|
|
|
- <option v-for="(opt,index) in options" :key="index" :value="opt.value">{{ opt.label }}</option>
|
|
|
- </select>
|
|
|
- <build-input style="width:20rem;" @search="changeVal" :placeholder="'支持关键字、英文代号查找'"></build-input> -->
|
|
|
- <el-select style="width:90px;" v-model="value" @change="chooseMedicine" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- <el-input style="width:235px;" v-model="searchVal" @change="changeVal" placeholder="支持关键字、英文代号查找" clear></el-input>
|
|
|
+ <el-input style="width:323px;" v-model="searchVal" @change="changeVal" placeholder="支持关键字、英文代号查找" clearable>
|
|
|
+ <i slot="prefix" class="el-input__icon el-icon-search" style="cursor:pointer;" @click="changeVal(searchVal)"></i>
|
|
|
+ </el-input>
|
|
|
</header>
|
|
|
<div class="family_all">
|
|
|
<div class="family" v-for="(letter,index) in letterArr" :key="index">
|
|
@@ -44,7 +41,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="right_main" v-loading="rightLoading">
|
|
|
- <el-tabs v-if="labelKey.length && tabsFalg" tab-position="left" style="height: 100%;">
|
|
|
+ <el-tabs v-if="labelKey.length && tabsFalg" tab-position="right" style="height: 100%;">
|
|
|
<el-tab-pane v-for="(item,index) in labelKey" :key="index">
|
|
|
<span slot="label">{{item.FirstName || '信息'}}</span>
|
|
|
<div class="label_main" v-for="(tag,tagIndex) in item.details" :key="tagIndex">
|
|
@@ -60,6 +57,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</main>
|
|
|
+ <!-- 批量配置信息点 -->
|
|
|
+ <config-dialog :dialog="dialog"></config-dialog>
|
|
|
<!-- 请求提示弹窗 -->
|
|
|
<el-dialog title="提示" :Visible.sync="dialogVisible">
|
|
|
<span>{{ajaxMsg}}</span>
|
|
@@ -73,6 +72,7 @@
|
|
|
|
|
|
<script>
|
|
|
import buildInput from "@/components/common/search_input";
|
|
|
+ import configDialog from "@/components/dialogs/config/infoPoint"
|
|
|
import {
|
|
|
getAllFamily, //获取所有设备族
|
|
|
getDataDictionary, //点击时后去右侧的数据
|
|
@@ -80,25 +80,23 @@
|
|
|
getEqCode,
|
|
|
getBussTypes
|
|
|
} from "@/api/scan/request";
|
|
|
- import {
|
|
|
- mapGetters,
|
|
|
- mapActions
|
|
|
- } from "vuex";
|
|
|
+ import { mapGetters, mapActions } from "vuex";
|
|
|
export default {
|
|
|
name: "family",
|
|
|
components: {
|
|
|
+ configDialog,
|
|
|
"build-input": buildInput
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
value: "property",
|
|
|
options: [{
|
|
|
- label: "系统",
|
|
|
- value: "system"
|
|
|
- }, {
|
|
|
label: "资产",
|
|
|
value: "property"
|
|
|
}, {
|
|
|
+ label: "系统",
|
|
|
+ value: "system"
|
|
|
+ }, {
|
|
|
label: "设备",
|
|
|
value: "equip"
|
|
|
}, {
|
|
@@ -115,6 +113,9 @@
|
|
|
active: "",
|
|
|
checked2: false,
|
|
|
allFamily: [],
|
|
|
+ dialog: {
|
|
|
+ config: false
|
|
|
+ },
|
|
|
dialogVisible: false,
|
|
|
ajaxMsg: "",
|
|
|
code: '',
|
|
@@ -519,8 +520,15 @@
|
|
|
chooseMedicine(val) {
|
|
|
this.getAllFamily()
|
|
|
},
|
|
|
+ //批量配置信息点
|
|
|
+ handleClickConfig() {
|
|
|
+ this.dialog.config = true
|
|
|
+ },
|
|
|
//获取所有设备族
|
|
|
getAllFamily() {
|
|
|
+ this.labelKey = []
|
|
|
+ this.active = ""
|
|
|
+ this.searchVal = ""
|
|
|
if (this.value == "property") {
|
|
|
getAllFamily().then(result => {
|
|
|
this.isLoading = false
|
|
@@ -676,7 +684,7 @@
|
|
|
this.code = code
|
|
|
let param = {
|
|
|
data: {
|
|
|
- Orders: "sort asc",
|
|
|
+ Orders: "sort asc,InfoPointCode asc",
|
|
|
PageNumber: 1,
|
|
|
PageSize: 500
|
|
|
},
|
|
@@ -858,10 +866,22 @@
|
|
|
#page-main .el-scrollbar .el-scrollbar__wrap .el-scrollbar__view {
|
|
|
height: 100%;
|
|
|
}
|
|
|
- #page-main .el-tabs__content{
|
|
|
+ #page-main .right_main .el-tabs__content{
|
|
|
height: 100%;
|
|
|
+ padding-top: 5px;
|
|
|
overflow-y: auto;
|
|
|
- // overflow: hidden;
|
|
|
+ }
|
|
|
+ nav .el-tabs__content{
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ nav .el-tabs__header {
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
+ nav .el-tabs--card>.el-tabs__header .el-tabs__item.is-active {
|
|
|
+ border-top: 2px solid #409EFF;
|
|
|
+ }
|
|
|
+ nav .el-tabs--card>.el-tabs__header .el-tabs__item {
|
|
|
+ border-top: 2px solid transparent;
|
|
|
}
|
|
|
</style>
|
|
|
|
|
@@ -872,6 +892,8 @@
|
|
|
height: 100%;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
+ padding: 10px;
|
|
|
+ background: #fff;
|
|
|
select {
|
|
|
height: 28px;
|
|
|
line-height: 40px;
|
|
@@ -891,8 +913,26 @@
|
|
|
background: #FFF;
|
|
|
}
|
|
|
|
|
|
- main {
|
|
|
+ nav {
|
|
|
flex: 1;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ overflow: hidden;
|
|
|
+ .tab-box{
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ .button-box{
|
|
|
+ width: 200px;
|
|
|
+ text-align: right;
|
|
|
+ border-bottom: 1px solid #E4E7ED;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ main {
|
|
|
+ // flex: 1;
|
|
|
+ border: 1px solid #E4E7ED;
|
|
|
+ border-top: none;
|
|
|
+ height: calc(100% - 42px);
|
|
|
overflow: hidden;
|
|
|
position: relative;
|
|
|
transform: translate(0, 0);
|
|
@@ -971,9 +1011,11 @@
|
|
|
.right_main {
|
|
|
float: right;
|
|
|
overflow-y: auto;
|
|
|
- width: calc(100% - 360px);
|
|
|
+ width: calc(100% - 370px);
|
|
|
+ padding-left: 10px;
|
|
|
height: 100%;
|
|
|
background-color: #fff;
|
|
|
+ border-left: 1px solid #f5f5f5;
|
|
|
.right_main_msg {
|
|
|
padding-left: 10px;
|
|
|
padding-top: 200px;
|