Просмотр исходного кода

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

shaun-sheep 4 лет назад
Родитель
Сommit
60ababfd36

+ 3 - 3
package.json

@@ -12,10 +12,10 @@
     "dependencies": {
         "@mapbox/geojson-merge": "^1.1.1",
         "@saga-web/base": "2.1.25",
-        "@saga-web/big": "1.0.106",
+        "@saga-web/big": "1.0.107",
         "@saga-web/draw": "2.1.106",
-        "@saga-web/feng-map": "1.0.36",
-        "@saga-web/graph": "2.1.122",
+        "@saga-web/feng-map": "1.0.38",
+        "@saga-web/graph": "2.1.123",
         "ant-design-vue": "^1.4.10",
         "axios": "^0.19.2",
         "core-js": "^3.4.4",

+ 1 - 1
public/index.html

@@ -18,7 +18,7 @@
     <link rel="stylesheet" href="<%= BASE_URL %>indexLoading.css" type="text/css">
 
     <!-- 万达置顶条 -->
-    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
+    <!-- <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> -->
     <!-- 生产环境 -->
     <link rel="stylesheet" href="http://sso.wanda.cn/Styles/floatMenu.css" type="text/css">
     <script src="http://sso.wanda.cn/Scripts/common.js" type="text/javascript"></script>

+ 138 - 131
src/components/floorMap/index.vue

@@ -8,76 +8,82 @@
             <canvasFun @fit='fit' @savePng='savePng' @saveSvg='saveSvg' @saveJson='saveJson' @scale='scale' @showText='showText' ref='canvasFun'></canvasFun>
         </div>
         <room-box ref='boxRoom'></room-box>
-        <el-popover ref="popover" placement="right" trigger="manual" v-model="visible" width="380">
+        <el-popover ref='popover' placement='right' trigger='manual' v-model='visible' width='380'>
             <!-- <div style="text-align: right;margin-bottom: 10px;">
                 <span style="float: left;">对应的工程信息化信息</span>
                 <el-link icon="el-icon-close" :underline="false" @click="visible = false"></el-link>
-            </div> -->
+            </div>-->
 
-            <div v-if="equipIds.length && !tabData.pointData.length" style="margin-top: 10px;">
-                <el-table :data="tabData.tableData" max-height="235" style="width: 100%" @row-click='handleClickEquipDetail' v-loading="eqLoading">
-                    <el-table-column prop="sbjc" label="设备简称" width="164" :show-overflow-tooltip='true'></el-table-column>
-                    <el-table-column prop="sl" width="50" label="数量" :show-overflow-tooltip='true'></el-table-column>
-                    <el-table-column prop="sb_status" width="70" label="设备状态" :show-overflow-tooltip='true'></el-table-column>
-                    <el-table-column prop="sbglgs" width="70" label="管理归属" :show-overflow-tooltip='true'></el-table-column>
+            <div v-if='equipIds.length && !tabData.pointData.length' style='margin-top: 10px;'>
+                <el-table :data='tabData.tableData' max-height='235' style='width: 100%' @row-click='handleClickEquipDetail' v-loading='eqLoading'>
+                    <el-table-column prop='sbjc' label='设备简称' width='164' :show-overflow-tooltip='true'></el-table-column>
+                    <el-table-column prop='sl' width='50' label='数量' :show-overflow-tooltip='true'></el-table-column>
+                    <el-table-column prop='sb_status' width='70' label='设备状态' :show-overflow-tooltip='true'></el-table-column>
+                    <el-table-column prop='sbglgs' width='70' label='管理归属' :show-overflow-tooltip='true'></el-table-column>
                     <!-- <el-table-column prop="assetnum" width="80" label="设备内码" :show-overflow-tooltip='true'></el-table-column>
                     <el-table-column label="" width="80" :show-overflow-tooltip='true'>
                         <template slot-scope="scope">
                             <span class="equip-detail-btn">台账详情</span>
                         </template>
-                    </el-table-column> -->
+                    </el-table-column>-->
                 </el-table>
                 <!-- <div style="text-align: right; margin-top: 10px;">
                     <el-button size="mini" type="primary" @click="visible = false">关闭</el-button>
-                </div> -->
+                </div>-->
             </div>
 
-            <div v-else-if="!equipIds.length && tabData.pointData.length" style="margin-top: 10px;">
-                <ul class="pointList">
-                    <li v-for="point in tabData.pointData" :key="point.id" @click="handleClickPointDeatil(point)">
-                        <span :title="point.name">{{point.name}}</span>
+            <div v-else-if='!equipIds.length && tabData.pointData.length' style='margin-top: 10px;'>
+                <ul class='pointList'>
+                    <li v-for='point in tabData.pointData' :key='point.id' @click='handleClickPointDeatil(point)'>
+                        <span :title='point.name'>{{point.name}}</span>
                         <a>查看</a>
                     </li>
                 </ul>
-                <div style="text-align: right; margin-top: 10px;">
-                    <el-button v-show="showBtnWell" size="mini" type="primary" @click="handleClickHightLight(tabData.pointData)">查看控制商铺范围</el-button>
+                <div style='text-align: right; margin-top: 10px;'>
+                    <el-button v-show='showBtnWell' size='mini' type='primary' @click='handleClickHightLight(tabData.pointData)'>查看控制商铺范围</el-button>
                     <!-- <el-button size="mini" type="primary" @click="visible = false">关闭</el-button> -->
                 </div>
             </div>
 
-            <el-tabs v-else-if="equipIds.length && tabData.pointData.length" v-model="activeName">
-                <el-tab-pane label="设备设施" name="equip">
-                    <el-table :data="tabData.tableData" max-height="235" style="width: 100%" @row-click='handleClickEquipDetail' v-loading="eqLoading">
-                        <el-table-column prop="sbjc" label="设备简称" width="164" :show-overflow-tooltip='true'></el-table-column>
-                        <el-table-column prop="sl" width="50" label="数量" :show-overflow-tooltip='true' align="right"></el-table-column>
-                        <el-table-column prop="sb_status" width="70" label="设备状态" :show-overflow-tooltip='true'></el-table-column>
-                        <el-table-column prop="sbglgs" width="70" label="管理归属" :show-overflow-tooltip='true'></el-table-column>
+            <el-tabs v-else-if='equipIds.length && tabData.pointData.length' v-model='activeName'>
+                <el-tab-pane label='设备设施' name='equip'>
+                    <el-table
+                        :data='tabData.tableData'
+                        max-height='235'
+                        style='width: 100%'
+                        @row-click='handleClickEquipDetail'
+                        v-loading='eqLoading'
+                    >
+                        <el-table-column prop='sbjc' label='设备简称' width='164' :show-overflow-tooltip='true'></el-table-column>
+                        <el-table-column prop='sl' width='50' label='数量' :show-overflow-tooltip='true' align='right'></el-table-column>
+                        <el-table-column prop='sb_status' width='70' label='设备状态' :show-overflow-tooltip='true'></el-table-column>
+                        <el-table-column prop='sbglgs' width='70' label='管理归属' :show-overflow-tooltip='true'></el-table-column>
                         <!-- <el-table-column prop="assetnum" width="80" label="设备内码" :show-overflow-tooltip='true'></el-table-column>
                         <el-table-column label="" width="80" :show-overflow-tooltip='true'>
                             <template slot-scope="scope">
                                 <span class="equip-detail-btn">台账详情</span>
                             </template>
-                        </el-table-column> -->
+                        </el-table-column>-->
                     </el-table>
-                    <div style="text-align: right; margin-top: 10px;">
+                    <div style='text-align: right; margin-top: 10px;'>
                         <!-- <el-button size="mini" type="primary" @click="visible = false">关闭</el-button> -->
                     </div>
                 </el-tab-pane>
-                <el-tab-pane label="位置" name="point">
-                    <ul class="pointList">
-                        <li v-for="point in tabData.pointData" :key="point.id" @click="handleClickPointDeatil(point)">
-                            <span :title="point.name">{{point.name}}</span>
+                <el-tab-pane label='位置' name='point'>
+                    <ul class='pointList'>
+                        <li v-for='point in tabData.pointData' :key='point.id' @click='handleClickPointDeatil(point)'>
+                            <span :title='point.name'>{{point.name}}</span>
                             <a>查看</a>
                         </li>
                     </ul>
-                    <div style="text-align: right; margin-top: 10px;">
-                        <el-button v-show="showBtnWell" size="mini" type="primary" @click="handleClickHightLight(tabData.pointData)">查看控制商铺范围</el-button>
+                    <div style='text-align: right; margin-top: 10px;'>
+                        <el-button v-show='showBtnWell' size='mini' type='primary' @click='handleClickHightLight(tabData.pointData)'>查看控制商铺范围</el-button>
                         <!-- <el-button size="mini" type="primary" @click="visible = false">关闭</el-button> -->
                     </div>
                 </el-tab-pane>
             </el-tabs>
         </el-popover>
-        <span class="popStyle" :style="popoverPosition" v-popover:popover></span>
+        <span class='popStyle' :style='popoverPosition' v-popover:popover></span>
     </div>
 </template>
 <script>
@@ -115,17 +121,17 @@ export default {
             topologyParser: null, // 解析器数据
             fParser: null, // 底图解析器
             wellMap: {}, // 电井控制商铺映射
-            activeName: "equip",
+            activeName: 'equip',
             popoverPosition: {
                 top: 0,
-                left: 0
+                left: 0,
             },
             visible: false,
             eqLoading: true,
             equipIds: [],
             tabData: {
                 tableData: [],
-                pointData: []
+                pointData: [],
             },
             activeItem: null,
             showBtnWell: false,
@@ -155,50 +161,53 @@ export default {
     },
     methods: {
         handleClickLegendItem(item, events) {
-            this.tabData = {tableData: [], pointData: []};
-            this.showBtnWell = false;
-            this.visible = false;
-            this.activeItem = null;
-            this.isLoading = true;
+            this.tabData = { tableData: [], pointData: [] }
+            this.showBtnWell = false
+            this.visible = false
+            this.activeItem = null
+            this.isLoading = true
             if (item.data.AttachObjectIds && item.data.AttachObjectIds.length) {
-                const e = events[0];
-                this.equipIds = [];
-                this.activeItem = item;
-                item.data.AttachObjectIds.forEach(v => {
-                    if (v.type == "Image") {
-                        if(v.id) { this.equipIds.push(v.id) }
+                const e = events[0]
+                this.equipIds = []
+                this.activeItem = item
+                item.data.AttachObjectIds.forEach((v) => {
+                    if (v.type == 'Image') {
+                        if (v.id) {
+                            this.equipIds.push(v.id)
+                        }
                         // this.tabData.tableData.push(v);
-                    } else if (v.type == "Zone") {
-                        this.tabData.pointData.push(v);
+                    } else if (v.type == 'Zone') {
+                        this.tabData.pointData.push(v)
                     }
                 })
                 if (this.equipIds.length) {
-                    this.eqLoading = true;
+                    this.eqLoading = true
                     let data = {
                         plazaId: this.$store.state.plazaId,
                         page: 1,
-                        size: this.equipIds.length
+                        size: this.equipIds.length,
                     }
                     let postParams = {
-                        assetnumList: this.equipIds
+                        assetnumList: this.equipIds,
                     }
-                    queryAsset({ data, postParams }).then(res => {
-                        this.tabData.tableData = res.data.data;
-                        this.eqLoading = false;
+                    queryAsset({ data, postParams }).then((res) => {
+                        this.tabData.tableData = res.data.data
+                        this.eqLoading = false
                     })
                 }
-                this.popoverPosition.top = `${e.clientY}px`;
-                this.popoverPosition.left = `${e.clientX}px`;
+                this.popoverPosition.top = `${e.clientY}px`
+                this.popoverPosition.left = `${e.clientX}px`
                 this.$nextTick(() => {
                     if (
                         item.data.GraphElementId == '100050' ||
                         item.data.GraphElementId == '100055' ||
                         item.data.GraphElementId == '100056' ||
                         item.data.GraphElementId == '100057'
-                    ) { //判断是否为电井
-                        this.showBtnWell = true;
+                    ) {
+                        //判断是否为电井
+                        this.showBtnWell = true
                     }
-                    this.visible = true;
+                    this.visible = true
                 })
             }
         },
@@ -210,39 +219,38 @@ export default {
         },
         // 查看浮层位置详情
         handleClickPointDeatil(point) {
-            if (point.id && this.activeItem)
-            this.$refs.boxRoom.open({ name: this.activeItem.name, type: this.type, location: point.id });
+            if (point.id && this.activeItem) this.$refs.boxRoom.open({ name: this.activeItem.name, type: this.type, location: point.id })
         },
         handleClickHightLight(pointData) {
-            this.clearHightLight();
-            pointData.forEach(point => {
-                let location = point.id ? point.id : '';
+            this.clearHightLight()
+            pointData.forEach((point) => {
+                let location = point.id ? point.id : ''
                 if (this.wellMap.hasOwnProperty(location)) {
-                    this.wellMap[location].forEach(item => {
-                        item.highLightFlag = true;
-                        item.zOrder = 30;
+                    this.wellMap[location].forEach((item) => {
+                        item.highLightFlag = true
+                        item.zOrder = 30
                     })
                 } else {
                     let getParams = {
                         plazaId: this.plazaId,
                         floor: this.floorid,
-                        keyword: `${location}:wellnum;`
+                        keyword: `${location}:wellnum;`,
                     }
-                    queryShops({ getParams }).then(res => {
+                    queryShops({ getParams }).then((res) => {
                         let shopsnumList = []
                         let shopsnumItemList = []
                         if (res.data && res.data.length) {
                             for (let floor in res.data[0]) {
                                 if (res.data[0][floor].length) {
-                                    res.data[0][floor].forEach(v => {
+                                    res.data[0][floor].forEach((v) => {
                                         shopsnumList = shopsnumList.concat(v.shopsnumList.split(','))
                                     })
                                 }
                             }
                         }
                         if (shopsnumList.length) {
-                            this.fParser.spaceList.forEach(item => {
-                                if (shopsnumList.findIndex(name => name == item.data.Name) != -1) {
+                            this.fParser.spaceList.forEach((item) => {
+                                if (shopsnumList.findIndex((name) => name == item.data.Name) != -1) {
                                     item.highLightFlag = true
                                     item.zOrder = 30
                                     shopsnumItemList.push(item)
@@ -252,8 +260,8 @@ export default {
                         }
                     })
                 }
-            });
-            this.visible = false;
+            })
+            this.visible = false
         },
         ...mapActions(['getfmapID']),
         init(floorid) {
@@ -282,9 +290,9 @@ export default {
             if (floor == 'g80') {
                 // 屋顶
                 if (window.fengmapData.frImg) {
-                    // const pj = this.urlMsg.fmapID.split('_')[0]
-                    // // 单张图片
-                    // if (!ProjectRf[pj]) {
+                    const pj = this.fmapID.split('_')[0]
+                    // 单张图片
+                    if (!ProjectRf[pj]) {
                         let imgItem = new SImageItem(null, `${this.mapServerURL}/webtheme/${this.fmapID}/${window.fengmapData.frImg}`)
                         imgItem.showType = SImageShowType.AutoFit
                         imgItem.connect('imgLoadOver', this, () => {
@@ -293,50 +301,50 @@ export default {
                         this.scene.addItem(imgItem)
                         this.view.scene = this.scene
                     // this.view.fitSceneToView()
-                    // } else {
-                    //   // 多张图
-                    //   try {
-                    //     // 初始化0
-                    //     this.count = 0;
-                    //     ProjectRf[pj].forEach(t => {
-                    //       const item = new SImageItem(
-                    //         null,
-                    //         `${this.mapServerURL}/webtheme/${this.urlMsg.fmapID}/${t.name}`
-                    //       );
-                    //       item.width = t.width
-                    //       item.height = t.width
-                    //       item.moveTo(t.x, t.y)
-                    //       item.connect("imgLoadOver", this, () => {
-                    //         this.countRf(ProjectRf[pj].length);
-                    //       });
-                    //       this.scene.addItem(item);
-                    //     })
-                    //     this.view.scene = this.scene;
-                    //   } catch(e) {
-                    //     console.log(e);
-                    //   }
-                    // }
+                    } else {
+                      // 多张图
+                      try {
+                        // 初始化0
+                        this.count = 0;
+                        ProjectRf[pj].forEach(t => {
+                          const item = new SImageItem(
+                            null,
+                            `${this.mapServerURL}/webtheme/${this.fmapID}/${t.name}`
+                          );
+                          item.width = t.width
+                          item.height = t.height
+                          item.moveTo(t.x, t.y)
+                          item.connect("imgLoadOver", this, () => {
+                            this.countRf(ProjectRf[pj].length);
+                          });
+                          this.scene.addItem(item);
+                        })
+                        this.view.scene = this.scene;
+                      } catch(e) {
+                        console.log(e);
+                      }
+                    }
                 } else {
                     // 屋顶图不为图片
-                    this.readBaseMap(floor);
+                    this.readBaseMap(floor)
                 }
             } else {
                 if (window.fengmapData.gnameToGid[floor]) {
-                    this.readBaseMap(floor);
+                    this.readBaseMap(floor)
                 } else {
                     console.log('楼层不正确')
                 }
             }
-        },// 解析底图
-        readBaseMap(floor){
-            window.fengmapData.parseData(window.fengmapData.gnameToGid[floor], res => {
+        }, // 解析底图
+        readBaseMap(floor) {
+            window.fengmapData.parseData(window.fengmapData.gnameToGid[floor], (res) => {
                 if (res.err) {
                     console.log('errr', res.err)
                     return
                 }
                 this.fParser = new SFloorParser(null)
                 this.fParser.parseData(res)
-                this.fParser.spaceList.forEach(t => {
+                this.fParser.spaceList.forEach((t) => {
                     this.scene.addItem(t)
                     t.nameSize = 12
                     t.nameColor = '#2a2a2a'
@@ -347,11 +355,11 @@ export default {
                         t.name = ''
                     }
                 })
-                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.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.fitSceneToView()
                 this.readGraph()
@@ -435,7 +443,7 @@ export default {
                     // 多边形
                     this.topologyParser.zoneLegendList.forEach((t) => {
                         this.scene.addItem(t)
-                        t.connect("legendItemClick", t, this.handleClickLegendItem);
+                        t.connect('legendItemClick', t, this.handleClickLegendItem)
                     })
                     // 增加文字
                     this.topologyParser.textMarkerList.forEach((t) => {
@@ -452,14 +460,14 @@ export default {
                     // 增加图标类图例
                     this.topologyParser.imageLegendList.forEach((t) => {
                         this.scene.addItem(t)
-                        t.connect("legendItemClick", t, this.handleClickLegendItem);
+                        t.connect('legendItemClick', t, this.handleClickLegendItem)
                     })
                     // 增加管线类
                     // 增加图标类图例
                     this.topologyParser.relationList.forEach((t) => {
                         t.selectable = true
                         this.scene.addItem(t)
-                        t.connect("legendItemClick", t, this.handleClickLegendItem);
+                        t.connect('legendItemClick', t, this.handleClickLegendItem)
                     })
                     this.view.fitSceneToView()
                     this.view.minScale = this.view.scale
@@ -506,16 +514,16 @@ export default {
             //     }
             //     // // 选中电井设置电井关联的商铺高亮
             //     // this.setHightLight(ev[0])
-            // } 
+            // }
             // else {
-                // this.clearHightLight()
+            // this.clearHightLight()
             // }
             if (ev[0].length) {
                 if (!(ev[0][0] instanceof SPolygonItem || ev[0][0] instanceof TipelineItem || ev[0][0] instanceof SImageLegendItem)) {
-                    this.visible = false;
+                    this.visible = false
                 }
             } else {
-                this.visible = false;
+                this.visible = false
             }
             this.clearHightLight()
         },
@@ -527,9 +535,9 @@ export default {
                 // 添加了位置类型并且选中的类型为电井类型
                 if (
                     (item.data.GraphElementId == '100050' ||
-                    item.data.GraphElementId == '100055' ||
-                    item.data.GraphElementId == '100056' ||
-                    item.data.GraphElementId == '100057') &&
+                        item.data.GraphElementId == '100055' ||
+                        item.data.GraphElementId == '100056' ||
+                        item.data.GraphElementId == '100057') &&
                     location
                 ) {
                     if (this.wellMap.hasOwnProperty(location)) {
@@ -739,7 +747,7 @@ a:hover {
             .equip-detail-btn {
                 cursor: pointer;
                 display: inline-block;
-                color: #025BAA;
+                color: #025baa;
             }
         }
     }
@@ -752,7 +760,7 @@ a:hover {
             line-height: 38px;
             padding: 0 12px;
             cursor: pointer;
-            border-bottom: 1px solid rgba(0,0,0,0.06);
+            border-bottom: 1px solid rgba(0, 0, 0, 0.06);
             span {
                 float: left;
                 width: 260px;
@@ -763,19 +771,19 @@ a:hover {
             }
             a {
                 display: none;
-                color: #025BAA;
+                color: #025baa;
                 font-size: 13px;
             }
         }
         li:hover {
-            background-color: #F5F6F7;
+            background-color: #f5f6f7;
             a {
                 display: inline-block;
             }
         }
     }
-    .el-button--primary{
-         background: linear-gradient(180deg, #369cf7 0%, #025baa 100%);
+    .el-button--primary {
+        background: linear-gradient(180deg, #369cf7 0%, #025baa 100%);
     }
     .el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),
     .el-tabs--bottom .el-tabs__item.is-top:nth-child(2),
@@ -793,9 +801,9 @@ a:hover {
         height: 0;
     }
     .is-active {
-        color: #025BAA !important;
-        border-color: #025BAA !important;
-        background: rgba(2,91,170,0.15);
+        color: #025baa !important;
+        border-color: #025baa !important;
+        background: rgba(2, 91, 170, 0.15);
     }
     .el-tabs__item {
         padding: 5px 16px;
@@ -816,5 +824,4 @@ a:hover {
         border-radius: 4px 0px 0px 4px;
     }
 }
-    
 </style>

+ 1 - 1
src/router/index.js

@@ -126,7 +126,7 @@ router.beforeEach(async (to, from, next) => {
             // 有token 将数据 isPreview赋给 vuex方便取值
             store.commit('SETISPREVIEW', sessionStorage.getItem("SETISPREVIEW"))
             // 如果在跳转获取token之前保存了指定的路径,则后去token后需要跳转到相关页面
-            console.log(to.path)
+
             if(to.path !='/group' && to.path !='/home/homepage' && to.path !='/' ){
                 if(!store.state.permissions || store.state.permissions.length ==0){
                     // 如果没有请求permissions则请求getUserInfo

+ 22 - 45
src/store/index.js

@@ -1,23 +1,17 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
-import {
-    login,
-    queryFloor,
-    queryfmapID
-} from '@/api/login.js'
-import {
-    queryBrand
-} from '@/api/public.js'
+import { login, queryFloor, queryfmapID } from '@/api/login.js'
+import { queryBrand } from '@/api/public.js'
 import axios from 'axios'
 import router from '../router'
 
 Vue.use(Vuex)
 export default new Vuex.Store({
     state: {
-        ssoToken: 'admin:liulin34',
+        ssoToken: 'admin:liujiandong',
         // ssoToken: '',
         // ssoToken: null,
-        plazaName: "",
+        plazaName: '',
         isPreview: false,
         lastRoute: '',
         isrequestAuth: null, // 是否请求登录校验接口
@@ -106,10 +100,7 @@ export default new Vuex.Store({
             state.isMessage = data
         },
         SETFLOORS(state, data) {
-            console.log(data)
-            let numArr = [],
-                minNum = '',
-                floor = {}
+            let numArr = []
             state.floorSelect = []
             state.floorsArr = data
             if (data.length > 0) {
@@ -183,22 +174,23 @@ export default new Vuex.Store({
     },
     actions: {
         // 获取项目列表、userId
-        async getUserInfo({
-            commit
-        }, palyload) {
+        async getUserInfo({ commit }, palyload) {
             await login({
-                    returnTree: true,
-                })
+                returnTree: true,
+            })
                 .then((res) => {
                     // 获取用户当前权限
-                    console.log(res.result)
                     if (res.result === 'success') {
+                        // 如果用户没有权限则跳入404
+                        if (!res.permissions || !res.permissions.includes('GLSMS_VIEW')) {
+                            router.push({
+                                path: '/404',
+                            })
+                        }
                         commit('STOREACCESSLEVEL', res.level)
                         commit('SETAUTHMSG', res)
                         let level = res.level
-                        console.log('window.opener', window.opener)
                         if (window.opener && window.opener.__fromGroupPage) {
-                            console.log('window.openerxxx', window.opener)
                             commit('SETAUTHMSG', level)
                             let data = window.opener.__fromGroupPage
                             level = data.level
@@ -209,7 +201,6 @@ export default new Vuex.Store({
                                 path: './home/homepage',
                             })
                         } else {
-                            console.log('window.openerxxx', window.opener, level)
                             if (level == 0) {
                                 if (res.treeData[0].ccode) {
                                     localStorage.setItem('PLAZAID', res.treeData[0].ccode)
@@ -230,47 +221,33 @@ export default new Vuex.Store({
                         }
                         //   给oA头添加名称
                         // 指定条问题
-                        window.wd_fm_info = {
-                            profile: {
-                                username: encodeURIComponent(res.username),
-                            },
-                        }
+                        document.getElementById('wd-fm-id-fm-switch-profile').style.display = 'inline-block'
+                        document.getElementById('wd-fm-id-fm-switch-profile').innerText = '您好,' + res.username
                     }
                 })
                 .catch((err) => {
-                    console.log('getuserfo catch', this.getters.accessLevel);
                     // 由于跨域做的判断
                     if (this.getters.accessLevel == 0) {
                         router.push({
                             path: './home/homepage',
                         })
                     }
-
                 })
         },
-        async getUserInfoNoPath({
-            commit
-        }, palyload) {
+        async getUserInfoNoPath({ commit }, palyload) {
             await login({
-                    returnTree: true,
-                })
+                returnTree: true,
+            })
                 .then((res) => {
                     if (res.result === 'success') {
                         // commit('STOREACCESSLEVEL', res.level)
                         commit('SETAUTHMSG', res)
-                        window.wd_fm_info = {
-                            profile: {
-                                username: encodeURIComponent(res.username),
-                            },
-                        }
+                        document.getElementById('wd-fm-id-fm-switch-profile').style.display = 'inline-block'
+                        document.getElementById('wd-fm-id-fm-switch-profile').innerText = '您好,' + res.username
                     }
                 })
                 .catch((err) => {
                     console.log('getuserfo catch', err)
-                    // router.push({
-                    //     path: '/404',
-                    // })
-                    // commit('SETISREQUESTtAUTH', err)
                 })
         },
         async getFloors(context) {
@@ -308,4 +285,4 @@ export default new Vuex.Store({
         },
     },
     modules: {},
-})
+})

+ 20 - 16
src/utils/ganttChart/GanttChart_day.js

@@ -379,13 +379,13 @@ GanttChartDay.prototype.handleClick = function(task, flag, ev) {
  */
 GanttChartDay.prototype.statusColor = function(task) {
     switch (task.statusType) {
-        case 0:
-            return ['#e7e9ea', '#c3c7cb']
         case 1:
-            return ['#dee9fe', '#5b8ff9']
+            return ['#e7e9ea', '#c3c7cb']
         case 2:
-            return ['#fbce99', '#f58300']
+            return ['#dee9fe', '#5b8ff9']
         case 3:
+            return ['#fbce99', '#f58300']
+        case 4:
             return ['#fbb8b5', '#f54e45']
         default:
             return ['#f54e45', '#fbb8b5']
@@ -499,20 +499,24 @@ GanttChartDay.prototype.drawTasks = function() {
                         tempTaskContainerEl.setZIndex(1)
                         tempTaskContainerEl._pdata = taskP
                         tempTaskContainerEl.on('mouseenter', (ev) => {
-                            tempTaskContainerEl.attr({ fill: '#F5F6F7' })
-                            tempTaskContainerEl._pdata.tasks.forEach((_tempTask) => {
-                                if (_tempTask._rectEl) {
-                                    _tempTask._rectEl.setZIndex(5)
-                                }
-                            })
+                            if (taskP.parentNode.open) {
+                                tempTaskContainerEl.attr({ fill: '#F5F6F7' })
+                                tempTaskContainerEl._pdata.tasks.forEach((_tempTask) => {
+                                    if (_tempTask._rectEl) {
+                                        _tempTask._rectEl.setZIndex(5)
+                                    }
+                                })
+                            }
                         })
                         tempTaskContainerEl.on('mouseleave', (ev) => {
-                            tempTaskContainerEl.attr({ fill: '#fff' })
-                            tempTaskContainerEl._pdata.tasks.forEach((_tempTask) => {
-                                if (_tempTask._rectEl) {
-                                    _tempTask._rectEl.setZIndex(5)
-                                }
-                            })
+                            if (taskP.parentNode.open) {
+                                tempTaskContainerEl.attr({ fill: '#fff' })
+                                tempTaskContainerEl._pdata.tasks.forEach((_tempTask) => {
+                                    if (_tempTask._rectEl) {
+                                        _tempTask._rectEl.setZIndex(5)
+                                    }
+                                })
+                            }
                         })
                         taskP._containerEl = tempTaskContainerEl
                     }

+ 24 - 20
src/utils/ganttChart/GanttChart_month.js

@@ -357,10 +357,10 @@ GanttChartMonth.prototype.handleClick = function(task, flag, ev) {
         // document.getElementById('detailTaskStatus').textContent = task._pdata.status
         // document.getElementById('detailTaskStartDate').textContent = task._pdata.startDate
         // document.getElementById('detailTaskEndDate').textContent = task._pdata.endDate
-        console.log('show:', task)
+        // console.log('show:', task)
     } else if (flag === 'leave') {
         // detailDiv.style.display = 'none'
-        console.log('hide:', task)
+        // console.log('hide:', task)
     } else {
         this.callback(task)
         console.log('click:', task)
@@ -373,13 +373,13 @@ GanttChartMonth.prototype.handleClick = function(task, flag, ev) {
  */
 GanttChartMonth.prototype.statusColor = function(task) {
     switch (task.statusType) {
-        case 0:
-            return ['#e7e9ea', '#c3c7cb']
         case 1:
-            return ['#dee9fe', '#5b8ff9']
+            return ['#e7e9ea', '#c3c7cb']
         case 2:
-            return ['#fbce99', '#f58300']
+            return ['#dee9fe', '#5b8ff9']
         case 3:
+            return ['#fbce99', '#f58300']
+        case 4:
             return ['#fbb8b5', '#f54e45']
         default:
             return ['#fbb8b5', '#f54e45']
@@ -507,20 +507,24 @@ GanttChartMonth.prototype.drawTasks = function() {
                         tempTaskContainerEl.setZIndex(1)
                         tempTaskContainerEl._pdata = taskP
                         tempTaskContainerEl.on('mouseenter', (ev) => {
-                            tempTaskContainerEl.attr({ fill: '#F5F6F7' })
-                            tempTaskContainerEl._pdata.tasks.forEach((_tempTask) => {
-                                if (_tempTask._rectEl) {
-                                    _tempTask._rectEl.setZIndex(5)
-                                }
-                            })
+                            if (taskP.parentNode.open) {
+                                tempTaskContainerEl.attr({ fill: '#F5F6F7' })
+                                tempTaskContainerEl._pdata.tasks.forEach((_tempTask) => {
+                                    if (_tempTask._rectEl) {
+                                        _tempTask._rectEl.setZIndex(5)
+                                    }
+                                })
+                            }
                         })
                         tempTaskContainerEl.on('mouseleave', (ev) => {
-                            tempTaskContainerEl.attr({ fill: '#fff' })
-                            tempTaskContainerEl._pdata.tasks.forEach((_tempTask) => {
-                                if (_tempTask._rectEl) {
-                                    _tempTask._rectEl.setZIndex(5)
-                                }
-                            })
+                            if (taskP.parentNode.open) {
+                                tempTaskContainerEl.attr({ fill: '#fff' })
+                                tempTaskContainerEl._pdata.tasks.forEach((_tempTask) => {
+                                    if (_tempTask._rectEl) {
+                                        _tempTask._rectEl.setZIndex(5)
+                                    }
+                                })
+                            }
                         })
                         taskP._containerEl = tempTaskContainerEl
                     }
@@ -546,10 +550,10 @@ GanttChartMonth.prototype.drawTasks = function() {
                             rectEl._pdata = _taskItem
                             _taskItem._rectEl = rectEl
                             rectEl.on('mouseover', (ev) => {
-                                this.handleClick(ev.target, 'enter', ev)
+                                // this.handleClick(ev.target, 'enter', ev)
                             })
                             rectEl.on('mouseleave', (ev) => {
-                                this.handleClick(ev.target, 'leave', ev)
+                                // this.handleClick(ev.target, 'leave', ev)
                             })
                             rectEl.on('click', (ev) => {
                                 this.handleClick(ev.target, 'click', ev)

Разница между файлами не показана из-за своего большого размера
+ 730 - 666
src/views/Device/FilterModal.vue


+ 8 - 6
src/views/analysis/CoreDeviceReport.vue

@@ -52,9 +52,9 @@
         style="width: 100%;margin-bottom: 63px;"
         @row-click="showEquipmentStatus"
       >
-        <el-table-column label="序号" type="index" :index="indexMethod"></el-table-column>
-        <el-table-column prop="sbjc" label="设备简称"></el-table-column>
-        <el-table-column prop="assetnum" label="设备编号"></el-table-column>
+        <el-table-column label="序号" type="index" width="60" :index="indexMethod"></el-table-column>
+        <el-table-column prop="sbjc" label="设备名称" width="600"></el-table-column>
+        <el-table-column prop="assetnum" label="设备内码"></el-table-column>
         <el-table-column prop="is_exception" label="状态">
           <template slot-scope="scope">
             <span
@@ -109,7 +109,7 @@
               <span
                 style="color: #025BAA"
                 @click="showPicturesDetail(scope.row, 'his')"
-              >{{ scope.row.photosNum || scope.row.photosNum === 0?(scope.row.photosNum + '张') : '—' }}</span>
+              >{{ scope.row.photosNum?(scope.row.photosNum + '张') : '—' }}</span>
               <!-- <span style="color: #025BAA" @click="showPicturesDetail(scope.row)">1张</span> -->
             </template>
           </el-table-column>
@@ -221,7 +221,7 @@ export default {
       isClickAccessory: false, // 是否点击的是附件
       accessoryList: [], // 附件
       accessoryPos: {
-        top: 0, 
+        top: 0,
         left: 0
       }, // 附件弹窗位置
     };
@@ -344,6 +344,7 @@ export default {
      * 切换系统下的设备
      */
     changeEquipment(id) {
+      this.curPage = 1;
       _.map(this.systemContentData, o => {
         return (o.isActive = o.category_code === id);
       });
@@ -536,7 +537,7 @@ export default {
      */
     getDetailData(val, type) {
       let param = {
-        // assetnum: this.assetnum,
+        assetnum: this.assetnum,
         plazaId: this.plazaId,
         file_type: type === 'equip'?val.file_type : val.type,
         // file_type: 0,
@@ -677,6 +678,7 @@ export default {
     padding-right: 13px;
     padding-top: 13px;
     padding-bottom: 25px;
+    overflow: auto;
     .search-container {
       margin-bottom: 12px;
     }

+ 19 - 11
src/views/analysis/GanttChart.vue

@@ -51,14 +51,14 @@
               <PlanTime class="icon" />
               <div class="title">计划时间</div>
             </div>
-            <div class="info">{{this.ganttDetail.planTime}}</div>
+            <div class="info">{{ganttDetail.planTime}}</div>
           </div>
           <div class="row">
             <div>
               <RealTime class="icon" />
               <div class="title">实际执行时间</div>
             </div>
-            <div class="info">{{this.ganttDetail.realTime}}</div>
+            <div class="info">{{ganttDetail.realTime}}</div>
           </div>
           <div class="row picture">
             <div>
@@ -153,6 +153,7 @@ export default {
   data() {
     return {
       plazaId: 1000423, // 广场id
+      // assetnum: null, // 设备台账编码
       systemList: [], // 系统列表
       systemId: "", // 系统名称
       legends: [
@@ -356,18 +357,21 @@ export default {
           this.treeData = newData;
 
           let taskData = _.map(_.cloneDeep(newData), item => {
-            return {
+            let parentNode = {
               id: item.id,
               type: item.name,
               open: item.open,
+            };
+            return Object.assign(parentNode, {
               dataList: _.map(item.children, _item => {
                 return {
+                  parentNode,
                   id: _item.id,
                   title: _item.name,
                   tasks: _item.originData
                 };
               })
-            };
+            })
           });
           console.log("taskData", taskData);
           if (!window.gc) {
@@ -453,7 +457,10 @@ export default {
       queryGanttDetail("/data/base/queryGanttChartDetails", param).then(res => {
         const { result, data } = res;
         if (result === "success") {
-          if (!data) return
+          if (!data) {
+            this.ganttDetail = {}
+            return
+          }
           const {
             status,
             planStartDate,
@@ -465,16 +472,16 @@ export default {
           } = data;
           let color;
           switch (statusType) {
-            case 0:
+            case 1:
               color = ['#c3c7cb', '#e7e9ea'];
               break
-            case 1:
+            case 2:
               color = ['#5b8ff9', '#5b8ff933'];
               break
-            case 2:
+            case 3:
               color = ['#f58300', '#fbce99'];
               break
-            case 3:
+            case 4:
               color = ['#f54e45', '#fbb8b5'];
               break
             default:
@@ -513,6 +520,7 @@ export default {
         file_type_id: id,
         // file_type_id: 9886,
         type: type,
+        // assetnum: this.assetnum,
       };
       queryDetailData("/data/base/queryFileDetails", param).then(res => {
         console.log("photo", res);
@@ -665,9 +673,9 @@ export default {
       padding-right: 8px;
       // width: 58px;
       height: 24px;
-      background: rgba(91, 143, 249, 0.2);
+      // background: rgba(91, 143, 249, 0.2);
       border-radius: 2px;
-      color: #5b8ff9;
+      // color: #5b8ff9;
       line-height: 24px;
       text-align: center;
     }

+ 5 - 1
src/views/analysis/SpecificationUpdateRecord.vue

@@ -141,7 +141,11 @@ export default {
           _.map(data, (item) => {
             let text = _.find(this.incidentList, (o) => {return o.id === item.objtype}).name
             item.evenType = text;
-            item.time = moment.unix(item.changedate / 1000).format('YYYY.MM.DD')
+            if (item.objtype === 0 || item.objtype === 2) {
+              item.time = moment.unix(item.changedate / 1000).format('YYYY-MM-DD')
+            } else {
+              item.time = moment.unix(item.changedate / 1000).format('YYYY-MM-DD HH-mm')
+            }
             return
           })
           this.tableData = data;

+ 8 - 8
src/views/equipment/table/eqDetaileDialog.vue

@@ -60,7 +60,7 @@
         </div>
         <el-table @row-click='innerTable' :data='tableData' :border='true' style='width: 100%;amrgin-bottom:30px'>
             <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
-            <el-table-column prop='sbjc' label='设备名称' show-overflow-tooltip resizable min-width='300'>
+            <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 width='80'>
@@ -75,25 +75,25 @@
             <el-table-column prop='sb_status' label='设备状态' width='80' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.sb_status || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='brand' label='品牌' show-overflow-tooltip resizable width='250'>
+            <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 width='160'>
+            <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='70' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.floorcode || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='wzjc' label='安装位置' show-overflow-tooltip resizable min-width='170'>
+            <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 min-width='250'>
+            <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 min-width='250'>
+            <el-table-column prop='fws' label='服务商' show-overflow-tooltip resizable min-width='150'>
                 <template slot-scope='{row}'>{{row.fws || '--'}}</template>
             </el-table-column>
-            <el-table-column prop label='相关资料' show-overflow-tooltip resizable min-width='250'>
+            <el-table-column prop label='相关资料' show-overflow-tooltip resizable min-width='150'>
                 <template slot-scope='{row}'>{{'--'}}</template>
             </el-table-column>
         </el-table>
@@ -102,7 +102,7 @@
                 background
                 layout='prev, pager, next'
                 :total='total'
-                :current-page.sync='sonpage'
+                :current-page.sync="sonpage"
                 :page-size='size'
                 @prev-click='pageChanged'
                 @next-click='pageChanged'

+ 7 - 7
src/views/equipment/table/eqListTable.vue

@@ -46,25 +46,25 @@
         <div ref='tableBox' style='height: calc(100% - 115px);'>
             <el-table :data='tableData' :max-height='tableMaxHeight' style='width: 100%' :border='true' @row-click='rowHandle'>
                 <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
-                <el-table-column prop='type_name' label='设备名称' show-overflow-tooltip resizable min-width='260'>
+                <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='60'>
+                <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='品牌' min-width='260'>
+                <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 min-width='260'>
+                <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='60' show-overflow-tooltip resizable>
+                <el-table-column prop='floorcode' label='楼层' width='240' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.floorcode || '--'}}</template>
                 </el-table-column>
                 <!-- <el-table-column prop='wzjc' label='安装位置' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.wzjc || '--'}}</template>
                 </el-table-column>-->
-                <el-table-column prop='manufacturer' label='生产厂商' show-overflow-tooltip resizable min-width='260'>
+                <el-table-column prop='manufacturer' label='生产厂商' show-overflow-tooltip resizable min-width='300'>
                     <template slot-scope='{row}'>{{row.manufacturer || '--'}}</template>
                 </el-table-column>
             </el-table>
@@ -106,7 +106,7 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            sonpage: 1,
+            sonpage:1,
             size: 10,
             innerVisible: false, //详情弹框
             keyword: '',

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

@@ -46,23 +46,23 @@
         <div ref='tableBox' style='height: calc(100% - 115px);'>
             <el-table :data='tableData' :max-height='tableMaxHeight' :border='true' style='width: 100%' @row-click='rowHandle'>
                 <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
-                <el-table-column prop label='设备名称' show-overflow-tooltip resizable min-width='260'>
+                <el-table-column prop label='设备名称' show-overflow-tooltip resizable min-width='300'>
                     <template slot-scope='{row}'>{{row.type_name || '--'}}</template>
                 </el-table-column>
                 <!-- sbjc -->
                 <el-table-column prop='sl' label='数量' width='60'>
                     <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
                 </el-table-column>
-                <el-table-column prop='brand' label='品牌' width='260'>
+                <el-table-column prop='brand' label='品牌' width='300'>
                     <template slot-scope='{row}'>{{row.brand || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable min-width='260'>
+                <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable min-width='300'>
                     <template slot-scope='{row}'>{{row.sbxh || '--'}}</template>
                 </el-table-column>
                 <el-table-column prop='floor' label='楼层' width='60' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.floorcode || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='manufacturer' label='生产厂商' show-overflow-tooltip resizable min-width='260'>
+                <el-table-column prop='manufacturer' label='生产厂商' show-overflow-tooltip resizable min-width='300'>
                     <template slot-scope='{row}'>{{row.manufacturer || '--'}}</template>
                 </el-table-column>
             </el-table>
@@ -99,7 +99,7 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            sonpage: 1,
+            sonpage:1,
             size: 10,
             keyword: '',
             floor: '1',

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

@@ -102,7 +102,7 @@
                 <el-table-column prop='status' label='验收结果' show-overflow-tooltip resizable width='80'>
                     <template slot-scope='{row}'>{{row.status || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='zfje' label='结算金额(元)' show-overflow-tooltip resizable width='105' align='right'>
+                <el-table-column prop='zfje' label='结算金额(元)' show-overflow-tooltip resizable width='105'>
                     <template slot-scope='{row}'>{{number_format(row.zfje,2)|| '--'}}</template>
                 </el-table-column>
                 <el-table-column prop='xlcfwz' label='资料存放位置' show-overflow-tooltip resizable width='100'>

+ 17 - 61
src/views/other/index.vue

@@ -55,14 +55,14 @@ export default {
             systemName: '供电系统',
             floorInfo: {
                 floorName: 'F1',
-                floorId: 'f1'
+                floorId: 'f1',
             },
             picFloor: '',
             picFloorImg: [],
             picFloorArr: [],
             dialogInfo: {},
             floorData: [],
-            module: ''
+            module: '',
         }
     },
     components: { floorListOther, OtherDialog, ZhsxOther, GcfzDialog },
@@ -85,9 +85,9 @@ export default {
             let getParams = {
                 module: '1004',
                 floor: floor,
-                plazaId: this.plazaId
+                plazaId: this.plazaId,
             }
-            queryPic({ getParams }).then(res => {
+            queryPic({ getParams }).then((res) => {
                 // console.log('库房管理图', res)
                 this.picFloorImg = res.data || []
             })
@@ -97,79 +97,35 @@ export default {
             let data = { plazaId: this.plazaId }
             let postParams = []
             if (this.floorsArr.length > 0) {
-                this.floorsArr.forEach(e => {
+                this.floorsArr.forEach((e) => {
                     let obj = {
                         tableName: 'glsms_proimgup',
                         params: {
                             module: '1004',
-                            floor: e.gname
-                        }
+                            floor: e.gname,
+                        },
                     }
                     postParams.push(obj)
                 })
             }
-            // [
-            //     {
-            //         tableName: 'glsms_proimgup',
-            //         params: { module: '1004', floor: 'f6' }
-            //     },
-            //     {
-            //         tableName: 'glsms_proimgup',
-            //         params: { module: '1004', floor: 'f5' }
-            //     },
-            //     {
-            //         tableName: 'glsms_proimgup',
-            //         params: { module: '1004', floor: 'f4' }
-            //     },
-            //     {
-            //         tableName: 'glsms_proimgup',
-            //         params: { module: '1004', floor: 'f3' }
-            //     },
-            //     {
-            //         tableName: 'glsms_proimgup',
-            //         params: { module: '1004', floor: 'f2' }
-            //     },
-            //     {
-            //         tableName: 'glsms_proimgup',
-            //         params: { module: '1004', floor: 'f1' }
-            //     },
-            //     {
-            //         tableName: 'glsms_proimgup',
-            //         params: { module: '1004', floor: 'b1' }
-            //     },
-            //     {
-            //         tableName: 'glsms_proimgup',
-            //         params: { module: '1004', floor: 'b2' }
-            //     }
-            // ]
-            queryTab({ data, postParams }).then(res => {
+            queryTab({ data, postParams }).then((res) => {
                 //console.log('查询哪几层楼有图', res)
                 this.floorData = []
                 let data = res.data.data || []
-                data.forEach(el => {
+                data.forEach((el) => {
                     if (el.count > 0) {
-                        let obj = {
-                            gname: el.params.floor,
-                            code: el.params.floor.toUpperCase(),
-                            gcode: el.params.floor
-                                .toUpperCase()
-                                .split('')
-                                .reverse()
-                                .join(''),
-                            seq:
-                                el.params.floor.substring(0, 1) == 'b'
-                                    ? -Number(el.params.floor.substring(1, 2)) + '00'
-                                    : Number(el.params.floor.substring(1, 2)) + '00'
-                        }
-                        this.floorData.push(obj)
+                        this.floorsArr.forEach((item) => {
+                            if (item.gname == el.params.floor) {
+                                this.floorData.push(item)
+                            }
+                        })
                     }
-                    console.log(this.floorData)
                 })
             })
-        }
+        },
     },
     computed: {
-        ...mapGetters(['floorsArr', 'plazaId'])
+        ...mapGetters(['floorsArr', 'plazaId', 'floorObj']),
     },
     mounted() {
         let module = window.location.href.split('=')[1]
@@ -178,7 +134,7 @@ export default {
         }
         this.everySystem = this.matter[0].children
         this.tabSize()
-    }
+    },
 }
 </script>
 <style lang="less" scoped>

+ 157 - 119
src/views/other/zhsxDialog.vue

@@ -1,141 +1,179 @@
 <template>
-    <div class='zhsx-log'>
-        <el-dialog title='综合记录事项' width='70%' :visible.sync='visible'>
-            <div class='top'></div>
-            <div class='bottom'>
-                <p>1.各级政府部门在广场检查中口头及书面提出的工作要求,整改事项</p>
-                <p>2.广场消防安全培训、消防演习</p>
-                <p>3.相关政府强制性检测的按时完成情况及检测中提出的问题</p>
-                <p>4.广场安全质量第三方检测过程中列出的整改事项</p>
-                <div class='bottom-table' :style='`height:${height}`'>
-                    <el-table
-                        :data='tableData'
-                        :height='tableHeight'
-                        style='width:100%;'
-                        :span-method='objectSpanMethod'
-                        border
-                        v-if='tableData.length>0'
-                    >
-                        <el-table-column label='序号' type='index' width='60'></el-table-column>
-                        <el-table-column prop='jcsx' label='检测事项' :show-overflow-tooltip='true' width='400'></el-table-column>
-                        <el-table-column prop='zgbm' label='主管部门' :show-overflow-tooltip='true'></el-table-column>
-                        <el-table-column prop='jlsx' label='记录事项' :show-overflow-tooltip='true'></el-table-column>
-                    </el-table>
-                </div>
-            </div>
-        </el-dialog>
-    </div>
+  <div class="zhsx-log">
+    <el-dialog title="综合记录事项" width="70%" :visible.sync="visible">
+      <div class="top"></div>
+      <div class="bottom">
+        <p>1.各级政府部门在广场检查中口头及书面提出的工作要求,整改事项</p>
+        <p>2.广场消防安全培训、消防演习</p>
+        <p>3.相关政府强制性检测的按时完成情况及检测中提出的问题</p>
+        <p>4.广场安全质量第三方检测过程中列出的整改事项</p>
+        <div class="bottom-table" :style="`height:${height}`">
+          <el-table
+            :data="tableData"
+            :height="tableHeight"
+            style="width:100%;"
+            :span-method="objectSpanMethod"
+            border
+            v-if="tableData.length>0"
+          >
+            <el-table-column label="序号"  prop="num" width="60"></el-table-column>
+            <el-table-column prop="jcsx" label="检测事项" :show-overflow-tooltip="true" width="400"></el-table-column>
+            <el-table-column prop="zgbm" label="主管部门" :show-overflow-tooltip="true"></el-table-column>
+            <el-table-column prop="jlsx" label="记录事项" :show-overflow-tooltip="true"></el-table-column>
+          </el-table>
+        </div>
+      </div>
+    </el-dialog>
+  </div>
 </template>
 <script>
 export default {
-    props: ['tableData'],
-    data() {
-        return {
-            visible: false
-        }
+  props: ["tableData"],
+  data() {
+    return {
+      visible: false
+    };
+  },
+  computed: {
+    tableHeight() {
+      if (window.screen.height <= 768) {
+        return 350;
+      } else {
+        return 440;
+      }
     },
-    computed: {
-        tableHeight() {
-            if (window.screen.height <= 768) {
-                return 350
-            } else {
-                return 440
-            }
-        },
-        height() {
-            if (window.screen.height <= 768) {
-                return 300
-            } else {
-                return 400
-            }
-        }
+    height() {
+      if (window.screen.height <= 768) {
+        return 300;
+      } else {
+        return 400;
+      }
+    },
+    // tableDataNumber() {
+    //   let arr = [];
+    //   let num = 1;
+    //   this.tableData.forEach((item, index) => {
+    //     arr.push(num)
+    //     const text = this.tableData[index]['jcsx'];
+    //    for(var i=arr.length;i<=this.tableData.length;i++){
+
+    //        if(this.tableData[i]['jcsx'] && (this.tableData[i]['jcsx'] == text)){
+    //          arr.push(num)
+    //        }
+    //     }
+    //     num = num + 1;
+    //   });
+    //   console.log("arr", arr);
+    //   return arr;
+    // }
+  },
+  methods: {
+    open() {
+      this.visible = true;
     },
-    methods: {
-        open() {
-            this.visible = true
-        },
-        /**
-         * @name objectSpanMethod
-         * @param { Object } row        当前行
-         * @param { Object } column     当前列
-         * @param {  Number } rowIndex   当前行号
-         * @param { Number } columnIndex    当前列号
-         * @return { Array,Object }
-         * @description 通过给table传入span-method方法可以实现合并行或列,方法的参数是一个对象,
-         * 里面包含当前行row、当前列column、当前行号rowIndex、当前列号columnIndex四个属性。
-         * 该函数可以返回一个包含两个元素的数组,第一个元素代表rowspan,
-         * 第二个元素代表colspan。 也可以返回一个键名为rowspan和colspan的对象。
-         */
-        objectSpanMethod({ row, column, rowIndex, columnIndex }) {
-            // 取出 tableData的长度, 合并记录事项 表格 使用
-            let { length } = this.tableData || 1
-            if (columnIndex === 2) {
-                if (rowIndex > 0 && row[column.property] === this.tableData[rowIndex - 1][column.property]) {
-                    return {
-                        rowspan: 0,
-                        colspan: 0
-                    }
-                } else {
-                    let rows = 1
-                    for (let i = rowIndex; i < this.tableData.length - 1; i++) {
-                        if (row[column.property] === this.tableData[i + 1][column.property]) {
-                            rows++
-                        }
-                    }
-                    return {
-                        rowspan: rows,
-                        colspan: 1
-                    }
-                }
-            } else if (columnIndex === 3) {
-                // 记录事项表格合并
-                return { rowspan: length, colspan: 1 }
+    /**
+     * @name objectSpanMethod
+     * @param { Object } row        当前行
+     * @param { Object } column     当前列
+     * @param {  Number } rowIndex   当前行号
+     * @param { Number } columnIndex    当前列号
+     * @return { Array,Object }
+     * @description 通过给table传入span-method方法可以实现合并行或列,方法的参数是一个对象,
+     * 里面包含当前行row、当前列column、当前行号rowIndex、当前列号columnIndex四个属性。
+     * 该函数可以返回一个包含两个元素的数组,第一个元素代表rowspan,
+     * 第二个元素代表colspan。 也可以返回一个键名为rowspan和colspan的对象。
+     */
+    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+      // 取出 tableData的长度, 合并记录事项 表格 使用
+      let { length } = this.tableData || 1;
+      if (columnIndex === 2) {
+        if (
+          rowIndex > 0 &&
+          row[column.property] === this.tableData[rowIndex - 1][column.property]
+        ) {
+          return {
+            rowspan: 0,
+            colspan: 0
+          };
+        } else {
+          let rows = 1;
+          for (let i = rowIndex; i < this.tableData.length - 1; i++) {
+            if (
+              row[column.property] === this.tableData[i + 1][column.property]
+            ) {
+              rows++;
             }
+          }
+          return {
+            rowspan: rows,
+            colspan: 1
+          };
+        }
+      } else if (columnIndex === 3) {
+        // 记录事项表格合并
+        return { rowspan: length, colspan: 1 };
+      } else if (columnIndex === 1) {
+        let rows = 1;
+        for (let i = rowIndex; i < this.tableData.length - 1; i++) {
+          if (row[column.property] === this.tableData[i + 1][column.property]) {
+            rows++;
+          }
         }
+        return { rowspan: rows, colspan: 1 };
+      } else if (columnIndex === 0) {
+        let rows = 1;
+        for (let i = rowIndex; i < this.tableData.length - 1; i++) {
+          if (row["jcsx"] == this.tableData[i + 1]["jcsx"]) {
+            rows++;
+          }
+        }
+        return { rowspan: rows, colspan: 1 };
+      }
     }
-}
+  }
+};
 </script>
 <style lang="less" scoped>
 .top {
-    width: 100%;
-    height: 1px;
-    background: rgba(0, 0, 0, 0.06);
-    margin-bottom: 20px;
+  width: 100%;
+  height: 1px;
+  background: rgba(0, 0, 0, 0.06);
+  margin-bottom: 20px;
 }
 .bottom {
-    padding: 0 30px 14px 30px;
-    p {
-        font-size: 14px;
-        font-family: PingFangSC-Regular, PingFang SC;
-        font-weight: 400;
-        color: rgba(96, 106, 120, 1);
-        line-height: 22px;
-    }
-    .bottom-table {
-        margin-top: 12px;
-        // element-ui table 组件 记录事项样式修改, 换行,fixed到页面中部
-        /deep/ .el-table__row:first-child {
-            td:last-child {
-                div {
-                    white-space: pre-wrap;
-                    word-wrap: break-word;
-                    word-break: break-all;
-                    position: fixed;
-                    top: 50%;
-                    transform: translateY(-50%);
-                }
-            }
+  padding: 0 30px 14px 30px;
+  p {
+    font-size: 14px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: rgba(96, 106, 120, 1);
+    line-height: 22px;
+  }
+  .bottom-table {
+    margin-top: 12px;
+    // element-ui table 组件 记录事项样式修改, 换行,fixed到页面中部
+    /deep/ .el-table__row:first-child {
+      td:last-child {
+        div {
+          white-space: pre-wrap;
+          word-wrap: break-word;
+          word-break: break-all;
+          position: fixed;
+          top: 50%;
+          transform: translateY(-50%);
         }
+      }
     }
+  }
 }
 </style>
 <style lang="less">
 .zhsx-log {
-    .el-dialog {
-        margin-top: 10vh !important;
-    }
-    .el-dialog__wrapper {
-        overflow: hidden;
-    }
+  .el-dialog {
+    margin-top: 10vh !important;
+  }
+  .el-dialog__wrapper {
+    overflow: hidden;
+  }
 }
 </style>

+ 196 - 166
src/views/other/zhsxOther.vue

@@ -1,188 +1,218 @@
 <!-- 综合事项记录 -->
 <template>
-    <div class='zhsx-box'>
-        <div class='zhsx-top'>
-            <div>
-                <el-tabs v-model='activeName' @tab-click='handleClick'>
-                    <el-tab-pane v-for='(item,index) in everySystem' :key='index' :label='`${item.label}`' :name='`${item.type}`'>
-                        <!-- 综合记录事项 -->
-                        <div v-if='item.type==1'>
-                            <zhsx-other-table1 ref='tableZhsx1'></zhsx-other-table1>
-                        </div>
-                        <!-- 第三方检测事项 -->
-                        <div v-if='item.type==2'>
-                            <zhsx-other-table2 ref='tableZhsx2'></zhsx-other-table2>
-                        </div>
-                    </el-tab-pane>
-                </el-tabs>
+  <div class="zhsx-box">
+    <div class="zhsx-top">
+      <div>
+        <el-tabs v-model="activeName" @tab-click="handleClick">
+          <el-tab-pane
+            v-for="(item,index) in everySystem"
+            :key="index"
+            :label="`${item.label}`"
+            :name="`${item.type}`"
+          >
+            <!-- 综合记录事项 -->
+            <div v-if="item.type==1">
+              <zhsx-other-table1 ref="tableZhsx1"></zhsx-other-table1>
             </div>
-            <div class='zhsx-img' @click='zhsxLog'>
-                <img src='../../assets/imgs/zy1.png' alt />
+            <!-- 第三方检测事项 -->
+            <div v-if="item.type==2">
+              <zhsx-other-table2 ref="tableZhsx2"></zhsx-other-table2>
             </div>
-        </div>
-        <zhsx-dialog ref='Dialog' :tableData='tableData'></zhsx-dialog>
+          </el-tab-pane>
+        </el-tabs>
+      </div>
+      <div class="zhsx-img" @click="zhsxLog">
+        <img src="../../assets/imgs/zy1.png" alt />
+      </div>
     </div>
+    <zhsx-dialog ref="Dialog" :tableData="tableData"></zhsx-dialog>
+  </div>
 </template>
 <script>
-import moment from 'moment'
-import { Select } from 'meri-design'
+import moment from "moment";
+import { Select } from "meri-design";
 // import Select from '@/components/Select/Select.vue'
-import ZhsxDialog from './zhsxDialog'
-import zhsxOtherTable1 from './zhsxOtherTable1'
-import zhsxOtherTable2 from './zhsxOtherTable2'
-import { queryZhsxjl } from '@/api/other.js'
+import ZhsxDialog from "./zhsxDialog";
+import zhsxOtherTable1 from "./zhsxOtherTable1";
+import zhsxOtherTable2 from "./zhsxOtherTable2";
+import { queryZhsxjl } from "@/api/other.js";
 export default {
-    data() {
-        return {
-            activeName: '1',
-            tableData: []
-        }
+  data() {
+    return {
+      activeName: "1",
+      tableData: []
+    };
+  },
+  props: ["everySystem"],
+  components: { ZhsxDialog, Select, zhsxOtherTable1, zhsxOtherTable2 },
+  methods: {
+    zhsxLog() {
+      let params = {
+        getParams: {}
+      };
+      queryZhsxjl(params).then(res => {
+        let arr = [];
+        let newdata = this.compIndex(res.data);
+        //console.log('综合事项弹框', res)
+        this.tableData = newdata || [];
+        // 将tableData中的第三项都设置为相同的数据
+        this.tableData.map(item => {
+          arr.push(item.jlsx);
+        });
+        arr = [...new Set(arr)];
+        this.tableData.map(item => {
+          item.jlsx = arr.join("\n\r");
+        });
+      });
+      this.$refs.Dialog.open();
     },
-    props: ['everySystem'],
-    components: { ZhsxDialog, Select, zhsxOtherTable1, zhsxOtherTable2 },
-    methods: {
-        zhsxLog() {
-            let params = {
-                getParams: {}
-            }
-            queryZhsxjl(params).then(res => {
-                let arr = []
-                //console.log('综合事项弹框', res)
-                this.tableData = res.data || []
-                // 将tableData中的第三项都设置为相同的数据
-                this.tableData.map(item => {
-                    arr.push(item.jlsx)
-                })
-                arr = [...new Set(arr)]
-                this.tableData.map(item => {
-                    item.jlsx = arr.join('\n\r')
-                })
-            })
-            this.$refs.Dialog.open()
-        },
-        handleClick(tab) {
-            if (tab.index == '0') {
-                this.$refs.tableZhsx1[0].getZhjl()
-            } else if (tab.index == '1') {
-                this.$refs.tableZhsx2[0].dsfjc()
-            }
+    compIndex(ary) {
+      var res = [];
+      ary.sort();
+      var num = 1;
+      for (var i = 0; i < ary.length; ) {
+        var count = 0;
+        for (var j = i; j < ary.length; j++) {
+          if (ary[i]["jcsx"] == ary[j]["jcsx"]) {
+            count++;
+          }
+        }
+        res.push([ary[i]["jcsx"], num]);
+        num = num + 1;
+        i += count;
+      }
+      for (var i = 0; i < ary.length; i++) {
+        for (var j = 0; j < res.length; j++) {
+          if (ary[i]["jcsx"] == res[j][0]) {
+            ary[i]["num"] = res[j][1];
+          }
         }
+      }
+      return ary
     },
-    mounted() {
-        this.$refs.tableZhsx1[0].getZhjl()
-    }
-}
+    handleClick(tab) {
+      if (tab.index == "0") {
+        this.$refs.tableZhsx1[0].getZhjl();
+      } else if (tab.index == "1") {
+        this.$refs.tableZhsx2[0].dsfjc();
+      }
+    }
+  },
+  mounted() {
+    this.$refs.tableZhsx1[0].getZhjl();
+  }
+};
 </script>
 <style lang="less" scoped>
 .zhsx-box {
-    height: 100%;
-    padding: 66px 50px 38px 50px;
-    .zhsx-top {
-        position: relative;
-        .zhsx-img {
-            position: absolute;
-            width: 16px;
-            height: 16px;
-            left: 260px;
-            top: 3px;
-            img {
-                width: 100%;
-                height: 100%;
-            }
-        }
-        .tab-top {
-            display: flex;
-            align-items: center;
-        }
-    }
+  height: 100%;
+  padding: 66px 50px 38px 50px;
+  .zhsx-top {
+    position: relative;
+    .zhsx-img {
+      position: absolute;
+      width: 16px;
+      height: 16px;
+      left: 260px;
+      top: 3px;
+      img {
+        width: 100%;
+        height: 100%;
+      }
+    }
+    .tab-top {
+      display: flex;
+      align-items: center;
+    }
+  }
 
-    .zhsx-bottom {
-        margin-top: 12px;
-        background: #ffffff;
-        position: relative;
-        padding-bottom: 73px;
-        .footer {
-            height: 32px;
-            display: flex;
-            justify-content: flex-end;
-            margin-top: 28px;
-        }
-    }
+  .zhsx-bottom {
+    margin-top: 12px;
+    background: #ffffff;
+    position: relative;
+    padding-bottom: 73px;
+    .footer {
+      height: 32px;
+      display: flex;
+      justify-content: flex-end;
+      margin-top: 28px;
+    }
+  }
 }
 </style>
 <style lang="less">
 .zhsx-box {
-    .el-dialog__header {
-        padding: 16px 50px;
-    }
-    .el-dialog__title {
-        font-size: 16px;
-        font-family: PingFangSC-Medium, PingFang SC;
-        font-weight: 500;
-        color: rgba(0, 0, 0, 0.85);
-        line-height: 24px;
-    }
-    .el-dialog__body {
-        padding: 0 24px;
-        height: 90%;
-    }
-    .el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),
-    .el-tabs--bottom .el-tabs__item.is-top:nth-child(2),
-    .el-tabs--top .el-tabs__item.is-bottom:nth-child(2),
-    .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
-        padding-left: 16px;
-    }
-    .el-tabs--bottom .el-tabs__item.is-bottom:last-child,
-    .el-tabs--bottom .el-tabs__item.is-top:last-child,
-    .el-tabs--top .el-tabs__item.is-bottom:last-child,
-    .el-tabs--top .el-tabs__item.is-top:last-child {
-        padding-right: 16px;
-    }
-    .el-tabs__nav-wrap::after {
-        height: 0;
-    }
-    .el-tabs__item {
-        padding: 5px 16px;
-        height: 30px;
-        line-height: 22px;
-        font-size: 14px;
-        font-family: MicrosoftYaHei;
-        color: rgba(31, 36, 41, 1);
-        border: 1px solid rgba(195, 199, 203, 1);
-        background: #fff;
-    }
-    /deep/.el-tabs__item:nth-child(2) {
-        border-radius: 4px 0 0 4px;
-    }
-    /deep/.el-tabs__item:last-child {
-        border-radius: 0 4px 4px 0;
-    }
-    .el-tabs,
-    .el-tabs__content {
-        height: 94%;
-    }
-    .el-tabs__active-bar {
-        background-color: transparent !important;
-    }
-    .is-active {
-        color: #025baa;
-        border-color: #025baa;
-        border-radius: 4px;
-    }
-    .el-tabs__header {
-        margin: 0 0 12px;
-    }
-    .el-table td,
-    .el-table th {
-        padding: 8px 0;
-    }
-    .el-input--suffix .el-input__inner {
-        padding-right: 20px;
-    }
-    @media screen and (max-width: 1366px) {
-        /deep/ .el-table td {
-            padding: 3px 0;
-        }
-    }
+  .el-dialog__header {
+    padding: 16px 50px;
+  }
+  .el-dialog__title {
+    font-size: 16px;
+    font-family: PingFangSC-Medium, PingFang SC;
+    font-weight: 500;
+    color: rgba(0, 0, 0, 0.85);
+    line-height: 24px;
+  }
+  .el-dialog__body {
+    padding: 0 24px;
+    height: 90%;
+  }
+  .el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),
+  .el-tabs--bottom .el-tabs__item.is-top:nth-child(2),
+  .el-tabs--top .el-tabs__item.is-bottom:nth-child(2),
+  .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
+    padding-left: 16px;
+  }
+  .el-tabs--bottom .el-tabs__item.is-bottom:last-child,
+  .el-tabs--bottom .el-tabs__item.is-top:last-child,
+  .el-tabs--top .el-tabs__item.is-bottom:last-child,
+  .el-tabs--top .el-tabs__item.is-top:last-child {
+    padding-right: 16px;
+  }
+  .el-tabs__nav-wrap::after {
+    height: 0;
+  }
+  .el-tabs__item {
+    padding: 5px 16px;
+    height: 30px;
+    line-height: 22px;
+    font-size: 14px;
+    font-family: MicrosoftYaHei;
+    color: rgba(31, 36, 41, 1);
+    border: 1px solid rgba(195, 199, 203, 1);
+    background: #fff;
+  }
+  /deep/.el-tabs__item:nth-child(2) {
+    border-radius: 4px 0 0 4px;
+  }
+  /deep/.el-tabs__item:last-child {
+    border-radius: 0 4px 4px 0;
+  }
+  .el-tabs,
+  .el-tabs__content {
+    height: 94%;
+  }
+  .el-tabs__active-bar {
+    background-color: transparent !important;
+  }
+  .is-active {
+    color: #025baa;
+    border-color: #025baa;
+    border-radius: 4px;
+  }
+  .el-tabs__header {
+    margin: 0 0 12px;
+  }
+  .el-table td,
+  .el-table th {
+    padding: 8px 0;
+  }
+  .el-input--suffix .el-input__inner {
+    padding-right: 20px;
+  }
+  @media screen and (max-width: 1366px) {
+    /deep/ .el-table td {
+      padding: 3px 0;
+    }
+  }
 }
 </style>

+ 1 - 0
src/views/overview/picModal.vue

@@ -34,6 +34,7 @@ export default {
             this.dialogVisible = true
             this.rotationImg = params
             this.picType = type
+            console.log('params',params)
             if (this.rotationImg.length > 0) {
                 let img = new Image()
                 img.src = this.rotationImg[0].url

+ 4 - 1
src/views/room/index.vue

@@ -910,13 +910,16 @@ export default {
             } else if (name.type == 'system') {
                 let floor = this.$cookie.get('floorNow')
                 this.content = `查看${floor}层楼层功能图`
-                this.Index(null)
+                this.init()
+                // this.Index(null)
             }
         },
         // 机房右上角的跳转 如果是在楼层功能打开的机房则要跳转到设备设施对应的系统\楼层 反之亦然
         jumpFloor() {
             // if (this.smsxtArr.smsxt) {
             if (location.pathname.split('/')[3] == 'equipment') {
+                this.$cookie.set('categoryId', 'LCGN', 3)
+                this.$store.commit('SETCATEGORYID', 'LCGN')
                 this.$router.push({ path: '/home/floorFunc' })
             } else {
                 this.$router.push({ path: '/home/equipment', query: { smsxt: this.smsxtArr.smsxt } })

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

@@ -11,22 +11,22 @@
                 :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 prop :show-overflow-tooltip='true' label='设备简称' resizable min-width='260'>
+                <el-table-column prop :show-overflow-tooltip='true' label='设备简称' resizable min-width='150'>
                     <template slot-scope='{row}'>{{row.type_name||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='数量' :show-overflow-tooltip='true' width='60'>
+                <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' min-width='260'>
+                <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' min-width='260'>
+                <el-table-column prop label='型号' :show-overflow-tooltip='true' width='174'>
                     <template slot-scope='{row}'>{{row.sbxh||'--'}}</template>
                 </el-table-column>
-                <el-table-column prop label='楼层' :show-overflow-tooltip='true' width='60'>
+                <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='260'>
+                <el-table-column prop :show-overflow-tooltip='true' label='生产厂商' min-width='150'>
                     <template slot-scope='{row}'>{{row.manufacturer||'--'}}</template>
                 </el-table-column>
             </el-table>

+ 2 - 2
vue.config.js

@@ -4,8 +4,8 @@ module.exports = {
         port: 8090,
         proxy: {
             '/data': {
-                target: "http://60.205.177.43",
-                // target: 'http://10.199.143.126',
+                // target: "http://60.205.177.43",
+                target: 'http://10.199.143.126',
                 // target: 'http://192.168.200.11:9003', //yll
                 // target: 'http://localhost:6040/data/',
                 changeOrigin: true,