| | |
| | | type="primary" |
| | | icon="Close" |
| | | circle |
| | | size="small" |
| | | @click="handleCloseClick(i, t, value)" |
| | | /> |
| | | <!-- <el-icon><Close /></el-icon> --> |
| | |
| | | <!-- <el-text>{{ g.name }}</el-text> --> |
| | | <!-- <div class="m-t-8">网格要素</div> --> |
| | | <el-row class="m-t-8" justify="space-between"> |
| | | <!-- <el-button |
| | | type="primary" |
| | | class="el-button-custom" |
| | | size="small" |
| | | @click="gridLoading = !gridLoading" |
| | | > |
| | | {{ '融合分析' }} |
| | | </el-button> --> |
| | | <CheckButton |
| | | :loading="gridLoading" |
| | | v-model="value.show" |
| | | active-text="显示网格" |
| | | inactive-text="隐藏网格" |
| | | :default-value="true" |
| | | @change="(e) => handleGridClick(e, i, value)" |
| | | > |
| | | </CheckButton> |
| | | <CheckButton |
| | | :loading="rankLoading" |
| | | v-model="value.showRank" |
| | | active-text="显示排名" |
| | | inactive-text="隐藏排名" |
| | | :default-value="false" |
| | |
| | | > |
| | | </CheckButton> |
| | | <CheckButton |
| | | :loading="dataLoading" |
| | | v-model="value.showData" |
| | | active-text="显示数据" |
| | | inactive-text="隐藏数据" |
| | | :default-value="false" |
| | |
| | | </el-row> |
| | | <el-row class="m-t-8" justify="space-between"> |
| | | <CheckButton |
| | | :loading="colorLoading" |
| | | v-model="value.showCustomColor" |
| | | active-text="绘制对比色" |
| | | inactive-text="绘制标准色" |
| | | :default-value="false" |
| | |
| | | > |
| | | </CheckButton> |
| | | <CheckButton |
| | | :loading="heatMapLoading" |
| | | v-model="value.showHeatMap" |
| | | active-text="风险热力图" |
| | | inactive-text="风险热力图" |
| | | :default-value="false" |
| | |
| | | > |
| | | </CheckButton> |
| | | <CheckButton |
| | | :loading="underwayLoading" |
| | | v-if="value.extData.type == 0" |
| | | v-model="value.showUnderway" |
| | | active-text="显示走航轨迹" |
| | | inactive-text="隐藏走航轨迹" |
| | | :default-value="false" |
| | |
| | | > |
| | | </CheckButton> |
| | | <CheckButton |
| | | :loading="highlightLoading" |
| | | v-if="value.extData.type == 1" |
| | | v-model="value.highlightFusionGrid" |
| | | active-text="高亮融合网格" |
| | | :default-value="true" |
| | | @change="(e) => handleHighlightGridClick(e, i, value)" |
| | |
| | | } |
| | | }); |
| | | |
| | | const gridLoading = ref(false); |
| | | const rankLoading = ref(false); |
| | | const dataLoading = ref(false); |
| | | const colorLoading = ref(false); |
| | | const heatMapLoading = ref(false); |
| | | const underwayLoading = ref(false); |
| | | const highlightLoading = ref(false); |
| | | |
| | | const emits = defineEmits(['showUnderway', 'onDelete']); |
| | | |
| | | const gridCtrlList = computed(() => { |
| | |
| | | return { |
| | | tag: v[0], |
| | | extData: v[1].extData, |
| | | show: v[1].show, |
| | | opacityValue: 1 |
| | | }; |
| | | }) |
| | |
| | | |
| | | const show = ref(true); |
| | | |
| | | // const gridVisible = ref(false); |
| | | // const rankVisible = ref(false); |
| | | // const dataVisible = ref(false); |
| | | // const isStandardColor = ref(true); |
| | | // const isOpacity = ref(false); |
| | | // const opacityValue = ref(0.7); |
| | | |
| | | // const emits = defineEmits([ |
| | | // 'showRank', |
| | | // 'showData', |
| | | // 'changeColor', |
| | | // 'changeOpacity' |
| | | // ]); |
| | | function handleCloseClick(index, t, value) { |
| | | const key = value.tag; |
| | | toRaw(props.gridCtrls[index]).deleteTagGrid([key]); |
| | | gridCtrlList.value[index].views.splice(t, 1) |
| | | emits('onDelete', index, key) |
| | | gridCtrlList.value[index].views.splice(t, 1); |
| | | emits('onDelete', index, key); |
| | | } |
| | | |
| | | function handleGridClick(e, index, value) { |
| | | gridLoading.value = true; |
| | | const key = value.tag; |
| | | toRaw(props.gridCtrls[index]).changeVisibility({ |
| | | tags: [key], |
| | | showGridViews: e |
| | | }); |
| | | gridLoading.value = false; |
| | | } |
| | | |
| | | function handleRankClick(e, index, value) { |
| | | rankLoading.value = true; |
| | | const key = value.tag; |
| | | toRaw(props.gridCtrls[index]).changeVisibility({ |
| | | tags: [key], |
| | | showRankTxt: e |
| | | }); |
| | | rankLoading.value = false; |
| | | } |
| | | |
| | | function handleDataClick(e, index, value) { |
| | | dataLoading.value = true; |
| | | const key = value.tag; |
| | | toRaw(props.gridCtrls[index]).changeVisibility({ |
| | | tags: [key], |
| | | showDataTxt: e |
| | | }); |
| | | dataLoading.value = false; |
| | | } |
| | | |
| | | function handleColorClick(e, index, value) { |
| | | colorLoading.value = true; |
| | | const key = value.tag; |
| | | toRaw(props.gridCtrls[index]).changeGridColor({ |
| | | tag: key, |
| | | tags: [key], |
| | | useCustomColor: e |
| | | }); |
| | | colorLoading.value = false; |
| | | } |
| | | |
| | | function handleOpacityChange(e, index, value) { |
| | | console.log(e, index, value); |
| | | |
| | | const key = value.tag; |
| | | // value.opacityValue = e; |
| | | toRaw(props.gridCtrls[index]).changeGridOpacity({ |
| | |
| | | } |
| | | |
| | | function handleUnderwayClick(e, index, value) { |
| | | underwayLoading.value = true; |
| | | emits('showUnderway', { |
| | | isShow: e, |
| | | dataId: value.tag |
| | | dataId: value.tag, |
| | | done: () => (underwayLoading.value = false) |
| | | }); |
| | | } |
| | | |
| | | function handleHighlightGridClick(e, index, value) { |
| | | toRaw(props.gridCtrls[index]).mixGrid(value.tag.split('-'), e); |
| | | highlightLoading.value = true; |
| | | toRaw(props.gridCtrls[index]).mixGrid({ |
| | | tags: value.tag.split('-'), |
| | | isMixGridHighlight: e |
| | | }); |
| | | highlightLoading.value = false; |
| | | } |
| | | |
| | | let heatTag; |
| | | const heatMapSearchLength = 4; |
| | | function handleHeatMapClick(e, index, value) { |
| | | heatMapLoading.value = true; |
| | | const _satelliteGrid = toRaw(props.gridCtrls[index]); |
| | | _satelliteGrid.changeVisibility({ |
| | | showGridViews: false, |
| | |
| | | }); |
| | | if (e) { |
| | | const data = _satelliteGrid.gridDataDetailMap.get(value.tag); |
| | | gridApi.buildUnderwayHeatmap(3, data).then((res) => { |
| | | heatTag = _satelliteGrid.drawHeatGrid2(value.tag, res.data); |
| | | _satelliteGrid.setGridEvent( |
| | | [heatTag], |
| | | 'click', |
| | | (gridCell, gridDataDetail) => { |
| | | gridStore.selectedGridCellAndDataDetail = { |
| | | gridCell, |
| | | gridDataDetail |
| | | }; |
| | | } |
| | | ); |
| | | }); |
| | | gridApi |
| | | .buildUnderwayHeatmap(_satelliteGrid.gridGroupId, data, heatMapSearchLength) |
| | | .then((res) => { |
| | | heatTag = _satelliteGrid.drawHeatGrid2(value.tag, res.data); |
| | | _satelliteGrid.setDefaultGridClickEvent([heatTag]); |
| | | // _satelliteGrid.setGridEvent( |
| | | // [heatTag], |
| | | // 'click', |
| | | // (gridCell, gridDataDetail) => { |
| | | // gridStore.selectedGridCellAndDataDetail = { |
| | | // gridCell, |
| | | // gridDataDetail |
| | | // }; |
| | | // } |
| | | // ); |
| | | }) |
| | | .finally(() => (heatMapLoading.value = false)); |
| | | } else { |
| | | _satelliteGrid.changeVisibility({ |
| | | tags: [value.tag], |
| | | showGridViews: true |
| | | }); |
| | | heatMapLoading.value = false; |
| | | } |
| | | } |
| | | </script> |