diff --git a/build/optimize.ts b/build/optimize.ts
new file mode 100644
index 0000000000..b021da6a87
--- /dev/null
+++ b/build/optimize.ts
@@ -0,0 +1,40 @@
+/**
+ * 此文件作用于 `vite.config.ts` 的 `optimizeDeps.include` 依赖预构建配置项
+ * 依赖预构建,`vite` 启动时会将下面 include 里的模块,编译成 esm 格式并缓存到 node_modules/.vite 文件夹,页面加载到对应模块时如果浏览器有缓存就读取浏览器缓存,如果没有会读取本地缓存并按需加载
+ * 尤其当您禁用浏览器缓存时(这种情况只应该发生在调试阶段)必须将对应模块加入到 include里,否则会遇到开发环境切换页面卡顿的问题(vite 会认为它是一个新的依赖包会重新加载并强制刷新页面),因为它既无法使用浏览器缓存,又没有在本地 node_modules/.vite 里缓存
+ * 温馨提示:如果您使用的第三方库是全局引入,也就是引入到 src/main.ts 文件里,就不需要再添加到 include 里了,因为 vite 会自动将它们缓存到 node_modules/.vite
+ */
+export const include = [
+ "xlsx",
+ "dayjs",
+ "pinia",
+ "swiper",
+ "lodash",
+ "intro.js",
+ "vue-i18n",
+ "lodash-es",
+ "cropperjs",
+ "jsbarcode",
+ "sortablejs",
+ "swiper/vue",
+ "@vueuse/core",
+ "vue3-danmaku",
+ "v-contextmenu",
+ "vue-pdf-embed",
+ "lodash-unified",
+ "china-area-data",
+ "@faker-js/faker",
+ "vue-json-pretty",
+ "@logicflow/core",
+ "@pureadmin/utils",
+ "@howdyjs/mouse-menu",
+ "@logicflow/extension",
+ "@amap/amap-jsapi-loader",
+ "el-table-infinite-scroll",
+ "@wangeditor/editor-for-vue",
+ "xgplayer/dist/simple_player",
+ "xgplayer/es/controls/volume",
+ "vuedraggable/src/vuedraggable",
+ "xgplayer/es/controls/screenShot",
+ "xgplayer/es/controls/playbackRate"
+];
diff --git a/package.json b/package.json
index c591aed0e4..4107d372b7 100644
--- a/package.json
+++ b/package.json
@@ -43,13 +43,13 @@
"@wangeditor/editor": "^5.1.21",
"@wangeditor/editor-for-vue": "^5.1.12",
"animate.css": "^4.1.1",
- "axios": "^1.1.3",
+ "axios": "^1.2.0",
"china-area-data": "^5.0.1",
"cropperjs": "^1.5.12",
- "dayjs": "^1.11.5",
+ "dayjs": "^1.11.6",
"echarts": "^5.4.0",
"el-table-infinite-scroll": "^3.0.1",
- "element-plus": "^2.2.22",
+ "element-plus": "^2.2.25",
"element-resize-detector": "^1.2.4",
"intro.js": "^6.0.0",
"js-cookie": "^3.0.1",
@@ -61,10 +61,9 @@
"mockjs": "^1.1.0",
"nprogress": "^0.2.0",
"path": "^0.12.7",
- "pinia": "^2.0.24",
+ "pinia": "^2.0.26",
"qrcode": "^1.5.1",
"qs": "^6.11.0",
- "resize-observer-polyfill": "^1.5.1",
"responsive-storage": "^2.1.0",
"sortablejs": "^1.15.0",
"swiper": "^8.4.4",
@@ -79,7 +78,7 @@
"vue-virtual-scroller": "^2.0.0-alpha.1",
"vue3-danmaku": "^1.0.0",
"vuedraggable": "^4.1.0",
- "vxe-table": "^4.3.5",
+ "vxe-table": "^4.3.6",
"xe-utils": "^3.5.7",
"xgplayer": "^2.32.1",
"xlsx": "^0.18.5"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 43086f1274..432ba870cb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -48,15 +48,15 @@ specifiers:
"@wangeditor/editor-for-vue": ^5.1.12
animate.css: ^4.1.1
autoprefixer: ^10.4.13
- axios: ^1.1.3
+ axios: ^1.2.0
china-area-data: ^5.0.1
cloc: ^2.10.0
cropperjs: ^1.5.12
cssnano: ^5.1.14
- dayjs: ^1.11.5
+ dayjs: ^1.11.6
echarts: ^5.4.0
el-table-infinite-scroll: ^3.0.1
- element-plus: ^2.2.22
+ element-plus: ^2.2.25
element-resize-detector: ^1.2.4
eslint: ^8.8.0
eslint-plugin-prettier: ^4.0.0
@@ -75,7 +75,7 @@ specifiers:
nprogress: ^0.2.0
path: ^0.12.7
picocolors: ^1.0.0
- pinia: ^2.0.24
+ pinia: ^2.0.26
postcss: ^8.4.18
postcss-html: ^1.5.0
postcss-import: ^15.0.0
@@ -84,7 +84,6 @@ specifiers:
pretty-quick: 3.1.1
qrcode: ^1.5.1
qs: ^6.11.0
- resize-observer-polyfill: ^1.5.1
responsive-storage: ^2.1.0
rimraf: 3.0.2
rollup-plugin-visualizer: ^5.8.3
@@ -122,7 +121,7 @@ specifiers:
vue-virtual-scroller: ^2.0.0-alpha.1
vue3-danmaku: ^1.0.0
vuedraggable: ^4.1.0
- vxe-table: ^4.3.5
+ vxe-table: ^4.3.6
xe-utils: ^3.5.7
xgplayer: ^2.32.1
xlsx: ^0.18.5
@@ -134,21 +133,21 @@ dependencies:
"@logicflow/core": 1.1.31
"@logicflow/extension": 1.1.31
"@pureadmin/components": 1.1.0_vue@3.2.45
- "@pureadmin/descriptions": 1.1.1_element-plus@2.2.22
- "@pureadmin/table": 1.8.0_element-plus@2.2.22
+ "@pureadmin/descriptions": 1.1.1_element-plus@2.2.25
+ "@pureadmin/table": 1.8.0_element-plus@2.2.25
"@pureadmin/utils": 1.6.7_aotapuqn7htzdjltsyimavekky
"@vueuse/core": 9.5.0_vue@3.2.45
"@vueuse/motion": 2.0.0-beta.12_vue@3.2.45
"@wangeditor/editor": 5.1.23
"@wangeditor/editor-for-vue": 5.1.12_3apfu3xbp6awzuex7ed3sbrv6y
animate.css: 4.1.1
- axios: 1.1.3
+ axios: 1.2.0
china-area-data: 5.0.1
cropperjs: 1.5.12
dayjs: 1.11.6
echarts: 5.4.0
el-table-infinite-scroll: 3.0.1
- element-plus: 2.2.22_vue@3.2.45
+ element-plus: 2.2.25_vue@3.2.45
element-resize-detector: 1.2.4
intro.js: 6.0.0
js-cookie: 3.0.1
@@ -160,10 +159,9 @@ dependencies:
mockjs: 1.1.0
nprogress: 0.2.0
path: 0.12.7
- pinia: 2.0.24_mgnvym7yiazkylwwogi5r767ue
+ pinia: 2.0.26_mgnvym7yiazkylwwogi5r767ue
qrcode: 1.5.1
qs: 6.11.0
- resize-observer-polyfill: 1.5.1
responsive-storage: 2.1.0
sortablejs: 1.15.0
swiper: 8.4.4
@@ -178,7 +176,7 @@ dependencies:
vue-virtual-scroller: 2.0.0-beta.3_vue@3.2.45
vue3-danmaku: 1.0.0_vue@3.2.45
vuedraggable: 4.1.0_vue@3.2.45
- vxe-table: 4.3.5_vue@3.2.45+xe-utils@3.5.7
+ vxe-table: 4.3.6_vue@3.2.45+xe-utils@3.5.7
xe-utils: 3.5.7
xgplayer: 2.32.2
xlsx: 0.18.5
@@ -1382,7 +1380,7 @@ packages:
vue: 3.2.45
dev: false
- /@pureadmin/descriptions/1.1.1_element-plus@2.2.22:
+ /@pureadmin/descriptions/1.1.1_element-plus@2.2.25:
resolution:
{
integrity: sha512-4BHLKomLU/LxGs5EUA+h+aKNrJEkhrU6+QE8VoWfJZ8VTU6ddvFLT/Pi4WuO5CWNXM9ZjqvHLFFVwEPlKntqtg==
@@ -1391,11 +1389,11 @@ packages:
element-plus: ^2.0.0
dependencies:
"@element-plus/icons-vue": 2.0.10_vue@3.2.45
- element-plus: 2.2.22_vue@3.2.45
+ element-plus: 2.2.25_vue@3.2.45
vue: 3.2.45
dev: false
- /@pureadmin/table/1.8.0_element-plus@2.2.22:
+ /@pureadmin/table/1.8.0_element-plus@2.2.25:
resolution:
{
integrity: sha512-hNXoU6HzAxUg/4KpG2rQbmr8EDdh+1XzP0Og0jqtgfj1uW5o5KWfx1101O/ReYVQ1EdnFsc44YLe0HZkyyMJDQ==
@@ -1403,7 +1401,7 @@ packages:
peerDependencies:
element-plus: ^2.0.0
dependencies:
- element-plus: 2.2.22_vue@3.2.45
+ element-plus: 2.2.25_vue@3.2.45
vue: 3.2.45
dev: false
@@ -2951,10 +2949,10 @@ packages:
postcss-value-parser: 4.2.0
dev: true
- /axios/1.1.3:
+ /axios/1.2.0:
resolution:
{
- integrity: sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==
+ integrity: sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==
}
dependencies:
follow-redirects: 1.15.2
@@ -4035,7 +4033,7 @@ packages:
}
dependencies:
core-js: 3.26.1
- element-plus: 2.2.22_vue@3.2.45
+ element-plus: 2.2.25_vue@3.2.45
vue: 3.2.45
transitivePeerDependencies:
- "@vue/composition-api"
@@ -4048,10 +4046,10 @@ packages:
}
dev: true
- /element-plus/2.2.22_vue@3.2.45:
+ /element-plus/2.2.25_vue@3.2.45:
resolution:
{
- integrity: sha512-gg2g2WOMNpWf0wGesymUvTV0VZDF/4khQKroSNeCV/vWJ/cqssPYdtqfGxTiFRt/f+JpyFkV7O1mo0yzMCzrBg==
+ integrity: sha512-HC8CWY31e6pPyBpgqI0QnWkBgs0vRzdYnEw3mpdM/NlKfp0PtNFX7NESQLomqoIulH5ftL09hjQmJNvZBQpthQ==
}
peerDependencies:
vue: ^3.2.0
@@ -6788,10 +6786,10 @@ packages:
engines: { node: ">=0.10.0" }
dev: true
- /pinia/2.0.24_mgnvym7yiazkylwwogi5r767ue:
+ /pinia/2.0.26_mgnvym7yiazkylwwogi5r767ue:
resolution:
{
- integrity: sha512-DDLd4Iphyc+6PYYYbx7jkb6WP9gecgu9bz9huyB5rb7CdJI3DhzYiZI+/Ih8MLewRrP9DSpslF/BgSNrJtZU7A==
+ integrity: sha512-tSxZNUcMGxQOvKZRjPKXxd2+/2NZhRF/CoYVE/+K6uE/Z3v1Oi4fcQFpxu5nMB1dCchjXUZ+lz0tBxV5ntwmQQ==
}
peerDependencies:
"@vue/composition-api": ^1.4.0
@@ -7621,13 +7619,6 @@ packages:
}
dev: false
- /resize-observer-polyfill/1.5.1:
- resolution:
- {
- integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
- }
- dev: false
-
/resolve-from/4.0.0:
resolution:
{
@@ -9226,10 +9217,10 @@ packages:
vue: 3.2.45
dev: false
- /vxe-table/4.3.5_vue@3.2.45+xe-utils@3.5.7:
+ /vxe-table/4.3.6_vue@3.2.45+xe-utils@3.5.7:
resolution:
{
- integrity: sha512-JEvGAs7SBN1rWn5f2tkoRiXd/rAT7RfnDTTlFsHsTtASiUTKNTISI2WBsVeLkkNRTs0SXh6FgrYsIPO2soSBXA==
+ integrity: sha512-SZ+ocVoOFc1PSzvpz6q5n7YvWvPSXUV+raet0zaSbQy3g8Dj7jKNlFbcsSoWZm8Uys9ufAQxeqYO5rRwOB2m7A==
}
peerDependencies:
vue: ^3.2.28
diff --git a/public/serverConfig.json b/public/serverConfig.json
index 4f5cb59489..cddbe1bb08 100644
--- a/public/serverConfig.json
+++ b/public/serverConfig.json
@@ -16,7 +16,7 @@
"EpThemeColor": "#409EFF",
"ShowLogo": true,
"ShowModel": "smart",
- "MenuArrowIconNoTransition": false,
+ "MenuArrowIconNoTransition": true,
"MapConfigure": {
"amapKey": "97b3248d1553172e81f168cf94ea667e",
"options": {
diff --git a/src/components/ReIcon/src/iconifyIconOffline.ts b/src/components/ReIcon/src/iconifyIconOffline.ts
index 390674cca9..66c2ab71cd 100644
--- a/src/components/ReIcon/src/iconifyIconOffline.ts
+++ b/src/components/ReIcon/src/iconifyIconOffline.ts
@@ -79,6 +79,7 @@ import ArrowUpLine from "@iconify-icons/ri/arrow-up-line";
import ArrowDownLine from "@iconify-icons/ri/arrow-down-line";
import Bookmark2Line from "@iconify-icons/ri/bookmark-2-line";
import AddFill from "@iconify-icons/ri/add-circle-line";
+import AddLine from "@iconify-icons/ri/add-line";
import ListCheck from "@iconify-icons/ri/list-check";
import More2Fill from "@iconify-icons/ri/more-2-fill";
import Database from "@iconify-icons/ri/database-2-line";
@@ -114,6 +115,7 @@ addIcon("arrow-up-line", ArrowUpLine);
addIcon("arrow-down-line", ArrowDownLine);
addIcon("bookmark-2-line", Bookmark2Line);
addIcon("add", AddFill);
+addIcon("add-line", AddLine);
addIcon("list-check", ListCheck);
addIcon("more-vertical", More2Fill);
addIcon("database", Database);
diff --git a/src/views/pure-table/high/echarts/index.vue b/src/views/pure-table/high/echarts/index.vue
index 6c9fa24a17..057a6ce956 100644
--- a/src/views/pure-table/high/echarts/index.vue
+++ b/src/views/pure-table/high/echarts/index.vue
@@ -7,7 +7,7 @@ const { columns, dataList } = useColumns();