فهرست منبع

轨迹页面 操作内容描述 文字描述变更

祁鹏飞 1 ماه پیش
والد
کامیت
8baa2deb86
6فایلهای تغییر یافته به همراه80 افزوده شده و 94 حذف شده
  1. 0 2
      index.html
  2. 4 2
      src/iconify/index.ts
  3. 0 10
      src/main.ts
  4. 61 77
      src/views/index.vue
  5. 2 3
      src/views/quoteConfig/agreement/components/operatorTrajectory.vue
  6. 13 0
      vite.config.ts

+ 0 - 2
index.html

@@ -10,8 +10,6 @@
     <meta http-equiv="Cache-control" content="no-cache">
     <meta http-equiv="Cache" content="no-cache">
     <title>%VITE_APP_TITLE%</title>
-    <!-- 天地图SDK -->
-    <script src="https://api.tianditu.gov.cn/api?v=4.0&tk=2699ecce1a53fa83c2a0c683397c9449"></script>
   </head>
   <body>
     <div id="app">

+ 4 - 2
src/iconify/index.ts

@@ -1,9 +1,11 @@
 import { addCollection } from '@iconify/vue'
-import data from './data.json'
 
 export async function downloadAndInstall(name: string) {
   const data = Object.freeze(await fetch(`./icons/${name}-raw.json`).then(r => r.json()))
   addCollection(data)
 }
 
-export const icons = data.sort((a, b) => a.info.name.localeCompare(b.info.name))
+export async function getIcons() {
+  const data = await import('./data.json')
+  return data.default.sort((a: any, b: any) => a.info.name.localeCompare(b.info.name))
+}

+ 0 - 10
src/main.ts

@@ -18,10 +18,6 @@ import directive from '@/utils/directive'
 // 加载 svg 图标
 import 'virtual:svg-icons-register'
 
-// 加载 iconify 图标
-import { downloadAndInstall } from '@/iconify'
-import icons from '@/iconify/index.json'
-
 import 'virtual:uno.css'
 
 // 全局样式
@@ -34,7 +30,6 @@ const app = createApp(App)
 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
   app.component(key, component)
 }
-// 添加 Element Plus
 app.use(FloatingVue, {
   distance: 12,
 })
@@ -44,10 +39,5 @@ app.use(router)
 app.use(VueCropper)
 app.use(ui)
 directive(app)
-if (icons.isOfflineUse) {
-  for (const info of icons.collections) {
-    downloadAndInstall(info)
-  }
-}
 
 app.mount('#app')

+ 61 - 77
src/views/index.vue

@@ -22,76 +22,57 @@ import bxgs from '@/assets/images/home/bxgs.png'
 import bxgszh from '@/assets/images/home/bxgszh.png'
 import ywygl from '@/assets/images/home/ywygl.png'
 
-import chinaMap from '@/assets/json/china.Json';
-import anhui from '@/assets/json/anhui.json'
-import aomen from '@/assets/json/aomen.json'
-import beijing from '@/assets/json/beijing.json'
-import chongqing from '@/assets/json/chongqing.json'
-import fujian from '@/assets/json/fujian.json'
-import gansu from '@/assets/json/gansu.json'
-import guangdong from '@/assets/json/guangdong.json'
-import guangxi from '@/assets/json/guangxi.json'
-import guizhou from '@/assets/json/guizhou.json'
-import hainan from '@/assets/json/hainan.json'
-import hebei from '@/assets/json/hebei.json'
-import heilongjiang from '@/assets/json/heilongjiang.json'
-import henan from '@/assets/json/henan.json'
-import hubei from '@/assets/json/hubei.json'
-import hunan from '@/assets/json/hunan.json'
-import jiangsu from '@/assets/json/jiangsu.json'
-import jiangxi from '@/assets/json/jiangxi.json'
-import jilin from '@/assets/json/jilin.json'
-import liaoning from '@/assets/json/liaoning.json'
-import neimenggu from '@/assets/json/neimenggu.json'
-import ningxia from '@/assets/json/ningxia.json'
-import qinghai from '@/assets/json/qinghai.json'
-import shandong from '@/assets/json/shandong.json'
-import shanghai from '@/assets/json/shanghai.json'
-import shanxi from '@/assets/json/shanxi.json'
-import shanxi1 from '@/assets/json/shanxi1.json'
-import sichuan from '@/assets/json/sichuan.json'
-import tianjin from '@/assets/json/tianjin.json'
-import xianggang from '@/assets/json/xianggang.json'
-import xinjiang from '@/assets/json/xinjiang.json'
-import xizang from '@/assets/json/xizang.json'
-import yunnan from '@/assets/json/yunnan.json'
-import zhejiang from '@/assets/json/zhejiang.json'
-import QRCode from 'qrcode'
+import chinaMap from '@/assets/json/china.json'
 
 echarts.registerMap('china', chinaMap)
-echarts.registerMap('安徽', anhui)
-echarts.registerMap('澳门', aomen)
-echarts.registerMap('北京', beijing)
-echarts.registerMap('重庆', chongqing)
-echarts.registerMap('福建', fujian)
-echarts.registerMap('甘肃', gansu)
-echarts.registerMap('广东', guangdong)
-echarts.registerMap('广西', guangxi)
-echarts.registerMap('贵州', guizhou)
-echarts.registerMap('海南', hainan)
-echarts.registerMap('河北', hebei)
-echarts.registerMap('黑龙江', heilongjiang)
-echarts.registerMap('河南', henan)
-echarts.registerMap('湖北', hubei)
-echarts.registerMap('湖南', hunan)
-echarts.registerMap('江苏', jiangsu)
-echarts.registerMap('江西', jiangxi)
-echarts.registerMap('吉林', jilin)
-echarts.registerMap('辽宁', liaoning)
-echarts.registerMap('内蒙', neimenggu)
-echarts.registerMap('宁夏', ningxia)
-echarts.registerMap('青海', qinghai)
-echarts.registerMap('山东', shandong)
-echarts.registerMap('上海', shanghai)
-echarts.registerMap('山西', shanxi)
-echarts.registerMap('陕西', shanxi1)
-echarts.registerMap('四川', sichuan)
-echarts.registerMap('天津', tianjin)
-echarts.registerMap('香港', xianggang)
-echarts.registerMap('新疆', xinjiang)
-echarts.registerMap('西藏', xizang)
-echarts.registerMap('云南', yunnan)
-echarts.registerMap('浙江', zhejiang)
+
+const provinceMapLoaders: Record<string, () => Promise<any>> = {
+  '安徽': () => import('@/assets/json/anhui.json'),
+  '澳门': () => import('@/assets/json/aomen.json'),
+  '北京': () => import('@/assets/json/beijing.json'),
+  '重庆': () => import('@/assets/json/chongqing.json'),
+  '福建': () => import('@/assets/json/fujian.json'),
+  '甘肃': () => import('@/assets/json/gansu.json'),
+  '广东': () => import('@/assets/json/guangdong.json'),
+  '广西': () => import('@/assets/json/guangxi.json'),
+  '贵州': () => import('@/assets/json/guizhou.json'),
+  '海南': () => import('@/assets/json/hainan.json'),
+  '河北': () => import('@/assets/json/hebei.json'),
+  '黑龙江': () => import('@/assets/json/heilongjiang.json'),
+  '河南': () => import('@/assets/json/henan.json'),
+  '湖北': () => import('@/assets/json/hubei.json'),
+  '湖南': () => import('@/assets/json/hunan.json'),
+  '江苏': () => import('@/assets/json/jiangsu.json'),
+  '江西': () => import('@/assets/json/jiangxi.json'),
+  '吉林': () => import('@/assets/json/jilin.json'),
+  '辽宁': () => import('@/assets/json/liaoning.json'),
+  '内蒙': () => import('@/assets/json/neimenggu.json'),
+  '宁夏': () => import('@/assets/json/ningxia.json'),
+  '青海': () => import('@/assets/json/qinghai.json'),
+  '山东': () => import('@/assets/json/shandong.json'),
+  '上海': () => import('@/assets/json/shanghai.json'),
+  '山西': () => import('@/assets/json/shanxi.json'),
+  '陕西': () => import('@/assets/json/shanxi1.json'),
+  '四川': () => import('@/assets/json/sichuan.json'),
+  '天津': () => import('@/assets/json/tianjin.json'),
+  '香港': () => import('@/assets/json/xianggang.json'),
+  '新疆': () => import('@/assets/json/xinjiang.json'),
+  '西藏': () => import('@/assets/json/xizang.json'),
+  '云南': () => import('@/assets/json/yunnan.json'),
+  '浙江': () => import('@/assets/json/zhejiang.json'),
+}
+
+const loadedProvinceMaps = new Set<string>()
+
+async function loadProvinceMap(name: string): Promise<boolean> {
+  if (loadedProvinceMaps.has(name)) return true
+  const loader = provinceMapLoaders[name]
+  if (!loader) return false
+  const module = await loader()
+  echarts.registerMap(name, module.default)
+  loadedProvinceMaps.add(name)
+  return true
+}
 
 let myRouter = useRouter()
 
@@ -194,23 +175,25 @@ const initChinaMap = () => {
 
 // 市级地图
 let CityMap = ref()
-const initCityMap = (name) => {
+const initCityMap = async (name) => {
   console.log(name)
   let str = ''
   if (name.length == 3) {
     str = name.substring(0, 2)
-    initMap(str)
+    await initMap(str)
   } else if (name.length == 4) {
     str = name.substring(0, 3)
-    initMap(str)
+    await initMap(str)
   } else if (name.length > 4) {
     str = name.substring(0, 2)
-    initMap(str)
+    await initMap(str)
   }
 }
 
-const initMap = (str) => {
+const initMap = async (str) => {
   console.log(str)
+  const loaded = await loadProvinceMap(str)
+  if (!loaded) return
   const myChart = echarts.init(CityMap.value)
   let option = {
     tooltip: {
@@ -690,9 +673,9 @@ let chinaMapData = ref([])
 let subMapData = ref([])
 let provinceStr = ref('')
 let provinceName = ref('')
-const initBusinessDistribution = () => {
+const initBusinessDistribution = async () => {
   console.log(provinceStr.value)
-  api.homeApi.businessDistribution(provinceStr.value).then((res: any) => {
+  api.homeApi.businessDistribution(provinceStr.value).then(async (res: any) => {
     if (!provinceStr.value) {
       if (res.code == 200) {
         chinaMapData.value = res.data?.map(item => {
@@ -722,7 +705,7 @@ const initBusinessDistribution = () => {
       } else {
         subMapData.value = []
       }
-      initCityMap(provinceName.value)
+      await initCityMap(provinceName.value)
     }
   })
 }
@@ -780,7 +763,7 @@ const initAppLatestVersion = () => {
 onMounted(async () => {
   let userInfo = JSON.parse(localStorage.getItem('userInfo'))
   if (userInfo?.province) {
-    initCityMap(userInfo?.province);
+    await initCityMap(userInfo?.province);
   }
   initDailyData();
   getNewList();
@@ -794,6 +777,7 @@ onMounted(async () => {
   // initTrend();
   // initFunnel();
   // initPie();
+  const QRCode = (await import('qrcode')).default
   await QRCode.toDataURL(appPath.value, {
     width: 116,
     height: 116,

+ 2 - 3
src/views/quoteConfig/agreement/components/operatorTrajectory.vue

@@ -16,15 +16,14 @@ import api from '@/api';
 const dialog = ref(false)
 const tableData = ref([])
 const columns = [
-  { prop: "operationContent", label: "操作类型", minWidth: '500', },
+  { prop: "operationContent", label: "操作内容描述", minWidth: '500', },
   {
-    prop: "operatorName", label: "承保规则", width: '120',
+    prop: "operatorName", label: "操作类型", width: '120',
   },
   { prop: "createTime", label: "操作时间", width: '240', },
   {
     prop: "createByName", label: "操作人", width: '120',
   },
-
 ];
 const pageInfo = ref({
   pageNum: 1,

+ 13 - 0
vite.config.ts

@@ -36,6 +36,19 @@ export default defineConfig(({ mode, command }) => {
     build: {
       outDir: mode === 'production' ? 'dist' : `dist-${mode}`,
       sourcemap: env.VITE_BUILD_SOURCEMAP === 'true',
+      rollupOptions: {
+        output: {
+          manualChunks: {
+            vue: ['vue', 'vue-router', 'pinia'],
+            'element-plus': ['element-plus', '@element-plus/icons-vue'],
+            echarts: ['echarts'],
+            qrcode: ['qrcode'],
+            'vue-office': ['@vue-office/docx'],
+            html2canvas: ['html2canvas'],
+            jszip: ['jszip'],
+          },
+        },
+      },
     },
     define: {
       __SYSTEM_INFO__: JSON.stringify({