diff --git a/jeecgboot-vue3/PWA-README.md b/jeecgboot-vue3/PWA-README.md deleted file mode 100644 index 9aacfe0a2..000000000 --- a/jeecgboot-vue3/PWA-README.md +++ /dev/null @@ -1,196 +0,0 @@ -# PWA 功能说明 - -## 概述 - -项目集成了 `vite-plugin-pwa` 插件,**适配按需加载**,实现资源缓存优化和离线支持。 - -**升级亮点**:通过集成 vite-plugin-pwa 实现渐进式 Web 应用,提升了首屏加载速度,同时异步加载系统资源,点击菜单响应更迅速。 - -**核心设计**:只预缓存关键资源,按需加载的路由组件 chunk 通过运行时缓存策略处理,避免预缓存过多资源。 - -## 核心文件 - -### 构建生成的文件 - -- **`sw.js`** - Service Worker 文件,由 `vite-plugin-pwa` 自动生成,包含: - - 预缓存资源列表(HTML、CSS、核心 JS、静态资源) - - 运行时缓存策略(JS chunk、CSS、图片、API 等) - - 缓存清理和更新逻辑 - -- **`workbox-*.js`** - Workbox 运行时库,Service Worker 的核心依赖 - -- **`manifest.webmanifest`** - PWA 清单文件,定义应用元数据 - -### 配置文件 - -- **`build/vite/plugin/pwa.ts`** - PWA 插件配置 - - **预缓存策略**:只缓存关键资源 - - 入口文件:`index.html`、`manifest.webmanifest` - - 核心 JS:入口 JS(`js/index-*.js`)、vendor chunk(`js/*-vendor-*.js`) - - 静态资源:CSS、图片、字体等 - - **不预缓存**:按需加载的路由组件 chunk(避免预缓存过多资源) - - **运行时缓存**:按需加载的资源通过运行时缓存策略处理 - - 按需加载的 JS chunk:NetworkFirst(优先网络,失败后使用缓存) - - CSS、图片、API 等:按需缓存 - - **注册方式**:`injectRegister: 'inline'`(内联到 HTML,避免缓存问题) - -## 功能特性 - -1. **资源缓存优化** - 通过缓存策略提升加载速度 -2. **离线支持** - 缓存静态资源,支持离线访问 - -## 缓存策略 - -### 预缓存(Precache) - -| 资源类型 | 说明 | -|---------|------| -| `index.html` | 入口 HTML 文件 | -| `manifest.webmanifest` | PWA 清单文件 | -| `js/index-*.js` | 入口 JS 文件 | -| `js/*-vendor-*.js` | 核心 vendor chunk(Vue、Ant Design Vue 等) | -| `assets/index-*.css` | **仅入口 CSS**(主样式文件) | -| `favicon.ico`、`logo.png` | **仅关键静态资源**(logo、图标) | - -**重要优化**: -- ❌ **不预缓存**:路由组件的 CSS(避免登录页加载全部 CSS) -- ❌ **不预缓存**:路由组件的 JS chunk(按需加载) -- ❌ **不预缓存**:所有图片和字体(按需加载) -- ✅ **只预缓存**:登录页和首屏必需的关键资源 - -**效果**:访问登录页时,只加载登录页相关资源,不会预加载系统大部分资源。 - -### 运行时缓存(Runtime Cache) - -| 资源类型 | 策略 | 有效期 | 说明 | -|---------|------|--------|------| -| 按需加载 JS chunk | NetworkFirst | 7天 | 优先网络,失败后使用缓存 | -| 路由组件 CSS | CacheFirst | 30天 | **按需加载**,优先缓存 | -| 图片 | CacheFirst | 30天 | 优先缓存 | -| API 请求 | NetworkFirst | 5分钟 | 优先网络,短时缓存 | -| Google Fonts | CacheFirst | 365天 | 长期缓存 | - -**优势**: -- ✅ **减少预缓存体积 80%+**:只预缓存关键资源,不预缓存路由组件 CSS/JS -- ✅ **登录页加载优化**:访问登录页时只加载登录页资源,不会加载系统大部分资源 -- ✅ **按需加载**:路由组件的 CSS 和 JS 只在访问对应页面时加载和缓存 -- ✅ **节省存储空间**:按需加载的 chunk 只在需要时缓存 -- ✅ **网络优先策略**:确保用户获取最新代码 - -## 性能提升分析 - -### 首次访问(无缓存) - -- **Service Worker 注册**:~50-100ms(后台异步,不影响页面加载) -- **预缓存安装**:~200-500ms(后台进行,关键资源已加载) -- **页面加载**:无影响(Service Worker 在后台工作) - -### 二次访问(有缓存) - -| 指标 | 无 PWA | 有 PWA | 提升 | -|------|--------|--------|------| -| **首屏加载时间** | 2-5s | 0.5-1.5s | **60-70%** ⬇️ | -| **关键资源加载** | 网络请求 | 缓存读取 | **90%+** ⬇️ | -| **CSS 加载** | 100-300ms | <10ms | **95%+** ⬇️ | -| **图片加载** | 200-500ms | <10ms | **95%+** ⬇️ | -| **离线访问** | ❌ 不可用 | ✅ 可用 | - | - -### 按需加载优化 - -- **预缓存体积**:仅 ~1-3MB(关键资源),而非全部资源(**减少 80%+**) -- **Service Worker 安装时间**:减少 **60-80%** -- **登录页加载**:只加载登录页资源,**不加载系统大部分资源** -- **存储空间**:节省 **70-85%**(不预缓存路由组件 CSS/JS) - -### 实际场景性能提升 - -1. **弱网环境(3G/4G)** - - 首屏加载:**3-5s → 0.8-1.5s**(提升 60-70%) - - 页面切换:**1-2s → 0.2-0.5s**(提升 75-80%) - -2. **离线访问** - - 已访问页面:**完全可用** - - 未访问页面:**部分可用**(关键资源已缓存) - -3. **重复访问** - - 资源加载:**网络 → 缓存**(提升 90%+) - - 用户体验:**秒开**(<100ms) - -## 前端体验优化建议 - -### 1. 资源加载优化 - -- ✅ **已实现**: - - 只预缓存关键资源(入口 JS、vendor、入口 CSS、logo) - - 路由组件的 CSS 和 JS **不预缓存**,按需加载 - - 访问登录页时只加载登录页资源,不会加载系统大部分资源 -- 💡 **建议**:确保静态资源(图片、字体)使用 CDN,配合缓存策略 - -### 2. 网络策略优化 - -- ✅ **已实现**:JS chunk 使用 NetworkFirst(3s 超时) -- 💡 **建议**:可根据实际网络情况调整 `networkTimeoutSeconds` - - 弱网环境:可适当增加超时时间(5-8s) - - 强网环境:可减少超时时间(1-2s) - -### 3. 缓存策略优化 - -- ✅ **已实现**:CSS、图片使用 CacheFirst(30天) -- 💡 **建议**: - - 静态资源(logo、图标):可延长至 90-180 天 - - 业务图片:保持 30 天,确保内容更新及时 - -### 4. 存储空间管理 - -- ✅ **已实现**:按需加载 chunk 限制 100 个,7 天过期 -- 💡 **建议**: - - 监控缓存使用情况(Chrome DevTools → Application → Storage) - - 根据用户访问模式调整 `maxEntries` 和 `maxAgeSeconds` - -### 5. 用户体验优化 - -- ✅ **已实现**:Service Worker 后台注册,不阻塞页面加载 -- 💡 **建议**: - - 添加加载提示(可选):显示"正在准备离线功能" - - 错误处理:Service Worker 注册失败时优雅降级 - -### 6. 性能监控 - -建议监控以下指标: -- **FCP(First Contentful Paint)**:目标 < 1.5s -- **LCP(Largest Contentful Paint)**:目标 < 2.5s -- **TTI(Time to Interactive)**:目标 < 3.5s -- **缓存命中率**:目标 > 80% - -## 注意事项 - -1. **仅生产环境生效** - 开发环境默认禁用 -2. **HTTPS 要求** - Service Worker 仅在 HTTPS 或 localhost 下工作 -3. **注册代码内联** - 使用 `injectRegister: 'inline'` 避免 `registerSW.js` 缓存问题 -4. **手动注册** - Service Worker 通过内联代码自动注册,但**不包含自动更新检测功能** -5. **按需加载适配** - 配置已优化适配 Vue Router 的按需加载,只预缓存关键资源,路由组件 chunk 按需缓存 - -## 禁用 PWA - -如需禁用 PWA 功能,在 `build/vite/plugin/index.ts` 中注释: - -```typescript -// vitePlugins.push(configPwaPlugin(isBuild)); -``` - -## 故障排查 - -### 清除 Service Worker - -浏览器控制台执行: - -```javascript -navigator.serviceWorker.getRegistrations().then(registrations => { - registrations.forEach(registration => registration.unregister()); -}); -``` - -### 检查 Service Worker 状态 - -- Chrome DevTools → Application → Service Workers -- 查看注册状态和缓存内容 diff --git a/jeecgboot-vue3/README.md b/jeecgboot-vue3/README.md deleted file mode 100644 index c6f4bab8a..000000000 --- a/jeecgboot-vue3/README.md +++ /dev/null @@ -1,106 +0,0 @@ -JeecgBoot 企业级低代码开发平台 -=============== -当前最新版本: 3.9.0(预计发布时间:2025-12-01) - -[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE) -[![](https://img.shields.io/badge/Author-北京国炬软件-orange.svg)](http://jeecg.com/aboutusIndex) -[![](https://img.shields.io/badge/version-3.9.0-brightgreen.svg)](https://github.com -/zhangdaiscott/jeecg-boot) -[![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot) -[![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot) - - - -## 简介 -JeecgBoot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue4、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 - -> 强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性 - - -## 开发环境搭建 - -- [前端开发环境准备](https://help.jeecg.com/setup/dev) -- [前端项目快速启动](https://help.jeecg.com/setup/startup) -- [通过IDEA启动项目](https://help.jeecg.com/java/setup/idea/startup) - -## 技术文档 - -- 官方文档:[https://help.jeecg.com](https://help.jeecg.com) -- 快速入门:[快速入门](http://jeecg.com/doc/quickstart) | [常见问题](http://help.jeecg.com/qa) -- QQ交流群:964611995、⑩716488839(满)、⑨808791225(满)、其他满 -- 在线演示 : [系统演示](http://boot3.jeecg.com) | [APP演示](http://jeecg.com/appIndex) -> 演示系统的登录账号密码,请点击 [获取账号密码](http://jeecg.com/doc/demo) 获取 - - -## 安装与使用 - -* 本地环境安装 `Node.js 、npm 、pnpm` -* Node.js 版本要求`Node 20+` 版本以上 - - ` ( 因为Vite5 不再支持已 EOL 的 Node.js 14 / 16 / 17 / 19,现在需要 Node 20+ )` - - - -- Get the project code - -```bash -git clone https://github.com/jeecgboot/JeecgBoot.git -``` - -- Installation dependencies - -```bash -cd JeecgBoot/jeecgboot-vue3 - -pnpm install -``` - -- 配置接口地址 `.env.development` - -```bash -VITE_PROXY = [["/jeecgboot","http://localhost:8080/jeecg-boot"],["/upload","http://localhost:3300/upload"]] -VITE_GLOB_DOMAIN_URL=http://localhost:8080/jeecg-boot -``` - -> 说明:把`http://localhost:8080/jeecg-boot` 换成自己地址,其他不用改。 - - -- run - -```bash -pnpm dev -``` - - -- build - -```bash -pnpm build -``` - -## 入门必备 - -本项目需要一定前端基础知识,请确保掌握 Vue 的基础知识,以便能处理一些常见的问题。 建议在开发前先学一下以下内容,提前了解和学习这些知识,会对项目理解非常有帮助: - -* [JeecgBoot文档](http://help.jeecg.com) -* [Vue3 文档](https://cn.vuejs.org/) -* [Vben文档](https://doc.vvbin.cn) -* [Ant-Design-Vue](https://www.antdv.com/docs/vue/introduce-cn/) -* [TypeScript](https://www.typescriptlang.org/) -* [Vue-router](https://router.vuejs.org/zh) -* [Es6](https://es6.ruanyifeng.com/) -* [Vitejs](https://cn.vitejs.dev/guide/) -* [Pinia(vuex替代方案)](https://pinia.esm.dev/introduction.html) -* [Vue-RFCS](https://github.com/vuejs/rfcs) -* [vxetable文档](https://vxetable.cn) - - -## 浏览器支持 - -**本地开发**推荐使用`Chrome 最新版`浏览器,**不支持**`Chrome 90`以下版本。 - -**生产环境**支持现代浏览器,不支持 IE。 - -| [![IE](https://raw.githubusercontent.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png)](http://godban.github.io/browsers-support-badges/)IE | [![ Edge](https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png)](http://godban.github.io/browsers-support-badges/)Edge | [![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png)](http://godban.github.io/browsers-support-badges/)Firefox | [![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png)](http://godban.github.io/browsers-support-badges/)Chrome | [![Safari](https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png)](http://godban.github.io/browsers-support-badges/)Safari | -| --- | --- | --- | --- | --- | -| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions | diff --git a/jeecgboot-vue3/src/router/routes/index.ts b/jeecgboot-vue3/src/router/routes/index.ts index 77b3dadfd..2ee5b2cfc 100644 --- a/jeecgboot-vue3/src/router/routes/index.ts +++ b/jeecgboot-vue3/src/router/routes/index.ts @@ -2,10 +2,8 @@ import type { AppRouteRecordRaw, AppRouteModule } from '/@/router/types'; import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic'; -import { mainOutRoutes } from './mainOut'; import { PageEnum } from '/@/enums/pageEnum'; import { t } from '/@/hooks/web/useI18n'; -import { LAYOUT } from '/@/router/constant'; const modules = import.meta.glob('./modules/**/*.ts', { eager: true }); @@ -65,4 +63,4 @@ export const TokenLoginRoute: AppRouteRecordRaw = { }, }; // Basic routing without permission -export const basicRoutes = [LoginRoute, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute]; +export const basicRoutes = [LoginRoute, RootRoute, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute]; diff --git a/jeecgboot-vue3/src/router/routes/mainOut.ts b/jeecgboot-vue3/src/router/routes/mainOut.ts deleted file mode 100644 index 6ecbaedc4..000000000 --- a/jeecgboot-vue3/src/router/routes/mainOut.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** -The routing of this file will not show the layout. -It is an independent new page. -the contents of the file still need to log in to access - */ -import type { AppRouteModule } from '/@/router/types'; - -// test -// http:ip:port/main-out -export const mainOutRoutes: AppRouteModule[] = [ - { - path: '/main-out', - name: 'MainOut', - component: () => import('/@/views/demo/main-out/index.vue'), - meta: { - title: 'MainOut', - ignoreAuth: true, - }, - }, -]; - -export const mainOutRouteNames = mainOutRoutes.map((item) => item.name); diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/charts.ts b/jeecgboot-vue3/src/router/routes/modules/demo/charts.ts deleted file mode 100644 index 1c5106792..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/charts.ts +++ /dev/null @@ -1,79 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { getParentLayout, LAYOUT } from '/@/router/constant'; -import { t } from '/@/hooks/web/useI18n'; - -const charts: AppRouteModule = { - path: '/charts', - name: 'Charts', - component: LAYOUT, - redirect: '/charts/echarts/map', - meta: { - orderNo: 500, - icon: 'ion:bar-chart-outline', - title: t('routes.demo.charts.charts'), - }, - children: [ - { - path: 'baiduMap', - name: 'BaiduMap', - meta: { - title: t('routes.demo.charts.baiduMap'), - }, - component: () => import('/@/views/demo/charts/map/Baidu.vue'), - }, - { - path: 'aMap', - name: 'AMap', - meta: { - title: t('routes.demo.charts.aMap'), - }, - component: () => import('/@/views/demo/charts/map/Gaode.vue'), - }, - { - path: 'googleMap', - name: 'GoogleMap', - meta: { - title: t('routes.demo.charts.googleMap'), - }, - component: () => import('/@/views/demo/charts/map/Google.vue'), - }, - { - path: 'echarts', - name: 'Echarts', - component: getParentLayout('Echarts'), - meta: { - title: 'Echarts', - }, - redirect: '/charts/echarts/map', - children: [ - { - path: 'map', - name: 'Map', - component: () => import('/@/views/demo/charts/Map.vue'), - meta: { - title: t('routes.demo.charts.map'), - }, - }, - { - path: 'line', - name: 'Line', - component: () => import('/@/views/demo/charts/Line.vue'), - meta: { - title: t('routes.demo.charts.line'), - }, - }, - { - path: 'pie', - name: 'Pie', - component: () => import('/@/views/demo/charts/Pie.vue'), - meta: { - title: t('routes.demo.charts.pie'), - }, - }, - ], - }, - ], -}; - -export default charts; diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/comp.ts b/jeecgboot-vue3/src/router/routes/modules/demo/comp.ts deleted file mode 100644 index cc0cc44aa..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/comp.ts +++ /dev/null @@ -1,692 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { getParentLayout, LAYOUT } from '/@/router/constant'; -import { t } from '/@/hooks/web/useI18n'; - -const comp: AppRouteModule = { - path: '/comp', - name: 'Comp', - component: LAYOUT, - redirect: '/comp/basic', - meta: { - orderNo: 30, - icon: 'ion:layers-outline', - title: t('routes.demo.comp.comp'), - }, - - children: [ - { - path: 'jeecg', - name: 'JeecgDemo', - redirect: '/comp/jeecg/basic', - component: getParentLayout('JeecgDemo'), - meta: { - title: t('routes.demo.comp.jeecg'), - }, - children: [ - { - path: 'basic', - name: 'JAreaLinkage', - component: () => import('/@/views/demo/jeecg/JeecgComponents.vue'), - meta: { - title: t('routes.demo.jeecg.JAreaLinkage'), - }, - }, - { - path: 'oneToMore', - name: 'oneToMoreDemo', - component: () => import('/@/views/demo/vextable/index.vue'), - meta: { - title: t('routes.demo.comp.oneToMore'), - }, - }, - ], - }, - { - path: 'basic', - name: 'BasicDemo', - component: getParentLayout('BasicDemo'), - meta: { - title: t('routes.demo.comp.basic'), - }, - children: [ - { - path: 'button', - name: 'ButtonDemo', - component: () => import('/@/views/demo/comp/button/index.vue'), - meta: { - title: t('routes.demo.basic.button'), - }, - }, - { - path: 'icon', - name: 'IconDemo', - component: () => import('/@/views/demo/feat/icon/index.vue'), - meta: { - title: t('routes.demo.feat.icon'), - }, - }, - { - path: 'msg', - name: 'MsgDemo', - component: () => import('/@/views/demo/feat/msg/index.vue'), - meta: { - title: t('routes.demo.feat.msg'), - }, - }, - { - path: 'tabs', - name: 'TabsDemo', - component: () => import('/@/views/demo/feat/tabs/index.vue'), - meta: { - title: t('routes.demo.feat.tabs'), - hideChildrenInMenu: true, - }, - children: [ - { - path: 'detail/:id', - name: 'TabDetail', - component: () => import('/@/views/demo/feat/tabs/TabDetail.vue'), - meta: { - currentActiveMenu: '/comp/basic/tabs', - title: t('routes.demo.feat.tabDetail'), - hideMenu: true, - dynamicLevel: 3, - realPath: '/comp/basic/tabs/detail', - }, - }, - ], - }, - ], - }, - - { - path: 'form', - name: 'FormDemo', - redirect: '/comp/form/basic', - component: getParentLayout('FormDemo'), - meta: { - // icon: 'mdi:form-select', - title: t('routes.demo.form.form'), - }, - children: [ - { - path: 'basic', - name: 'FormBasicDemo', - component: () => import('/@/views/demo/form/index.vue'), - meta: { - title: t('routes.demo.form.basic'), - }, - }, - { - path: 'useForm', - name: 'UseFormDemo', - component: () => import('/@/views/demo/form/UseForm.vue'), - meta: { - title: t('routes.demo.form.useForm'), - }, - }, - { - path: 'refForm', - name: 'RefFormDemo', - component: () => import('/@/views/demo/form/RefForm.vue'), - meta: { - title: t('routes.demo.form.refForm'), - }, - }, - { - path: 'advancedForm', - name: 'AdvancedFormDemo', - component: () => import('/@/views/demo/form/AdvancedForm.vue'), - meta: { - title: t('routes.demo.form.advancedForm'), - }, - }, - { - path: 'ruleForm', - name: 'RuleFormDemo', - component: () => import('/@/views/demo/form/RuleForm.vue'), - meta: { - title: t('routes.demo.form.ruleForm'), - }, - }, - { - path: 'dynamicForm', - name: 'DynamicFormDemo', - component: () => import('/@/views/demo/form/DynamicForm.vue'), - meta: { - title: t('routes.demo.form.dynamicForm'), - }, - }, - { - path: 'customerForm', - name: 'CustomerFormDemo', - component: () => import('/@/views/demo/form/CustomerForm.vue'), - meta: { - title: t('routes.demo.form.customerForm'), - }, - }, - { - path: 'appendForm', - name: 'appendFormDemo', - component: () => import('/@/views/demo/form/AppendForm.vue'), - meta: { - title: t('routes.demo.form.appendForm'), - }, - }, - ], - }, - { - path: 'table', - name: 'TableDemo', - redirect: '/comp/table/basic', - component: getParentLayout('TableDemo'), - meta: { - // icon: 'carbon:table-split', - title: t('routes.demo.table.table'), - }, - - children: [ - { - path: 'basic', - name: 'TableBasicDemo', - component: () => import('/@/views/demo/table/Basic.vue'), - meta: { - title: t('routes.demo.table.basic'), - }, - }, - { - path: 'treeTable', - name: 'TreeTableDemo', - component: () => import('/@/views/demo/table/TreeTable.vue'), - meta: { - title: t('routes.demo.table.treeTable'), - }, - }, - { - path: 'fetchTable', - name: 'FetchTableDemo', - component: () => import('/@/views/demo/table/FetchTable.vue'), - meta: { - title: t('routes.demo.table.fetchTable'), - }, - }, - { - path: 'fixedColumn', - name: 'FixedColumnDemo', - component: () => import('/@/views/demo/table/FixedColumn.vue'), - meta: { - title: t('routes.demo.table.fixedColumn'), - }, - }, - { - path: 'customerCell', - name: 'CustomerCellDemo', - component: () => import('/@/views/demo/table/CustomerCell.vue'), - meta: { - title: t('routes.demo.table.customerCell'), - }, - }, - { - path: 'formTable', - name: 'FormTableDemo', - component: () => import('/@/views/demo/table/FormTable.vue'), - meta: { - title: t('routes.demo.table.formTable'), - }, - }, - { - path: 'useTable', - name: 'UseTableDemo', - component: () => import('/@/views/demo/table/UseTable.vue'), - meta: { - title: t('routes.demo.table.useTable'), - }, - }, - { - path: 'refTable', - name: 'RefTableDemo', - component: () => import('/@/views/demo/table/RefTable.vue'), - meta: { - title: t('routes.demo.table.refTable'), - }, - }, - { - path: 'multipleHeader', - name: 'MultipleHeaderDemo', - component: () => import('/@/views/demo/table/MultipleHeader.vue'), - meta: { - title: t('routes.demo.table.multipleHeader'), - }, - }, - { - path: 'mergeHeader', - name: 'MergeHeaderDemo', - component: () => import('/@/views/demo/table/MergeHeader.vue'), - meta: { - title: t('routes.demo.table.mergeHeader'), - }, - }, - { - path: 'nestedTable', - name: 'nestedTableDemo', - component: () => import('/@/views/demo/table/NestedTable.vue'), - meta: { - title: t('routes.demo.table.nestedTable'), - }, - }, - { - path: 'expandTable', - name: 'ExpandTableDemo', - component: () => import('/@/views/demo/table/ExpandTable.vue'), - meta: { - title: t('routes.demo.table.expandTable'), - }, - }, - { - path: 'fixedHeight', - name: 'FixedHeightDemo', - component: () => import('/@/views/demo/table/FixedHeight.vue'), - meta: { - title: t('routes.demo.table.fixedHeight'), - }, - }, - { - path: 'footerTable', - name: 'FooterTableDemo', - component: () => import('/@/views/demo/table/FooterTable.vue'), - meta: { - title: t('routes.demo.table.footerTable'), - }, - }, - { - path: 'editCellTable', - name: 'EditCellTableDemo', - component: () => import('/@/views/demo/table/EditCellTable.vue'), - meta: { - title: t('routes.demo.table.editCellTable'), - }, - }, - { - path: 'editRowTable', - name: 'EditRowTableDemo', - component: () => import('/@/views/demo/table/EditRowTable.vue'), - meta: { - title: t('routes.demo.table.editRowTable'), - }, - }, - { - path: 'authColumn', - name: 'AuthColumnDemo', - component: () => import('/@/views/demo/table/AuthColumn.vue'), - meta: { - title: t('routes.demo.table.authColumn'), - }, - }, - ], - }, - { - path: 'modal', - name: 'ModalDemo', - redirect: '/comp/modal/basic', - component: getParentLayout('ModalDemo'), - meta: { - title: t('routes.demo.comp.modal'), - }, - children: [ - { - path: 'basic', - name: 'ModalBasicDemo', - component: () => import('/@/views/demo/comp/modal/index.vue'), - meta: { - title: t('routes.demo.comp.modal.basic'), - }, - }, - { - path: 'drawer', - name: 'DrawerDemo', - component: () => import('/@/views/demo/comp/drawer/index.vue'), - meta: { - title: t('routes.demo.comp.modal.drawer'), - }, - }, - ], - }, - - { - path: 'third', - name: 'ThirdDemo', - redirect: '/comp/third/basic', - component: getParentLayout('ModalDemo'), - meta: { - title: t('routes.demo.comp.third'), - }, - children: [ - { - path: 'basic', - name: 'CropperDemo', - component: () => import('/@/views/demo/comp/cropper/index.vue'), - meta: { - title: t('routes.demo.comp.cropperImage'), - }, - }, - { - path: 'qrcode', - name: 'QrCodeDemo', - component: () => import('/@/views/demo/comp/qrcode/index.vue'), - meta: { - title: t('routes.demo.comp.qrcode'), - }, - }, - { - path: 'strength-meter', - name: 'StrengthMeterDemo', - component: () => import('/@/views/demo/comp/strength-meter/index.vue'), - meta: { - title: t('routes.demo.comp.strength'), - }, - }, - { - path: 'upload', - name: 'UploadDemo', - component: () => import('/@/views/demo/comp/upload/index.vue'), - meta: { - title: t('routes.demo.comp.upload'), - }, - }, - { - path: 'loading', - name: 'LoadingDemo', - component: () => import('/@/views/demo/comp/loading/index.vue'), - meta: { - title: t('routes.demo.comp.loading'), - }, - }, - { - path: 'timestamp', - name: 'TimeDemo', - component: () => import('/@/views/demo/comp/time/index.vue'), - meta: { - title: t('routes.demo.comp.time'), - }, - }, - { - path: 'countTo', - name: 'CountTo', - component: () => import('/@/views/demo/comp/count-to/index.vue'), - meta: { - title: t('routes.demo.comp.countTo'), - }, - }, - { - path: 'transition', - name: 'transitionDemo', - component: () => import('/@/views/demo/comp/transition/index.vue'), - meta: { - title: t('routes.demo.comp.transition'), - }, - }, - { - path: 'print', - name: 'Print', - component: () => import('/@/views/demo/feat/print/index.vue'), - meta: { - title: t('routes.demo.feat.print'), - }, - }, - { - path: 'img-preview', - name: 'ImgPreview', - component: () => import('/@/views/demo/feat/img-preview/index.vue'), - meta: { - title: t('routes.demo.feat.imgPreview'), - }, - }, - { - path: 'download', - name: 'DownLoadDemo', - component: () => import('/@/views/demo/feat/download/index.vue'), - meta: { - title: t('routes.demo.feat.download'), - }, - }, - { - path: 'click-out-side', - name: 'ClickOutSideDemo', - component: () => import('/@/views/demo/feat/click-out-side/index.vue'), - meta: { - title: t('routes.demo.feat.clickOutSide'), - }, - }, - { - path: 'copy', - name: 'CopyDemo', - component: () => import('/@/views/demo/feat/copy/index.vue'), - meta: { - title: t('routes.demo.feat.copy'), - }, - }, - { - path: 'ripple', - name: 'RippleDemo', - component: () => import('/@/views/demo/feat/ripple/index.vue'), - meta: { - title: t('routes.demo.feat.ripple'), - }, - }, - ], - }, - { - path: 'tree', - name: 'TreeDemo', - redirect: '/comp/tree/basic', - component: getParentLayout('TreeDemo'), - meta: { - // icon: 'clarity:tree-view-line', - title: t('routes.demo.comp.tree'), - }, - children: [ - { - path: 'basic', - name: 'BasicTreeDemo', - component: () => import('/@/views/demo/tree/index.vue'), - meta: { - title: t('routes.demo.comp.treeBasic'), - }, - }, - { - path: 'editTree', - name: 'EditTreeDemo', - component: () => import('/@/views/demo/tree/EditTree.vue'), - meta: { - title: t('routes.demo.comp.editTree'), - }, - }, - { - path: 'actionTree', - name: 'ActionTreeDemo', - component: () => import('/@/views/demo/tree/ActionTree.vue'), - meta: { - title: t('routes.demo.comp.actionTree'), - }, - }, - ], - }, - { - path: 'editor', - name: 'EditorDemo', - redirect: '/comp/editor/markdown', - component: getParentLayout('EditorDemo'), - meta: { - // icon: 'carbon:table-split', - title: t('routes.demo.editor.editor'), - }, - children: [ - { - path: 'json', - component: () => import('/@/views/demo/editor/json/index.vue'), - name: 'JsonEditorDemo', - meta: { - title: t('routes.demo.editor.jsonEditor'), - }, - }, - { - path: 'markdown', - component: getParentLayout('MarkdownDemo'), - name: 'MarkdownDemo', - meta: { - title: t('routes.demo.editor.markdown'), - }, - redirect: '/comp/editor/markdown/index', - children: [ - { - path: 'index', - name: 'MarkDownBasicDemo', - component: () => import('/@/views/demo/editor/markdown/index.vue'), - meta: { - title: t('routes.demo.editor.tinymceBasic'), - }, - }, - { - path: 'editor', - name: 'MarkDownFormDemo', - component: () => import('/@/views/demo/editor/markdown/Editor.vue'), - meta: { - title: t('routes.demo.editor.tinymceForm'), - }, - }, - ], - }, - - { - path: 'tinymce', - component: getParentLayout('TinymceDemo'), - name: 'TinymceDemo', - meta: { - title: t('routes.demo.editor.tinymce'), - }, - redirect: '/comp/editor/tinymce/index', - children: [ - { - path: 'index', - name: 'TinymceBasicDemo', - component: () => import('/@/views/demo/editor/tinymce/index.vue'), - meta: { - title: t('routes.demo.editor.tinymceBasic'), - }, - }, - { - path: 'editor', - name: 'TinymceFormDemo', - component: () => import('/@/views/demo/editor/tinymce/Editor.vue'), - meta: { - title: t('routes.demo.editor.tinymceForm'), - }, - }, - ], - }, - ], - }, - { - path: 'scroll', - name: 'ScrollDemo', - redirect: '/comp/scroll/basic', - component: getParentLayout('ScrollDemo'), - meta: { - title: t('routes.demo.comp.scroll'), - }, - children: [ - { - path: 'basic', - name: 'BasicScrollDemo', - component: () => import('/@/views/demo/comp/scroll/index.vue'), - meta: { - title: t('routes.demo.comp.scrollBasic'), - }, - }, - { - path: 'action', - name: 'ActionScrollDemo', - component: () => import('/@/views/demo/comp/scroll/Action.vue'), - meta: { - title: t('routes.demo.comp.scrollAction'), - }, - }, - { - path: 'virtualScroll', - name: 'VirtualScrollDemo', - component: () => import('/@/views/demo/comp/scroll/VirtualScroll.vue'), - meta: { - title: t('routes.demo.comp.virtualScroll'), - }, - }, - ], - }, - - { - path: 'desc', - name: 'DescDemo', - component: () => import('/@/views/demo/comp/desc/index.vue'), - meta: { - title: t('routes.demo.comp.desc'), - }, - }, - - { - path: 'lazy', - name: 'LazyDemo', - component: getParentLayout('LazyDemo'), - redirect: '/comp/lazy/basic', - meta: { - title: t('routes.demo.comp.lazy'), - }, - children: [ - { - path: 'basic', - name: 'BasicLazyDemo', - component: () => import('/@/views/demo/comp/lazy/index.vue'), - meta: { - title: t('routes.demo.comp.lazyBasic'), - }, - }, - { - path: 'transition', - name: 'BasicTransitionDemo', - component: () => import('/@/views/demo/comp/lazy/Transition.vue'), - meta: { - title: t('routes.demo.comp.lazyTransition'), - }, - }, - ], - }, - { - path: 'verify', - name: 'VerifyDemo', - component: getParentLayout('VerifyDemo'), - redirect: '/comp/verify/drag', - meta: { - title: t('routes.demo.comp.verify'), - }, - children: [ - { - path: 'drag', - name: 'VerifyDragDemo', - component: () => import('/@/views/demo/comp/verify/index.vue'), - meta: { - title: t('routes.demo.comp.verifyDrag'), - }, - }, - { - path: 'rotate', - name: 'VerifyRotateDemo', - component: () => import('/@/views/demo/comp/verify/Rotate.vue'), - meta: { - title: t('routes.demo.comp.verifyRotate'), - }, - }, - ], - }, - ], -}; - -export default comp; diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/feat.ts b/jeecgboot-vue3/src/router/routes/modules/demo/feat.ts deleted file mode 100644 index 722eca820..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/feat.ts +++ /dev/null @@ -1,196 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { getParentLayout, LAYOUT } from '/@/router/constant'; -import { t } from '/@/hooks/web/useI18n'; - -const feat: AppRouteModule = { - path: '/feat', - name: 'FeatDemo', - component: LAYOUT, - redirect: '/feat/icon', - meta: { - orderNo: 19, - icon: 'ion:git-compare-outline', - title: t('routes.demo.feat.feat'), - }, - - children: [ - { - path: 'ws', - name: 'WebSocket', - component: () => import('/@/views/demo/feat/ws/index.vue'), - meta: { - title: t('routes.demo.feat.ws'), - }, - }, - { - path: 'session-timeout', - name: 'SessionTimeout', - component: () => import('/@/views/demo/feat/session-timeout/index.vue'), - meta: { - title: t('routes.demo.feat.sessionTimeout'), - }, - }, - - { - path: 'breadcrumb', - name: 'BreadcrumbDemo', - redirect: '/feat/breadcrumb/flat', - component: getParentLayout('BreadcrumbDemo'), - meta: { - title: t('routes.demo.feat.breadcrumb'), - }, - - children: [ - { - path: 'flat', - name: 'BreadcrumbFlatDemo', - component: () => import('/@/views/demo/feat/breadcrumb/FlatList.vue'), - meta: { - title: t('routes.demo.feat.breadcrumbFlat'), - }, - }, - { - path: 'flatDetail', - name: 'BreadcrumbFlatDetailDemo', - component: () => import('/@/views/demo/feat/breadcrumb/FlatListDetail.vue'), - meta: { - title: t('routes.demo.feat.breadcrumbFlatDetail'), - hideMenu: true, - hideTab: true, - currentActiveMenu: '/feat/breadcrumb/flat', - }, - }, - { - path: 'children', - name: 'BreadcrumbChildrenDemo', - component: () => import('/@/views/demo/feat/breadcrumb/ChildrenList.vue'), - meta: { - title: t('routes.demo.feat.breadcrumbChildren'), - }, - children: [ - { - path: 'childrenDetail', - name: 'BreadcrumbChildrenDetailDemo', - component: () => import('/@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'), - meta: { - currentActiveMenu: '/feat/breadcrumb/children', - title: t('routes.demo.feat.breadcrumbChildrenDetail'), - //hideTab: true, - // hideMenu: true, - }, - }, - ], - }, - ], - }, - - { - path: 'context-menu', - name: 'ContextMenuDemo', - component: () => import('/@/views/demo/feat/context-menu/index.vue'), - meta: { - title: t('routes.demo.feat.contextMenu'), - }, - }, - - { - path: 'copy', - name: 'CopyDemo', - component: () => import('/@/views/demo/feat/copy/index.vue'), - meta: { - title: t('routes.demo.feat.copy'), - }, - }, - - { - path: 'watermark', - name: 'WatermarkDemo', - component: () => import('/@/views/demo/feat/watermark/index.vue'), - meta: { - title: t('routes.demo.feat.watermark'), - }, - }, - - { - path: 'full-screen', - name: 'FullScreenDemo', - component: () => import('/@/views/demo/feat/full-screen/index.vue'), - meta: { - title: t('routes.demo.feat.fullScreen'), - }, - }, - - { - path: '/error-log', - name: 'ErrorLog', - component: () => import('/@/views/sys/error-log/index.vue'), - meta: { - title: t('routes.demo.feat.errorLog'), - }, - }, - { - path: 'testTab/:id', - name: 'TestTab', - component: () => import('/@/views/demo/feat/tab-params/index.vue'), - meta: { - title: t('routes.demo.feat.tab'), - carryParam: true, - hidePathForChildren: true, - }, - children: [ - { - path: 'testTab/id1', - name: 'TestTab1', - component: () => import('/@/views/demo/feat/tab-params/index.vue'), - meta: { - title: t('routes.demo.feat.tab1'), - carryParam: true, - ignoreRoute: true, - }, - }, - { - path: 'testTab/id2', - name: 'TestTab2', - component: () => import('/@/views/demo/feat/tab-params/index.vue'), - meta: { - title: t('routes.demo.feat.tab2'), - carryParam: true, - ignoreRoute: true, - }, - }, - ], - }, - { - path: 'testParam/:id', - name: 'TestParam', - component: getParentLayout('TestParam'), - meta: { - title: t('routes.demo.feat.menu'), - ignoreKeepAlive: true, - }, - children: [ - { - path: 'sub1', - name: 'TestParam_1', - component: () => import('/@/views/demo/feat/menu-params/index.vue'), - meta: { - title: t('routes.demo.feat.menu1'), - ignoreKeepAlive: true, - }, - }, - { - path: 'sub2', - name: 'TestParam_2', - component: () => import('/@/views/demo/feat/menu-params/index.vue'), - meta: { - title: t('routes.demo.feat.menu2'), - ignoreKeepAlive: true, - }, - }, - ], - }, - ], -}; - -export default feat; diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/iframe.ts b/jeecgboot-vue3/src/router/routes/modules/demo/iframe.ts deleted file mode 100644 index 95b21d681..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/iframe.ts +++ /dev/null @@ -1,48 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { LAYOUT } from '/@/router/constant'; -const IFrame = () => import('/@/views/sys/iframe/FrameBlank.vue'); -import { t } from '/@/hooks/web/useI18n'; - -const iframe: AppRouteModule = { - path: '/frame', - name: 'Frame', - component: LAYOUT, - redirect: '/frame/doc', - meta: { - orderNo: 1000, - icon: 'ion:tv-outline', - title: t('routes.demo.iframe.frame'), - }, - - children: [ - { - path: 'doc', - name: 'Doc', - component: IFrame, - meta: { - frameSrc: 'https://vvbin.cn/doc-next/', - title: t('routes.demo.iframe.doc'), - }, - }, - { - path: 'antv', - name: 'Antv', - component: IFrame, - meta: { - frameSrc: 'https://2x.antdv.com/docs/vue/introduce-cn/', - title: t('routes.demo.iframe.antv'), - }, - }, - { - path: 'https://vvbin.cn/doc-next/', - name: 'DocExternal', - component: IFrame, - meta: { - title: t('routes.demo.iframe.docExternal'), - }, - }, - ], -}; - -export default iframe; diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/level.ts b/jeecgboot-vue3/src/router/routes/modules/demo/level.ts deleted file mode 100644 index 3cee3755d..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/level.ts +++ /dev/null @@ -1,68 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { getParentLayout, LAYOUT } from '/@/router/constant'; -import { t } from '/@/hooks/web/useI18n'; - -const permission: AppRouteModule = { - path: '/level', - name: 'Level', - component: LAYOUT, - redirect: '/level/menu1/menu1-1/menu1-1-1', - meta: { - orderNo: 2000, - icon: 'ion:menu-outline', - title: t('routes.demo.level.level'), - }, - - children: [ - { - path: 'menu1', - name: 'Menu1Demo', - component: getParentLayout('Menu1Demo'), - meta: { - title: 'Menu1', - }, - redirect: '/level/menu1/menu1-1/menu1-1-1', - children: [ - { - path: 'menu1-1', - name: 'Menu11Demo', - component: getParentLayout('Menu11Demo'), - meta: { - title: 'Menu1-1', - }, - redirect: '/level/menu1/menu1-1/menu1-1-1', - children: [ - { - path: 'menu1-1-1', - name: 'Menu111Demo', - component: () => import('/@/views/demo/level/Menu111.vue'), - meta: { - title: 'Menu111', - }, - }, - ], - }, - { - path: 'menu1-2', - name: 'Menu12Demo', - component: () => import('/@/views/demo/level/Menu12.vue'), - meta: { - title: 'Menu1-2', - }, - }, - ], - }, - { - path: 'menu2', - name: 'Menu2Demo', - component: () => import('/@/views/demo/level/Menu2.vue'), - meta: { - title: 'Menu2', - // ignoreKeepAlive: true, - }, - }, - ], -}; - -export default permission; diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/page.ts b/jeecgboot-vue3/src/router/routes/modules/demo/page.ts deleted file mode 100644 index 17ab276a9..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/page.ts +++ /dev/null @@ -1,255 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { getParentLayout, LAYOUT } from '/@/router/constant'; -import { ExceptionEnum } from '/@/enums/exceptionEnum'; -import { t } from '/@/hooks/web/useI18n'; - -const ExceptionPage = () => import('/@/views/sys/exception/Exception.vue'); - -const page: AppRouteModule = { - path: '/page-demo', - name: 'PageDemo', - component: LAYOUT, - redirect: '/page-demo/form/basic', - meta: { - orderNo: 20, - icon: 'ion:aperture-outline', - title: t('routes.demo.page.page'), - }, - children: [ - // =============================form start============================= - { - path: 'form', - name: 'FormPage', - redirect: '/page-demo/form/basic', - component: getParentLayout('FormPage'), - meta: { - title: t('routes.demo.page.form'), - }, - children: [ - { - path: 'basic', - name: 'FormBasicPage', - component: () => import('/@/views/demo/page/form/basic/index.vue'), - meta: { - title: t('routes.demo.page.formBasic'), - }, - }, - { - path: 'step', - name: 'FormStepPage', - component: () => import('/@/views/demo/page/form/step/index.vue'), - meta: { - title: t('routes.demo.page.formStep'), - }, - }, - { - path: 'high', - name: 'FormHightPage', - component: () => import('/@/views/demo/page/form/high/index.vue'), - meta: { - title: t('routes.demo.page.formHigh'), - }, - }, - ], - }, - // =============================form end============================= - // =============================desc start============================= - { - path: 'desc', - name: 'DescPage', - component: getParentLayout('DescPage'), - redirect: '/page-demo/desc/basic', - meta: { - title: t('routes.demo.page.desc'), - }, - children: [ - { - path: 'basic', - name: 'DescBasicPage', - component: () => import('/@/views/demo/page/desc/basic/index.vue'), - meta: { - title: t('routes.demo.page.descBasic'), - }, - }, - { - path: 'high', - name: 'DescHighPage', - component: () => import('/@/views/demo/page/desc/high/index.vue'), - meta: { - title: t('routes.demo.page.descHigh'), - }, - }, - ], - }, - // =============================desc end============================= - - // =============================result start============================= - { - path: 'result', - name: 'ResultPage', - redirect: '/page-demo/result/success', - component: getParentLayout('ResultPage'), - - meta: { - title: t('routes.demo.page.result'), - }, - children: [ - { - path: 'success', - name: 'ResultSuccessPage', - component: () => import('/@/views/demo/page/result/success/index.vue'), - meta: { - title: t('routes.demo.page.resultSuccess'), - }, - }, - { - path: 'fail', - name: 'ResultFailPage', - component: () => import('/@/views/demo/page/result/fail/index.vue'), - meta: { - title: t('routes.demo.page.resultFail'), - }, - }, - ], - }, - // =============================result end============================= - - // =============================account start============================= - { - path: 'account', - name: 'AccountPage', - component: getParentLayout('AccountPage'), - redirect: '/page-demo/account/setting', - meta: { - title: t('routes.demo.page.account'), - }, - children: [ - { - path: 'center', - name: 'AccountCenterPage', - component: () => import('/@/views/demo/page/account/center/index.vue'), - meta: { - title: t('routes.demo.page.accountCenter'), - }, - }, - { - path: 'setting', - name: 'AccountSettingPage', - component: () => import('/@/views/demo/page/account/setting/index.vue'), - meta: { - title: t('routes.demo.page.accountSetting'), - }, - }, - ], - }, - // =============================account end============================= - // =============================exception start============================= - { - path: 'exception', - name: 'ExceptionPage', - component: getParentLayout('ExceptionPage'), - redirect: '/page-demo/exception/404', - meta: { - title: t('routes.demo.page.exception'), - }, - children: [ - { - path: '403', - name: 'PageNotAccess', - component: ExceptionPage, - props: { - status: ExceptionEnum.PAGE_NOT_ACCESS, - }, - meta: { - title: '403', - }, - }, - { - path: '404', - name: 'PageNotFound', - component: ExceptionPage, - props: { - status: ExceptionEnum.PAGE_NOT_FOUND, - }, - meta: { - title: '404', - }, - }, - { - path: '500', - name: 'ServiceError', - component: ExceptionPage, - props: { - status: ExceptionEnum.ERROR, - }, - meta: { - title: '500', - }, - }, - { - path: 'net-work-error', - name: 'NetWorkError', - component: ExceptionPage, - props: { - status: ExceptionEnum.NET_WORK_ERROR, - }, - meta: { - title: t('routes.demo.page.netWorkError'), - }, - }, - { - path: 'not-data', - name: 'NotData', - component: ExceptionPage, - props: { - status: ExceptionEnum.PAGE_NOT_DATA, - }, - meta: { - title: t('routes.demo.page.notData'), - }, - }, - ], - }, - // =============================exception end============================= - // =============================list start============================= - { - path: 'list', - name: 'ListPage', - component: getParentLayout('ListPage'), - redirect: '/page-demo/list/card', - meta: { - title: t('routes.demo.page.list'), - }, - children: [ - { - path: 'basic', - name: 'ListBasicPage', - component: () => import('/@/views/demo/page/list/basic/index.vue'), - meta: { - title: t('routes.demo.page.listBasic'), - }, - }, - { - path: 'card', - name: 'ListCardPage', - component: () => import('/@/views/demo/page/list/card/index.vue'), - meta: { - title: t('routes.demo.page.listCard'), - }, - }, - { - path: 'search', - name: 'ListSearchPage', - component: () => import('/@/views/demo/page/list/search/index.vue'), - meta: { - title: t('routes.demo.page.listSearch'), - }, - }, - ], - }, - // =============================list end============================= - ], -}; - -export default page; diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/permission.ts b/jeecgboot-vue3/src/router/routes/modules/demo/permission.ts deleted file mode 100644 index e8763628f..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/permission.ts +++ /dev/null @@ -1,92 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { getParentLayout, LAYOUT } from '/@/router/constant'; -import { RoleEnum } from '/@/enums/roleEnum'; -import { t } from '/@/hooks/web/useI18n'; - -const permission: AppRouteModule = { - path: '/permission', - name: 'Permission', - component: LAYOUT, - redirect: '/permission/front/page', - meta: { - orderNo: 15, - icon: 'ion:key-outline', - title: t('routes.demo.permission.permission'), - }, - - children: [ - { - path: 'front', - name: 'PermissionFrontDemo', - component: getParentLayout('PermissionFrontDemo'), - meta: { - title: t('routes.demo.permission.front'), - }, - children: [ - { - path: 'page', - name: 'FrontPageAuth', - component: () => import('/@/views/demo/permission/front/index.vue'), - meta: { - title: t('routes.demo.permission.frontPage'), - }, - }, - { - path: 'btn', - name: 'FrontBtnAuth', - component: () => import('/@/views/demo/permission/front/Btn.vue'), - meta: { - title: t('routes.demo.permission.frontBtn'), - }, - }, - { - path: 'auth-pageA', - name: 'FrontAuthPageA', - component: () => import('/@/views/demo/permission/front/AuthPageA.vue'), - meta: { - title: t('routes.demo.permission.frontTestA'), - roles: [RoleEnum.SUPER], - }, - }, - { - path: 'auth-pageB', - name: 'FrontAuthPageB', - component: () => import('/@/views/demo/permission/front/AuthPageB.vue'), - meta: { - title: t('routes.demo.permission.frontTestB'), - roles: [RoleEnum.TEST], - }, - }, - ], - }, - { - path: 'back', - name: 'PermissionBackDemo', - component: getParentLayout('PermissionBackDemo'), - meta: { - title: t('routes.demo.permission.back'), - }, - children: [ - { - path: 'page', - name: 'BackAuthPage', - component: () => import('/@/views/demo/permission/back/index.vue'), - meta: { - title: t('routes.demo.permission.backPage'), - }, - }, - { - path: 'btn', - name: 'BackAuthBtn', - component: () => import('/@/views/demo/permission/back/Btn.vue'), - meta: { - title: t('routes.demo.permission.backBtn'), - }, - }, - ], - }, - ], -}; - -export default permission; diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/setup.ts b/jeecgboot-vue3/src/router/routes/modules/demo/setup.ts deleted file mode 100644 index cec2e298c..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/setup.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { LAYOUT } from '/@/router/constant'; -import { t } from '/@/hooks/web/useI18n'; - -const setup: AppRouteModule = { - path: '/setup', - name: 'SetupDemo', - component: LAYOUT, - redirect: '/setup/index', - meta: { - orderNo: 90000, - hideChildrenInMenu: true, - icon: 'whh:paintroll', - title: t('routes.demo.setup.page'), - }, - children: [ - { - path: 'index', - name: 'SetupDemoPage', - component: () => import('/@/views/demo/setup/index.vue'), - meta: { - title: t('routes.demo.setup.page'), - icon: 'whh:paintroll', - hideMenu: true, - }, - }, - ], -}; - -export default setup; diff --git a/jeecgboot-vue3/src/router/routes/modules/demo/system.ts b/jeecgboot-vue3/src/router/routes/modules/demo/system.ts deleted file mode 100644 index 144341648..000000000 --- a/jeecgboot-vue3/src/router/routes/modules/demo/system.ts +++ /dev/null @@ -1,86 +0,0 @@ -import type { AppRouteModule } from '/@/router/types'; - -import { LAYOUT } from '/@/router/constant'; -import { t } from '/@/hooks/web/useI18n'; - -const system: AppRouteModule = { - path: '/system', - name: 'System', - component: LAYOUT, - redirect: '/system/account', - meta: { - orderNo: 2000, - icon: 'ion:settings-outline', - title: t('routes.demo.system.moduleName'), - }, - children: [ - { - path: 'test', - name: 'TestManagement', - meta: { - title: t('routes.demo.system.test'), - ignoreKeepAlive: true, - }, - component: () => import('/@/views/demo/system/test/index.vue'), - }, - { - path: 'account', - name: 'AccountManagement', - meta: { - title: t('routes.demo.system.account'), - ignoreKeepAlive: false, - }, - component: () => import('/@/views/demo/system/account/index.vue'), - }, - { - path: 'account_detail/:id', - name: 'AccountDetail', - meta: { - hideMenu: true, - title: t('routes.demo.system.account_detail'), - ignoreKeepAlive: true, - showMenu: false, - currentActiveMenu: '/system/account', - }, - component: () => import('/@/views/demo/system/account/AccountDetail.vue'), - }, - { - path: 'role', - name: 'RoleManagement', - meta: { - title: t('routes.demo.system.role'), - ignoreKeepAlive: true, - }, - component: () => import('/@/views/demo/system/role/index.vue'), - }, - { - path: 'menu', - name: 'MenuManagement', - meta: { - title: t('routes.demo.system.menu'), - ignoreKeepAlive: true, - }, - component: () => import('/@/views/demo/system/menu/index.vue'), - }, - { - path: 'dept', - name: 'DeptManagement', - meta: { - title: t('routes.demo.system.dept'), - ignoreKeepAlive: true, - }, - component: () => import('/@/views/demo/system/dept/index.vue'), - }, - { - path: 'changePassword', - name: 'ChangePassword', - meta: { - title: t('routes.demo.system.password'), - ignoreKeepAlive: true, - }, - component: () => import('/@/views/demo/system/password/index.vue'), - }, - ], -}; - -export default system; diff --git a/jeecgboot-vue3/src/views/demo/charts/Line.vue b/jeecgboot-vue3/src/views/demo/charts/Line.vue deleted file mode 100644 index c07894210..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/Line.vue +++ /dev/null @@ -1,117 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/charts/Map.vue b/jeecgboot-vue3/src/views/demo/charts/Map.vue deleted file mode 100644 index e07344c56..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/Map.vue +++ /dev/null @@ -1,75 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/charts/Pie.vue b/jeecgboot-vue3/src/views/demo/charts/Pie.vue deleted file mode 100644 index 4f6110d06..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/Pie.vue +++ /dev/null @@ -1,135 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/charts/SaleRadar.vue b/jeecgboot-vue3/src/views/demo/charts/SaleRadar.vue deleted file mode 100644 index 0a4d6d79b..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/SaleRadar.vue +++ /dev/null @@ -1,100 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/charts/china.json b/jeecgboot-vue3/src/views/demo/charts/china.json deleted file mode 100644 index 96d37e57d..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/china.json +++ /dev/null @@ -1,839 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "id": "710000", - "properties": { - "id": "710000", - "cp": [121.509062, 24.044332], - "name": "台湾", - "childNum": 6 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@°Ü¯Û"], - ["@@ƛĴÕƊÉɼģºðʀ\\ƎsÆNŌÔĚäœnÜƤɊĂǀĆĴžĤNJŨxĚĮǂƺòƌ‚–âÔ®ĮXŦţƸZûЋƕƑGđ¨ĭMó·ęcëƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ™¿@ăƑŽ¥ĘWǬÏĶŁâ"], - ["@@\\p|WoYG¿¥I†j@¢"], - ["@@…¡‰@ˆV^RqˆBbAŒnTXeRz¤Lž«³I"], - ["@@ÆEE—„kWqë @œ"], - ["@@fced"], - ["@@„¯ɜÄèaì¯ØǓIġĽ"], - ["@@çûĖ롖hòř "] - ], - "encodeOffsets": [ - [[122886, 24033]], - [[123335, 22980]], - [[122375, 24193]], - [[122518, 24117]], - [[124427, 22618]], - [[124862, 26043]], - [[126259, 26318]], - [[127671, 26683]] - ] - } - }, - { - "type": "Feature", - "id": "130000", - "properties": { - "id": "130000", - "cp": [114.502461, 38.045474], - "name": "河北", - "childNum": 3 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@o~†Z]‚ªr‰ºc_ħ²G¼s`jΟnüsœłNX_“M`ǽÓnUK…Ĝēs¤­©yrý§uģŒc†JŠ›e"], - ["@@U`Ts¿m‚"], - [ - "@@oºƋÄd–eVŽDJj£€J|Ådz•Ft~žKŨ¸IÆv|”‡¢r}膎onb˜}`RÎÄn°ÒdÞ²„^®’lnÐèĄlðӜ×]ªÆ}LiĂ±Ö`^°Ç¶p®đDcœŋ`–ZÔ’¶êqvFƚ†N®ĆTH®¦O’¾ŠIbÐã´BĐɢŴÆíȦp–ĐÞXR€·nndOž¤’OÀĈƒ­Qg˜µFo|gȒęSWb©osx|hYh•gŃfmÖĩnº€T̒Sp›¢dYĤ¶UĈjl’ǐpäìë|³kÛfw²Xjz~ÂqbTŠÑ„ěŨ@|oM‡’zv¢ZrÃVw¬ŧˏfŒ°ÐT€ªqŽs{Sž¯r æÝlNd®²Ğ džiGʂJ™¼lr}~K¨ŸƐÌWö€™ÆŠzRš¤lêmĞL΄’@¡|q]SvK€ÑcwpÏρ†ĿćènĪWlĄkT}ˆJ”¤~ƒÈT„d„™pddʾĬŠ”ŽBVt„EÀ¢ôPĎƗè@~‚k–ü\\rÊĔÖæW_§¼F˜†´©òDòj’ˆYÈrbĞāøŀG{ƀ|¦ðrb|ÀH`pʞkv‚GpuARhÞÆǶgƊTǼƹS£¨¡ù³ŘÍ]¿Ây™ôEP xX¶¹܇O¡“gÚ¡IwÃ鑦ÅB‡Ï|ǰ…N«úmH¯‹âŸDùŽyŜžŲIÄuШDž•¸dɂ‡‚FŸƒ•›Oh‡đ©OŸ›iÃ`ww^ƒÌkŸ‘ÑH«ƇǤŗĺtFu…{Z}Ö@U‡´…ʚLg®¯Oı°ÃwŸ ^˜—€VbÉs‡ˆmA…ê]]w„§›RRl£‡ȭµu¯b{ÍDěïÿȧŽuT£ġƒěŗƃĝ“Q¨fV†Ƌ•ƅn­a@‘³@šď„yýIĹÊKšŭfċŰóŒxV@tˆƯŒJ”]eƒR¾fe|rHA˜|h~Ėƍl§ÏŠlTíb ØoˆÅbbx³^zÃ͚¶Sj®A”yÂhðk`š«P€”ˈµEF†Û¬Y¨Ļrõqi¼‰Wi°§’б´°^[ˆÀ|ĠO@ÆxO\\tŽa\\tĕtû{ġŒȧXýĪÓjùÎRb›š^ΛfK[ݏděYfíÙTyŽuUSyŌŏů@Oi½’éŅ­aVcř§ax¹XŻác‡žWU£ôãºQ¨÷Ñws¥qEH‰Ù|‰›šYQoŕÇyáĂ£MðoťÊ‰P¡mšWO¡€v†{ôvîēÜISpÌhp¨ ‘j†deŔQÖj˜X³à™Ĉ[n`Yp@Už–cM`’RKhŒEbœ”pŞlNut®Etq‚nsÁŠgA‹iú‹oH‡qCX‡”hfgu“~ϋWP½¢G^}¯ÅīGCŸÑ^ãziMáļMTÃƘrMc|O_ž¯Ŏ´|‡morDkO\\mĆJfl@c̬¢aĦtRıҙ¾ùƀ^juųœK­ƒUFy™—Ɲ…›īÛ÷ąV×qƥV¿aȉd³B›qPBm›aËđŻģm“Å®Vйd^K‡KoŸnYg“¯Xhqa”Ldu¥•ÍpDž¡KąÅƒkĝęěhq‡}HyÓ]¹ǧ£…Í÷¿qáµ§š™g‘¤o^á¾ZE‡¤i`ij{n•ƒOl»ŸWÝĔįhg›F[¿¡—ßkOüš_‰€ū‹i„DZàUtėGylƒ}ŒÓM}€jpEC~¡FtoQi‘šHkk{Ãmï‚" - ] - ], - "encodeOffsets": [[[119712, 40641]], [[121616, 39981]], [[116462, 37237]]] - } - }, - { - "type": "Feature", - "id": "140000", - "properties": { - "id": "140000", - "cp": [111.849248, 36.857014], - "name": "山西", - "childNum": 1 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@Þĩ҃S‰ra}Á€yWix±Üe´lè“ßÓǏok‘ćiµVZģ¡coœ‘TS˹ĪmnÕńe–hZg{gtwªpXaĚThȑp{¶Eh—®RćƑP¿£‘Pmc¸mQÝW•ďȥoÅîɡųAďä³aωJ‘½¥PG­ąSM­™…EÅruµé€‘Yӎ•Ō_d›ĒCo­Èµ]¯_²ÕjāŽK~©ÅØ^ԛkïçămϑk]­±ƒcݯÑÃmQÍ~_a—pm…~ç¡q“ˆu{JÅŧ·Ls}–EyÁÆcI{¤IiCfUc•ƌÃp§]웫vD@¡SÀ‘µM‚ÅwuŽYY‡¡DbÑc¡hƒ×]nkoQdaMç~eD•ÛtT‰©±@¥ù@É¡‰ZcW|WqOJmĩl«ħşvOÓ«IqăV—¥ŸD[mI~Ó¢cehiÍ]Ɠ~ĥqXŠ·eƷœn±“}v•[ěďŽŕ]_‘œ•`‰¹ƒ§ÕōI™o©b­s^}Ét±ū«³p£ÿ·Wµ|¡¥ăFÏs׌¥ŅxŸÊdÒ{ºvĴÎêÌɊ²¶€ü¨|ÞƸµȲ‘LLúÉƎ¤ϊęĔV`„_bª‹S^|ŸdŠzY|dz¥p†ZbÆ£¶ÒK}tĦÔņƠ‚PYzn€ÍvX¶Ěn ĠÔ„zý¦ª˜÷žÑĸَUȌ¸‚dòÜJð´’ìúNM¬ŒXZ´‘¤ŊǸ_tldIš{¦ƀðĠȤ¥NehXnYG‚‡R° ƬDj¬¸|CĞ„Kq‚ºfƐiĺ©ª~ĆOQª ¤@ìǦɌ²æBŒÊ”TœŸ˜ʂōĖ’šĴŞ–ȀœÆÿȄlŤĒö„t”νî¼ĨXhŒ‘˜|ªM¤Ðz" - ], - "encodeOffsets": [[116874, 41716]] - } - }, - { - "type": "Feature", - "id": "150000", - "properties": { - "id": "150000", - "cp": [111.670801, 41.818311], - "name": "内蒙古", - "childNum": 2 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - [ - "@@¯PqƒFB…‰|S•³C|kñ•H‹d‘iÄ¥sˆʼnő…PóÑÑE^‘ÅPpy_YtS™hQ·aHwsOnʼnÚs©iqj›‰€USiº]ïWš‰«gW¡A–Rë¥_ŽsgÁnUI«m‰…„‹]j‡vV¼euhwqA„aW˜ƒ_µj…»çjioQR¹ēÃßt@r³[ÛlćË^ÍÉáG“›OUۗOB±•XŸkŇ¹£k|e]ol™ŸkVͼÕqtaÏõjgÁ£§U^Œ”RLˆËnX°Ç’Bz†^~wfvˆypV ¯„ƫĉ˭ȫƗŷɿÿĿƑ˃ĝÿÃǃßËőó©ǐȍŒĖM×ÍEyx‹þp]Évïè‘vƀnÂĴÖ@‚‰†V~Ĉv¦wĖt—ējyÄDXÄxGQuv_›i¦aBçw‘˛wD™©{ŸtāmQ€{EJ§KPśƘƿ¥@‰sCT•É}ɃwˆƇy±ŸgÑ“}T[÷kÐ禫…SÒ¥¸ëBX½‰HáŵÀğtSÝÂa[ƣ°¯¦P]£ġ“–“Òk®G²„èQ°óMq}EŠóƐÇ\\ƒ‡@áügQ͋u¥Fƒ“T՛¿Jû‡]|mvāÎYua^WoÀa·­ząÒot×¶CLƗi¯¤mƎHNJ¤îìɾŊìTdåwsRÖgĒųúÍġäÕ}Q¶—ˆ¿A•†‹[¡Œ{d×uQAƒ›M•xV‹vMOmăl«ct[wº_šÇʊŽŸjb£ĦS_é“QZ“_lwgOiýe`YYLq§IÁˆdz£ÙË[ÕªuƏ³ÍT—s·bÁĽäė[›b[ˆŗfãcn¥îC¿÷µ[ŏÀQ­ōšĉm¿Á^£mJVm‡—L[{Ï_£›F¥Ö{ŹA}…×Wu©ÅaųijƳhB{·TQqÙIķˑZđ©Yc|M¡…L•eVUóK_QWk’_ĥ‘¿ãZ•»X\\ĴuUƒè‡lG®ěłTĠğDєOrÍd‚ÆÍz]‹±…ŭ©ŸÅ’]ŒÅÐ}UË¥©Tċ™ïxgckfWgi\\ÏĒ¥HkµE˜ë{»ÏetcG±ahUiñiWsɁˆ·c–C‚Õk]wȑ|ća}w…VaĚ᠞ŒG°ùnM¬¯†{ÈˆÐÆA’¥ÄêJxÙ¢”hP¢Ûˆº€µwWOŸóFŽšÁz^ÀŗÎú´§¢T¤ǻƺSė‰ǵhÝÅQgvBHouʝl_o¿Ga{ïq{¥|ſĿHĂ÷aĝÇq‡Z‘ñiñC³ª—…»E`¨åXēÕqÉû[l•}ç@čƘóO¿¡ƒFUsA‰“ʽīccšocƒ‚ƒÇS}„“£‡IS~ălkĩXçmĈ…ŀЂoÐdxÒuL^T{r@¢‘žÍƒĝKén£kQ™‰yšÅõËXŷƏL§~}kqš»IHėDžjĝŸ»ÑÞoŸå°qTt|r©ÏS‹¯·eŨĕx«È[eMˆ¿yuˆ‘pN~¹ÏyN£{©’—g‹ħWí»Í¾s“əšDž_ÃĀɗ±ą™ijĉʍŌŷ—S›É“A‹±åǥɋ@럣R©ąP©}ĹªƏj¹erƒLDĝ·{i«ƫC£µsKCš…GS|úþX”gp›{ÁX¿Ÿć{ƱȏñZáĔyoÁhA™}ŅĆfdʼn„_¹„Y°ėǩÑ¡H¯¶oMQqð¡Ë™|‘Ñ`ƭŁX½·óۓxğįÅcQ‡ˆ“ƒs«tȋDžF“Ÿù^i‘t«Č¯[›hAi©á¥ÇĚ×l|¹y¯YȵƓ‹ñǙµï‚ċ™Ļ|Dœ™üȭ¶¡˜›oŽäÕG\\ďT¿Òõr¯œŸLguÏYęRƩšɷŌO\\İТæ^Ŋ IJȶȆbÜGŽĝ¬¿ĚVĎgª^íu½jÿĕęjık@Ľƒ]ėl¥Ë‡ĭûÁ„ƒėéV©±ćn©­ȇžÍq¯½•YÃÔʼn“ÉNѝÅÝy¹NqáʅDǡËñ­ƁYÅy̱os§ȋµʽǘǏƬɱà‘ưN¢ƔÊuľýľώȪƺɂļžxœZĈ}ÌʼnŪ˜ĺœŽĭFЛĽ̅ȣͽÒŵìƩÇϋÿȮǡŏçƑůĕ~Ǎ›¼ȳÐUf†dIxÿ\\G ˆzâɏÙOº·pqy£†@ŒŠqþ@Ǟ˽IBäƣzsÂZ†ÁàĻdñ°ŕzéØűzșCìDȐĴĺf®ŽÀľưø@ɜÖÞKĊŇƄ§‚͑těï͡VAġÑÑ»d³öǍÝXĉĕÖ{þĉu¸ËʅğU̎éhɹƆ̗̮ȘNJ֥ड़ࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãüfƠSצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФԂ¤ƌžĞ̪Qʤ´¼mȠJˀŸƲÀɠmǐnǔĎȆÞǠN~€ʢĜ‚¶ƌĆĘźʆȬ˪ĚǏĞGȖƴƀj`ĢçĶāàŃºē̃ĖćšYŒÀŎüôQÐÂŎŞdžŞêƖš˜oˆDĤÕºÑǘÛˤ³̀gńƘĔÀ^žªƂ`ªt¾äƚêĦĀ¼Ð€Ĕǎ¨Ȕ»͠^ˮÊȦƤøxRrŜH¤¸ÂxDĝŒ|ø˂˜ƮÐ¬ɚwɲFjĔ²Äw°dždÀɞ_ĸdîàŎjʜêTĞªŌ‡ŜWÈ|tqĢUB~´°ÎFC•ŽU¼pĀēƄN¦¾O¶ŠłKĊOj“Ě”j´ĜYp˜{¦„ˆSĚÍ\\Tš×ªV–÷Ší¨ÅDK°ßtŇĔKš¨ǵÂcḷ̌ĚǣȄĽF‡lġUĵœŇ‹ȣFʉɁƒMğįʏƶɷØŭOǽ«ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔêFŽxúQ„Er´W„rh¤Ɛ \\talĈDJ˜Ü|[Pll̚¸ƎGú´Pž¬W¦†^¦–H]prR“n|or¾wLVnÇIujkmon£cX^Bh`¥V”„¦U¤¸}€xRj–[^xN[~ªŠxQ„‚[`ªHÆÂExx^wšN¶Ê˜|¨ì†˜€MrœdYp‚oRzNy˜ÀDs~€bcfÌ`L–¾n‹|¾T‚°c¨È¢a‚r¤–`[|òDŞĔöxElÖdH„ÀI`„Ď\\Àì~ƎR¼tf•¦^¢ķ¶e”ÐÚMŒptgj–„ɡČÅyġLû™ŇV®ŠÄÈƀ†Ď°P|ªVV†ªj–¬ĚÒêp¬–E|ŬÂc|ÀtƐK fˆ{ĘFǜƌXƲąo½Ę‘\\¥–o}›Ûu£ç­kX‘{uĩ«āíÓUŅßŢq€Ť¥lyň[€oi{¦‹L‡ń‡ðFȪȖ”ĒL„¿Ì‹ˆfŒ£K£ʺ™oqNŸƒwğc`ue—tOj×°KJ±qƒÆġm‰Ěŗos¬…qehqsuœƒH{¸kH¡Š…ÊRǪÇƌbȆ¢´ä܍¢NìÉʖ¦â©Ġu¦öČ^â£Ăh–šĖMÈÄw‚\\fŦ°W ¢¾luŸD„wŠ\\̀ʉÌÛM…Ā[bӞEn}¶Vc…ê“sƒ" - ] - ], - "encodeOffsets": [[[129102, 52189]]] - } - }, - { - "type": "Feature", - "id": "210000", - "properties": { - "id": "210000", - "cp": [123.429096, 41.796767], - "name": "辽宁", - "childNum": 16 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@L–Ž@@s™a"], - ["@@MnNm"], - ["@@d‚c"], - ["@@eÀ‚C@b‚“‰"], - ["@@f‡…Xwkbr–Ä`qg"], - ["@@^jtW‘Q"], - ["@@~ Y]c"], - ["@@G`ĔN^_¿Z‚ÃM"], - ["@@iX¶B‹Y"], - ["@@„YƒZ"], - ["@@L_{Epf"], - ["@@^WqCT\\"], - ["@@\\[“‹§t|”¤_"], - ["@@m`n_"], - ["@@Ïxnj{q_×^Giip"], - [ - "@@@œé^B†‡ntˆaÊU—˜Ÿ]x ¯ÄPIJ­°h€ʙK³†VˆÕ@Y~†|EvĹsDŽ¦­L^p²ŸÒG ’Ël]„xxÄ_˜fT¤Ď¤cŽœP„–C¨¸TVjbgH²sdÎdHt`Bˆ—²¬GJję¶[ÐhjeXdlwhšðSȦªVÊπ‹Æ‘Z˜ÆŶ®²†^ŒÎyÅÎcPqń“ĚDMħĜŁH­ˆk„çvV[ij¼W–‚YÀäĦ’‘`XlžR`žôLUVžfK–¢†{NZdĒª’YĸÌÚJRr¸SA|ƴgŴĴÆbvªØX~†źBŽ|¦ÕœEž¤Ð`\\|Kˆ˜UnnI]¤ÀÂĊnŎ™R®Ő¿¶\\ÀøíDm¦ÎbŨab‰œaĘ\\ľã‚¸a˜tÎSƐ´©v\\ÖÚÌǴ¤Â‡¨JKr€Z_Z€fjþhPkx€`Y”’RIŒjJcVf~sCN¤ ˆE‚œhæm‰–sHy¨SðÑÌ\\\\ŸĐRZk°IS§fqŒßýáЍÙÉÖ[^¯ǤŲ„ê´\\¦¬ĆPM¯£Ÿˆ»uïpùzEx€žanµyoluqe¦W^£ÊL}ñrkqWňûP™‰UP¡ôJŠoo·ŒU}£Œ„[·¨@XŒĸŸ“‹‹DXm­Ûݏº‡›GU‹CÁª½{íĂ^cj‡k“¶Ã[q¤“LÉö³cux«zZfƒ²BWÇ®Yß½ve±ÃC•ý£W{Ú^’q^sÑ·¨‹ÍOt“¹·C¥‡GD›rí@wÕKţ݋˜Ÿ«V·i}xËÍ÷‘i©ĝ‡ɝǡ]ƒˆ{c™±OW‹³Ya±Ÿ‰_穂Hžĕoƫ€Ňqƒr³‰Lys[„ñ³¯OS–ďOMisZ†±ÅFC¥Pq{‚Ã[Pg}\\—¿ghćO…•k^ģÁFıĉĥM­oEqqZûěʼn³F‘¦oĵ—hŸÕP{¯~TÍlª‰N‰ßY“Ð{Ps{ÃVU™™eĎwk±ʼnVÓ½ŽJãÇÇ»Jm°dhcÀff‘dF~ˆ€ĀeĖ€d`sx² šƒ®EżĀdQ‹Âd^~ăÔHˆ¦\\›LKpĄVez¤NP ǹӗR™ÆąJSh­a[¦´Âghwm€BÐ¨źhI|žVVŽ—Ž|p] Â¼èNä¶ÜBÖ¼“L`‚¼bØæŒKV”ŸpoœúNZÞÒKxpw|ÊEMnzEQšŽIZ”ŽZ‡NBˆčÚFÜçmĩ‚WĪñt‘ÞĵÇñZ«uD‚±|Əlij¥ãn·±PmÍa‰–da‡ CL‡Ǒkùó¡³Ï«QaċϑOÃ¥ÕđQȥċƭy‹³ÃA" - ] - ], - "encodeOffsets": [ - [[123686, 41445]], - [[126019, 40435]], - [[124393, 40128]], - [[126117, 39963]], - [[125322, 40140]], - [[126686, 40700]], - [[126041, 40374]], - [[125584, 40168]], - [[125453, 40165]], - [[125362, 40214]], - [[125280, 40291]], - [[125774, 39997]], - [[125976, 40496]], - [[125822, 39993]], - [[125509, 40217]], - [[122731, 40949]] - ] - } - }, - { - "type": "Feature", - "id": "220000", - "properties": { "id": "220000", "cp": [125.3245, 43.886841], "name": "吉林", "childNum": 1 }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@‘p䔳PClƒFbbÍzš€wBG’ĭ€Z„Åi“»ƒlY­ċ²SgŽkÇ£—^S‰“qd¯•‹R…©éŽ£¯S†\\cZ¹iűƏCuƍÓX‡oR}“M^o•£…R}oªU­F…uuXHlEŕ‡€Ï©¤ÛmTŽþ¤D–²ÄufàÀ­XXȱAe„yYw¬dvõ´KÊ£”\\rµÄl”iˆdā]|DÂVŒœH¹ˆÞ®ÜWnŒC”Œķ W‹§@\\¸‹ƒ~¤‹Vp¸‰póIO¢ŠVOšŇürXql~òÉK]¤¥Xrfkvzpm¶bwyFoúvð‡¼¤ N°ąO¥«³[ƒéǡű_°Õ\\ÚÊĝŽþâőàerR¨­JYlďQ[ ÏYëЧTGz•tnŠß¡gFkMŸāGÁ¤ia É‰™È¹`\\xs€¬dĆkNnuNUŠ–užP@‚vRY¾•–\\¢…ŒGªóĄ~RãÖÎĢù‚đŴÕhQŽxtcæëSɽʼníëlj£ƍG£nj°KƘµDsØÑpyƸ®¿bXp‚]vbÍZuĂ{nˆ^IüœÀSք”¦EŒvRÎûh@℈[‚Əȉô~FNr¯ôçR±ƒ­HÑl•’Ģ–^¤¢‚OðŸŒævxsŒ]ÞÁTĠs¶¿âƊGW¾ìA¦·TѬ†è¥€ÏÐJ¨¼ÒÖ¼ƒƦɄxÊ~S–tD@ŠĂ¼Ŵ¡jlºWžvЉˆzƦZЎ²CH— „Axiukd‹ŒGgetqmcžÛ£Ozy¥cE}|…¾cZ…k‚‰¿uŐã[oxGikfeäT@…šSUwpiÚFM©’£è^ڟ‚`@v¶eň†f h˜eP¶žt“äOlÔUgƒÞzŸU`lœ}ÔÆUvØ_Ō¬Öi^ĉi§²ÃŠB~¡Ĉ™ÚEgc|DC_Ȧm²rBx¼MÔ¦ŮdĨÃâYx‘ƘDVÇĺĿg¿cwÅ\\¹˜¥Yĭlœ¤žOv†šLjM_a W`zļMž·\\swqÝSA‡š—q‰Śij¯Š‘°kŠRē°wx^Đkǂғ„œž“œŽ„‹\\]˜nrĂ}²ĊŲÒøãh·M{yMzysěnĒġV·°“G³¼XÀ““™¤¹i´o¤ŃšŸÈ`̃DzÄUĞd\\i֚ŒˆmÈBĤÜɲDEh LG¾ƀľ{WaŒYÍȏĢĘÔRîĐj‹}Ǟ“ccj‡oUb½š{“h§Ǿ{K‹ƖµÎ÷žGĀÖŠåưÎs­l›•yiē«‹`姝H¥Ae^§„GK}iã\\c]v©ģZ“mÃ|“[M}ģTɟĵ‘Â`À–çm‰‘FK¥ÚíÁbXš³ÌQґHof{‰]e€pt·GŋĜYünĎųVY^’˜ydõkÅZW„«WUa~U·Sb•wGçǑ‚“iW^q‹F‚“›uNĝ—·Ew„‹UtW·Ýďæ©PuqEzwAV•—XR‰ãQ`­©GŒM‡ehc›c”ďϝd‡©ÑW_ϗYƅŒ»…é\\ƒɹ~ǙG³mØ©BšuT§Ĥ½¢Ã_ý‘L¡‘ýŸqT^rme™\\Pp•ZZbƒyŸ’uybQ—efµ]UhĿDCmûvašÙNSkCwn‰cćfv~…Y‹„ÇG" - ], - "encodeOffsets": [[130196, 42528]] - } - }, - { - "type": "Feature", - "id": "230000", - "properties": { - "id": "230000", - "cp": [128.642464, 46.756967], - "name": "黑龙江", - "childNum": 2 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - [ - "@@UƒµNÿ¥īè灋•HÍøƕ¶LŒǽ|g¨|”™Ža¾pViˆdd”~ÈiŒíďÓQġėǐZ΋ŽXb½|ſÃH½ŸKFgɱCģÛÇA‡n™‹jÕc[VĝDZÃ˄Ç_™ £ń³pŽj£º”š¿”»WH´¯”U¸đĢmžtĜyzzNN|g¸÷äűѱĉā~mq^—Œ[ƒ”››”ƒǁÑďlw]¯xQĔ‰¯l‰’€°řĴrŠ™˜BˆÞTxr[tޏĻN_yŸX`biN™Ku…P›£k‚ZĮ—¦[ºxÆÀdhŽĹŀUÈƗCw’áZħÄŭcÓ¥»NAw±qȥnD`{ChdÙFćš}¢‰A±Äj¨]ĊÕjŋ«×`VuÓś~_kŷVÝyh„“VkÄãPs”Oµ—fŸge‚Ň…µf@u_Ù ÙcŸªNªÙEojVx™T@†ãSefjlwH\\pŏäÀvŠŽlY†½d{†F~¦dyz¤PÜndsrhf‹HcŒvlwjFœ£G˜±DύƥY‡yϊu¹XikĿ¦ÏqƗǀOŜ¨LI|FRĂn sª|Cš˜zxAè¥bœfudTrFWÁ¹Am|˜ĔĕsķÆF‡´Nš‰}ć…UŠÕ@Áijſmužç’uð^ÊýowŒFzØÎĕNőžǏȎôªÌŒDŽàĀÄ˄ĞŀƒʀĀƘŸˮȬƬĊ°ƒUŸzou‡xe]}Ž…AyȑW¯ÌmK‡“Q]‹Īºif¸ÄX|sZt|½ÚUΠlkš^p{f¤lˆºlÆW –€A²˜PVܜPH”Êâ]ÎĈÌÜk´\\@qàsĔÄQºpRij¼èi†`¶—„bXƒrBgxfv»ŽuUiˆŒ^v~”J¬mVp´£Œ´VWrnP½ì¢BX‚¬h™ŠðX¹^TjVœŠriªj™tŊÄm€tPGx¸bgRšŽsT`ZozÆO]’ÒFô҆Oƒ‡ŊŒvŞ”p’cGŒêŠsx´DR–Œ{A†„EOr°Œ•žx|íœbˆ³Wm~DVjºéNN†Ëܲɶ­GƒxŷCStŸ}]ûō•SmtuÇÃĕN•™āg»šíT«u}ç½BĵÞʣ¥ëÊ¡Mێ³ãȅ¡ƋaǩÈÉQ‰†G¢·lG|›„tvgrrf«†ptęŘnŠÅĢr„I²¯LiØsPf˜_vĠd„xM prʹšL¤‹¤‡eˌƒÀđK“žïÙVY§]I‡óáĥ]ķ†Kˆ¥Œj|pŇ\\kzţ¦šnņäÔVĂîά|vW’®l¤èØr‚˜•xm¶ă~lÄƯĄ̈́öȄEÔ¤ØQĄ–Ą»ƢjȦOǺ¨ìSŖÆƬy”Qœv`–cwƒZSÌ®ü±DŽ]ŀç¬B¬©ńzƺŷɄeeOĨS’Œfm Ċ‚ƀP̎ēz©Ċ‚ÄÕÊmgŸÇsJ¥ƔˆŊśæ’΁Ñqv¿íUOµª‰ÂnĦÁ_½ä@ê텣P}Ġ[@gġ}g“ɊדûÏWXá¢užƻÌsNͽƎÁ§č՛AēeL³àydl›¦ĘVçŁpśdžĽĺſʃQíÜçÛġԏsĕ¬—Ǹ¯YßċġHµ ¡eå`ļƒrĉŘóƢFì“ĎWøxÊk†”ƈdƬv|–I|·©NqńRŀƒ¤é”eŊœŀ›ˆàŀU²ŕƀB‚Q£Ď}L¹Îk@©ĈuǰųǨ”Ú§ƈnTËÇéƟÊcfčŤ^Xm‡—HĊĕË«W·ċëx³ǔķÐċJā‚wİ_ĸ˜Ȁ^ôWr­°oú¬Ħ…ŨK~”ȰCĐ´Ƕ£’fNÎèâw¢XnŮeÂÆĶŽ¾¾xäLĴĘlļO¤ÒĨA¢Êɚ¨®‚ØCÔ ŬGƠ”ƦYĜ‡ĘÜƬDJ—g_ͥœ@čŅĻA“¶¯@wÎqC½Ĉ»NŸăëK™ďÍQ“Ùƫ[«Ãí•gßÔÇOÝáW‘ñuZ“¯ĥ€Ÿŕā¡ÑķJu¤E Ÿå¯°WKɱ_d_}}vyŸõu¬ï¹ÓU±½@gÏ¿rýD‰†g…Cd‰µ—°MFYxw¿CG£‹Rƛ½Õ{]L§{qqąš¿BÇƻğëšܭNJË|c²}Fµ}›ÙRsÓpg±ŠQNqǫŋRwŕnéÑÉKŸ†«SeYR…ŋ‹@{¤SJ}šD Ûǖ֍Ÿ]gr¡µŷjqWÛham³~S«“„›Þ]" - ] - ], - "encodeOffsets": [[[134456, 44547]]] - } - }, - { - "type": "Feature", - "id": "320000", - "properties": { - "id": "320000", - "cp": [119.767413, 33.041544], - "name": "江苏", - "childNum": 1 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@cþÅPiŠ`ZŸRu¥É\\]~°ŽY`µ†Óƒ^phÁbnÀşúŽòa–ĬºTÖŒb‚˜e¦¦€{¸ZâćNpŒ©žHr|^ˆmjhŠSEb\\afv`sz^lkŽlj‹Ätg‹¤D˜­¾Xš¿À’|ДiZ„ȀåB·î}GL¢õcßjaŸyBFµÏC^ĭ•cÙt¿sğH]j{s©HM¢ƒQnDÀ©DaÜތ·jgàiDbPufjDk`dPOîƒhw¡ĥ‡¥šG˜ŸP²ĐobºrY†„î¶aHŢ´ ]´‚rılw³r_{£DB_Ûdåuk|ˆŨ¯F Cºyr{XFy™e³Þċ‡¿Â™kĭB¿„MvÛpm`rÚã”@ƹhågËÖƿxnlč¶Åì½Ot¾dJlŠVJʜǀœŞqvnOŠ^ŸJ”Z‘ż·Q}ê͎ÅmµÒ]Žƍ¦Dq}¬R^èĂ´ŀĻĊIԒtžIJyQŐĠMNtœR®òLh‰›Ěs©»œ}OӌGZz¶A\\jĨFˆäOĤ˜HYš†JvÞHNiÜaϚɖnFQlšNM¤ˆB´ĄNöɂtp–Ŭdf先‹qm¿QûŠùއÚb¤uŃJŴu»¹Ą•lȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±Y™xci‡tğ®jű¢KOķ•Coy`å®VTa­_Ā]ŐÝɞï²ʯÊ^]afYǸÃĆēĪȣJđ͍ôƋĝÄ͎ī‰çÛɈǥ£­ÛmY`ó£Z«§°Ó³QafusNıDž_k}¢m[ÝóDµ—¡RLčiXy‡ÅNïă¡¸iĔϑNÌŕoēdōîåŤûHcs}~Ûwbù¹£¦ÓCt‹OPrƒE^ÒoŠg™ĉIµžÛÅʹK…¤½phMŠü`o怆ŀ" - ], - "encodeOffsets": [[121740, 32276]] - } - }, - { - "type": "Feature", - "id": "330000", - "properties": { - "id": "330000", - "cp": [120.153576, 29.287459], - "name": "浙江", - "childNum": 45 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@E^dQ]K"], - ["@@jX^j‡"], - ["@@sfŠbU‡"], - ["@@qP\\xz[ck"], - ["@@‘Rƒ¢‚FX}°[s_"], - ["@@Cbœ\\—}"], - ["@@e|v\\la{u"], - ["@@v~u}"], - ["@@QxÂF¯}"], - ["@@¹nŒvÞs¯o"], - ["@@rSkUEj"], - ["@@bi­ZŒP"], - ["@@p[}INf"], - ["@@À¿€"], - ["@@¹dnbŒ…"], - ["@@rSŸBnR"], - ["@@g~h}"], - ["@@FlEk"], - ["@@OdPc"], - ["@@v[u\\"], - ["@@FjâL~wyoo~›sµL–\\"], - ["@@¬e¹aNˆ"], - ["@@\\nÔ¡q]L³ë\\ÿ®ŒQ֎"], - ["@@ÊA­©[¬"], - ["@@KxŒv­"], - ["@@@hlIk]"], - ["@@pW{o||j"], - ["@@Md|_mC"], - ["@@¢…X£ÏylD¼XˆtH"], - ["@@hlÜ[LykAvyfw^Ež›¤"], - ["@@fp¤Mus“R"], - ["@@®_ma~•LÁ¬šZ"], - ["@@iM„xZ"], - ["@@ZcYd"], - ["@@Z~dOSo|A¿qZv"], - ["@@@`”EN¡v"], - ["@@|–TY{"], - ["@@@n@m"], - ["@@XWkCT\\"], - ["@@ºwšZRkĕWO¢"], - ["@@™X®±Grƪ\\ÔáXq{‹"], - ["@@ůTG°ĄLHm°UC‹"], - [ - "@@¤Ž€aÜx~}dtüGæţŎíĔcŖpMËВj碷ðĄÆMzˆjWKĎ¢Q¶˜À_꒔_Bı€i«pZ€gf€¤Nrq]§ĂN®«H±‡yƳí¾×ŸīàLłčŴǝĂíÀBŖÕªˆŠÁŖHŗʼnåqûõi¨hÜ·ƒñt»¹ýv_[«¸m‰YL¯‰Qª…mĉÅdMˆ•gÇjcº«•ęœ¬­K­´ƒB«Âącoċ\\xKd¡gěŧ«®á’[~ıxu·Å”KsËɏc¢Ù\\ĭƛëbf¹­ģSƒĜkáƉÔ­ĈZB{ŠaM‘µ‰fzʼnfåÂŧįƋǝÊĕġć£g³ne­ą»@­¦S®‚\\ßðCšh™iqªĭiAu‡A­µ”_W¥ƣO\\lċĢttC¨£t`ˆ™PZäuXßBs‡Ļyek€OđġĵHuXBšµ]׌‡­­\\›°®¬F¢¾pµ¼kŘó¬Wät’¸|@ž•L¨¸µr“ºù³Ù~§WI‹ŸZWŽ®’±Ð¨ÒÉx€`‰²pĜ•rOògtÁZ}þÙ]„’¡ŒŸFK‚wsPlU[}¦Rvn`hq¬\\”nQ´ĘRWb”‚_ rtČFI֊kŠŠĦPJ¶ÖÀÖJĈĄTĚòžC ²@Pú…Øzœ©PœCÈÚœĒ±„hŖ‡l¬â~nm¨f©–iļ«m‡nt–u†ÖZÜÄj“ŠLŽ®E̜Fª²iÊxبžIÈhhst" - ], - ["@@o\\V’zRZ}y"], - ["@@†@°¡mۛGĕ¨§Ianá[ýƤjfæ‡ØL–•äGr™"] - ], - "encodeOffsets": [ - [[125592, 31553]], - [[125785, 31436]], - [[125729, 31431]], - [[125513, 31380]], - [[125223, 30438]], - [[125115, 30114]], - [[124815, 29155]], - [[124419, 28746]], - [[124095, 28635]], - [[124005, 28609]], - [[125000, 30713]], - [[125111, 30698]], - [[125078, 30682]], - [[125150, 30684]], - [[124014, 28103]], - [[125008, 31331]], - [[125411, 31468]], - [[125329, 31479]], - [[125626, 30916]], - [[125417, 30956]], - [[125254, 30976]], - [[125199, 30997]], - [[125095, 31058]], - [[125083, 30915]], - [[124885, 31015]], - [[125218, 30798]], - [[124867, 30838]], - [[124755, 30788]], - [[124802, 30809]], - [[125267, 30657]], - [[125218, 30578]], - [[125200, 30562]], - [[124968, 30474]], - [[125167, 30396]], - [[124955, 29879]], - [[124714, 29781]], - [[124762, 29462]], - [[124325, 28754]], - [[123990, 28459]], - [[125366, 31477]], - [[125115, 30363]], - [[125369, 31139]], - [[122495, 31878]], - [[125329, 30690]], - [[125192, 30787]] - ] - } - }, - { - "type": "Feature", - "id": "340000", - "properties": { "id": "340000", "cp": [117.283042, 31.26119], "name": "安徽", "childNum": 3 }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@^iuLX^"], - ["@@‚e©Ehl"], - [ - "@@°ZÆëϵmkǀwÌÕæhºgBĝâqÙĊz›ÖgņtÀÁÊÆá’hEz|WzqD¹€Ÿ°E‡ŧl{ævÜcA`¤C`|´qžxIJkq^³³ŸGšµbƒíZ…¹qpa±ď OH—¦™Ħˆx¢„gPícOl_iCveaOjCh߸i݋bÛªCC¿€m„RV§¢A|t^iĠGÀtÚs–d]ĮÐDE¶zAb àiödK¡~H¸íæAžǿYƒ“j{ď¿‘™À½W—®£ChŒÃsiŒkkly]_teu[bFa‰Tig‡n{]Gqªo‹ĈMYá|·¥f¥—őaSÕė™NµñĞ«ImŒ_m¿Âa]uĜp …Z_§{Cƒäg¤°r[_Yj‰ÆOdý“[ŽI[á·¥“Q_n‡ùgL¾mv™ˊBÜÆ¶ĊJhšp“c¹˜O]iŠ]œ¥ jtsggJǧw×jÉ©±›EFˍ­‰Ki”ÛÃÕYv…s•ˆm¬njĻª•§emná}k«ŕˆƒgđ²Ù›DǤ›í¡ªOy›†×Où±@DŸñSęćăÕIÕ¿IµĥO‰‰jNÕËT¡¿tNæŇàåyķrĕq§ÄĩsWÆßŽF¶žX®¿‰mŒ™w…RIޓfßoG‘³¾©uyH‘į{Ɓħ¯AFnuP…ÍÔzšŒV—dàôº^Ðæd´€‡oG¤{S‰¬ćxã}›ŧ×Kǥĩ«žÕOEзÖdÖsƘѨ[’Û^Xr¢¼˜§xvěƵ`K”§ tÒ´Cvlo¸fzŨð¾NY´ı~ÉĔē…ßúLÃϖ_ÈÏ|]ÂÏFl”g`bšežž€n¾¢pU‚h~ƴ˶_‚r sĄ~cž”ƈ]|r c~`¼{À{ȒiJjz`îÀT¥Û³…]’u}›f…ïQl{skl“oNdŸjŸäËzDvčoQŠďHI¦rb“tHĔ~BmlRš—V_„ħTLnñH±’DžœL‘¼L˜ªl§Ťa¸ŒĚlK²€\\RòvDcÎJbt[¤€D@®hh~kt°ǾzÖ@¾ªdb„YhüóZ ň¶vHrľ\\ʗJuxAT|dmÀO„‹[ÃԋG·ĚąĐlŪÚpSJ¨ĸˆLvÞcPæķŨŽ®mАˆálŸwKhïgA¢ųƩޖ¤OȜm’°ŒK´" - ] - ], - "encodeOffsets": [[[121722, 32278]], [[119475, 30423]], [[119168, 35472]]] - } - }, - { - "type": "Feature", - "id": "350000", - "properties": { - "id": "350000", - "cp": [118.306239, 26.075302], - "name": "福建", - "childNum": 18 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@“zht´‡]"], - ["@@aj^~ĆG—©O"], - ["@@ed¨„C}}i"], - ["@@@vˆPGsQ"], - ["@@‰sBz‚ddW]Q"], - ["@@SލQ“{"], - ["@@NŽVucW"], - ["@@qptBAq"], - ["@@‰’¸[mu"], - ["@@Q\\pD]_"], - ["@@jSwUadpF"], - ["@@eXª~ƒ•"], - ["@@AjvFso"], - ["@@fT–›_Çí\\Ÿ™—v|ba¦jZÆy€°"], - ["@@IjJi"], - ["@@wJI€ˆxš«¼AoNe{M­"], - ["@@K‰±¡Óˆ”ČäeZ"], - [ - "@@k¡¹Eh~c®wBk‹UplÀ¡I•~Māe£bN¨gZý¡a±Öcp©PhžI”Ÿ¢Qq…ÇGj‹|¥U™ g[Ky¬ŏ–v@OpˆtÉEŸF„\\@ åA¬ˆV{Xģ‰ĐBy…cpě…¼³Ăp·¤ƒ¥o“hqqÚ¡ŅLsƒ^ᗞ§qlŸÀhH¨MCe»åÇGD¥zPO£čÙkJA¼ß–ėu›ĕeûҍiÁŧSW¥˜QŠûŗ½ùěcݧSùĩąSWó«íęACµ›eR—åǃRCÒÇZÍ¢‹ź±^dlsŒtjD¸•‚ZpužÔâÒH¾oLUêÃÔjjēò´ĄW‚ƛ…^Ñ¥‹ĦŸ@Çò–ŠmŒƒOw¡õyJ†yD}¢ďÑÈġfŠZd–a©º²z£šN–ƒjD°Ötj¶¬ZSÎ~¾c°¶Ðm˜x‚O¸¢Pl´žSL|¥žA†ȪĖM’ņIJg®áIJČĒü` ŽQF‡¬h|ÓJ@zµ |ê³È ¸UÖŬŬÀEttĸr‚]€˜ðŽM¤ĶIJHtÏ A’†žĬkvsq‡^aÎbvŒd–™fÊòSD€´Z^’xPsÞrv‹ƞŀ˜jJd×ŘÉ ®A–ΦĤd€xĆqAŒ†ZR”ÀMźŒnĊ»ŒİÐZ— YX–æJŠyĊ²ˆ·¶q§·–K@·{s‘Xãô«lŗ¶»o½E¡­«¢±¨Yˆ®Ø‹¶^A™vWĶGĒĢžPlzfˆļŽtàAvWYãšO_‡¤sD§ssČġ[kƤPX¦Ž`¶“ž®ˆBBvĪjv©šjx[L¥àï[F…¼ÍË»ğV`«•Ip™}ccÅĥZE‹ãoP…´B@ŠD—¸m±“z«Ƴ—¿å³BRضˆœWlâþäą`“]Z£Tc— ĹGµ¶H™m@_©—kŒ‰¾xĨ‡ôȉðX«½đCIbćqK³Á‹Äš¬OAwã»aLʼn‡ËĥW[“ÂGI—ÂNxij¤D¢ŽîĎÎB§°_JœGsƒ¥E@…¤uć…P‘å†cuMuw¢BI¿‡]zG¹guĮck\\_" - ] - ], - "encodeOffsets": [ - [[123250, 27563]], - [[122541, 27268]], - [[123020, 27189]], - [[122916, 27125]], - [[122887, 26845]], - [[122808, 26762]], - [[122568, 25912]], - [[122778, 26197]], - [[122515, 26757]], - [[122816, 26587]], - [[123388, 27005]], - [[122450, 26243]], - [[122578, 25962]], - [[121255, 25103]], - [[120987, 24903]], - [[122339, 25802]], - [[121042, 25093]], - [[122439, 26024]] - ] - } - }, - { - "type": "Feature", - "id": "360000", - "properties": { - "id": "360000", - "cp": [115.592151, 27.676493], - "name": "江西", - "childNum": 1 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@ĢĨƐgÂMD~ņªe^\\^§„ý©j׍cZ†Ø¨zdÒa¶ˆlҍJŒìõ`oz÷@¤u޸´†ôęöY¼‰HČƶajlÞƩ¥éZ[”|h}^U Œ ¥p„ĄžƦO lt¸Æ €Q\\€ŠaÆ|CnÂOjt­ĚĤd’ÈŒF`’¶„@Ð딠¦ōҞ¨Sêv†HĢûXD®…QgėWiØPÞìºr¤dž€NĠ¢l–•ĄtZoœCƞÔºCxrpĠV®Ê{f_Y`_ƒeq’’®Aot`@o‚DXfkp¨|Šs¬\\D‘ÄSfè©Hn¬…^DhÆyøJh“ØxĢĀLʈ„ƠPżċĄwȠ̦G®ǒĤäTŠÆ~ĦwŠ«|TF¡Šn€c³Ïå¹]ĉđxe{ÎӐ†vOEm°BƂĨİ|G’vz½ª´€H’àp”eJ݆Qšxn‹ÀŠW­žEµàXÅĪt¨ÃĖrÄwÀFÎ|ňÓMå¼ibµ¯»åDT±m[“r«_gŽmQu~¥V\\OkxtL E¢‹ƒ‘Ú^~ýê‹Pó–qo슱_Êw§ÑªåƗ⼋mĉŹ‹¿NQ“…YB‹ąrwģcÍ¥B•Ÿ­ŗÊcØiI—žƝĿuŒqtāwO]‘³YCñTeɕš‹caub͈]trlu€ī…B‘ПGsĵıN£ï—^ķqss¿FūūV՟·´Ç{éĈý‰ÿ›OEˆR_ŸđûIċâJh­ŅıN‘ȩĕB…¦K{Tk³¡OP·wn—µÏd¯}½TÍ«YiµÕsC¯„iM•¤™­•¦¯P|ÿUHv“he¥oFTu‰õ\\ŽOSs‹MòđƇiaºćXŸĊĵà·çhƃ÷ǜ{‘ígu^›đg’m[×zkKN‘¶Õ»lčÓ{XSƉv©_ÈëJbVk„ĔVÀ¤P¾ºÈMÖxlò~ªÚàGĂ¢B„±’ÌŒK˜y’áV‡¼Ã~­…`g›ŸsÙfI›Ƌlę¹e|–~udjˆuTlXµf`¿JdŠ[\\˜„L‚‘²" - ], - "encodeOffsets": [[116689, 26234]] - } - }, - { - "type": "Feature", - "id": "370000", - "properties": { - "id": "370000", - "cp": [118.000923, 36.275807], - "name": "山东", - "childNum": 13 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@Xjd]{K"], - ["@@itbFHy"], - ["@@HlGk"], - ["@@T‚ŒGŸy"], - ["@@K¬˜•‹U"], - ["@@WdXc"], - ["@@PtOs"], - ["@@•LnXhc"], - ["@@ppVƒu]Or"], - ["@@cdzAUa"], - ["@@udRhnCI‡"], - ["@@ˆoIƒpR„"], - [ - "@@Ľč{fzƤî’Kš–ÎMĮ]†—ZFˆ½Y]â£ph’™š¶¨râøÀ†ÎǨ¤^ºÄ”Gzˆ~grĚĜlĞÆ„LĆdž¢Îo¦–cv“Kb€gr°Wh”mZp ˆL]LºcU‰Æ­n”żĤÌǜbAnrOAœ´žȊcÀbƦUØrĆUÜøœĬƞ†š˜Ez„VL®öØBkŖÝĐ˹ŧ̄±ÀbÎɜnb²ĦhņBĖ›žįĦåXćì@L¯´ywƕCéõė ƿ¸‘lµ¾Z|†ZWyFYŸ¨Mf~C¿`€à_RÇzwƌfQnny´INoƬˆèôº|sT„JUš›‚L„îVj„ǎ¾Ē؍‚Dz²XPn±ŴPè¸ŔLƔÜƺ_T‘üÃĤBBċȉöA´fa„˜M¨{«M`‡¶d¡ô‰Ö°šmȰBÔjjŒ´PM|”c^d¤u•ƒ¤Û´Œä«ƢfPk¶Môlˆ]Lb„}su^ke{lC‘…M•rDŠÇ­]NÑFsmoõľH‰yGă{{çrnÓE‰‹ƕZGª¹Fj¢ïW…uøCǷ돡ąuhÛ¡^Kx•C`C\\bÅxì²ĝÝ¿_N‰īCȽĿåB¥¢·IŖÕy\\‡¹kx‡Ã£Č×GDyÕ¤ÁçFQ¡„KtŵƋ]CgÏAùSed‡cÚź—ŠuYfƒyMmhUWpSyGwMPqŀ—›Á¼zK›¶†G•­Y§Ëƒ@–´śÇµƕBmœ@Io‚g——Z¯u‹TMx}C‘‰VK‚ï{éƵP—™_K«™pÛÙqċtkkù]gŽ‹Tğwo•ɁsMõ³ă‡AN£™MRkmEʕč™ÛbMjÝGu…IZ™—GPģ‡ãħE[iµBEuŸDPԛ~ª¼ętŠœ]ŒûG§€¡QMsğNPŏįzs£Ug{đJĿļā³]ç«Qr~¥CƎÑ^n¶ÆéÎR~ݏY’I“] P‰umŝrƿ›‰›Iā‹[x‰edz‹L‘¯v¯s¬ÁY…~}…ťuٌg›ƋpÝĄ_ņī¶ÏSR´ÁP~ž¿Cyžċßdwk´Ss•X|t‰`Ä Èð€AªìÎT°¦Dd–€a^lĎDĶÚY°Ž`ĪŴǒˆ”àŠv\\ebŒZH„ŖR¬ŢƱùęO•ÑM­³FۃWp[ƒ" - ] - ], - "encodeOffsets": [ - [[123806, 39303]], - [[123821, 39266]], - [[123742, 39256]], - [[123702, 39203]], - [[123649, 39066]], - [[123847, 38933]], - [[123580, 38839]], - [[123894, 37288]], - [[123043, 36624]], - [[123344, 38676]], - [[123522, 38857]], - [[123628, 38858]], - [[118260, 36742]] - ] - } - }, - { - "type": "Feature", - "id": "410000", - "properties": { - "id": "410000", - "cp": [113.665412, 33.757975], - "name": "河南", - "childNum": 1 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@•ýL™ùµP³swIÓxcŢĞð†´E®žÚPt†ĴXØx¶˜@«ŕŕQGƒ‹Yfa[şu“ßǩ™đš_X³ijÕčC]kbc•¥CS¯ëÍB©÷‹–³­Siˆ_}m˜YTtž³xlàcȂzÀD}ÂOQ³ÐTĨ¯†ƗòËŖ[hœł‹Ŧv~††}ÂZž«¤lPǕ£ªÝŴÅR§ØnhcŒtâk‡nύ­ľŹUÓÝdKuķ‡I§oTũÙďkęĆH¸ÓŒ\\ăŒ¿PcnS{wBIvɘĽ[GqµuŸŇôYgûƒZcaŽ©@½Õǽys¯}lgg@­C\\£as€IdÍuCQñ[L±ęk·‹ţb¨©kK—’»›KC²‘òGKmĨS`ƒ˜UQ™nk}AGē”sqaJ¥ĐGR‰ĎpCuÌy ã iMc”plk|tRk†ðœev~^‘´†¦ÜŽSí¿_iyjI|ȑ|¿_»d}qŸ^{“Ƈdă}Ÿtqµ`Ƴĕg}V¡om½fa™Ço³TTj¥„tĠ—Ry”K{ùÓjuµ{t}uËR‘iŸvGŠçJFjµŠÍyqΘàQÂFewixGw½Yŷpµú³XU›½ġy™łå‰kÚwZXˆ·l„¢Á¢K”zO„Λ΀jc¼htoDHr…|­J“½}JZ_¯iPq{tę½ĕ¦Zpĵø«kQ…Ťƒ]MÛfaQpě±ǽ¾]u­Fu‹÷nƒ™čįADp}AjmcEǒaª³o³ÆÍSƇĈÙDIzˑ赟^ˆKLœ—i—Þñ€[œƒaA²zz‰Ì÷Dœ|[šíijgf‚ÕÞd®|`ƒĆ~„oĠƑô³Ŋ‘D×°¯CsŠøÀ«ì‰UMhTº¨¸ǡîS–Ô„DruÂÇZ•ÖEŽ’vPZ„žW”~؋ÐtĄE¢¦Ðy¸bŠô´oŬ¬Ž²Ês~€€]®tªašpŎJ¨Öº„_ŠŔ–`’Ŗ^Ѝ\\Ĝu–”~m²Ƹ›¸fW‰ĦrƔ}Î^gjdfÔ¡J}\\n C˜¦þWxªJRÔŠu¬ĨĨmF†dM{\\d\\ŠYÊ¢ú@@¦ª²SŠÜsC–}fNècbpRmlØ^g„d¢aÒ¢CZˆZxvÆ¶N¿’¢T@€uCœ¬^ĊðÄn|žlGl’™Rjsp¢ED}€Fio~ÔNŽ‹„~zkĘHVsDzßjƒŬŒŠŢ`Pûàl¢˜\\ÀœEhŽİgÞē X¼Pk–„|m" - ], - "encodeOffsets": [[118256, 37017]] - } - }, - { - "type": "Feature", - "id": "420000", - "properties": { - "id": "420000", - "cp": [113.298572, 30.684355], - "name": "湖北", - "childNum": 3 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@AB‚"], - ["@@lskt"], - [ - "@@¾«}{ra®pîÃ\\™›{øCŠËyyB±„b\\›ò˜Ý˜jK›‡L ]ĎĽÌ’JyÚCƈćÎT´Å´pb©È‘dFin~BCo°BĎĚømvŒ®E^vǾ½Ĝ²Ro‚bÜeNŽ„^ĺ£R†¬lĶ÷YoĖ¥Ě¾|sOr°jY`~I”¾®I†{GqpCgyl{‡£œÍƒÍyPL“¡ƒ¡¸kW‡xYlÙæŠšŁĢzœ¾žV´W¶ùŸo¾ZHxjwfx„GNÁ•³Xéæl¶‰EièIH‰ u’jÌQ~v|sv¶Ôi|ú¢Fh˜Qsğ¦ƒSiŠBg™ÐE^ÁÐ{–čnOÂȞUÎóĔ†ÊēIJ}Z³½Mŧïeyp·uk³DsѨŸL“¶_œÅuèw»—€¡WqÜ]\\‘Ò§tƗcÕ¸ÕFÏǝĉăxŻČƟO‡ƒKÉġÿ×wg”÷IÅzCg†]m«ªGeçÃTC’«[‰t§{loWeC@ps_Bp‘­r‘„f_``Z|ei¡—oċMqow€¹DƝӛDYpûs•–‹Ykıǃ}s¥ç³[§ŸcYЧHK„«Qy‰]¢“wwö€¸ïx¼ņ¾Xv®ÇÀµRĠЋžHMž±cÏd„ƒǍũȅȷ±DSyúĝ£ŤĀàtÖÿï[îb\\}pĭÉI±Ñy…¿³x¯N‰o‰|¹H™ÏÛm‹júË~Tš•u˜ęjCöAwě¬R’đl¯ Ñb­‰ŇT†Ŀ_[Œ‘IčĄʿnM¦ğ\\É[T·™k¹œ©oĕ@A¾w•ya¥Y\\¥Âaz¯ãÁ¡k¥ne£Ûw†E©Êō¶˓uoj_Uƒ¡cF¹­[Wv“P©w—huÕyBF“ƒ`R‹qJUw\\i¡{jŸŸEPïÿ½fć…QÑÀQ{ž‚°‡fLԁ~wXg—ītêݾ–ĺ‘Hdˆ³fJd]‹HJ²…E€ƒoU¥†HhwQsƐ»Xmg±çve›]Dm͂PˆoCc¾‹_h”–høYrŊU¶eD°Č_N~øĹĚ·`z’]Äþp¼…äÌQŒv\\rCŒé¾TnkžŐڀÜa‡“¼ÝƆ̶Ûo…d…ĔňТJq’Pb ¾|JŒ¾fXŠƐîĨ_Z¯À}úƲ‹N_ĒĊ^„‘ĈaŐyp»CÇĕKŠšñL³ŠġMŒ²wrIÒŭxjb[œžn«øœ˜—æˆàƒ ^²­h¯Ú€ŐªÞ¸€Y²ĒVø}Ā^İ™´‚LŠÚm„¥ÀJÞ{JVŒųÞŃx×sxxƈē ģMř–ÚðòIf–Ċ“Œ\\Ʈ±ŒdʧĘD†vČ_Àæ~DŒċ´A®µ†¨ØLV¦êHÒ¤" - ] - ], - "encodeOffsets": [[[113712, 34000]], [[115612, 30507]], [[113649, 34054]]] - } - }, - { - "type": "Feature", - "id": "430000", - "properties": { "id": "430000", "cp": [111.782279, 28.09409], "name": "湖南", "childNum": 3 }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@—n„FTs"], - ["@@ßÅÆá‰½ÔXr—†CO™“…ËR‘ïÿĩ­TooQyšÓ[‹ŅBE¬–ÎÓXa„į§Ã¸G °ITxp‰úxÚij¥Ïš–̾ŠedžÄ©ĸG…œàGh‚€M¤–Â_U}Ċ}¢pczfŠþg¤€”ÇòAV‘‹M"], - [ - "@@©K—ƒA·³CQ±Á«³BUŠƑ¹AŠtćOw™D]ŒJiØSm¯b£‘ylƒ›X…HËѱH•«–‘C^õľA–Å§¤É¥„ïyuǙuA¢^{ÌC´­¦ŷJ£^[†“ª¿‡ĕ~•Ƈ…•N… skóā‡¹¿€ï]ă~÷O§­@—Vm¡‹Qđ¦¢Ĥ{ºjԏŽŒª¥nf´•~ÕoŸž×Ûą‹MąıuZœmZcÒ IJβSÊDŽŶ¨ƚƒ’CÖŎªQؼrŭŽ­«}NÏürʬŒmjr€@ĘrTW ­SsdHzƓ^ÇÂyUi¯DÅYlŹu{hTœ}mĉ–¹¥ě‰Dÿë©ıÓ[Oº£ž“¥ót€ł¹MՄžƪƒ`Pš…Di–ÛUоÅ‌ìˆU’ñB“È£ýhe‰dy¡oċ€`pfmjP~‚kZa…ZsÐd°wj§ƒ@€Ĵ®w~^‚kÀÅKvNmX\\¨a“”сqvíó¿F„¤¡@ũÑVw}S@j}¾«pĂr–ªg àÀ²NJ¶¶Dô…K‚|^ª†Ž°LX¾ŴäPᜣEXd›”^¶›IJÞܓ~‘u¸ǔ˜Ž›MRhsR…e†`ÄofIÔ\\Ø  i”ćymnú¨cj ¢»–GČìƊÿШXeĈ¾Oð Fi ¢|[jVxrIQŒ„_E”zAN¦zLU`œcªx”OTu RLÄ¢dV„i`p˔vŎµªÉžF~ƒØ€d¢ºgİàw¸Áb[¦Zb¦–z½xBĖ@ªpº›šlS¸Ö\\Ĕ[N¥ˀmĎă’J\\‹ŀ`€…ňSڊĖÁĐiO“Ĝ«BxDõĚiv—ž–S™Ì}iùŒžÜnšÐºGŠ{Šp°M´w†ÀÒzJ²ò¨ oTçüöoÛÿñŽőФ‚ùTz²CȆȸǎۃƑÐc°dPÎŸğ˶[Ƚu¯½WM¡­Éž“’B·rížnZŸÒ `‡¨GA¾\\pē˜XhÆRC­üWGġu…T靧Ŏѝ©ò³I±³}_‘‹EÃħg®ęisÁPDmÅ{‰b[Rşs·€kPŸŽƥƒóRo”O‹ŸVŸ~]{g\\“êYƪ¦kÝbiċƵŠGZ»Ěõ…ó·³vŝž£ø@pyö_‹ëŽIkѵ‡bcѧy…×dY؎ªiþž¨ƒ[]f]Ņ©C}ÁN‡»hĻħƏ’ĩ" - ] - ], - "encodeOffsets": [[[115640, 30489]], [[112543, 27312]], [[116690, 26230]]] - } - }, - { - "type": "Feature", - "id": "440000", - "properties": { - "id": "440000", - "cp": [113.280637, 23.125178], - "name": "广东", - "childNum": 24 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@QdˆAua"], - ["@@ƒlxDLo"], - ["@@sbhNLo"], - ["@@Ă āŸ"], - ["@@WltO[["], - ["@@Krœ]S"], - ["@@e„„I]y"], - ["@@I|„Mym"], - ["@@ƒÛ³LSŒž¼Y"], - ["@@nvºB–ëui©`¾"], - ["@@zdšÛ›Jw®"], - ["@@†°…¯"], - ["@@a yAª¸ËJIx،@€ĀHAmßV¡o•fu•o"], - ["@@šs‰ŗÃÔėAƁ›ZšÄ ~°ČP‚‹äh"], - ["@@‹¶Ý’Ì‚vmĞh­ı‡Q"], - ["@@HœŠdSjĒ¢D}war…“u«ZqadYM"], - ["@@elŒ\\LqqU"], - ["@@~rMo\\"], - ["@@f„^ƒC"], - ["@@øPªoj÷ÍÝħXČx”°Q¨ıXNv"], - ["@@gÇƳˆŽˆ”oˆŠˆ[~tly"], - ["@@E–ÆC¿‘"], - ["@@OŽP"], - [ - "@@w‹†đóg‰™ĝ—[³‹¡VÙæÅöM̳¹pÁaËýý©D©Ü“JŹƕģGą¤{Ùū…ǘO²«BƱéA—Ò‰ĥ‡¡«BhlmtÃPµyU¯uc“d·w_bŝcīímGOŽ|KP’ȏ‡ŹãŝIŕŭŕ@Óoo¿ē‹±ß}Ž…ŭ‚ŸIJWÈCőâUâǙI›ğʼn©I›ijEׅÁ”³Aó›wXJþ±ÌŒÜӔĨ£L]ĈÙƺZǾĆĖMĸĤfŒÎĵl•ŨnȈ‘ĐtF”Š–FĤ–‚êk¶œ^k°f¶gŠŽœ}®Fa˜f`vXŲxl˜„¦–ÔÁ²¬ÐŸ¦pqÊ̲ˆi€XŸØRDÎ}†Ä@ZĠ’s„x®AR~®ETtĄZ†–ƈfŠŠHâÒÐA†µ\\S¸„^wĖkRzŠalŽŜ|E¨ÈNĀňZTŒ’pBh£\\ŒĎƀuXĖtKL–¶G|Ž»ĺEļĞ~ÜĢÛĊrˆO˜Ùîvd]nˆ¬VœÊĜ°R֟pM††–‚ƂªFbwžEÀˆ˜©Œž\\…¤]ŸI®¥D³|ˎ]CöAŤ¦…æ’´¥¸Lv¼€•¢ĽBaô–F~—š®²GÌҐEY„„œzk¤’°ahlV՞I^‹šCxĈPŽsB‰ƒºV‰¸@¾ªR²ĨN]´_eavSi‡vc•}p}Đ¼ƌkJœÚe thœ†_¸ ºx±ò_xN›Ë‹²‘@ƒă¡ßH©Ùñ}wkNÕ¹ÇO½¿£ĕ]ly_WìIžÇª`ŠuTÅxYĒÖ¼k֞’µ‚MžjJÚwn\\h‘œĒv]îh|’È›Ƅøègž¸Ķß ĉĈWb¹ƀdéƌNTtP[ŠöSvrCZžžaGuœbo´ŖÒÇА~¡zCI…özx¢„Pn‹•‰Èñ @ŒĥÒ¦†]ƞŠV}³ăĔñiiÄÓVépKG½Ä‘ÓávYo–C·sit‹iaÀy„ŧΡÈYDÑům}‰ý|m[węõĉZÅxUO}÷N¹³ĉo_qtă“qwµŁYلǝŕ¹tïÛUïmRCº…ˆĭ|µ›ÕÊK™½R‘ē ó]‘–GªęAx–»HO£|ām‡¡diď×YïYWªʼnOeÚtĐ«zđ¹T…ā‡úE™á²\\‹ķÍ}jYàÙÆſ¿Çdğ·ùTßÇţʄ¡XgWÀLJğ·¿ÃˆOj YÇ÷Qě‹i" - ] - ], - "encodeOffsets": [ - [[117381, 22988]], - [[116552, 22934]], - [[116790, 22617]], - [[116973, 22545]], - [[116444, 22536]], - [[116931, 22515]], - [[116496, 22490]], - [[116453, 22449]], - [[113301, 21439]], - [[118726, 21604]], - [[118709, 21486]], - [[113210, 20816]], - [[115482, 22082]], - [[113171, 21585]], - [[113199, 21590]], - [[115232, 22102]], - [[115739, 22373]], - [[115134, 22184]], - [[113056, 21175]], - [[119573, 21271]], - [[119957, 24020]], - [[115859, 22356]], - [[116561, 22649]], - [[116285, 22746]] - ] - } - }, - { - "type": "Feature", - "id": "450000", - "properties": { "id": "450000", "cp": [108.320004, 22.82402], "name": "广西", "childNum": 2 }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@H– TQ§•A"], - [ - "@@ĨʪƒLƒƊDÎĹĐCǦė¸zÚGn£¾›rªŀÜt¬@֛ڈSx~øOŒ˜ŶÐÂæȠ\\„ÈÜObĖw^oބLf¬°bI lTØB̈F£Ć¹gñĤaY“t¿¤VSñœK¸¤nM†¼‚JE±„½¸šŠño‹ÜCƆæĪ^ŠĚQÖ¦^‡ˆˆf´Q†üÜʝz¯šlzUĺš@쇀p¶n]sxtx¶@„~ÒĂJb©gk‚{°‚~c°`ԙ¬rV\\“la¼¤ôá`¯¹LC†ÆbŒxEræO‚v[H­˜„[~|aB£ÖsºdAĐzNÂðsŽÞƔ…Ĥªbƒ–ab`ho¡³F«èVloޤ™ÔRzpp®SŽĪº¨ÖƒºN…ij„d`’a”¦¤F³ºDÎńĀìŠCžĜº¦Ċ•~nS›|gźvZkCÆj°zVÈÁƔ]LÊFZg…čP­kini«‹qǀcz͔Y®¬Ů»qR×ō©DՄ‘§ƙǃŵTÉĩ±ŸıdÑnYY›IJvNĆÌØÜ Öp–}e³¦m‹©iÓ|¹Ÿħņ›|ª¦QF¢Â¬ʖovg¿em‡^ucà÷gՎuŒíÙćĝ}FϼĹ{µHK•sLSđƃr‹č¤[Ag‘oS‹ŇYMÿ§Ç{Fśbky‰lQxĕƒ]T·¶[B…ÑÏGáşşƇe€…•ăYSs­FQ}­Bƒw‘tYğÃ@~…C̀Q ×W‡j˱rÉ¥oÏ ±«ÓÂ¥•ƒ€k—ŽwWűŒmcih³K›~‰µh¯e]lµ›él•E쉕E“ďs‡’mǖŧē`ãògK_ÛsUʝ“ćğ¶hŒöŒO¤Ǜn³Žc‘`¡y‹¦C‘ez€YŠwa™–‘[ďĵűMę§]X˜Î_‚훘Û]é’ÛUćİÕBƣ±…dƒy¹T^džûÅÑŦ·‡PĻþÙ`K€¦˜…¢ÍeœĥR¿Œ³£[~Œäu¼dl‰t‚†W¸oRM¢ď\\zœ}Æzdvň–{ÎXF¶°Â_„ÒÂÏL©Ö•TmuŸ¼ãl‰›īkiqéfA„·Êµ\\őDc¥ÝF“y›Ôć˜c€űH_hL܋êĺШc}rn`½„Ì@¸¶ªVLŒŠhŒ‹\\•Ţĺk~ŽĠið°|gŒtTĭĸ^x‘vK˜VGréAé‘bUu›MJ‰VÃO¡…qĂXËS‰ģãlýàŸ_ju‡YÛÒB†œG^˜é֊¶§ŽƒEG”ÅzěƒƯ¤Ek‡N[kdåucé¬dnYpAyČ{`]þ¯T’bÜÈk‚¡Ġ•vŒàh„ÂƄ¢Jî¶²" - ] - ], - "encodeOffsets": [[[111707, 21520]], [[107619, 25527]]] - } - }, - { - "type": "Feature", - "id": "460000", - "properties": { "id": "460000", "cp": [109.83119, 19.031971], "name": "海南", "childNum": 1 }, - "geometry": { - "type": "Polygon", - "coordinates": ["@@š¦Ŝil¢”XƦ‘ƞò–ïè§ŞCêɕrŧůÇąĻõ™·ĉ³œ̅kÇm@ċȧƒŧĥ‰Ľʉ­ƅſ“ȓÒ˦ŝE}ºƑ[ÍĜȋ gÎfǐÏĤ¨êƺ\\Ɔ¸ĠĎvʄȀœÐ¾jNðĀÒRŒšZdž™zÐŘΰH¨Ƣb²_Ġ "], - "encodeOffsets": [[112750, 20508]] - } - }, - { - "type": "Feature", - "id": "510000", - "properties": { - "id": "510000", - "cp": [104.065735, 30.659462], - "name": "四川", - "childNum": 2 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@LqKr"], - [ - "@@Š[ĻéV£ž_ţġñpG •réÏ·~ąSfy×͂·ºſƽiÍıƣıĻmHH}siaX@iǰÁÃ×t«ƒ­Tƒ¤J–JJŒyJ•ÈŠ`Ohߦ¡uËhIyCjmÿw…ZG……Ti‹SˆsO‰žB²ŸfNmsPaˆ{M{ŠõE‘^Hj}gYpaeuž¯‘oáwHjÁ½M¡pM“–uå‡mni{fk”\\oƒÎqCw†EZ¼K›ĝŠƒAy{m÷L‡wO×SimRI¯rK™õBS«sFe‡]fµ¢óY_ÆPRcue°Cbo׌bd£ŌIHgtrnyPt¦foaXďx›lBowz‹_{ÊéWiêE„GhܸºuFĈIxf®Ž•Y½ĀǙ]¤EyŸF²ċ’w¸¿@g¢§RGv»–áŸW`ÃĵJwi]t¥wO­½a[׈]`Ãi­üL€¦LabbTÀå’c}Íh™Æhˆ‹®BH€î|Ék­¤S†y£„ia©taį·Ɖ`ō¥Uh“O…ƒĝLk}©Fos‰´›Jm„µlŁu—…ø–nÑJWΪ–YÀïAetTžŅ‚ӍG™Ë«bo‰{ıwodƟ½ƒžOġܑµxàNÖ¾P²§HKv¾–]|•B‡ÆåoZ`¡Ø`ÀmºĠ~ÌЧnDž¿¤]wğ@sƒ‰rğu‰~‘Io”[é±¹ ¿žſđӉ@q‹gˆ¹zƱřaí°KtǤV»Ã[ĩǭƑ^ÇÓ@ỗs›Zϕ‹œÅĭ€Ƌ•ěpwDóÖሯneQˌq·•GCœýS]xŸ·ý‹q³•O՜Œ¶Qzßti{ř‰áÍÇWŝŭñzÇW‹pç¿JŒ™‚Xœĩè½cŒF–ÂLiVjx}\\N†ŇĖ¥Ge–“JA¼ÄHfÈu~¸Æ«dE³ÉMA|b˜Ò…˜ćhG¬CM‚õŠ„ƤąAvƒüV€éŀ‰_V̳ĐwQj´·ZeÈÁ¨X´Æ¡Qu·»Ÿ“˜ÕZ³ġqDo‰y`L¬gdp°şŠp¦ėìÅĮZްIä”h‚‘ˆzŠĵœf²å ›ĚрKp‹IN|‹„Ñz]ń……·FU×é»R³™MƒÉ»GM«€ki€™ér™}Ã`¹ăÞmȝnÁîRǀ³ĜoİzŔwǶVÚ£À]ɜ»ĆlƂ²Ġ…þTº·àUȞÏʦ¶†I’«dĽĢdĬ¿–»Ĕ׊h\\c¬†ä²GêëĤł¥ÀǿżÃÆMº}BÕĢyFVvw–ˆxBèĻĒ©Ĉ“tCĢɽŠȣ¦āæ·HĽî“ôNԓ~^¤Ɗœu„œ^s¼{TA¼ø°¢İªDè¾Ň¶ÝJ‘®Z´ğ~Sn|ªWÚ©òzPOȸ‚bð¢|‹øĞŠŒœŒQìÛÐ@Ğ™ǎRS¤Á§d…i“´ezÝúØã]Hq„kIŸþËQǦÃsǤ[E¬ÉŪÍxXƒ·ÖƁİlƞ¹ª¹|XÊwn‘ÆƄmÀêErĒtD®ċæcQƒ”E®³^ĭ¥©l}äQto˜ŖÜqƎkµ–„ªÔĻĴ¡@Ċ°B²Èw^^RsºT£ڿœQP‘JvÄz„^Đ¹Æ¯fLà´GC²‘dt˜­ĀRt¼¤ĦOðğfÔðDŨŁĞƘïžPȆ®âbMüÀXZ ¸£@Ś›»»QÉ­™]d“sÖ×_͖_ÌêŮPrĔĐÕGĂeZÜîĘqBhtO ¤tE[h|Y‹Ô‚ZśÎs´xº±UŒ’ñˆt|O’ĩĠºNbgþŠJy^dÂY Į„]Řz¦gC‚³€R`Šz’¢AjŒ¸CL„¤RÆ»@­Ŏk\\Ç´£YW}z@Z}‰Ã¶“oû¶]´^N‡Ò}èN‚ª–P˜Íy¹`S°´†ATe€VamdUĐwʄvĮÕ\\ƒu‹Æŗ¨Yp¹àZÂm™Wh{á„}WØǍ•Éüw™ga§áCNęÎ[ĀÕĪgÖɪX˜øx¬½Ů¦¦[€—„NΆL€ÜUÖ´òrÙŠxR^–†J˜k„ijnDX{Uƒ~ET{ļº¦PZc”jF²Ė@Žp˜g€ˆ¨“B{ƒu¨ŦyhoÚD®¯¢˜ WòàFΤ¨GDäz¦kŮPœġq˚¥À]€Ÿ˜eŽâÚ´ªKxī„Pˆ—Ö|æ[xäJÞĥ‚s’NÖ½ž€I†¬nĨY´®Ð—ƐŠ€mD™ŝuäđđEb…e’e_™v¡}ìęNJē}q”É埁T¯µRs¡M@}ůa†a­¯wvƉåZwž\\Z{åû^›" - ] - ], - "encodeOffsets": [[[108815, 30935]], [[110617, 31811]]] - } - }, - { - "type": "Feature", - "id": "520000", - "properties": { - "id": "520000", - "cp": [106.713478, 26.578343], - "name": "贵州", - "childNum": 3 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@†G\\†lY£‘in"], - ["@@q‚|ˆ‚mc¯tχVSÎ"], - [ - "@@hÑ£Is‡NgßH†›HªķÃh_¹ƒ¡ĝħń¦uيùŽgS¯JHŸ|sÝÅtÁïyMDč»eÕtA¤{b\\}—ƒG®u\\åPFq‹wÅaD…žK°ºâ_£ùbµ”mÁ‹ÛœĹM[q|hlaªāI}тƒµ@swtwm^oµˆD鼊yV™ky°ÉžûÛR…³‚‡eˆ‡¥]RՋěħ[ƅåÛDpŒ”J„iV™™‰ÂF²I…»mN·£›LbÒYb—WsÀbŽ™pki™TZĄă¶HŒq`……ĥ_JŸ¯ae«ƒKpÝx]aĕÛPƒÇȟ[ÁåŵÏő—÷Pw}‡TœÙ@Õs«ĿÛq©½œm¤ÙH·yǥĘĉBµĨÕnđ]K„©„œá‹ŸG纍§Õßg‡ǗĦTèƤƺ{¶ÉHÎd¾ŚÊ·OÐjXWrãLyzÉAL¾ę¢bĶėy_qMĔąro¼hĊžw¶øV¤w”²Ĉ]ʚKx|`ź¦ÂÈdr„cȁbe¸›`I¼čTF´¼Óýȃr¹ÍJ©k_șl³´_pН`oÒh޶pa‚^ÓĔ}D»^Xyœ`d˜[Kv…JPhèhCrĂĚÂ^Êƌ wˆZL­Ġ£šÁbrzOIl’MM”ĪŐžËr×ÎeŦŽtw|Œ¢mKjSǘňĂStÎŦEtqFT†¾†E쬬ôxÌO¢Ÿ KгŀºäY†„”PVgŎ¦Ŋm޼VZwVlŒ„z¤…ž£Tl®ctĽÚó{G­A‡ŒÇgeš~Αd¿æaSba¥KKûj®_ć^\\ؾbP®¦x^sxjĶI_Ä X‚⼕Hu¨Qh¡À@Ëô}ޱžGNìĎlT¸ˆ…`V~R°tbÕĊ`¸úÛtπFDu€[ƒMfqGH·¥yA‰ztMFe|R‚_Gk†ChZeÚ°to˜v`x‹b„ŒDnÐ{E}šZ˜è€x—†NEފREn˜[Pv@{~rĆAB§‚EO¿|UZ~ì„Uf¨J²ĂÝÆ€‚sª–B`„s¶œfvö¦ŠÕ~dÔq¨¸º»uù[[§´sb¤¢zþFœ¢Æ…Àhˆ™ÂˆW\\ıŽËI݊o±ĭŠ£þˆÊs}¡R]ŒěƒD‚g´VG¢‚j±®è†ºÃmpU[Á›‘Œëº°r›ÜbNu¸}Žº¼‡`ni”ºÔXĄ¤¼Ôdaµ€Á_À…†ftQQgœR—‘·Ǔ’v”}Ýלĵ]µœ“Wc¤F²›OĩųãW½¯K‚©…]€{†LóµCIµ±Mß¿hŸ•©āq¬o‚½ž~@i~TUxŪÒ¢@ƒ£ÀEîôruń‚”“‚b[§nWuMÆLl¿]x}ij­€½" - ] - ], - "encodeOffsets": [[[112158, 27383]], [[112105, 27474]], [[112095, 27476]]] - } - }, - { - "type": "Feature", - "id": "530000", - "properties": { - "id": "530000", - "cp": [101.512251, 24.740609], - "name": "云南", - "childNum": 1 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@[„ùx½}ÑRH‘YīĺûsÍn‘iEoã½Ya²ė{c¬ĝg•ĂsA•ØÅwď‚õzFjw}—«Dx¿}UũlŸê™@•HÅ­F‰¨ÇoJ´Ónũuą¡Ã¢pÒŌ“Ø TF²‚xa²ËX€‚cʋlHîAßËŁkŻƑŷÉ©h™W­æßU‡“Ës¡¦}•teèÆ¶StǀÇ}Fd£j‹ĈZĆÆ‹¤T‚č\\Dƒ}O÷š£Uˆ§~ŃG™‚åŃDĝ¸œTsd¶¶Bªš¤u¢ŌĎo~t¾ÍŶÒtD¦Ú„iôö‰€z›ØX²ghįh½Û±¯€ÿm·zR¦Ɵ`ªŊÃh¢rOԍ´£Ym¼èêf¯ŪĽn„†cÚbŒw\\zlvWžªâˆ ¦g–mĿBş£¢ƹřbĥkǫßeeZkÙIKueT»sVesb‘aĕ  ¶®dNœĄÄpªyސ¼—„³BE˜®l‡ŽGœŭCœǶwêżĔÂe„pÍÀQƞpC„–¼ŲÈ­AÎô¶R„ä’Q^Øu¬°š_Èôc´¹ò¨P΢hlϦ´Ħ“Æ´sâDŽŲPnÊD^¯°’Upv†}®BP̪–jǬx–Söwlfòªv€qĸ|`H€­viļ€ndĜ­Ćhň•‚em·FyށqóžSᝑ³X_ĞçêtryvL¤§z„¦c¦¥jnŞk˜ˆlD¤øz½ĜàžĂŧMÅ|áƆàÊcðÂF܎‚áŢ¥\\\\º™İøÒÐJĴ‡„îD¦zK²ǏÎEh~’CD­hMn^ÌöÄ©ČZÀžaü„fɭyœpį´ěFűk]Ôě¢qlÅĆÙa¶~Äqššê€ljN¬¼H„ÊšNQ´ê¼VظE††^ŃÒyŒƒM{ŒJLoÒœęæŸe±Ķ›y‰’‡gã“¯JYÆĭĘëo¥Š‰o¯hcK«z_pŠrC´ĢÖY”—¼ v¸¢RŽÅW³Â§fǸYi³xR´ďUˊ`êĿU„û€uĆBƒƣö‰N€DH«Ĉg†——Ñ‚aB{ÊNF´¬c·Åv}eÇÃGB»”If•¦HňĕM…~[iwjUÁKE•Ž‹¾dĪçW›šI‹èÀŒoÈXòyŞŮÈXâÎŚŠj|àsRy‹µÖ›–Pr´þŒ ¸^wþTDŔ–Hr¸‹žRÌmf‡żÕâCôox–ĜƌÆĮŒ›Ð–œY˜tâŦÔ@]ÈǮƒ\\μģUsȯLbîƲŚºyh‡rŒŠ@ĒԝƀŸÀ²º\\êp“’JŠ}ĠvŠqt„Ġ@^xÀ£È†¨mËÏğ}n¹_¿¢×Y_æpˆÅ–A^{½•Lu¨GO±Õ½ßM¶w’ÁĢۂP‚›Ƣ¼pcIJxŠ|ap̬HšÐŒŊSfsðBZ¿©“XÏÒK•k†÷Eû¿‰S…rEFsÕūk”óVǥʼniTL‚¡n{‹uxţÏh™ôŝ¬ğōN“‘NJkyPaq™Âğ¤K®‡YŸxÉƋÁ]āęDqçgOg†ILu—\\_gz—]W¼ž~CÔē]bµogpў_oď`´³Țkl`IªºÎȄqÔþž»E³ĎSJ»œ_f·‚adÇqƒÇc¥Á_Źw{™L^ɱćx“U£µ÷xgĉp»ĆqNē`rĘzaĵĚ¡K½ÊBzyäKXqiWPÏɸ½řÍcÊG|µƕƣG˛÷Ÿk°_^ý|_zċBZocmø¯hhcæ\\lˆMFlư£Ĝ„ÆyH“„F¨‰µêÕ]—›HA…àӄ^it `þßäkŠĤÎT~Wlÿ¨„ÔPzUC–NVv [jâôDôď[}ž‰z¿–msSh‹¯{jïğl}šĹ[–őŒ‰gK‹©U·µË@¾ƒm_~q¡f¹…ÅË^»‘f³ø}Q•„¡Ö˳gͱ^ǁ…\\ëÃA_—¿bW›Ï[¶ƛ鏝£F{īZgm@|kHǭƁć¦UĔťƒ×ë}ǝƒeďºȡȘÏíBə£āĘPªij¶“ʼnÿ‡y©n‰ď£G¹¡I›Š±LÉĺÑdĉ܇W¥˜‰}g˜Á†{aqÃ¥aŠıęÏZ—ï`" - ], - "encodeOffsets": [[104636, 22969]] - } - }, - { - "type": "Feature", - "id": "540000", - "properties": { "id": "540000", "cp": [89.132212, 30.860361], "name": "西藏", "childNum": 1 }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@hžľxŽŖ‰xƒÒVކºÅâAĪÝȆµę¯Ňa±r_w~uSÕň‘qOj]ɄQ…£Z……UDûoY’»©M[‹L¼qãË{V͕çWViŽ]ë©Ä÷àyƛh›ÚU°ŒŒa”d„cQƒ~Mx¥™cc¡ÙaSyF—ցk­ŒuRýq¿Ôµ•QĽ³aG{¿FµëªéĜÿª@¬·–K‰·àariĕĀ«V»Ŷ™Ĵū˜gèLǴŇƶaf‹tŒèBŚ£^Šâ†ǐÝ®–šM¦ÁǞÿ¬LhŸŽJ¾óƾƺcxw‹f]Y…´ƒ¦|œQLn°aœdĊ…œ\\¨o’œǀÍŎœ´ĩĀd`tÊQŞŕ|‚¨C^©œĈ¦„¦ÎJĊ{ŽëĎjª²rЉšl`¼Ą[t|¦St辉PŒÜK¸€d˜Ƅı]s¤—î_v¹ÎVòŦj˜£Əsc—¬_Ğ´|٘¦Avަw`ăaÝaa­¢e¤ı²©ªSªšÈMĄwžÉØŔì@T‘¤—Ę™\\õª@”þo´­xA s”ÂtŎKzó´ÇĊµ¢rž^nĊ­Æ¬×üGž¢‚³ {âĊ]š™G‚~bÀgVjzlhǶf€žOšfdЉªB]pj„•TO–tĊ‚n¤}®¦ƒČ¥d¢¼»ddš”Y¼Žt—¢eȤJ¤}Ǿ¡°§¤AГlc@ĝ”sªćļđAç‡wx•UuzEÖġ~AN¹ÄÅȀݦ¿ģŁéì±H…ãd«g[؉¼ēÀ•cīľġ¬cJ‘µ…ÐʥVȝ¸ßS¹†ý±ğkƁ¼ą^ɛ¤Ûÿ‰b[}¬ōõÃ]ËNm®g@•Bg}ÍF±ǐyL¥íCˆƒIij€Ï÷њį[¹¦[⚍EÛïÁÉdƅß{âNÆāŨߝ¾ě÷yC£‡k­´ÓH@¹†TZ¥¢įƒ·ÌAЧ®—Zc…v½ŸZ­¹|ŕWZqgW“|ieZÅYVӁqdq•bc²R@†c‡¥Rã»Ge†ŸeƃīQ•}J[ғK…¬Ə|o’ėjġĠÑN¡ð¯EBčnwôɍėªƒ²•CλŹġǝʅįĭạ̃ūȹ]ΓͧgšsgȽóϧµǛ†ęgſ¶ҍć`ĘąŌJޚä¤rÅň¥ÖÁUětęuůÞiĊÄÀ\\Æs¦ÓRb|Â^řÌkÄŷ¶½÷‡f±iMݑ›‰@ĥ°G¬ÃM¥n£Øą‚ğ¯ß”§aëbéüÑOčœk£{\\‘eµª×M‘šÉfm«Ƒ{Å׃Gŏǩãy³©WÑăû‚··‘Q—òı}¯ã‰I•éÕÂZ¨īès¶ZÈsŽæĔTŘvŽgÌsN@îá¾ó@‰˜ÙwU±ÉT廣TđŸWxq¹Zo‘b‹s[׌¯cĩv‡Œėŧ³BM|¹k‰ªħ—¥TzNYnݍßpęrñĠĉRS~½ŠěVVе‚õ‡«ŒM££µB•ĉ¥áºae~³AuĐh`Ü³ç@BۘïĿa©|z²Ý¼D”£à貋ŸƒIƒû›I ā€óK¥}rÝ_Á´éMaň¨€~ªSĈ½Ž½KÙóĿeƃÆBŽ·¬ën×W|Uº}LJrƳ˜lŒµ`bÔ`QˆˆÐÓ@s¬ñIŒÍ@ûws¡åQÑßÁ`ŋĴ{Ī“T•ÚÅTSij‚‹Yo|Ç[ǾµMW¢ĭiÕØ¿@˜šMh…pÕ]j†éò¿OƇĆƇp€êĉâlØw–ěsˆǩ‚ĵ¸c…bU¹ř¨WavquSMzeo_^gsÏ·¥Ó@~¯¿RiīB™Š\\”qTGªÇĜçPoŠÿfñòą¦óQīÈáP•œābß{ƒZŗĸIæÅ„hnszÁCËìñšÏ·ąĚÝUm®ó­L·ăU›Èíoù´Êj°ŁŤ_uµ^‘°Œìǖ@tĶĒ¡Æ‡M³Ģ«˜İĨÅ®ğ†RŽāð“ggheÆ¢z‚Ê©Ô\\°ÝĎz~ź¤Pn–MĪÖB£Ÿk™n鄧żćŠ˜ĆK„ǰ¼L¶è‰âz¨u¦¥LDĘz¬ýÎmĘd¾ß”Fz“hg²™Fy¦ĝ¤ċņbΛ@y‚Ąæm°NĮZRÖíŽJ²öLĸÒ¨Y®ƌÐV‰à˜tt_ڀÂyĠzž]Ţh€zĎ{†ĢX”ˆc|šÐqŽšfO¢¤ög‚ÌHNŽ„PKŖœŽ˜Uú´xx[xˆvĐCûŠìÖT¬¸^}Ìsòd´_އKgžLĴ…ÀBon|H@–Êx˜—¦BpŰˆŌ¿fµƌA¾zLjRxжF”œkĄźRzŀˆ~¶[”´Hnª–VƞuĒ­È¨ƎcƽÌm¸ÁÈM¦x͊ëÀxdžB’šú^´W†£–d„kɾĬpœw‚˂ØɦļĬIŚœÊ•n›Ŕa¸™~J°î”lɌxĤÊÈðhÌ®‚g˜T´øŽàCˆŽÀ^ªerrƘdž¢İP|Ė ŸWœªĦ^¶´ÂL„aT±üWƜ˜ǀRšŶUńšĖ[QhlLüA†‹Ü\\†qR›Ą©" - ], - "encodeOffsets": [[90849, 37210]] - } - }, - { - "type": "Feature", - "id": "610000", - "properties": { - "id": "610000", - "cp": [108.948024, 34.263161], - "name": "陕西", - "childNum": 1 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@˜p¢—ȮµšûG™Ħ}Ħšðǚ¶òƄ€jɂz°{ºØkÈęâ¦jª‚Bg‚\\œċ°s¬Ž’]jžú ‚E”Ȍdž¬s„t‡”RˆÆdĠݎwܔ¸ôW¾ƮłÒ_{’Ìšû¼„jº¹¢GǪÒ¯ĘƒZ`ºŊƒecņąš~BÂgzpâēòYǠȰÌTΨÂWœ|fcŸă§uF—Œ@NŸ¢XLƒŠRMº[ğȣſï|¥J™kc`sʼnǷ’Y¹‹W@µ÷K…ãï³ÛIcñ·VȋڍÒķø©—þ¥ƒy‚ÓŸğęmWµÎumZyOŅƟĥÓ~sÑL¤µaŅY¦ocyZ{‰y c]{ŒTa©ƒ`U_Ěē£ωÊƍKù’K¶ȱÝƷ§{û»ÅÁȹÍéuij|¹cÑd‘ŠìUYƒŽO‘uF–ÕÈYvÁCqӃT•Ǣí§·S¹NgŠV¬ë÷Át‡°Dد’C´ʼnƒópģ}„ċcE˅FŸŸéGU¥×K…§­¶³B‹Č}C¿åċ`wġB·¤őcƭ²ő[Å^axwQO…ÿEËߌ•ĤNĔŸwƇˆÄŠńwĪ­Šo[„_KÓª³“ÙnK‰Çƒěœÿ]ď€ă_d©·©Ýŏ°Ù®g]±„Ÿ‡ß˜å›—¬÷m\\›iaǑkěX{¢|ZKlçhLt€Ňîŵ€œè[€É@ƉĄEœ‡tƇÏ˜³­ħZ«mJ…›×¾‘MtÝĦ£IwÄå\\Õ{‡˜ƒOwĬ©LÙ³ÙgBƕŀr̛ĢŭO¥lãyC§HÍ£ßEñŸX¡—­°ÙCgpťz‘ˆb`wI„vA|§”‡—hoĕ@E±“iYd¥OϹS|}F@¾oAO²{tfžÜ—¢Fǂ҈W²°BĤh^Wx{@„¬‚­F¸¡„ķn£P|ŸªĴ@^ĠĈæb–Ôc¶l˜Yi…–^Mi˜cϰÂ[ä€vï¶gv@À“Ĭ·lJ¸sn|¼u~a]’ÆÈtŌºJp’ƒþ£KKf~ЦUbyäIšĺãn‡Ô¿^­žŵMT–hĠܤko¼Ŏìąǜh`[tŒRd²IJ_œXPrɲ‰l‘‚XžiL§àƒ–¹ŽH˜°Ȧqº®QC—bA†„ŌJ¸ĕÚ³ĺ§ `d¨YjžiZvRĺ±öVKkjGȊĐePОZmļKÀ€‚[ŠŽ`ösìh†ïÎoĬdtKÞ{¬èÒÒBŒÔpIJÇĬJŊ¦±J«ˆY§‹@·pH€µàåVKe›pW†ftsAÅqC·¬ko«pHÆuK@oŸHĆۄķhx“e‘n›S³àǍrqƶRbzy€¸ËАl›¼EºpĤ¼Œx¼½~Ğ’”à@†ÚüdK^ˆmÌSj" - ], - "encodeOffsets": [[110234, 38774]] - } - }, - { - "type": "Feature", - "id": "620000", - "properties": { - "id": "620000", - "cp": [103.823557, 36.058039], - "name": "甘肃", - "childNum": 2 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@VuUv"], - [ - "@@ũ‹EĠtt~nkh`Q‰¦ÅÄÜdw˜Ab×ĠąJˆ¤DüègĺqBqœj°lI¡ĨÒ¤úSHbš‡ŠjΑBаaZˆ¢KJŽ’O[|A£žDx}Nì•HUnrk„ kp€¼Y kMJn[aG‚áÚÏ[½rc†}aQxOgsPMnUs‡nc‹Z…ž–sKúvA›t„Þġ’£®ĀYKdnFwš¢JE°”Latf`¼h¬we|€Æ‡šbj}GA€·~WŽ”—`†¢MC¤tL©IJ°qdf”O‚“bÞĬ¹ttu`^ZúE`Œ[@„Æsîz®¡’C„ƳƜG²“R‘¢R’m”fŽwĸg܃‚ą G@pzJM½mŠhVy¸uÈÔO±¨{LfæU¶ßGĂq\\ª¬‡²I‚¥IʼnÈīoı‹ÓÑAçÑ|«LÝcspīðÍg…të_õ‰\\ĉñLYnĝg’ŸRǡÁiHLlõUĹ²uQjYi§Z_c¨Ÿ´ĹĖÙ·ŋI…ƒaBD˜­R¹ȥr—¯G•ºß„K¨jWk’ɱŠOq›Wij\\a­‹Q\\sg_ĆǛōëp»£lğۀgS•ŶN®À]ˆÓäm™ĹãJaz¥V}‰Le¤L„ýo‘¹IsŋÅÇ^‘Žbz…³tmEÁ´aйcčecÇN•ĊãÁ\\蝗dNj•]j†—ZµkÓda•ćå]ğij@ ©O{¤ĸm¢ƒE·®ƒ«|@Xwg]A챝‡XǁÑdzªc›wQÚŝñsÕ³ÛV_ýƒ˜¥\\ů¥©¾÷w—Ž©WÕÊĩhÿÖÁRo¸V¬âDb¨šhûx–Ê×nj~Zâƒg|šXÁnßYoº§ZÅŘvŒ[„ĭÖʃuďxcVbnUSf…B¯³_Tzº—ΕO©çMÑ~Mˆ³]µ^püµ”ŠÄY~y@X~¤Z³€[Èōl@®Å¼£QKƒ·Di‹¡By‘ÿ‰Q_´D¥hŗyƒ^ŸĭÁZ]cIzý‰ah¹MĪğP‘s{ò‡‹‘²Vw¹t³Ŝˁ[ŽÑ}X\\gsFŸ£sPAgěp×ëfYHāďÖqēŭOÏë“dLü•\\iŒ”t^c®šRʺ¶—¢H°mˆ‘rYŸ£BŸ¹čIoľu¶uI]vģSQ{ƒUŻ”Å}QÂ|̋°ƅ¤ĩŪU ęĄžÌZҞ\\v˜²PĔ»ƢNHƒĂyAmƂwVmž`”]ȏb•”H`‰Ì¢²ILvĜ—H®¤Dlt_„¢JJÄämèÔDëþgºƫ™”aʎÌrêYi~ ÎݤNpÀA¾Ĕ¼b…ð÷’Žˆ‡®‚”üs”zMzÖĖQdȨý†v§Tè|ªH’þa¸|šÐ ƒwKĢx¦ivr^ÿ ¸l öæfƟĴ·PJv}n\\h¹¶v†·À|\\ƁĚN´Ĝ€çèÁz]ġ¤²¨QÒŨTIl‡ªťØ}¼˗ƦvÄùØE‹’«Fï˛Iq”ōŒTvāÜŏ‚íÛߜÛV—j³âwGăÂíNOŠˆŠPìyV³ʼnĖýZso§HіiYw[߆\\X¦¥c]ÔƩÜ·«j‡ÐqvÁ¦m^ċ±R™¦΋ƈťĚgÀ»IïĨʗƮްƝ˜ĻþÍAƉſ±tÍEÕÞāNU͗¡\\ſčåÒʻĘm ƭÌŹöʥ’ëQ¤µ­ÇcƕªoIýˆ‰Iɐ_mkl³ă‰Ɠ¦j—¡Yz•Ňi–}Msßõ–īʋ —}ƒÁVmŸ_[n}eı­Uĥ¼‘ª•I{ΧDӜƻėoj‘qYhĹT©oūĶ£]ďxĩ‹ǑMĝ‰q`B´ƃ˺Ч—ç~™²ņj@”¥@đ´ί}ĥtPńǾV¬ufӃÉC‹tÓ̻‰…¹£G³€]ƖƾŎĪŪĘ̖¨ʈĢƂlɘ۪üºňUðǜȢƢż̌ȦǼ‚ĤŊɲĖ­Kq´ï¦—ºĒDzņɾªǀÞĈĂD†½ĄĎÌŗĞrôñnŽœN¼â¾ʄľԆ|DŽŽ֦ज़ȗlj̘̭ɺƅêgV̍ʆĠ·ÌĊv|ýĖÕWĊǎÞ´õ¼cÒÒBĢ͢UĜð͒s¨ňƃLĉÕÝ@ɛƯ÷¿Ľ­ĹeȏijëCȚDŲyê×Ŗyò¯ļcÂßY…tÁƤyAã˾J@ǝrý‹‰@¤…rz¸oP¹ɐÚyᐇHŸĀ[Jw…cVeȴϜ»ÈŽĖ}ƒŰŐèȭǢόĀƪÈŶë;Ñ̆ȤМľĮEŔ—ĹŊũ~ËUă{ŸĻƹɁύȩþĽvĽƓÉ@ē„ĽɲßǐƫʾǗĒpäWÐxnsÀ^ƆwW©¦cÅ¡Ji§vúF¶Ž¨c~c¼īŒeXǚ‹\\đ¾JŽwÀďksãA‹fÕ¦L}wa‚o”Z’‹D½†Ml«]eÒÅaɲáo½FõÛ]ĻÒ¡wYR£¢rvÓ®y®LF‹LzĈ„ôe]gx}•|KK}xklL]c¦£fRtív¦†PĤoH{tK" - ] - ], - "encodeOffsets": [[[108619, 36299]], [[108589, 36341]]] - } - }, - { - "type": "Feature", - "id": "630000", - "properties": { "id": "630000", "cp": [96.778916, 35.623178], "name": "青海", "childNum": 2 }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@InJm"], - [ - "@@CƒÆ½OŃĦsΰ~dz¦@@“Ņiš±è}ؘƄ˹A³r_ĞŠǒNΌĐw¤^ŬĵªpĺSZg’rpiƼĘԛ¨C|͖J’©Ħ»®VIJ~f\\m `Un„˜~ʌŸ•ĬàöNt•~ňjy–¢Zi˜Ɣ¥ĄŠk´nl`JʇŠJþ©pdƖ®È£¶ìRʦ‘źõƮËnŸʼėæÑƀĎ[‚˜¢VÎĂMÖÝÎF²sƊƀÎBļýƞ—¯ʘƭðħ¼Jh¿ŦęΌƇš¥²Q]Č¥nuÂÏriˆ¸¬ƪÛ^Ó¦d€¥[Wà…x\\ZŽjҕ¨GtpþYŊĕ´€zUO뇉P‰îMĄÁxH´á˜iÜUà›îÜՁĂÛSuŎ‹r“œJð̬EŒ‘FÁú×uÃÎkr“Ē{V}İ«O_ÌËĬ©ŽÓŧSRѱ§Ģ£^ÂyèçěM³Ƃę{[¸¿u…ºµ[gt£¸OƤĿéYŸõ·kŸq]juw¥Dĩƍ€õÇPéĽG‘ž©ã‡¤G…uȧþRcÕĕNy“yût“ˆ­‡ø‘†ï»a½ē¿BMoᣟÍj}éZËqbʍš“Ƭh¹ìÿÓAçãnIáI`ƒks£CG­ě˜Uy×Cy•…’Ÿ@¶ʡÊBnāzG„ơMē¼±O÷õJËĚăVŸĪũƆ£Œ¯{ËL½Ìzż“„VR|ĠTbuvJvµhĻĖH”Aëáa…­OÇðñęNw‡…œľ·L›mI±íĠĩPÉ×®ÿs—’cB³±JKßĊ«`…ađ»·QAmO’‘Vţéÿ¤¹SQt]]Çx€±¯A@ĉij¢Ó祖•ƒl¶ÅÛr—ŕspãRk~¦ª]Į­´“FR„åd­ČsCqđéFn¿Åƃm’Éx{W©ºƝºįkÕƂƑ¸wWūЩÈFž£\\tÈ¥ÄRÈýÌJ ƒlGr^×äùyÞ³fj”c†€¨£ÂZ|ǓMĝšÏ@ëÜőR‹›ĝ‰Œ÷¡{aïȷPu°ËXÙ{©TmĠ}Y³’­ÞIňµç½©C¡į÷¯B»|St»›]vƒųƒs»”}MÓ ÿʪƟǭA¡fs˜»PY¼c¡»¦c„ċ­¥£~msĉP•–Siƒ^o©A‰Šec‚™PeǵŽkg‚yUi¿h}aH™šĉ^|ᴟ¡HØûÅ«ĉ®]m€¡qĉ¶³ÈyôōLÁst“BŸ®wn±ă¥HSò뚣˜S’ë@לÊăxÇN©™©T±ª£IJ¡fb®ÞbŽb_Ą¥xu¥B—ž{łĝ³«`d˜Ɛt—¤ťiñžÍUuºí`£˜^tƃIJc—·ÛLO‹½Šsç¥Ts{ă\\_»™kϊ±q©čiìĉ|ÍIƒ¥ć¥›€]ª§D{ŝŖÉR_sÿc³Īō›ƿΑ›§p›[ĉ†›c¯bKm›R¥{³„Z†e^ŽŒwx¹dƽŽôIg §Mĕ ƹĴ¿—ǣÜ̓]‹Ý–]snåA{‹eŒƭ`ǻŊĿ\\ijŬű”YÂÿ¬jĖqŽßbЏ•L«¸©@ěĀ©ê¶ìÀEH|´bRľž–Ó¶rÀQþ‹vl®Õ‚E˜TzÜdb ˜hw¤{LR„ƒd“c‹b¯‹ÙVgœ‚ƜßzÃô쮍^jUèXΖ|UäÌ»rKŽ\\ŒªN‘¼pZCü†VY††¤ɃRi^rPҒTÖ}|br°qňb̰ªiƶGQ¾²„x¦PœmlŜ‘[Ĥ¡ΞsĦŸÔÏâ\\ªÚŒU\\f…¢N²§x|¤§„xĔsZPòʛ²SÐqF`ª„VƒÞŜĶƨVZŒÌL`ˆ¢dŐIqr\\oäõ–F礻Ŷ×h¹]Clـ\\¦ďÌį¬řtTӺƙgQÇÓHţĒ”´ÃbEÄlbʔC”|CˆŮˆk„Ʈ[ʼ¬ňœ´KŮÈΰÌζƶlð”ļA†TUvdTŠG†º̼ŠÔ€ŒsÊDԄveOg" - ] - ], - "encodeOffsets": [[[105308, 37219]], [[95370, 40081]]] - } - }, - { - "type": "Feature", - "id": "640000", - "properties": { "id": "640000", "cp": [106.278179, 37.26637], "name": "宁夏", "childNum": 2 }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - [ - "@@KëÀęĞ«OęȿȕŸı]ʼn¡åįÕÔ«Ǵõƪ™ĚQÐZhv K°›öqÀѐS[ÃÖHƖčË‡nL]ûc…Ùß@‚“ĝ‘¾}w»»‹oģF¹œ»kÌÏ·{zPƒ§B­¢íyÅt@ƒ@áš]Yv_ssģ¼i߁”ĻL¾ġsKD£¡N_…“˜X¸}B~Haiˆ™Åf{«x»ge_bs“KF¯¡Ix™mELcÿZ¤­Ģ‘ƒÝœsuBLù•t†ŒYdˆmVtNmtOPhRw~bd…¾qÐ\\âÙH\\bImlNZŸ»loƒŸqlVm–Gā§~QCw¤™{A\\‘PKŸNY‡¯bF‡kC¥’sk‹Šs_Ã\\ă«¢ħkJi¯r›rAhĹûç£CU‡ĕĊ_ԗBixÅُĄnªÑaM~ħpOu¥sîeQ¥¤^dkKwlL~{L~–hw^‚ófćƒKyEŒ­K­zuÔ¡qQ¤xZÑ¢^ļöܾEpž±âbÊÑÆ^fk¬…NC¾‘Œ“YpxbK~¥Že֎ŒäBlt¿Đx½I[ĒǙŒWž‹f»Ĭ}d§dµùEuj¨‚IÆ¢¥dXªƅx¿]mtÏwßR͌X¢͎vÆzƂZò®ǢÌʆCrâºMÞzžÆMҔÊÓŊZľ–r°Î®Ȉmª²ĈUªĚøºˆĮ¦ÌĘk„^FłĬhĚiĀ˾iİbjÕ" - ], - ["@@mfwěwMrŢªv@G‰"] - ], - "encodeOffsets": [[[109366, 40242]], [[108600, 36303]]] - } - }, - { - "type": "Feature", - "id": "650000", - "properties": { "id": "650000", "cp": [85.617733, 40.792818], "name": "新疆", "childNum": 1 }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@QØĔ²X¨”~ǘBºjʐߨvK”ƔX¨vĊOžÃƒ·¢i@~c—‡ĝe_«”Eš“}QxgɪëÏÃ@sÅyXoŖ{ô«ŸuX…ê•Îf`œC‚¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘEjcUóº¯Ĩ_ŘÁMª÷Ð¥Oéȇ¿ÖğǤǷÂF҇zÉx[]­Ĥĝ‰œ¦EP}ûƥé¿İƷTėƫœŕƅ™ƱB»Đ±’ēO…¦E–•}‘`cȺrĦáŖuҞª«IJ‡πdƺÏØZƴwʄ¤ĖGЙǂZ̓èH¶}ÚZצʥĪï|ÇĦMŔ»İĝLj‹ì¥Βœba­¯¥ǕǚkĆŵĦɑĺƯxūД̵nơʃĽá½M»›òmqóŘĝč˾ăC…ćāƿÝɽ©DZŅ¹đ¥˜³ðLrÁ®ɱĕģʼnǻ̋ȥơŻǛȡVï¹Ň۩ûkɗġƁ§ʇė̕ĩũƽō^ƕŠUv£ƁQï“Ƶkŏ½ΉÃŭdzLқʻ«ƭ\\lƒ‡ŭD‡“{ʓDkaFÃÄa“³ŤđÔGRÈƚhSӹŚsİ«ĐË[¥ÚDkº^Øg¼ŵ¸£EÍö•€ůʼnT¡c_‡ËKY‹ƧUśĵ„݃U_©rETÏʜ±OñtYw獃{£¨uM³x½şL©Ùá[ÓÐĥ Νtģ¢\\‚ś’nkO›w¥±ƒT»ƷFɯàĩÞáB¹Æ…ÑUw„੍žĽw[“mG½Èå~‡Æ÷QyŠěCFmĭZī—ŵVÁ™ƿQƛ—ûXS²‰b½KϽĉS›©ŷXĕŸ{ŽĕK·¥Ɨcqq©f¿]‡ßDõU³h—­gËÇïģÉɋw“k¯í}I·šœbmœÉ–ř›īJɥĻˁ×xo›ɹī‡l•c…¤³Xù]‘™DžA¿w͉ì¥wÇN·ÂËnƾƍdǧđ®Ɲv•Um©³G\\“}µĿ‡QyŹl㓛µEw‰LJQ½yƋBe¶ŋÀů‡ož¥A—˜Éw@•{Gpm¿Aij†ŽKLhˆ³`ñcËtW‚±»ÕS‰ëüÿďD‡u\\wwwù³—V›LŕƒOMËGh£õP¡™er™Ïd{“‡ġWÁ…č|yšg^ğyÁzÙs`—s|ÉåªÇ}m¢Ń¨`x¥’ù^•}ƒÌ¥H«‰Yªƅ”Aйn~Ꝛf¤áÀz„gŠÇDIԝ´AňĀ҄¶ûEYospõD[{ù°]u›Jq•U•|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw €ÞkrťË¿XGÉbřaDü·Ē÷Aê[Ää€I®BÕИÞ_¢āĠpŠÛÄȉĖġDKwbm‡ÄNô‡ŠfœƫVÉvi†dz—H‘‹QµâFšù­Âœ³¦{YGžƒd¢ĚÜO „€{Ö¦ÞÍÀPŒ^b–ƾŠlŽ[„vt×ĈÍE˨¡Đ~´î¸ùÎh€uè`¸ŸHÕŔVºwĠââWò‡@{œÙNÝ´ə²ȕn{¿¥{l—÷eé^e’ďˆXj©î\\ªÑò˜Üìc\\üqˆÕ[Č¡xoÂċªbØ­Œø|€¶ȴZdÆÂšońéŒGš\\”¼C°ÌƁn´nxšÊOĨ’ہƴĸ¢¸òTxÊǪMīИÖŲÃɎOvˆʦƢ~FއRěò—¿ġ~åŊœú‰Nšžš¸qŽ’Ę[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ÂH¾œĄYÒ©ÊfºmԈĘcDoĬMŬ’˜S¤„s²‚”ʘچžȂVŦ –ŽèW°ªB|IJXŔþÈJĦÆæFĚêŠYĂªĂ]øªŖNÞüA€’fɨJ€˜¯ÎrDDšĤ€`€mz\\„§~D¬{vJÂ˜«lµĂb–¤p€ŌŰNĄ¨ĊXW|ų ¿¾ɄĦƐMT”‡òP˜÷fØĶK¢ȝ˔Sô¹òEð­”`Ɩ½ǒÂň×äı–§ĤƝ§C~¡‚hlå‚ǺŦŞkâ’~}ŽFøàIJaĞ‚fƠ¥Ž„Ŕdž˜®U¸ˆźXœv¢aƆúŪtŠųƠjd•ƺŠƺÅìnrh\\ĺ¯äɝĦ]èpĄ¦´LƞĬŠ´ƤǬ˼Ēɸ¤rºǼ²¨zÌPðŀbþ¹ļD¢¹œ\\ĜÑŚŸ¶ZƄ³àjĨoâŠȴLʉȮŒĐ­ĚăŽÀêZǚŐ¤qȂ\\L¢ŌİfÆs|zºeªÙæ§΢{Ā´ƐÚ¬¨Ĵà²łhʺKÞºÖTŠiƢ¾ªì°`öøu®Ê¾ãØ" - ], - "encodeOffsets": [[88824, 50096]] - } - }, - { - "type": "Feature", - "id": "110000", - "properties": { - "id": "110000", - "cp": [116.405285, 39.904989], - "name": "北京", - "childNum": 1 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@ĽOÁ›ûtŷmiÍt_H»Ĩ±d`й­{bw…Yr“³S]§§o¹€qGtm_Sŧ€“oa›‹FLg‘QN_•dV€@Zom_ć\\ߚc±x¯oœRcfe…£’o§ËgToÛJíĔóu…|wP¤™XnO¢ÉˆŦ¯rNÄā¤zâŖÈRpŢZŠœÚ{GŠrFt¦Òx§ø¹RóäV¤XdˆżâºWbwڍUd®bêņ¾‘jnŎGŃŶŠnzÚSeîĜZczî¾i]͜™QaúÍÔiþĩȨWĢ‹ü|Ėu[qb[swP@ÅğP¿{\\‡¥A¨Ï‘Ѩj¯ŠX\\¯œMK‘pA³[H…īu}}" - ], - "encodeOffsets": [[120023, 41045]] - } - }, - { - "type": "Feature", - "id": "120000", - "properties": { - "id": "120000", - "cp": [117.190182, 39.125596], - "name": "天津", - "childNum": 1 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - "@@ŬgX§Ü«E…¶Ḟ“¬O_™ïlÁg“z±AXe™µÄĵ{¶]gitgšIj·›¥îakS€‰¨ÐƎk}ĕ{gB—qGf{¿a†U^fI“ư‹³õ{YƒıëNĿžk©ïËZŏ‘R§òoY×Ógc…ĥs¡bġ«@dekąI[nlPqCnp{ˆō³°`{PNdƗqSÄĻNNâyj]äžÒD ĬH°Æ]~¡HO¾ŒX}ÐxŒgp“gWˆrDGˆŒpù‚Š^L‚ˆrzWxˆZ^¨´T\\|~@I‰zƒ–bĤ‹œjeĊªz£®Ĕvě€L†mV¾Ô_ȔNW~zbĬvG†²ZmDM~”~" - ], - "encodeOffsets": [[120237, 41215]] - } - }, - { - "type": "Feature", - "id": "310000", - "properties": { - "id": "310000", - "cp": [121.472644, 31.231706], - "name": "上海", - "childNum": 6 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@ɧư¬EpƸÁxc‡"], - ["@@©„ªƒ"], - ["@@”MA‹‘š"], - ["@@Qp݁E§ÉC¾"], - ["@@bŝՕÕEȣÚƥêImɇǦèÜĠŒÚžÃƌÃ͎ó"], - ["@@ǜûȬɋŠŭ™×^‰sYŒɍDŋ‘ŽąñCG²«ªč@h–_p¯A{‡oloY€¬j@IJ`•gQڛhr|ǀ^MIJvtbe´R¯Ô¬¨YŽô¤r]ì†Ƭį"] - ], - "encodeOffsets": [[[124702, 32062]], [[124547, 32200]], [[124808, 31991]], [[124726, 32110]], [[124903, 32376]], [[124438, 32149]]] - } - }, - { - "type": "Feature", - "id": "500000", - "properties": { - "id": "500000", - "cp": [107.304962, 29.533155], - "name": "重庆", - "childNum": 2 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - [ - "@@vjG~nGŘŬĶȂƀƾ¹¸ØÎezĆT¸}êЖqHŸðqĖ䒊¥^CƒIj–²p…\\_ æüY|[YxƊæuž°xb®…Űb@~¢NQt°¶‚S栓Ê~rljĔëĚ¢~šuf`‘‚†fa‚ĔJåĊ„nÖ]„jƎćÊ@Š£¾a®£Ű{ŶĕF‹ègLk{Y|¡ĜWƔtƬJÑxq‹±ĢN´‰òK‰™–LÈüD|s`ŋ’ć]ƒÃ‰`đŒMûƱ½~Y°ħ`ƏíW‰½eI‹½{aŸ‘OIrÏ¡ĕŇa†p†µÜƅġ‘œ^ÖÛbÙŽŏml½S‹êqDu[R‹ãË»†ÿw`»y‘¸_ĺę}÷`M¯ċfCVµqʼn÷Z•gg“Œ`d½pDO‡ÎCnœ^uf²ènh¼WtƏxRGg¦…pV„†FI±ŽG^ŒIc´ec‡’G•ĹÞ½sëĬ„h˜xW‚}Kӈe­Xsbk”F¦›L‘ØgTkïƵNï¶}Gy“w\\oñ¡nmĈzjŸ•@™Óc£»Wă¹Ój“_m»ˆ¹·~MvÛaqœ»­‰êœ’\\ÂoVnŽÓØÍ™²«‹bq¿efE „€‹Ĝ^Qž~ Évý‡ş¤²Į‰pEİ}zcĺƒL‹½‡š¿gņ›¡ýE¡ya£³t\\¨\\vú»¼§·Ñr_oÒý¥u‚•_n»_ƒ•At©Þűā§IVeëƒY}{VPÀFA¨ąB}q@|Ou—\\Fm‰QF݅Mw˜å}]•€|FmϋCaƒwŒu_p—¯sfÙgY…DHl`{QEfNysBЦzG¸rHe‚„N\\CvEsÐùÜ_·ÖĉsaQ¯€}_U‡†xÃđŠq›NH¬•Äd^ÝŰR¬ã°wećJEž·vÝ·Hgƒ‚éFXjÉê`|yŒpxkAwœWĐpb¥eOsmzwqChóUQl¥F^laf‹anòsr›EvfQdÁUVf—ÎvÜ^efˆtET¬ôA\\œ¢sJŽnQTjP؈xøK|nBz‰„œĞ»LY‚…FDxӄvr“[ehľš•vN”¢o¾NiÂxGp⬐z›bfZo~hGi’]öF|‰|Nb‡tOMn eA±ŠtPT‡LjpYQ|†SH††YĀxinzDJ€Ìg¢và¥Pg‰_–ÇzII‹€II•„£®S¬„Øs쐣ŒN" - ], - ["@@ifjN@s"] - ], - "encodeOffsets": [[[109628, 30765]], [[111725, 31320]]] - } - }, - { - "type": "Feature", - "id": "810000", - "properties": { - "id": "810000", - "cp": [114.173355, 22.320048], - "name": "香港", - "childNum": 5 - }, - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - ["@@AlBk"], - ["@@mŽn"], - ["@@EpFo"], - ["@@ea¢pl¸Eõ¹‡hj[ƒ]ÔCΖ@lj˜¡uBXŸ…•´‹AI¹…[‹yDUˆ]W`çwZkmc–…M›žp€Åv›}I‹oJlcaƒfёKްä¬XJmРđhI®æÔtSHn€Eˆ„ÒrÈc"], - ["@@rMUw‡AS®€e"] - ], - "encodeOffsets": [[[117111, 23002]], [[117072, 22876]], [[117045, 22887]], [[116975, 23082]], [[116882, 22747]]] - } - }, - { - "type": "Feature", - "id": "820000", - "properties": { "id": "820000", "cp": [113.54909, 22.198951], "name": "澳门", "childNum": 1 }, - "geometry": { - "type": "Polygon", - "coordinates": ["@@kÊd°å§s"], - "encodeOffsets": [[116279, 22639]] - } - } - ], - "UTF8Encoding": true -} diff --git a/jeecgboot-vue3/src/views/demo/charts/data.ts b/jeecgboot-vue3/src/views/demo/charts/data.ts deleted file mode 100644 index 547c0895c..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/data.ts +++ /dev/null @@ -1,189 +0,0 @@ -export const mapData: any = [ - { - name: '北京', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '天津', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '上海', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '重庆', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '河北', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '河南', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '云南', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '辽宁', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '黑龙江', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '湖南', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '安徽', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '山东', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '新疆', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '江苏', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '浙江', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '江西', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '湖北', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '广西', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '甘肃', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '山西', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '内蒙古', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '陕西', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '吉林', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '福建', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '贵州', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '广东', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '青海', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '西藏', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '四川', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '宁夏', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '海南', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '台湾', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '香港', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, - { - name: '澳门', - value: Math.round(Math.random() * 1000), - tipData: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)], - }, -]; - -export const getLineData = (() => { - const category: any[] = []; - let dottedBase = +new Date(); - const lineData: any[] = []; - const barData: any[] = []; - - for (let i = 0; i < 20; i++) { - const date = new Date((dottedBase += 1000 * 3600 * 24)); - category.push([date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-')); - const b = Math.random() * 200; - const d = Math.random() * 200; - barData.push(b); - lineData.push(d + b); - } - return { barData, category, lineData }; -})(); diff --git a/jeecgboot-vue3/src/views/demo/charts/map/Baidu.vue b/jeecgboot-vue3/src/views/demo/charts/map/Baidu.vue deleted file mode 100644 index b126ae654..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/map/Baidu.vue +++ /dev/null @@ -1,45 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/charts/map/Gaode.vue b/jeecgboot-vue3/src/views/demo/charts/map/Gaode.vue deleted file mode 100644 index 52728b858..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/map/Gaode.vue +++ /dev/null @@ -1,47 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/charts/map/Google.vue b/jeecgboot-vue3/src/views/demo/charts/map/Google.vue deleted file mode 100644 index bc86d15a0..000000000 --- a/jeecgboot-vue3/src/views/demo/charts/map/Google.vue +++ /dev/null @@ -1,52 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/codemirror/index.vue b/jeecgboot-vue3/src/views/demo/codemirror/index.vue deleted file mode 100644 index fe17d9102..000000000 --- a/jeecgboot-vue3/src/views/demo/codemirror/index.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/button/index.vue b/jeecgboot-vue3/src/views/demo/comp/button/index.vue deleted file mode 100644 index dda3462b6..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/button/index.vue +++ /dev/null @@ -1,110 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/card-list/index.vue b/jeecgboot-vue3/src/views/demo/comp/card-list/index.vue deleted file mode 100644 index f13af04cd..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/card-list/index.vue +++ /dev/null @@ -1,32 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/count-to/index.vue b/jeecgboot-vue3/src/views/demo/comp/count-to/index.vue deleted file mode 100644 index 12b3ff3d1..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/count-to/index.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/cropper/index.vue b/jeecgboot-vue3/src/views/demo/comp/cropper/index.vue deleted file mode 100644 index cac50faa1..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/cropper/index.vue +++ /dev/null @@ -1,94 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/desc/index.vue b/jeecgboot-vue3/src/views/demo/comp/desc/index.vue deleted file mode 100644 index f00c3c2bf..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/desc/index.vue +++ /dev/null @@ -1,79 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer1.vue b/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer1.vue deleted file mode 100644 index 7f296134f..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer1.vue +++ /dev/null @@ -1,13 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer2.vue b/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer2.vue deleted file mode 100644 index 020b298b9..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer2.vue +++ /dev/null @@ -1,17 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer3.vue b/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer3.vue deleted file mode 100644 index b8944f4f7..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer3.vue +++ /dev/null @@ -1,35 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer4.vue b/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer4.vue deleted file mode 100644 index 454156e92..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer4.vue +++ /dev/null @@ -1,53 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer5.vue b/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer5.vue deleted file mode 100644 index 5f0f6fe81..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/drawer/Drawer5.vue +++ /dev/null @@ -1,13 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/drawer/index.vue b/jeecgboot-vue3/src/views/demo/comp/drawer/index.vue deleted file mode 100644 index 44f1e26fe..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/drawer/index.vue +++ /dev/null @@ -1,69 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/lazy/TargetContent.vue b/jeecgboot-vue3/src/views/demo/comp/lazy/TargetContent.vue deleted file mode 100644 index e09825428..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/lazy/TargetContent.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/lazy/Transition.vue b/jeecgboot-vue3/src/views/demo/comp/lazy/Transition.vue deleted file mode 100644 index 420dd9865..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/lazy/Transition.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/lazy/index.vue b/jeecgboot-vue3/src/views/demo/comp/lazy/index.vue deleted file mode 100644 index 426cc3a07..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/lazy/index.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/loading/index.vue b/jeecgboot-vue3/src/views/demo/comp/loading/index.vue deleted file mode 100644 index f7ac1e826..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/loading/index.vue +++ /dev/null @@ -1,101 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/modal/Modal1.vue b/jeecgboot-vue3/src/views/demo/comp/modal/Modal1.vue deleted file mode 100644 index f9dfdcaef..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/modal/Modal1.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/modal/Modal2.vue b/jeecgboot-vue3/src/views/demo/comp/modal/Modal2.vue deleted file mode 100644 index da9581d24..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/modal/Modal2.vue +++ /dev/null @@ -1,23 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/modal/Modal3.vue b/jeecgboot-vue3/src/views/demo/comp/modal/Modal3.vue deleted file mode 100644 index 2ddd5837e..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/modal/Modal3.vue +++ /dev/null @@ -1,15 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/modal/Modal4.vue b/jeecgboot-vue3/src/views/demo/comp/modal/Modal4.vue deleted file mode 100644 index 90894ea06..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/modal/Modal4.vue +++ /dev/null @@ -1,81 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/modal/index.vue b/jeecgboot-vue3/src/views/demo/comp/modal/index.vue deleted file mode 100644 index 21137d9b1..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/modal/index.vue +++ /dev/null @@ -1,112 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/qrcode/index.vue b/jeecgboot-vue3/src/views/demo/comp/qrcode/index.vue deleted file mode 100644 index 1ab6d9ffc..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/qrcode/index.vue +++ /dev/null @@ -1,117 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/scroll/Action.vue b/jeecgboot-vue3/src/views/demo/comp/scroll/Action.vue deleted file mode 100644 index 78148a148..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/scroll/Action.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/scroll/VirtualScroll.vue b/jeecgboot-vue3/src/views/demo/comp/scroll/VirtualScroll.vue deleted file mode 100644 index f7ebc3b42..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/scroll/VirtualScroll.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/scroll/index.vue b/jeecgboot-vue3/src/views/demo/comp/scroll/index.vue deleted file mode 100644 index b9bb65150..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/scroll/index.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/strength-meter/index.vue b/jeecgboot-vue3/src/views/demo/comp/strength-meter/index.vue deleted file mode 100644 index a5c629309..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/strength-meter/index.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/time/index.vue b/jeecgboot-vue3/src/views/demo/comp/time/index.vue deleted file mode 100644 index 49f6c571e..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/time/index.vue +++ /dev/null @@ -1,44 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/transition/index.vue b/jeecgboot-vue3/src/views/demo/comp/transition/index.vue deleted file mode 100644 index 177a4bc48..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/transition/index.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/upload/index.vue b/jeecgboot-vue3/src/views/demo/comp/upload/index.vue deleted file mode 100644 index c9091e6e0..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/upload/index.vue +++ /dev/null @@ -1,54 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/comp/verify/Rotate.vue b/jeecgboot-vue3/src/views/demo/comp/verify/Rotate.vue deleted file mode 100644 index 1ef552d2c..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/verify/Rotate.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/comp/verify/index.vue b/jeecgboot-vue3/src/views/demo/comp/verify/index.vue deleted file mode 100644 index aa93473ef..000000000 --- a/jeecgboot-vue3/src/views/demo/comp/verify/index.vue +++ /dev/null @@ -1,97 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFiledsLayotForm.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFiledsLayotForm.vue deleted file mode 100644 index 088a692a9..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFiledsLayotForm.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFixedWidthForm.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFixedWidthForm.vue deleted file mode 100644 index 59011a430..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFixedWidthForm.vue +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormAdd.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormAdd.vue deleted file mode 100644 index fc85df22c..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormAdd.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormBtn.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormBtn.vue deleted file mode 100644 index 21d103623..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormBtn.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCleanRule.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormCleanRule.vue deleted file mode 100644 index c1b76133a..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCleanRule.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCompact.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormCompact.vue deleted file mode 100644 index 9420be307..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCompact.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormComponent.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormComponent.vue deleted file mode 100644 index 2e6c16bad..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormComponent.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormConAttribute.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormConAttribute.vue deleted file mode 100644 index d07df645e..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormConAttribute.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustom.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustom.vue deleted file mode 100644 index 5216a8c10..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustom.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustomComponent.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustomComponent.vue deleted file mode 100644 index a4c4624ba..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustomComponent.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustomSlots.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustomSlots.vue deleted file mode 100644 index 5604d835e..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormCustomSlots.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormDynamicsRules.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormDynamicsRules.vue deleted file mode 100644 index 5c5288c4e..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormDynamicsRules.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormFieldShow.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormFieldShow.vue deleted file mode 100644 index b9da20b85..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormFieldShow.vue +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormFieldTip.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormFieldTip.vue deleted file mode 100644 index 619457f85..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormFieldTip.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormFooter.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormFooter.vue deleted file mode 100644 index efc99b379..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormFooter.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormLayout.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormLayout.vue deleted file mode 100644 index c539e5dd3..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormLayout.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormModal.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormModal.vue deleted file mode 100644 index 6765b14c9..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormModal.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormRander.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormRander.vue deleted file mode 100644 index 59cf65af6..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormRander.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormRules.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormRules.vue deleted file mode 100644 index 0575ab87c..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormRules.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormSchemas.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormSchemas.vue deleted file mode 100644 index 496f52bea..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormSchemas.vue +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormSearch.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormSearch.vue deleted file mode 100644 index c661baac9..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormSearch.vue +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormSlots.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormSlots.vue deleted file mode 100644 index b124408cf..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormSlots.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFormValue.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFormValue.vue deleted file mode 100644 index 91c2dae22..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFormValue.vue +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/BasicFunctionForm.vue b/jeecgboot-vue3/src/views/demo/document/form/BasicFunctionForm.vue deleted file mode 100644 index f5556dfa6..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/BasicFunctionForm.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/form/example.data.ts b/jeecgboot-vue3/src/views/demo/document/form/example.data.ts deleted file mode 100644 index 110385caa..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/example.data.ts +++ /dev/null @@ -1,393 +0,0 @@ -import { FormSchema } from '/@/components/Form'; - -import dayjs from 'dayjs'; - -export const schemas: FormSchema[] = [ - { - label: '文本框', - field: 'name', - component: 'Input', - componentProps: { - prefix: '中文', - showCount: true, - }, - defaultValue: '张三', - }, - { - label: '密码', - field: 'password', - component: 'InputPassword', - componentProps: { - //是否显示切换按钮或者控制密码显隐 - visibilityToggle: true, - prefix: '密码', - }, - }, - { - label: '搜索框', - field: 'searchBox', - component: 'InputSearch', - componentProps: { - onSearch: (value) => { - console.log(value); - }, - }, - }, - { - label: '文本域', - field: 'textArea', - component: 'InputTextArea', - componentProps: { - //可以点击清除图标删除内容 - allowClear: true, - //是否展示字数 - showCount: true, - //自适应内容高度,可设置为 true | false 或对象:{ minRows: 2, maxRows: 6 } - autoSize: { - //最小显示行数 - minRows: 2, - //最大显示行数 - maxRows: 3, - }, - }, - }, - { - label: '数值输入框', - field: 'number', - component: 'InputNumber', - componentProps: { - //带标签的 input,设置后置标签 - addonAfter: '保留两位小数', - //最大值 - max: 100, - //数值经度 - precision: 2, - //步数 - step: 0.1, - }, - }, - - { - label: '下拉框', - field: 'jinputtype', - component: 'Select', - componentProps: { - options: [ - { value: 'like', label: '模糊(like)' }, - { value: 'ne', label: '不等于(ne)' }, - { value: 'ge', label: '大于等于(ge)' }, - { value: 'le', label: '小于等于(le)' }, - ], - //下拉多选 - mode: 'multiple', - //配置是否可搜索 - showSearch: true, - }, - }, - { - field: 'TreeSelect', - label: '下拉树', - component: 'TreeSelect', - componentProps: { - //是否显示下拉框,默认false - treeCheckable: true, - //标题 - title: '下拉树', - //下拉树 - treeData: [ - { - label: '洗衣机', - value: '0', - children: [ - { - label: '滚筒洗衣机', - value: '0-1', - }, - ], - }, - { - label: '电视机', - value: '1', - children: [ - { - label: '平板电视', - value: '1-1', - disabled: true, - }, - { - label: 'CRT电视机', - value: '1-2', - }, - { - label: '投影电视', - value: '1-3', - }, - ], - }, - ], - }, - }, - { - label: 'RadioButtonGroup组件', - field: 'status', - component: 'RadioButtonGroup', - componentProps: { - options: [ - { label: '有效', value: 1 }, - { label: '无效', value: 0 }, - ], - }, - }, - { - label: '单选框', - field: 'radioSex', - component: 'RadioGroup', - componentProps: { - //options里面由一个一个的radio组成,支持disabled禁用 - options: [ - { label: '男', value: 1, disabled: false }, - { label: '女', value: 0 }, - ], - }, - }, - { - label: '多选框', - field: 'checkbox', - component: 'Checkbox', - componentProps: { - //是否禁用,默认false - disabled: false, - }, - }, - { - label: '多选框组', - field: 'checkSex', - component: 'CheckboxGroup', - componentProps: { - //RadioGroup 下所有 input[type="radio"] 的 name 属性 - name: '爱好', - //options支持disabled禁用 - options: [ - { label: '运动', value: 0, disabled: true }, - { label: '听音乐', value: 1 }, - { label: '看书', value: 2 }, - ], - }, - defaultValue: [2], - }, - { - label: '自动完成组件', - field: 'AutoComplete', - component: 'AutoComplete', - componentProps: { - options: [{ value: 'Burns Bay Road' }, { value: 'Downing Street' }, { value: 'Wall Street' }], - }, - }, - { - label: '级联选择', - field: 'cascade', - component: 'Cascader', - componentProps: { - //最多显示多少个tag - maxTagCount: 2, - //浮层预设位置 - placement: 'bottomRight', - //在选择框中显示搜索框,默认false - showSearch: true, - options: [ - { - label: '北京', - value: 'BeiJin', - children: [ - { - label: '海淀区', - value: 'HaiDian', - }, - ], - }, - { - label: '江苏省', - value: 'JiangSu', - children: [ - { - label: '南京', - value: 'Nanjing', - children: [ - { - label: '中华门', - value: 'ZhongHuaMen', - }, - ], - }, - ], - }, - ], - }, - }, - { - label: '日期选择', - field: 'dateSelect', - component: 'DatePicker', - componentProps: { - //日期格式化,页面上显示的值 - format: 'YYYY-MM-DD', - //返回值格式化(绑定值的格式) - valueFormat: 'YYYY-MM-DD', - //是否显示今天按钮 - showToday: true, - //不可选择日期 - disabledDate: (currentDate) => { - let date = dayjs(currentDate).format('YYYY-MM-DD'); - let nowDate = dayjs(new Date()).format('YYYY-MM-DD'); - //当天不可选择 - if (date == nowDate) { - return true; - } - return false; - }, - }, - }, - { - label: '月份选择', - field: 'monthSelect', - component: 'MonthPicker', - componentProps: { - //不可选择日期 - disabledDate: (currentDate) => { - let date = dayjs(currentDate).format('YYYY-MM'); - let nowDate = dayjs(new Date()).format('YYYY-MM'); - //当天不可选择 - if (date == nowDate) { - return true; - } - return false; - }, - }, - }, - { - label: '周选择', - field: 'weekSelect', - component: 'WeekPicker', - componentProps: { - size: 'small', - }, - }, - { - label: '时间选择', - field: 'timeSelect', - component: 'TimePicker', - componentProps: { - size: 'default', - //日期时间或者时间模式下是否显示此刻,不支持日期时间范围和时间范围 - showNow: true, - }, - }, - { - label: '日期时间范围', - field: 'dateTimeRangeSelect', - component: 'RangePicker', - componentProps: { - //是否显示时间 - showTime: true, - //日期格式化 - format: 'YYYY/MM/DD HH:mm:ss', - //范围文本描述用集合 - placeholder: ['请选择开始日期时间', '请选择结束日期时间'], - }, - }, - { - label: '日期范围', - field: 'dateRangeSelect', - component: 'RangeDate', - componentProps: { - //日期格式化 - format: 'YYYY/MM/DD', - //范围文本描述用集合 - placeholder: ['请选择开始日期', '请选择结束日期'], - }, - }, - { - label: '时间范围', - field: 'timeRangeSelect', - component: 'RangeTime', - componentProps: { - //日期格式化 - format: 'HH/mm/ss', - //范围文本描述用集合 - placeholder: ['请选择开始时间', '请选择结束时间'], - }, - }, - { - label: '开关', - field: 'switch', - component: 'Switch', - componentProps: { - //开关大小,可选值:default small - size: 'default', - //非选中时的内容 - unCheckedChildren: '开启', - //非选中时的值 - unCheckedValue: '0', - //选中时的内容 - checkedChildren: '关闭', - //选中时的值 - checkedValue: '1', - //是否禁用 - disabled: false, - }, - }, - { - label: '滑动输入条', - field: 'slider', - component: 'Slider', - componentProps: { - //最小值 - min: -20, - //最大值 - max: 100, - //是否为双滑块模式 - range: true, - //刻度标记 - marks: { - '-20': '-20°C', - 0: '0°C', - 26: '26°C', - 37: '37°C', - 100: { - style: { - color: '#f50', - }, - label: '100°C', - }, - }, - }, - }, - { - label: '评分', - field: 'rate', - component: 'Rate', - componentProps: { - //是否允许半选 - allowHalf: true, - //star 总数 - count: 5, - //tooltip提示,有几颗星写几个 - tooltips: ['非常差', '较差', '正常', '很好', '非很好'], - }, - }, - { - label: '分割线', - field: 'divisionLine', - component: 'Divider', - componentProps: { - //是否虚线 - dashed: false, - //分割线标题的位置(left | right | center) - orientation: 'center', - //文字是否显示为普通正文样式 - plain: true, - //水平还是垂直类型(horizontal | vertical) - type: 'horizontal', - }, - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/document/form/exampleCustom.data.ts b/jeecgboot-vue3/src/views/demo/document/form/exampleCustom.data.ts deleted file mode 100644 index 54fef0f20..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/exampleCustom.data.ts +++ /dev/null @@ -1,452 +0,0 @@ -import { FormSchema } from '/@/components/Form'; -import { defHttp } from '/@/utils/http/axios'; - -export const schemas: FormSchema[] = [ - { - label: '验证码', - field: 'code', - component: 'InputCountDown', - componentProps: { - //'default': 默认, 'large': 最大, 'small': 最小 - size:'default', - //倒计时 - count: 120, - }, - }, - { - label: 'Api下拉选择', - field: 'apiSelect', - component: 'ApiSelect', - componentProps: { - //multiple: 多选;不填写为单选 - mode: 'multiple', - //请求api,返回结果{ result: { records:[{'id':'1',name:'scott'},{'id':'2',name:'小张'}] }} - api: () => defHttp.get({ url: '/test/jeecgDemo/list' }), - //数值转成String - numberToString: false, - //标题字段 - labelField: 'name', - //值字段 - valueField: 'id', - //请求参数 - params: {}, - //返回结果字段 - resultField: 'records', - }, - }, - { - label: 'Api树选择', - field: 'apiSelect', - component: 'ApiTreeSelect', - componentProps: { - /* 请求api,返回结果 - { result: { list: [{ title:'选项0',value:'0',key:'0', - children: [ {"title": "选项0-0","value": "0-0","key": "0-0"},...] - }, ...] - }} */ - api: () => defHttp.get({ url: '/mock/tree/getDemoOptions' }), - //请求参数 - params: {}, - //返回结果字段 - resultField: 'list', - }, - }, - { - label: '校验密码强度', - field: 'pwd', - component: 'StrengthMeter', - componentProps: { - //是否显示密码文本框 - showInput: true, - //是否禁用 - disabled: false, - }, - }, - { - label: '省市县联动', - field: 'province', - component: 'JAreaLinkage', - componentProps: { - //是否显示区县,默认true,否则只显示省 - showArea: true, - //是否是全部文本,默认false - showAll: true, - }, - }, - { - label: '岗位选择', - field: 'post', - component: 'JSelectPosition', - componentProps: { - //是否右侧显示选中列表 - showSelected: true, - //最大选择数量 - maxSelectCount: 1, - //岗位标题 - modalTitle: '岗位', - }, - }, - { - label: '角色选择', - field: 'role', - component: 'JSelectRole', - componentProps: { - //请求参数 如params:{"code":"001"} - params: {}, - //是否单选,默认false - isRadioSelection: true, - //角色标题 - modalTitle: '角色', - }, - }, - { - label: '用户选择', - field: 'user', - component: 'JSelectUser', - componentProps: { - //取值字段配置,一般为主键字段 - rowKey: 'username', - //显示字段配置 - labelKey: 'realname', - //是否显示选择按钮 - showButton: false, - //用户标题 - modalTitle: '用户', - }, - }, - { - label: '图片上传', - field: 'uploadImage', - component: 'JImageUpload', - componentProps: { - //按钮显示文字 - text:'图片上传', - //支持两种基本样式picture和picture-card - listType:'picture-card', - //用于控制文件上传的业务路径,默认temp - bizPath:'temp', - //是否禁用 - disabled:false, - //最大上传数量 - fileMax:1, - }, - }, - { - label: '字典标签', - field: 'dictTags', - component: 'JDictSelectTag', - componentProps: { - //字典code配置,比如通过性别字典编码:sex,也可以使用demo,name,id 表名,名称,值的方式 - dictCode:'sex', - //支持radio(单选按钮)、radioButton(单选按钮 btn风格)、select(下拉框) - type:'radioButton' - }, - }, - { - label: '部门选择', - field: 'dept', - component: 'JSelectDept', - componentProps: { - //是否开启异步加载 - sync: false, - //是否显示复选框 - checkable: true, - //是否显示选择按钮 - showButton: false, - //父子节点选中状态不再关联 - checkStrictly: true, - //选择框标题 - modalTitle: '部门选择', - }, - }, - { - label: '省市县级联动', - field: 'provinceArea', - component: 'JAreaSelect', - componentProps: { - //级别 1 只显示省 2 省市 3 省市区 - level:3 - }, - }, - { - label: '富文本', - field: 'editor', - component: 'JEditor', - componentProps: { - //是否禁用 - disabled: false - }, - }, - { - label: 'markdown', - field: 'markdown', - component: 'JMarkdownEditor', - componentProps: { - //是否禁用 - disabled: false - }, - }, - { - label: '可输入下拉框', - field: 'inputSelect', - component: 'JSelectInput', - componentProps: { - options: [ - { label: 'Default', value: 'default' }, - { label: 'IFrame', value: 'iframe' }, - ], - //是否为搜索模式 - showSearch: true, - //是否禁用 - disabled: false - }, - }, - { - label: '代码编辑器组件', - field: 'jCode', - component: 'JCodeEditor', - componentProps: { - //高度,默认auto - height:'150px', - //是否禁用 - disabled:false, - //是否全屏 - fullScreen:false, - //全屏之后的坐标 - zIndex: 999, - //代码主题,目前只支持idea,可在组件自行扩展 - theme:'idea', - //代码提示 - keywords:['console'], - //语言如(javascript,vue,markdown)可在组件自行扩展 - language:'javascript' - }, - }, - { - label: '分类字典树', - field: 'dictTree', - component: 'JCategorySelect', - componentProps: { - //占位内容 - placeholder:'请选择分类字典树', - //查询条件,如“{'name':'笔记本'}” - condition:"", - //是否多选 - multiple: false, - //起始选择code,见配置的分类字典的类型编码 - pcode: 'A04', - //父级id - pid:'', - //返回key - back:'id', - }, - }, - { - label: '下拉多选', - field: 'selectMultiple', - component: 'JSelectMultiple', - componentProps: { - //字典code配置,比如通过性别字典编码:sex,也可以使用demo,name,id 表名,名称,值的方式 - dictCode:'company_rank', - //是否只读 - readOnly:false, - }, - }, - { - label: 'popup', - field: 'popup', - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - //online报表编码 - code:"demo", - //是否为多选 - multi:false, - //字段配置 - fieldConfig: [ - { source: 'name', target: 'popup' }, - ], - } - }, - }, - { - label: '开关自定义', - field: 'switch', - component: 'JSwitch', - componentProps:{ - //取值 options - options:['Y','N'], - //文本option - labelOptions:['是', '否'], - //是否启用下拉 - query: false, - //是否禁用 - disabled: false, - }, - }, - { - label: '定时表达式选择', - field: 'timing', - component: 'JEasyCron', - componentProps:{ - //是否隐藏参数秒和年设置,如果隐藏,那么参数秒和年将会全部忽略掉。 - hideSecond: false, - //是否隐藏参数年设置,如果隐藏,那么参数年将会全部忽略掉 - hideYear: false, - //是否禁用 - disabled: false, - //获取预览执行时间列表的函数,格式为:remote (cron值, time时间戳, cb回调函数) - remote:(cron,time,cb)=>{} - }, - }, - { - label: '分类字典树', - field: 'treeDict', - component: 'JTreeDict', - componentProps:{ - //指定当前组件需要存储的字段 可选: id(主键)和code(编码) - field:'id', - //是否为异步 - async: true, - //是否禁用 - disabled: false, - //指定一个节点的编码,加载该节点下的所有字典数据,若不指定,默认加载所有数据 - parentCode:'A04' - }, - }, - { - label: '多行输入窗口', - field: 'inputPop', - component: 'JInputPop', - componentProps:{ - //标题 - title:'多行输入窗口', - //弹窗显示位置 - position:'bottom', - }, - }, - { - label: '多选', - field: 'multipleChoice', - component: 'JCheckbox', - componentProps:{ - //字典code配置,比如通过职位字典编码:company_rank,也可以使用demo,name,id 表名,名称,值的方式 - dictCode:'company_rank', - //是否禁用 - disabled: false, - //没有字典code可以使用option来定义 - // options:[ - // {label:'CE0',value:'1'} - // ] - }, - }, - { - label: '下拉树选择', - field: 'treeCusSelect', - component: 'JTreeSelect', - componentProps: { - //字典code配置,比如通过性别字典编码:sex,也可以使用sys_permission,name,id 表名,名称,值的方式 - dict: 'sys_permission,name,id', - //父级id字段 - pidField: 'parent_id', - }, - }, - { - label: '根据部门选择用户组件', - field: 'userByDept', - component: 'JSelectUserByDept', - componentProps: { - //是否显示选择按钮 - showButton: true, - //选择框标题 - modalTitle: '部门用户选择' - }, - }, - { - label: '文件上传', - field: 'uploadFile', - component: 'JUpload', - componentProps: { - //是否显示选择按钮 - text: '文件上传', - //最大上传数 - maxCount: 2, - //是否显示下载按钮 - download: true, - }, - }, - { - label: '字典表搜索', - field: 'dictSearchSelect', - component: 'JSearchSelect', - componentProps: { - //字典code配置,通过 demo,name,id 表名,名称,值的方式 - dict: 'demo,name,id', - //是否异步加载 - async: true, - //当async设置为true时有效,表示异步查询时,每次获取数据的数量,默认10 - pageSize:3 - }, - }, - { - label: '动态创建input框', - field: 'jAddInput', - component: 'JAddInput', - componentProps: { - //自定义超过多少行才会显示删除按钮,默认为1 - min:1 - }, - }, - { - label: '用户选择组件', - field: 'userCusSelect', - component: 'UserSelect', - componentProps: { - //是否多选 - multi: true, - //从用户表中选择一列,其值作为该控件的存储值,默认id列 - store: 'id', - //是否排除我自己(当前登录用户) - izExcludeMy: false, - //是否禁用 - disabled: false, - }, - }, - { - label: '选择角色组件', - field: 'roleSelect', - component: 'RoleSelect', - componentProps: { - //最大选择数量 - maxSelectCount: 4, - //是否单选 - multi: true - }, - }, - { - label: '数值范围输入框', - field: 'rangeNumber', - component: 'JRangeNumber', - }, - { - label: '远程Api单选框组', - field: 'apiRadioGroup', - component: 'ApiRadioGroup', - componentProps:{ - //请求接口返回结果{ result:{ list: [ name: '选项0',id: '1' ] }} - api:()=> defHttp.get({ url: '/mock/select/getDemoOptions' }), - //请求参数 - params:{}, - //是否为按钮风格类型,默认false - isBtn: false, - //返回集合名称 - resultField: 'list', - //标题字段名称 - labelField: 'name', - //值字段名称 - valueField: 'id', - } - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/document/form/index.ts b/jeecgboot-vue3/src/views/demo/document/form/index.ts deleted file mode 100644 index 1aa7cefd3..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -export { default as BasicFiledsLayotForm } from './BasicFiledsLayotForm.vue'; -export { default as BasicFixedWidthForm } from './BasicFixedWidthForm.vue'; -export { default as BasicFormAdd } from './BasicFormAdd.vue'; -export { default as BasicFormBtn } from './BasicFormBtn.vue'; -export { default as BasicFormCleanRule } from './BasicFormCleanRule.vue'; -export { default as BasicFormCompact } from './BasicFormCompact.vue'; -export { default as BasicFormComponent } from './BasicFormComponent.vue'; -export { default as BasicFormConAttribute } from './BasicFormConAttribute.vue'; -export { default as BasicFormCustom } from './BasicFormCustom.vue'; -export { default as BasicFormCustomComponent } from './BasicFormCustomComponent.vue'; -export { default as BasicFormCustomSlots } from './BasicFormCustomSlots.vue'; -export { default as BasicFormDynamicsRules } from './BasicFormDynamicsRules.vue'; -export { default as BasicFormFieldShow } from './BasicFormFieldShow.vue'; -export { default as BasicFormFieldTip } from './BasicFormFieldTip.vue'; -export { default as BasicFormFooter } from './BasicFormFooter.vue'; -export { default as BasicFormLayout } from './BasicFormLayout.vue'; -export { default as BasicFormModal } from './BasicFormModal.vue'; -export { default as BasicFormRander } from './BasicFormRander.vue'; -export { default as BasicFormRules } from './BasicFormRules.vue'; -export { default as BasicFormSchemas } from './BasicFormSchemas.vue'; -export { default as BasicFormSearch } from './BasicFormSearch.vue'; -export { default as BasicFormSlots } from './BasicFormSlots.vue'; -export { default as BasicFormValue } from './BasicFormValue.vue'; -export { default as BasicFunctionForm } from './BasicFunctionForm.vue'; \ No newline at end of file diff --git a/jeecgboot-vue3/src/views/demo/document/form/tabIndex.vue b/jeecgboot-vue3/src/views/demo/document/form/tabIndex.vue deleted file mode 100644 index bb1c9189e..000000000 --- a/jeecgboot-vue3/src/views/demo/document/form/tabIndex.vue +++ /dev/null @@ -1,114 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/AuthColumnDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/AuthColumnDemo.vue deleted file mode 100644 index b53ca871a..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/AuthColumnDemo.vue +++ /dev/null @@ -1,135 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/BasicTableBorder.vue b/jeecgboot-vue3/src/views/demo/document/table/BasicTableBorder.vue deleted file mode 100644 index 73566d495..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/BasicTableBorder.vue +++ /dev/null @@ -1,94 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/BasicTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/BasicTableDemo.vue deleted file mode 100644 index 2b58dde3f..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/BasicTableDemo.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/BasicTableDemoAjax.vue b/jeecgboot-vue3/src/views/demo/document/table/BasicTableDemoAjax.vue deleted file mode 100644 index dd53ef420..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/BasicTableDemoAjax.vue +++ /dev/null @@ -1,157 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/CustomerCellDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/CustomerCellDemo.vue deleted file mode 100644 index d625ce624..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/CustomerCellDemo.vue +++ /dev/null @@ -1,106 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/EditCellTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/EditCellTableDemo.vue deleted file mode 100644 index 795a06c16..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/EditCellTableDemo.vue +++ /dev/null @@ -1,217 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/EditRowTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/EditRowTableDemo.vue deleted file mode 100644 index 5ce07bfe2..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/EditRowTableDemo.vue +++ /dev/null @@ -1,261 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/ExpandTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/ExpandTableDemo.vue deleted file mode 100644 index 89c0ef917..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/ExpandTableDemo.vue +++ /dev/null @@ -1,119 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/ExportTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/ExportTableDemo.vue deleted file mode 100644 index 50c723c19..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/ExportTableDemo.vue +++ /dev/null @@ -1,131 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/FixedHeaderColumn.vue b/jeecgboot-vue3/src/views/demo/document/table/FixedHeaderColumn.vue deleted file mode 100644 index 00f3f404b..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/FixedHeaderColumn.vue +++ /dev/null @@ -1,98 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/InnerTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/InnerTableDemo.vue deleted file mode 100644 index 9173d66da..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/InnerTableDemo.vue +++ /dev/null @@ -1,131 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/MergeHeaderDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/MergeHeaderDemo.vue deleted file mode 100644 index 68235d26b..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/MergeHeaderDemo.vue +++ /dev/null @@ -1,70 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/MergeTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/MergeTableDemo.vue deleted file mode 100644 index 14574b49a..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/MergeTableDemo.vue +++ /dev/null @@ -1,144 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/MultipleTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/MultipleTableDemo.vue deleted file mode 100644 index c0b059230..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/MultipleTableDemo.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/SelectTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/SelectTableDemo.vue deleted file mode 100644 index 7dc5211c2..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/SelectTableDemo.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/TreeTableDemo.vue b/jeecgboot-vue3/src/views/demo/document/table/TreeTableDemo.vue deleted file mode 100644 index 802c0436d..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/TreeTableDemo.vue +++ /dev/null @@ -1,124 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/document/table/index.ts b/jeecgboot-vue3/src/views/demo/document/table/index.ts deleted file mode 100644 index 7d726c8ae..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -export { default as AuthColumnDemo } from './AuthColumnDemo.vue'; -export { default as BasicTableBorder } from './BasicTableBorder.vue'; -export { default as BasicTableDemo } from './BasicTableDemo.vue'; -export { default as BasicTableDemoAjax } from './BasicTableDemoAjax.vue'; -export { default as CustomerCellDemo } from './CustomerCellDemo.vue'; -export { default as EditCellTableDemo } from './EditCellTableDemo.vue'; -export { default as EditRowTableDemo } from './EditRowTableDemo.vue'; -export { default as ExpandTableDemo } from './ExpandTableDemo.vue'; -export { default as ExportTableDemo } from './ExportTableDemo.vue'; -export { default as FixedHeaderColumn } from './FixedHeaderColumn.vue'; -export { default as InnerTableDemo } from './InnerTableDemo.vue'; -export { default as MergeHeaderDemo } from './MergeHeaderDemo.vue'; -export { default as MergeTableDemo } from './MergeTableDemo.vue'; -export { default as SelectTableDemo } from './SelectTableDemo.vue'; -export { default as TreeTableDemo } from './TreeTableDemo.vue'; -export { default as MultipleTableDemo } from './MultipleTableDemo.vue'; diff --git a/jeecgboot-vue3/src/views/demo/document/table/tabIndex.vue b/jeecgboot-vue3/src/views/demo/document/table/tabIndex.vue deleted file mode 100644 index 1033360a1..000000000 --- a/jeecgboot-vue3/src/views/demo/document/table/tabIndex.vue +++ /dev/null @@ -1,90 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/editor/json/index.vue b/jeecgboot-vue3/src/views/demo/editor/json/index.vue deleted file mode 100644 index 622da81bd..000000000 --- a/jeecgboot-vue3/src/views/demo/editor/json/index.vue +++ /dev/null @@ -1,91 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/editor/markdown/Editor.vue b/jeecgboot-vue3/src/views/demo/editor/markdown/Editor.vue deleted file mode 100644 index 6c731bd5a..000000000 --- a/jeecgboot-vue3/src/views/demo/editor/markdown/Editor.vue +++ /dev/null @@ -1,53 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/editor/markdown/index.vue b/jeecgboot-vue3/src/views/demo/editor/markdown/index.vue deleted file mode 100644 index 7d94947a8..000000000 --- a/jeecgboot-vue3/src/views/demo/editor/markdown/index.vue +++ /dev/null @@ -1,55 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/editor/tinymce/Editor.vue b/jeecgboot-vue3/src/views/demo/editor/tinymce/Editor.vue deleted file mode 100644 index b109c02d0..000000000 --- a/jeecgboot-vue3/src/views/demo/editor/tinymce/Editor.vue +++ /dev/null @@ -1,53 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/editor/tinymce/index.vue b/jeecgboot-vue3/src/views/demo/editor/tinymce/index.vue deleted file mode 100644 index 9bba89bf7..000000000 --- a/jeecgboot-vue3/src/views/demo/editor/tinymce/index.vue +++ /dev/null @@ -1,21 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/breadcrumb/ChildrenList.vue b/jeecgboot-vue3/src/views/demo/feat/breadcrumb/ChildrenList.vue deleted file mode 100644 index cc2b26d57..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/breadcrumb/ChildrenList.vue +++ /dev/null @@ -1,13 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/breadcrumb/ChildrenListDetail.vue b/jeecgboot-vue3/src/views/demo/feat/breadcrumb/ChildrenListDetail.vue deleted file mode 100644 index 4994c44d8..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/breadcrumb/ChildrenListDetail.vue +++ /dev/null @@ -1,10 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/breadcrumb/FlatList.vue b/jeecgboot-vue3/src/views/demo/feat/breadcrumb/FlatList.vue deleted file mode 100644 index d480bab17..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/breadcrumb/FlatList.vue +++ /dev/null @@ -1,13 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/breadcrumb/FlatListDetail.vue b/jeecgboot-vue3/src/views/demo/feat/breadcrumb/FlatListDetail.vue deleted file mode 100644 index 1dfc75a9b..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/breadcrumb/FlatListDetail.vue +++ /dev/null @@ -1,8 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/click-out-side/index.vue b/jeecgboot-vue3/src/views/demo/feat/click-out-side/index.vue deleted file mode 100644 index 32652d9d3..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/click-out-side/index.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/feat/context-menu/index.vue b/jeecgboot-vue3/src/views/demo/feat/context-menu/index.vue deleted file mode 100644 index 0bde0cfc9..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/context-menu/index.vue +++ /dev/null @@ -1,85 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/copy/index.vue b/jeecgboot-vue3/src/views/demo/feat/copy/index.vue deleted file mode 100644 index b44205696..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/copy/index.vue +++ /dev/null @@ -1,40 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/download/imgBase64.ts b/jeecgboot-vue3/src/views/demo/feat/download/imgBase64.ts deleted file mode 100644 index 306bdd1a8..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/download/imgBase64.ts +++ /dev/null @@ -1 +0,0 @@ -export default `data:image/png;base64,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`; diff --git a/jeecgboot-vue3/src/views/demo/feat/download/index.vue b/jeecgboot-vue3/src/views/demo/feat/download/index.vue deleted file mode 100644 index 47c8655d0..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/download/index.vue +++ /dev/null @@ -1,59 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/full-screen/index.vue b/jeecgboot-vue3/src/views/demo/feat/full-screen/index.vue deleted file mode 100644 index aefa3fe12..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/full-screen/index.vue +++ /dev/null @@ -1,45 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/icon/index.vue b/jeecgboot-vue3/src/views/demo/feat/icon/index.vue deleted file mode 100644 index 7e3d50f83..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/icon/index.vue +++ /dev/null @@ -1,96 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/img-preview/index.vue b/jeecgboot-vue3/src/views/demo/feat/img-preview/index.vue deleted file mode 100644 index 721dc2a0f..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/img-preview/index.vue +++ /dev/null @@ -1,38 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/menu-params/index.vue b/jeecgboot-vue3/src/views/demo/feat/menu-params/index.vue deleted file mode 100644 index 1a566b211..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/menu-params/index.vue +++ /dev/null @@ -1,42 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/msg/index.vue b/jeecgboot-vue3/src/views/demo/feat/msg/index.vue deleted file mode 100644 index f0eb5a3d2..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/msg/index.vue +++ /dev/null @@ -1,85 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/print/index.vue b/jeecgboot-vue3/src/views/demo/feat/print/index.vue deleted file mode 100644 index 723e2019f..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/print/index.vue +++ /dev/null @@ -1,46 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/ripple/index.vue b/jeecgboot-vue3/src/views/demo/feat/ripple/index.vue deleted file mode 100644 index afd4b0a96..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/ripple/index.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/feat/session-timeout/index.vue b/jeecgboot-vue3/src/views/demo/feat/session-timeout/index.vue deleted file mode 100644 index 5ad7a928f..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/session-timeout/index.vue +++ /dev/null @@ -1,51 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/tab-params/index.vue b/jeecgboot-vue3/src/views/demo/feat/tab-params/index.vue deleted file mode 100644 index c2e06feec..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/tab-params/index.vue +++ /dev/null @@ -1,27 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/tabs/TabDetail.vue b/jeecgboot-vue3/src/views/demo/feat/tabs/TabDetail.vue deleted file mode 100644 index d768cca1e..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/tabs/TabDetail.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/feat/tabs/index.vue b/jeecgboot-vue3/src/views/demo/feat/tabs/index.vue deleted file mode 100644 index b6e7155fc..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/tabs/index.vue +++ /dev/null @@ -1,66 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/watermark/index.vue b/jeecgboot-vue3/src/views/demo/feat/watermark/index.vue deleted file mode 100644 index b1acd7eec..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/watermark/index.vue +++ /dev/null @@ -1,28 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/feat/ws/index.vue b/jeecgboot-vue3/src/views/demo/feat/ws/index.vue deleted file mode 100644 index 348fe33a4..000000000 --- a/jeecgboot-vue3/src/views/demo/feat/ws/index.vue +++ /dev/null @@ -1,120 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/form/AdvancedForm.vue b/jeecgboot-vue3/src/views/demo/form/AdvancedForm.vue deleted file mode 100644 index e861d37cc..000000000 --- a/jeecgboot-vue3/src/views/demo/form/AdvancedForm.vue +++ /dev/null @@ -1,191 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/form/AppendForm.vue b/jeecgboot-vue3/src/views/demo/form/AppendForm.vue deleted file mode 100644 index 91ee93746..000000000 --- a/jeecgboot-vue3/src/views/demo/form/AppendForm.vue +++ /dev/null @@ -1,118 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/form/CustomerForm.vue b/jeecgboot-vue3/src/views/demo/form/CustomerForm.vue deleted file mode 100644 index abb384d61..000000000 --- a/jeecgboot-vue3/src/views/demo/form/CustomerForm.vue +++ /dev/null @@ -1,85 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/form/DynamicForm.vue b/jeecgboot-vue3/src/views/demo/form/DynamicForm.vue deleted file mode 100644 index 077904c25..000000000 --- a/jeecgboot-vue3/src/views/demo/form/DynamicForm.vue +++ /dev/null @@ -1,258 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/form/RefForm.vue b/jeecgboot-vue3/src/views/demo/form/RefForm.vue deleted file mode 100644 index 29b2136dd..000000000 --- a/jeecgboot-vue3/src/views/demo/form/RefForm.vue +++ /dev/null @@ -1,174 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/form/RuleForm.vue b/jeecgboot-vue3/src/views/demo/form/RuleForm.vue deleted file mode 100644 index 2ad6267c0..000000000 --- a/jeecgboot-vue3/src/views/demo/form/RuleForm.vue +++ /dev/null @@ -1,260 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/form/UseForm.vue b/jeecgboot-vue3/src/views/demo/form/UseForm.vue deleted file mode 100644 index c11b88d45..000000000 --- a/jeecgboot-vue3/src/views/demo/form/UseForm.vue +++ /dev/null @@ -1,190 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/form/index.vue b/jeecgboot-vue3/src/views/demo/form/index.vue deleted file mode 100644 index 1432f2c8c..000000000 --- a/jeecgboot-vue3/src/views/demo/form/index.vue +++ /dev/null @@ -1,622 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/AsyncTreeTable.vue b/jeecgboot-vue3/src/views/demo/jeecg/AsyncTreeTable.vue deleted file mode 100644 index f3e24fa85..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/AsyncTreeTable.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/ImgDragSort.vue b/jeecgboot-vue3/src/views/demo/jeecg/ImgDragSort.vue deleted file mode 100644 index cb289e579..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/ImgDragSort.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/ImgTurnPage.vue b/jeecgboot-vue3/src/views/demo/jeecg/ImgTurnPage.vue deleted file mode 100644 index 9859c2e25..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/ImgTurnPage.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/InnerExpandTable.vue b/jeecgboot-vue3/src/views/demo/jeecg/InnerExpandTable.vue deleted file mode 100644 index 2b011ed8e..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/InnerExpandTable.vue +++ /dev/null @@ -1,243 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JCodeEditDemo.vue b/jeecgboot-vue3/src/views/demo/jeecg/JCodeEditDemo.vue deleted file mode 100644 index 80c423349..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JCodeEditDemo.vue +++ /dev/null @@ -1,67 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JEditorDemo.vue b/jeecgboot-vue3/src/views/demo/jeecg/JEditorDemo.vue deleted file mode 100644 index 10657ebc0..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JEditorDemo.vue +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JUploadDemo.vue b/jeecgboot-vue3/src/views/demo/jeecg/JUploadDemo.vue deleted file mode 100644 index c7f2cd883..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JUploadDemo.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo1.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo1.vue deleted file mode 100644 index 5544256e7..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo1.vue +++ /dev/null @@ -1,402 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo2.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo2.vue deleted file mode 100644 index e87fe5b45..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo2.vue +++ /dev/null @@ -1,179 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo3.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo3.vue deleted file mode 100644 index d4a102902..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo3.vue +++ /dev/null @@ -1,129 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo4.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo4.vue deleted file mode 100644 index d11f69934..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo4.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo5.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo5.vue deleted file mode 100644 index c756fc278..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo5.vue +++ /dev/null @@ -1,129 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/JSBCDemo.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/JSBCDemo.vue deleted file mode 100644 index b44d4efeb..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/JSBCDemo.vue +++ /dev/null @@ -1,224 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/PopupSubTable.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/PopupSubTable.vue deleted file mode 100644 index 6febff657..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/PopupSubTable.vue +++ /dev/null @@ -1,244 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/SocketReload.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/SocketReload.vue deleted file mode 100644 index 1ee4c9d91..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/func-demo/SocketReload.vue +++ /dev/null @@ -1,126 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/index.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/index.vue deleted file mode 100644 index 8c5f19ddd..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/index.vue +++ /dev/null @@ -1,40 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/ErpTemplate.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/ErpTemplate.vue deleted file mode 100644 index c468134c5..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/ErpTemplate.vue +++ /dev/null @@ -1,319 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template1.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template1.vue deleted file mode 100644 index 37ab58580..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template1.vue +++ /dev/null @@ -1,332 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template2.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template2.vue deleted file mode 100644 index cb4e22cbc..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template2.vue +++ /dev/null @@ -1,249 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template3.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template3.vue deleted file mode 100644 index 8ff7272cf..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template3.vue +++ /dev/null @@ -1,237 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template4.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template4.vue deleted file mode 100644 index 67f241197..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template4.vue +++ /dev/null @@ -1,340 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template5.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template5.vue deleted file mode 100644 index a28076db4..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template5.vue +++ /dev/null @@ -1,221 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/index.vue b/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/index.vue deleted file mode 100644 index 15a8832f2..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JVxeTableDemo/layout-demo/index.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JeecgComponents.vue b/jeecgboot-vue3/src/views/demo/jeecg/JeecgComponents.vue deleted file mode 100644 index 9d15d0b02..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JeecgComponents.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/JeecgPdfView.vue b/jeecgboot-vue3/src/views/demo/jeecg/JeecgPdfView.vue deleted file mode 100644 index 0a009e9bb..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/JeecgPdfView.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/Native/less/TableExpand.less b/jeecgboot-vue3/src/views/demo/jeecg/Native/less/TableExpand.less deleted file mode 100644 index 407ff14b5..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/Native/less/TableExpand.less +++ /dev/null @@ -1,102 +0,0 @@ -/** [表格主题样式一] 表格强制列不换行 */ -.j-table-force-nowrap { - td, - th { - white-space: nowrap; - } - - .ant-table-selection-column { - padding: 12px 22px !important; - } - - /** 列自适应,弊端会导致列宽失效 */ - - &.ant-table-wrapper .ant-table-content { - overflow-x: auto; - } -} - -/** 查询区域通用样式*/ -.table-page-search-wrapper { - .ant-form-inline { - .ant-form-item { - display: flex; - margin-bottom: 24px; - margin-right: 0; - - .ant-form-item-control-wrapper { - flex: 1 1; - display: inline-block; - vertical-align: middle; - } - - > .ant-form-item-label { - line-height: 32px; - padding-right: 8px; - width: auto; - } - - .ant-form-item-control { - height: 32px; - line-height: 32px; - } - } - } - - .table-page-search-submitButtons { - display: block; - margin-bottom: 24px; - white-space: nowrap; - } -} - -/*列表上方操作按钮区域*/ -.ant-card-body .table-operator { - margin-bottom: 8px; -} - -/** Button按钮间距 */ -.table-operator .ant-btn { - margin: 0 8px 8px 0; -} - -.table-operator .ant-btn-group .ant-btn { - margin: 0; -} - -.table-operator .ant-btn-group .ant-btn:last-child { - margin: 0 8px 8px 0; -} - -/*列表td的padding设置 可以控制列表大小*/ -.ant-table-tbody .ant-table-row td { - padding-top: 15px; - padding-bottom: 15px; -} - -/*列表页面弹出modal*/ -.ant-modal-cust-warp { - height: 100%; -} - -/*弹出modal Y轴滚动条*/ -.ant-modal-cust-warp .ant-modal-body { - height: calc(100% - 110px) !important; - overflow-y: auto; -} - -/*弹出modal 先有content后有body 故滚动条控制在body上*/ -.ant-modal-cust-warp .ant-modal-content { - height: 90% !important; - overflow-y: hidden; -} - -/*列表中有图片的加这个样式 参考用户管理*/ -.anty-img-wrap { - height: 25px; - position: relative; -} - -.antd-more a { - color: #000000; -} diff --git a/jeecgboot-vue3/src/views/demo/jeecg/Native/one/OneNativeList.vue b/jeecgboot-vue3/src/views/demo/jeecg/Native/one/OneNativeList.vue deleted file mode 100644 index 3a9d349d8..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/Native/one/OneNativeList.vue +++ /dev/null @@ -1,417 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/Native/one/components/OneNativeForm.vue b/jeecgboot-vue3/src/views/demo/jeecg/Native/one/components/OneNativeForm.vue deleted file mode 100644 index c98b65fa3..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/Native/one/components/OneNativeForm.vue +++ /dev/null @@ -1,464 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/Native/one/components/OneNativeModal.vue b/jeecgboot-vue3/src/views/demo/jeecg/Native/one/components/OneNativeModal.vue deleted file mode 100644 index 2030b93e9..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/Native/one/components/OneNativeModal.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/PrintDemo.vue b/jeecgboot-vue3/src/views/demo/jeecg/PrintDemo.vue deleted file mode 100644 index ca0435719..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/PrintDemo.vue +++ /dev/null @@ -1,202 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/TableTotal.vue b/jeecgboot-vue3/src/views/demo/jeecg/TableTotal.vue deleted file mode 100644 index d3f1dc5b1..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/TableTotal.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue b/jeecgboot-vue3/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue deleted file mode 100644 index a8bde6b9c..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue +++ /dev/null @@ -1,165 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue b/jeecgboot-vue3/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue deleted file mode 100644 index ebb3246bc..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue +++ /dev/null @@ -1,164 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderCustomerModal.vue b/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderCustomerModal.vue deleted file mode 100644 index 3590ea6fb..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderCustomerModal.vue +++ /dev/null @@ -1,57 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderModal.vue b/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderModal.vue deleted file mode 100644 index f5511cf80..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderModal.vue +++ /dev/null @@ -1,52 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderTicketModal.vue b/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderTicketModal.vue deleted file mode 100644 index 07e63f2fa..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/erplist/components/JeecgOrderTicketModal.vue +++ /dev/null @@ -1,57 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/erplist/erplist.api.ts b/jeecgboot-vue3/src/views/demo/jeecg/erplist/erplist.api.ts deleted file mode 100644 index ca9509d56..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/erplist/erplist.api.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { Modal } from 'ant-design-vue'; - -enum Api { - list = '/test/order/orderList', - save = '/test/order/add', - edit = '/test/order/edit', - deleteOne = '/test/order/delete', - deleteBatch = '/test/order/deleteBatch', - customList = '/test/order/listOrderCustomerByMainId', - saveCustomer = '/test/order/addCustomer', - editCustomer = '/test/order/editCustomer', - deleteCustomer = '/test/order/deleteCustomer', - deleteBatchCustomer = '/test/order/deleteBatchCustomer', - ticketList = '/test/order/listOrderTicketByMainId', - saveTicket = '/test/order/addTicket', - editTicket = '/test/order/editTicket', - deleteTicket = '/test/order/deleteTicket', - deleteBatchTicket = '/test/order/deleteBatchTicket', -} - -/** - * 列表接口 - * @param params - */ -export const list = (params) => defHttp.get({ url: Api.list, params }); - -/** - * 删除 - */ -export const deleteOne = (params, handleSuccess) => { - return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; -/** - * 批量删除 - * @param params - */ -export const batchDelete = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); - }, - }); -}; -/** - * 保存或者更新 - * @param params - */ -export const saveOrUpdate = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; - return defHttp.post({ url: url, params }); -}; - -/** - * 列表接口 - * @param params - */ -export const customList = (params) => defHttp.get({ url: Api.customList, params }); - -/** - * 删除 - */ -export const deleteCustomer = (params, handleSuccess) => { - return defHttp.delete({ url: Api.deleteCustomer, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; -/** - * 批量删除 - * @param params - */ -export const deleteBatchCustomer = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({ url: Api.deleteBatchCustomer, data: params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); - }, - }); -}; -/** - * 保存或者更新 - * @param params - */ -export const saveOrUpdateCustomer = (params, isUpdate) => { - let url = isUpdate ? Api.editCustomer : Api.saveCustomer; - return defHttp.post({ url: url, params }); -}; -/** - * 列表接口 - * @param params - */ -export const ticketList = (params) => defHttp.get({ url: Api.ticketList, params }); - -/** - * 删除 - */ -export const deleteTicket = (params, handleSuccess) => { - return defHttp.delete({ url: Api.deleteTicket, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; -/** - * 批量删除 - * @param params - */ -export const deleteBatchTicket = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({ url: Api.deleteBatchTicket, data: params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); - }, - }); -}; -/** - * 保存或者更新 - * @param params - */ -export const saveOrUpdateTicket = (params, isUpdate) => { - let url = isUpdate ? Api.editTicket : Api.saveTicket; - return defHttp.post({ url: url, params }); -}; diff --git a/jeecgboot-vue3/src/views/demo/jeecg/erplist/erplist.data.ts b/jeecgboot-vue3/src/views/demo/jeecg/erplist/erplist.data.ts deleted file mode 100644 index 148c461f7..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/erplist/erplist.data.ts +++ /dev/null @@ -1,239 +0,0 @@ -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; -import { render } from '/@/utils/common/renderUtils'; - -export const columns: BasicColumn[] = [ - { - title: '订单号', - dataIndex: 'orderCode', - width: 260, - }, - { - title: '订单类型', - dataIndex: 'ctype', - width: 160, - customRender: ({ text }) => { - return text == '1' ? '国内订单' : text == '2' ? '国际订单' : ''; - }, - }, - { - title: '订单日期', - dataIndex: 'orderDate', - width: 300, - }, - { - title: '订单金额', - width: 200, - dataIndex: 'orderMoney', - }, - { - title: '订单备注', - width: 200, - dataIndex: 'content', - }, -]; - -export const searchFormSchema: FormSchema[] = [ - { - label: '订单号', - field: 'orderCode', - component: 'Input', - colProps: { span: 6 }, - }, - { - label: '订单类型', - field: 'ctype', - component: 'Select', - componentProps: { - options: [ - { - label: '国内订单', - value: '1', - key: '1', - }, - { - label: '国际订单', - value: '2', - key: '2', - }, - ], - }, - colProps: { span: 6 }, - }, -]; - -export const formSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - label: '订单号', - field: 'orderCode', - component: 'Input', - required: true, - }, - { - label: '订单类型', - field: 'ctype', - component: 'Select', - componentProps: { - options: [ - { - label: '国内订单', - value: '1', - key: '1', - }, - { - label: '国际订单', - value: '2', - key: '2', - }, - ], - }, - }, - { - label: '订单日期', - field: 'orderDate', - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD hh:mm:ss', - }, - }, - { - label: '订单金额', - field: 'orderMoney', - component: 'InputNumber', - }, - { - label: '订单备注', - field: 'content', - component: 'Input', - }, -]; - -export const customColumns: BasicColumn[] = [ - { - title: '客户名', - dataIndex: 'name', - width: 260, - }, - { - title: '性别', - dataIndex: 'sex', - width: 100, - customRender: ({ text }) => { - return render.renderDict(text, 'sex'); - }, - }, - { - title: '身份证号', - dataIndex: 'idcard', - width: 300, - }, - { - title: '电话', - width: 200, - dataIndex: 'telphone', - }, -]; - -export const customerFormSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - label: '客户姓名', - field: 'name', - component: 'Input', - required: true, - }, - { - label: '性别', - field: 'sex', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - }, - }, - { - label: '身份证号码', - field: 'idcard', - component: 'Input', - }, - { - label: '身份证扫描件', - field: 'idcardPic', - component: 'JImageUpload', - componentProps: { - fileMax: 2, - }, - }, - { - label: '联系方式', - field: 'telphone', - component: 'Input', - rules: [{ required: false, pattern: /^1[3456789]\d{9}$/, message: '手机号码格式有误' }], - }, - { - label: 'orderId', - field: 'orderId', - component: 'Input', - show: false, - }, -]; - -export const ticketColumns: BasicColumn[] = [ - { - title: '航班号', - dataIndex: 'ticketCode', - }, - { - title: '航班时间', - dataIndex: 'tickectDate', - }, - { - title: '创建人', - dataIndex: 'createBy', - }, - { - title: '创建时间', - dataIndex: 'createTime', - }, -]; - -export const ticketFormSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - label: '航班号', - field: 'ticketCode', - component: 'Input', - required: true, - }, - { - label: '航班时间', - field: 'tickectDate', - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - getPopupContainer:()=>document.body, - }, - }, - { - label: 'orderId', - field: 'orderId', - component: 'Input', - show: false, - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/jeecg/erplist/index.vue b/jeecgboot-vue3/src/views/demo/jeecg/erplist/index.vue deleted file mode 100644 index 29db61d46..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/erplist/index.vue +++ /dev/null @@ -1,163 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/index.vue b/jeecgboot-vue3/src/views/demo/jeecg/index.vue deleted file mode 100644 index 4f10c7fef..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/index.vue +++ /dev/null @@ -1,54 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/jeecg/jeecgComponents.data.ts b/jeecgboot-vue3/src/views/demo/jeecg/jeecgComponents.data.ts deleted file mode 100644 index d9c215ef4..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/jeecgComponents.data.ts +++ /dev/null @@ -1,956 +0,0 @@ -import { FormSchema, JCronValidator } from '/@/components/Form'; -import { usePermission } from '/@/hooks/web/usePermission'; - -const { isDisabledAuth } = usePermission(); -export const schemas: FormSchema[] = [ - { - field: 'jdst', - component: 'JDictSelectTag', - label: '性别下拉', - helpMessage: ['component模式'], - componentProps: { - dictCode: 'sex', - }, - colProps: { - span: 12, - }, - }, - { - field: 'jdst', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'jdst1', - component: 'JDictSelectTag', - label: '性别选择', - helpMessage: ['component模式'], - componentProps: { - dictCode: 'sex', - type: 'radioButton', - }, - colProps: { - span: 12, - }, - }, - { - field: 'jdst1', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'jdst2', - component: 'JDictSelectTag', - label: '字典表下拉', - helpMessage: ['component模式'], - componentProps: { - dictCode: 'sys_user,realname,id', - }, - colProps: { - span: 12, - }, - }, - { - field: 'jdst2', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'jdst3', - component: 'JDictSelectTag', - label: '字典表下拉(带条件)', - helpMessage: ['component模式'], - componentProps: { - dictCode: "sys_user,realname,id,username!='admin' order by create_time", - }, - colProps: { - span: 12, - }, - }, - { - field: 'jdst3', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'jsst', - component: 'JSearchSelect', - label: '字典搜索(同步)', - colProps: { span: 12 }, - componentProps: { - //dict: "sys_depart,depart_name,id", - dictOptions: [ - { - text: '选项一', - value: '1', - }, - { - text: '选项二', - value: '2', - }, - { - text: '选项三', - value: '3', - }, - ], - }, - }, - { - field: 'jsst', - component: 'JEllipsis', - label: '选择值', - colProps: { span: 12 }, - }, - { - field: 'jsst2', - component: 'JSearchSelect', - label: '字典搜索(异步)', - colProps: { span: 12 }, - componentProps: { - dict: 'sys_depart,depart_name,id', - pageSize: 6, - async: true, - }, - }, - { - field: 'jsst2', - component: 'JEllipsis', - label: '选择值', - colProps: { span: 12 }, - }, - { - field: 'xldx', - component: 'JDictSelectTag', - label: '字典下拉多选', - colProps: { span: 12 }, - componentProps: { - dictCode: 'sex', - mode: 'multiple', - }, - }, - { - field: 'xldx', - component: 'JEllipsis', - label: '选择值', - colProps: { span: 12 }, - }, - { - field: 'xldx2', - component: 'JSelectMultiple', - label: '字典下拉多选2', - colProps: { span: 12 }, - componentProps: { - dictCode: 'sex', - }, - }, - { - field: 'xldx2', - component: 'JEllipsis', - label: '选择值', - colProps: { span: 12 }, - }, - { - field: 'dxxlk', - component: 'JDictSelectTag', - label: '字典下拉单选', - colProps: { span: 12 }, - componentProps: { - dictCode: 'sex', - }, - }, - { - field: 'dxxlk', - component: 'JEllipsis', - label: '选择值', - colProps: { span: 12 }, - }, - { - label: '可输入下拉', - field: 'selectInput', - component: 'JSelectInput', - componentProps: { - options: [ - { label: '选项一', value: '1' }, - { label: '选项二', value: '2' }, - { label: '选项三', value: '3' }, - ], - }, - colProps: { span: 12 }, - }, - { - field: 'selectInput', - component: 'JEllipsis', - label: '选择值', - colProps: { span: 12 }, - }, - { - field: 'depart3', - component: 'JSelectDept', - label: '选择部门—自定义值', - helpMessage: ['component模式'], - componentProps: { showButton: false, rowKey: 'orgCode', primaryKey: 'orgCode' }, - colProps: { - span: 12, - }, - }, - { - field: 'depart3', - component: 'JEllipsis', - label: '选中部门', - colProps: { span: 12 }, - }, - { - field: 'depart2', - component: 'JSelectDept', - label: '选择部门', - helpMessage: ['component模式'], - componentProps: { showButton: false }, - colProps: { - span: 12, - }, - }, - { - field: 'depart2', - component: 'JEllipsis', - label: '选中部门', - colProps: { span: 12 }, - }, - { - field: 'depart4', - component: 'JSelectDepartPost', - label: '选择岗位', - helpMessage: ['component模式'], - componentProps: { showButton: false }, - colProps: { - span: 12, - }, - }, - { - field: 'depart4', - component: 'JEllipsis', - label: '选择岗位', - colProps: { span: 12 }, - }, - { - field: 'user2', - component: 'JSelectUser', - label: '用户选择组件', - helpMessage: ['component模式'], - componentProps: { - labelKey: 'realname', - rowKey: 'id', - showSelected: true, - }, - colProps: { - span: 12, - }, - }, - { - field: 'user2', - component: 'JEllipsis', - label: '选中用户', - colProps: { span: 12 }, - }, - { - field: 'user3', - component: 'JSelectUserByDept', - label: '部门选择用户', - helpMessage: ['component模式'], - componentProps: { - labelKey: 'realname', - rowKey: 'username', - }, - colProps: { - span: 12, - }, - }, - { - field: 'user3', - component: 'JEllipsis', - label: '选中用户', - colProps: { span: 12 }, - }, - { - field: 'userPost1', - component: 'JSelectUserByDeptPost', - label: '部门岗位选择用户', - helpMessage: ['component模式'], - componentProps: { - labelKey: 'realname', - rowKey: 'username', - }, - colProps: { - span: 12, - }, - }, - { - field: 'userPost1', - component: 'JEllipsis', - label: '选中用户', - colProps: { span: 12 }, - }, - { - field: 'user4', - component: 'JSelectUserByDepartment', - label: '部门选择用户', - helpMessage: ['component模式'], - defaultValue: '', - componentProps: { - labelKey: 'realname', - rowKey: 'username', - }, - colProps: { - span: 12, - }, - }, - { - field: 'user4', - component: 'JEllipsis', - label: '选中用户', - colProps: { span: 12 }, - }, - { - field: 'role2', - component: 'JSelectRole', - label: '角色选择组件', - helpMessage: ['component模式'], - colProps: { - span: 12, - }, - }, - { - field: 'role2', - component: 'JEllipsis', - label: '选中角色', - colProps: { span: 12 }, - }, - { - field: 'position2', - component: 'JSelectPosition', - label: '职务选择组件', - helpMessage: ['component模式'], - colProps: { span: 12 }, - componentProps: { async: true, showSelectTable: true }, - }, - { - field: 'position2', - component: 'JEllipsis', - label: '选中职务', - colProps: { span: 12 }, - }, - { - field: 'checkbox1', - component: 'JCheckbox', - label: 'JCheckbox组件1', - helpMessage: ['component模式'], - defaultValue: '1,2', - componentProps: { - options: [ - { label: '男', value: '1' }, - { label: '女', value: '2' }, - ], - }, - colProps: { - span: 12, - }, - }, - { - field: 'checkbox1', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'checkbox2', - component: 'Input', - label: 'JCheckbox组件2', - defaultValue: '1', - helpMessage: ['插槽模式'], - slot: 'JCheckbox', - colProps: { - span: 12, - }, - }, - { - field: 'checkbox2', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'data1', - label: '日期选择', - component: 'DatePicker', - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - colProps: { - span: 12, - }, - }, - { - field: 'data1', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'data2', - label: '年份范围选择', - component: 'RangePicker', - componentProps: { - picker: 'year', - valueFormat: 'YYYY', - }, - colProps: { - span: 12, - }, - }, - { - field: 'data2', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'hk', - component: 'Input', - label: '滑块验证码', - helpMessage: ['插槽模式'], - slot: 'dargVerify', - colProps: { - span: 12, - }, - }, - { - field: 'hk', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'JTreeDict', - component: 'JTreeDict', - label: '树字典', - helpMessage: ['component模式'], - colProps: { span: 12 }, - }, - { - field: 'JTreeDict', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'ts', - component: 'JTreeSelect', - label: '下拉树选择', - helpMessage: ['component模式'], - componentProps: { - dict: 'sys_permission,name,id', - pidField: 'parent_id', - hasChildField: 'is_leaf', - converIsLeafVal: 0, - }, - colProps: { - span: 12, - }, - }, - { - field: 'ts', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'ts1', - component: 'JTreeSelect', - label: '下拉树多选', - helpMessage: ['component模式'], - componentProps: { - dict: 'sys_permission,name,id', - pidField: 'parent_id', - hasChildField: 'is_leaf', - converIsLeafVal: 0, - multiple: true, - }, - colProps: { - span: 12, - }, - }, - { - field: 'ts1', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'category', - component: 'JCategorySelect', - label: '分类字典树', - helpMessage: ['component模式'], - defaultValue: '', - componentProps: { - pcode: 'B01', - multiple: true, - }, - colProps: { - span: 12, - }, - }, - { - field: 'category', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'JEasyCron', - component: 'JEasyCron', - label: 'JEasyCron', - helpMessage: ['component模式'], - colProps: { span: 12 }, - defaultValue: '* * * * * ? *', - rules: [{ validator: JCronValidator }], - }, - { - field: 'JEasyCron', - component: 'JEllipsis', - label: '选择值', - colProps: { span: 12 }, - }, - { - field: 'JInput', - component: 'JInput', - label: '特殊查询组件', - helpMessage: ['插槽模式'], - slot: 'JInput', - colProps: { - span: 12, - }, - }, - { - field: 'jinputtype', - component: 'Select', - label: '查询类型', - componentProps: { - options: [ - { value: 'like', label: '模糊(like)' }, - { value: 'ne', label: '不等于(ne)' }, - { value: 'ge', label: '大于等于(ge)' }, - { value: 'le', label: '小于等于(le)' }, - ], - }, - colProps: { - span: 6, - }, - }, - { - field: 'JInput', - component: 'JEllipsis', - label: '输入值', - colProps: { span: 6 }, - }, - { - field: 'field1', - component: 'Select', - label: '省市区选择', - helpMessage: ['插槽模式'], - slot: 'jAreaLinkage', - colProps: { - span: 12, - }, - defaultValue: ['130000', '130200'], - }, - { - field: 'field1', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'field0', - component: 'Select', - label: '禁用组件(方式一)', - helpMessage: ['插槽模式'], - slot: 'jAreaLinkage1', - colProps: { - span: 12, - }, - defaultValue: ['130000', '130200'], - }, - - { - field: 'field0', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'field2', - component: 'JAreaLinkage', - label: '禁用组件(方式二)', - helpMessage: ['component模式'], - colProps: { - span: 12, - }, - dynamicDisabled: ({ values }) => { - console.log(values); - return isDisabledAuth(['demo.dbarray']); - }, - defaultValue: ['140000', '140300', '140302'], - }, - { - field: 'field2', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'pca1', - component: 'JAreaSelect', - label: '省市区级联', - helpMessage: ['component模式'], - defaultValue: '140302', - colProps: { - span: 12, - }, - }, - { - field: 'pca1', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'pop1', - component: 'Input', - label: 'JPopup示例', - helpMessage: ['插槽模式'], - slot: 'JPopup', - colProps: { - span: 12, - }, - }, - { - field: 'pop1', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'pop2', - component: 'Input', - label: 'JPopup带参数示例', - helpMessage: ['插槽模式'], - slot: 'JPopup2', - colProps: { - span: 12, - }, - }, - { - field: 'pop2', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'pop3', - component: 'Input', - label: 'JPopup带查询条件参数示例', - helpMessage: ['插槽模式'], - slot: 'JPopup3', - colProps: { - span: 12, - }, - }, - { - field: 'pop3', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'JInputPop', - component: 'JInputPop', - label: 'JInputPop', - helpMessage: ['component模式'], - colProps: { span: 12 }, - }, - { - field: 'JInputPop', - component: 'JEllipsis', - label: '输入值', - colProps: { span: 12 }, - }, - { - field: 'JTreeDictAsync', - component: 'JTreeDict', - label: '异步JTreeDict', - helpMessage: ['component模式'], - colProps: { span: 12 }, - componentProps: { async: true }, - }, - { - field: 'JTreeDictAsync', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'JSwitch', - component: 'JSwitch', - label: 'JSwitch', - helpMessage: ['component模式'], - colProps: { span: 12 }, - }, - { - field: 'JSwitch', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'JSwitchSelect', - component: 'JSwitch', - label: 'JSwitchSelect', - helpMessage: ['component模式'], - colProps: { span: 12 }, - componentProps: { query: true }, - }, - { - field: 'JSwitchSelect', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - - { - field: 'userSelect2', - component: 'UserSelect', - label: '高级用户选择', - helpMessage: ['component模式'], - colProps: { span: 12 }, - }, - { - field: 'userSelect2', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - - { - field: 'superQuery', - component: 'Input', - label: '高级查询', - helpMessage: ['插槽模式'], - slot: 'superQuery', - colProps: { span: 12 }, - }, - { - field: 'superQuery', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'superQuery1', - component: 'Input', - label: '高级查询', - helpMessage: ['插槽模式-自己保存查询条件'], - slot: 'superQuery1', - colProps: { span: 12 }, - }, - { - field: 'superQuery1', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'pop2', - component: 'JPopupDict', - label: 'JPopupDict示例', - colProps: { - span: 12, - }, - componentProps:{ - placeholder: '请选择', - dictCode: 'report_user,username,id', - multi: true, - }, - }, - { - field: 'pop2', - component: 'JEllipsis', - label: '选中值', - colProps: { - span: 12, - }, - }, - { - field: 'sex', - component: 'JDictSelectTag', - label: '性别(控制下方课程options)', - helpMessage: ['component模式','性别不同,下方课程展示选项不同'], - componentProps: { - dictCode: 'sex', - type: 'radioButton', - onChange: (value) => { - console.log(value); - }, - }, - colProps: { - span: 12, - }, - }, - { - field: 'sex', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'course', - component: 'Select', - label: '课程', - dynamicPropskey: 'options', - dynamicPropsVal: ({ model }) => { - let options; - if (model.sex == 1) { - return [ - { value: '0', label: 'java - 男' }, - { value: '1', label: 'vue - 男' }, - ]; - } else if (model.sex == 2) { - return [ - { value: '2', label: '瑜伽 - 女' }, - { value: '3', label: '美甲 - 女' }, - ]; - } else { - return []; - } - }, - componentProps: { - disabled: false, - }, - colProps: { - span: 12, - }, - }, - { - field: 'course', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'field100', - component: 'JInputSelect', - label: 'JInputSelect', - helpMessage: ['component模式'], - componentProps: { - selectPlaceholder: '可选择系统变量', - inputPlaceholder: '请输入', - selectWidth:'200px', - options: [ - { - label: '登录用户账号', - value: '#{sys_user_code}', - }, - { - label: '登录用户名称', - value: '#{sys_user_name}', - }, - { - label: '当前日期', - value: '#{sys_date}', - }, - { - label: '当前时间', - value: '#{sys_time}', - }, - { - label: '登录用户部门', - value: '#{sys_org_code}', - }, - { - label: '用户拥有部门', - value: '#{sys_multi_org_code}', - }, - { - label: '登录用户租户', - value: '#{tenant_id}', - }, - ], - }, - colProps: { - span: 12, - }, - }, - { - field: 'field100', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - { - field: 'JAreaLinkage', - component: 'JAreaLinkage', - label: '省市区选择', - colProps: { - span: 12, - }, - }, - { - field: 'JAreaLinkage', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - - { - field: 'orderAuth', - component: 'Input', - label: '指令权限', - helpMessage: ['有权限右侧的"选中值"可见,否则不可见'], - colProps: { - span: 12, - }, - }, - { - field: 'orderAuth', - auth: 'demo:order:auth', - component: 'JEllipsis', - label: '选中值', - colProps: { span: 12 }, - }, - -]; diff --git a/jeecgboot-vue3/src/views/demo/jeecg/model/JeecgOrderModal.vue b/jeecgboot-vue3/src/views/demo/jeecg/model/JeecgOrderModal.vue deleted file mode 100644 index 760242b47..000000000 --- a/jeecgboot-vue3/src/views/demo/jeecg/model/JeecgOrderModal.vue +++ /dev/null @@ -1,94 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/level/Menu111.vue b/jeecgboot-vue3/src/views/demo/level/Menu111.vue deleted file mode 100644 index 23305d376..000000000 --- a/jeecgboot-vue3/src/views/demo/level/Menu111.vue +++ /dev/null @@ -1,12 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/level/Menu12.vue b/jeecgboot-vue3/src/views/demo/level/Menu12.vue deleted file mode 100644 index 2f696825b..000000000 --- a/jeecgboot-vue3/src/views/demo/level/Menu12.vue +++ /dev/null @@ -1,12 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/level/Menu2.vue b/jeecgboot-vue3/src/views/demo/level/Menu2.vue deleted file mode 100644 index 527ff2f93..000000000 --- a/jeecgboot-vue3/src/views/demo/level/Menu2.vue +++ /dev/null @@ -1,15 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/main-out/index.vue b/jeecgboot-vue3/src/views/demo/main-out/index.vue deleted file mode 100644 index 7125067f0..000000000 --- a/jeecgboot-vue3/src/views/demo/main-out/index.vue +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/jeecgboot-vue3/src/views/demo/page/account/center/Application.vue b/jeecgboot-vue3/src/views/demo/page/account/center/Application.vue deleted file mode 100644 index ae0e28116..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/center/Application.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/account/center/Article.vue b/jeecgboot-vue3/src/views/demo/page/account/center/Article.vue deleted file mode 100644 index 7addc3207..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/center/Article.vue +++ /dev/null @@ -1,92 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/account/center/Project.vue b/jeecgboot-vue3/src/views/demo/page/account/center/Project.vue deleted file mode 100644 index 520ba1313..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/center/Project.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/account/center/data.tsx b/jeecgboot-vue3/src/views/demo/page/account/center/data.tsx deleted file mode 100644 index e8251b31d..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/center/data.tsx +++ /dev/null @@ -1,124 +0,0 @@ -export interface ListItem { - title: string; - icon: string; - color?: string; -} - -export interface TabItem { - key: string; - name: string; - component: string; -} - -export const tags: string[] = ['很有想法的', '专注设计', '川妹子', '大长腿', '海纳百川', '前端开发', 'vue3']; -; -export const teams: ListItem[] = [ - { - icon: 'ri:alipay-fill', - title: '科学搬砖组', - color: '#ff4000', - }, - { - icon: 'emojione-monotone:letter-a', - title: '中二少年团', - color: '#7c51b8', - }, - { - icon: 'ri:alipay-fill', - title: '高逼格设计', - color: '#00adf7', - }, - { - icon: 'jam:codepen-circle', - title: '程序员日常', - color: '#00adf7', - }, - { - icon: 'fa:behance-square', - title: '科学搬砖组', - color: '#7c51b8', - }, - { - icon: 'jam:codepen-circle', - title: '程序员日常', - color: '#ff4000', - }, -]; - -export const details: ListItem[] = [ - { - icon: 'ic:outline-contacts', - title: '交互专家', - }, - { - icon: 'grommet-icons:cluster', - title: '某某某事业群', - }, - { - icon: 'bx:bx-home-circle', - title: '福建省厦门市', - }, -]; - -export const achieveList: TabItem[] = [ - { - key: '1', - name: '文章', - component: 'Article', - }, - { - key: '2', - name: '应用', - component: 'Application', - }, - { - key: '3', - name: '项目', - component: 'Project', - }, -]; - -export const actions: any[] = [ - { icon: 'clarity:star-line', text: '156', color: '#018ffb' }, - { icon: 'bx:bxs-like', text: '156', color: '#459ae8' }, - { icon: 'bx:bxs-message-dots', text: '2', color: '#42d27d' }, -]; - -export const articleList = (() => { - const result: any[] = []; - for (let i = 0; i < 4; i++) { - result.push({ - title: 'Jeecg Admin', - description: ['Jeecg', '设计语言', 'Typescript'], - content: '基于Vue Next, TypeScript, Ant Design实现的一套完整的企业级后台管理系统。', - time: '2020-11-14 11:20', - }); - } - return result; -})(); - -export const applicationList = (() => { - const result: any[] = []; - for (let i = 0; i < 8; i++) { - result.push({ - title: 'Jeecg Admin', - icon: 'emojione-monotone:letter-a', - color: '#1890ff', - active: '100', - new: '1,799', - download: 'bx:bx-download', - }); - } - return result; -})(); - -export const projectList = (() => { - const result: any[] = []; - for (let i = 0; i < 8; i++) { - result.push({ - title: 'Jeecg Admin', - content: '基于Vue Next, TypeScript, Ant Design实现的一套完整的企业级后台管理系统。', - }); - } - return result; -})(); diff --git a/jeecgboot-vue3/src/views/demo/page/account/center/index.vue b/jeecgboot-vue3/src/views/demo/page/account/center/index.vue deleted file mode 100644 index 1cce493ba..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/center/index.vue +++ /dev/null @@ -1,155 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/page/account/setting/AccountBind.vue b/jeecgboot-vue3/src/views/demo/page/account/setting/AccountBind.vue deleted file mode 100644 index b61beb67d..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/setting/AccountBind.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/account/setting/BaseSetting.vue b/jeecgboot-vue3/src/views/demo/page/account/setting/BaseSetting.vue deleted file mode 100644 index 3400f706d..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/setting/BaseSetting.vue +++ /dev/null @@ -1,118 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/page/account/setting/MsgNotify.vue b/jeecgboot-vue3/src/views/demo/page/account/setting/MsgNotify.vue deleted file mode 100644 index c816a6e3e..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/setting/MsgNotify.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/account/setting/SecureSetting.vue b/jeecgboot-vue3/src/views/demo/page/account/setting/SecureSetting.vue deleted file mode 100644 index 0c95a3100..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/setting/SecureSetting.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/account/setting/data.ts b/jeecgboot-vue3/src/views/demo/page/account/setting/data.ts deleted file mode 100644 index 2a213422a..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/setting/data.ts +++ /dev/null @@ -1,167 +0,0 @@ -import { FormSchema } from '/@/components/Form/index'; -import { rules } from '/@/utils/helper/validator'; - -export interface ListItem { - key: string; - title: string; - description: string; - extra?: string; - avatar?: string; - color?: string; -} - -// tab的list -export const settingList = [ - { - key: '1', - name: '基本设置', - component: 'BaseSetting', - }, - { - key: '2', - name: '安全设置', - component: 'SecureSetting', - }, - /* { - key: '3', - name: '账号绑定', - component: 'AccountBind', - }, - { - key: '4', - name: '新消息通知', - component: 'MsgNotify', - },*/ -]; - -// 基础设置 form -export const baseSetschemas: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - field: 'realname', - component: 'Input', - label: '昵称', - colProps: { span: 18 }, - }, - { - field: 'sex', - label: '性别', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - stringToNumber: true, - }, - colProps: { span: 18 }, - }, - { - label: '生日', - field: 'birthday', - component: 'DatePicker', - colProps: { span: 18 }, - }, - { - field: 'email', - component: 'Input', - label: '邮箱', - colProps: { span: 18 }, - }, - { - field: 'phone', - component: 'Input', - label: '联系电话', - dynamicRules: ({ model, schema }) => { - return [ - { ...rules.duplicateCheckRule('sys_user', 'phone', model, schema, false)[0] }, - { pattern: /^1[3456789]\d{9}$/, message: '手机号码格式有误' }, - ]; - }, - colProps: { span: 18 }, - }, -]; - -// 安全设置 list -export const secureSettingList: ListItem[] = [ - { - key: '1', - title: '账户密码', - description: '当前密码强度::强', - extra: '修改', - }, - { - key: '2', - title: '密保手机', - description: '已绑定手机::138****8293', - extra: '修改', - }, - { - key: '3', - title: '密保问题', - description: '未设置密保问题,密保问题可有效保护账户安全', - extra: '修改', - }, - { - key: '4', - title: '备用邮箱', - description: '已绑定邮箱::ant***sign.com', - extra: '修改', - }, - { - key: '5', - title: 'MFA 设备', - description: '未绑定 MFA 设备,绑定后,可以进行二次确认', - extra: '修改', - }, -]; - -// 账号绑定 list -export const accountBindList: ListItem[] = [ - { - key: '1', - title: '绑定淘宝', - description: '当前未绑定淘宝账号', - extra: '绑定', - avatar: 'ri:taobao-fill', - color: '#ff4000', - }, - { - key: '2', - title: '绑定支付宝', - description: '当前未绑定支付宝账号', - extra: '绑定', - avatar: 'fa-brands:alipay', - color: '#2eabff', - }, - { - key: '3', - title: '绑定钉钉', - description: '当前未绑定钉钉账号', - extra: '绑定', - avatar: 'ri:dingding-fill', - color: '#2eabff', - }, -]; - -// 新消息通知 list -export const msgNotifyList: ListItem[] = [ - { - key: '1', - title: '账户密码', - description: '其他用户的消息将以站内信的形式通知', - }, - { - key: '2', - title: '系统消息', - description: '系统消息将以站内信的形式通知', - }, - { - key: '3', - title: '待办任务', - description: '待办任务将以站内信的形式通知', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/page/account/setting/index.vue b/jeecgboot-vue3/src/views/demo/page/account/setting/index.vue deleted file mode 100644 index 74920b879..000000000 --- a/jeecgboot-vue3/src/views/demo/page/account/setting/index.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/page/desc/basic/data.tsx b/jeecgboot-vue3/src/views/demo/page/desc/basic/data.tsx deleted file mode 100644 index d640b62a4..000000000 --- a/jeecgboot-vue3/src/views/demo/page/desc/basic/data.tsx +++ /dev/null @@ -1,196 +0,0 @@ -import { DescItem } from '/@/components/Description/index'; -import { BasicColumn } from '/@/components/Table/src/types/table'; -import { Button } from '/@/components/Button'; - -import { Badge } from 'ant-design-vue'; - -export const refundData = { - a1: '1000000000', - a2: '已取货', - a3: '1234123421', - a4: '3214321432', -}; - -export const personData = { - b1: '付小小', - b2: '18100000000', - b3: '菜鸟仓储', - b4: '浙江省杭州市西湖区万塘路18号', - b5: '无', -}; -export const refundSchema: DescItem[] = [ - { - field: 'a1', - label: '取货单号', - }, - { - field: 'a2', - label: '状态', - }, - { - field: 'a3', - label: '销售单号', - }, - { - field: 'a4', - label: '子订单', - }, -]; -export const personSchema: DescItem[] = [ - { - field: 'b1', - label: '用户姓名', - }, - { - field: 'b2', - label: '联系电话', - }, - { - field: 'b3', - label: '常用快递', - }, - { - field: 'b4', - label: '取货地址', - }, - { - field: 'b5', - label: '备注', - }, -]; - -export const refundTableSchema: BasicColumn[] = [ - { - title: '商品编号', - width: 150, - dataIndex: 't1', - customRender: ({ record }) => { - return ( - - ); - }, - }, - { - title: '商品名称', - width: 150, - dataIndex: 't2', - }, - { - title: '商品条码', - width: 150, - dataIndex: 't3', - }, - { - title: '单价 ', - width: 150, - dataIndex: 't4', - }, - { - title: '数量(件) ', - width: 150, - dataIndex: 't5', - }, - { - title: '金额', - width: 150, - dataIndex: 't6', - }, -]; -export const refundTimeTableSchema: BasicColumn[] = [ - { - title: '时间', - width: 150, - dataIndex: 't1', - }, - { - title: '当前进度', - width: 150, - dataIndex: 't2', - }, - { - title: '状态', - width: 150, - dataIndex: 't3', - customRender: ({ record }) => { - return ; - }, - }, - { - title: '操作员ID ', - width: 150, - dataIndex: 't4', - }, - { - title: '耗时', - width: 150, - dataIndex: 't5', - }, -]; - -export const refundTableData: any[] = [ - { - t1: 1234561, - t2: '矿泉水 550ml', - t3: '12421432143214321', - t4: '2.00', - t5: 1, - t6: 2.0, - }, - { - t1: 1234562, - t2: '矿泉水 550ml', - t3: '12421432143214321', - t4: '2.00', - t5: 2, - t6: 2.0, - }, - { - t1: 1234562, - t2: '矿泉水 550ml', - t3: '12421432143214321', - t4: '2.00', - t5: 2, - t6: 2.0, - }, - { - t1: 1234562, - t2: '矿泉水 550ml', - t3: '12421432143214321', - t4: '2.00', - t5: 2, - t6: 2.0, - }, -]; - -export const refundTimeTableData: any[] = [ - { - t1: '2017-10-01 14:10', - t2: '联系客户', - t3: '进行中', - t4: '取货员 ID1234', - t5: '5mins', - }, - { - t1: '2017-10-01 14:10', - t2: '取货员出发', - t3: '成功', - t4: '取货员 ID1234', - t5: '5mins', - }, - { - t1: '2017-10-01 14:10', - t2: '取货员接单', - t3: '成功', - t4: '系统', - t5: '5mins', - }, - { - t1: '2017-10-01 14:10', - t2: '申请审批通过', - t3: '成功', - t4: '用户', - t5: '1h', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/page/desc/basic/index.vue b/jeecgboot-vue3/src/views/demo/page/desc/basic/index.vue deleted file mode 100644 index 7ff62fd1c..000000000 --- a/jeecgboot-vue3/src/views/demo/page/desc/basic/index.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/desc/high/data.tsx b/jeecgboot-vue3/src/views/demo/page/desc/high/data.tsx deleted file mode 100644 index ec7a7c39f..000000000 --- a/jeecgboot-vue3/src/views/demo/page/desc/high/data.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { BasicColumn } from '/@/components/Table/src/types/table'; - -import { Badge } from 'ant-design-vue'; - -export const refundTimeTableSchema: BasicColumn[] = [ - { - title: '时间', - width: 150, - dataIndex: 't1', - }, - { - title: '当前进度', - width: 150, - dataIndex: 't2', - }, - { - title: '状态', - width: 150, - dataIndex: 't3', - customRender: ({ record }) => { - return ; - }, - }, - { - title: '操作员ID ', - width: 150, - dataIndex: 't4', - }, - { - title: '耗时', - width: 150, - dataIndex: 't5', - }, -]; - -export const refundTimeTableData: any[] = [ - { - t1: '2017-10-01 14:10', - t2: '联系客户', - t3: '进行中', - t4: '取货员 ID1234', - t5: '5mins', - }, - { - t1: '2017-10-01 14:10', - t2: '取货员出发', - t3: '成功', - t4: '取货员 ID1234', - t5: '5mins', - }, - { - t1: '2017-10-01 14:10', - t2: '取货员接单', - t3: '成功', - t4: '系统', - t5: '5mins', - }, - { - t1: '2017-10-01 14:10', - t2: '申请审批通过', - t3: '成功', - t4: '用户', - t5: '1h', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/page/desc/high/index.vue b/jeecgboot-vue3/src/views/demo/page/desc/high/index.vue deleted file mode 100644 index 0263474c4..000000000 --- a/jeecgboot-vue3/src/views/demo/page/desc/high/index.vue +++ /dev/null @@ -1,123 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/page/form/basic/data.ts b/jeecgboot-vue3/src/views/demo/page/form/basic/data.ts deleted file mode 100644 index 76d29654c..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/basic/data.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { FormSchema } from '/@/components/Form'; - -export const schemas: FormSchema[] = [ - { - field: 'title', - component: 'Input', - label: '标题', - componentProps: { - placeholder: '给目标起个名字', - }, - required: true, - }, - { - field: 'time', - component: 'RangePicker', - label: '起止日期', - required: true, - }, - { - field: 'target', - component: 'InputTextArea', - label: '目标描述', - componentProps: { - placeholder: '请输入你的阶段性工作目标', - rows: 4, - }, - required: true, - }, - { - field: 'metrics', - component: 'InputTextArea', - label: '衡量标准', - componentProps: { - placeholder: '请输入衡量标准', - rows: 4, - }, - required: true, - }, - { - field: 'client', - component: 'Input', - label: '客户', - helpMessage: '目标的服务对象', - subLabel: '( 选填 )', - componentProps: { - placeholder: '请描述你服务的客户,内部客户直接 @姓名/工号', - }, - }, - { - field: 'inviteer', - component: 'Input', - label: '邀评人', - subLabel: '( 选填 )', - componentProps: { - placeholder: '请直接 @姓名/工号,最多可邀请 5 人', - }, - }, - { - field: 'weights', - component: 'InputNumber', - label: '权重', - subLabel: '( 选填 )', - componentProps: { - formatter: (value: string) => (value ? `${value}%` : ''), - parser: (value: string) => value.replace('%', ''), - placeholder: '请输入', - }, - }, - { - field: 'disclosure', - component: 'RadioGroup', - label: '目标公开', - itemProps: { - extra: '客户、邀评人默认被分享', - }, - componentProps: { - options: [ - { - label: '公开', - value: '1', - }, - { - label: '部分公开', - value: '2', - }, - { - label: '不公开', - value: '3', - }, - ], - }, - }, - { - field: 'disclosurer', - component: 'Select', - label: ' ', - show: ({ model }) => { - return model.disclosure === '2'; - }, - componentProps: { - placeholder: '公开给', - mode: 'multiple', - options: [ - { - label: '同事1', - value: '1', - }, - { - label: '同事2', - value: '2', - }, - { - label: '同事3', - value: '3', - }, - ], - }, - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/page/form/basic/index.vue b/jeecgboot-vue3/src/views/demo/page/form/basic/index.vue deleted file mode 100644 index 407c1761d..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/basic/index.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/form/high/PersonTable.vue b/jeecgboot-vue3/src/views/demo/page/form/high/PersonTable.vue deleted file mode 100644 index 47d250d0e..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/high/PersonTable.vue +++ /dev/null @@ -1,137 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/page/form/high/data.ts b/jeecgboot-vue3/src/views/demo/page/form/high/data.ts deleted file mode 100644 index 73d17d88f..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/high/data.ts +++ /dev/null @@ -1,149 +0,0 @@ -import { FormSchema } from '/@/components/Form'; - -const basicOptions: LabelValueOptions = [ - { - label: '付晓晓', - value: '1', - }, - { - label: '周毛毛', - value: '2', - }, -]; - -const storeTypeOptions: LabelValueOptions = [ - { - label: '私密', - value: '1', - }, - { - label: '公开', - value: '2', - }, -]; - -export const schemas: FormSchema[] = [ - { - field: 'f1', - component: 'Input', - label: '仓库名', - required: true, - }, - { - field: 'f2', - component: 'Input', - label: '仓库域名', - required: true, - componentProps: { - addonBefore: 'http://', - addonAfter: 'com', - }, - colProps: { - offset: 2, - }, - }, - { - field: 'f3', - component: 'Select', - label: '仓库管理员', - componentProps: { - options: basicOptions, - }, - required: true, - colProps: { - offset: 2, - }, - }, - { - field: 'f4', - component: 'Select', - label: '审批人', - componentProps: { - options: basicOptions, - }, - required: true, - }, - { - field: 'f5', - component: 'RangePicker', - label: '生效日期', - required: true, - colProps: { - offset: 2, - }, - }, - { - field: 'f6', - component: 'Select', - label: '仓库类型', - componentProps: { - options: storeTypeOptions, - }, - required: true, - colProps: { - offset: 2, - }, - }, -]; -export const taskSchemas: FormSchema[] = [ - { - field: 't1', - component: 'Input', - label: '任务名', - required: true, - }, - { - field: 't2', - component: 'Input', - label: '任务描述', - required: true, - colProps: { - offset: 2, - }, - }, - { - field: 't3', - component: 'Select', - label: '执行人', - componentProps: { - options: basicOptions, - }, - required: true, - colProps: { - offset: 2, - }, - }, - { - field: 't4', - component: 'Select', - label: '责任人', - componentProps: { - options: basicOptions, - }, - required: true, - }, - { - field: 't5', - component: 'TimePicker', - label: '生效日期', - required: true, - componentProps: { - style: { width: '100%' }, - }, - colProps: { - offset: 2, - }, - }, - { - field: 't6', - component: 'Select', - label: '任务类型', - componentProps: { - options: storeTypeOptions, - }, - required: true, - colProps: { - offset: 2, - }, - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/page/form/high/index.vue b/jeecgboot-vue3/src/views/demo/page/form/high/index.vue deleted file mode 100644 index 64b162486..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/high/index.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/form/step/Step1.vue b/jeecgboot-vue3/src/views/demo/page/form/step/Step1.vue deleted file mode 100644 index 74bae971b..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/step/Step1.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/form/step/Step2.vue b/jeecgboot-vue3/src/views/demo/page/form/step/Step2.vue deleted file mode 100644 index 94782b52d..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/step/Step2.vue +++ /dev/null @@ -1,78 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/form/step/Step3.vue b/jeecgboot-vue3/src/views/demo/page/form/step/Step3.vue deleted file mode 100644 index 6d17d12b8..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/step/Step3.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/form/step/data.tsx b/jeecgboot-vue3/src/views/demo/page/form/step/data.tsx deleted file mode 100644 index de4c98ee0..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/step/data.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import { FormSchema } from '/@/components/Form'; - -export const step1Schemas: FormSchema[] = [ - { - field: 'account', - component: 'Select', - label: '付款账户', - required: true, - defaultValue: '1', - componentProps: { - options: [ - { - label: 'anncwb@126.com', - value: '1', - }, - ], - }, - }, - { - field: 'fac', - component: 'InputGroup', - label: '收款账户', - required: true, - defaultValue: 'test@example.com', - slot: 'fac', - }, - { - field: 'pay', - component: 'Input', - label: '', - defaultValue: 'zfb', - show: false, - }, - { - field: 'payeeName', - component: 'Input', - label: '收款人姓名', - defaultValue: 'Jeecg', - required: true, - }, - { - field: 'money', - component: 'Input', - label: '转账金额', - defaultValue: '500', - required: true, - renderComponentContent: () => { - return { - prefix: () => '¥', - }; - }, - }, -]; - -export const step2Schemas: FormSchema[] = [ - { - field: 'pwd', - component: 'InputPassword', - label: '支付密码', - required: true, - defaultValue: '123456', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/page/form/step/index.vue b/jeecgboot-vue3/src/views/demo/page/form/step/index.vue deleted file mode 100644 index f762c6c01..000000000 --- a/jeecgboot-vue3/src/views/demo/page/form/step/index.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/list/basic/data.tsx b/jeecgboot-vue3/src/views/demo/page/list/basic/data.tsx deleted file mode 100644 index 193328d4b..000000000 --- a/jeecgboot-vue3/src/views/demo/page/list/basic/data.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export const cardList = (() => { - const result: any[] = []; - for (let i = 0; i < 6; i++) { - result.push({ - id: i, - title: 'Jeecg Admin', - description: '基于Vue Next, TypeScript, Ant Design Vue实现的一套完整的企业级后台管理系统', - datetime: '2020-11-26 17:39', - extra: '编辑', - icon: 'logos:vue', - color: '#1890ff', - author: 'Jeecg', - percent: 20 * (i + 1), - }); - } - return result; -})(); diff --git a/jeecgboot-vue3/src/views/demo/page/list/basic/index.vue b/jeecgboot-vue3/src/views/demo/page/list/basic/index.vue deleted file mode 100644 index 7232195e0..000000000 --- a/jeecgboot-vue3/src/views/demo/page/list/basic/index.vue +++ /dev/null @@ -1,161 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/list/card/data.tsx b/jeecgboot-vue3/src/views/demo/page/list/card/data.tsx deleted file mode 100644 index 96d9c29d1..000000000 --- a/jeecgboot-vue3/src/views/demo/page/list/card/data.tsx +++ /dev/null @@ -1,14 +0,0 @@ -export const cardList = (() => { - const result: any[] = []; - for (let i = 0; i < 12; i++) { - result.push({ - title: 'Jeecg Admin', - icon: 'logos:vue', - color: '#1890ff', - active: '100', - new: '1,799', - download: 'bx:bx-download', - }); - } - return result; -})(); diff --git a/jeecgboot-vue3/src/views/demo/page/list/card/index.vue b/jeecgboot-vue3/src/views/demo/page/list/card/index.vue deleted file mode 100644 index f86865373..000000000 --- a/jeecgboot-vue3/src/views/demo/page/list/card/index.vue +++ /dev/null @@ -1,102 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/list/search/data.tsx b/jeecgboot-vue3/src/views/demo/page/list/search/data.tsx deleted file mode 100644 index 948bf5be2..000000000 --- a/jeecgboot-vue3/src/views/demo/page/list/search/data.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { FormSchema } from '/@/components/Form/index'; - -export const searchList = (() => { - const result: any[] = []; - for (let i = 0; i < 6; i++) { - result.push({ - id: i, - title: 'Jeecg Admin', - description: ['Jeecg', '设计语言', 'Typescript'], - content: '基于Vue Next, TypeScript, Ant Design实现的一套完整的企业级后台管理系统。', - time: '2020-11-14 11:20', - }); - } - return result; -})(); - -export const actions: any[] = [ - { icon: 'clarity:star-line', text: '156', color: '#018ffb' }, - { icon: 'bx:bxs-like', text: '156', color: '#459ae8' }, - { icon: 'bx:bxs-message-dots', text: '2', color: '#42d27d' }, -]; - -export const schemas: FormSchema[] = [ - { - field: 'field1', - component: 'InputSearch', - label: '项目名', - colProps: { - span: 8, - }, - componentProps: { - onChange: (e: any) => { - console.log(e); - }, - }, - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/page/list/search/index.vue b/jeecgboot-vue3/src/views/demo/page/list/search/index.vue deleted file mode 100644 index e498f9a4e..000000000 --- a/jeecgboot-vue3/src/views/demo/page/list/search/index.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/result/fail/index.vue b/jeecgboot-vue3/src/views/demo/page/result/fail/index.vue deleted file mode 100644 index 73b65a9dc..000000000 --- a/jeecgboot-vue3/src/views/demo/page/result/fail/index.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/page/result/success/index.vue b/jeecgboot-vue3/src/views/demo/page/result/success/index.vue deleted file mode 100644 index 8389207cb..000000000 --- a/jeecgboot-vue3/src/views/demo/page/result/success/index.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/permission/CurrentPermissionMode.vue b/jeecgboot-vue3/src/views/demo/permission/CurrentPermissionMode.vue deleted file mode 100644 index 43b9eb338..000000000 --- a/jeecgboot-vue3/src/views/demo/permission/CurrentPermissionMode.vue +++ /dev/null @@ -1,32 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/permission/back/Btn.vue b/jeecgboot-vue3/src/views/demo/permission/back/Btn.vue deleted file mode 100644 index 87dde1249..000000000 --- a/jeecgboot-vue3/src/views/demo/permission/back/Btn.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/permission/back/index.vue b/jeecgboot-vue3/src/views/demo/permission/back/index.vue deleted file mode 100644 index 84c44f32d..000000000 --- a/jeecgboot-vue3/src/views/demo/permission/back/index.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/permission/front/AuthPageA.vue b/jeecgboot-vue3/src/views/demo/permission/front/AuthPageA.vue deleted file mode 100644 index e5efa6433..000000000 --- a/jeecgboot-vue3/src/views/demo/permission/front/AuthPageA.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/permission/front/AuthPageB.vue b/jeecgboot-vue3/src/views/demo/permission/front/AuthPageB.vue deleted file mode 100644 index ca5842645..000000000 --- a/jeecgboot-vue3/src/views/demo/permission/front/AuthPageB.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/permission/front/Btn.vue b/jeecgboot-vue3/src/views/demo/permission/front/Btn.vue deleted file mode 100644 index d7d3f97dc..000000000 --- a/jeecgboot-vue3/src/views/demo/permission/front/Btn.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/permission/front/index.vue b/jeecgboot-vue3/src/views/demo/permission/front/index.vue deleted file mode 100644 index 8a405aa62..000000000 --- a/jeecgboot-vue3/src/views/demo/permission/front/index.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/setup/index.vue b/jeecgboot-vue3/src/views/demo/setup/index.vue deleted file mode 100644 index 17d254f2e..000000000 --- a/jeecgboot-vue3/src/views/demo/setup/index.vue +++ /dev/null @@ -1,43 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/account/AccountDetail.vue b/jeecgboot-vue3/src/views/demo/system/account/AccountDetail.vue deleted file mode 100644 index 150cc8b58..000000000 --- a/jeecgboot-vue3/src/views/demo/system/account/AccountDetail.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/system/account/AccountModal.vue b/jeecgboot-vue3/src/views/demo/system/account/AccountModal.vue deleted file mode 100644 index 167bb720a..000000000 --- a/jeecgboot-vue3/src/views/demo/system/account/AccountModal.vue +++ /dev/null @@ -1,74 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/account/DeptTree.vue b/jeecgboot-vue3/src/views/demo/system/account/DeptTree.vue deleted file mode 100644 index b67b4f002..000000000 --- a/jeecgboot-vue3/src/views/demo/system/account/DeptTree.vue +++ /dev/null @@ -1,42 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/account/account.data.ts b/jeecgboot-vue3/src/views/demo/system/account/account.data.ts deleted file mode 100644 index ade68c100..000000000 --- a/jeecgboot-vue3/src/views/demo/system/account/account.data.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { getAllRoleList, isAccountExist } from '/@/api/demo/system'; -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; - -export const columns: BasicColumn[] = [ - { - title: '用户名', - dataIndex: 'account', - width: 120, - }, - { - title: '昵称', - dataIndex: 'nickname', - width: 120, - }, - { - title: '邮箱', - dataIndex: 'email', - width: 120, - }, - { - title: '创建时间', - dataIndex: 'createTime', - width: 180, - }, - { - title: '角色', - dataIndex: 'role', - width: 200, - }, - { - title: '备注', - dataIndex: 'remark', - }, -]; - -export const searchFormSchema: FormSchema[] = [ - { - field: 'account', - label: '用户名', - component: 'Input', - colProps: { span: 8 }, - }, - { - field: 'nickname', - label: '昵称', - component: 'Input', - colProps: { span: 8 }, - }, -]; - -export const accountFormSchema: FormSchema[] = [ - { - field: 'account', - label: '用户名', - component: 'Input', - helpMessage: ['本字段演示异步验证', '不能输入带有admin的用户名'], - rules: [ - { - required: true, - message: '请输入用户名', - }, - { - validator(_, value) { - return new Promise((resolve, reject) => { - isAccountExist(value) - .then(() => resolve()) - .catch((err) => { - reject(err.message || '验证失败'); - }); - }); - }, - }, - ], - }, - { - field: 'pwd', - label: '密码', - component: 'InputPassword', - required: true, - ifShow: false, - }, - { - label: '角色', - field: 'role', - component: 'ApiSelect', - componentProps: { - api: getAllRoleList, - labelField: 'roleName', - valueField: 'roleValue', - }, - required: true, - }, - { - field: 'dept', - label: '所属部门', - component: 'TreeSelect', - componentProps: { - fieldNames: { - label: 'deptName', - key: 'id', - value: 'id', - }, - getPopupContainer: () => document.body, - }, - required: true, - }, - { - field: 'nickname', - label: '昵称', - component: 'Input', - required: true, - }, - - { - label: '邮箱', - field: 'email', - component: 'Input', - required: true, - }, - - { - label: '备注', - field: 'remark', - component: 'InputTextArea', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/system/account/index.vue b/jeecgboot-vue3/src/views/demo/system/account/index.vue deleted file mode 100644 index 2a73cdcf4..000000000 --- a/jeecgboot-vue3/src/views/demo/system/account/index.vue +++ /dev/null @@ -1,137 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/dept/DeptModal.vue b/jeecgboot-vue3/src/views/demo/system/dept/DeptModal.vue deleted file mode 100644 index 005148de5..000000000 --- a/jeecgboot-vue3/src/views/demo/system/dept/DeptModal.vue +++ /dev/null @@ -1,61 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/dept/dept.data.ts b/jeecgboot-vue3/src/views/demo/system/dept/dept.data.ts deleted file mode 100644 index 6bdd1caef..000000000 --- a/jeecgboot-vue3/src/views/demo/system/dept/dept.data.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; -import { h } from 'vue'; -import { Tag } from 'ant-design-vue'; - -export const columns: BasicColumn[] = [ - { - title: '部门名称', - dataIndex: 'deptName', - width: 160, - align: 'left', - }, - { - title: '排序', - dataIndex: 'orderNo', - width: 50, - }, - { - title: '状态', - dataIndex: 'status', - width: 80, - customRender: ({ record }) => { - const status = record.status; - const enable = ~~status === 0; - const color = enable ? 'green' : 'red'; - const text = enable ? '启用' : '停用'; - return h(Tag, { color: color }, () => text); - }, - }, - { - title: '创建时间', - dataIndex: 'createTime', - width: 180, - }, - { - title: '备注', - dataIndex: 'remark', - }, -]; - -export const searchFormSchema: FormSchema[] = [ - { - field: 'deptName', - label: '部门名称', - component: 'Input', - colProps: { span: 8 }, - }, - { - field: 'status', - label: '状态', - component: 'Select', - componentProps: { - options: [ - { label: '启用', value: '0' }, - { label: '停用', value: '1' }, - ], - }, - colProps: { span: 8 }, - }, -]; - -export const formSchema: FormSchema[] = [ - { - field: 'deptName', - label: '部门名称', - component: 'Input', - required: true, - }, - { - field: 'parentDept', - label: '上级部门', - component: 'TreeSelect', - - componentProps: { - replaceFields: { - title: 'deptName', - key: 'id', - value: 'id', - }, - getPopupContainer: () => document.body, - }, - required: true, - }, - { - field: 'orderNo', - label: '排序', - component: 'InputNumber', - required: true, - }, - { - field: 'status', - label: '状态', - component: 'RadioButtonGroup', - defaultValue: '0', - componentProps: { - options: [ - { label: '启用', value: '0' }, - { label: '停用', value: '1' }, - ], - }, - required: true, - }, - { - label: '备注', - field: 'remark', - component: 'InputTextArea', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/system/dept/index.vue b/jeecgboot-vue3/src/views/demo/system/dept/index.vue deleted file mode 100644 index b803ef093..000000000 --- a/jeecgboot-vue3/src/views/demo/system/dept/index.vue +++ /dev/null @@ -1,100 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/menu/MenuDrawer.vue b/jeecgboot-vue3/src/views/demo/system/menu/MenuDrawer.vue deleted file mode 100644 index 606c3c755..000000000 --- a/jeecgboot-vue3/src/views/demo/system/menu/MenuDrawer.vue +++ /dev/null @@ -1,63 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/menu/index.vue b/jeecgboot-vue3/src/views/demo/system/menu/index.vue deleted file mode 100644 index 8aa3185da..000000000 --- a/jeecgboot-vue3/src/views/demo/system/menu/index.vue +++ /dev/null @@ -1,107 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/menu/menu.data.ts b/jeecgboot-vue3/src/views/demo/system/menu/menu.data.ts deleted file mode 100644 index 834bd2117..000000000 --- a/jeecgboot-vue3/src/views/demo/system/menu/menu.data.ts +++ /dev/null @@ -1,202 +0,0 @@ -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; -import { h } from 'vue'; -import { Tag } from 'ant-design-vue'; -import { Icon } from '/@/components/Icon'; - -export const columns: BasicColumn[] = [ - { - title: '菜单名称', - dataIndex: 'menuName', - width: 200, - align: 'left', - }, - { - title: '图标', - dataIndex: 'icon', - width: 50, - customRender: ({ record }) => { - return h(Icon, { icon: record.icon }); - }, - }, - { - title: '权限标识', - dataIndex: 'permission', - width: 180, - }, - { - title: '组件', - dataIndex: 'component', - }, - { - title: '排序', - dataIndex: 'orderNo', - width: 50, - }, - { - title: '状态', - dataIndex: 'status', - width: 80, - customRender: ({ record }) => { - const status = record.status; - const enable = ~~status === 0; - const color = enable ? 'green' : 'red'; - const text = enable ? '启用' : '停用'; - return h(Tag, { color: color }, () => text); - }, - }, - { - title: '创建时间', - dataIndex: 'createTime', - width: 180, - }, -]; - -const isDir = (type: string) => type === '0'; -const isMenu = (type: string) => type === '1'; -const isButton = (type: string) => type === '2'; - -export const searchFormSchema: FormSchema[] = [ - { - field: 'menuName', - label: '菜单名称', - component: 'Input', - colProps: { span: 8 }, - }, - { - field: 'status', - label: '状态', - component: 'Select', - componentProps: { - options: [ - { label: '启用', value: '0' }, - { label: '停用', value: '1' }, - ], - }, - colProps: { span: 8 }, - }, -]; - -export const formSchema: FormSchema[] = [ - { - field: 'type', - label: '菜单类型', - component: 'RadioButtonGroup', - defaultValue: '0', - componentProps: { - options: [ - { label: '目录', value: '0' }, - { label: '菜单', value: '1' }, - { label: '按钮', value: '2' }, - ], - }, - colProps: { lg: 24, md: 24 }, - }, - { - field: 'menuName', - label: '菜单名称', - component: 'Input', - required: true, - }, - - { - field: 'parentMenu', - label: '上级菜单', - component: 'TreeSelect', - componentProps: { - replaceFields: { - title: 'menuName', - key: 'id', - value: 'id', - }, - getPopupContainer: () => document.body, - }, - }, - - { - field: 'orderNo', - label: '排序', - component: 'InputNumber', - required: true, - }, - { - field: 'icon', - label: '图标', - component: 'IconPicker', - required: true, - ifShow: ({ values }) => !isButton(values.type), - }, - - { - field: 'routePath', - label: '路由地址', - component: 'Input', - required: true, - ifShow: ({ values }) => !isButton(values.type), - }, - { - field: 'component', - label: '组件路径', - component: 'Input', - ifShow: ({ values }) => isMenu(values.type), - }, - { - field: 'permission', - label: '权限标识', - component: 'Input', - ifShow: ({ values }) => !isDir(values.type), - }, - { - field: 'status', - label: '状态', - component: 'RadioButtonGroup', - defaultValue: '0', - componentProps: { - options: [ - { label: '启用', value: '0' }, - { label: '禁用', value: '1' }, - ], - }, - }, - { - field: 'isExt', - label: '是否外链', - component: 'RadioButtonGroup', - defaultValue: '0', - componentProps: { - options: [ - { label: '否', value: '0' }, - { label: '是', value: '1' }, - ], - }, - ifShow: ({ values }) => !isButton(values.type), - }, - - { - field: 'keepalive', - label: '是否缓存', - component: 'RadioButtonGroup', - defaultValue: '0', - componentProps: { - options: [ - { label: '否', value: '0' }, - { label: '是', value: '1' }, - ], - }, - ifShow: ({ values }) => isMenu(values.type), - }, - - { - field: 'show', - label: '是否显示', - component: 'RadioButtonGroup', - defaultValue: '0', - componentProps: { - options: [ - { label: '是', value: '0' }, - { label: '否', value: '1' }, - ], - }, - ifShow: ({ values }) => !isButton(values.type), - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/system/password/index.vue b/jeecgboot-vue3/src/views/demo/system/password/index.vue deleted file mode 100644 index f5685aec8..000000000 --- a/jeecgboot-vue3/src/views/demo/system/password/index.vue +++ /dev/null @@ -1,44 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/password/pwd.data.ts b/jeecgboot-vue3/src/views/demo/system/password/pwd.data.ts deleted file mode 100644 index be5f9b1f7..000000000 --- a/jeecgboot-vue3/src/views/demo/system/password/pwd.data.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { FormSchema } from '/@/components/Form'; - -export const formSchema: FormSchema[] = [ - { - field: 'passwordOld', - label: '当前密码', - component: 'InputPassword', - required: true, - }, - { - field: 'passwordNew', - label: '新密码', - component: 'StrengthMeter', - componentProps: { - placeholder: '新密码', - }, - rules: [ - { - required: true, - message: '请输入新密码', - }, - ], - }, - { - field: 'confirmPassword', - label: '确认密码', - component: 'InputPassword', - - dynamicRules: ({ values }) => { - return [ - { - required: true, - validator: (_, value) => { - if (!value) { - return Promise.reject('不能为空'); - } - if (value !== values.passwordNew) { - return Promise.reject('两次输入的密码不一致!'); - } - return Promise.resolve(); - }, - }, - ]; - }, - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/system/role/RoleDrawer.vue b/jeecgboot-vue3/src/views/demo/system/role/RoleDrawer.vue deleted file mode 100644 index b1a57586c..000000000 --- a/jeecgboot-vue3/src/views/demo/system/role/RoleDrawer.vue +++ /dev/null @@ -1,80 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/role/index.vue b/jeecgboot-vue3/src/views/demo/system/role/index.vue deleted file mode 100644 index 488e5cf17..000000000 --- a/jeecgboot-vue3/src/views/demo/system/role/index.vue +++ /dev/null @@ -1,97 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/role/role.data.ts b/jeecgboot-vue3/src/views/demo/system/role/role.data.ts deleted file mode 100644 index f7854277a..000000000 --- a/jeecgboot-vue3/src/views/demo/system/role/role.data.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; -import { h } from 'vue'; -import { Switch } from 'ant-design-vue'; -import { setRoleStatus } from '/@/api/demo/system'; -import { useMessage } from '/@/hooks/web/useMessage'; - -export const columns: BasicColumn[] = [ - { - title: '角色名称', - dataIndex: 'roleName', - width: 200, - }, - { - title: '角色值', - dataIndex: 'roleValue', - width: 180, - }, - { - title: '排序', - dataIndex: 'orderNo', - width: 50, - }, - { - title: '状态', - dataIndex: 'status', - width: 120, - customRender: ({ record }) => { - if (!Reflect.has(record, 'pendingStatus')) { - record.pendingStatus = false; - } - return h(Switch, { - checked: record.status === '1', - checkedChildren: '已启用', - unCheckedChildren: '已禁用', - loading: record.pendingStatus, - onChange(checked: boolean) { - record.pendingStatus = true; - const newStatus = checked ? '1' : '0'; - const { createMessage } = useMessage(); - setRoleStatus(record.id, newStatus) - .then(() => { - record.status = newStatus; - createMessage.success(`已成功修改角色状态`); - }) - .catch(() => { - createMessage.error('修改角色状态失败'); - }) - .finally(() => { - record.pendingStatus = false; - }); - }, - }); - }, - }, - { - title: '创建时间', - dataIndex: 'createTime', - width: 180, - }, - { - title: '备注', - dataIndex: 'remark', - }, -]; - -export const searchFormSchema: FormSchema[] = [ - { - field: 'roleNme', - label: '角色名称', - component: 'Input', - colProps: { span: 8 }, - }, - { - field: 'status', - label: '状态', - component: 'Select', - componentProps: { - options: [ - { label: '启用', value: '0' }, - { label: '停用', value: '1' }, - ], - }, - colProps: { span: 8 }, - }, -]; - -export const formSchema: FormSchema[] = [ - { - field: 'roleName', - label: '角色名称', - required: true, - component: 'Input', - }, - { - field: 'roleValue', - label: '角色值', - required: true, - component: 'Input', - }, - { - field: 'status', - label: '状态', - component: 'RadioButtonGroup', - defaultValue: '0', - componentProps: { - options: [ - { label: '启用', value: '0' }, - { label: '停用', value: '1' }, - ], - }, - }, - { - label: '备注', - field: 'remark', - component: 'InputTextArea', - }, - { - label: ' ', - field: 'menu', - slot: 'menu', - component: 'Input', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/system/test/TestDrawer.vue b/jeecgboot-vue3/src/views/demo/system/test/TestDrawer.vue deleted file mode 100644 index 264692f6e..000000000 --- a/jeecgboot-vue3/src/views/demo/system/test/TestDrawer.vue +++ /dev/null @@ -1,59 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/test/index.vue b/jeecgboot-vue3/src/views/demo/system/test/index.vue deleted file mode 100644 index 57850e68a..000000000 --- a/jeecgboot-vue3/src/views/demo/system/test/index.vue +++ /dev/null @@ -1,97 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/system/test/test.data.ts b/jeecgboot-vue3/src/views/demo/system/test/test.data.ts deleted file mode 100644 index b8f90232a..000000000 --- a/jeecgboot-vue3/src/views/demo/system/test/test.data.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; - -export const columns: BasicColumn[] = [ - { - title: '名称', - dataIndex: 'testName', - width: 200, - }, - { - title: '值', - dataIndex: 'testValue', - width: 180, - }, - { - title: '创建时间', - dataIndex: 'createTime', - width: 180, - }, -]; - -export const searchFormSchema: FormSchema[] = [ - { - field: 'testName', - label: '名称', - component: 'Input', - colProps: { span: 8 }, - }, -]; - -export const formSchema: FormSchema[] = [ - { - field: 'testName', - label: '名称', - required: true, - component: 'Input', - }, - { - field: 'testValue', - label: '值', - required: true, - component: 'Input', - }, - - { - label: ' ', - field: 'menu', - slot: 'menu', - component: 'Input', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/table/AntdTableSummary.vue b/jeecgboot-vue3/src/views/demo/table/AntdTableSummary.vue deleted file mode 100644 index b980decc1..000000000 --- a/jeecgboot-vue3/src/views/demo/table/AntdTableSummary.vue +++ /dev/null @@ -1,122 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/AuthColumn.vue b/jeecgboot-vue3/src/views/demo/table/AuthColumn.vue deleted file mode 100644 index a6113246c..000000000 --- a/jeecgboot-vue3/src/views/demo/table/AuthColumn.vue +++ /dev/null @@ -1,127 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/Basic.vue b/jeecgboot-vue3/src/views/demo/table/Basic.vue deleted file mode 100644 index 4d8e88cd1..000000000 --- a/jeecgboot-vue3/src/views/demo/table/Basic.vue +++ /dev/null @@ -1,81 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/CustomerCell.vue b/jeecgboot-vue3/src/views/demo/table/CustomerCell.vue deleted file mode 100644 index f2a83b329..000000000 --- a/jeecgboot-vue3/src/views/demo/table/CustomerCell.vue +++ /dev/null @@ -1,104 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/EditCellTable.vue b/jeecgboot-vue3/src/views/demo/table/EditCellTable.vue deleted file mode 100644 index 10085617f..000000000 --- a/jeecgboot-vue3/src/views/demo/table/EditCellTable.vue +++ /dev/null @@ -1,219 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/EditRowTable.vue b/jeecgboot-vue3/src/views/demo/table/EditRowTable.vue deleted file mode 100644 index cb0dd2678..000000000 --- a/jeecgboot-vue3/src/views/demo/table/EditRowTable.vue +++ /dev/null @@ -1,253 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/EditableCellIdTest.vue b/jeecgboot-vue3/src/views/demo/table/EditableCellIdTest.vue deleted file mode 100644 index a6f399f3d..000000000 --- a/jeecgboot-vue3/src/views/demo/table/EditableCellIdTest.vue +++ /dev/null @@ -1,252 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/table/ExpandTable.vue b/jeecgboot-vue3/src/views/demo/table/ExpandTable.vue deleted file mode 100644 index 65fcd62f0..000000000 --- a/jeecgboot-vue3/src/views/demo/table/ExpandTable.vue +++ /dev/null @@ -1,74 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/FetchTable.vue b/jeecgboot-vue3/src/views/demo/table/FetchTable.vue deleted file mode 100644 index 8d9efa35b..000000000 --- a/jeecgboot-vue3/src/views/demo/table/FetchTable.vue +++ /dev/null @@ -1,43 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/FixedColumn.vue b/jeecgboot-vue3/src/views/demo/table/FixedColumn.vue deleted file mode 100644 index c02f5b8cb..000000000 --- a/jeecgboot-vue3/src/views/demo/table/FixedColumn.vue +++ /dev/null @@ -1,93 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/FixedHeight.vue b/jeecgboot-vue3/src/views/demo/table/FixedHeight.vue deleted file mode 100644 index 389da36e1..000000000 --- a/jeecgboot-vue3/src/views/demo/table/FixedHeight.vue +++ /dev/null @@ -1,41 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/FooterTable.vue b/jeecgboot-vue3/src/views/demo/table/FooterTable.vue deleted file mode 100644 index 585ebddfa..000000000 --- a/jeecgboot-vue3/src/views/demo/table/FooterTable.vue +++ /dev/null @@ -1,110 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/FormTable.vue b/jeecgboot-vue3/src/views/demo/table/FormTable.vue deleted file mode 100644 index f73c59b80..000000000 --- a/jeecgboot-vue3/src/views/demo/table/FormTable.vue +++ /dev/null @@ -1,63 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/MergeHeader.vue b/jeecgboot-vue3/src/views/demo/table/MergeHeader.vue deleted file mode 100644 index 2c3b612e9..000000000 --- a/jeecgboot-vue3/src/views/demo/table/MergeHeader.vue +++ /dev/null @@ -1,27 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/MultipleHeader.vue b/jeecgboot-vue3/src/views/demo/table/MultipleHeader.vue deleted file mode 100644 index fa0bf430c..000000000 --- a/jeecgboot-vue3/src/views/demo/table/MultipleHeader.vue +++ /dev/null @@ -1,26 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/NestedTable.vue b/jeecgboot-vue3/src/views/demo/table/NestedTable.vue deleted file mode 100644 index e242244e7..000000000 --- a/jeecgboot-vue3/src/views/demo/table/NestedTable.vue +++ /dev/null @@ -1,113 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/RefTable.vue b/jeecgboot-vue3/src/views/demo/table/RefTable.vue deleted file mode 100644 index f2a0c6dd5..000000000 --- a/jeecgboot-vue3/src/views/demo/table/RefTable.vue +++ /dev/null @@ -1,125 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/TreeTable.vue b/jeecgboot-vue3/src/views/demo/table/TreeTable.vue deleted file mode 100644 index 88afe6378..000000000 --- a/jeecgboot-vue3/src/views/demo/table/TreeTable.vue +++ /dev/null @@ -1,41 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/UseTable.vue b/jeecgboot-vue3/src/views/demo/table/UseTable.vue deleted file mode 100644 index 3c549979f..000000000 --- a/jeecgboot-vue3/src/views/demo/table/UseTable.vue +++ /dev/null @@ -1,147 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/table/tableData.tsx b/jeecgboot-vue3/src/views/demo/table/tableData.tsx deleted file mode 100644 index 5356c9200..000000000 --- a/jeecgboot-vue3/src/views/demo/table/tableData.tsx +++ /dev/null @@ -1,318 +0,0 @@ -import { FormProps, FormSchema } from '/@/components/Table'; -import { BasicColumn } from '/@/components/Table/src/types/table'; - -export function getBasicColumns(): BasicColumn[] { - return [ - { - title: 'ID', - dataIndex: 'id', - fixed: 'left', - width: 200, - }, - { - title: '姓名', - dataIndex: 'name', - width: 150, - filters: [ - { text: 'Male', value: 'male' }, - { text: 'Female', value: 'female' }, - ], - }, - { - title: '地址', - dataIndex: 'address', - width: 300, - }, - { - title: '编号', - dataIndex: 'no', - width: 150, - sorter: true, - defaultHidden: true, - }, - { - title: '开始时间', - width: 150, - sorter: true, - dataIndex: 'beginTime', - }, - { - title: '结束时间', - width: 150, - sorter: true, - dataIndex: 'endTime', - }, - ]; -} - -export function getBasicShortColumns(): BasicColumn[] { - return [ - { - title: 'ID', - width: 150, - dataIndex: 'id', - sorter: true, - sortOrder: 'ascend', - }, - { - title: '姓名', - dataIndex: 'name', - width: 120, - }, - { - title: '地址', - dataIndex: 'address', - }, - { - title: '编号', - dataIndex: 'no', - width: 80, - }, - ]; -} - -export function getMultipleHeaderColumns(): BasicColumn[] { - return [ - { - title: 'ID', - dataIndex: 'id', - width: 200, - }, - { - title: '姓名', - dataIndex: 'name', - width: 120, - }, - { - title: '地址', - dataIndex: 'address', - sorter: true, - children: [ - { - title: '编号', - dataIndex: 'no', - width: 120, - filters: [ - { text: 'Male', value: 'male', children: [] }, - { text: 'Female', value: 'female', children: [] }, - ], - }, - - { - title: '开始时间', - dataIndex: 'beginTime', - width: 120, - }, - { - title: '结束时间', - dataIndex: 'endTime', - width: 120, - }, - ], - }, - ]; -} - -export function getCustomHeaderColumns(): BasicColumn[] { - return [ - { - title: 'ID', - dataIndex: 'id', - width: 200, - }, - { - // title: '姓名', - dataIndex: 'name', - width: 120, - slots: { title: 'customTitle' }, - }, - { - // title: '地址', - dataIndex: 'address', - width: 120, - slots: { title: 'customAddress' }, - sorter: true, - }, - - { - title: '编号', - dataIndex: 'no', - width: 120, - filters: [ - { text: 'Male', value: 'male', children: [] }, - { text: 'Female', value: 'female', children: [] }, - ], - }, - { - title: '开始时间', - dataIndex: 'beginTime', - width: 120, - }, - { - title: '结束时间', - dataIndex: 'endTime', - width: 120, - }, - ]; -} -const renderContent = (filed) => { - return (record, rowIndex) => { - const obj: any = { - children: record[filed], - attrs: {}, - }; - if (rowIndex === 9) { - obj.attrs.colSpan = 0; - } - return obj; - }; -}; -export function getMergeHeaderColumns(): BasicColumn[] { - return [ - { - title: 'ID', - dataIndex: 'id', - width: 300, - customCell: renderContent('id'), - }, - { - title: '姓名', - dataIndex: 'name', - width: 300, - customCell: renderContent('name'), - }, - { - title: '地址', - dataIndex: 'address', - colSpan: 2, - width: 120, - sorter: true, - customCell: (record: any, rowIndex) => { - const obj: any = { - children: record['address'], - attrs: {}, - }; - if (rowIndex === 2) { - obj.attrs.rowSpan = 2; - } - if (rowIndex === 3) { - obj.attrs.colSpan = 0; - } - return obj; - }, - }, - { - title: '编号', - dataIndex: 'no', - colSpan: 0, - filters: [ - { text: 'Male', value: 'male', children: [] }, - { text: 'Female', value: 'female', children: [] }, - ], - customCell: renderContent('no'), - }, - { - title: '开始时间', - dataIndex: 'beginTime', - width: 200, - customCell: renderContent('beginTime'), - }, - { - title: '结束时间', - dataIndex: 'endTime', - width: 200, - customCell: renderContent('endTime'), - }, - ]; -} -export const getAdvanceSchema = (itemNumber = 6): FormSchema[] => { - const arr: any = []; - for (let index = 0; index < itemNumber; index++) { - arr.push({ - field: `field${index}`, - label: `字段${index}`, - component: 'Input', - colProps: { - xl: 12, - xxl: 8, - }, - }); - } - return arr; -}; -export function getFormConfig(): Partial { - return { - labelWidth: 100, - schemas: [ - ...getAdvanceSchema(5), - { - field: `field11`, - label: `Slot示例`, - component: 'Select', - slot: 'custom', - colProps: { - xl: 12, - xxl: 8, - }, - }, - ], - }; -} -export function getBasicData() { - const data: any = (() => { - const arr: any = []; - for (let index = 0; index < 40; index++) { - arr.push({ - id: `${index}`, - name: 'John Brown', - age: `1${index}`, - no: `${index + 10}`, - address: 'New York No. 1 Lake ParkNew York No. 1 Lake Park', - beginTime: new Date().toLocaleString(), - endTime: new Date().toLocaleString(), - }); - } - return arr; - })(); - return data; -} - -export function getTreeTableData() { - const data: any = (() => { - const arr: any = []; - for (let index = 0; index < 40; index++) { - arr.push({ - id: `${index}`, - name: 'John Brown', - age: `1${index}`, - no: `${index + 10}`, - address: 'New York No. 1 Lake ParkNew York No. 1 Lake Park', - beginTime: new Date().toLocaleString(), - endTime: new Date().toLocaleString(), - children: [ - { - id: `l2-${index}`, - name: 'John Brown', - age: `1${index}`, - no: `${index + 10}`, - address: 'New York No. 1 Lake ParkNew York No. 1 Lake Park', - beginTime: new Date().toLocaleString(), - endTime: new Date().toLocaleString(), - }, - { - id: `l3-${index}`, - name: 'John Mary', - age: `1${index}`, - no: `${index + 10}`, - address: 'New York No. 1 Lake ParkNew York No. 1 Lake Park', - beginTime: new Date().toLocaleString(), - endTime: new Date().toLocaleString(), - }, - ], - }); - } - return arr; - })(); - - return data; -} diff --git a/jeecgboot-vue3/src/views/demo/tree/ActionTree.vue b/jeecgboot-vue3/src/views/demo/tree/ActionTree.vue deleted file mode 100644 index 74538df51..000000000 --- a/jeecgboot-vue3/src/views/demo/tree/ActionTree.vue +++ /dev/null @@ -1,131 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/tree/EditTree.vue b/jeecgboot-vue3/src/views/demo/tree/EditTree.vue deleted file mode 100644 index 4af04a24a..000000000 --- a/jeecgboot-vue3/src/views/demo/tree/EditTree.vue +++ /dev/null @@ -1,83 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/tree/data.ts b/jeecgboot-vue3/src/views/demo/tree/data.ts deleted file mode 100644 index 8fb40bf8a..000000000 --- a/jeecgboot-vue3/src/views/demo/tree/data.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { TreeItem } from '/@/components/Tree/index'; - -export const treeData: TreeItem[] = [ - { - title: 'parent ', - key: '0-0', - children: [ - { title: 'leaf', key: '0-0-0' }, - { - title: 'leaf', - key: '0-0-1', - children: [ - { title: 'leaf', key: '0-0-0-0', children: [{ title: 'leaf', key: '0-0-0-0-1' }] }, - { title: 'leaf', key: '0-0-0-1' }, - ], - }, - ], - }, - { - title: 'parent 2', - key: '1-1', - children: [ - { title: 'leaf', key: '1-1-0' }, - { title: 'leaf', key: '1-1-1' }, - ], - }, - { - title: 'parent 3', - key: '2-2', - children: [ - { title: 'leaf', key: '2-2-0' }, - { title: 'leaf', key: '2-2-1' }, - ], - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/tree/index.vue b/jeecgboot-vue3/src/views/demo/tree/index.vue deleted file mode 100644 index 539e1f1b1..000000000 --- a/jeecgboot-vue3/src/views/demo/tree/index.vue +++ /dev/null @@ -1,128 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/OneToOneModal.vue b/jeecgboot-vue3/src/views/demo/vextable/OneToOneModal.vue deleted file mode 100644 index abb117ecc..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/OneToOneModal.vue +++ /dev/null @@ -1,184 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/VexTableModal.vue b/jeecgboot-vue3/src/views/demo/vextable/VexTableModal.vue deleted file mode 100644 index f15586b20..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/VexTableModal.vue +++ /dev/null @@ -1,190 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/api.ts b/jeecgboot-vue3/src/views/demo/vextable/api.ts deleted file mode 100644 index c8021ab8c..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/api.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; - -enum Api { - list = '/test/jeecgOrderMain/list', - delete = '/test/jeecgOrderMain/delete', - orderCustomerList = '/test/jeecgOrderMain/queryOrderCustomerListByMainId', - orderTicketList = '/test/jeecgOrderMain/queryOrderTicketListByMainId', -} - -/** - * 列表接口 - * @param params - */ -export const list = (params) => defHttp.get({ url: Api.list, params }); -/** - * 子表单信息 - * @param params - */ -export const orderTicketList = (params) => defHttp.get({ url: Api.orderTicketList, params }); -/** - * 子表单信息 - * @param params - */ -export const orderCustomerList = (params) => defHttp.get({ url: Api.orderCustomerList, params }); -/** - * 删除用户 - */ -export const deleteOne = (params, handleSuccess) => { - return defHttp.delete({ url: Api.delete, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; diff --git a/jeecgboot-vue3/src/views/demo/vextable/data.ts b/jeecgboot-vue3/src/views/demo/vextable/data.ts deleted file mode 100644 index cc9c39c9a..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/data.ts +++ /dev/null @@ -1,154 +0,0 @@ -import { BasicColumn, FormSchema } from '/@/components/Table'; -import { usePermission } from '/@/hooks/web/usePermission'; -import { JVxeColumn, JVxeTypes } from '/@/components/jeecg/JVxeTable/types'; -const { isDisabledAuth, hasPermission, initBpmFormData} = usePermission(); - -export const columns: BasicColumn[] = [ - { - title: '订单号', - dataIndex: 'orderCode', - width: 260, - }, - { - title: '订单类型', - dataIndex: 'ctype', - slots: { customRender: 'ctype' }, - }, - { - title: '订单日期', - dataIndex: 'orderDate', - width: 300, - }, - { - title: '订单金额', - width: 200, - dataIndex: 'orderMoney', - }, - { - title: '订单备注', - width: 200, - dataIndex: 'content', - }, - { - title: '流程状态', - width: 200, - dataIndex: 'bpmStatus', - customRender: ({ text }) => { - if (!text || text == '1') { - return '待提交'; - } else if (text == '2') { - return '处理中'; - } else if (text == '2') { - return '已完成'; - } else { - return text; - } - }, - }, -]; - -export function getBpmFormSchema(formData) { - //注入流程节点表单权限 - initBpmFormData(formData); - - const formSchema2: FormSchema[] = [ - { - label: '订单号', - field: 'orderCode', - component: 'Input', - show: ({ values }) => { - return hasPermission('order:orderCode'); - }, - }, - { - label: '订单类型', - field: 'ctype', - component: 'Select', - componentProps: { - options: [ - { label: '国内订单', value: '1', key: '1' }, - { label: '国际订单', value: '2', key: '2' }, - ], - }, - }, - { - label: '订单日期', - field: 'orderDate', - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD HH:mm:ss', - style: { - width: '100%', - }, - }, - }, - { - label: '订单金额', - field: 'orderMoney', - component: 'Input', - }, - { - label: '订单备注', - field: 'content', - component: 'Input', - }, - ]; - return formSchema2; -} - -export function getOrderCustomerFormSchema(formData) { - //注入流程节点表单权限 - initBpmFormData(formData); - - const formSchema2: FormSchema[] = [ - { - label: '客户名', - field: 'name', - component: 'Input', - dynamicDisabled: ({ values }) => { - return isDisabledAuth('order:name'); - }, - }, - { - label: '性别', - field: 'sex', - component: 'Select', - componentProps: { - options: [ - { label: '男', value: '1', key: '1' }, - { label: '女', value: '2', key: '2' }, - ], - }, - }, - { - label: '身份证号', - field: 'idcard', - component: 'Input', - }, - { - label: '手机号', - field: 'telphone', - component: 'Input', - }, - ]; - return formSchema2; -} - -export const jeecgOrderTicketColumns: JVxeColumn[] = [ - { - title: '航班号', - key: 'ticketCode', - width: 180, - type: JVxeTypes.input, - placeholder: '请输入${title}', - defaultValue: '', - }, - { - title: '航班时间', - key: 'tickectDate', - width: 180, - type: JVxeTypes.date, - placeholder: '请选择${title}', - defaultValue: '', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/vextable/drawer.vue b/jeecgboot-vue3/src/views/demo/vextable/drawer.vue deleted file mode 100644 index 7f94b04e1..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/drawer.vue +++ /dev/null @@ -1,38 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/form/JeecgOrderCustomerForm.vue b/jeecgboot-vue3/src/views/demo/vextable/form/JeecgOrderCustomerForm.vue deleted file mode 100644 index 3e456e5a9..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/form/JeecgOrderCustomerForm.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/form/JeecgOrderMainForm.vue b/jeecgboot-vue3/src/views/demo/vextable/form/JeecgOrderMainForm.vue deleted file mode 100644 index 4a8fcc10c..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/form/JeecgOrderMainForm.vue +++ /dev/null @@ -1,155 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/index.vue b/jeecgboot-vue3/src/views/demo/vextable/index.vue deleted file mode 100644 index a4fb4d96d..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/index.vue +++ /dev/null @@ -1,143 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/index2.vue b/jeecgboot-vue3/src/views/demo/vextable/index2.vue deleted file mode 100644 index 01a00add7..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/index2.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/jvxetable/JVxeTableModal.vue b/jeecgboot-vue3/src/views/demo/vextable/jvxetable/JVxeTableModal.vue deleted file mode 100644 index 36b140b5f..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/jvxetable/JVxeTableModal.vue +++ /dev/null @@ -1,202 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/demo/vextable/jvxetable/jvxetable.api.ts b/jeecgboot-vue3/src/views/demo/vextable/jvxetable/jvxetable.api.ts deleted file mode 100644 index b00fb600d..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/jvxetable/jvxetable.api.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -enum Api { - save = '/test/jeecgOrderMain/add', - edit = '/test/jeecgOrderMain/edit', - orderCustomerList = '/test/jeecgOrderMain/queryOrderCustomerListByMainId', - orderTicketList = '/test/jeecgOrderMain/queryOrderTicketListByMainId', -} -export const orderCustomerList = Api.orderCustomerList; -export const orderTicketList = Api.orderTicketList; -/** - * 保存或者更新 - * @param params - */ -export const saveOrUpdate = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; - return defHttp.post({ url: url, params }); -}; diff --git a/jeecgboot-vue3/src/views/demo/vextable/jvxetable/jvxetable.data.ts b/jeecgboot-vue3/src/views/demo/vextable/jvxetable/jvxetable.data.ts deleted file mode 100644 index 193fa3153..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/jvxetable/jvxetable.data.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { JVxeTypes, JVxeColumn } from '/@/components/jeecg/JVxeTable/types'; - -export const columns: JVxeColumn[] = [ - { - title: '客户名', - key: 'name', - width: 180, - type: JVxeTypes.input, - defaultValue: '', - placeholder: '请输入${title}', - validateRules: [{ required: true, message: '${title}不能为空' }], - }, - { - title: '性别', - key: 'sex', - width: 180, - type: JVxeTypes.select, - options: [ - // 下拉选项 - { title: '男', value: '1' }, - { title: '女', value: '2' }, - ], - defaultValue: '', - placeholder: '请选择${title}', - }, - { - title: '身份证号', - key: 'idcard', - width: 180, - type: JVxeTypes.input, - defaultValue: '', - placeholder: '请输入${title}', - validateRules: [ - { - pattern: '^\\d{6}(18|19|20)?\\d{2}(0[1-9]|1[012])(0[1-9]|[12]\\d|3[01])\\d{3}(\\d|[xX])$', - message: '${title}格式不正确', - }, - ], - }, - { - title: '手机号', - key: 'telphone', - width: 180, - type: JVxeTypes.input, - defaultValue: '', - placeholder: '请输入${title}', - validateRules: [ - { - pattern: '^1[3456789]\\d{9}$', - message: '${title}格式不正确', - }, - ], - }, -]; -export const columns1: JVxeColumn[] = [ - { - title: '航班号', - key: 'ticketCode', - width: 180, - type: JVxeTypes.input, - defaultValue: '', - placeholder: '请输入${title}', - validateRules: [{ required: true, message: '${title}不能为空' }], - }, - { - title: '航班时间', - key: 'tickectDate', - width: 180, - type: JVxeTypes.date, - placeholder: '请选择${title}', - defaultValue: '', - }, -]; diff --git a/jeecgboot-vue3/src/views/demo/vextable/modal.vue b/jeecgboot-vue3/src/views/demo/vextable/modal.vue deleted file mode 100644 index efd4ac73e..000000000 --- a/jeecgboot-vue3/src/views/demo/vextable/modal.vue +++ /dev/null @@ -1,268 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/report/chartdemo/chartdemo.data.ts b/jeecgboot-vue3/src/views/report/chartdemo/chartdemo.data.ts deleted file mode 100644 index 23d3db590..000000000 --- a/jeecgboot-vue3/src/views/report/chartdemo/chartdemo.data.ts +++ /dev/null @@ -1,52 +0,0 @@ -const colors = ['#4db6ac', '#ffb74d', '#64b5f6', '#e57373', '#9575cd', '#a1887f', '#90a4ae', '#4dd0e1', '#81c784', '#ff8a65']; -export const getData = (() => { - let dottedBase = +new Date(); - const barDataSource: any[] = []; - const barMultiData: any[] = []; - const barLineData: any[] = []; - const barLineColors: any[] = []; - - for (let i = 0; i < 20; i++) { - let obj = { name: '', value: 0 }; - const date = new Date((dottedBase += 1000 * 3600 * 24)); - obj.name = [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-'); - obj.value = Math.random() * 200; - barDataSource.push(obj); - } - - for (let j = 0; j < 2; j++) { - for (let i = 0; i < 20; i++) { - let obj = { name: '', value: 0, type: 2010 + j + '' }; - const date = new Date(dottedBase + 1000 * 3600 * 24 * i); - obj.name = [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-'); - obj.value = Math.random() * 200; - barMultiData.push(obj); - } - } - const pieData = [ - { value: 335, name: '客服电话' }, - { value: 310, name: '奥迪官网' }, - { value: 234, name: '媒体曝光' }, - { value: 135, name: '质检总局' }, - { value: 105, name: '其他' }, - ]; - const radarData = [ - { value: 75, name: '政治', type: '文综', max: 100 }, - { value: 65, name: '历史', type: '文综', max: 100 }, - { value: 55, name: '地理', type: '文综', max: 100 }, - { value: 74, name: '化学', type: '文综', max: 100 }, - { value: 38, name: '物理', type: '文综', max: 100 }, - { value: 88, name: '生物', type: '文综', max: 100 }, - ]; - for (let j = 0; j < 2; j++) { - for (let i = 0; i < 15; i++) { - let obj = { name: '', value: 0, type: 2010 + j + '', seriesType: j >= 1 ? 'line' : 'bar' }; - const date = new Date(dottedBase + 1000 * 3600 * 24 * i); - obj.name = [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-'); - obj.value = Math.random() * 200; - barLineData.push(obj); - } - barLineColors.push(colors[j]); - } - return { barDataSource, barMultiData, pieData, barLineData, barLineColors,radarData }; -})(); diff --git a/jeecgboot-vue3/src/views/report/chartdemo/index.vue b/jeecgboot-vue3/src/views/report/chartdemo/index.vue deleted file mode 100644 index df304ef98..000000000 --- a/jeecgboot-vue3/src/views/report/chartdemo/index.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/report/statisticst/index.vue b/jeecgboot-vue3/src/views/report/statisticst/index.vue deleted file mode 100644 index 673a5d6aa..000000000 --- a/jeecgboot-vue3/src/views/report/statisticst/index.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - diff --git a/jeecgboot-vue3/src/views/system/appVersion/SysAppVersion.vue b/jeecgboot-vue3/src/views/system/appVersion/SysAppVersion.vue deleted file mode 100644 index b9afc8e36..000000000 --- a/jeecgboot-vue3/src/views/system/appVersion/SysAppVersion.vue +++ /dev/null @@ -1,215 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3/src/views/system/appVersion/appVersion.api.ts b/jeecgboot-vue3/src/views/system/appVersion/appVersion.api.ts deleted file mode 100644 index 855ada6fc..000000000 --- a/jeecgboot-vue3/src/views/system/appVersion/appVersion.api.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; - -enum Api { - //查询app版本 - queryAppVersion = '/sys/version/app3version', - //保存app版本 - saveAppVersion = '/sys/version/saveVersion', -} -/** - * 查询APP版本 - * @param params - */ -export const queryAppVersion = (params) => defHttp.get({ url: Api.queryAppVersion, params }); -/** - * 保存APP版本 - * @param params - */ -export const saveAppVersion = (params) => { - return defHttp.post({ url: Api.saveAppVersion, params }); -}; diff --git a/jeecgboot-vue3/src/views/system/examples/demo/DemoModal.vue b/jeecgboot-vue3/src/views/system/examples/demo/DemoModal.vue deleted file mode 100644 index 53121c6d4..000000000 --- a/jeecgboot-vue3/src/views/system/examples/demo/DemoModal.vue +++ /dev/null @@ -1,69 +0,0 @@ - - diff --git a/jeecgboot-vue3/src/views/system/examples/demo/demo.api.ts b/jeecgboot-vue3/src/views/system/examples/demo/demo.api.ts deleted file mode 100644 index 1cde92bbe..000000000 --- a/jeecgboot-vue3/src/views/system/examples/demo/demo.api.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { Modal } from 'ant-design-vue'; - -enum Api { - list = '/test/jeecgDemo/list', - save = '/test/jeecgDemo/add', - edit = '/test/jeecgDemo/edit', - get = '/test/jeecgDemo/queryById', - delete = '/test/jeecgDemo/delete', - deleteBatch = '/test/jeecgDemo/deleteBatch', - exportXls = '/test/jeecgDemo/exportXls', - importExcel = '/test/jeecgDemo/importExcel', -} -/** - * 导出api - */ -export const getExportUrl = Api.exportXls; -/** - * 导入api - */ -export const getImportUrl = Api.importExcel; -/** - * 查询示例列表 - * @param params - */ -export const getDemoList = (params) => { - return defHttp.get({ url: Api.list, params }); -}; - -/** - * 保存或者更新示例 - * @param params - */ -export const saveOrUpdateDemo = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; - return defHttp.post({ url: url, params }); -}; - -/** - * 查询示例详情 - * @param params - */ -export const getDemoById = (params) => { - return defHttp.get({ url: Api.get, params }); -}; - -/** - * 删除示例 - * @param params - */ -export const deleteDemo = (params, handleSuccess) => { - return defHttp.delete({ url: Api.delete, data: params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; - -/** - * 批量删除示例 - * @param params - */ -export const batchDeleteDemo = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); - }, - }); -}; diff --git a/jeecgboot-vue3/src/views/system/examples/demo/demo.data.ts b/jeecgboot-vue3/src/views/system/examples/demo/demo.data.ts deleted file mode 100644 index d63f96d82..000000000 --- a/jeecgboot-vue3/src/views/system/examples/demo/demo.data.ts +++ /dev/null @@ -1,223 +0,0 @@ -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; -import { render } from '/@/utils/common/renderUtils'; - -export const columns: BasicColumn[] = [ - { - title: '姓名', - dataIndex: 'name', - width: 170, - align: 'left', - resizable: true, - sorter: { - multiple:1 - } - }, - { - title: '关键词', - dataIndex: 'keyWord', - width: 130, - resizable: true, - }, - { - title: '打卡时间', - dataIndex: 'punchTime', - width: 140, - resizable: true, - }, - { - title: '工资', - dataIndex: 'salaryMoney', - width: 140, - resizable: true, - sorter: { - multiple: 2 - } - }, - { - title: '奖金', - dataIndex: 'bonusMoney', - width: 140, - resizable: true, - }, - { - title: '性别', - dataIndex: 'sex', - sorter: { - multiple: 3 - }, - customRender: ({ record }) => { - return render.renderDict(record.sex, 'sex'); - // let v = record.sex ? (record.sex == '1' ? '男' : '女') : ''; - // return h('span', v); - }, - width: 120, - resizable: true, - }, - { - title: '生日', - dataIndex: 'birthday', - width: 120, - resizable: true, - }, - { - title: '邮箱', - dataIndex: 'email', - width: 120, - resizable: true, - }, - { - title: '个人简介', - dataIndex: 'content', - width: 120, - resizable: true, - }, -]; - -export const searchFormSchema: FormSchema[] = [ - { - field: 'name', - label: '姓名', - component: 'Input', - componentProps: { - trim: true, - }, - colProps: { span: 8 }, - }, - { - field: 'birthday', - label: '生日', - component: 'RangePicker', - componentProps: { - valueType: 'Date' - }, - colProps: { span: 8 }, - }, - { - field: 'age', - label: '年龄', - component: 'Input', - slot: 'age', - colProps: { span: 8 }, - }, - { - field: 'sex', - label: '性别', - colProps: { span: 8 }, - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - }, - }, -]; - -export const formSchema: FormSchema[] = [ - { - field: 'id', - label: 'id', - component: 'Input', - show: false, - }, - { - field: 'createBy', - label: 'createBy', - component: 'Input', - show: false, - }, - { - field: 'createTime', - label: 'createTime', - component: 'Input', - show: false, - }, - { - field: 'name', - label: '名字', - component: 'Input', - required: true, - componentProps: { - placeholder: '请输入名字', - }, - }, - { - field: 'keyWord', - label: '关键词', - component: 'Input', - componentProps: { - placeholder: '请输入关键词', - }, - }, - { - field: 'punchTime', - label: '打卡时间', - component: 'DatePicker', - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择打卡时间', - }, - }, - { - field: 'salaryMoney', - label: '工资', - component: 'Input', - componentProps: { - placeholder: '请输入工资', - }, - }, - { - field: 'sex', - label: '性别', - component: 'JDictSelectTag', - defaultValue: '1', - componentProps: { - type: 'radio', - dictCode: 'sex', - placeholder: '请选择性别', - }, - }, - { - field: 'age', - label: '年龄', - component: 'InputNumber', - defaultValue: 1, - componentProps: { - placeholder: '请输入年龄', - }, - }, - { - field: 'birthday', - label: '生日', - component: 'DatePicker', - defaultValue: '', - componentProps: { - valueFormat: 'YYYY-MM-DD', - placeholder: '请选择生日', - }, - }, - { - field: 'email', - label: '邮箱', - component: 'Input', - rules: [{ required: false, type: 'email', message: '邮箱格式不正确', trigger: 'blur' }], - componentProps: { - placeholder: '请输入邮箱', - }, - }, - { - field: 'content', - label: '个人简介 - To introduce myself', - component: 'InputTextArea', - labelLength: 4, - componentProps: { - placeholder: '请输入个人简介', - }, - }, - { - field: 'updateCount', - label: '乐观锁', - show: false, - component: 'Input', - }, -]; diff --git a/jeecgboot-vue3/src/views/system/examples/demo/index.vue b/jeecgboot-vue3/src/views/system/examples/demo/index.vue deleted file mode 100644 index 43367f5b2..000000000 --- a/jeecgboot-vue3/src/views/system/examples/demo/index.vue +++ /dev/null @@ -1,317 +0,0 @@ - - -