فهرست منبع

'调整列宽,去掉关闭按钮'

zhangyu 4 سال پیش
والد
کامیت
a6886ae009
1فایلهای تغییر یافته به همراه80 افزوده شده و 28 حذف شده
  1. 80 28
      src/components/floorMap/index.vue

+ 80 - 28
src/components/floorMap/index.vue

@@ -9,37 +9,70 @@
         </div>
         <room-box ref='boxRoom'></room-box>
         <el-popover ref="popover" placement="right" trigger="manual" v-model="visible" width="380">
-            <div style="text-align: right;margin-bottom: 10px;">
+            <!-- <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 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="170" :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="80" 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>
+                <!-- <div style="text-align: right; margin-top: 10px;">
+                    <el-button size="mini" type="primary" @click="visible = false">关闭</el-button>
+                </div> -->
             </div>
-            <el-tabs v-model="activeName">
-                <el-tab-pane v-if="tabData.tableData.length" label="设备设施" name="equip">
-                    <el-table :data="tabData.tableData" max-height="235" style="width: 100%">
-                        <el-table-column prop="sbjc" label="设备简称" width="180" :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 prop="sl" width="80" label="数量" :show-overflow-tooltip='true'></el-table-column>
-                        <el-table-column prop="sb_status" width="80" label="设备状态" :show-overflow-tooltip='true'></el-table-column>
+
+            <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>
+                    <!-- <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="170" :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="80" label="管理归属" :show-overflow-tooltip='true'></el-table-column>
-                        <el-table-column label="" width="80">
+                        <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">
-                                <el-button @click="handleClickEquipDetail(scope.row)" type="text" size="small" style="color: #025BAA">台账详情</el-button>
+                                <span class="equip-detail-btn">台账详情</span>
                             </template>
                         </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 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 v-if="tabData.pointData.length" label="位置" name="point">
+                <el-tab-pane label="位置" name="point">
                     <ul class="pointList">
-                        <li v-for="point in tabData.pointData" :key="point.id">
+                        <li v-for="point in tabData.pointData" :key="point.id" @click="handleClickPointDeatil(point)">
                             <span :title="point.name">{{point.name}}</span>
-                            <a @click="handleClickPointDeatil(point)">查看</a>
+                            <a>查看</a>
                         </li>
                     </ul>
-                    <div style="text-align: right; margin-top: 10px;" v-show="showBtnWell">
-                        <el-button 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>
@@ -88,6 +121,8 @@ export default {
                 left: 0
             },
             visible: false,
+            eqLoading: true,
+            equipIds: [],
             tabData: {
                 tableData: [],
                 pointData: []
@@ -123,33 +158,33 @@ export default {
             this.showBtnWell = false;
             this.visible = false;
             this.activeItem = null;
+            this.isLoading = true;
             if (item.data.AttachObjectIds && item.data.AttachObjectIds.length) {
                 const e = events[0];
-                const equipIds = [];
+                this.equipIds = [];
                 this.activeItem = item;
                 item.data.AttachObjectIds.forEach(v => {
                     if (v.type == "Image") {
-                        if(v.id) { equipIds.push(v.id) }
+                        if(v.id) { this.equipIds.push(v.id) }
                         // this.tabData.tableData.push(v);
                     } else if (v.type == "Zone") {
                         this.tabData.pointData.push(v);
                     }
                 })
-                if (equipIds.length) {
+                if (this.equipIds.length) {
+                    this.eqLoading = true;
                     let data = {
                         plazaId: this.$store.state.plazaId,
                         page: 1,
-                        size: equipIds.length
+                        size: this.equipIds.length
                     }
                     let postParams = {
-                        assetnumList: equipIds
+                        assetnumList: this.equipIds
                     }
                     queryAsset({ data, postParams }).then(res => {
                         this.tabData.tableData = res.data.data;
-                        this.activeName = this.tabData.tableData.length?"equip":"point";
+                        this.eqLoading = false;
                     })
-                } else {
-                    this.activeName = "point"
                 }
                 this.popoverPosition.top = `${e.clientY}px`;
                 this.popoverPosition.left = `${e.clientX}px`;
@@ -170,8 +205,6 @@ export default {
         handleClickEquipDetail(row) {
             if (row.assetuid) {
                 window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=assetdevic&uniqueid=${row.assetuid}`)
-            } else {
-                this.$message.error("数据暂无,缺少 assetuid ");
             }
         },
         // 查看浮层位置详情
@@ -652,6 +685,21 @@ a:hover {
     text-decoration: none;
 }
 .el-popover {
+    .el-table {
+        tr {
+            .equip-detail-btn {
+                display: none;
+            }
+        }
+        tr:hover {
+            cursor: pointer;
+            .equip-detail-btn {
+                cursor: pointer;
+                display: inline-block;
+                color: #025BAA;
+            }
+        }
+    }
     .pointList {
         max-height: 235px;
         overflow-y: auto;
@@ -671,12 +719,16 @@ a:hover {
                 white-space: nowrap;
             }
             a {
+                display: none;
                 color: #025BAA;
                 font-size: 13px;
             }
         }
         li:hover {
             background-color: #F5F6F7;
+            a {
+                display: inline-block;
+            }
         }
     }
     .el-button--primary{