Browse Source

需采集信息点修改

zhangyu 5 năm trước cách đây
mục cha
commit
e1189a5b39

+ 36 - 0
src/components/dialogs/config/infoPoint.vue

@@ -0,0 +1,36 @@
+<template>
+  <el-dialog title="按条件批量配置" :visible.sync="dialog.config" width="600px">
+    
+  </el-dialog>
+</template>
+<script>
+import { getListForGuarantee, createGuarantee } from "@/api/scan/request"
+import { mapGetters, mapActions } from "vuex"
+export default {
+  props: {
+    dialog: {
+      type: Object,
+      default: function () {
+        return {
+          config: false
+        };
+      }
+    }
+  },
+  data() {
+    return {
+      
+    };
+  },
+  created() { },
+  computed: {
+    ...mapGetters("layout", ["projectId", "secret", "userId"])
+  },
+  methods: {
+    
+  },
+  watch: {
+    
+  }
+};
+</script>

+ 71 - 29
src/views/ready/collectsetting/index.vue

@@ -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;