|
@@ -62,6 +62,8 @@
|
|
|
:page="cusTransfer.result.table.pageNum"
|
|
|
:pageSize="cusTransfer.result.table.pageSize"
|
|
|
@handlePage="handlePage"
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
+ @row-click="handleRowClick"
|
|
|
>
|
|
|
</CusTable>
|
|
|
</div>
|
|
@@ -124,7 +126,7 @@ export default defineComponent({
|
|
|
},
|
|
|
table: {
|
|
|
head: [
|
|
|
- {value: "type", label: "类型", show: true, align: 'left', width: 100},
|
|
|
+ {value: "typeName", label: "类型", show: true, align: 'left', width: 100},
|
|
|
{value: "name", label: "名称", show: true, align: 'left'},
|
|
|
],
|
|
|
data: <any>[],
|
|
@@ -173,10 +175,22 @@ export default defineComponent({
|
|
|
}
|
|
|
}).then(res => {
|
|
|
state.cusTransfer.result.table.data = res.data.features.map(v => {
|
|
|
- return {
|
|
|
+ const obj = {
|
|
|
name: v.properties.name,
|
|
|
- type: store.getters['dictionary/elementTypeMap'].get(v.properties.typeValue)
|
|
|
+ typeName: store.getters['dictionary/elementTypeMap'].get(v.properties.typeValue),
|
|
|
+ type: v.properties.typeValue,
|
|
|
+ info: v.properties,
|
|
|
+ id: v.properties.dataId,
|
|
|
+ typeValue: v.properties.typeValue,
|
|
|
+ wkt: `POINT(${v.geometry.coordinates.join(' ')})`,
|
|
|
+ featureType: '',
|
|
|
}
|
|
|
+ if (['lgszyjkscsb', 'jgzzmgs', 'lgsjkyfl'].includes(v.properties.typeValue)) {
|
|
|
+ obj.featureType = 'qy'
|
|
|
+ } else if (['gal', 'shl', 'myl'].includes(v.properties.typeValue)) {
|
|
|
+ obj.featureType = 'sb'
|
|
|
+ }
|
|
|
+ return obj
|
|
|
})
|
|
|
state.cusTransfer.result.table.loading = false
|
|
|
}).catch(() => {
|
|
@@ -197,10 +211,10 @@ export default defineComponent({
|
|
|
const hasTypeCpt = computed(() => {
|
|
|
const m = new Map()
|
|
|
state.cusTransfer.result.table.data.forEach(v => {
|
|
|
- if (m.has(v.type)) {
|
|
|
- m.set(v.type, m.get(v.type) + 1)
|
|
|
+ if (m.has(v.typeName)) {
|
|
|
+ m.set(v.typeName, m.get(v.typeName) + 1)
|
|
|
} else {
|
|
|
- m.set(v.type, 1)
|
|
|
+ m.set(v.typeName, 1)
|
|
|
}
|
|
|
})
|
|
|
const arr: any = []
|
|
@@ -224,6 +238,41 @@ export default defineComponent({
|
|
|
}
|
|
|
onSearch()
|
|
|
}
|
|
|
+ const tableRowClassName = ({row}) => {
|
|
|
+ if (
|
|
|
+ (row.featureType === 'qy' && row.id === store.state.gis.gisParams.qy.feature?.getId()) ||
|
|
|
+ (row.featureType === 'sb' && row.id === store.state.gis.gisParams.default.feature?.getId())
|
|
|
+ ) {
|
|
|
+ return 'row-active'
|
|
|
+ }
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ const handleRowClick = (row) => {
|
|
|
+ switch (row.featureType) {
|
|
|
+ case 'qy': {
|
|
|
+ if (row.id === store.state.gis.gisParams.qy.feature?.getId()) {
|
|
|
+ store.dispatch('gis/LOAD_GIS_PARAMS_QY_RESET')
|
|
|
+ } else {
|
|
|
+ store.dispatch('gis/LOAD_GIS_PARAMS_QY', {
|
|
|
+ wkt: row.wkt,
|
|
|
+ id: row.id,
|
|
|
+ info: row.info
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } break
|
|
|
+ case 'sb': {
|
|
|
+ if (row.id === store.state.gis.gisParams.default.feature?.getId()) {
|
|
|
+ store.dispatch('gis/LOAD_GIS_PARAMS_DEFAULT_RESET')
|
|
|
+ } else {
|
|
|
+ store.dispatch('gis/LOAD_GIS_PARAMS_DEFAULT_SB', {
|
|
|
+ wkt: row.wkt,
|
|
|
+ id: row.id,
|
|
|
+ info: row.info
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } break
|
|
|
+ }
|
|
|
+ }
|
|
|
watch(() => state.cusTransfer, () => {
|
|
|
emit('update:transfer', state.cusTransfer)
|
|
|
}, { deep: true })
|
|
@@ -254,7 +303,9 @@ export default defineComponent({
|
|
|
handlePage,
|
|
|
hasTypeCpt,
|
|
|
onSearch,
|
|
|
- onReset
|
|
|
+ onReset,
|
|
|
+ tableRowClassName,
|
|
|
+ handleRowClick
|
|
|
}
|
|
|
},
|
|
|
})
|
|
@@ -361,6 +412,11 @@ export default defineComponent({
|
|
|
}
|
|
|
.table {
|
|
|
flex: 1;
|
|
|
+ :deep(.row-active) {
|
|
|
+ >td {
|
|
|
+ background: rgba(16,140,243,0.1);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|