zhengyiming
3 天以前 54d5eab23e2b74273ad59194ebc5063e95ea5637
src/views/DataBoard/components/DataBoardCenterMap.vue
@@ -10,11 +10,13 @@
        :backgroundImage="DataBoardDataInfoBg6"
        label="发放额"
        v-model:value="sumBountyReleaseAmountValue"
        :precision="2"
      ></DataBoardDataInfoItem>
      <DataBoardDataInfoItem
        :backgroundImage="DataBoardDataInfoBg7"
        label="使用额"
        v-model:value="sumBountyUseAmountValue"
        :precision="2"
      ></DataBoardDataInfoItem>
      <DataBoardDataInfoItem
        :backgroundImage="DataBoardDataInfoBg8"
@@ -30,7 +32,7 @@
        v-model:choose="item.choose"
        :parkName="item.parkName"
        :class="item.class"
        @click="handleClick(item.id)"
        @click="handleClick(index)"
      ></DataBoardCenterMapMark>
    </div>
  </div>
@@ -49,6 +51,7 @@
import { useIndustrialParkDropDownList } from '@/hooks';
import _ from 'lodash';
import { useIntervalValue } from '../hooks';
import { useIntervalFn } from '@vueuse/core';
defineOptions({
  name: 'DataBoardCenterMap',
@@ -68,11 +71,11 @@
  insurePeopleCount: 0,
});
function handleClick(id: string) {
function handleClick(chooseIndex: number) {
  form.mapList.forEach((item, index) => {
    item.choose = item.id === id;
    item.choose = chooseIndex === index;
  });
  form.industrialParkId = id;
  form.industrialParkId = dataBoardIndustrialParkList.value[chooseIndex]?.id;
  refetch();
}
@@ -100,15 +103,6 @@
  },
});
onMounted(async () => {
  await queryClient.invalidateQueries(['industrialParkServices/getIndustrialParkDropDownList']);
  if (dataBoardIndustrialParkList.value.length > 0) {
    form.industrialParkId = dataBoardIndustrialParkList.value[0].id;
    form.mapList = dataBoardIndustrialParkList.value;
    refetch();
  }
});
const { value: totalCustomerCountValue, changeValue: changeTotalCustomerCount } = useIntervalValue(
  form.totalCustomerCount
);
@@ -120,6 +114,26 @@
const { value: insurePeopleCountValue, changeValue: changeInsurePeopleCount } = useIntervalValue(
  form.insurePeopleCount
);
const { pause, resume } = useIntervalFn(() => {
  if (dataBoardIndustrialParkList.value.length === 0) return;
  const index = _.random(0, dataBoardIndustrialParkList.value.length - 1);
  handleClick(index);
}, 30000);
onMounted(async () => {
  await queryClient.invalidateQueries(['industrialParkServices/getIndustrialParkDropDownList']);
  if (dataBoardIndustrialParkList.value.length > 0) {
    form.industrialParkId = dataBoardIndustrialParkList.value[0].id;
    form.mapList = dataBoardIndustrialParkList.value;
    refetch();
  }
  resume();
});
onUnmounted(() => {
  pause();
});
</script>
<style lang="scss" scoped>
@use '@/style/common.scss' as *;