guoxiaohuan před 4 roky
rodič
revize
9a122ec3c7

+ 32 - 8
src/components/Legend/src/legend.vue

@@ -10,7 +10,18 @@
             <div v-show='show' class='legend2' @click='showTl' v-if='(type==1 || floors.length>0)&& isMessage'>图例</div>
             <el-collapse-transition v-if='(type==1 || floors.length>0)&& isMessage'>
                 <div class='legend-tab' v-if='show'>
-                    <div class='legend-table'>
+                    <div class='legend-table2' v-if='systemName=="土建系统"'>
+                        <lengend-view
+                            v-if='viewTable.length>=0'
+                            :loading='loading'
+                            :viewTable='viewTable'
+                            @changeSwitch='handleSwich'
+                            :remarksText='remarksText'
+                            ref='viewLengend'
+                            :systemName='systemName'
+                        ></lengend-view>
+                    </div>
+                    <div class='legend-table' v-else>
                         <lengend-view
                             v-if='viewTable.length>=0'
                             :loading='loading'
@@ -202,6 +213,7 @@ export default {
         // 点击展示图例框
         showTl() {
             this.show = !this.show
+            this.queryView(false)
             if (this.show) {
                 this.show2 = false
             }
@@ -337,15 +349,13 @@ export default {
             this.goToEditer()
         }
     },
-    mounted() {
-        this.queryView(false)
-    }
+    mounted() {}
 }
 </script>
 <style lang="less" scoped>
 .legend-container {
     position: relative;
-    top: -13px;
+    top: -15px;
     .legend {
         text-align: center;
         line-height: 44px;
@@ -359,14 +369,11 @@ export default {
         border-radius: 2px;
         cursor: pointer;
         line-height: 44px;
-        text-align: center;
     }
     .legend2 {
         text-align: center;
         line-height: 44px;
         cursor: pointer;
-        line-height: 44px;
-        text-align: center;
         width: 44px;
         height: 44px;
         background: linear-gradient(180deg, rgba(54, 156, 247, 1) 0%, rgba(2, 91, 170, 1) 100%);
@@ -397,6 +404,23 @@ export default {
                 display: none;
             }
         }
+        .legend-table2 {
+            padding: 16px;
+            height: 356px;
+            width: 385px;
+            // width: 420px;
+            overflow: auto;
+            overflow: hidden;
+            overflow-y: auto;
+            position: relative;
+            background: rgba(255, 255, 255, 1);
+            box-shadow: 0px 2px 8px 0px rgba(31, 36, 41, 0.06);
+            border-radius: 2px;
+            border: 1px solid rgba(228, 229, 231, 1);
+            &::-webkit-scrollbar {
+                display: none;
+            }
+        }
     }
 }
 .edit_map {

+ 23 - 1
src/components/floorMap/index.vue

@@ -17,7 +17,7 @@ import { FloorView } from '@/lib/FloorView'
 import { FloorScene } from '@/lib/FloorScene'
 import RoomBox from '@/views/room/index'
 import canvasFun from '@/components/floorMap/canvasFun'
-import { readGroup } from '@/api/public'
+import { readGroup, queryStatis } from '@/api/public'
 import { STopologyParser } from '@/lib/parsers/STopologyParser'
 import { mapGetters, mapActions } from 'vuex'
 import { SImageItem } from '@saga-web/graph/lib'
@@ -140,8 +140,14 @@ export default {
                     scpzTable = data.Data[0].Elements.Nodes || []
                     this.$store.commit('SETSCPZTABLE', scpzTable)
                 }
+                //
+                //
+
                 // 放到后边 $cookie graphId
                 this.$cookie.set('graphId', data.Data[0].ID, 3)
+                if (this.$cookie.get('graphId')) {
+                    this.queryView()
+                }
                 this.topologyParser = new STopologyParser(null)
                 this.topologyParser.parseData(data.Data[0].Elements)
                 // 多边形
@@ -172,6 +178,22 @@ export default {
                 this.view.fitSceneToView()
             })
         },
+        // 查询图例
+        queryView() {
+            let postParams = {}
+            let data = {
+                graphId: this.$cookie.get('graphId'),
+                projectId: this.plazaId,
+                flag: false
+            }
+            queryStatis({ data, postParams }).then(res => {
+                this.loading = false
+                console.log('图例图例图例图例', res)
+                let viewTable = []
+                viewTable = res.data.Data ? res.data.Data : []
+                this.$store.commit('SETLEGENDTABLE', viewTable)
+            })
+        },
         clearGraphy() {
             if (this.view) {
                 this.view.scene = null

+ 7 - 5
src/components/viewLengend.vue

@@ -5,7 +5,7 @@
 */
 <template>
     <div class='view'>
-        <div v-if='systemName=="土建系统"' style='height:300px'>
+        <div v-if='systemName=="土建系统"'>
             <el-table
                 ref='dataTable'
                 :data='scpzTable'
@@ -27,9 +27,9 @@
         </div>
         <div v-else>
             <el-table
-                v-loading='loading'
                 ref='dataTable'
-                :data='viewTable'
+                v-if='legendTable.length>=0||viewTable.length>=0'
+                :data='legendTable ||viewTable'
                 tooltip-effect='dark'
                 style='width:100%;'
                 @selection-change='handleSelectionChange'
@@ -97,9 +97,11 @@ export default {
         }
     },
     computed: {
-        ...mapGetters(['scpzTable'])
+        ...mapGetters(['scpzTable', 'legendTable'])
     },
-    mounted() {}
+    mounted() {
+        console.log(this.legendTable)
+    }
 }
 </script>
 <style lang="less" scoped>

+ 10 - 8
src/views/equipment/index.vue

@@ -73,7 +73,7 @@ export default {
             dialogInfo: {},
             brand: [], //品牌
             manufacturer: [],
-            show: true,
+            show: false,
             fqPic: [],
             loadName: '',
             type: '',
@@ -86,8 +86,8 @@ export default {
             let data = {
                 plazaId: '1000423'
             }
-            let postParams = []
-            queryBrand({ data, postParams }).then(res => {
+            // let postParams = []
+            queryBrand({ data }).then(res => {
                 console.log(res)
             })
         },
@@ -286,7 +286,7 @@ export default {
                             border-radius: 2px;
                             position: fixed;
                             right: 32px;
-                            top: 471px;
+                            top: 510px;
                             z-index: 2;
                             display: flex;
                             justify-content: center;
@@ -299,7 +299,7 @@ export default {
                         }
                         .add-img {
                             width: 560px;
-                            height: 325px;
+                            height: 360px;
                             background: #ffffff;
                             -webkit-box-shadow: 0px 2px 8px 0px rgba(31, 36, 41, 0.06);
                             box-shadow: 0px 2px 8px 0px rgba(31, 36, 41, 0.06);
@@ -307,11 +307,13 @@ export default {
                             border: 1px solid #e4e5e7;
                             position: absolute;
                             right: 77px;
-                            bottom: 421px;
+                            bottom: 381px;
                             z-index: 2;
                             img {
-                                width: 100%;
-                                height: 100%;
+                                max-width: 100%;
+                                max-height: 100%;
+                                display: block;
+                                margin: 0 auto;
                             }
                         }
                     }

+ 2 - 1
src/views/other/gcfz2.vue

@@ -84,7 +84,8 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+// import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import { mapGetters } from 'vuex'
 import moment from 'moment'
 

+ 2 - 1
src/views/other/gcfzDialog.vue

@@ -21,7 +21,8 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+// import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import gcfzTable1 from './gcfz1'
 import gcfzTable2 from './gcfz2'
 import { querygcfzyfhz, queryfzyfchange } from '@/api/other.js'

+ 2 - 1
src/views/other/zhsxOther.vue

@@ -25,7 +25,8 @@
 </template>
 <script>
 import moment from 'moment'
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
+// import Select from '@/components/Select/Select.vue'
 import ZhsxDialog from './zhsxDialog'
 import zhsxOtherTable1 from './zhsxOtherTable1'
 import zhsxOtherTable2 from './zhsxOtherTable2'

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

@@ -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='工作要求' width="160">
+            <el-table-column prop label='工作要求' width='160'>
                 <template slot-scope='{row}'>{{row.workyq||'--'}}</template>
             </el-table-column>
-            <el-table-column prop label='整改要求' width="160">
+            <el-table-column prop label='整改要求' width='160'>
                 <template slot-scope='{row}'>{{row.zgyq||'--'}}</template>
             </el-table-column>
             <el-table-column prop label='附件' width='80'>
@@ -89,7 +89,8 @@
 </template>
 <script>
 import moment from 'moment'
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
+// import Select from '@/components/Select/Select.vue'
 import { queryGlams } from '@/api/other.js'
 import { querySelect } from '@/api/public.js'
 import pdf from 'vue-pdf'

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

@@ -83,7 +83,8 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+// import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import { queryDsfrw } from '@/api/other.js'
 import { querySelect } from '@/api/public.js'
 

+ 6 - 2
src/views/room/detail.vue

@@ -110,7 +110,7 @@
             style='width:100%;margin-top:12px'
             :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='50' :index='indexMethod'></el-table-column>
             <el-table-column prop='sbjc' label='设备名称' min-width='150' :show-overflow-tooltip='true' resizable>
                 <template slot-scope='{row}'>{{row.sbjc||'--'}}</template>
             </el-table-column>
@@ -159,7 +159,8 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
+// import Select from '@/components/Select/Select.vue'
 import { querySelect } from '@/api/public.js'
 import { mapGetters } from 'vuex'
 import { queryHxsbDetail } from '@/api/room.js'
@@ -215,6 +216,9 @@ export default {
         }
     },
     methods: {
+        indexMethod(index) {
+            return (this.page - 1) * this.size + index + 1
+        },
         show() {
             this.dialogFormVisible = !this.dialogFormVisible
         },

+ 18 - 2
src/views/room/index.vue

@@ -12,7 +12,7 @@
             </el-tooltip>
 
             <div class='compute-tab'>
-                <el-tabs v-model='activeName' @tab-click='handleClick'>
+                <el-tabs v-model='activeName' @tab-click='handleClick' ref='elTabs'>
                     <el-tab-pane label='机房布置图' name='1' v-if='tableImg.length>0'>
                         <room-table1 v-if='tableImg.length>=0' :tableImg='tableImg'></room-table1>
                     </el-tab-pane>
@@ -411,6 +411,7 @@ import roomTable4 from './room4'
 import roomTable5 from './room5'
 import { mapGetters } from 'vuex'
 import { querySelect, queryPic } from '@/api/public.js'
+import { Select } from 'meri-design'
 
 export default {
     data() {
@@ -843,6 +844,7 @@ export default {
         },
         // 机房右上角的跳转 如果是在楼层功能打开的机房则要跳转到设备设施对应的系统\楼层 反之亦然
         jumpFloor() {
+            console.log(this.smsxtArr.smsxt)
             if (this.smsxtArr.smsxt) {
                 if (location.pathname.split('/')[3] == 'equipment') {
                     this.$router.push({ path: '/home/floorFunc' })
@@ -852,7 +854,21 @@ export default {
             }
         }
     },
-    mounted() {}
+    mounted() {
+        this.Index()
+        if (this.tableImg.length == 0) {
+            this.Index1()
+            if (this.table2.length == 0) {
+                this.Index2()
+                if (this.table3.length == 0) {
+                    this.Index3()
+                    if (this.table4.length == 0) {
+                        this.Index4()
+                    }
+                }
+            }
+        }
+    }
 }
 </script>
 <style lang="less" scoped>

+ 2 - 1
src/views/room/room1.vue

@@ -4,7 +4,8 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+// import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 
 export default {
     props: ['tableImg', 'loading'],

+ 6 - 3
src/views/room/room2.vue

@@ -9,7 +9,7 @@
                 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='50' :index='indexMethod'></el-table-column>
                 <el-table-column prop='a' label='抽屉编号' :show-overflow-tooltip='true' resizable>
                     <template slot-scope='{row}'>{{row.drawernum||'--'}}</template>
                 </el-table-column>
@@ -47,7 +47,8 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
+// import Select from '@/components/Select/Select.vue'
 import { mapGetters } from 'vuex'
 export default {
     props: ['table2', 'total', 'page', 'size', 'loading'],
@@ -67,8 +68,10 @@ export default {
     },
     components: { Select },
     methods: {
+        indexMethod(index) {
+            return (this.page - 1) * this.size + index + 1
+        },
         pageChanged(page) {
-            console.log(page)
             this.$emit('Index1Emit', page)
         }
     },

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

@@ -9,17 +9,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='60' :index="indexMethod"></el-table-column>
+                <el-table-column type='index' label='序号' width='60' :index='indexMethod'></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='80'>
                     <template slot-scope='{row}'>{{row.sl||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='品牌' :show-overflow-tooltip='true' width="120">
+                <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' width="150">
+                <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='100'>
@@ -48,7 +48,8 @@
 </template>
 
 <script>
-import Select from '@/components/Select/Select.vue'
+// import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import Detail from './detail'
 
 export default {
@@ -63,7 +64,7 @@ export default {
     components: { Select, Detail },
     methods: {
         indexMethod(index) {
-            return (this.page-1) * this.size + index+1
+            return (this.page - 1) * this.size + index + 1
         },
         modalClose() {
             this.innerVisible = false

+ 16 - 12
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='60'></el-table-column>
-                <el-table-column prop label='设备名称' show-overflow-tooltip resizable min-width='150'>
+                <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
+                <el-table-column prop label='设备名称' show-overflow-tooltip resizable min-width='200'>
                     <template slot-scope='{row}'>{{row.sbmc||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='设备编号' show-overflow-tooltip resizable width="80"> 
+                <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='重要事项记录'  show-overflow-tooltip resizable>
+                <el-table-column prop label='重要事项记录' show-overflow-tooltip resizable min-width='120'>
                     <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 width="80">
+                    <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='配件名称型号'  min-width='100' 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 width="80">
+                    <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='80' show-overflow-tooltip resizable>
+                    <el-table-column prop label='费用(万元)' min-width='110' 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 width="80">
+                    <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 width="80">
+                <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 width="80">
+                <el-table-column prop label='工单编号' show-overflow-tooltip resizable width='80'>
                     <template slot-scope='{row}'>{{row.wonum||'--'}}</template>
                 </el-table-column>
             </el-table>
@@ -70,7 +70,8 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+// import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import moment from 'moment'
 import { number_format } from '@/utils/format.js'
 
@@ -86,6 +87,9 @@ export default {
     },
     components: { Select },
     methods: {
+        indexMethod(index) {
+            return (this.page - 1) * this.size + index + 1
+        },
         formatter(date) {
             return moment.unix(date / 1000).format('YYYY.MM.DD HH:mm')
         },

+ 8 - 4
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='60'></el-table-column>
+                <el-table-column type='index' label='序号' width='60' :index='indexMethod'></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' width="80">
+                <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' width="80">
+                <el-table-column prop label='现场照片' :show-overflow-tooltip='true' width='80'>
                     <template slot-scope='{row}'>
                         <div
                             style='cursor:pointer;color: #0091ff;'
@@ -82,7 +82,8 @@
     </div>
 </template>
 <script>
-import Select from '@/components/Select/Select.vue'
+// import Select from '@/components/Select/Select.vue'
+import { Select } from 'meri-design'
 import moment from 'moment'
 
 export default {
@@ -98,6 +99,9 @@ export default {
     components: { Select },
     mounted() {},
     methods: {
+        indexMethod(index) {
+            return (this.page - 1) * this.size + index + 1
+        },
         pageChanged(page) {
             this.page = page
             this.$emit('Index4Emit', page)