diff --git a/.eslintrc.js b/.eslintrc.js index 0c11dd05..8ff3b3fd 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -21,6 +21,7 @@ module.exports = { 'plugin:prettier/recommended', ], rules: { + 'vue/no-v-html': 'off', 'vue/script-setup-uses-vars': 'error', '@typescript-eslint/ban-ts-ignore': 'off', '@typescript-eslint/explicit-function-return-type': 'off', diff --git a/index.html b/index.html index 3f1aa761..5ec625e3 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,7 @@ + + + +
+
+
+ {{ title1 }} +
+
+
+ +
+
+
+ + + + + diff --git a/src/views/visualization/MapModal.vue b/src/views/visualization/MapModal.vue index 11d419d7..d8253e24 100644 --- a/src/views/visualization/MapModal.vue +++ b/src/views/visualization/MapModal.vue @@ -25,14 +25,14 @@
- 隆昌基地情况 + {{ baseData.name }}
-
总面积:1000亩 就业人数:5人 - 总产值:¥54000000
+ >总面积:??亩 就业人数:??人 + 总产值:¥?? -->
+ + + +
@@ -55,10 +60,14 @@ import { Modal } from 'ant-design-vue' import { defineComponent, computed, onBeforeMount, reactive, toRefs, ref } from 'vue' import NZW from './components/NZW.vue' + import SBYXZT from './components/SBYXZT.vue' + import QXSZ from './components/QXSZ.vue' + import SZJCSJ from './components/SZJCSJ.vue' + import TRJCSJ from './components/TRJCSJ.vue' import { useVisualizationStore } from '/@/store/modules/visualization' import { getKeywordsCropsCate } from '/@/api/sys/other' import { chartLineColors } from './components/colors' - const boxWidth = 300 + const boxWidth = 400 // const defaultTab = ['渔业', '畜牧业', '农业', '林业'] const defaultTab = [ { @@ -111,8 +120,18 @@ components: { [Modal.name]: Modal, NZW, + SBYXZT, + QXSZ, + SZJCSJ, + TRJCSJ, }, - setup() { + props: { + baseData: { + type: Object, + default: () => {}, + }, + }, + setup(props) { const modelWidth = computed(() => boxWidth * 4 + 78) const visualizationStore = useVisualizationStore() @@ -121,6 +140,7 @@ }) const year = computed(() => visualizationStore.getYear) + const baseData = computed(() => props.baseData) async function getCrops() { const resData = await getKeywordsCropsCate() @@ -143,6 +163,7 @@ boxWidth, modelWidth, year, + baseData, } }, }) diff --git a/src/views/visualization/components/Box.vue b/src/views/visualization/components/Box.vue index 3c4178c8..fb83e840 100644 --- a/src/views/visualization/components/Box.vue +++ b/src/views/visualization/components/Box.vue @@ -1,6 +1,9 @@ + diff --git a/src/views/visualization/components/NYQK.vue b/src/views/visualization/components/NYQK.vue index 34ffcdd9..00fdcbca 100644 --- a/src/views/visualization/components/NYQK.vue +++ b/src/views/visualization/components/NYQK.vue @@ -143,6 +143,7 @@ year: visualizationStore.getYear, base_id: visualizationStore.getAddresId, }) + const arr = [] as { value: string | number; name: string }[] for (const key in list) { if (Object.prototype.hasOwnProperty.call(list, key)) { @@ -194,7 +195,7 @@ const countNumber = computed(() => Data.lyqkData.reduce((c, p) => { - c += p.value + c += Number(p.value) return c }, 0), ) diff --git a/src/views/visualization/components/NZW.vue b/src/views/visualization/components/NZW.vue index f3cd29fb..e9bd28e1 100644 --- a/src/views/visualization/components/NZW.vue +++ b/src/views/visualization/components/NZW.vue @@ -16,6 +16,7 @@
+ @@ -27,25 +28,28 @@ import { getCates, getCropYieldQuarterStatics } from '/@/api/sys/other' import { useECharts } from '/@/hooks/web/useECharts' import { useVisualizationStore } from '/@/store/modules/visualization' + import CModal from './CModal.vue' export default defineComponent({ components: { Box, Tabs, TabPane, + CModal, }, props: { id: { type: Number, }, baseId: { - type: Number, + type: [Number, String], }, chart: { type: Object, }, }, setup(props) { + const visibleCModal = ref(false) const chartRef = ref(null) const { setOptions } = useECharts(chartRef as Ref) @@ -60,9 +64,13 @@ list: [] as any, }) + const parent = ref({}) + const currentTab: any = computed(() => Data.tabs[activeKey.value]) - const tabChange = () => { + const tabChange = (e) => { + // visibleCModal.value = true + parent.value = e getData() } @@ -176,6 +184,10 @@ name: '全部', id: null, }, + { + name: '全部1', + id: 1, + }, ].concat(resData) } @@ -184,11 +196,13 @@ getData() }) return { + visibleCModal, ...toRefs(Data), chartRef, mode, tabChange, activeKey, + parent, } }, }) diff --git a/src/views/visualization/components/QXSZ.vue b/src/views/visualization/components/QXSZ.vue index ec77884f..c7469b24 100644 --- a/src/views/visualization/components/QXSZ.vue +++ b/src/views/visualization/components/QXSZ.vue @@ -53,7 +53,6 @@ import { DownOutlined } from '@ant-design/icons-vue' import { Dropdown, Menu } from 'ant-design-vue' import { getAgriculturalDeviceBasic, getDevices, getDeviceDataStatics } from '/@/api/sys/other' - import { useVisualizationStore } from '/@/store/modules/visualization' import { CountTo } from '/@/components/CountTo' import Box from './Box.vue' import { cloneDeep } from 'lodash' @@ -104,8 +103,10 @@ MenuItem: Menu.Item, CountTo, }, - setup() { - const visualizationStore = useVisualizationStore() + props: ['baseId'], + setup(props) { + console.log('===QXSZ') + console.log(props.baseId) const Data = reactive({ tabList: ref([]), currentTab: ref(''), @@ -125,7 +126,11 @@ } async function getData() { - const devices = await getDevices({ base: Data.currentTab, type: 4, status: 1 }) + const devices = await getDevices({ + base: props.baseId ?? Data.currentTab, + type: 4, + status: 1, + }) if (devices.length) { const { list } = await getDeviceDataStatics({ device_id: devices[0].id }) Data.list.forEach((e) => (e.value = Number(list[e.key]))) @@ -142,8 +147,14 @@ if (resData.length) onMenuClick({ key: resData[0].id }) } + const isBase = computed(() => !!props.baseId) + onBeforeMount(() => { - getTabs() + if (isBase.value) { + getData() + } else { + getTabs() + } }) return { diff --git a/src/views/visualization/components/SBYXZT.vue b/src/views/visualization/components/SBYXZT.vue index bc5ccabb..34504147 100644 --- a/src/views/visualization/components/SBYXZT.vue +++ b/src/views/visualization/components/SBYXZT.vue @@ -1,5 +1,5 @@