소스 검색

添加图例库搜索筛选功能

shaun-sheep 4 년 전
부모
커밋
0202b1c30f
2개의 변경된 파일40개의 추가작업 그리고 68개의 파일을 삭제
  1. 7 0
      src/api/legendLibrary.js
  2. 33 68
      src/views/legendLibrary/index.vue

+ 7 - 0
src/api/legendLibrary.js

@@ -79,4 +79,11 @@ export function groupByCategory({
     getParams
 }) {
     return httputils.getJson(`/serve/topology-wanda/graphRelation/groupByCategory`, getParams)
+}
+// 图例搜索
+export function graphElementSearch({
+    postParams
+}) {
+    return httputils.postJson(`/serve/topology-wanda/graphElement/search`, postParams)
+
 }

+ 33 - 68
src/views/legendLibrary/index.vue

@@ -17,18 +17,9 @@
                     :selectdata='typeOptions'
                     :placeholder='"请选择"'
                     @change='getTableList'
+                    :hideClear='true'
                 ></Select>
-                <!-- <Select
-                    width='180'
-                    tipPlace='top'
-                    caption='说明书位置:'
-                    v-model='position'
-                    multiple
-                    :selectdata='positionSelect'
-                    :placeholder='"请选择"'
-                    style='margin:0 12px'
-                    @confirm='getTableListPosition'
-                ></Select>-->
+
                 <TreeSelect
                     caption='说明书位置:'
                     tipPlace='top'
@@ -39,8 +30,8 @@
                     :choseArea='true'
                     :data='positionSelect'
                     @change='treeConfirmPosition'
+                    :hideClear='true'
                 />
-                <!-- <Select width='180' tipPlace='top' caption='位置/设备分类:' :selectdata='dataSelect2' @change='getTableList' :placeholder='"请选择"'></Select> -->
                 <TreeSelect
                     caption='位置/设备分类:'
                     tipPlace='top'
@@ -50,17 +41,10 @@
                     :isShowAllChoice='true'
                     :choseArea='true'
                     :data='deviceList'
+                    :hideClear='true'
                     @change='treeConfirmDevice'
                 />
-                <!-- <Select
-                    width='180'
-                    tipPlace='top'
-                    caption='专业:'
-                    :selectdata='dataSelect2'
-                    :placeholder='"请选择"'
-                    @change='getTableList'
-                    style='margin:0 12px'
-                ></Select>-->
+
                 <TreeSelect
                     caption='专业:'
                     tipPlace='top'
@@ -71,6 +55,7 @@
                     :choseArea='true'
                     :data='majorList'
                     @change='treeConfirmMajor'
+                    :hideClear='true'
                 />
 
                 <TreeSelect
@@ -83,6 +68,7 @@
                     :data='typeVisualization'
                     @change='treeConfirm'
                     @focusChange='focusChange'
+                    :hideClear='true'
                 />
                 <Select
                     width='180'
@@ -152,7 +138,7 @@
 <script>
 import addLegend from './addLegend'
 import Select from '@/components/Select/Select.vue'
-import { getLegendTree, queryLegend, deleteLegend, queryTypeId, getVisualization, queryRelation } from '@/api/legendLibrary.js'
+import { graphElementSearch, getLegendTree, queryLegend, deleteLegend, queryTypeId, getVisualization, queryRelation } from '@/api/legendLibrary.js'
 export default {
     components: { addLegend, Select },
     data() {
@@ -168,7 +154,7 @@ export default {
                 { id: '1', name: '正常' },
                 { id: '0', name: '已作废' }
             ],
-            Type: '', //所属分类
+            Type: undefined, //所属分类
             typeOptions: [
                 {
                     id: 'None',
@@ -194,23 +180,17 @@ export default {
             currentPage: 1,
             state: '1',
             position: [],
-            // positionSelect: [
-            //     { id: 'GDXT', name: '供电系统-楼层分布' },
-            //     { id: 'FZQZL', name: '暖通空调-原理图' },
-            //     { id: 'NTXT', name: '暖通空调-楼层分布' },
-            //     { id: 'XFBFYCFL', name: '消防系统-系统概况' },
-            //     { id: 'XFXT', name: '消防系统-楼层分布' },
-            //     { id: 'RDXT', name: '弱电系统-楼层分布' },
-            //     { id: 'DTXT', name: '电梯系统-楼层分布' },
-            //     { id: 'RQXT', name: '燃气系统-楼层分布' },
-            //     { id: 'SCPZ', name: '土建装饰-石材铺装' }
-            // ],
+
             positionSelect: [],
-            keyword: '',
+            keyword: undefined,
             typeVisualization: [],
             visualizationList: [], //已选铺位可视化
             majorList: [], //专业
-            deviceList: []
+            deviceList: [],
+            GraphCategoryIds: undefined, //说明书位置勾选集合
+            InfoLocals: undefined, //工程信息化
+            InfoSystems: undefined, //工程信息化专业/系统
+            InfoTypeIds: undefined //铺位可视化typeid
         }
     },
     methods: {
@@ -293,39 +273,22 @@ export default {
         },
         getTableList() {
             let postParams = {
+                Deleted: this.state == 1 ? false : true,
+                GraphCategoryIds: this.GraphCategoryIds, //说明书位置
+                InfoLocals: this.InfoLocals, //工程信息化位置与设备分类
+                InfoSystems: this.InfoSystems, //工程信息化专业/系统
+                InfoTypeIds: this.InfoTypeIds, //铺位可视化typeid
+                Name: this.keyword,
                 PageNumber: this.currentPage,
                 PageSize: this.size,
-                // Keyword: this.keyword,
-                // Type: this.Type,
-                // TypeId: this.TypeId,
-                Orders: 'CreateTime desc',
-                Filters: ``
-            }
-            // 状态
-            if (this.state == 1) {
-                postParams.Filters += `deleted=0`
-            } else {
-                postParams.Filters += `deleted=1`
-            }
-            if (this.Type) {
-                postParams.Filters += `;Type='${this.Type}'`
+                Type: this.Type
             }
-            // 位置分类InfoLocal
-            //专业 InfoSystem
-            // 可视化InfoTypeId
-            if (this.visualizationList.length > 0) {
-                postParams.Filters += `;InfoTypeId contain '${JSON.stringify(this.visualizationList)}'`
-            }
-            // 搜索 Name
-            if (this.keyword) {
-                postParams.Filters += `;Name contain '${this.keyword}'`
-            }
-            queryLegend({ postParams }).then(res => {
-                console.log(res)
+            graphElementSearch({ postParams }).then(res => {
                 this.tableData = res.Content
                 this.total = res.Total
             })
         },
+
         updateSuccess() {
             this.getTableList()
         },
@@ -334,21 +297,23 @@ export default {
         },
         // 铺位可视化
         treeConfirm(id, info) {
-            // this.visualizationList = info.map(i => i.id)
-            console.log(id, 'id')
-            // this.getTableList()
+            this.InfoTypeIds = id
+            this.getTableList()
         },
         //专业
         treeConfirmMajor(id, info) {
-            console.log(id)
+            this.InfoSystems = id
+            this.getTableList()
         },
         //位置/设备
         treeConfirmDevice(id, info) {
-            console.log(id)
+            this.InfoLocals = id
+            this.getTableList()
         },
         //说明书位置
         treeConfirmPosition(id, info) {
-            console.log(id)
+            this.GraphCategoryIds = id
+            this.getTableList()
         },
         focusChange(status) {
             // console.log('focusChange', status)