| | |
| | | ] |
| | | }) |
| | | |
| | | const resData = reactive({ |
| | | data: [ |
| | | { |
| | | label: '一般', |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: '较大', |
| | | value: 2 |
| | | } |
| | | ] |
| | | }) |
| | | |
| | | const curSelect = ref('') |
| | | const tableData = ref([]) |
| | | const pages = { |
| | | page: 1, |
| | |
| | | |
| | | onMounted(() => { |
| | | curTableHeight.value = TableContent.value.offsetHeight |
| | | EventBus.emit('flyToyqfw', 'flyToyqfw') |
| | | }) |
| | | |
| | | // 分页改变 |
| | |
| | | let state = reactive({ |
| | | layer: {} |
| | | }) |
| | | |
| | | let addPupoLayers = {} |
| | | // 行点击 |
| | | function rowClick(row) { |
| | | window.$viewer.flyToPosition(new DC.Position(row.lng, row.lat, 600, 0, -90, 0)) |
| | | function rowClick(row, column, event) { |
| | | if (row.lng && row.lat) { |
| | | window.$viewer.flyToPosition(new DC.Position(row.lng, row.lat, 600, 0, -90, 0)) |
| | | // 显示企业信息 |
| | | // 删除 |
| | | destroyPupoLayers() |
| | | addPupoLayers[row.firmName] = new DC.HtmlLayer(row.firmName) |
| | | window.$viewer.addLayer(addPupoLayers[row.firmName]) |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <li>${row.firmName || ''}</li> |
| | | <li>${row.riskLevelName || ''}</li> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(row.lng, row.lat, 64), |
| | | `<div class="public-map-popup-three"> |
| | | ${iconEl} |
| | | </div>` |
| | | ) |
| | | let incident = () => { |
| | | destroyPupoLayers() |
| | | } |
| | | divIcon.on(DC.MouseEventType.CLICK, incident) |
| | | addPupoLayers[row.firmName].addOverlay(divIcon) |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | const tabClick = (item) => { |
| | | console.log(item, 12312) |
| | | if (curSelect.value) EventBus.emit('restHandleDelChange', `4-${curSelect.value}`) |
| | | curSelect.value = item.value |
| | | EventBus.emit('restHandleCheckChange', `4-${item.value}`) |
| | | EventBus.emit('rsTabChange', item.value) |
| | | } |
| | | |
| | | nextTick(() => { |
| | | tabClick(resData.data[0]) |
| | | }) |
| | | |
| | | const showOn = computed(() => (item) => { |
| | | if (curSelect.value == item.value) { |
| | | return true |
| | | } |
| | | |
| | | return false |
| | | }) |
| | | |
| | | EventBus.on('rsTabChange', spaceTabChange) |
| | | |
| | | onUnmounted(() => { |
| | | EventBus.off('rsTabChange', spaceTabChange) |
| | | if (curSelect.value) EventBus.emit('restHandleDelChange', `4-${curSelect.value}`) |
| | | destroyPupoLayers() |
| | | }) |
| | | |
| | | // 销毁 |
| | | function destroyPupoLayers() { |
| | | let arr = Object.keys(addPupoLayers) |
| | | arr.forEach(i => { |
| | | addPupoLayers[i] && window.$viewer.removeLayer(addPupoLayers[i]) |
| | | }) |
| | | addPupoLayers = {} |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="w100 h0 flex-1 flex f-d-c"> |
| | | <global-search :options="options" @searchBtn="searchBtn" @resetBtn="resetBtn" ref="SeachBarCondition"></global-search> |
| | | |
| | | <div class="cur-container"> |
| | | <div class="tablist"> |
| | | <div class="cursor-p" :class="{ on: showOn(item) }" v-for="item, index in resData.data" :key="index" |
| | | @click="tabClick(item)"> |
| | | <div class="label-box"> |
| | | {{ item.label }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="h0 flex-1 table-content" ref="TableContent" v-loading="loading" |
| | | element-loading-background="rgba(46, 81, 136, 0.9)"> |
| | | <el-table border :data="tableData" :height="curTableHeight" style="width: 100%"> |
| | | <el-table-column align="center" label="序号" width="62" prop="rank"> |
| | | <el-table @row-click="rowClick" border :data="tableData" :height="curTableHeight" style="width: 100%"> |
| | | <el-table-column align="center" label="ID" width="42" prop="rank"> |
| | | <template #default="{ $index, row }"> |
| | | {{ (pages.page - 1) * pages.pageSize + $index + 1 }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" show-overflow-tooltip prop="firmName" label="企业名称" /> |
| | | <el-table-column align="center" show-overflow-tooltip prop="name" label="名称" /> |
| | | <el-table-column align="center" show-overflow-tooltip prop="category" label="类别" width="92" /> |
| | | <el-table-column align="center" show-overflow-tooltip prop="mainProduct" label="主要产品" width="112" /> |
| | | <el-table-column align="center" width="62" label="操作"> |
| | | <!-- <el-table-column align="center" show-overflow-tooltip prop="category" label="类别" width="92" /> --> |
| | | <!-- <el-table-column align="center" show-overflow-tooltip prop="mainProduct" label="主要产品" width="112" /> --> |
| | | <!-- <el-table-column align="center" width="62" label="操作"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" :disabled="scope.row.lng == ''" @click="rowClick(scope.row)"> |
| | | 定位 |
| | | </el-button> |
| | | <!-- <el-button link type="primary" size="small" @click="goDetail"> |
| | | <i class="el-icon-document" style="color: #66b1ff"></i>详情 |
| | | </el-button> --> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | </el-table> |
| | | </div> |
| | | |
| | |
| | | flex-basis: auto; |
| | | height: calc(100% - 40px); |
| | | } |
| | | |
| | | .cur-container { |
| | | background: transparent; |
| | | pointer-events: none; |
| | | |
| | | |
| | | .tablist { |
| | | pointer-events: all; |
| | | display: flex; |
| | | // align-items: center; |
| | | justify-content: space-around; |
| | | |
| | | &>div { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin: 5px 0; |
| | | padding: 5px; |
| | | width: 34px; |
| | | height: 24px; |
| | | |
| | | border-radius: 30%; |
| | | box-shadow: inset 0 0 40px #65aef8; |
| | | color: #fff; |
| | | box-sizing: content-box; |
| | | |
| | | &.on { |
| | | position: relative; |
| | | // color: #75b1ff; |
| | | box-shadow: inset 0 0 40px #0976e4; |
| | | } |
| | | |
| | | .label-box { |
| | | line-height: 14px; |
| | | font-size: 14px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |