Bladeren bron

Merge branch 'develop' of http://39.106.8.246:3003/web/wanda-bm-guide into develop

haojianlong 4 jaren geleden
bovenliggende
commit
93f9158cee
37 gewijzigde bestanden met toevoegingen van 467 en 284 verwijderingen
  1. 1 1
      package.json
  2. 1 0
      public/systemConf.js
  3. 4 0
      src/api/public.js
  4. 15 6
      src/assets/css/rotation.css
  5. 12 5
      src/assets/css/rotation.less
  6. 27 10
      src/components/Legend/src/legend.vue
  7. 2 1
      src/components/Select/Select.vue
  8. 2 2
      src/components/floorMap/canvasFun.vue
  9. 40 24
      src/components/floorMap/index.vue
  10. 43 6
      src/components/menuList.vue
  11. 16 10
      src/components/viewLengend.vue
  12. 6 0
      src/store/index.js
  13. 10 11
      src/utils/plugins/components.js
  14. 22 13
      src/views/equipment/eqDialog.vue
  15. 20 13
      src/views/equipment/fenbuPic.vue
  16. 3 2
      src/views/equipment/index.vue
  17. 9 6
      src/views/equipment/table/djspTable.vue
  18. 20 11
      src/views/equipment/table/eqDetaileDialog.vue
  19. 12 17
      src/views/equipment/table/eqListTable.vue
  20. 10 7
      src/views/equipment/table/otherTable.vue
  21. 1 1
      src/views/equipment/table/recordDialog.vue
  22. 22 9
      src/views/equipment/table/standTable.vue
  23. 5 5
      src/views/equipment/table/tjTable.vue
  24. 20 17
      src/views/equipment/table/wbTable.vue
  25. 18 24
      src/views/equipment/table/wxTable.vue
  26. 21 12
      src/views/equipment/table/zwTable.vue
  27. 1 1
      src/views/floorFunc/index.vue
  28. 29 28
      src/views/legendLibrary/addForm.vue
  29. 24 1
      src/views/legendLibrary/addLegend.vue
  30. 12 12
      src/views/legendLibrary/index.vue
  31. 15 5
      src/views/legendRules/index.vue
  32. 2 2
      src/views/other/gcfz1.vue
  33. 3 3
      src/views/other/zhsxOtherTable1.vue
  34. 1 1
      src/views/other/zhsxOtherTable2.vue
  35. 5 5
      src/views/room/room3.vue
  36. 10 10
      src/views/room/room4.vue
  37. 3 3
      src/views/room/room5.vue

+ 1 - 1
package.json

@@ -17,7 +17,7 @@
         "axios": "^0.19.2",
         "core-js": "^3.4.4",
         "element-ui": "^2.13.2",
-        "meri-design": "^1.2.8",
+        "meri-design": "^1.3.2",
         "moment": "^2.24.0",
         "quill": "^1.3.7",
         "vue": "^2.6.10",

+ 1 - 0
public/systemConf.js

@@ -26,6 +26,7 @@ var __systemConf = {
         // 阿里云
         editerUrl: 'http://60.205.177.43:80/wandaEditer/', // 编辑器地址
         wandaBmGuideUrl: 'http://60.205.177.43:80/wandaBmGuide/', //管理书地址
+        // wandaBmGuideUrl: 'http://192.168.200.100:8090/wandaBmGuide/', //管理书地址
     },
 }
 window.__systemConf = __systemConf

+ 4 - 0
src/api/public.js

@@ -41,3 +41,7 @@ export function updateRead({ postParams }) {
 export function readGroup(postParams) {
     return httputils.postJson(`/serve/topology-wanda/graph/read`, postParams)
 }
+// 查询草稿箱数量
+export function queryDraftNum(data) {
+    return httputils.postJson(`/serve/topology-wanda/graph/query`, data)
+}

+ 15 - 6
src/assets/css/rotation.css

@@ -1,7 +1,7 @@
 .overview {
   background: #f2f5f7;
   padding: 16px 20px 20px 20px;
-  height: 100%;
+  height: calc(100% - 48px);
   width: 100%;
 }
 .overview .view-title {
@@ -27,7 +27,6 @@
   font-family: MicrosoftYaHeiSemibold;
   font-weight: bold;
   color: #1f2429;
-  line-height: 21px;
 }
 .overview .view-title .view-button {
   font-family: PingFangSC-Regular, PingFang SC;
@@ -42,6 +41,7 @@
   align-items: center;
   justify-content: center;
   cursor: pointer;
+  border-radius: 4px;
 }
 .overview .view-title .view-button img {
   display: inline-block;
@@ -62,11 +62,13 @@
 }
 .overview .view-box .view-left .lb-left {
   width: 100%;
+  height: 66%;
   flex: 1;
   margin-top: 12px;
   margin-bottom: 10px;
   position: relative;
   border: 1px solid #ccc;
+  border-radius: 4px;
 }
 .overview .view-box .view-left .lb-left img {
   width: 100%;
@@ -75,11 +77,12 @@
   z-index: 99;
   position: absolute;
   top: 0;
-  right: 2px;
+  right: 0px;
   width: 32px;
   height: 32px;
   background: rgba(0, 0, 0, 0.6);
   border-radius: 0px 4px 0px 4px;
+  cursor: pointer;
 }
 .overview .view-box .view-left .lb-left .lb-img {
   z-index: 101;
@@ -88,6 +91,7 @@
   position: absolute;
   top: 8px;
   right: 10px;
+  cursor: pointer;
 }
 .overview .view-box .view-left .lb-bottom {
   height: 34%;
@@ -101,6 +105,7 @@
   align-items: center;
   background: linear-gradient(270deg, rgba(54, 156, 247, 0) 0%, rgba(2, 91, 170, 0.2) 100%);
   margin-bottom: 12px;
+  border-radius: 4px;
 }
 .overview .view-box .view-left .lb-bottom nav span:nth-of-type(1) {
   width: 2px;
@@ -116,7 +121,6 @@
   font-family: MicrosoftYaHeiSemibold;
   font-weight: bold;
   color: #025baa;
-  line-height: 19px;
 }
 .overview .view-box .view-left .lb-bottom .place-p1 {
   height: 24px;
@@ -130,6 +134,7 @@
   width: 16px;
   height: 16px;
   margin-right: 3px;
+  margin-top: -3px;
 }
 .overview .view-box .view-left .lb-bottom .place-p2 {
   margin: 16px 0;
@@ -191,20 +196,23 @@
 }
 .overview .view-box .view-right .view-right-box .lb-right {
   flex: 1;
+  height: 47%;
   margin-top: 12px;
   margin-bottom: 10px;
   position: relative;
   border: 1px solid #ccc;
+  border-radius: 4px;
 }
 .overview .view-box .view-right .view-right-box .lb-right .lb-icon {
   z-index: 99;
   position: absolute;
   top: 0;
-  right: 2px;
+  right: 0px;
   width: 32px;
   height: 32px;
   background: rgba(0, 0, 0, 0.6);
   border-radius: 0px 4px 0px 4px;
+  cursor: pointer;
 }
 .overview .view-box .view-right .view-right-box .lb-right .lb-img {
   z-index: 101;
@@ -213,6 +221,7 @@
   position: absolute;
   top: 8px;
   right: 10px;
+  cursor: pointer;
 }
 .overview .view-box .view-right .view-right-box .lb-right-bottom {
   height: 53%;
@@ -227,6 +236,7 @@
   align-items: center;
   background: linear-gradient(270deg, rgba(54, 156, 247, 0) 0%, rgba(2, 91, 170, 0.2) 100%);
   margin-bottom: 12px;
+  border-radius: 4px;
 }
 .overview .view-box .view-right .view-right-box .lb-right-bottom nav span:nth-of-type(1) {
   width: 2px;
@@ -242,7 +252,6 @@
   font-family: MicrosoftYaHeiSemibold;
   font-weight: bold;
   color: #025baa;
-  line-height: 19px;
 }
 .overview .view-box .view-right .view-right-box .lb-right-bottom .view-right-bottom {
   overflow: auto;

+ 12 - 5
src/assets/css/rotation.less

@@ -25,7 +25,6 @@
                 font-family: MicrosoftYaHeiSemibold;
                 font-weight: bold;
                 color: #1f2429;
-                line-height: 21px;
             }
         }
         .view-button {
@@ -41,6 +40,7 @@
             align-items: center;
             justify-content: center;
             cursor: pointer;
+            border-radius: 4px;
             img {
                 display: inline-block;
                 height: 16px;
@@ -69,6 +69,7 @@
                 margin-bottom: 10px;
                 position: relative;
                 border: 1px solid #ccc;
+                border-radius: 4px;
                 img {
                     width: 100%;
                     // height: 100%;
@@ -77,11 +78,12 @@
                     z-index: 99;
                     position: absolute;
                     top: 0;
-                    right: 2px;
+                    right: 0px;
                     width: 32px;
                     height: 32px;
                     background: rgba(0, 0, 0, 0.6);
                     border-radius: 0px 4px 0px 4px;
+                    cursor: pointer;
                 }
                 .lb-img {
                     z-index: 101;
@@ -90,6 +92,7 @@
                     position: absolute;
                     top: 8px;
                     right: 10px;
+                    cursor: pointer;
                 }
             }
             .lb-bottom {
@@ -103,6 +106,7 @@
                     align-items: center;
                     background: linear-gradient(270deg, rgba(54, 156, 247, 0) 0%, rgba(2, 91, 170, 0.2) 100%);
                     margin-bottom: 12px;
+                    border-radius: 4px;
                     span:nth-of-type(1) {
                         width: 2px;
                         height: 16px;
@@ -117,7 +121,6 @@
                         font-family: MicrosoftYaHeiSemibold;
                         font-weight: bold;
                         color: #025baa;
-                        line-height: 19px;
                     }
                 }
                 .place-p1 {
@@ -131,6 +134,7 @@
                         width: 16px;
                         height: 16px;
                         margin-right: 3px;
+                        margin-top: -3px;
                     }
                 }
                 .place-p2 {
@@ -199,15 +203,17 @@
                     margin-bottom: 10px;
                     position: relative;
                     border: 1px solid #ccc;
+                    border-radius: 4px;
                     .lb-icon {
                         z-index: 99;
                         position: absolute;
                         top: 0;
-                        right: 2px;
+                        right: 0px;
                         width: 32px;
                         height: 32px;
                         background: rgba(0, 0, 0, 0.6);
                         border-radius: 0px 4px 0px 4px;
+                        cursor: pointer;
                     }
                     .lb-img {
                         z-index: 101;
@@ -216,6 +222,7 @@
                         position: absolute;
                         top: 8px;
                         right: 10px;
+                        cursor: pointer;
                     }
                 }
                 .lb-right-bottom {
@@ -230,6 +237,7 @@
                         align-items: center;
                         background: linear-gradient(270deg, rgba(54, 156, 247, 0) 0%, rgba(2, 91, 170, 0.2) 100%);
                         margin-bottom: 12px;
+                        border-radius: 4px;
                         span:nth-of-type(1) {
                             width: 2px;
                             height: 16px;
@@ -244,7 +252,6 @@
                             font-family: MicrosoftYaHeiSemibold;
                             font-weight: bold;
                             color: #025baa;
-                            line-height: 19px;
                         }
                     }
                     .view-right-bottom {

+ 27 - 10
src/components/Legend/src/legend.vue

@@ -65,7 +65,7 @@
                 </p>
             </el-tooltip>
             <!-- 编辑分布图 -->
-            <el-tooltip v-if='editPmt' class='bjpmt' effect='dark' content='编辑分布图' placement='left'>
+            <el-tooltip v-if='editPmt' class='bjpmt' effect='dark' :content='editTips' placement='left'>
                 <span class='edit-icon' @click='goToEditer'>
                     <i class='el-icon-edit' style='color:#fff;font-size:16px;'></i>
                 </span>
@@ -102,7 +102,8 @@ export default {
             remarksText: '', //查询出来的备注
             text1:
                 '<p>1.主要设备房包括:冷源机房,热源机房,开闭站,配变电所(室),发电机房,消防水泵房,消防高位水箱间,生活水泵房,慧云机房,垃圾房。</p>',
-            text2: '<p>2.图例后×的数字,代表此位置的数量。</p>',
+            // text2: '<p>2.图例后×的数字,代表此位置的数量。</p>',
+            text2: '',
             show: false,
             show2: false,
             loading: true,
@@ -119,7 +120,9 @@ export default {
             editPmt: true, //是否有跳转道图例库的权限
             floorSelectAble: [],
             floor: '', //传的楼层
-            floorName: ''
+            floorName: '',
+            planNum: '', //主要设备房
+            typeNum: ''
         }
     },
     computed: {
@@ -143,6 +146,10 @@ export default {
         categoryId: {
             default: '',
             type: String
+        },
+        editTips: {
+            type: String,
+            default: ''
         }
     },
     components: { lengendView, legendRemarks, lengendEdit },
@@ -171,6 +178,13 @@ export default {
             queryRead({ data, postParams }).then(res => {
                 if (res.data.Data && res.data.Data[0].Note) {
                     let note = res.data.Data[0].Note
+                    console.log('notenotenote', note)
+                    if (this.planNum > 0) {
+                        this.remarksText = `${this.text1}${note}`
+                    }
+                    if (this.typeNum > 1) {
+                        this.remarksText = `${this.text2}${note}`
+                    }
                     if (note.search(this.text1) != -1 && note.search(this.text2) != -1) {
                         this.remarksText = `${note}`
                     } else if (note.search(this.text1) != -1) {
@@ -221,8 +235,6 @@ export default {
                 { editerUrl } = conf
             let floorName = this.floorName ? this.floorName : this.$cookie.get('floorNow')
             let data = `categoryId=${categoryId}&projectId=${this.plazaId}&BuildingID=1&FloorID=${FloorID}&FloorName=${floorName}&fmapID=${this.fmapID}`
-            console.log('data',data);
-            console.log('this.categoryId',this.categoryId,this.$cookie.get('categoryId'))
             let url = editerUrl + 'editer?' + encodeURIComponent(data)
             window.open(url, true)
         },
@@ -248,6 +260,14 @@ export default {
                 this.loading = false
                 //console.log('图例', res)
                 this.viewTable = res.data.Data ? res.data.Data : []
+                if (this.viewTable.length > 0) {
+                    this.viewTable.forEach(el => {
+                        console.log(el)
+                        if (el.Name == '主要设备房') {
+                            this.planNum = el.Num
+                        }
+                    })
+                }
                 this.$nextTick(() => {
                     if (this.$refs.viewLengend) {
                         this.$refs.viewLengend.setSelected()
@@ -306,6 +326,7 @@ export default {
         },
         addFloor() {
             this.isFloor = true
+            this.formatFloor()
         },
         // 新增楼层取消
         cancel() {
@@ -317,11 +338,7 @@ export default {
             this.goToEditer()
         }
     },
-    mounted() {
-        if (this.floors.length > 0) {
-            this.formatFloor()
-        }
-    }
+    mounted() {}
 }
 </script>
 <style lang="less" scoped>

+ 2 - 1
src/components/Select/Select.vue

@@ -29,7 +29,7 @@
                     v-html="fakePlaceholder">
                 </span>
             </span>
-            <Triangle v-show="!clearable" :class="triangleClass"></Triangle>
+            <Triangle v-show="!clearable" :class="triangleClass" @click="handleInput"></Triangle>
             <Remove class="p-select-clear" @click.stop="clearAll" v-show="!hideClear && clearable"></Remove>
         </div>
     </div>
@@ -482,6 +482,7 @@ export default {
         * params event事件对象
         */
         handleInput (event) {
+            console.log(event)
             this.query = event.target.value || event.data || ''
             this.showPlaceholder = !this.query
             if (!this.dropInstance) return

+ 2 - 2
src/components/floorMap/canvasFun.vue

@@ -22,7 +22,7 @@
                     </el-tooltip>
                 </i>
             </div>
-            <div class='small-block' @click='showText'>
+            <div class='small-block' @click='fitToWindow'>
                 <i>
                     <img src='../../assets/imgs/qp.png' alt />
                 </i>
@@ -49,7 +49,7 @@ export default {
             max: 1000,
             everyScale: 1, // 每份的放大倍数
             isSwitch: false, // 是否开启吸附
-            isShow: true
+            isShow: false
         }
     },
 

+ 40 - 24
src/components/floorMap/index.vue

@@ -31,14 +31,15 @@ export default {
             appName: '万达可视化系统',
             key: '23f30a832a862c58637a4aadbf50a566',
             mapServerURL: `http://map.wanda.cn/editor`,
-            canvasWidth: 1100,
+            canvasWidth: 600,
             canvasHeight: 800,
             loading: false, // 限制重复查询
             view: null,
             urlMsg: {},
             canvasID: 'canvas',
             floorid: '', //楼层id
-            topologyParser: null // 解析器数据
+            topologyParser: null, // 解析器数据
+            fParser: null // 底图解析器
         }
     },
     props: {
@@ -50,7 +51,11 @@ export default {
             default: '',
             type: String
         },
-
+        // 弹窗高度,适配底图高度使用
+        modalHeight: {
+            type: [Number, undefined],
+            default: undefined
+        },
         loadName: null,
         type: null
     },
@@ -63,6 +68,7 @@ export default {
         init(floorid) {
             this.loading = true
             this.floorid = floorid
+            this.mapSize()
             setTimeout(() => {
                 if (this.haveFengMap) {
                     this.clearGraphy()
@@ -95,24 +101,23 @@ export default {
                             console.log('errr', res.err)
                             return
                         }
-                        const fParser = new SFloorParser(null)
-                        fParser.parseData(res)
-                        fParser.spaceList.forEach(t => {
+                        this.fParser = new SFloorParser(null)
+                        this.fParser.parseData(res)
+                        this.fParser.spaceList.forEach(t => {
                             //   t.selectable = true;
                             this.scene.addItem(t)
                         })
-                        fParser.wallList.forEach(t => this.scene.addItem(t))
-                        fParser.virtualWallList.forEach(t => this.scene.addItem(t))
-                        fParser.doorList.forEach(t => this.scene.addItem(t))
-                        fParser.columnList.forEach(t => this.scene.addItem(t))
-                        fParser.casementList.forEach(t => this.scene.addItem(t))
+                        this.fParser.wallList.forEach(t => this.scene.addItem(t))
+                        this.fParser.virtualWallList.forEach(t => this.scene.addItem(t))
+                        this.fParser.doorList.forEach(t => this.scene.addItem(t))
+                        this.fParser.columnList.forEach(t => this.scene.addItem(t))
+                        this.fParser.casementList.forEach(t => this.scene.addItem(t))
                         this.view.scene = this.scene
                         this.view.minScale = this.view.scale
                         if (this.$refs.canvasFun) {
                             this.$refs.canvasFun.everyScale = this.view.scale
                         }
                         this.view.fitSceneToView()
-                        //console.log('success')
                     })
                 } else {
                     console.log('楼层不正确')
@@ -121,19 +126,23 @@ export default {
             this.readGroup(this.floorid).then(data => {
                 this.loading = false
                 if (data.Result == 'failure') {
-                    this.$message({
-                        message: data.Message,
-                        type: 'warning'
-                    })
                     this.$store.commit('SETISMESSAGE', false)
-                    //    一会回来存这个
+                    return
                 } else {
                     this.$store.commit('SETISMESSAGE', true)
                 }
-                if (data.Data.length > 0) {
-                    //console.log(data.data.Data[0].ID)
-                    this.$cookie.set('graphId', data.Data[0].ID, 3)
+                // 无返回Data处理
+                if (!(data.Data && data.Data.length)) {
+                    return false
                 }
+                if (this.$cookie.get('categoryId') == 'SCPZ') {
+                    let scpzTable = []
+                    scpzTable = data.Data[0].Elements.Nodes || []
+                    console.log(scpzTable)
+                    this.$store.commit('SETSCPZTABLE', scpzTable)
+                }
+                // 放到后边 $cookie graphId
+                this.$cookie.set('graphId', data.Data[0].ID, 3)
                 this.topologyParser = new STopologyParser(null)
                 this.topologyParser.parseData(data.Data[0].Elements)
                 // 多边形
@@ -203,8 +212,11 @@ export default {
             this.view.scaleByPoint(val / scale, this.canvasWidth / 2, this.canvasHeight / 2)
         },
         showText(val) {
-            this.topologyParser.zoneLegendList.forEach(t => {
-                t.showText = val
+            // this.topologyParser.zoneLegendList.forEach(t => {
+            //     t.showText = val
+            // })
+            this.fParser.spaceList.forEach(t => {
+                t.showBaseName = val
             })
         },
         // 读取数据
@@ -219,13 +231,16 @@ export default {
         },
         // 地图尺寸
         mapSize() {
+            this.canvasWidth = this.$refs.graphy.offsetWidth
             if (window.screen.height == '768') {
-                this.canvasWidth = this.$refs.graphy.offsetWidth
                 this.canvasHeight = this.$refs.graphy.offsetHeight - 100
             } else {
-                this.canvasWidth = this.$refs.graphy.offsetWidth
                 this.canvasHeight = 900
             }
+            // 弹窗中底图高度适配
+            if (this.modalHeight) {
+                this.canvasHeight = this.modalHeight
+            }
         },
         getEvent() {
             bus.$on('changeShow', res => {
@@ -289,6 +304,7 @@ export default {
 <style lang="less" scoped>
 #floor_base {
     position: relative;
+    height: 100%;
     .fengMap {
         position: fixed;
         width: 100px;

+ 43 - 6
src/components/menuList.vue

@@ -25,8 +25,8 @@
             <span @click='toDrafts' class='span-out'>
                 <img class='img2' src='../assets/imgs/cgx.png' alt />
                 <span class='span2'>草稿箱</span>
-                <span class='span2-num' v-if='value<=99'>{{value}}</span>
-                <span class='span2-num' style='line-height:10px' v-else>...</span>
+                <span class='span2-num' v-if='draftNum && draftNum <= 99'>{{draftNum}}</span>
+                <span class='span2-num' style='line-height:10px' v-else-if='draftNum && draftNum > 99'>...</span>
             </span>
             <span>
                 <img class='img3' src='../assets/imgs/clock.png' alt />
@@ -40,6 +40,7 @@
 import { formatTime } from '@/utils/format.js'
 import { mapGetters } from 'vuex'
 import moment from 'moment'
+import { queryDraftNum } from '../../src/api/public'
 export default {
     data() {
         return {
@@ -55,7 +56,9 @@ export default {
             times: `${new Date().getFullYear()}.${formatTime(new Date().getMonth() + 1)}.${formatTime(new Date().getDate())} ${formatTime(
                 new Date().getHours()
             )}:${formatTime(new Date().getMinutes())}`,
-            value: 190,
+            draftNum: null, //草稿箱数量
+            interval: 10 * 60 * 1000, //定时器时长,默认 10分钟
+            timer: null, //保存定时器
             // 路由词典
             dict: {
                 first: 1,
@@ -77,12 +80,45 @@ export default {
         this.currentTime()
     },
     mounted() {
-        window.vm = this
         this.handleRoute(this.$route)
-        console.log(this.fmapID)
+        // console.log(this.fmapID)
+        // 定时查询草稿箱数量
+        this.getDraftNum() //首次查询
+        this.timer = setInterval(() => {
+            this.getDraftNum()
+        }, this.interval)
+        // 页面销毁前,清除定时器
+        this.$once('hook:beforeDestroy', () => {
+            clearInterval(this.timer)
+        })
     },
-
     methods: {
+        /**
+         * @name getDraftNum
+         * @description 查询草稿箱数量
+         */
+        async getDraftNum() {
+            let res = null,
+                data = {
+                    Distinct: true,
+                    Filters: `projectId=${this.plazaId};isPub=false`,
+                    PageNumber: 1,
+                    PageSize: 500,
+                    Projection: ['floorId']
+                }
+            try {
+                // 调用接口
+                res = await queryDraftNum(data)
+            } catch (error) {
+                console.error(error)
+            }
+            if (!res) {
+                this.draftNum = null
+                return false
+            }
+            // 草稿箱总条数使用 res.Total, 不使用 Content数组的长度
+            this.draftNum = res.Total || null
+        },
         //入草稿箱
         toDrafts() {
             const { conf } = window.__systemConf,
@@ -207,6 +243,7 @@ export default {
             float: left;
             width: 80px;
             height: 48px;
+            margin: 0 10px;
             cursor: pointer;
             transition: all 0.2s;
         }

+ 16 - 10
src/components/viewLengend.vue

@@ -5,26 +5,22 @@
 */
 <template>
     <div class='view'>
-        <div v-if='systemName=="土建系统"'>
+        <div v-if='systemName=="土建系统"' style='height:300px'>
             <el-table
-                v-loading='loading'
                 ref='dataTable'
-                :data='viewTable'
+                :data='scpzTable'
                 tooltip-effect='dark'
                 style='width:100%;'
                 :header-cell-style='{background:"rgba(2,91,170,0.1)",fontFamily:"PingFangSC-Medium,PingFang SC;",color:"rgba(0,0,0,0.85);",fontSize:"12px"}'
             >
                 <el-table-column prop label='说明'>
                     <template slot-scope='{row}'>
-                        <span>{{'--'}}</span>
+                        <span>{{(row.Properties && row.Properties.ItemExplain)?row.Properties.ItemExplain:'--'}}</span>
                     </template>
                 </el-table-column>
                 <el-table-column prop label='图例' width='60'>
                     <template slot-scope='{row}'>
-                        <div v-if='row.Url' class='Url-img'>
-                            <img :src='`/serve/topology-wanda/Picture/query/${row.Url}`' alt />
-                        </div>
-                        <div v-else>{{'--'}}</div>
+                        <div class='scpz-img' :style='`background:${row.Properties.FillColor};border:1px solid ${row.Properties.StrokeColor}`'></div>
                     </template>
                 </el-table-column>
             </el-table>
@@ -73,7 +69,8 @@
     </div>
 </template>
 <script>
-import bus from "@/utils/bus.js"
+import bus from '@/utils/bus.js'
+import { mapGetters } from 'vuex'
 export default {
     props: ['viewTable', 'loading', 'remarksText', 'systemName'],
     data() {
@@ -99,6 +96,9 @@ export default {
             })
         }
     },
+    computed: {
+        ...mapGetters(['scpzTable'])
+    },
     mounted() {}
 }
 </script>
@@ -115,6 +115,10 @@ export default {
             margin-left: 8px;
         }
     }
+    .scpz-img {
+        width: 32px;
+        height: 16px;
+    }
     .remark {
         font-size: 12px;
         font-family: MicrosoftYaHeiSemibold;
@@ -142,4 +146,6 @@ export default {
         }
     }
 }
-</style>
+</style>
+
+

+ 6 - 0
src/store/index.js

@@ -19,6 +19,7 @@ export default new Vuex.Store({
         fmapID: '',
         haveFengMap: false, //是否有蜂鸟地图的数据
         isMessage: true,
+        scpzTable: [],
     },
     getters: {
         floorsArr: (state) => state.floorsArr,
@@ -28,6 +29,7 @@ export default new Vuex.Store({
         fmapID: (state) => state.fmapID,
         haveFengMap: (state) => state.haveFengMap,
         isMessage: (state) => state.isMessage,
+        scpzTable: (state) => state.scpzTable,
     },
     mutations: {
         // 设置是否登陆校验
@@ -63,6 +65,10 @@ export default new Vuex.Store({
         SETHAVEFENGMAP(state) {
             state.haveFengMap = true
         },
+        // 土建的图例
+        SETSCPZTABLE(state, data) {
+            state.scpzTable = data
+        },
     },
     actions: {
         // 获取项目列表、userId

+ 10 - 11
src/utils/plugins/components.js

@@ -300,16 +300,16 @@ var system = [
                     label: "系统原理图",
                     children: [
                         {
-                            label: "视频监控系统原理图",
-                            id: "RDYL1",
-                            param: { tab_code: "1572", type_code: "2018" },
-                        },
-                        {
                             label: "门禁管理系统原理图",
                             id: "RDYL2",
                             param: { tab_code: "rd01", type_code: "2019" },
                         },
                         {
+                            label: "视频监控系统原理图",
+                            id: "RDYL1",
+                            param: { tab_code: "1572", type_code: "2018" },
+                        },
+                        {
                             label: "BA楼宇智能化系统原理图",
                             id: "RDYL3",
                             param: { tab_code: "1574", type_code: "2010" },
@@ -325,16 +325,15 @@ var system = [
                             label: "门禁管理",
                             id: "RDQD2",
                             param: { tab_code: "rd01" },
-                        },
-                        {
-                            label: "BA楼宇智能化",
-                            id: "RDQD1",
-                            param: { tab_code: "rd02" },
-                        },
+                        }, 
                         {
                             label: "视频监控",
                             id: "RDQD3",
                             param: { tab_code: "rd03" },
+                        },{
+                            label: "BA楼宇智能化",
+                            id: "RDQD1",
+                            param: { tab_code: "rd02" },
                         },
                     ],
                 },

+ 22 - 13
src/views/equipment/eqDialog.vue

@@ -13,7 +13,7 @@
                 />
             </div>
             <!-- 没有tab的页面 -->
-            <div v-if='Object.keys(dialogInfo).length>0 && dialogInfo.children.length==0' style='margin:16px 24px 0 24px'>
+            <div v-if='Object.keys(dialogInfo).length>0 && dialogInfo.children.length==0' style='margin:16px 0 0 24px'>
                 <!-- 原理图 -->
                 <div v-if='dialogInfo.id.slice(2,4)=="YL"' style='width:90%;overflow:hidden'>
                     <rotation :rotationImg='rotationImg'></rotation>
@@ -29,7 +29,7 @@
                 <look-page v-else-if='dialogInfo.id.slice(2,4)=="TZ"' param major></look-page>
             </div>
             <!-- 有tab的页面 -->
-            <div v-else style='margin:16px 24px 0 24px;'>
+            <div v-else style='margin:16px 0 0 24px;height:100%;'>
                 <el-tabs v-model='activeName' @tab-click='handleClick' v-if='Object.keys(dialogInfo).length>0 && dialogInfo.children.length>0'>
                     <el-tab-pane
                         v-for='(value,index) in dialogInfo.children'
@@ -117,7 +117,6 @@ export default {
     methods: {
         //打开弹窗
         showModal(item) {
-            console.log(item)
             this.visible = true
             this.dialogInfo = item
             if (Object.keys(this.dialogInfo).length > 0 && this.dialogInfo.children.length > 0) {
@@ -138,7 +137,6 @@ export default {
                     this.initImage(this.typecode)
                 }
             }
-            //console.log(this.dialogInfo)
             this.param = this.activeName
         },
         //点击tab函数
@@ -154,12 +152,17 @@ export default {
                 this.typecode = this.dialogInfo.children[`${tab.index}`].param.type_code
                 this.diff = this.dialogInfo.children[`${tab.index}`].param.diff
             }
-            if (this.dialogInfo.children[0].id.slice(2, 4) == 'YL' && this.typecode != 'FBT') {
+            if (this.dialogInfo.children[0].id.slice(2, 4) == 'YL' && this.typecode.slice(0, 3) != 'FBT') {
                 this.initImage(this.typecode)
             }
-           
+            if (this.dialogInfo.children[0].id.slice(2, 4) == 'YL' && this.typecode.slice(0, 3) == 'FBT') {
+                this.$nextTick(() => {
+                    this.$refs.fenbutu[0] && this.$refs.fenbutu[0].openFloorMap()
+                })
+            }
             this.tabLabel = tab.label
         },
+
         visibalBox() {
             this.$refs.Dialog.open(this.dialogInfo.id)
         },
@@ -200,7 +203,6 @@ export default {
             if (this.systemName == '供电系统') {
                 getParams.system = '1001'
             }
-            console.log(getParams)
             queryPic({ getParams }).then(res => {
                 this.rotationImg = res.data || []
             })
@@ -236,7 +238,6 @@ export default {
             }
             queryTab({ data, postParams }).then(res => {
                 this.tabCount = []
-                console.log('res', res)
                 let data = res.data.data || []
                 data.forEach(el => {
                     this.tabCount.push({
@@ -298,6 +299,10 @@ export default {
     .el-tabs__nav-wrap::after {
         height: 0;
     }
+    .el-tabs,
+    .el-tabs__content {
+        height: calc(100% - 45px);
+    }
     .el-tabs__item {
         padding: 5px 16px;
         height: 30px;
@@ -308,12 +313,9 @@ export default {
         border: 1px solid rgba(195, 199, 203, 1);
     }
     .el-tab-pane {
-        height: 60% !important;
-    }
-    .el-tabs,
-    .el-tabs__content {
-        height: 700px;
+        height: 100% !important;
     }
+
     .el-tabs__active-bar {
         background-color: transparent !important;
     }
@@ -370,4 +372,11 @@ export default {
         }
     }
 }
+@media screen and (max-width: 1366px) {
+    /*当屏幕尺寸小于1366px时,应用下面的CSS样式*/
+    .el-tabs,
+    .el-tabs__content {
+        height: 700px;
+    }
+}
 </style>

+ 20 - 13
src/views/equipment/fenbuPic.vue

@@ -5,8 +5,8 @@
             <Legend :floors='floors' type='0' :categoryId='`${typecode=="FBT1"?"FZQZL":"XFBFYCFL"}`'></Legend>
         </div>
         <floor-list v-if='floors.length>0' :floorsArr='floors' :type='1' @emitFloor='emitFloor' :id='"floor"'></floor-list>
-        <div v-if='floors.length>0'>
-            <floorMap ref='floorMap' :loadName='""' :categoryId='`${typecode=="FBT1"?"FZQZL":"XFBFYCFL"}`' :type='"floor"'></floorMap>
+        <div v-show='floors.length>0' class='canvas-box'>
+            <floorMap ref='floorMap' :modalHeight='modalHeight' :loadName='""' :categoryId='`${typecode=="FBT1"?"FZQZL":"XFBFYCFL"}`' :type='"floor"'></floorMap>
         </div>
         <div class='nodata' v-show='floors.length==0'>
             <img class='img1' src='@/assets/imgs/wtp.png' alt />
@@ -30,16 +30,23 @@ export default {
             },
             loadName: '',
             type: '',
-            floors: []
+            floors: [],
+            modalHeight: 500,   //适配底图
         }
     },
     props: ['typecode'],
     computed: {
         ...mapGetters(['floorsArr'])
     },
+    mounted() {
+        if (window.screen.width > 1366) {
+            this.modalHeight = 700
+        } else {
+            this.modalHeight = 500
+        }
+    },
     methods: {
         emitFloor(item) {
-            console.log(item)
             this.floorInfo = item
             this.$refs.floorMap.init(this.floorInfo.gname)
         },
@@ -60,8 +67,8 @@ export default {
                 postParams.Filters = `projectId =${this.$store.state.plazaId};categoryId='XFBFYCFL';isPub=true`
             }
             let floor = []
+            this.floors = []
             queryPics({ postParams }).then(res => {
-                console.log(res)
                 if (res.Total == 0) {
                     this.floors = []
                 } else {
@@ -69,7 +76,6 @@ export default {
                     this.floorsArr.forEach(el => {
                         floor.forEach(ele => {
                             if (ele.FloorId == el.gname) {
-                                console.log(el)
                                 this.floors.push({
                                     gname: el.gname,
                                     gcode: el.gcode,
@@ -81,20 +87,17 @@ export default {
                         })
                     })
                 }
-                console.log(this.floors)
                 this.floorInfo = this.floors[0]
-                console.log(this.floorInfo.gname)
-                this.$refs.floorMap.init(this.floorInfo.gname)
                 this.init()
             })
         },
         init() {
             this.loadName = `${this.floorInfo.code}`
+        },
+        openFloorMap() {
+            this.getFloorData()
+            this.$refs.floorMap.init(this.floorInfo.gname)
         }
-    },
-    mounted() {
-        console.log(this.floorsArr)
-        this.getFloorData()
     }
 }
 </script>
@@ -110,6 +113,10 @@ export default {
         right: 32px;
         top: 155px;
     }
+    .canvas-box {
+        width: 100%;
+        height: 100%;
+    }
     .nodata {
         height: calc(100%-50px);
         .img1 {

+ 3 - 2
src/views/equipment/index.vue

@@ -25,9 +25,9 @@
                     </div>
                     <div class='eq-content'>
                         <div class='legend-boxs'>
-                            <Legend :systemName='systemName'  :floors='floorsArr' type='1'></Legend>
+                            <Legend :systemName='systemName' :floors='floorsArr' type='1' :editTips='`编辑${floorInfo.code}层${systemName}平面图`'></Legend>
                         </div>
-                        <floorMap ref='floorMap' :id='"equip"' :loadName='loadName'  :type='"system"'></floorMap>
+                        <floorMap ref='floorMap' :id='"equip"' :loadName='loadName' :type='"system"'></floorMap>
                         <div class='additional-box' v-if='fqPic.length>0'>
                             <div class='additional' @click='additionalColl'>
                                 <img src='../../assets/imgs/bg.png' alt />
@@ -224,6 +224,7 @@ export default {
             .eq-right-bottom {
                 display: flex;
                 flex: 1;
+                height: 100%;
                 .title-box {
                     position: fixed;
                     z-index: 2;

+ 9 - 6
src/views/equipment/table/djspTable.vue

@@ -22,25 +22,25 @@
             ></el-input>
             <Select @change='getList' v-model='floor' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
         </div>
-        <el-table :data='tableData' :span-method='objectSpanMethod' border style='width: 100%' @row-click='innerVisible = true'>
-            <el-table-column prop='floor' label='楼层' width='200'>
+        <el-table :data='tableData' :span-method='objectSpanMethod' :border='true' style='width: 100%' @row-click='innerVisible = true'>
+            <el-table-column prop='floor' label='楼层' width='50'>
                 <template slot-scope='{row}'>{{row.floor || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='welldes' label='电井间'>
+            <el-table-column prop='welldes' label='电井间' width="120">
                 <template slot-scope='{row}'>{{row.welldes || '--'}}</template>
             </el-table-column>
             <el-table-column prop='meterbox' label='商铺电表数' width='200'>
                 <template slot-scope='{row}'>{{row.meterbox || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='shopsnum' label='商铺编号' width='200'>
-                <template slot-scope='{row}'>{{row.shopsnum || '--'}}</template>
+            <el-table-column prop='shopsnum' label='商铺编号' >
+                <template slot-scope='{row}'>{{row.shopsnumList || '--'}}</template>
             </el-table-column>
         </el-table>
         <div class='foot'></div>
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import EqDetail from './eqDetaileDialog'
 import { queryShops } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
@@ -130,6 +130,9 @@ export default {
             if (newV !== oldV) {
                 this.getList()
             }
+        },
+        floor(){
+            this.getList()
         }
     },
     mounted() {

+ 20 - 11
src/views/equipment/table/eqDetaileDialog.vue

@@ -48,35 +48,35 @@
             <input-dialog :type='1' @confirm='confirm'></input-dialog>
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%;amrgin-bottom:30px'>
-            <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='sbjc' label='设备名称' show-overflow-tooltip resizable>
+            <el-table-column type='index' label='序号' width='60'></el-table-column>
+            <el-table-column prop='sbjc' label='设备名称' show-overflow-tooltip resizable min-width="150">
                 <template slot-scope='{row}'>{{row.sbjc || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='assetnum' label='设备编号' show-overflow-tooltip resizable>
+            <el-table-column prop='assetnum' label='设备编号' show-overflow-tooltip resizable width="80">
                 <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sl' label='数量' width='100'>
+            <el-table-column prop='sl' label='数量' width='80'>
                 <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
             </el-table-column>
             <el-table-column prop='sbglgs' label='管理归属' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.sbglgs || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sb_status' label='设备状态'>
+            <el-table-column prop='sb_status' label='设备状态' width="80">
                 <template slot-scope='{row}'>{{row.sb_status || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='brand' label='品牌' show-overflow-tooltip resizable>
+            <el-table-column prop='brand' label='品牌' show-overflow-tooltip resizable width="80">
                 <template slot-scope='{row}'>{{row.brand || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable>
+            <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable width="80">
                 <template slot-scope='{row}'>{{row.sbxh || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='floor' sortable label='楼层' width='100'>
+            <el-table-column prop='floor' sortable label='楼层' width='80'>
                 <template slot-scope='{row}'>{{row.floorcode || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='wzjc' label='安装位置' show-overflow-tooltip resizable>
+            <el-table-column prop='wzjc' label='安装位置' show-overflow-tooltip resizable min-width="150">
                 <template slot-scope='{row}'>{{row.wzjc || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='manufacturer' label='生产厂商' show-overflow-tooltip resizable>
+            <el-table-column prop='manufacturer' label='生产厂商' show-overflow-tooltip resizable min-width="150">
                 <template slot-scope='{row}'>{{row.manufacturer || '--'}}</template>
             </el-table-column>
             <el-table-column prop='fws' label='服务商' show-overflow-tooltip resizable>
@@ -97,7 +97,7 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import { mapGetters } from 'vuex'
 import { queryAsset } from '@/api/equipmentList.js'
 import { querySelect } from '@/api/public.js'
@@ -272,6 +272,15 @@ export default {
                 this.tabFind()
             },
             deep: true
+        },
+        sbglgs(){
+            this.queryTableList()
+        },
+        status(){
+            this.queryTableList()
+        },
+        floor(){
+            this.queryTableList()
         }
     }
 }

+ 12 - 17
src/views/equipment/table/eqListTable.vue

@@ -20,7 +20,7 @@
                 v-model='keyword'
                 style='width:192px;margin-right:12px'
             ></el-input>
-            <Select @change='getList' v-model='floor' style='margin-right:12px;' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
+            <Select @change='getList' @cancel='getList' v-model='floor' style='margin-right:12px;' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
             <el-input
                 placeholder='搜索生产厂商'
                 clearable
@@ -32,17 +32,17 @@
             ></el-input>
         </div>
         <el-table :data='tableData' style='width: 100%' :border='true' @row-click='rowHandle'>
-            <el-table-column type='index' label='序号' width='50'></el-table-column>
-            <el-table-column prop='type_name' label='设备名称' show-overflow-tooltip resizable width='160'>
+            <el-table-column type='index' label='序号' width='60'></el-table-column>
+            <el-table-column prop='type_name' label='设备名称' show-overflow-tooltip resizable width='250'>
                 <template slot-scope='{row}'>{{row.type_name || '--'}}</template>
             </el-table-column>
             <el-table-column prop='sl' label='数量' width='100'>
                 <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
             </el-table-column>
-            <el-table-column prop='brand' label='品牌'>
+            <el-table-column prop='brand' label='品牌' width='120'>
                 <template slot-scope='{row}'>{{row.brand || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable>
+            <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable width='150'>
                 <template slot-scope='{row}'>{{row.sbxh || '--'}}</template>
             </el-table-column>
             <el-table-column prop='floorcode' label='楼层' width='100'>
@@ -73,7 +73,7 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import EqDetail from './eqDetaileDialog'
 import { queryEquipmentList } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
@@ -82,16 +82,10 @@ export default {
     components: { Select, EqDetail },
     data() {
         return {
-            dataSelect2: [
-                { id: 'test1', name: '选择项' },
-                { id: 'test2', name: '单平米' },
-                { id: 'test3', name: '下级分项' },
-                { id: 'test4', name: '滑动平均滑动平均' }
-            ],
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10,
+            size: 11,
             innerVisible: false, //详情弹框
             keyword: '',
             manufacturer: '',
@@ -125,11 +119,9 @@ export default {
                 major: this.major
             }
             //下拉
-            if (this.floor) {
-                console.log(this.floor)
+            if (this.floor) {             
                 postParams.gname = this.floor
             }
-            console.log(this.floor)
             //输入框搜索
             data.keyword = ''
             if (this.keyword) {
@@ -144,7 +136,6 @@ export default {
             if (data.keyword == '') {
                 delete data.keyword
             }
-
             queryEquipmentList({ data, postParams }).then(res => {
                 //console.log(res)
                 this.tableData = res.data.data
@@ -158,6 +149,10 @@ export default {
             if (newV !== oldV) {
                 this.getList()
             }
+        },
+        floor(newV, oldV) {
+            console.log(newV, oldV)
+            this.getList()
         }
     },
     mounted() {

+ 10 - 7
src/views/equipment/table/otherTable.vue

@@ -26,7 +26,6 @@
                     end-placeholder
                 ></el-date-picker>
             </div>
-
             <Select
                 width='180'
                 tipPlace='top'
@@ -38,7 +37,7 @@
             ></Select>
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%'>
-            <el-table-column type='index' label='序号' width='80'></el-table-column>
+            <el-table-column type='index' label='序号' width='60'></el-table-column>
             <el-table-column prop='lb' label='其他事项详情' show-overflow-tooltip resizable>
                 <el-table-column prop='zlwfwe' label='记录事项' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.jlsx || '--'}}</template>
@@ -49,23 +48,23 @@
                 <el-table-column prop='content' label='内容' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.content || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='sl' label='数量'>
+                <el-table-column prop='sl' label='数量' width='80'>
                     <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
                 </el-table-column>
             </el-table-column>
-            <el-table-column prop='zfje' label='金额(万元)'>
+            <el-table-column prop='zfje' label='金额(万元)' width='80'>
                 <template slot-scope='{row}'>{{number_format(row.zfje,2) || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='handledate' label='处理日期'>
+            <el-table-column prop='handledate' label='处理日期' width='130'>
                 <template slot-scope='{row}'>{{row.handledate?formatter(row.handledate): '--'}}</template>
             </el-table-column>
-            <el-table-column prop='handleresults' label='处置结果' show-overflow-tooltip resizable>
+            <el-table-column prop='handleresults' label='处置结果' show-overflow-tooltip resizable width='100'>
                 <template slot-scope='{row}'>{{row.handleresults || '--'}}</template>
             </el-table-column>
             <el-table-column prop='zlwfwz ' label='资料存放位置' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.zlwfwz || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='recordtime' label='记录日期'>
+            <el-table-column prop='recordtime' label='记录日期' width='140'>
                 <template slot-scope='{row}'>{{row.createdate?formatter(row.createdate): '--'}}</template>
             </el-table-column>
         </el-table>
@@ -87,6 +86,7 @@ import { queryQtsx } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
 import { formatter, number_format } from '@/utils/format.js'
 import { querySelect } from '@/api/public.js'
+import { Select } from 'meri-design'
 export default {
     data() {
         return {
@@ -201,6 +201,9 @@ export default {
                 this.tabFind()
                 this.getList()
             }
+        },
+        handleresults(){
+            this.getList()
         }
     },
     mounted() {

+ 1 - 1
src/views/equipment/table/recordDialog.vue

@@ -4,7 +4,7 @@
         <el-dialog :title='`${major}${tabName}记录事项`' width='70%' :visible.sync='visible' style='height:900px;overflow-y:scroll;'>
             <div class='bottom-table' style='height:520px'>
                 <el-table :data='tableData' height='500' :border='true' style='width: 100%;margin-bottom:12px;' :span-method='objectSpanMethod'>
-                    <el-table-column label='位置' prop width='140' show-overflow-tooltip resizable>
+                    <el-table-column label='位置' prop width='120' show-overflow-tooltip resizable>
                         <template slot-scope='{row}'>{{row.smswz || '--'}}</template>
                     </el-table-column>
                     <el-table-column prop='system' label='设备' width='200' show-overflow-tooltip resizable>

+ 22 - 9
src/views/equipment/table/standTable.vue

@@ -20,7 +20,16 @@
                 v-model='keyword'
                 style='width:192px;margin-right:12px'
             ></el-input>
-            <Select @change='getList' v-model='floor' style='margin-right:12px;' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
+            <Select
+                @change='getList'
+                @cancel='getList'
+                v-model='floor'
+                style='margin-right:12px;'
+                width='120'
+                tipPlace='top'
+                caption='楼层 :'
+                :selectdata='floorSelect'
+            ></Select>
             <el-input
                 clearable
                 placeholder='搜索生产厂商'
@@ -32,18 +41,18 @@
             ></el-input>
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%' @row-click='rowHandle'>
-            <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop label='设备名称' show-overflow-tooltip resizable>
+            <el-table-column type='index' label='序号' width='60'></el-table-column>
+            <el-table-column prop label='设备名称' show-overflow-tooltip resizable width='300'>
                 <template slot-scope='{row}'>{{row.type_name || '--'}}</template>
             </el-table-column>
             <!-- sbjc -->
             <el-table-column prop='sl' label='数量' width='100'>
                 <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
             </el-table-column>
-            <el-table-column prop='brand' label='品牌'>
+            <el-table-column prop='brand' label='品牌' width='200'>
                 <template slot-scope='{row}'>{{row.brand || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable>
+            <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable width='150'>
                 <template slot-scope='{row}'>{{row.sbxh || '--'}}</template>
             </el-table-column>
             <el-table-column prop='floor' label='楼层' width='100'>
@@ -73,9 +82,9 @@
 <script>
 import { queryEquipmentList } from '@/api/equipmentList.js'
 import EqDetail from './eqDetaileDialog'
-import Select from '@/components/Select/Select.vue'
-import { mapGetters } from 'vuex'
 
+import { mapGetters } from 'vuex'
+import { Select } from 'meri-design'
 export default {
     data() {
         return {
@@ -84,7 +93,7 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 11,
+            size: 13,
             keyword: '',
             floor: '',
             row: {},
@@ -132,7 +141,7 @@ export default {
             }
             //下拉
             if (this.floor) {
-                data.gname = this.floor
+                postParams.gname = this.floor
             }
             //输入框搜索
             data.keyword = ''
@@ -159,6 +168,10 @@ export default {
             if (newV !== oldV) {
                 this.getList()
             }
+        },
+        floor(newV, oldV) {
+            console.log(newV, oldV)
+            this.getList()
         }
     },
     mounted() {

+ 5 - 5
src/views/equipment/table/tjTable.vue

@@ -13,12 +13,12 @@
             ></el-input>
             <el-input clearable placeholder='搜索品牌' size='small' @blur='getList' prefix-icon='el-icon-search' v-model='brand' style='width:192px'></el-input>
         </div>
-        <el-table :data='tableData' style='width: 100%'>
-            <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='category' label='类别' width='160'>
+        <el-table :data='tableData' style='width: 100%' :border='true'>
+            <el-table-column type='index' label='序号' width='60'></el-table-column>
+            <el-table-column prop='category' label='类别'  show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.category || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sl' label='数量' width='100'>
+            <el-table-column prop='sl' label='数量' >
                 <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
             </el-table-column>
             <el-table-column prop='brand' label='品牌'>
@@ -51,7 +51,7 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 11,
+            size: 13,
             lb: '',
             brand: ''
         }

+ 20 - 17
src/views/equipment/table/wbTable.vue

@@ -24,7 +24,7 @@
                 @change='getList'
                 v-model='ischange'
                 style='margin-right:12px'
-                width='190'
+                width='200'
                 tipPlace='top'
                 caption='是否更换配件信息 :'
                 :selectdata='changeOption'
@@ -62,49 +62,49 @@
             </div>
             <input-dialog :type='2' @confirm='confirm'></input-dialog>
         </div>
-        <el-table :data='tableData' style='width: 100%'>
-            <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='sbmc' label='设备名称' show-overflow-tooltip resizable>
+        <el-table :data='tableData' :border='true' style='width: 100%'>
+            <el-table-column type='index' label='序号' width='60'></el-table-column>
+            <el-table-column prop='sbmc' label='设备名称' show-overflow-tooltip resizable min-width='150'>
                 <template slot-scope='{row}'>{{row.sbmc || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='assetnum' label='设备编码' show-overflow-tooltip resizable>
+            <el-table-column prop='assetnum' label='设备编码' show-overflow-tooltip resizable width='80'>
                 <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
             </el-table-column>
             <el-table-column prop='matters' label='重要事项记录' width='130' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.matters || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='description' label='描述' show-overflow-tooltip resizable>
+            <el-table-column prop='description' label='描述' show-overflow-tooltip resizable min-width='150'>
                 <template slot-scope='{row}'>{{row.description || '--'}}</template>
             </el-table-column>
             <el-table-column label='更换配件信息' align='center'>
-                <el-table-column prop='ischangepj' label='是/否更换'>
+                <el-table-column prop='ischangepj' label='是/否更换' width='80'>
                     <template slot-scope='{row}'>{{row.ismodel==1?'是':(row.ismodel==0?"否" :'--')}}</template>
                 </el-table-column>
-                <el-table-column prop='model' label='配件名称型号' width='130' show-overflow-tooltip resizable>
+                <el-table-column prop='model' label='配件名称型号' width='100' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.model || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='sl' label='数量'>
+                <el-table-column prop='sl' label='数量' width='80'>
                     <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
                 </el-table-column>
-                <el-table-column prop='cost' label='费用(万元)'>
+                <el-table-column prop='cost' label='费用(万元)' width='80'>
                     <template slot-scope='{row}'>{{row.cost || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='source' label='费用出处' show-overflow-tooltip resizable>
+                <el-table-column prop='source' label='费用出处' show-overflow-tooltip resizable width='80'>
                     <template slot-scope='{row}'>{{number_format(row.source,2) || '--'}}</template>
                 </el-table-column>
             </el-table-column>
-            <el-table-column prop='brand' label='现场照片'>
+            <el-table-column prop='brand' label='现场照片' width='70'>
                 <template slot-scope='{row}'>
                     <div style='cursor:pointer;color: #0091ff;' @click='clickPic(row.glsmsImage)'>{{row.glsmsImage?row.glsmsImage.length+'张':'--'}}</div>
                 </template>
             </el-table-column>
-            <el-table-column prop='reportdate' label='填报时间' width='140'>
+            <el-table-column prop='reportdate' label='填报时间' width='130'>
                 <template slot-scope='{row}'>{{row.reportdate?formatter(row.reportdate):'--'}}</template>
             </el-table-column>
-            <el-table-column prop='sjjssj' label='验收时间' width='140'>
+            <el-table-column prop='sjjssj' label='验收时间' width='130'>
                 <template slot-scope='{row}'>{{row.sjjssj?formatter(row.sjjssj): '--'}}</template>
             </el-table-column>
-            <el-table-column prop='wonum' label='任务编号' show-overflow-tooltip resizable>
+            <el-table-column prop='wonum' label='任务编号' show-overflow-tooltip resizable width='90'>
                 <template slot-scope='{row}'>{{row.wb_gzglid || '--'}}</template>
             </el-table-column>
         </el-table>
@@ -125,7 +125,7 @@
 <script>
 import { queryWbsms } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import inputDialog from './inputDIalog'
 import { formatter, number_format } from '@/utils/format.js'
 export default {
@@ -135,7 +135,7 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10,
+            size: 11,
             sjjssj: '',
             reportdate: '',
             ischange: '',
@@ -241,6 +241,9 @@ export default {
                 // this.tabFind()
                 this.getList()
             }
+        },
+        ischange() {
+            this.getList()
         }
     },
     mounted() {

+ 18 - 24
src/views/equipment/table/wxTable.vue

@@ -24,7 +24,7 @@
                 @change='getList'
                 style='margin-right:12px;'
                 v-model='ischange'
-                width='180'
+                width='200'
                 tipPlace='top'
                 caption='是否更换配件信息 :'
                 :selectdata='changeOption'
@@ -60,59 +60,50 @@
                     end-placeholder
                 ></el-date-picker>
             </div>
-            <input-dialog :type='3' @confirm='confirm'></input-dialog>
-            <!-- <el-input
-                placeholder='搜索工单编号'
-                size='small'
-                @blur='getList'
-                prefix-icon='el-icon-search'
-                v-model='wonum'
-                style='width:192px;margin-right:12px'
-            ></el-input>-->
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%'>
-            <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='sbmc' label='设备名称' show-overflow-tooltip resizable>
+            <el-table-column type='index' label='序号' width='60'></el-table-column>
+            <el-table-column prop='sbmc' label='设备名称' show-overflow-tooltip resizable min-width='150'>
                 <template slot-scope='{row}'>{{row.sbmc || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='assetnum' label='设备编码' show-overflow-tooltip resizable>
+            <el-table-column prop='assetnum' label='设备编码' show-overflow-tooltip resizable width='80'>
                 <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
             </el-table-column>
             <el-table-column prop='matters' label='重要事项记录' width='130' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.matters || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='description' label='描述' show-overflow-tooltip resizable>
+            <el-table-column prop='description' label='描述' show-overflow-tooltip resizable min-width='150'>
                 <template slot-scope='{row}'>{{row.description || '--'}}</template>
             </el-table-column>
             <el-table-column label='更换配件信息' align='center'>
-                <el-table-column prop='ischangepj' label='是/否更换'>
+                <el-table-column prop='ischangepj' label='是/否更换' width='80'>
                     <template slot-scope='{row}'>{{row.ismodel==1?'是':(row.ismodel==0?"否" :'--')}}</template>
                 </el-table-column>
-                <el-table-column prop='model' label='配件名称型号' width='130' show-overflow-tooltip resizable>
+                <el-table-column prop='model' label='配件名称型号' width='100' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.model || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='sl' label='数量'>
+                <el-table-column prop='sl' label='数量' width='80'>
                     <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
                 </el-table-column>
-                <el-table-column prop='cost' label='费用(万元)'>
+                <el-table-column prop='cost' label='费用(万元)' width='80'>
                     <template slot-scope='{row}'>{{number_format(row.cost,2) || '--'}}</template>
                 </el-table-column>
                 <el-table-column prop='source' label='费用出处' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.source || '--'}}</template>
                 </el-table-column>
             </el-table-column>
-            <el-table-column prop='brand' label='现场照片'>
+            <el-table-column prop='brand' label='现场照片' width='80'>
                 <template slot-scope='{row}'>
                     <div style='cursor:pointer;color: #0091ff;' @click='clickPic(row.glsmsImage)'>{{row.glsmsImage?row.glsmsImage.length+'张':'--'}}</div>
                 </template>
             </el-table-column>
-            <el-table-column prop='reportdate' label='填报时间' width='140'>
+            <el-table-column prop='reportdate' label='填报时间' width='130'>
                 <template slot-scope='{row}'>{{row.reportdate?formatter(row.reportdate): '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sjjssj' label='验收时间' width='140'>
+            <el-table-column prop='sjjssj' label='验收时间' width='130'>
                 <template slot-scope='{row}'>{{row.sjjssj?formatter(row.sjjssj): '--'}}</template>
             </el-table-column>
-            <el-table-column prop='wonum' label='工单编号' show-overflow-tooltip resizable>
+            <el-table-column prop='wonum' label='工单编号' show-overflow-tooltip resizable width='80'>
                 <template slot-scope='{row}'>{{row.wonum || '--'}}</template>
             </el-table-column>
         </el-table>
@@ -134,7 +125,7 @@
 import { queryWx } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
 import inputDialog from './inputDIalog'
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import { formatter, number_format } from '@/utils/format.js'
 export default {
     components: { Select, inputDialog },
@@ -143,7 +134,7 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10,
+            size: 11,
             reportdate: '',
             sjjssj: '',
             ischange: '',
@@ -248,6 +239,9 @@ export default {
                 // this.tabFind()
                 this.getList()
             }
+        },
+        ischange() {
+            this.getList()
         }
     },
     mounted() {

+ 21 - 12
src/views/equipment/table/zwTable.vue

@@ -61,26 +61,26 @@
             <input-dialog v-if='statusOption.length>0' :statusOption='statusOption' :type='4' @confirm='confirm'></input-dialog>
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%'>
-            <el-table-column type='index' label='序号'></el-table-column>
-            <el-table-column prop='nd' label='年度' show-overflow-tooltip resizable>
+            <el-table-column type='index' label='序号' width='60'></el-table-column>
+            <el-table-column prop='nd' label='年度' show-overflow-tooltip resizable width='80'>
                 <template slot-scope='{row}'>{{row.nd || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='qs' label='期数' show-overflow-tooltip resizable>
+            <el-table-column prop='qs' label='期数' show-overflow-tooltip resizable width='80'>
                 <template slot-scope='{row}'>{{row.qs || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='lb' label='类别' show-overflow-tooltip resizable>
+            <el-table-column prop='lb' label='类别' show-overflow-tooltip resizable min-width="150">
                 <template slot-scope='{row}'>{{row.lb || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='xm' label='项目' show-overflow-tooltip resizable>
+            <el-table-column prop='xm' label='项目' show-overflow-tooltip resizable min-width="150">
                 <template slot-scope='{row}'>{{row.xm || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sl' label='数量' show-overflow-tooltip resizable>
+            <el-table-column prop='sl' label='数量' show-overflow-tooltip resizable width='80'>
                 <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
             </el-table-column>
-            <el-table-column prop='ssfasm' label='实施方案说明' show-overflow-tooltip resizable>
+            <el-table-column prop='ssfasm' label='实施方案说明' show-overflow-tooltip resizable min-width="150">
                 <template slot-scope='{row}'>{{row.ssfasm || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sxjd' label='当前阶段' show-overflow-tooltip resizable>
+            <el-table-column prop='sxjd' label='当前阶段' show-overflow-tooltip resizable width='80'>
                 <template slot-scope='{row}'>{{row.sxjd || '--'}}</template>
             </el-table-column>
             <el-table-column prop='lxsjwcsj' label='立项日期' show-overflow-tooltip resizable width='140'>
@@ -89,13 +89,13 @@
             <el-table-column prop='yssjwcsj' label='验收日期' show-overflow-tooltip resizable width='140'>
                 <template slot-scope='{row}'>{{row.yssjwcsj?formatter(row.yssjwcsj):'--'}}</template>
             </el-table-column>
-            <el-table-column prop='status' label='验收结果' show-overflow-tooltip resizable>
+            <el-table-column prop='status' label='验收结果' show-overflow-tooltip resizable width='90'>
                 <template slot-scope='{row}'>{{row.status || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='zfje' label='结算金额' show-overflow-tooltip resizable>
+            <el-table-column prop='zfje' label='结算金额' show-overflow-tooltip resizable width='80'>
                 <template slot-scope='{row}'>{{number_format(row.zfje,2)|| '--'}}</template>
             </el-table-column>
-            <el-table-column prop='xlcfwz' label='资料存放位置' show-overflow-tooltip resizable>
+            <el-table-column prop='xlcfwz' label='资料存放位置' show-overflow-tooltip resizable width="100">
                 <template slot-scope='{row}'>{{row.xlcfwz || '--'}}</template>
             </el-table-column>
         </el-table>
@@ -129,7 +129,7 @@ export default {
             yssjwcsj: '',
             lxsjwcsj: '',
             ssfasm: '',
-            size: 10,
+            size: 11,
             keyword: '',
             nd: '',
             lb: '',
@@ -289,6 +289,15 @@ export default {
                 this.tabFind()
                 this.getList()
             }
+        },
+        sxjd(){
+            this.getList()
+        },
+        xm(){
+            this.getList()
+        },
+        lb(){
+            this.getList()
         }
     },
     mounted() {

+ 1 - 1
src/views/floorFunc/index.vue

@@ -5,7 +5,7 @@
         </div>
         <!-- 图例 -->
         <div class='legend-boxs'>
-            <Legend :floors='floorsArr' type='1'></Legend>
+            <Legend :floors='floorsArr' type='1' :editTips='`编辑${floorInfo.code}层楼层功能平面图`'></Legend>
         </div>
         <floor-list v-if='floorsArr.length>0' :floorsArr='floorsArr' :type='1' @emitFloor='emitFloor' :id='"floor"'></floor-list>
         <!-- <div class='additional-box'>

+ 29 - 28
src/views/legendLibrary/addForm.vue

@@ -101,6 +101,9 @@
                         :data='deviceList'
                         @change='treeConfirmDevice'
                         :hideClear='true'
+                        :lastStage='true'
+                        :selectedIds='InfosList'
+                        :notNull='true'
                     />
                 </span>
                 <TreeSelect
@@ -114,7 +117,8 @@
                     @change='treeConfirm'
                     @focusChange='focusChange'
                     :hideClear='true'
-                    :selectedIds='selectedIds'
+                    :selectedIds='InfoTypeIdList'
+                    :lastStage='true'
                 />
             </div>
         </div>
@@ -195,10 +199,14 @@ export default {
 
             // majorList: [], //专业
             deviceList: [],
-            key: 1
+            key: 1,
+            InfoLocals: undefined, //工程信息化
+            // InfoSystems: undefined, //工程信息化专业/系统
+            InfoTypeIds: undefined //铺位可视化typeid
         }
     },
-    props: ['ruleForm', 'title'],
+    props: ['ruleForm', 'title', 'InfosList', 'InfoTypeIdList'],
+
     methods: {
         //业下设备分类和位置分类树形结构
         initQueryDeviceAndPOsition() {
@@ -208,7 +216,7 @@ export default {
             })
         },
         handleRemove(file, fileList) {
-            console.log(file, fileList, 'file')
+            // console.log(file, fileList, 'file')
             this.ruleForm.Url = ''
         },
         getFile(file) {
@@ -259,6 +267,7 @@ export default {
             let postParams = {
                 Content: [this.ruleForm]
             }
+
             updateLegend({ postParams }).then(res => {
                 if (res.Result == 'success') {
                     this.$message.success('图例修改成功!')
@@ -294,17 +303,6 @@ export default {
         },
         //rgba转成16进制
         hexify(color) {
-            console.log(color, 'color')
-            // var values = color
-            //     .replace(/rgba?\(/, '')
-            //     .replace(/\)/, '')
-            //     .replace(/[\s+]/g, '')
-            //     .split(',')
-            // var a = parseFloat(values[3] || 1),
-            //     r = Math.floor(a * parseInt(values[0]) + (1 - a) * 255),
-            //     g = Math.floor(a * parseInt(values[1]) + (1 - a) * 255),
-            //     b = Math.floor(a * parseInt(values[2]) + (1 - a) * 255),
-            //     opacity = ''
             var opacity = ''
             var rgb = color.split(',')
             var r = parseInt(rgb[0].split('(')[1])
@@ -376,10 +374,7 @@ export default {
                     break
             }
             var hex = '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1) + opacity
-            console.log(hex, 'hrc')
             return hex
-
-            // return '#' + ('0' + r.toString(16)).slice(-2) + ('0' + g.toString(16)).slice(-2) + ('0' + b.toString(16)).slice(-2) + opacity
         },
         // 背景颜色改变
         changBgColor(val) {
@@ -462,20 +457,26 @@ export default {
 
         //位置/设备
         treeConfirmDevice(id, info) {
+            console.log(id)
             // this.$set(this.ruleForm, 'InfoLocal', data)
             let InfoSystem = []
             let InfoLocal = []
-            for (let i = 0; i < info.length; i++) {
-                let type = info[i]
-                if (type.name.includes('/')) {
-                    InfoLocal.push(type)
-                    //位置/设备
-                    this.$set(this.ruleForm, 'InfoLocal', InfoLocal)
-                } else {
-                    InfoSystem.push(type)
-                    //专业
-                    this.$set(this.ruleForm, 'InfoSystem', InfoSystem)
+            if (info && info.length > 0) {
+                for (let i = 0; i < info.length; i++) {
+                    let type = info[i]
+                    if (type.name.includes('/')) {
+                        InfoLocal.push(type)
+                        //位置/设备
+                        this.$set(this.ruleForm, 'InfoLocal', InfoLocal)
+                    } else {
+                        InfoSystem.push(type)
+                        //专业
+                        this.$set(this.ruleForm, 'InfoSystem', InfoSystem)
+                    }
                 }
+            } else {
+                this.$set(this.ruleForm, 'InfoLocal', [])
+                this.$set(this.ruleForm, 'InfoSystem', [])
             }
         },
         focusChange(status) {

+ 24 - 1
src/views/legendLibrary/addLegend.vue

@@ -2,7 +2,15 @@
     <div class='add-legend'>
         <el-dialog :title='title' :visible.sync='dialogVisible'>
             <!-- <add-list v-show='title=="" && GraphCategoryId' ref='searchList' :GraphCategoryId='GraphCategoryId' @mesg='mesg'></add-list> -->
-            <add-form ref='add' :ruleForm='info' @addSuccess='addSuccess' @updateSuccess='updateSuccess' :title='title'></add-form>
+            <add-form
+                ref='add'
+                :InfosList='InfosList'
+                :InfoTypeIdList='InfoTypeIdList'
+                :ruleForm='info'
+                @addSuccess='addSuccess'
+                @updateSuccess='updateSuccess'
+                :title='title'
+            ></add-form>
             <span slot='footer' class='dialog-footer'>
                 <el-button @click='dialogVisible = false,cancal()' size='small'>取 消</el-button>
                 <el-button type='primary' @click='save' size='small'>确 定</el-button>
@@ -33,6 +41,9 @@ export default {
     data() {
         return {
             dialogVisible: false,
+            InfoTypeIdList: [],
+            InfosList: [],
+
             info: {
                 Name: '',
                 Type: 'None',
@@ -78,6 +89,8 @@ export default {
                 }
             } else if (title == '添加图例库') {
                 this.dialogVisible = true
+                this.InfoTypeIdList = []
+                this.InfosList = []
                 this.info = {
                     Name: '',
                     Type: 'None',
@@ -92,6 +105,13 @@ export default {
             } else if (title == '修改图例库') {
                 this.dialogVisible = true
                 this.info = row
+                this.InfosList = []
+                this.InfoTypeIdList = []
+
+                // this.InfosList = [...row.InfoLocal.map(({ id }) => id), ...row.InfoSystem]
+                this.InfosList = [...row.InfoLocal.map(({ id }) => id)]
+                this.InfoTypeIdList = row.InfoTypeId
+                console.log(this.InfosList, this.InfoTypeIdList)
                 console.log(this.info)
                 // 图例库规则中的transform
             } else if (title == '' && this.$refs.searchList) {
@@ -117,6 +137,9 @@ export default {
                 InfoLocal: [], //工程信息化位置与设备分类
                 InfoSystem: [] //工程信息化专业/系统
             }
+            this.InfoTypeIdList = []
+            this.InfosList = []
+
             this.$refs.add.fileList = []
         },
         mesg() {

+ 12 - 12
src/views/legendLibrary/index.vue

@@ -1,17 +1,15 @@
 <template>
     <div class='legend-library'>
-        <div class='nav'>
+        <!-- <div class='nav'>
             <img class='img-menu' src='@/assets/imgs/menu.png' alt />
             <el-divider direction='vertical'></el-divider>
             <img class='img-logo' src='@/assets/imgs/logo_tu.png' alt />
             <span class='nav-span1'>万达管理说明书</span>
             <span class='circular'></span>
-            <!-- <span style='color:#1F2329'>图例库管理</span>
-            <i class='el-icon-caret-bottom'></i>-->
             <Dropdown v-model='selVal' :data='dataSelect'>
                 <span style=' font-size: 14px;color: #1f2329 ;'>{{selText}}</span>
             </Dropdown>
-        </div>
+        </div>-->
         <div class='legend-library-top'>
             图例库管理
             <span class='library-btn'>
@@ -40,6 +38,7 @@
                     :returnParentNode='false'
                     :isShowAllChoice='true'
                     :choseArea='true'
+                    :lastStage='true'
                     :data='positionSelect'
                     @change='treeConfirmPosition'
                     :hideClear='true'
@@ -54,6 +53,7 @@
                         :returnParentNode='true'
                         :choseArea='true'
                         :data='deviceList'
+                        :lastStage='true'
                         :hideClear='true'
                         @change='treeConfirmDevice'
                     />
@@ -81,6 +81,7 @@
                     :choseArea='true'
                     :data='typeVisualization'
                     @change='treeConfirm'
+                    :lastStage='true'
                     @focusChange='focusChange'
                     :hideClear='true'
                 />
@@ -98,35 +99,35 @@
                 <el-input size='small' @change='getTableList' prefix-icon='el-icon-search' v-model='keyword' style='width:192px;margin-right:12px;'></el-input>
             </div>
             <el-table :data='tableData' :key='key' :border='true' style='width: 100%'>
-                <el-table-column prop='Name' label='图例名称'>
+                <el-table-column prop='Name' label='图例名称' width='120'>
                     <template slot-scope='{row}'>{{row.Name }}</template>
                 </el-table-column>
-                <el-table-column prop='style' label='图例样式'>
+                <el-table-column prop='style' label='图例样式' width='150'>
                     <template slot-scope='{row}'>
                         <img class='img' :src='`/serve/topology-wanda/Picture/query/${row.Url}`' alt />
                     </template>
                 </el-table-column>
-                <el-table-column prop='Unit' label='单位'>
+                <el-table-column prop='Unit' label='单位' width='120'>
                     <template slot-scope='{row}'>{{row.Unit}}</template>
                 </el-table-column>
-                <el-table-column prop='position' label='对应广场说明书的位置'>
+                <el-table-column prop='position' label='对应广场说明书的位置' show-overflow-tooltip>
                     <template slot-scope='{row}'>
                         <span v-for='item in row.GraphCategorys ' :key='item.Name'>{{item.Name}}</span>
                     </template>
                 </el-table-column>
                 <el-table-column label='对应工程信息化' align='center'>
-                    <el-table-column prop='type' label='位置/设备分类' width='240' :show-overflow-tooltip='true'>
+                    <el-table-column prop='type' label='位置/设备分类' show-overflow-tooltip>
                         <template slot-scope='{row}'>
                             <span v-for='item in row.InfoLocal ' :key='item.name'>{{item.name}}</span>
                         </template>
                     </el-table-column>
-                    <el-table-column prop='system' label='专业' :show-overflow-tooltip='true'>
+                    <el-table-column prop='system' label='专业' show-overflow-tooltip width='120'>
                         <template slot-scope='{row}'>
                             <span v-for='(item,index) in row.InfoSystems ' :key='index'>{{item.Name}}</span>
                         </template>
                     </el-table-column>
                 </el-table-column>
-                <el-table-column prop='typeId' resizable label='铺位可视化typeid' width='140' :show-overflow-tooltip='true'>
+                <el-table-column prop='typeId' resizable label='铺位可视化typeid' width='140' show-overflow-tooltip>
                     <template slot-scope='{row}'>
                         <span v-for='(item,index) in row.InfoTypes ' :key='index'>{{item.Name}}</span>
                     </template>
@@ -444,7 +445,6 @@ export default {
                 this.key++
                 // this.tableData = res.Content
                 this.total = res.Total
-                console.log(res.Content)
                 this.tableData = res.Content.map(i => {
                     if (i.FillColor.length == '9') {
                         i.FillColor = hexToRgba(i.FillColor)

+ 15 - 5
src/views/legendRules/index.vue

@@ -1,20 +1,27 @@
 <template>
     <!-- 图例库首页 -->
     <div class='legend-rules'>
-        <div class='nav'>
+        <!-- <div class='nav'>
             <img class='img-menu' src='@/assets/imgs/menu.png' alt />
             <el-divider direction='vertical'></el-divider>
             <img class='img-logo' src='@/assets/imgs/logo_tu.png' alt />
             <span style='color:#1F2329'>万达管理说明书</span>
             <span class='circular'></span>
-            <!-- <span style='color:#1F2329'>图例绘制规则</span>
-            <i class='el-icon-caret-bottom'></i>-->
             <Dropdown v-model='selVal' :data='dataSelect'>
                 <span style=' font-size: 14px;color: #1f2329 ;'>{{selText}}</span>
             </Dropdown>
-        </div>
+        </div>-->
         <div class='legend-rules-top'>
-            图例绘制规则
+            <span
+                class='el-icon-arrow-left'
+                @click='goBack'
+                style='float: left;
+                        cursor: pointer;
+                        font-size: 25px;
+                        display: inline-block;
+                        margin-top: 10px;
+                        padding-left: 20px;'
+            ></span>图例绘制规则
             <el-button type='primary' class='rules-button' size='small' @click='add'>添加图例</el-button>
         </div>
         <div class='legend-rules-bottom'>
@@ -135,6 +142,9 @@ export default {
         }
     },
     methods: {
+        goBack() {
+            this.$router.push({ path: 'legendLibrary' })
+        },
         buttonClickHandle(obj) {
             let index = Number(obj.item.index.split('-')[1])
             let _this = this

+ 2 - 2
src/views/other/gcfz1.vue

@@ -9,8 +9,8 @@
         show-summary
         border
     >
-        <el-table-column label='序号' type='index'></el-table-column>
-        <el-table-column prop label='楼层' :show-overflow-tooltip='true' resizable>
+        <el-table-column label='序号' type='index' width="60"></el-table-column>
+        <el-table-column prop label='楼层' :show-overflow-tooltip='true' resizable >
             <template slot-scope='{row}'>{{row.floor||'--'}}</template>
         </el-table-column>
         <el-table-column prop='beforekf' label='总间数'>

+ 3 - 3
src/views/other/zhsxOtherTable1.vue

@@ -37,7 +37,7 @@
             :data='zhjlTable'
             style='width: 100%;margin-top:12px'
         >
-            <el-table-column label='序号' type='index' width='50'></el-table-column>
+            <el-table-column label='序号' type='index' width='60'></el-table-column>
             <el-table-column prop sortable label='日期' width='90' resizable>
                 <template slot-scope='{row}'>{{formatter(row.createdate)||'--'}}</template>
             </el-table-column>
@@ -47,10 +47,10 @@
             <el-table-column prop label='记录事项' :show-overflow-tooltip='true'>
                 <template slot-scope='{row}'>{{row.recordsx||'--'}}</template>
             </el-table-column>
-            <el-table-column prop label='工作要求'>
+            <el-table-column prop label='工作要求' width="160">
                 <template slot-scope='{row}'>{{row.workyq||'--'}}</template>
             </el-table-column>
-            <el-table-column prop label='整改要求'>
+            <el-table-column prop label='整改要求' width="160">
                 <template slot-scope='{row}'>{{row.zgyq||'--'}}</template>
             </el-table-column>
             <el-table-column prop label='附件' width='80'>

+ 1 - 1
src/views/other/zhsxOtherTable2.vue

@@ -55,7 +55,7 @@
             :data='dsfTable'
             style='width: 100%;margin-top:12px'
         >
-            <el-table-column label='序号' type='index' width='50'></el-table-column>
+            <el-table-column label='序号' type='index' width='60'></el-table-column>
             <el-table-column prop :show-overflow-tooltip='true' sortable label='任务名称'>
                 <template slot-scope='{row}'>{{row.description||'--'}}</template>
             </el-table-column>

+ 5 - 5
src/views/room/room3.vue

@@ -9,20 +9,20 @@
                 style='width: 100%'
                 :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
             >
-                <el-table-column type='index' label='序号' width='50'></el-table-column>
+                <el-table-column type='index' label='序号' width='60'></el-table-column>
                 <el-table-column prop :show-overflow-tooltip='true' label='设备简称' resizable min-width='150'>
                     <template slot-scope='{row}'>{{row.classqc||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='数量' :show-overflow-tooltip='true' width='70'>
+                <el-table-column prop label='数量' :show-overflow-tooltip='true' width='80'>
                     <template slot-scope='{row}'>{{row.sl||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='品牌' :show-overflow-tooltip='true'>
+                <el-table-column prop label='品牌' :show-overflow-tooltip='true' width="120">
                     <template slot-scope='{row}'>{{row.brand||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='型号' :show-overflow-tooltip='true'>
+                <el-table-column prop label='型号' :show-overflow-tooltip='true' width="150">
                     <template slot-scope='{row}'>{{row.sbxh||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='楼层' :show-overflow-tooltip='true' width='70'>
+                <el-table-column prop label='楼层' :show-overflow-tooltip='true' width='100'>
                     <template slot-scope='{row}'>{{row.floorcode||'--'}}</template>
                 </el-table-column>
                 <el-table-column prop :show-overflow-tooltip='true' label='生产厂商' min-width='150'>

+ 10 - 10
src/views/room/room4.vue

@@ -8,41 +8,41 @@
                 style='width: 100%'
                 :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
             >
-                <el-table-column type='index' label='序号' width='50'></el-table-column>
+                <el-table-column type='index' label='序号' width='60'></el-table-column>
                 <el-table-column prop label='设备名称' show-overflow-tooltip resizable min-width='150'>
                     <template slot-scope='{row}'>{{row.sbmc||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='设备编号' show-overflow-tooltip resizable>
+                <el-table-column prop label='设备编号' show-overflow-tooltip resizable width="80"> 
                     <template slot-scope='{row}'>{{row.location||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='重要事项记录' width='130' show-overflow-tooltip resizable>
+                <el-table-column prop label='重要事项记录'  show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.matters||'--'}}</template>
                 </el-table-column>
                 <el-table-column prop label='描述' show-overflow-tooltip resizable min-width='150'>
                     <template slot-scope='{row}'>{{row.description||'--'}}</template>
                 </el-table-column>
                 <el-table-column prop label='更换配件信息' align='center' show-overflow-tooltip resizable>
-                    <el-table-column prop label='是/否更换' show-overflow-tooltip resizable>
+                    <el-table-column prop label='是/否更换' show-overflow-tooltip resizable width="80">
                         <template slot-scope='{row}'>
                             <div v-if='row.ismodel==0'>否</div>
                             <div v-else-if='row.ismodel==1'>是</div>
                             <div v-else>'--'</div>
                         </template>
                     </el-table-column>
-                    <el-table-column prop label='配件名称型号' width='130' min-width='110' show-overflow-tooltip resizable>
+                    <el-table-column prop label='配件名称型号'  min-width='100' show-overflow-tooltip resizable>
                         <template slot-scope='{row}'>{{row.model||'--'}}</template>
                     </el-table-column>
-                    <el-table-column prop label='数量' show-overflow-tooltip resizable>
+                    <el-table-column prop label='数量' show-overflow-tooltip resizable width="80">
                         <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
                     </el-table-column>
-                    <el-table-column prop label='费用(万元)' min-width='100' show-overflow-tooltip resizable>
+                    <el-table-column prop label='费用(万元)' min-width='80' show-overflow-tooltip resizable>
                         <template slot-scope='{row}'>{{row.cost?number_format(row.cost):'--'}}</template>
                     </el-table-column>
-                    <el-table-column prop label='费用出处' show-overflow-tooltip resizable>
+                    <el-table-column prop label='费用出处' show-overflow-tooltip resizable width="80">
                         <template slot-scope='{row}'>{{row.source||'--'}}</template>
                     </el-table-column>
                 </el-table-column>
-                <el-table-column prop label='现场照片' show-overflow-tooltip resizable>
+                <el-table-column prop label='现场照片' show-overflow-tooltip resizable width="80">
                     <template slot-scope='{row}'>{{row.pics || '--'}}</template>
                 </el-table-column>
                 <el-table-column prop label='填报时间' show-overflow-tooltip resizable width='130'>
@@ -51,7 +51,7 @@
                 <el-table-column prop label='验收时间' show-overflow-tooltip width='130' resizable>
                     <template slot-scope='{row}'>{{row.sjjssj?formatter(row.sjjssj):'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='工单编号' show-overflow-tooltip resizable>
+                <el-table-column prop label='工单编号' show-overflow-tooltip resizable width="80">
                     <template slot-scope='{row}'>{{row.wonum||'--'}}</template>
                 </el-table-column>
             </el-table>

+ 3 - 3
src/views/room/room5.vue

@@ -8,17 +8,17 @@
                 style='width: 100%'
                 :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
             >
-                <el-table-column type='index' label='序号' width='50'></el-table-column>
+                <el-table-column type='index' label='序号' width='60'></el-table-column>
                 <el-table-column prop label='设备名称' show-overflow-tooltip resizable min-width='150'>
                     <template slot-scope='{row}'>{{row.sbmc||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='设备编号' :show-overflow-tooltip='true'>
+                <el-table-column prop label='设备编号' :show-overflow-tooltip='true' width="80">
                     <template slot-scope='{row}'>{{row.assetnum||'--'}}</template>
                 </el-table-column>
                 <el-table-column prop label='核心维保事项记录' :show-overflow-tooltip='true' min-width='150'>
                     <template slot-scope='{row}'>{{row.matters||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='现场照片' :show-overflow-tooltip='true'>
+                <el-table-column prop label='现场照片' :show-overflow-tooltip='true' width="80">
                     <template slot-scope='{row}'>
                         <div
                             style='cursor:pointer;color: #0091ff;'