From df65a6e1c55dd1c5ea3e45d56a9958d81d85696c Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Sat, 23 Oct 2021 11:45:05 +0800 Subject: [PATCH 001/520] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=90=8D=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 242e41b03..b9999b6f7 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ - Get the project code ```bash -git clone https://github.com/jeecg/vue3-jeecg-admin.git +git clone https://github.com/jeecgboot/jeecg-boot-vue3.git ``` - Installation dependencies From c679943080b31eacda6a3791d69f5ed5f9a2eb06 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Sat, 23 Oct 2021 11:50:53 +0800 Subject: [PATCH 002/520] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=90=8D=E5=AD=97?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- README.zh-CN.md | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b9999b6f7..0e75e8746 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ git clone https://github.com/jeecgboot/jeecg-boot-vue3.git - Installation dependencies ```bash -cd vue3-jeecg-admin +cd jeecg-boot-vue3 yarn install diff --git a/README.zh-CN.md b/README.zh-CN.md index 88ad4e56a..0e75e8746 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,15 +1,20 @@ ## Install and use -- Get the project code 8.4 +- 技术文档 + + [http://vue3.jeecg.com](http://vue3.jeecg.com) + + +- Get the project code ```bash -git clone https://github.com/jeecg/vue3-jeecg-admin.git +git clone https://github.com/jeecgboot/jeecg-boot-vue3.git ``` - Installation dependencies ```bash -cd vue3-jeecg-admin +cd jeecg-boot-vue3 yarn install From eaeea5777c63de63a25653e2c3535cd05093d4d1 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Sat, 23 Oct 2021 12:04:33 +0800 Subject: [PATCH 003/520] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 2f5ceee8f..44d7bca6f 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { - "name": "vue3-jeecg-admin", - "version": "0.0.1", + "name": "jeecg-boot-vue3", + "version": "1.0", "author": { "name": "jeecg", "email": "jeecgos@163.com", - "url": "https://gitee.com/jeecg/vue3-jeecg-admin" + "url": "https://gitee.com/jeecg/jeecg-boot-vue3" }, "scripts": { "bootstrap": "yarn install", @@ -165,13 +165,13 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/jeecg/vue3-jeect-admin.git" + "url": "git+https://github.com/jeecgboot/jeecg-boot-vue3" }, "license": "MIT", "bugs": { - "url": "https://github.com/jeecg/vue3-jeecg-admin/issues" + "url": "https://github.com/jeecgboot/jeecg-boot-vue3/issues" }, - "homepage": "https://github.com/jeecg/vue3-jeecg-admin", + "homepage": "https://github.com/jeecgboot/jeecg-boot-vue3", "engines": { "node": "^12 || >=14" } From a84084b8e7a892ae3233d0b734c9ceb8724ef8d9 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 27 Oct 2021 13:38:32 +0800 Subject: [PATCH 004/520] =?UTF-8?q?=E6=8A=A5=E9=94=99=20=EF=BC=9Anpm=20ERR?= =?UTF-8?q?!=20Invalid=20version:=20"1.0"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 44d7bca6f..2545fab8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jeecg-boot-vue3", - "version": "1.0", + "version": "1.0.0", "author": { "name": "jeecg", "email": "jeecgos@163.com", From c520bcb097f973b6153e0e475cfcfce18c6443a8 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Fri, 29 Oct 2021 09:45:53 +0800 Subject: [PATCH 005/520] =?UTF-8?q?vue3=20=E5=9C=A8=E7=BA=BF=E6=BC=94?= =?UTF-8?q?=E7=A4=BA=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++++ README.zh-CN.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/README.md b/README.md index 0e75e8746..20fc4fc92 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,10 @@ [http://vue3.jeecg.com](http://vue3.jeecg.com) +- 在线演示(beta版本) + + [http://boot3.jeecg.com](http://boot3.jeecg.com) + - Get the project code diff --git a/README.zh-CN.md b/README.zh-CN.md index 0e75e8746..d85206b97 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -4,6 +4,10 @@ [http://vue3.jeecg.com](http://vue3.jeecg.com) +- 在线演示(beta版本) + + [http://boot3.jeecg.com](http://boot3.jeecg.com) + - Get the project code From 0f5f05789db956c0a46897a8586ae5356c28eef4 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Fri, 18 Feb 2022 15:35:46 +0800 Subject: [PATCH 006/520] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=BA=90=E7=A0=81?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 20fc4fc92..5de2f01ee 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,15 @@ ## Install and use +#### 项目源码 + +| | 后端源码 | vue2前端源码 | vue3前端源码 | +|--- |--- | --- | +| github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | +| 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://gitee.com/jeecg/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | + + +#### 技术资料 + - 技术文档 [http://vue3.jeecg.com](http://vue3.jeecg.com) From eacd0aeb59570f2f3d99efa191933e52d3e7fbf3 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Fri, 18 Feb 2022 15:37:54 +0800 Subject: [PATCH 007/520] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=BA=90=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++++++-- README.zh-CN.md | 21 ++++++++++++++++++++- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5de2f01ee..a76302359 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,13 @@ -## Install and use + +![JEECG](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/site/jeecgfengm.png "JeecgBoot低代码开发平台") + + + +JEECG BOOT 低代码开发平台(前端vue3版本) +=============== + +尚未正式发布: 1.0(发布日期:???) + #### 项目源码 @@ -8,7 +17,7 @@ | 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://gitee.com/jeecg/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | -#### 技术资料 +#### Install and use - 技术文档 diff --git a/README.zh-CN.md b/README.zh-CN.md index d85206b97..7939029ac 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,4 +1,23 @@ -## Install and use + +![JEECG](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/site/jeecgfengm.png "JeecgBoot低代码开发平台") + + + +JEECG BOOT 低代码开发平台(前端vue3版本) +=============== + +尚未正式发布: 1.0(发布日期:???) + + +#### 项目源码 + +| | 后端源码 | vue2前端源码 | vue3前端源码 | +|--- |--- | --- | +| github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | +| 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://gitee.com/jeecg/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | + + +#### Install and use - 技术文档 From d169d1bf81abb57ce7dfc93fc0d724296d3aff30 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Fri, 18 Feb 2022 15:39:04 +0800 Subject: [PATCH 008/520] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=BA=90=E7=A0=81?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- README.zh-CN.md | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a76302359..ac291fb66 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,9 @@ JEECG BOOT 低代码开发平台(前端vue3版本) #### 项目源码 + | | 后端源码 | vue2前端源码 | vue3前端源码 | -|--- |--- | --- | +|--- |--- | --- |--- | | github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | | 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://gitee.com/jeecg/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | diff --git a/README.zh-CN.md b/README.zh-CN.md index 7939029ac..7407c58e3 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -11,8 +11,9 @@ JEECG BOOT 低代码开发平台(前端vue3版本) #### 项目源码 + | | 后端源码 | vue2前端源码 | vue3前端源码 | -|--- |--- | --- | +|--- |--- | --- |--- | | github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | | 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://gitee.com/jeecg/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | From 0a64b67df2d643f9d209ecf3851b342de0597727 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 9 Mar 2022 15:11:53 +0800 Subject: [PATCH 009/520] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=BB=8B=E7=BB=8D?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 59 +++++++++++++++++++++++++++++++++++++++---------- README.zh-CN.md | 57 ++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 93 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index ac291fb66..d3ccd4720 100644 --- a/README.md +++ b/README.md @@ -3,31 +3,66 @@ -JEECG BOOT 低代码开发平台(前端vue3版本) +JEECG BOOT 低代码平台(Vue3前端版本) =============== 尚未正式发布: 1.0(发布日期:???) -#### 项目源码 +## 简介 +Jeecg-Boot-Vue3 是在 Vben-Admin 基础上研发的,适合于JeecgBoot的新版前端VUE3框架。 + 采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 +>[danger] 全新的VUE3技术栈,不只是追赶技术潮流,用了之后才能体会到Vue3的好处,的确比2更加适合大型项目。 -| | 后端源码 | vue2前端源码 | vue3前端源码 | +##### 源码下载: + +| | 后端源码 | vue3前端源码 | |--- |--- | --- |--- | -| github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | -| 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://gitee.com/jeecg/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | +| github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | +| 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | +##### 相关文档: -#### Install and use +* 在线演示:http://boot3.jeecg.com +* JeecgBoot-Vue3文档:[http://vue3.jeecg.com) +* Vben文档:[https://vvbin.cn/doc-next](https://vvbin.cn/doc-next/) +* Antd-vue文档: [Ant-Design-Vue文档](https://2x.antdv.com/docs/vue/getting-started-cn) -- 技术文档 +## 入门必备 + +本项目需要一定前端基础知识,请确保掌握 Vue 的基础知识,以便能处理一些常见的问题。 建议在开发前先学一下以下内容,提前了解和学习这些知识,会对项目理解非常有帮助: + +* [Vue3 文档](https://v3.vuejs.org/) +* [TypeScript](https://www.typescriptlang.org/) +* [Vue-router](https://next.router.vuejs.org/) +* [Ant-Design-Vue](https://2x.antdv.com/docs/vue/introduce-cn/) +* [Es6](https://es6.ruanyifeng.com/) +* [Vitejs](https://vitejs.dev/) +* [Pinia(vuex替代方案)](https://pinia.esm.dev/introduction.html) +* [Vue-RFCS](https://github.com/vuejs/rfcs) +* [Vue2 迁移到 3](https://v3.vuejs.org/guide/migration/introduction.html) +* [~~WindiCss~~](https://windicss.netlify.app/) + + +## 浏览器支持 + +**本地开发**推荐使用`Chrome 最新版`浏览器,**不支持**`Chrome 80`以下版本。 + +**生产环境**支持现代浏览器,不支持 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 | + + + + + + +#### Install and use - [http://vue3.jeecg.com](http://vue3.jeecg.com) - -- 在线演示(beta版本) - [http://boot3.jeecg.com](http://boot3.jeecg.com) - - Get the project code diff --git a/README.zh-CN.md b/README.zh-CN.md index 7407c58e3..d3ccd4720 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -3,30 +3,65 @@ -JEECG BOOT 低代码开发平台(前端vue3版本) +JEECG BOOT 低代码平台(Vue3前端版本) =============== 尚未正式发布: 1.0(发布日期:???) -#### 项目源码 +## 简介 +Jeecg-Boot-Vue3 是在 Vben-Admin 基础上研发的,适合于JeecgBoot的新版前端VUE3框架。 + 采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 +>[danger] 全新的VUE3技术栈,不只是追赶技术潮流,用了之后才能体会到Vue3的好处,的确比2更加适合大型项目。 -| | 后端源码 | vue2前端源码 | vue3前端源码 | +##### 源码下载: + +| | 后端源码 | vue3前端源码 | |--- |--- | --- |--- | -| github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | -| 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://gitee.com/jeecg/jeecg-boot/tree/master/ant-design-vue-jeecg | https://github.com/jeecgboot/jeecg-boot-vue3 | +| github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | +| 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | +##### 相关文档: -#### Install and use +* 在线演示:http://boot3.jeecg.com +* JeecgBoot-Vue3文档:[http://vue3.jeecg.com) +* Vben文档:[https://vvbin.cn/doc-next](https://vvbin.cn/doc-next/) +* Antd-vue文档: [Ant-Design-Vue文档](https://2x.antdv.com/docs/vue/getting-started-cn) -- 技术文档 +## 入门必备 - [http://vue3.jeecg.com](http://vue3.jeecg.com) - -- 在线演示(beta版本) +本项目需要一定前端基础知识,请确保掌握 Vue 的基础知识,以便能处理一些常见的问题。 建议在开发前先学一下以下内容,提前了解和学习这些知识,会对项目理解非常有帮助: + +* [Vue3 文档](https://v3.vuejs.org/) +* [TypeScript](https://www.typescriptlang.org/) +* [Vue-router](https://next.router.vuejs.org/) +* [Ant-Design-Vue](https://2x.antdv.com/docs/vue/introduce-cn/) +* [Es6](https://es6.ruanyifeng.com/) +* [Vitejs](https://vitejs.dev/) +* [Pinia(vuex替代方案)](https://pinia.esm.dev/introduction.html) +* [Vue-RFCS](https://github.com/vuejs/rfcs) +* [Vue2 迁移到 3](https://v3.vuejs.org/guide/migration/introduction.html) +* [~~WindiCss~~](https://windicss.netlify.app/) + + +## 浏览器支持 + +**本地开发**推荐使用`Chrome 最新版`浏览器,**不支持**`Chrome 80`以下版本。 + +**生产环境**支持现代浏览器,不支持 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 | + + + + + + +#### Install and use - [http://boot3.jeecg.com](http://boot3.jeecg.com) - Get the project code From 7f93b5bfe486aa6e675d64766dc658ec28b914df Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 9 Mar 2022 15:18:15 +0800 Subject: [PATCH 010/520] 1 --- README.md | 13 ++++--- README.zh-CN.md | 92 ------------------------------------------------- 2 files changed, 8 insertions(+), 97 deletions(-) delete mode 100644 README.zh-CN.md diff --git a/README.md b/README.md index d3ccd4720..e42cb1b49 100644 --- a/README.md +++ b/README.md @@ -10,18 +10,21 @@ JEECG BOOT 低代码平台(Vue3前端版本) ## 简介 -Jeecg-Boot-Vue3 是在 Vben-Admin 基础上研发的,适合于JeecgBoot的新版前端VUE3框架。 - 采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 ->[danger] 全新的VUE3技术栈,不只是追赶技术潮流,用了之后才能体会到Vue3的好处,的确比2更加适合大型项目。 +Jeecg-Boot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 +是在 Vben-Admin 基础上研发的,适合于JeecgBoot的新版前端VUE3框架。 + +> 全新的VUE3技术栈,不只是追赶技术潮流,用了之后才能体会到Vue3的好处,的确比2更加适合大型项目。 ##### 源码下载: + | | 后端源码 | vue3前端源码 | -|--- |--- | --- |--- | +|--- |--- | --- | | github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | | 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | + ##### 相关文档: * 在线演示:http://boot3.jeecg.com @@ -60,7 +63,7 @@ Jeecg-Boot-Vue3 是在 Vben-Admin 基础上研发的,适合于JeecgBoot的新 -#### Install and use +## Install and use diff --git a/README.zh-CN.md b/README.zh-CN.md deleted file mode 100644 index d3ccd4720..000000000 --- a/README.zh-CN.md +++ /dev/null @@ -1,92 +0,0 @@ - -![JEECG](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/site/jeecgfengm.png "JeecgBoot低代码开发平台") - - - -JEECG BOOT 低代码平台(Vue3前端版本) -=============== - -尚未正式发布: 1.0(发布日期:???) - - -## 简介 -Jeecg-Boot-Vue3 是在 Vben-Admin 基础上研发的,适合于JeecgBoot的新版前端VUE3框架。 - 采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 ->[danger] 全新的VUE3技术栈,不只是追赶技术潮流,用了之后才能体会到Vue3的好处,的确比2更加适合大型项目。 - - -##### 源码下载: - -| | 后端源码 | vue3前端源码 | -|--- |--- | --- |--- | -| github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | -| 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | - -##### 相关文档: - -* 在线演示:http://boot3.jeecg.com -* JeecgBoot-Vue3文档:[http://vue3.jeecg.com) -* Vben文档:[https://vvbin.cn/doc-next](https://vvbin.cn/doc-next/) -* Antd-vue文档: [Ant-Design-Vue文档](https://2x.antdv.com/docs/vue/getting-started-cn) - -## 入门必备 - -本项目需要一定前端基础知识,请确保掌握 Vue 的基础知识,以便能处理一些常见的问题。 建议在开发前先学一下以下内容,提前了解和学习这些知识,会对项目理解非常有帮助: - -* [Vue3 文档](https://v3.vuejs.org/) -* [TypeScript](https://www.typescriptlang.org/) -* [Vue-router](https://next.router.vuejs.org/) -* [Ant-Design-Vue](https://2x.antdv.com/docs/vue/introduce-cn/) -* [Es6](https://es6.ruanyifeng.com/) -* [Vitejs](https://vitejs.dev/) -* [Pinia(vuex替代方案)](https://pinia.esm.dev/introduction.html) -* [Vue-RFCS](https://github.com/vuejs/rfcs) -* [Vue2 迁移到 3](https://v3.vuejs.org/guide/migration/introduction.html) -* [~~WindiCss~~](https://windicss.netlify.app/) - - -## 浏览器支持 - -**本地开发**推荐使用`Chrome 最新版`浏览器,**不支持**`Chrome 80`以下版本。 - -**生产环境**支持现代浏览器,不支持 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 | - - - - - - -#### Install and use - - - -- Get the project code - -```bash -git clone https://github.com/jeecgboot/jeecg-boot-vue3.git -``` - -- Installation dependencies - -```bash -cd jeecg-boot-vue3 - -yarn install - -``` - -- run - -```bash -yarn serve -``` - -- build - -```bash -yarn build -``` From 6dd79203b340b8770d28bb8bb063104088199782 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 9 Mar 2022 15:19:12 +0800 Subject: [PATCH 011/520] 1 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e42cb1b49..37eb9db6d 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ Jeecg-Boot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术 | | 后端源码 | vue3前端源码 | |--- |--- | --- | -| github | https://github.com/jeecgboot/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | -| 码云 | https://gitee.com/jeecg/jeecg-boot/tree/master/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | +| github | https://github.com/jeecgboot/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | +| 码云 | https://gitee.com/jeecg/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | ##### 相关文档: From b897c692f89151b4c466889da6017cabbe09a2a2 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 9 Mar 2022 15:20:03 +0800 Subject: [PATCH 012/520] 1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37eb9db6d..dc41d7f72 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Jeecg-Boot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术 | | 后端源码 | vue3前端源码 | |--- |--- | --- | | github | https://github.com/jeecgboot/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | -| 码云 | https://gitee.com/jeecg/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | +| 码云 | https://gitee.com/jeecg/jeecg-boot | https://gitee.com/jeecg/jeecg-boot-vue3 | ##### 相关文档: From cf5ef2d6dfc2153a77b6de08c477d480d64272b0 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 9 Mar 2022 15:23:12 +0800 Subject: [PATCH 013/520] 1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dc41d7f72..5dc8857f0 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Jeecg-Boot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术 ##### 相关文档: * 在线演示:http://boot3.jeecg.com -* JeecgBoot-Vue3文档:[http://vue3.jeecg.com) +* JeecgBoot-Vue3文档:http://vue3.jeecg.com * Vben文档:[https://vvbin.cn/doc-next](https://vvbin.cn/doc-next/) * Antd-vue文档: [Ant-Design-Vue文档](https://2x.antdv.com/docs/vue/getting-started-cn) From ec2fdbf2f878eadda4a7f94425a631fd031382a3 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 9 Mar 2022 15:36:59 +0800 Subject: [PATCH 014/520] 1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5dc8857f0..544bc138c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ JEECG BOOT 低代码平台(Vue3前端版本) =============== -尚未正式发布: 1.0(发布日期:???) +当前最新版本:1.0.0-beta(发布日期:未正式发布) ## 简介 From 8fc58eee4c739eb6de8e1ab9e3ba475a1b71b9d5 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 9 Mar 2022 20:38:44 +0800 Subject: [PATCH 015/520] 1 --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 544bc138c..a52917f21 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - ![JEECG](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/site/jeecgfengm.png "JeecgBoot低代码开发平台") @@ -6,11 +5,11 @@ JEECG BOOT 低代码平台(Vue3前端版本) =============== -当前最新版本:1.0.0-beta(发布日期:未正式发布) +当前最新版本: 1.0.0-beta(发布日期:未正式发布) ## 简介 -Jeecg-Boot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 +JeecgBoot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。 是在 Vben-Admin 基础上研发的,适合于JeecgBoot的新版前端VUE3框架。 > 全新的VUE3技术栈,不只是追赶技术潮流,用了之后才能体会到Vue3的好处,的确比2更加适合大型项目。 @@ -21,8 +20,8 @@ Jeecg-Boot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术 | | 后端源码 | vue3前端源码 | |--- |--- | --- | -| github | https://github.com/jeecgboot/jeecg-boot | https://github.com/jeecgboot/jeecg-boot-vue3 | -| 码云 | https://gitee.com/jeecg/jeecg-boot | https://gitee.com/jeecg/jeecg-boot-vue3 | +| github | https://github.com/jeecgboot/jeecg-boot | https://github.com/jeecgboot/jeecgboot-vue3 | +| 码云 | https://gitee.com/jeecg/jeecg-boot | https://gitee.com/jeecg/jeecgboot-vue3 | ##### 相关文档: @@ -70,13 +69,13 @@ Jeecg-Boot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术 - Get the project code ```bash -git clone https://github.com/jeecgboot/jeecg-boot-vue3.git +git clone https://github.com/jeecgboot/jeecgboot-vue3.git ``` - Installation dependencies ```bash -cd jeecg-boot-vue3 +cd jeecgboot-vue3 yarn install From a2d39b43633b22a77aa497b3ec81ed7a8738fc87 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Thu, 10 Mar 2022 09:47:29 +0800 Subject: [PATCH 016/520] =?UTF-8?q?jeecgboot-vue=201.0.0=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 22 +- .env.development | 18 +- .env.production | 15 +- .env.test | 33 +- README.md | 2 +- build/config/themeConfig.ts | 2 +- build/script/buildConf.ts | 19 +- build/utils.ts | 14 +- build/vite/plugin/index.ts | 6 +- build/vite/plugin/styleImport.ts | 47 +- build/vite/plugin/theme.ts | 2 +- build/vite/proxy.ts | 2 +- ...56\346\224\271\346\227\245\345\277\227.md" | 137 - "doc/\345\215\207\347\272\247sql" | 5 - index.html | 8 +- mock/_util.ts | 3 + mock/demo/account.ts | 16 +- mock/demo/select-demo.ts | 12 +- mock/demo/system.ts | 186 +- mock/demo/table-demo.ts | 6 +- mock/demo/tree-demo.ts | 4 +- mock/sys/menu.ts | 6 +- mock/sys/user.ts | 24 +- package.json | 133 +- prettier.config.js | 1 - public/logo.png | Bin 0 -> 7519 bytes public/resource/img/logo.png | Bin 4042 -> 7519 bytes .../tinymce/skins/ui/jeecg/content.css | 711 ++ .../tinymce/skins/ui/jeecg/content.inline.css | 705 ++ .../skins/ui/jeecg/content.inline.min.css | 7 + .../tinymce/skins/ui/jeecg/content.min.css | 7 + .../tinymce/skins/ui/jeecg/content.mobile.css | 29 + .../skins/ui/jeecg/content.mobile.min.css | 7 + .../skins/ui/jeecg/fonts/tinymce-mobile.woff | Bin 0 -> 4624 bytes .../resource/tinymce/skins/ui/jeecg/skin.css | 3045 +++++ .../tinymce/skins/ui/jeecg/skin.min.css | 7 + .../tinymce/skins/ui/jeecg/skin.mobile.css | 677 ++ .../skins/ui/jeecg/skin.mobile.min.css | 7 + src/api/common/api.ts | 98 + src/api/demo/account.ts | 7 +- src/api/demo/select.ts | 2 +- src/api/demo/system.ts | 48 +- src/api/demo/table.ts | 2 +- src/api/demo/tree.ts | 2 +- src/api/sys/menu.ts | 4 +- src/api/sys/model/userModel.ts | 11 +- src/api/sys/upload.ts | 15 + src/api/sys/user.ts | 73 +- src/assets/images/cms_bpm.png | Bin 0 -> 12382 bytes src/assets/images/cms_oa.png | Bin 0 -> 11340 bytes src/assets/images/daiban.png | Bin 0 -> 3632 bytes src/assets/images/duban.png | Bin 0 -> 4933 bytes src/assets/images/guaz.png | Bin 0 -> 7491 bytes src/assets/images/logo.png | Bin 28304 -> 7519 bytes src/assets/images/nodata.png | Bin 0 -> 101556 bytes src/assets/images/pdf4.jpg | Bin 0 -> 50960 bytes src/assets/images/zaiban.png | Bin 0 -> 10332 bytes src/components/Application/src/AppLogo.vue | 1 + src/components/Button/index.ts | 2 + src/components/Button/src/BasicButton.vue | 1 - src/components/Button/src/UploadButton.vue | 41 + src/components/Button/src/props.ts | 2 + src/components/CardList/index.ts | 4 + src/components/CardList/src/CardList.vue | 178 + src/components/CardList/src/data.ts | 25 + src/components/CodeEditor/src/typing.ts | 5 + src/components/Cropper/src/CopperModal.vue | 2 +- src/components/Cropper/src/CropperAvatar.vue | 4 +- src/components/Dropdown/src/Dropdown.vue | 131 +- src/components/Excel/src/ImportExcel.vue | 47 +- src/components/FlowChart/index.ts | 4 - src/components/FlowChart/src/FlowChart.vue | 158 - .../FlowChart/src/FlowChartToolbar.vue | 162 - .../FlowChart/src/adpterForTurbo.ts | 75 - src/components/FlowChart/src/config.ts | 96 - src/components/FlowChart/src/enum.ts | 11 - src/components/FlowChart/src/types.ts | 14 - .../FlowChart/src/useFlowContext.ts | 17 - src/components/Form/index.ts | 23 +- src/components/Form/src/BasicForm.vue | 28 +- src/components/Form/src/componentMap.ts | 62 +- .../Form/src/components/ApiRadioGroup.vue | 130 + .../Form/src/components/ApiSelect.vue | 21 +- .../Form/src/components/ApiTreeSelect.vue | 2 +- .../Form/src/components/FormAction.vue | 14 +- .../Form/src/components/FormItem.vue | 112 +- src/components/Form/src/hooks/useAdvanced.ts | 32 +- src/components/Form/src/hooks/useForm.ts | 211 +- .../Form/src/hooks/useFormEvents.ts | 13 +- .../Form/src/hooks/useFormValues.ts | 27 +- .../Form/src/hooks/useLabelWidth.ts | 8 +- .../Form/src/jeecg/components/JAddInput.vue | 119 + .../{ => jeecg}/components/JAreaLinkage.vue | 2 +- .../Form/src/jeecg/components/JAreaSelect.vue | 153 + .../src/jeecg/components/JCategorySelect.vue | 256 + .../Form/src/jeecg/components/JCheckbox.vue | 78 + .../Form/src/jeecg/components/JCodeEditor.vue | 246 + .../src/jeecg/components/JDictSelectTag.vue | 107 + .../components/JEasyCron/EasyCronInner.vue | 305 + .../components/JEasyCron/EasyCronInput.vue | 63 + .../components/JEasyCron/EasyCronModal.vue | 28 + .../src/jeecg/components/JEasyCron/LICENSE | 21 + .../components/JEasyCron/easy.cron.data.ts | 10 + .../components/JEasyCron/easy.cron.inner.less | 54 + .../components/JEasyCron/easy.cron.input.less | 14 + .../src/jeecg/components/JEasyCron/index.ts | 6 + .../jeecg/components/JEasyCron/tabs/DayUI.vue | 90 + .../components/JEasyCron/tabs/HourUI.vue | 59 + .../components/JEasyCron/tabs/MinuteUI.vue | 59 + .../components/JEasyCron/tabs/MonthUI.vue | 59 + .../components/JEasyCron/tabs/SecondUI.vue | 59 + .../components/JEasyCron/tabs/WeekUI.vue | 122 + .../components/JEasyCron/tabs/YearUI.vue | 49 + .../components/JEasyCron/tabs/useTabMixin.ts | 194 + .../jeecg/components/JEasyCron/validator.ts | 48 + .../Form/src/jeecg/components/JEditor.vue | 40 + .../Form/src/jeecg/components/JEllipsis.vue | 20 + .../src/jeecg/components/JImageUpload.vue | 256 + .../src/jeecg/components/JImportModal.vue | 179 + .../Form/src/jeecg/components/JInput.vue | 107 + .../Form/src/jeecg/components/JInputPop.vue | 121 + .../src/jeecg/components/JMarkdownEditor.vue | 54 + .../Form/src/jeecg/components/JPopup.vue | 140 + .../src/jeecg/components/JSearchSelect.vue | 256 + .../Form/src/jeecg/components/JSelectDept.vue | 139 + .../src/jeecg/components/JSelectInput.vue | 79 + .../src/jeecg/components/JSelectMultiple.vue | 131 + .../src/jeecg/components/JSelectPosition.vue | 148 + .../Form/src/jeecg/components/JSelectRole.vue | 147 + .../Form/src/jeecg/components/JSelectUser.vue | 153 + .../jeecg/components/JSelectUserByDept.vue | 150 + .../Form/src/jeecg/components/JSwitch.vue | 86 + .../Form/src/jeecg/components/JTreeDict.vue | 134 + .../Form/src/jeecg/components/JTreeSelect.vue | 245 + .../src/jeecg/components/JUpload/JUpload.vue | 407 + .../jeecg/components/JUpload/JUploadModal.vue | 51 + .../JUpload/components/UploadItemActions.vue | 91 + .../src/jeecg/components/JUpload/index.ts | 3 + .../jeecg/components/JUpload/upload.data.ts | 5 + .../src/jeecg/components/base/JSelectBiz.vue | 96 + .../src/jeecg/components/base/JTreeBiz.vue | 83 + .../components/modal/DeptSelectModal.vue | 89 + .../components/modal/PositionSelectModal.vue | 142 + .../components/modal/RoleSelectModal.vue | 103 + .../components/modal/UserSelectByDepModal.vue | 200 + .../components/modal/UserSelectModal.vue | 159 + .../Form/src/jeecg/hooks/useSelectBiz.ts | 128 + .../Form/src/jeecg/hooks/useTreeBiz.ts | 221 + src/components/Form/src/jeecg/props/props.ts | 79 + src/components/Form/src/props.ts | 21 +- src/components/Form/src/types/form.ts | 13 +- src/components/Form/src/types/index.ts | 225 +- src/components/Form/src/utils/GroupRequest.ts | 29 + src/components/Form/src/utils/areaDataUtil.js | 68 +- src/components/Form/src/utils/formUtils.ts | 61 + src/components/Icon/src/IconPicker.vue | 158 +- src/components/JVxeCustom/index.ts | 27 + .../src/components/JVxeDepartSelectCell.vue | 202 + .../src/components/JVxeFileCell.vue | 81 + .../src/components/JVxeImageCell.vue | 128 + .../src/components/JVxePopupCell.vue | 73 + .../components/JVxeSelectDictSearchCell.ts | 275 + .../src/components/JVxeUserSelectCell.vue | 76 + .../JVxeCustom/src/hooks/useFileCell.ts | 91 + src/components/Loading/src/Loading.vue | 16 +- src/components/Markdown/index.ts | 2 + src/components/Markdown/src/Markdown.vue | 9 +- .../Markdown/src/MarkdownViewer.vue | 22 + src/components/Menu/src/BasicMenu.vue | 4 +- .../Menu/src/components/BasicMenuItem.vue | 18 +- src/components/Modal/src/BasicModal.vue | 7 +- src/components/Modal/src/components/Modal.tsx | 8 +- .../Modal/src/components/ModalClose.vue | 2 +- .../Modal/src/components/ModalHeader.vue | 1 + src/components/Modal/src/hooks/useModal.ts | 17 +- src/components/Modal/src/index.less | 3 +- src/components/Page/src/PageWrapper.vue | 9 +- src/components/Table/src/BasicTable.vue | 66 +- .../Table/src/components/TableAction.vue | 19 +- .../Table/src/components/TableHeader.vue | 112 +- .../src/components/editable/EditableCell.vue | 14 +- .../Table/src/components/editable/index.ts | 95 +- .../src/components/settings/ColumnSetting.vue | 32 +- .../components/settings/FullScreenSetting.vue | 18 +- .../src/components/settings/RedoSetting.vue | 20 +- .../src/components/settings/SizeSetting.vue | 18 +- .../Table/src/components/settings/index.vue | 11 +- src/components/Table/src/const.ts | 4 +- src/components/Table/src/hooks/useColumns.ts | 13 +- .../Table/src/hooks/useCustomRow.ts | 8 + .../Table/src/hooks/useDataSource.ts | 59 +- .../Table/src/hooks/usePagination.tsx | 132 +- src/components/Table/src/hooks/useTable.ts | 8 +- .../Table/src/hooks/useTableHeader.ts | 103 +- .../Table/src/hooks/useTableScroll.ts | 3 +- .../Table/src/hooks/useTableStyle.ts | 9 +- src/components/Table/src/props.ts | 17 +- src/components/Table/src/types/table.ts | 25 +- src/components/Table/src/types/tableAction.ts | 1 + src/components/Tinymce/src/Editor.vue | 43 +- src/components/Tinymce/src/tinymce.ts | 18 +- src/components/Tree/src/Tree.vue | 47 +- src/components/Tree/src/TreeHeader.vue | 311 +- src/components/Tree/src/props.ts | 27 +- src/components/Upload/src/UploadModal.vue | 6 +- src/components/Upload/src/props.ts | 8 + src/components/Upload/src/useUpload.ts | 8 +- src/components/chart/Bar.vue | 77 + src/components/chart/BarAndLine.vue | 84 + src/components/chart/BarMulti.vue | 98 + src/components/chart/ChartCard.vue | 108 + src/components/chart/Gauge.vue | 100 + src/components/chart/HeadInfo.vue | 75 + src/components/chart/Line.vue | 79 + src/components/chart/LineMulti.vue | 98 + src/components/chart/Pie.vue | 73 + src/components/chart/README.md | 285 + src/components/chart/Radar.vue | 92 + src/components/chart/RankList.vue | 81 + src/components/chart/StackBar.vue | 91 + src/components/chart/Trend.vue | 87 + src/components/jeecg/AIcon.vue | 34 + src/components/jeecg/ExcelButton.vue | 87 + src/components/jeecg/JVxeTable/hooks.ts | 2 + src/components/jeecg/JVxeTable/index.ts | 4 + .../jeecg/JVxeTable/src/JVxeTable.ts | 60 + .../jeecg/JVxeTable/src/componentMap.ts | 87 + .../src/components/JVxeDetailsModal.vue | 83 + .../src/components/JVxeReloadEffect.ts | 77 + .../src/components/JVxeSubPopover.vue | 198 + .../JVxeTable/src/components/JVxeToolbar.vue | 128 + .../src/components/cells/JVxeCheckboxCell.vue | 125 + .../src/components/cells/JVxeDateCell.vue | 73 + .../src/components/cells/JVxeDragSortCell.vue | 92 + .../src/components/cells/JVxeInputCell.vue | 83 + .../src/components/cells/JVxeNormalCell.vue | 55 + .../src/components/cells/JVxeProgressCell.vue | 57 + .../src/components/cells/JVxeRadioCell.vue | 75 + .../src/components/cells/JVxeSelectCell.vue | 233 + .../src/components/cells/JVxeSlotCell.ts | 41 + .../src/components/cells/JVxeTextareaCell.vue | 48 + .../src/components/cells/JVxeTimeCell.vue | 71 + .../src/components/cells/JVxeUploadCell.vue | 76 + .../src/hooks/cells/useJVxeUploadCell.ts | 133 + .../jeecg/JVxeTable/src/hooks/useColumns.ts | 355 + .../jeecg/JVxeTable/src/hooks/useData.ts | 71 + .../JVxeTable/src/hooks/useDataSource.ts | 32 + .../jeecg/JVxeTable/src/hooks/useDragSort.ts | 64 + .../JVxeTable/src/hooks/useFinallyProps.ts | 72 + .../JVxeTable/src/hooks/useJVxeComponent.ts | 226 + .../jeecg/JVxeTable/src/hooks/useLinkage.ts | 141 + .../jeecg/JVxeTable/src/hooks/useMethods.ts | 764 ++ .../JVxeTable/src/hooks/usePagination.ts | 63 + .../src/hooks/useRenderComponents.ts | 54 + .../jeecg/JVxeTable/src/hooks/useToolbar.ts | 51 + .../JVxeTable/src/hooks/useValidateRules.ts | 93 + .../jeecg/JVxeTable/src/hooks/useWebSocket.ts | 227 + src/components/jeecg/JVxeTable/src/install.ts | 63 + .../jeecg/JVxeTable/src/style/index.less | 78 + .../JVxeTable/src/style/reload-effect.less | 46 + .../jeecg/JVxeTable/src/style/vxe.const.less | 2 + .../jeecg/JVxeTable/src/style/vxe.dark.less | 112 + .../JVxeTable/src/types/JVxeComponent.ts | 88 + .../jeecg/JVxeTable/src/types/JVxeTypes.ts | 58 + .../jeecg/JVxeTable/src/types/index.ts | 120 + .../jeecg/JVxeTable/src/utils/authUtils.ts | 42 + .../JVxeTable/src/utils/enhancedUtils.ts | 129 + .../JVxeTable/src/utils/registerUtils.ts | 128 + .../jeecg/JVxeTable/src/utils/vxeUtils.ts | 21 + .../jeecg/JVxeTable/src/vxe.data.ts | 94 + src/components/jeecg/JVxeTable/types.ts | 6 + src/components/jeecg/JVxeTable/utils.ts | 1 + .../jeecg/thirdApp/JThirdAppButton.vue | 179 + .../jeecg/thirdApp/JThirdAppDropdown.vue | 35 + .../jeecg/thirdApp/jThirdApp.api.ts | 37 + src/components/registerGlobComp.ts | 84 +- src/design/index.less | 8 +- src/design/public.less | 62 + src/design/var/index.less | 5 +- src/enums/CompTypeEnum.ts | 32 + src/enums/DateTypeEnum.ts | 8 + src/enums/appEnum.ts | 10 + src/enums/cacheEnum.ts | 7 + src/enums/httpEnum.ts | 7 + src/enums/jeecgEnum.ts | 13 + src/enums/pageEnum.ts | 2 +- src/enums/sizeEnum.ts | 8 + src/hooks/component/useFormItem.ts | 12 +- src/hooks/setting/index.ts | 21 +- src/hooks/setting/useMultipleTabSetting.ts | 4 + src/hooks/system/useAutoAdapt.ts | 51 + src/hooks/system/useJvxeMethods.ts | 81 + src/hooks/system/useListPage.ts | 294 + src/hooks/system/useMethods.ts | 76 + src/hooks/system/useThirdLogin.ts | 174 + src/hooks/web/useContentHeight.ts | 126 +- src/hooks/web/useCopyModal.ts | 64 + src/hooks/web/useMessage.tsx | 4 +- src/hooks/web/usePermission.ts | 12 +- src/hooks/web/usePrintJS.ts | 42 + src/hooks/web/useSso.ts | 42 + src/hooks/web/useTitle.ts | 10 +- src/hooks/web/useWebSocket.ts | 101 + src/layouts/default/content/index.vue | 21 +- src/layouts/default/footer/index.vue | 2 +- src/layouts/default/header/MultipleHeader.vue | 21 +- .../default/header/components/Breadcrumb.vue | 8 +- .../default/header/components/LockScreen.vue | 43 + .../default/header/components/index.ts | 2 + .../header/components/lock/LockModal.vue | 2 +- .../header/components/notify/NoticeList.vue | 59 +- .../default/header/components/notify/data.ts | 110 +- .../header/components/notify/index.vue | 202 +- .../header/components/notify/notify.api.ts | 14 + .../components/user-dropdown/DepartSelect.vue | 263 + .../user-dropdown/UpdatePassword.vue | 89 + .../header/components/user-dropdown/index.vue | 104 +- src/layouts/default/header/index.less | 1 + src/layouts/default/header/index.vue | 47 +- src/layouts/default/setting/SettingDrawer.tsx | 256 +- .../setting/components/SettingFooter.vue | 8 +- src/layouts/default/setting/enum.ts | 19 +- src/layouts/default/setting/handler.ts | 3 + .../default/tabs/components/TabContent.vue | 24 + src/layouts/default/tabs/index.less | 25 +- src/layouts/default/tabs/index.vue | 5 +- src/layouts/default/tabs/tabs.theme.card.less | 226 + .../default/tabs/tabs.theme.smooth.less | 229 + src/layouts/default/tabs/useTabDropdown.ts | 10 +- src/locales/lang/en/layout.ts | 7 + src/locales/lang/en/routes/demo.ts | 2 + src/locales/lang/zh-CN/layout.ts | 25 +- src/locales/lang/zh-CN/routes/demo.ts | 18 +- src/locales/lang/zh-CN/sys.ts | 7 +- src/logics/theme/index.ts | 12 +- src/main.ts | 12 +- src/qiankun/apps.ts | 22 + src/qiankun/index.ts | 74 + src/qiankun/state.ts | 38 + src/router/constant.ts | 2 +- src/router/guard/permissionGuard.ts | 14 +- src/router/guard/stateGuard.ts | 8 +- src/router/helper/routeHelper.ts | 85 +- src/router/index.ts | 4 +- src/router/menus/index.ts | 2 - src/router/routes/modules/dashboard.ts | 2 +- src/router/routes/modules/demo/comp.ts | 322 +- src/router/routes/modules/demo/feat.ts | 87 +- src/router/routes/modules/demo/flow.ts | 28 - src/settings/componentSetting.ts | 62 +- src/settings/designSetting.ts | 4 +- src/settings/encryptionSetting.ts | 6 +- src/settings/localeSetting.ts | 9 +- src/settings/projectSetting.ts | 142 +- src/settings/registerThirdComp.ts | 22 +- src/settings/siteSetting.ts | 6 +- src/store/modules/multipleTab.ts | 63 +- src/store/modules/permission.ts | 52 +- src/store/modules/user.ts | 228 +- src/utils/auth/index.ts | 34 +- src/utils/browser.js | 38 + src/utils/cache/memory.ts | 18 +- src/utils/cache/persistent.ts | 24 +- src/utils/common/compUtils.ts | 311 + src/utils/common/renderUtils.ts | 131 + src/utils/common/vxeUtils.ts | 89 + src/utils/dict/JDictSelectUtil.js | 146 + src/utils/dict/index.ts | 35 + src/utils/encryption/signMd5Utils.js | 128 + src/utils/env.ts | 18 +- src/utils/helper/validator.ts | 125 + src/utils/http/axios/Axios.ts | 476 +- src/utils/http/axios/axiosTransform.ts | 1 - src/utils/http/axios/index.ts | 30 +- src/utils/index.ts | 62 + src/utils/is.ts | 13 +- src/views/dashboard/Analysis/api.ts | 18 + .../Analysis/components/BdcTabCard.vue | 105 + .../Analysis/components/ChartGroupCard.vue | 96 + .../Analysis/components/QuickNav.vue | 41 + .../Analysis/components/SaleTabCard.vue | 81 + .../dashboard/Analysis/homePage/IndexBdc.vue | 219 + .../Analysis/homePage/IndexChart.vue | 117 + .../dashboard/Analysis/homePage/IndexDef.vue | 25 + .../dashboard/Analysis/homePage/IndexTask.vue | 388 + src/views/dashboard/analysis/data.ts | 171 +- src/views/dashboard/analysis/index.vue | 36 +- .../workbench/components/WorkbenchHeader.vue | 2 +- src/views/dashboard/workbench/index.vue | 2 +- src/views/demo/charts/SaleRadar.vue | 4 +- src/views/demo/charts/map/Gaode.vue | 2 +- src/views/demo/comp/card-list/index.vue | 32 + src/views/demo/comp/flow-chart/dataTurbo.json | 240 - src/views/demo/comp/flow-chart/index.vue | 23 - src/views/demo/comp/loading/index.vue | 4 +- src/views/demo/comp/qrcode/index.vue | 4 +- src/views/demo/comp/upload/index.vue | 1 + src/views/demo/editor/markdown/index.vue | 28 +- src/views/demo/excel/ImportExcel.vue | 14 +- src/views/demo/feat/session-timeout/index.vue | 36 +- src/views/demo/feat/tabs/TabDetail.vue | 28 + src/views/demo/feat/tabs/index.vue | 15 +- src/views/demo/form/DynamicForm.vue | 97 +- src/views/demo/form/index.vue | 46 +- src/views/demo/index.vue | 69 - src/views/demo/jeecg/AsyncTreeTable.vue | 61 + src/views/demo/jeecg/ImgDragSort.vue | 80 + src/views/demo/jeecg/ImgTurnPage.vue | 158 + src/views/demo/jeecg/InnerExpandTable.vue | 249 + src/views/demo/jeecg/JCodeEditDemo.vue | 58 + src/views/demo/jeecg/JEditorDemo.vue | 102 + src/views/demo/jeecg/JUploadDemo.vue | 86 + .../demo/jeecg/JVxeTableDemo/JVxeDemo1.vue | 388 + .../demo/jeecg/JVxeTableDemo/JVxeDemo2.vue | 181 + .../demo/jeecg/JVxeTableDemo/JVxeDemo3.vue | 139 + .../demo/jeecg/JVxeTableDemo/JVxeDemo4.vue | 154 + .../JVxeTableDemo/func-demo/JSBCDemo.vue | 221 + .../JVxeTableDemo/func-demo/PopupSubTable.vue | 253 + .../JVxeTableDemo/func-demo/SocketReload.vue | 111 + src/views/demo/jeecg/JVxeTableDemo/index.vue | 29 + .../JVxeTableDemo/layout-demo/ErpTemplate.vue | 313 + .../JVxeTableDemo/layout-demo/Template1.vue | 327 + .../JVxeTableDemo/layout-demo/Template2.vue | 258 + .../JVxeTableDemo/layout-demo/Template3.vue | 243 + .../JVxeTableDemo/layout-demo/Template4.vue | 346 + .../JVxeTableDemo/layout-demo/Template5.vue | 224 + .../jeecg/JVxeTableDemo/layout-demo/index.vue | 38 + src/views/demo/jeecg/JeecgComponents.vue | 85 + src/views/demo/jeecg/JeecgPdfView.vue | 97 + src/views/demo/jeecg/PrintDemo.vue | 151 + src/views/demo/jeecg/TableTotal.vue | 59 + .../jeecg/erplist/JeecgOrderCustomerList.vue | 148 + .../jeecg/erplist/JeecgOrderTicketList.vue | 147 + .../components/JeecgOrderCustomerModal.vue | 57 + .../erplist/components/JeecgOrderModal.vue | 52 + .../components/JeecgOrderTicketModal.vue | 57 + src/views/demo/jeecg/erplist/erplist.api.ts | 144 + src/views/demo/jeecg/erplist/erplist.data.ts | 239 + src/views/demo/jeecg/erplist/index.vue | 160 + src/views/demo/jeecg/index.vue | 52 + src/views/demo/jeecg/jeecgComponents.data.ts | 596 + .../demo/jeecg/model/JeecgOrderModal.vue | 94 + .../demo/page/account/setting/BaseSetting.vue | 41 +- .../page/account/setting/SecureSetting.vue | 26 +- src/views/demo/page/account/setting/data.ts | 48 +- src/views/demo/page/account/setting/index.vue | 1 + src/views/demo/page/desc/high/index.vue | 2 +- src/views/demo/page/form/step/Step1.vue | 4 +- src/views/demo/page/form/step/Step2.vue | 4 +- src/views/demo/setup/index.vue | 2 +- src/views/demo/system/account/index.vue | 4 +- src/views/demo/system/dept/index.vue | 4 +- src/views/demo/system/menu/index.vue | 2 +- src/views/demo/system/role/index.vue | 4 +- src/views/demo/system/test/index.vue | 4 +- src/views/demo/table/EditRowTable.vue | 44 +- src/views/demo/table/FetchTable.vue | 1 + src/views/demo/table/TreeTable.vue | 12 +- src/views/demo/table/UseTable.vue | 4 + src/views/demo/tree/index.vue | 1 + src/views/demo/vextable/OneToOneModal.vue | 70 +- src/views/demo/vextable/api.ts | 35 + src/views/demo/vextable/data.ts | 30 + src/views/demo/vextable/index.vue | 276 +- .../vextable/jvxetable/JVxeTableModal.vue | 173 + .../demo/vextable/jvxetable/jvxetable.api.ts | 17 + .../demo/vextable/jvxetable/jvxetable.data.ts | 70 + src/views/demo/vextable/modal.vue | 28 +- .../monitor/datalog/DataLogCompareModal.vue | 211 + src/views/monitor/datalog/DataLogModal.vue | 111 + src/views/monitor/datalog/datalog.api.ts | 32 + src/views/monitor/datalog/datalog.data.ts | 45 + src/views/monitor/datalog/index.vue | 59 + .../monitor/datasource/DataSourceModal.vue | 87 + .../monitor/datasource/datasource.api.ts | 85 + .../monitor/datasource/datasource.data.ts | 182 + src/views/monitor/datasource/index.vue | 117 + src/views/monitor/disk/DiskInfo.vue | 37 + src/views/monitor/disk/disk.api.ts | 13 + src/views/monitor/disk/gauge.vue | 85 + src/views/monitor/log/index.vue | 67 + src/views/monitor/log/log.api.ts | 13 + src/views/monitor/log/log.data.ts | 58 + src/views/monitor/mynews/DetailModal.vue | 34 + src/views/monitor/mynews/DynamicNotice.vue | 32 + src/views/monitor/mynews/index.vue | 91 + src/views/monitor/mynews/mynews.api.ts | 52 + src/views/monitor/mynews/mynews.data.ts | 62 + src/views/monitor/quartz/QuartzModal.vue | 59 + src/views/monitor/quartz/index.vue | 177 + src/views/monitor/quartz/quartz.api.ts | 108 + src/views/monitor/quartz/quartz.data.ts | 128 + src/views/monitor/redis/index.vue | 189 + src/views/monitor/redis/redis.api.ts | 35 + src/views/monitor/redis/redis.data.ts | 19 + src/views/monitor/route/RouteModal.vue | 298 + src/views/monitor/route/index.vue | 105 + src/views/monitor/route/route.api.ts | 36 + src/views/monitor/route/route.data.ts | 53 + src/views/monitor/server/index.vue | 110 + src/views/monitor/server/server.api.ts | 336 + src/views/monitor/server/server.data.ts | 23 + src/views/monitor/trace/index.vue | 71 + src/views/monitor/trace/trace.api.ts | 14 + src/views/monitor/trace/trace.data.ts | 35 + src/views/report/chartdemo/chartdemo.data.ts | 49 + src/views/report/chartdemo/index.vue | 93 + src/views/report/statisticst/index.vue | 138 + .../sys/exception/NetworkErrorException.vue | 11 + .../sys/exception/NotAccessException.vue | 11 + .../sys/exception/NotDataErrorException.vue | 11 + .../sys/exception/ServerErrorException.vue | 11 + src/views/sys/exception/index.ts | 4 + src/views/sys/forget-password/step1.vue | 9 +- src/views/sys/forget-password/step2.vue | 7 +- src/views/sys/lock/LockPage.vue | 2 +- src/views/sys/login/Login.vue | 42 +- src/views/sys/login/LoginForm.vue | 58 +- src/views/sys/login/LoginSelect.vue | 305 + src/views/sys/login/MobileForm.vue | 7 +- src/views/sys/login/QrCodeForm.vue | 76 +- src/views/sys/login/RegisterForm.vue | 21 +- src/views/sys/login/ThirdModal.vue | 70 + src/views/system/address/address.api.ts | 20 + src/views/system/address/address.data.ts | 51 + .../address/components/DepartLeftTree.vue | 159 + src/views/system/address/index.less | 11 + src/views/system/address/index.vue | 83 + src/views/system/category/category.api.ts | 82 + src/views/system/category/category.data.ts | 65 + .../category/components/CategoryModal.vue | 87 + src/views/system/category/index.vue | 281 + src/views/system/checkRule/CheckRuleModal.vue | 261 + .../system/checkRule/CheckRuleTestModal.vue | 57 + src/views/system/checkRule/check.rule.api.ts | 87 + src/views/system/checkRule/check.rule.data.ts | 156 + src/views/system/checkRule/index.vue | 147 + .../components/DepartDataRuleDrawer.vue | 87 + .../depart/components/DepartFormModal.vue | 95 + .../depart/components/DepartFormTab.vue | 103 + .../depart/components/DepartLeftTree.vue | 332 + .../depart/components/DepartRuleTab.vue | 161 + src/views/system/depart/depart.api.ts | 95 + src/views/system/depart/depart.data.ts | 87 + src/views/system/depart/index.less | 11 + src/views/system/depart/index.vue | 62 + .../components/DepartBaseInfoTab.vue | 36 + .../components/DepartRoleAuthDrawer.vue | 156 + .../components/DepartRoleDataRuleDrawer.vue | 92 + .../components/DepartRoleInfoTab.vue | 203 + .../departUser/components/DepartRoleModal.vue | 68 + .../components/DepartRoleUserAuthDrawer.vue | 103 + .../departUser/components/DepartTree.vue | 139 + .../components/DepartUserInfoTab.vue | 237 + .../system/departUser/depart.user.api.ts | 160 + .../system/departUser/depart.user.data.ts | 195 + src/views/system/departUser/index.less | 49 + src/views/system/departUser/index.vue | 49 + .../system/dict/components/DictItemList.vue | 132 + .../system/dict/components/DictItemModal.vue | 63 + .../system/dict/components/DictModal.vue | 52 + .../dict/components/DictRecycleBinModal.vue | 91 + src/views/system/dict/dict.api.ts | 142 + src/views/system/dict/dict.data.ts | 182 + src/views/system/dict/index.vue | 186 + src/views/system/examples/demo/DemoModal.vue | 53 + src/views/system/examples/demo/demo.api.ts | 74 + src/views/system/examples/demo/demo.data.ts | 182 + src/views/system/examples/demo/index.vue | 262 + src/views/system/fillRule/FillRuleModal.vue | 66 + src/views/system/fillRule/fill.rule.api.ts | 84 + src/views/system/fillRule/fill.rule.data.ts | 109 + src/views/system/fillRule/index.vue | 149 + src/views/system/menu/DataRuleList.vue | 121 + src/views/system/menu/DataRuleModal.vue | 54 + src/views/system/menu/MenuDrawer.vue | 80 + src/views/system/menu/index.vue | 196 + src/views/system/menu/menu.api.ts | 84 + src/views/system/menu/menu.data.ts | 384 + .../system/message/manage/ManageDrawer.vue | 24 + src/views/system/message/manage/index.less | 5 + src/views/system/message/manage/index.vue | 132 + src/views/system/message/manage/manage.api.ts | 52 + .../system/message/manage/manage.data.ts | 134 + .../system/message/template/TemplateModal.vue | 46 + .../message/template/TemplateTestModal.vue | 40 + src/views/system/message/template/index.less | 5 + src/views/system/message/template/index.vue | 157 + .../system/message/template/template.api.ts | 60 + .../system/message/template/template.data.ts | 168 + src/views/system/notice/DetailModal.vue | 24 + src/views/system/notice/NoticeModal.vue | 54 + src/views/system/notice/index.vue | 164 + src/views/system/notice/notice.api.ts | 80 + src/views/system/notice/notice.data.ts | 156 + src/views/system/ossfile/index.vue | 144 + src/views/system/ossfile/ossfile.api.ts | 34 + src/views/system/ossfile/ossfile.data.ts | 28 + src/views/system/position/PositionModal.vue | 53 + src/views/system/position/index.vue | 116 + src/views/system/position/position.api.ts | 79 + src/views/system/position/position.data.ts | 65 + src/views/system/role/UserRoleDrawer.vue | 102 - .../role/components/RoleDataRuleDrawer.vue | 86 + src/views/system/role/components/RoleDesc.vue | 18 + .../role/components/RoleDesignModal.vue | 150 + .../role/{ => components}/RoleDrawer.vue | 28 +- .../role/components/RolePermissionDrawer.vue | 118 + .../system/role/components/RoleUserTable.vue | 183 + .../system/role/components/UseSelectModal.vue | 60 + src/views/system/role/index.vue | 205 +- src/views/system/role/role.api.ts | 114 +- src/views/system/role/role.data.ts | 66 +- src/views/system/tenant/TenantModal.vue | 14 +- src/views/system/tenant/index.vue | 236 +- src/views/system/tenant/tenant.api.ts | 5 + src/views/system/tenant/tenant.data.ts | 73 +- src/views/system/user/PasswordModal.vue | 42 + src/views/system/user/UserAgentModal.vue | 45 + src/views/system/user/UserDrawer.vue | 90 +- src/views/system/user/UserRecycleBinModal.vue | 105 +- src/views/system/user/index.vue | 302 +- src/views/system/user/user.api.ts | 79 +- src/views/system/user/user.data.ts | 456 +- src/views/system/user/userDetails.vue | 54 + tests/server/package.json | 2 +- tests/server/service/UserService.ts | 2 +- types/axios.d.ts | 9 + types/config.d.ts | 19 +- types/store.d.ts | 11 +- types/vue-router.d.ts | 4 + vite.config.ts | 2 +- windi.config.ts | 4 +- yarn.lock | 9823 ++++++++--------- 634 files changed, 55058 insertions(+), 9677 deletions(-) delete mode 100644 "doc/\344\277\256\346\224\271\346\227\245\345\277\227.md" delete mode 100644 "doc/\345\215\207\347\272\247sql" create mode 100644 public/logo.png create mode 100644 public/resource/tinymce/skins/ui/jeecg/content.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/content.inline.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/content.inline.min.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/content.min.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/content.mobile.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/content.mobile.min.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/fonts/tinymce-mobile.woff create mode 100644 public/resource/tinymce/skins/ui/jeecg/skin.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/skin.min.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/skin.mobile.css create mode 100644 public/resource/tinymce/skins/ui/jeecg/skin.mobile.min.css create mode 100644 src/api/common/api.ts create mode 100644 src/assets/images/cms_bpm.png create mode 100644 src/assets/images/cms_oa.png create mode 100644 src/assets/images/daiban.png create mode 100644 src/assets/images/duban.png create mode 100644 src/assets/images/guaz.png create mode 100644 src/assets/images/nodata.png create mode 100644 src/assets/images/pdf4.jpg create mode 100644 src/assets/images/zaiban.png create mode 100644 src/components/Button/src/UploadButton.vue create mode 100644 src/components/CardList/index.ts create mode 100644 src/components/CardList/src/CardList.vue create mode 100644 src/components/CardList/src/data.ts create mode 100644 src/components/CodeEditor/src/typing.ts delete mode 100644 src/components/FlowChart/index.ts delete mode 100644 src/components/FlowChart/src/FlowChart.vue delete mode 100644 src/components/FlowChart/src/FlowChartToolbar.vue delete mode 100644 src/components/FlowChart/src/adpterForTurbo.ts delete mode 100644 src/components/FlowChart/src/config.ts delete mode 100644 src/components/FlowChart/src/enum.ts delete mode 100644 src/components/FlowChart/src/types.ts delete mode 100644 src/components/FlowChart/src/useFlowContext.ts create mode 100644 src/components/Form/src/components/ApiRadioGroup.vue create mode 100644 src/components/Form/src/jeecg/components/JAddInput.vue rename src/components/Form/src/{ => jeecg}/components/JAreaLinkage.vue (96%) create mode 100644 src/components/Form/src/jeecg/components/JAreaSelect.vue create mode 100644 src/components/Form/src/jeecg/components/JCategorySelect.vue create mode 100644 src/components/Form/src/jeecg/components/JCheckbox.vue create mode 100644 src/components/Form/src/jeecg/components/JCodeEditor.vue create mode 100644 src/components/Form/src/jeecg/components/JDictSelectTag.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/EasyCronInner.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/EasyCronInput.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/EasyCronModal.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/LICENSE create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/easy.cron.data.ts create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/easy.cron.inner.less create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/easy.cron.input.less create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/index.ts create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/tabs/DayUI.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/tabs/HourUI.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/tabs/MinuteUI.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/tabs/MonthUI.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/tabs/SecondUI.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/tabs/WeekUI.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/tabs/YearUI.vue create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/tabs/useTabMixin.ts create mode 100644 src/components/Form/src/jeecg/components/JEasyCron/validator.ts create mode 100644 src/components/Form/src/jeecg/components/JEditor.vue create mode 100644 src/components/Form/src/jeecg/components/JEllipsis.vue create mode 100644 src/components/Form/src/jeecg/components/JImageUpload.vue create mode 100644 src/components/Form/src/jeecg/components/JImportModal.vue create mode 100644 src/components/Form/src/jeecg/components/JInput.vue create mode 100644 src/components/Form/src/jeecg/components/JInputPop.vue create mode 100644 src/components/Form/src/jeecg/components/JMarkdownEditor.vue create mode 100644 src/components/Form/src/jeecg/components/JPopup.vue create mode 100644 src/components/Form/src/jeecg/components/JSearchSelect.vue create mode 100644 src/components/Form/src/jeecg/components/JSelectDept.vue create mode 100644 src/components/Form/src/jeecg/components/JSelectInput.vue create mode 100644 src/components/Form/src/jeecg/components/JSelectMultiple.vue create mode 100644 src/components/Form/src/jeecg/components/JSelectPosition.vue create mode 100644 src/components/Form/src/jeecg/components/JSelectRole.vue create mode 100644 src/components/Form/src/jeecg/components/JSelectUser.vue create mode 100644 src/components/Form/src/jeecg/components/JSelectUserByDept.vue create mode 100644 src/components/Form/src/jeecg/components/JSwitch.vue create mode 100644 src/components/Form/src/jeecg/components/JTreeDict.vue create mode 100644 src/components/Form/src/jeecg/components/JTreeSelect.vue create mode 100644 src/components/Form/src/jeecg/components/JUpload/JUpload.vue create mode 100644 src/components/Form/src/jeecg/components/JUpload/JUploadModal.vue create mode 100644 src/components/Form/src/jeecg/components/JUpload/components/UploadItemActions.vue create mode 100644 src/components/Form/src/jeecg/components/JUpload/index.ts create mode 100644 src/components/Form/src/jeecg/components/JUpload/upload.data.ts create mode 100644 src/components/Form/src/jeecg/components/base/JSelectBiz.vue create mode 100644 src/components/Form/src/jeecg/components/base/JTreeBiz.vue create mode 100644 src/components/Form/src/jeecg/components/modal/DeptSelectModal.vue create mode 100644 src/components/Form/src/jeecg/components/modal/PositionSelectModal.vue create mode 100644 src/components/Form/src/jeecg/components/modal/RoleSelectModal.vue create mode 100644 src/components/Form/src/jeecg/components/modal/UserSelectByDepModal.vue create mode 100644 src/components/Form/src/jeecg/components/modal/UserSelectModal.vue create mode 100644 src/components/Form/src/jeecg/hooks/useSelectBiz.ts create mode 100644 src/components/Form/src/jeecg/hooks/useTreeBiz.ts create mode 100644 src/components/Form/src/jeecg/props/props.ts create mode 100644 src/components/Form/src/utils/GroupRequest.ts create mode 100644 src/components/Form/src/utils/formUtils.ts create mode 100644 src/components/JVxeCustom/index.ts create mode 100644 src/components/JVxeCustom/src/components/JVxeDepartSelectCell.vue create mode 100644 src/components/JVxeCustom/src/components/JVxeFileCell.vue create mode 100644 src/components/JVxeCustom/src/components/JVxeImageCell.vue create mode 100644 src/components/JVxeCustom/src/components/JVxePopupCell.vue create mode 100644 src/components/JVxeCustom/src/components/JVxeSelectDictSearchCell.ts create mode 100644 src/components/JVxeCustom/src/components/JVxeUserSelectCell.vue create mode 100644 src/components/JVxeCustom/src/hooks/useFileCell.ts create mode 100644 src/components/Markdown/src/MarkdownViewer.vue create mode 100644 src/components/chart/Bar.vue create mode 100644 src/components/chart/BarAndLine.vue create mode 100644 src/components/chart/BarMulti.vue create mode 100644 src/components/chart/ChartCard.vue create mode 100644 src/components/chart/Gauge.vue create mode 100644 src/components/chart/HeadInfo.vue create mode 100644 src/components/chart/Line.vue create mode 100644 src/components/chart/LineMulti.vue create mode 100644 src/components/chart/Pie.vue create mode 100644 src/components/chart/README.md create mode 100644 src/components/chart/Radar.vue create mode 100644 src/components/chart/RankList.vue create mode 100644 src/components/chart/StackBar.vue create mode 100644 src/components/chart/Trend.vue create mode 100644 src/components/jeecg/AIcon.vue create mode 100644 src/components/jeecg/ExcelButton.vue create mode 100644 src/components/jeecg/JVxeTable/hooks.ts create mode 100644 src/components/jeecg/JVxeTable/index.ts create mode 100644 src/components/jeecg/JVxeTable/src/JVxeTable.ts create mode 100644 src/components/jeecg/JVxeTable/src/componentMap.ts create mode 100644 src/components/jeecg/JVxeTable/src/components/JVxeDetailsModal.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/JVxeReloadEffect.ts create mode 100644 src/components/jeecg/JVxeTable/src/components/JVxeSubPopover.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/JVxeToolbar.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeCheckboxCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeDateCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeDragSortCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeInputCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeNormalCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeProgressCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeRadioCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeSelectCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeSlotCell.ts create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeTextareaCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeTimeCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/components/cells/JVxeUploadCell.vue create mode 100644 src/components/jeecg/JVxeTable/src/hooks/cells/useJVxeUploadCell.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useColumns.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useData.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useDataSource.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useDragSort.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useFinallyProps.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useJVxeComponent.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useLinkage.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useMethods.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/usePagination.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useRenderComponents.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useToolbar.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useValidateRules.ts create mode 100644 src/components/jeecg/JVxeTable/src/hooks/useWebSocket.ts create mode 100644 src/components/jeecg/JVxeTable/src/install.ts create mode 100644 src/components/jeecg/JVxeTable/src/style/index.less create mode 100644 src/components/jeecg/JVxeTable/src/style/reload-effect.less create mode 100644 src/components/jeecg/JVxeTable/src/style/vxe.const.less create mode 100644 src/components/jeecg/JVxeTable/src/style/vxe.dark.less create mode 100644 src/components/jeecg/JVxeTable/src/types/JVxeComponent.ts create mode 100644 src/components/jeecg/JVxeTable/src/types/JVxeTypes.ts create mode 100644 src/components/jeecg/JVxeTable/src/types/index.ts create mode 100644 src/components/jeecg/JVxeTable/src/utils/authUtils.ts create mode 100644 src/components/jeecg/JVxeTable/src/utils/enhancedUtils.ts create mode 100644 src/components/jeecg/JVxeTable/src/utils/registerUtils.ts create mode 100644 src/components/jeecg/JVxeTable/src/utils/vxeUtils.ts create mode 100644 src/components/jeecg/JVxeTable/src/vxe.data.ts create mode 100644 src/components/jeecg/JVxeTable/types.ts create mode 100644 src/components/jeecg/JVxeTable/utils.ts create mode 100644 src/components/jeecg/thirdApp/JThirdAppButton.vue create mode 100644 src/components/jeecg/thirdApp/JThirdAppDropdown.vue create mode 100644 src/components/jeecg/thirdApp/jThirdApp.api.ts create mode 100644 src/enums/CompTypeEnum.ts create mode 100644 src/enums/DateTypeEnum.ts create mode 100644 src/enums/jeecgEnum.ts create mode 100644 src/hooks/system/useAutoAdapt.ts create mode 100644 src/hooks/system/useJvxeMethods.ts create mode 100644 src/hooks/system/useListPage.ts create mode 100644 src/hooks/system/useMethods.ts create mode 100644 src/hooks/system/useThirdLogin.ts create mode 100644 src/hooks/web/useCopyModal.ts create mode 100644 src/hooks/web/usePrintJS.ts create mode 100644 src/hooks/web/useSso.ts create mode 100644 src/hooks/web/useWebSocket.ts create mode 100644 src/layouts/default/header/components/LockScreen.vue create mode 100644 src/layouts/default/header/components/notify/notify.api.ts create mode 100644 src/layouts/default/header/components/user-dropdown/DepartSelect.vue create mode 100644 src/layouts/default/header/components/user-dropdown/UpdatePassword.vue create mode 100644 src/layouts/default/tabs/tabs.theme.card.less create mode 100644 src/layouts/default/tabs/tabs.theme.smooth.less create mode 100644 src/qiankun/apps.ts create mode 100644 src/qiankun/index.ts create mode 100644 src/qiankun/state.ts delete mode 100644 src/router/routes/modules/demo/flow.ts create mode 100644 src/utils/browser.js create mode 100644 src/utils/common/compUtils.ts create mode 100644 src/utils/common/renderUtils.ts create mode 100644 src/utils/common/vxeUtils.ts create mode 100644 src/utils/dict/JDictSelectUtil.js create mode 100644 src/utils/dict/index.ts create mode 100644 src/utils/encryption/signMd5Utils.js create mode 100644 src/utils/helper/validator.ts create mode 100644 src/views/dashboard/Analysis/api.ts create mode 100644 src/views/dashboard/Analysis/components/BdcTabCard.vue create mode 100644 src/views/dashboard/Analysis/components/ChartGroupCard.vue create mode 100644 src/views/dashboard/Analysis/components/QuickNav.vue create mode 100644 src/views/dashboard/Analysis/components/SaleTabCard.vue create mode 100644 src/views/dashboard/Analysis/homePage/IndexBdc.vue create mode 100644 src/views/dashboard/Analysis/homePage/IndexChart.vue create mode 100644 src/views/dashboard/Analysis/homePage/IndexDef.vue create mode 100644 src/views/dashboard/Analysis/homePage/IndexTask.vue create mode 100644 src/views/demo/comp/card-list/index.vue delete mode 100644 src/views/demo/comp/flow-chart/dataTurbo.json delete mode 100644 src/views/demo/comp/flow-chart/index.vue create mode 100644 src/views/demo/feat/tabs/TabDetail.vue delete mode 100644 src/views/demo/index.vue create mode 100644 src/views/demo/jeecg/AsyncTreeTable.vue create mode 100644 src/views/demo/jeecg/ImgDragSort.vue create mode 100644 src/views/demo/jeecg/ImgTurnPage.vue create mode 100644 src/views/demo/jeecg/InnerExpandTable.vue create mode 100644 src/views/demo/jeecg/JCodeEditDemo.vue create mode 100644 src/views/demo/jeecg/JEditorDemo.vue create mode 100644 src/views/demo/jeecg/JUploadDemo.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/JVxeDemo1.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/JVxeDemo2.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/JVxeDemo3.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/JVxeDemo4.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/func-demo/JSBCDemo.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/func-demo/PopupSubTable.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/func-demo/SocketReload.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/index.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/layout-demo/ErpTemplate.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template1.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template2.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template3.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template4.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template5.vue create mode 100644 src/views/demo/jeecg/JVxeTableDemo/layout-demo/index.vue create mode 100644 src/views/demo/jeecg/JeecgComponents.vue create mode 100644 src/views/demo/jeecg/JeecgPdfView.vue create mode 100644 src/views/demo/jeecg/PrintDemo.vue create mode 100644 src/views/demo/jeecg/TableTotal.vue create mode 100644 src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue create mode 100644 src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue create mode 100644 src/views/demo/jeecg/erplist/components/JeecgOrderCustomerModal.vue create mode 100644 src/views/demo/jeecg/erplist/components/JeecgOrderModal.vue create mode 100644 src/views/demo/jeecg/erplist/components/JeecgOrderTicketModal.vue create mode 100644 src/views/demo/jeecg/erplist/erplist.api.ts create mode 100644 src/views/demo/jeecg/erplist/erplist.data.ts create mode 100644 src/views/demo/jeecg/erplist/index.vue create mode 100644 src/views/demo/jeecg/index.vue create mode 100644 src/views/demo/jeecg/jeecgComponents.data.ts create mode 100644 src/views/demo/jeecg/model/JeecgOrderModal.vue create mode 100644 src/views/demo/vextable/api.ts create mode 100644 src/views/demo/vextable/data.ts create mode 100644 src/views/demo/vextable/jvxetable/JVxeTableModal.vue create mode 100644 src/views/demo/vextable/jvxetable/jvxetable.api.ts create mode 100644 src/views/demo/vextable/jvxetable/jvxetable.data.ts create mode 100644 src/views/monitor/datalog/DataLogCompareModal.vue create mode 100644 src/views/monitor/datalog/DataLogModal.vue create mode 100644 src/views/monitor/datalog/datalog.api.ts create mode 100644 src/views/monitor/datalog/datalog.data.ts create mode 100644 src/views/monitor/datalog/index.vue create mode 100644 src/views/monitor/datasource/DataSourceModal.vue create mode 100644 src/views/monitor/datasource/datasource.api.ts create mode 100644 src/views/monitor/datasource/datasource.data.ts create mode 100644 src/views/monitor/datasource/index.vue create mode 100644 src/views/monitor/disk/DiskInfo.vue create mode 100644 src/views/monitor/disk/disk.api.ts create mode 100644 src/views/monitor/disk/gauge.vue create mode 100644 src/views/monitor/log/index.vue create mode 100644 src/views/monitor/log/log.api.ts create mode 100644 src/views/monitor/log/log.data.ts create mode 100644 src/views/monitor/mynews/DetailModal.vue create mode 100644 src/views/monitor/mynews/DynamicNotice.vue create mode 100644 src/views/monitor/mynews/index.vue create mode 100644 src/views/monitor/mynews/mynews.api.ts create mode 100644 src/views/monitor/mynews/mynews.data.ts create mode 100644 src/views/monitor/quartz/QuartzModal.vue create mode 100644 src/views/monitor/quartz/index.vue create mode 100644 src/views/monitor/quartz/quartz.api.ts create mode 100644 src/views/monitor/quartz/quartz.data.ts create mode 100644 src/views/monitor/redis/index.vue create mode 100644 src/views/monitor/redis/redis.api.ts create mode 100644 src/views/monitor/redis/redis.data.ts create mode 100644 src/views/monitor/route/RouteModal.vue create mode 100644 src/views/monitor/route/index.vue create mode 100644 src/views/monitor/route/route.api.ts create mode 100644 src/views/monitor/route/route.data.ts create mode 100644 src/views/monitor/server/index.vue create mode 100644 src/views/monitor/server/server.api.ts create mode 100644 src/views/monitor/server/server.data.ts create mode 100644 src/views/monitor/trace/index.vue create mode 100644 src/views/monitor/trace/trace.api.ts create mode 100644 src/views/monitor/trace/trace.data.ts create mode 100644 src/views/report/chartdemo/chartdemo.data.ts create mode 100644 src/views/report/chartdemo/index.vue create mode 100644 src/views/report/statisticst/index.vue create mode 100644 src/views/sys/exception/NetworkErrorException.vue create mode 100644 src/views/sys/exception/NotAccessException.vue create mode 100644 src/views/sys/exception/NotDataErrorException.vue create mode 100644 src/views/sys/exception/ServerErrorException.vue create mode 100644 src/views/sys/login/LoginSelect.vue create mode 100644 src/views/sys/login/ThirdModal.vue create mode 100644 src/views/system/address/address.api.ts create mode 100644 src/views/system/address/address.data.ts create mode 100644 src/views/system/address/components/DepartLeftTree.vue create mode 100644 src/views/system/address/index.less create mode 100644 src/views/system/address/index.vue create mode 100644 src/views/system/category/category.api.ts create mode 100644 src/views/system/category/category.data.ts create mode 100644 src/views/system/category/components/CategoryModal.vue create mode 100644 src/views/system/category/index.vue create mode 100644 src/views/system/checkRule/CheckRuleModal.vue create mode 100644 src/views/system/checkRule/CheckRuleTestModal.vue create mode 100644 src/views/system/checkRule/check.rule.api.ts create mode 100644 src/views/system/checkRule/check.rule.data.ts create mode 100644 src/views/system/checkRule/index.vue create mode 100644 src/views/system/depart/components/DepartDataRuleDrawer.vue create mode 100644 src/views/system/depart/components/DepartFormModal.vue create mode 100644 src/views/system/depart/components/DepartFormTab.vue create mode 100644 src/views/system/depart/components/DepartLeftTree.vue create mode 100644 src/views/system/depart/components/DepartRuleTab.vue create mode 100644 src/views/system/depart/depart.api.ts create mode 100644 src/views/system/depart/depart.data.ts create mode 100644 src/views/system/depart/index.less create mode 100644 src/views/system/depart/index.vue create mode 100644 src/views/system/departUser/components/DepartBaseInfoTab.vue create mode 100644 src/views/system/departUser/components/DepartRoleAuthDrawer.vue create mode 100644 src/views/system/departUser/components/DepartRoleDataRuleDrawer.vue create mode 100644 src/views/system/departUser/components/DepartRoleInfoTab.vue create mode 100644 src/views/system/departUser/components/DepartRoleModal.vue create mode 100644 src/views/system/departUser/components/DepartRoleUserAuthDrawer.vue create mode 100644 src/views/system/departUser/components/DepartTree.vue create mode 100644 src/views/system/departUser/components/DepartUserInfoTab.vue create mode 100644 src/views/system/departUser/depart.user.api.ts create mode 100644 src/views/system/departUser/depart.user.data.ts create mode 100644 src/views/system/departUser/index.less create mode 100644 src/views/system/departUser/index.vue create mode 100644 src/views/system/dict/components/DictItemList.vue create mode 100644 src/views/system/dict/components/DictItemModal.vue create mode 100644 src/views/system/dict/components/DictModal.vue create mode 100644 src/views/system/dict/components/DictRecycleBinModal.vue create mode 100644 src/views/system/dict/dict.api.ts create mode 100644 src/views/system/dict/dict.data.ts create mode 100644 src/views/system/dict/index.vue create mode 100644 src/views/system/examples/demo/DemoModal.vue create mode 100644 src/views/system/examples/demo/demo.api.ts create mode 100644 src/views/system/examples/demo/demo.data.ts create mode 100644 src/views/system/examples/demo/index.vue create mode 100644 src/views/system/fillRule/FillRuleModal.vue create mode 100644 src/views/system/fillRule/fill.rule.api.ts create mode 100644 src/views/system/fillRule/fill.rule.data.ts create mode 100644 src/views/system/fillRule/index.vue create mode 100644 src/views/system/menu/DataRuleList.vue create mode 100644 src/views/system/menu/DataRuleModal.vue create mode 100644 src/views/system/menu/MenuDrawer.vue create mode 100644 src/views/system/menu/index.vue create mode 100644 src/views/system/menu/menu.api.ts create mode 100644 src/views/system/menu/menu.data.ts create mode 100644 src/views/system/message/manage/ManageDrawer.vue create mode 100644 src/views/system/message/manage/index.less create mode 100644 src/views/system/message/manage/index.vue create mode 100644 src/views/system/message/manage/manage.api.ts create mode 100644 src/views/system/message/manage/manage.data.ts create mode 100644 src/views/system/message/template/TemplateModal.vue create mode 100644 src/views/system/message/template/TemplateTestModal.vue create mode 100644 src/views/system/message/template/index.less create mode 100644 src/views/system/message/template/index.vue create mode 100644 src/views/system/message/template/template.api.ts create mode 100644 src/views/system/message/template/template.data.ts create mode 100644 src/views/system/notice/DetailModal.vue create mode 100644 src/views/system/notice/NoticeModal.vue create mode 100644 src/views/system/notice/index.vue create mode 100644 src/views/system/notice/notice.api.ts create mode 100644 src/views/system/notice/notice.data.ts create mode 100644 src/views/system/ossfile/index.vue create mode 100644 src/views/system/ossfile/ossfile.api.ts create mode 100644 src/views/system/ossfile/ossfile.data.ts create mode 100644 src/views/system/position/PositionModal.vue create mode 100644 src/views/system/position/index.vue create mode 100644 src/views/system/position/position.api.ts create mode 100644 src/views/system/position/position.data.ts delete mode 100644 src/views/system/role/UserRoleDrawer.vue create mode 100644 src/views/system/role/components/RoleDataRuleDrawer.vue create mode 100644 src/views/system/role/components/RoleDesc.vue create mode 100644 src/views/system/role/components/RoleDesignModal.vue rename src/views/system/role/{ => components}/RoleDrawer.vue (59%) create mode 100644 src/views/system/role/components/RolePermissionDrawer.vue create mode 100644 src/views/system/role/components/RoleUserTable.vue create mode 100644 src/views/system/role/components/UseSelectModal.vue create mode 100644 src/views/system/user/PasswordModal.vue create mode 100644 src/views/system/user/UserAgentModal.vue create mode 100644 src/views/system/user/userDetails.vue diff --git a/.env b/.env index 114cd2d54..c4c1b8ccb 100644 --- a/.env +++ b/.env @@ -1,8 +1,22 @@ # port VITE_PORT = 3100 -# spa-title -VITE_GLOB_APP_TITLE = Jeecg Boot +# 网站标题 +VITE_GLOB_APP_TITLE = JeecgBoot 企业级低代码平台 + +# 简称,用于配置文件名字 不要出现空格、数字开头等特殊字符 +VITE_GLOB_APP_SHORT_NAME = JeecgBootAdmin + +# 单点登录服务端地址 +VITE_GLOBE_APP_CAS_BASE_URL=http://cas.test.com:8443/cas + +# 是否开启单点登录 +VITE_GLOB_APP_OPEN_SSO = false + +# 开启微前端模式 +VITE_GLOB_APP_OPEN_QIANKUN=true + +# 文件预览地址 +VITE_GLOB_ONLINE_VIEW_URL=http://fileview.jeecg.com/onlinePreview + -# spa shortname -VITE_GLOB_APP_SHORT_NAME = Jeecg-Boot-Admin diff --git a/.env.development b/.env.development index e2fc66946..d7894beae 100644 --- a/.env.development +++ b/.env.development @@ -1,21 +1,23 @@ # 是否打开mock -VITE_USE_MOCK = false +VITE_USE_MOCK = true -# 公共路径 +# 发布路径 VITE_PUBLIC_PATH = / # 跨域代理,您可以配置多个 ,请注意,没有换行符 - VITE_PROXY = [["/jeecg-boot","http://localhost:8080/jeecg-boot"],["/upload","http://localhost:3300/upload"]] -# VITE_PROXY=[["/api","https://vvbin.cn/test"]] +VITE_PROXY = [["/jeecgboot","http://localhost:8080/jeecg-boot"],["/upload","http://localhost:3300/upload"]] # 控制台不输出 VITE_DROP_CONSOLE = false -# 接口父路径 -VITE_GLOB_API_URL= /jeecg-boot +#后台接口父地址(必填) +VITE_GLOB_API_URL=/jeecgboot -# 文件上次地址(可选) -VITE_GLOB_UPLOAD_URL=/upload +#后台接口全路径地址(必填) +VITE_GLOB_DOMAIN_URL=http://localhost:8080/jeecg-boot # 接口前缀 VITE_GLOB_API_URL_PREFIX= + +#微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径 +VITE_APP_SUB_jeecg-app-1 = '//localhost:8092' diff --git a/.env.production b/.env.production index 35a4f018c..00d5ceb6a 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ # 是否启用mock VITE_USE_MOCK = true -# 公共路径 +# 发布路径 VITE_PUBLIC_PATH = / # 控制台不输出 @@ -10,19 +10,18 @@ VITE_DROP_CONSOLE = true # 是否启用gzip或brotli压缩 # 选项值: gzip | brotli | none # 如果需要多个可以使用“,”分隔 -VITE_BUILD_COMPRESS = 'none' +VITE_BUILD_COMPRESS = 'gzip' # 使用压缩时是否删除原始文件,默认为false VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false -# 接口父路径 -VITE_GLOB_API_URL=/basic-api +#后台接口父地址(必填) +VITE_GLOB_API_URL=/jeecgboot -# 文件上次地址(可选) -# 它可以由nginx转发,也可以直接写入实际地址 -VITE_GLOB_UPLOAD_URL=/upload +#后台接口全路径地址(必填) +VITE_GLOB_DOMAIN_URL=http://api3.boot.jeecg.com -# 接口父路径 +# 接口父路径前缀 VITE_GLOB_API_URL_PREFIX= # 是否启用图像压缩 diff --git a/.env.test b/.env.test index 469b307d4..92932c65e 100644 --- a/.env.test +++ b/.env.test @@ -1,36 +1,31 @@ -NODE_ENV=production -# Whether to open mock +# 是否启用mock VITE_USE_MOCK = true -# public path +# 发布路径 VITE_PUBLIC_PATH = / -# Delete console +# 控制台不输出 VITE_DROP_CONSOLE = true -# Whether to enable gzip or brotli compression -# Optional: gzip | brotli | none -# If you need multiple forms, you can use `,` to separate -VITE_BUILD_COMPRESS = 'none' +# 是否启用gzip或brotli压缩 +# 选项值: gzip | brotli | none +# 如果需要多个可以使用“,”分隔 +VITE_BUILD_COMPRESS = 'gzip' -# Whether to delete origin files when using compress, default false +# 使用压缩时是否删除原始文件,默认为false VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false -# Basic interface address SPA -VITE_GLOB_API_URL=/basic-api +#后台接口地址(必填) +VITE_GLOB_DOMAIN_URL=http://localhost:8080/jeecg-boot -# File upload address, optional -# It can be forwarded by nginx or write the actual address directly -VITE_GLOB_UPLOAD_URL=/upload - -# Interface prefix +# 接口父路径前缀 VITE_GLOB_API_URL_PREFIX= -# Whether to enable image compression +# 是否启用图像压缩 VITE_USE_IMAGEMIN= true -# use pwa +# 使用pwa VITE_USE_PWA = false -# Is it compatible with older browsers +# 是否兼容旧浏览器 VITE_LEGACY = false diff --git a/README.md b/README.md index a52917f21..68d015c33 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ JEECG BOOT 低代码平台(Vue3前端版本) =============== -当前最新版本: 1.0.0-beta(发布日期:未正式发布) +当前最新版本: 1.0.0-beta(预计发布日期 20220321) ## 简介 diff --git a/build/config/themeConfig.ts b/build/config/themeConfig.ts index c816b6dee..8dbe11891 100644 --- a/build/config/themeConfig.ts +++ b/build/config/themeConfig.ts @@ -1,6 +1,6 @@ import { generate } from '@ant-design/colors'; -export const primaryColor = '#0960bd'; +export const primaryColor = '#1890FF'; export const darkMode = 'light'; diff --git a/build/script/buildConf.ts b/build/script/buildConf.ts index a44a1d8e7..342c15411 100644 --- a/build/script/buildConf.ts +++ b/build/script/buildConf.ts @@ -5,18 +5,19 @@ import { GLOB_CONFIG_FILE_NAME, OUTPUT_DIR } from '../constant'; import fs, { writeFileSync } from 'fs-extra'; import chalk from 'chalk'; -import { getRootPath, getEnvConfig } from '../utils'; +import { getEnvConfig, getRootPath } from '../utils'; import { getConfigFileName } from '../getConfigFileName'; import pkg from '../../package.json'; -function createConfig( - { - configName, - config, - configFileName = GLOB_CONFIG_FILE_NAME, - }: { configName: string; config: any; configFileName?: string } = { configName: '', config: {} } -) { +interface CreateConfigParams { + configName: string; + config: any; + configFileName?: string; +} + +function createConfig(params: CreateConfigParams) { + const { configName, config, configFileName } = params; try { const windowConf = `window.${configName}`; // Ensure that the variable will not be modified @@ -40,5 +41,5 @@ function createConfig( export function runBuildConfig() { const config = getEnvConfig(); const configFileName = getConfigFileName(config); - createConfig({ config, configName: configFileName }); + createConfig({ config, configName: configFileName, configFileName: GLOB_CONFIG_FILE_NAME }); } diff --git a/build/utils.ts b/build/utils.ts index 3a5aa3706..989d1b4d9 100644 --- a/build/utils.ts +++ b/build/utils.ts @@ -28,12 +28,12 @@ export function wrapperEnv(envConf: Recordable): ViteEnv { if (envName === 'VITE_PORT') { realName = Number(realName); } - if (envName === 'VITE_PROXY') { - try { - realName = JSON.parse(realName); - } catch (error) { - realName = ''; - } + if (envName === 'VITE_PROXY' && realName) { + try { + realName = JSON.parse(realName.replace(/'/g, '"')); + } catch (error) { + realName = ''; + } } ret[envName] = realName; if (typeof realName === 'string') { @@ -50,7 +50,7 @@ export function wrapperEnv(envConf: Recordable): ViteEnv { */ function getConfFiles() { const script = process.env.npm_lifecycle_script; - const reg = new RegExp('--mode ([a-z]+)'); + const reg = new RegExp('--mode ([a-z_\\d]+)'); const result = reg.exec(script as string) as any; if (result) { const mode = result[1] as string; diff --git a/build/vite/plugin/index.ts b/build/vite/plugin/index.ts index 65a31b90c..7bd23f6ee 100644 --- a/build/vite/plugin/index.ts +++ b/build/vite/plugin/index.ts @@ -4,6 +4,7 @@ import vueJsx from '@vitejs/plugin-vue-jsx'; import legacy from '@vitejs/plugin-legacy'; import purgeIcons from 'vite-plugin-purge-icons'; import windiCSS from 'vite-plugin-windicss'; +import vueSetupExtend from 'vite-plugin-vue-setup-extend'; import { configHtmlPlugin } from './html'; import { configPwaConfig } from './pwa'; import { configMockPlugin } from './mock'; @@ -29,7 +30,10 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { vue(), // have to vueJsx(), + // support name + vueSetupExtend(), ]; + // vite-plugin-windicss vitePlugins.push(windiCSS()); @@ -67,7 +71,7 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { // rollup-plugin-gzip vitePlugins.push( - configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE) + configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE), ); // vite-plugin-pwa diff --git a/build/vite/plugin/styleImport.ts b/build/vite/plugin/styleImport.ts index 786580f85..982f2d734 100644 --- a/build/vite/plugin/styleImport.ts +++ b/build/vite/plugin/styleImport.ts @@ -14,7 +14,52 @@ export function configStyleImportPlugin(isBuild: boolean) { libraryName: 'ant-design-vue', esModule: true, resolveStyle: (name) => { - return `ant-design-vue/es/${name}/style/index`; + // 这里是“子组件”列表,无需额外引入样式文件 + const ignoreList = [ + 'typography-text', + 'typography-title', + 'typography-paragraph', + 'typography-link', + 'anchor-link', + 'sub-menu', + 'menu-item', + 'menu-item-group', + 'dropdown-button', + 'breadcrumb-item', + 'breadcrumb-separator', + 'input-password', + 'input-search', + 'input-group', + 'form-item', + 'radio-group', + 'checkbox-group', + 'layout-sider', + 'layout-content', + 'layout-footer', + 'layout-header', + 'step', + 'select-option', + 'select-opt-group', + 'card-grid', + 'card-meta', + 'collapse-panel', + 'descriptions-item', + 'list-item', + 'list-item-meta', + 'table-column', + 'table-column-group', + 'tab-pane', + 'tab-content', + 'timeline-item', + 'tree-node', + 'skeleton-input', + 'skeleton-avatar', + 'skeleton-title', + 'skeleton-paragraph', + 'skeleton-image', + 'skeleton-button', + ]; + return ignoreList.includes(name) ? '' : `ant-design-vue/es/${name}/style/index`; }, }, ], diff --git a/build/vite/plugin/theme.ts b/build/vite/plugin/theme.ts index d5aa9c5a6..d198d7748 100644 --- a/build/vite/plugin/theme.ts +++ b/build/vite/plugin/theme.ts @@ -66,7 +66,7 @@ export function configThemePlugin(isBuild: boolean): Plugin[] { 'border-color-base': '#303030', // 'border-color-split': '#30363d', 'item-active-bg': '#111b26', - 'app-content-background': 'rgb(255 255 255 / 4%)', + 'app-content-background': '#1e1e1e', 'tree-node-selected-bg': '#11263c', 'alert-success-border-color': '#274916', diff --git a/build/vite/proxy.ts b/build/vite/proxy.ts index dc23646d5..8525397b6 100644 --- a/build/vite/proxy.ts +++ b/build/vite/proxy.ts @@ -7,7 +7,7 @@ type ProxyItem = [string, string]; type ProxyList = ProxyItem[]; -type ProxyTargetList = Record string }>; +type ProxyTargetList = Record; const httpsRE = /^https:\/\//; diff --git "a/doc/\344\277\256\346\224\271\346\227\245\345\277\227.md" "b/doc/\344\277\256\346\224\271\346\227\245\345\277\227.md" deleted file mode 100644 index f23122037..000000000 --- "a/doc/\344\277\256\346\224\271\346\227\245\345\277\227.md" +++ /dev/null @@ -1,137 +0,0 @@ -## ✨ 功能优化---zhangyafei---2021-07-19 -- **添加增删改查demo** - - src/views/demo/system/test/TestDrawer.vue - - src/views/demo/system/test/test.data.ts - - src/api/demo/model/systemModel.ts - - src/api/demo/system.ts - - mock/demo/system.ts - - src/views/demo/system/test/index.vue -- **添加代码高亮编辑器** - - src/views/demo/codemirror/index.vue -- **添加日历组件** - - src/views/demo/fullcalendar/event-utils.ts - - src/views/demo/fullcalendar/index.vue -- **添加vexTable示例** - - src/views/demo/vextable/index.vue -- **添加JAreaLinkage示例** - - src/components/Form/src/componentMap.ts - - src/components/Form/src/types/index.ts - - src/components/Form/index.ts - - src/views/demo/form/index.vue - - src/assets/less/JAreaLinkage.less - - src/components/Form/src/components/JAreaLinkage.vue -- **修改示例路由配置** - - src/router/routes/modules/demo/feat.ts - - src/router/routes/modules/demo/comp.ts -- **修改路由国际化** - - src/locales/lang/zh_CN/routes/demo.ts -- **全局组件注册** - - src/main.ts -- **package添加组件依赖** - - package.json -- **路由跳转暂时屏蔽动画效果有bug冲突** - - src/layouts/page/index.vue - -## ✨ 功能优化---zhangyafei---2021-07-29 -- **添加一对多,一对一示例** - - src/views/demo/vextable/VexTableModal.vue - - src/views/demo/vextable/OneToOneModal.vue - - src/views/demo/vextable/modal.vue - - src/views/demo/vextable/index2.vue - - src/views/demo/vextable/index.vue - - src/views/demo/vextable/drawer.vue -- **添加嵌套子表格示例** - - src/views/demo/table/NestedTable.vue -- **常用antd 组件全局注入** - - src/components/registerGlobComp.ts -- **添加权限,指令用法示例代码** - - src/views/demo/permission/front/Btn.vue -- **添加三方组件注册文件** - - src/settings/registerThirdComp.ts -- **main.ts注释汉化** - - src/main.ts -## ✨ 功能优化---liusq---2021-08-19 -- **增加接口token** - - src/enums/httpEnum.ts - - src/utils/http/axios/index.ts -- **新增用户管理、角色管理** - - src/views/demo/system/roles/* - - src/views/demo/system/user/* -- **登录验证码功能** - - src/api/demo/model/systemModel.ts - - src/api/demo/system.ts - - src/api/model/baseModel.ts - - src/api/sys/model/userModel.ts - - src/api/sys/user.ts - - src/locales/lang/zh_CN/routes/demo.ts - - src/locales/lang/zh_CN/sys.ts - - src/router/routes/modules/demo/system.ts - - src/store/modules/user.ts -- **接口和moke路径修改** - - src/mock/demo/account.ts - - src/mock/demo/select-demo.ts - - src/mock/demo/system.ts - - src/mock/demo/table-demo.ts - - src/mock/demo/tree-demo.ts - - src/mock/sys/menu.ts - - src/mock/sys/user.ts - - src/mock/_util.ts - - src/api/sys/menu.ts - - src/api/sys/user.ts -- **table配置项修改** - - src/settings/componentSetting.ts -- **上传返回值修改** - - src/components/Upload/src/UploadModal.vue -## ✨ 功能完善---zhangyafei---2021-08-27 -- **添加租户功能** - -src/views/system/tenant/** -- **修改antd注册方式,改为全局注册** - -src/main.ts - -src/settings/registerThirdComp.ts -- **网络请求类翻译,添加全局操作成功顶部消息提示** - -src/utils/http/axios/Axios.ts - -src/utils/http/axios/index.ts - -src/-types/axios.d.ts -- **表格选择工具类样式修改** - -src/components/Table/src/BasicTable.vue -- **底层代码优化** - - src/api/demo/system.ts - - src/api/sys/user.ts - - src/router/guard/permissionGuard.ts - - src/store/modules/user.ts - - src/settings/projectSetting.ts - - src/main.ts - - mock/sys/user.ts - - package.json -## ✨ 功能完善---liusq---2021-08-27 -- **完善用户管理、角色管理功能** - - system/user/UserRecycleBinModal.vue - - system/user/UserDrawer.vue - - system/user/user.data.ts - - system/user/user.api.ts - - system/user/index.vue - - system/role/UserRoleDrawer.vue - - system/role/RoleDrawer.vue - - system/role/role.data.ts - - system/role/role.api.ts - - system/role/index.vue - - /locales/lang/zh-CN/routes/demo.ts - - /locales/lang/zh-CN/sys.ts - - /api/demo/system.ts -- **完善登录注册功能** - - src/api/sys/user.ts - - src/store/modules/user.ts - - src/views/sys/forget-password/step1.vue - - src/views/sys/forget-password/step2.vue - - src/views/sys/forget-password/step3.vue - - src/views/sys/login/ForgetPasswordForm.vue - - src/views/sys/login/MobileForm.vue - - src/views/sys/login/RegisterForm.vue - - src/views/sys/login/useLogin.ts - - src/assets/images/checkcode.png - -## ✨ 还原路由走本地---scott---2021-08-31 -- src\settings\projectSetting.ts - -## ✨ 功能完善---zyf---2021-08-31 -测试 diff --git "a/doc/\345\215\207\347\272\247sql" "b/doc/\345\215\207\347\272\247sql" deleted file mode 100644 index f5e1e9fce..000000000 --- "a/doc/\345\215\207\347\272\247sql" +++ /dev/null @@ -1,5 +0,0 @@ -###---zhangyafei---2021-08-31 租户、用户、角色 -update sys_permission set url='/system/tenant' ,component='/system/tenant/index' where id='1280350452934307841'; -update sys_permission set url='/system/user' ,component='/system/user/index' where id='3f915b2769fc80648e92d04e84ca059d'; -update sys_permission set url='/system/role' ,component='/system/role/index' where id='190c2b43bec6a5f7a4194a85db67d96a'; -###---zhangyafei---2021-08-31 diff --git a/index.html b/index.html index 5b99faf67..c80afd852 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ - + @@ -10,7 +10,11 @@ /> <%= title %> - + + + + diff --git a/src/components/Button/src/props.ts b/src/components/Button/src/props.ts index d79d378af..ef68cbb3a 100644 --- a/src/components/Button/src/props.ts +++ b/src/components/Button/src/props.ts @@ -10,10 +10,12 @@ export const buttonProps = { * Text after icon. */ postIcon: { type: String }, + type: { type: String }, /** * preIcon and postIcon icon size. * @default: 14 */ iconSize: { type: Number, default: 14 }, + isUpload:{type:Boolean,default:false}, onClick: { type: Function as PropType<(...args) => any>, default: null }, }; diff --git a/src/components/CardList/index.ts b/src/components/CardList/index.ts new file mode 100644 index 000000000..b977c1b16 --- /dev/null +++ b/src/components/CardList/index.ts @@ -0,0 +1,4 @@ +import { withInstall } from '/@/utils'; +import cardList from './src/CardList.vue'; + +export const CardList = withInstall(cardList); diff --git a/src/components/CardList/src/CardList.vue b/src/components/CardList/src/CardList.vue new file mode 100644 index 000000000..5ca2e0167 --- /dev/null +++ b/src/components/CardList/src/CardList.vue @@ -0,0 +1,178 @@ + + diff --git a/src/components/CardList/src/data.ts b/src/components/CardList/src/data.ts new file mode 100644 index 000000000..ac56cad91 --- /dev/null +++ b/src/components/CardList/src/data.ts @@ -0,0 +1,25 @@ +import { ref } from 'vue'; +//每行个数 +export const grid = ref(12); +// slider属性 +export const useSlider = (min = 6, max = 12) => { + // 每行显示个数滑动条 + const getMarks = () => { + const l = {}; + for (let i = min; i < max + 1; i++) { + l[i] = { + style: { + color: '#fff', + }, + label: i, + }; + } + return l; + }; + return { + min, + max, + marks: getMarks(), + step: 1, + }; +}; diff --git a/src/components/CodeEditor/src/typing.ts b/src/components/CodeEditor/src/typing.ts new file mode 100644 index 000000000..34b5ed1f4 --- /dev/null +++ b/src/components/CodeEditor/src/typing.ts @@ -0,0 +1,5 @@ +export enum MODE { + JSON = 'application/json', + HTML = 'htmlmixed', + JS = 'javascript', +} diff --git a/src/components/Cropper/src/CopperModal.vue b/src/components/Cropper/src/CopperModal.vue index 581c2fb00..e73569edf 100644 --- a/src/components/Cropper/src/CopperModal.vue +++ b/src/components/Cropper/src/CopperModal.vue @@ -186,7 +186,7 @@ try { setModalProps({ confirmLoading: true }); const result = await uploadApi({ name: 'file', file: blob, filename }); - emit('uploadSuccess', { source: previewSource.value, data: result.data }); + emit('uploadSuccess', { source: previewSource.value, data: result.data || result.message }); closeModal(); } finally { setModalProps({ confirmLoading: false }); diff --git a/src/components/Cropper/src/CropperAvatar.vue b/src/components/Cropper/src/CropperAvatar.vue index 52bf712f2..047fc9b13 100644 --- a/src/components/Cropper/src/CropperAvatar.vue +++ b/src/components/Cropper/src/CropperAvatar.vue @@ -91,9 +91,9 @@ } ); - function handleUploadSuccess({ source }) { + function handleUploadSuccess({ source,data }) { sourceValue.value = source; - emit('change', source); + emit('change', source, data); createMessage.success(t('component.cropper.uploadSuccess')); } diff --git a/src/components/Dropdown/src/Dropdown.vue b/src/components/Dropdown/src/Dropdown.vue index e55a8a56d..4c5fffe9d 100644 --- a/src/components/Dropdown/src/Dropdown.vue +++ b/src/components/Dropdown/src/Dropdown.vue @@ -1,19 +1,19 @@ diff --git a/src/views/demo/comp/flow-chart/dataTurbo.json b/src/views/demo/comp/flow-chart/dataTurbo.json deleted file mode 100644 index f6432c4e0..000000000 --- a/src/views/demo/comp/flow-chart/dataTurbo.json +++ /dev/null @@ -1,240 +0,0 @@ -{ - "flowElementList": [ - { - "incoming": [], - "outgoing": ["Flow_33inf2k"], - "dockers": [], - "type": 2, - "properties": { - "a": "efrwe", - "b": "wewe", - "name": "开始", - "x": 280, - "y": 200, - "text": { - "x": 280, - "y": 200, - "value": "开始" - }, - "logicFlowType": "bpmn:startEvent" - }, - "key": "Event_1d42u4p" - }, - { - "incoming": ["Flow_379e0o9"], - "outgoing": [], - "dockers": [], - "type": 3, - "properties": { - "a": "efrwe", - "b": "wewe", - "name": "结束", - "x": 920, - "y": 200, - "text": { - "x": 920, - "y": 200, - "value": "结束" - }, - "logicFlowType": "bpmn:endEvent" - }, - "key": "Event_08p8i6q" - }, - { - "incoming": ["Flow_0pfouf0"], - "outgoing": ["Flow_3918lhh"], - "dockers": [], - "type": 6, - "properties": { - "a": "efrwe", - "b": "wewe", - "name": "网关", - "x": 580, - "y": 200, - "text": { - "x": 580, - "y": 200, - "value": "网关" - }, - "logicFlowType": "bpmn:exclusiveGateway" - }, - "key": "Gateway_1fngqgj" - }, - { - "incoming": ["Flow_33inf2k"], - "outgoing": ["Flow_0pfouf0"], - "dockers": [], - "type": 4, - "properties": { - "a": "efrwe", - "b": "wewe", - "name": "用户", - "x": 420, - "y": 200, - "text": { - "x": 420, - "y": 200, - "value": "用户" - }, - "logicFlowType": "bpmn:userTask" - }, - "key": "Activity_2mgtaia" - }, - { - "incoming": ["Flow_3918lhh"], - "outgoing": ["Flow_379e0o9"], - "dockers": [], - "type": 5, - "properties": { - "a": "efrwe", - "b": "wewe", - "name": "服务", - "x": 760, - "y": 200, - "text": { - "x": 760, - "y": 200, - "value": "服务" - }, - "logicFlowType": "bpmn:serviceTask" - }, - "key": "Activity_1sp8qc8" - }, - { - "incoming": ["Event_1d42u4p"], - "outgoing": ["Activity_2mgtaia"], - "type": 1, - "dockers": [], - "properties": { - "name": "边", - "text": { - "x": 331, - "y": 200, - "value": "边" - }, - "startPoint": { - "x": 298, - "y": 200 - }, - "endPoint": { - "x": 370, - "y": 200 - }, - "pointsList": [ - { - "x": 298, - "y": 200 - }, - { - "x": 370, - "y": 200 - } - ], - "logicFlowType": "bpmn:sequenceFlow" - }, - "key": "Flow_33inf2k" - }, - { - "incoming": ["Activity_2mgtaia"], - "outgoing": ["Gateway_1fngqgj"], - "type": 1, - "dockers": [], - "properties": { - "name": "边2", - "text": { - "x": 507, - "y": 200, - "value": "边2" - }, - "startPoint": { - "x": 470, - "y": 200 - }, - "endPoint": { - "x": 555, - "y": 200 - }, - "pointsList": [ - { - "x": 470, - "y": 200 - }, - { - "x": 555, - "y": 200 - } - ], - "logicFlowType": "bpmn:sequenceFlow" - }, - "key": "Flow_0pfouf0" - }, - { - "incoming": ["Gateway_1fngqgj"], - "outgoing": ["Activity_1sp8qc8"], - "type": 1, - "dockers": [], - "properties": { - "name": "边3", - "text": { - "x": 664, - "y": 200, - "value": "边3" - }, - "startPoint": { - "x": 605, - "y": 200 - }, - "endPoint": { - "x": 710, - "y": 200 - }, - "pointsList": [ - { - "x": 605, - "y": 200 - }, - { - "x": 710, - "y": 200 - } - ], - "logicFlowType": "bpmn:sequenceFlow" - }, - "key": "Flow_3918lhh" - }, - { - "incoming": ["Activity_1sp8qc8"], - "outgoing": ["Event_08p8i6q"], - "type": 1, - "dockers": [], - "properties": { - "name": "边4", - "text": { - "x": 871, - "y": 200, - "value": "边4" - }, - "startPoint": { - "x": 810, - "y": 200 - }, - "endPoint": { - "x": 902, - "y": 200 - }, - "pointsList": [ - { - "x": 810, - "y": 200 - }, - { - "x": 902, - "y": 200 - } - ], - "logicFlowType": "bpmn:sequenceFlow" - }, - "key": "Flow_379e0o9" - } - ] -} diff --git a/src/views/demo/comp/flow-chart/index.vue b/src/views/demo/comp/flow-chart/index.vue deleted file mode 100644 index 4d28c4f09..000000000 --- a/src/views/demo/comp/flow-chart/index.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/src/views/demo/comp/loading/index.vue b/src/views/demo/comp/loading/index.vue index 318d7139f..898856183 100644 --- a/src/views/demo/comp/loading/index.vue +++ b/src/views/demo/comp/loading/index.vue @@ -6,7 +6,7 @@ 全屏 Loading 容器内 Loading - + @@ -37,6 +37,8 @@ const compState = reactive({ absolute: false, loading: false, + theme: 'dark', + background: 'rgba(111,111,111,.7)', tip: '加载中...', }); const [openFullLoading, closeFullLoading] = useLoading({ diff --git a/src/views/demo/comp/qrcode/index.vue b/src/views/demo/comp/qrcode/index.vue index 65c91048c..8112b20b8 100644 --- a/src/views/demo/comp/qrcode/index.vue +++ b/src/views/demo/comp/qrcode/index.vue @@ -29,7 +29,7 @@ diff --git a/src/views/demo/editor/markdown/index.vue b/src/views/demo/editor/markdown/index.vue index 56a5f5f04..f2995a738 100644 --- a/src/views/demo/editor/markdown/index.vue +++ b/src/views/demo/editor/markdown/index.vue @@ -1,22 +1,30 @@ diff --git a/src/views/demo/feat/tabs/TabDetail.vue b/src/views/demo/feat/tabs/TabDetail.vue new file mode 100644 index 000000000..d768cca1e --- /dev/null +++ b/src/views/demo/feat/tabs/TabDetail.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/views/demo/feat/tabs/index.vue b/src/views/demo/feat/tabs/index.vue index eccdc63e1..dcaf5d0ea 100644 --- a/src/views/demo/feat/tabs/index.vue +++ b/src/views/demo/feat/tabs/index.vue @@ -16,20 +16,28 @@ 关闭当前 刷新当前 + + + + 打开{{ index }}详情页 + + diff --git a/src/views/demo/jeecg/AsyncTreeTable.vue b/src/views/demo/jeecg/AsyncTreeTable.vue new file mode 100644 index 000000000..b150dcb4b --- /dev/null +++ b/src/views/demo/jeecg/AsyncTreeTable.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/ImgDragSort.vue b/src/views/demo/jeecg/ImgDragSort.vue new file mode 100644 index 000000000..9709b1fa4 --- /dev/null +++ b/src/views/demo/jeecg/ImgDragSort.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/views/demo/jeecg/ImgTurnPage.vue b/src/views/demo/jeecg/ImgTurnPage.vue new file mode 100644 index 000000000..dd5bfa2d2 --- /dev/null +++ b/src/views/demo/jeecg/ImgTurnPage.vue @@ -0,0 +1,158 @@ + + + diff --git a/src/views/demo/jeecg/InnerExpandTable.vue b/src/views/demo/jeecg/InnerExpandTable.vue new file mode 100644 index 000000000..af47dc5d0 --- /dev/null +++ b/src/views/demo/jeecg/InnerExpandTable.vue @@ -0,0 +1,249 @@ + + + + diff --git a/src/views/demo/jeecg/JCodeEditDemo.vue b/src/views/demo/jeecg/JCodeEditDemo.vue new file mode 100644 index 000000000..92243b500 --- /dev/null +++ b/src/views/demo/jeecg/JCodeEditDemo.vue @@ -0,0 +1,58 @@ + + diff --git a/src/views/demo/jeecg/JEditorDemo.vue b/src/views/demo/jeecg/JEditorDemo.vue new file mode 100644 index 000000000..af47222e9 --- /dev/null +++ b/src/views/demo/jeecg/JEditorDemo.vue @@ -0,0 +1,102 @@ + + + + + + + diff --git a/src/views/demo/jeecg/JUploadDemo.vue b/src/views/demo/jeecg/JUploadDemo.vue new file mode 100644 index 000000000..e1e78637a --- /dev/null +++ b/src/views/demo/jeecg/JUploadDemo.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo1.vue b/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo1.vue new file mode 100644 index 000000000..3f22d48b3 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo1.vue @@ -0,0 +1,388 @@ + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo2.vue b/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo2.vue new file mode 100644 index 000000000..c37223cdc --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo2.vue @@ -0,0 +1,181 @@ + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo3.vue b/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo3.vue new file mode 100644 index 000000000..ad3bd4572 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo3.vue @@ -0,0 +1,139 @@ + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo4.vue b/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo4.vue new file mode 100644 index 000000000..116ee3d6e --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/JVxeDemo4.vue @@ -0,0 +1,154 @@ + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/func-demo/JSBCDemo.vue b/src/views/demo/jeecg/JVxeTableDemo/func-demo/JSBCDemo.vue new file mode 100644 index 000000000..c52c055b0 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/func-demo/JSBCDemo.vue @@ -0,0 +1,221 @@ + + + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/func-demo/PopupSubTable.vue b/src/views/demo/jeecg/JVxeTableDemo/func-demo/PopupSubTable.vue new file mode 100644 index 000000000..a86906877 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/func-demo/PopupSubTable.vue @@ -0,0 +1,253 @@ + + + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/func-demo/SocketReload.vue b/src/views/demo/jeecg/JVxeTableDemo/func-demo/SocketReload.vue new file mode 100644 index 000000000..610b4a1d7 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/func-demo/SocketReload.vue @@ -0,0 +1,111 @@ + + + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/index.vue b/src/views/demo/jeecg/JVxeTableDemo/index.vue new file mode 100644 index 000000000..623b18e24 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/index.vue @@ -0,0 +1,29 @@ + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/layout-demo/ErpTemplate.vue b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/ErpTemplate.vue new file mode 100644 index 000000000..38194c7a4 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/ErpTemplate.vue @@ -0,0 +1,313 @@ + + + + + diff --git a/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template1.vue b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template1.vue new file mode 100644 index 000000000..0b4862914 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template1.vue @@ -0,0 +1,327 @@ + + + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template2.vue b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template2.vue new file mode 100644 index 000000000..8bea95c4d --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template2.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template3.vue b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template3.vue new file mode 100644 index 000000000..c889e4fe6 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template3.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template4.vue b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template4.vue new file mode 100644 index 000000000..2b01b9543 --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template4.vue @@ -0,0 +1,346 @@ + + + + + diff --git a/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template5.vue b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template5.vue new file mode 100644 index 000000000..5cc48c2ad --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/Template5.vue @@ -0,0 +1,224 @@ + + + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JVxeTableDemo/layout-demo/index.vue b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/index.vue new file mode 100644 index 000000000..cf38f322a --- /dev/null +++ b/src/views/demo/jeecg/JVxeTableDemo/layout-demo/index.vue @@ -0,0 +1,38 @@ + + + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/JeecgComponents.vue b/src/views/demo/jeecg/JeecgComponents.vue new file mode 100644 index 000000000..ea8bfb094 --- /dev/null +++ b/src/views/demo/jeecg/JeecgComponents.vue @@ -0,0 +1,85 @@ + + diff --git a/src/views/demo/jeecg/JeecgPdfView.vue b/src/views/demo/jeecg/JeecgPdfView.vue new file mode 100644 index 000000000..d0494db83 --- /dev/null +++ b/src/views/demo/jeecg/JeecgPdfView.vue @@ -0,0 +1,97 @@ + + + diff --git a/src/views/demo/jeecg/PrintDemo.vue b/src/views/demo/jeecg/PrintDemo.vue new file mode 100644 index 000000000..f6f3b0e7e --- /dev/null +++ b/src/views/demo/jeecg/PrintDemo.vue @@ -0,0 +1,151 @@ + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/TableTotal.vue b/src/views/demo/jeecg/TableTotal.vue new file mode 100644 index 000000000..389df2fc5 --- /dev/null +++ b/src/views/demo/jeecg/TableTotal.vue @@ -0,0 +1,59 @@ + + + \ No newline at end of file diff --git a/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue b/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue new file mode 100644 index 000000000..544168a3c --- /dev/null +++ b/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue b/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue new file mode 100644 index 000000000..f6f6e3e08 --- /dev/null +++ b/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/views/demo/jeecg/erplist/components/JeecgOrderCustomerModal.vue b/src/views/demo/jeecg/erplist/components/JeecgOrderCustomerModal.vue new file mode 100644 index 000000000..e9021e54a --- /dev/null +++ b/src/views/demo/jeecg/erplist/components/JeecgOrderCustomerModal.vue @@ -0,0 +1,57 @@ + + diff --git a/src/views/demo/jeecg/erplist/components/JeecgOrderModal.vue b/src/views/demo/jeecg/erplist/components/JeecgOrderModal.vue new file mode 100644 index 000000000..f29344e21 --- /dev/null +++ b/src/views/demo/jeecg/erplist/components/JeecgOrderModal.vue @@ -0,0 +1,52 @@ + + diff --git a/src/views/demo/jeecg/erplist/components/JeecgOrderTicketModal.vue b/src/views/demo/jeecg/erplist/components/JeecgOrderTicketModal.vue new file mode 100644 index 000000000..12c72dd18 --- /dev/null +++ b/src/views/demo/jeecg/erplist/components/JeecgOrderTicketModal.vue @@ -0,0 +1,57 @@ + + diff --git a/src/views/demo/jeecg/erplist/erplist.api.ts b/src/views/demo/jeecg/erplist/erplist.api.ts new file mode 100644 index 000000000..f5fa8698d --- /dev/null +++ b/src/views/demo/jeecg/erplist/erplist.api.ts @@ -0,0 +1,144 @@ +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/src/views/demo/jeecg/erplist/erplist.data.ts b/src/views/demo/jeecg/erplist/erplist.data.ts new file mode 100644 index 000000000..d3ca255fa --- /dev/null +++ b/src/views/demo/jeecg/erplist/erplist.data.ts @@ -0,0 +1,239 @@ +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[3|4|5|7|8|9][0-9]\d{8}$/, 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 hh:mm:ss', + }, + }, + { + label: 'orderId', + field: 'orderId', + component: 'Input', + show: false + } +]; diff --git a/src/views/demo/jeecg/erplist/index.vue b/src/views/demo/jeecg/erplist/index.vue new file mode 100644 index 000000000..6a48fd069 --- /dev/null +++ b/src/views/demo/jeecg/erplist/index.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/src/views/demo/jeecg/index.vue b/src/views/demo/jeecg/index.vue new file mode 100644 index 000000000..b88539b24 --- /dev/null +++ b/src/views/demo/jeecg/index.vue @@ -0,0 +1,52 @@ + + diff --git a/src/views/demo/jeecg/jeecgComponents.data.ts b/src/views/demo/jeecg/jeecgComponents.data.ts new file mode 100644 index 000000000..02b793c97 --- /dev/null +++ b/src/views/demo/jeecg/jeecgComponents.data.ts @@ -0,0 +1,596 @@ +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: 'dxxlk', + component: 'JDictSelectTag', + label: '字典下拉单选', + colProps: {span: 12}, + componentProps: { + dictCode: 'sex', + }, + }, + { + field: 'dxxlk', + 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: 'user2', + component: 'JSelectUser', + label: '用户选择组件', + helpMessage: ['component模式'], + componentProps: { + labelKey: 'realname', + rowKey: 'id', + showSelectTable: false + }, + 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: '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: '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", + }, + 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", + 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}) => { + 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: '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}, + }]; diff --git a/src/views/demo/jeecg/model/JeecgOrderModal.vue b/src/views/demo/jeecg/model/JeecgOrderModal.vue new file mode 100644 index 000000000..489d7f768 --- /dev/null +++ b/src/views/demo/jeecg/model/JeecgOrderModal.vue @@ -0,0 +1,94 @@ + + diff --git a/src/views/demo/page/account/setting/BaseSetting.vue b/src/views/demo/page/account/setting/BaseSetting.vue index 20a6ebeab..03ae95aa1 100644 --- a/src/views/demo/page/account/setting/BaseSetting.vue +++ b/src/views/demo/page/account/setting/BaseSetting.vue @@ -8,7 +8,7 @@
头像
{ - const data = await accountInfoApi(); - setFieldsValue(data); + //const data = await accountInfoApi(); + const userInfo = userStore.getUserInfo; + setFieldsValue(userInfo); }); const avatar = computed(() => { @@ -65,20 +66,36 @@ return avatar || headerImg; }); - function updateAvatar(src: string) { + function updateAvatar(src: string, data:string) { + console.log("data====》",data) const userinfo = userStore.getUserInfo; - userinfo.avatar = src; + userinfo.avatar = data; userStore.setUserInfo(userinfo); } + /** + *更新基本信息 + * */ + async function handleSubmit() { + try { + let values = await validate(); + console.log("values",values); + //提交表单 + defHttp.post({url: '/sys/user/appEdit', params:values}); + const userinfo = userStore.getUserInfo; + Object.assign(userinfo,values); + userStore.setUserInfo(userinfo); + createMessage.success("更新成功") + } catch(e) { + console.log("e",e) + } + } return { avatar, register, - uploadApi: uploadApi as any, + uploadImg, updateAvatar, - handleSubmit: () => { - createMessage.success('更新成功!'); - }, + handleSubmit }; }, }); diff --git a/src/views/demo/page/account/setting/SecureSetting.vue b/src/views/demo/page/account/setting/SecureSetting.vue index 5f7ac21d4..c41d99444 100644 --- a/src/views/demo/page/account/setting/SecureSetting.vue +++ b/src/views/demo/page/account/setting/SecureSetting.vue @@ -6,7 +6,7 @@ @@ -18,18 +18,36 @@ + diff --git a/src/views/demo/setup/index.vue b/src/views/demo/setup/index.vue index 4ca5fd436..17d254f2e 100644 --- a/src/views/demo/setup/index.vue +++ b/src/views/demo/setup/index.vue @@ -8,7 +8,7 @@ import { PageWrapper } from '/@/components/Page'; import { useDesign } from '/@/hooks/web/useDesign'; import intro from 'intro.js'; - import 'intro.js/introjs.css'; + import 'intro.js/minified/introjs.min.css'; export default defineComponent({ components: { PageWrapper }, diff --git a/src/views/demo/system/account/index.vue b/src/views/demo/system/account/index.vue index d75a77c00..0e62d6cc6 100644 --- a/src/views/demo/system/account/index.vue +++ b/src/views/demo/system/account/index.vue @@ -2,7 +2,7 @@ - - diff --git a/src/views/system/message/manage/manage.api.ts b/src/views/system/message/manage/manage.api.ts index a3100c8e5..b83d6c274 100644 --- a/src/views/system/message/manage/manage.api.ts +++ b/src/views/system/message/manage/manage.api.ts @@ -1,8 +1,8 @@ -import { unref } from 'vue' -import { defHttp } from '/@/utils/http/axios' -import { useMessage } from '/@/hooks/web/useMessage' +import { unref } from 'vue'; +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from '/@/hooks/web/useMessage'; -const { createConfirm } = useMessage() +const { createConfirm } = useMessage(); export enum Api { list = '/sys/message/sysMessage/list', @@ -14,7 +14,7 @@ export enum Api { edit = '/sys/message/sysMessage/edit', } -export const list = (params) => defHttp.get({ url: Api.list, params }) +export const list = (params) => defHttp.get({ url: Api.list, params }); /** * 批量删除 @@ -24,8 +24,8 @@ export const list = (params) => defHttp.get({ url: Api.list, params }) export const deleteBatch = (params, confirm = false) => { return new Promise((resolve, reject) => { const doDelete = () => { - resolve(defHttp.delete({ url: Api.deleteBatch, params }, { joinParamsToUrl: true })) - } + resolve(defHttp.delete({ url: Api.deleteBatch, params }, { joinParamsToUrl: true })); + }; if (confirm) { createConfirm({ iconType: 'warning', @@ -33,20 +33,20 @@ export const deleteBatch = (params, confirm = false) => { content: '确定要删除吗?', onOk: () => doDelete(), onCancel: () => reject(), - }) + }); } else { - doDelete() + doDelete(); } - }) -} + }); +}; /** * 保存或者更改消息模板 */ export const saveOrUpdate = (params, isUpdate) => { if (unref(isUpdate)) { - return defHttp.put({ url: Api.edit, params }) + return defHttp.put({ url: Api.edit, params }); } else { - return defHttp.post({ url: Api.save, params }) + return defHttp.post({ url: Api.save, params }); } -} +}; diff --git a/src/views/system/message/manage/manage.data.ts b/src/views/system/message/manage/manage.data.ts index 87495b01a..97b2a9283 100644 --- a/src/views/system/message/manage/manage.data.ts +++ b/src/views/system/message/manage/manage.data.ts @@ -1,4 +1,4 @@ -import { BasicColumn, FormSchema } from '/@/components/Table' +import { BasicColumn, FormSchema } from '/@/components/Table'; export const columns: BasicColumn[] = [ { @@ -37,7 +37,7 @@ export const columns: BasicColumn[] = [ dataIndex: 'esType_dictText', width: 120, }, -] +]; export const searchFormSchema: FormSchema[] = [ { @@ -61,7 +61,7 @@ export const searchFormSchema: FormSchema[] = [ dictCode: 'msgType', }, }, -] +]; export const formSchemas: FormSchema[] = [ { @@ -131,4 +131,4 @@ export const formSchemas: FormSchema[] = [ component: 'InputTextArea', componentProps: { readOnly: true }, }, -] +]; diff --git a/src/views/system/message/template/TemplateModal.vue b/src/views/system/message/template/TemplateModal.vue index 24e508742..6eb91931f 100644 --- a/src/views/system/message/template/TemplateModal.vue +++ b/src/views/system/message/template/TemplateModal.vue @@ -1,46 +1,46 @@ diff --git a/src/views/system/message/template/TemplateTestModal.vue b/src/views/system/message/template/TemplateTestModal.vue index ade95f583..eeea2f5af 100644 --- a/src/views/system/message/template/TemplateTestModal.vue +++ b/src/views/system/message/template/TemplateTestModal.vue @@ -1,40 +1,40 @@ diff --git a/src/views/system/message/template/index.less b/src/views/system/message/template/index.less index 360fab9e0..15e8d49c2 100644 --- a/src/views/system/message/template/index.less +++ b/src/views/system/message/template/index.less @@ -2,4 +2,4 @@ @prefix-cls: ~'@{namespace}-message-template'; .@{prefix-cls} { -} \ No newline at end of file +} diff --git a/src/views/system/message/template/index.vue b/src/views/system/message/template/index.vue index b02adedd4..28077a312 100644 --- a/src/views/system/message/template/index.vue +++ b/src/views/system/message/template/index.vue @@ -24,134 +24,129 @@ - - + +
- diff --git a/src/views/system/message/template/template.api.ts b/src/views/system/message/template/template.api.ts index ef8fb8ccb..fe4f03c5a 100644 --- a/src/views/system/message/template/template.api.ts +++ b/src/views/system/message/template/template.api.ts @@ -1,8 +1,8 @@ -import { unref } from 'vue' -import { defHttp } from '/@/utils/http/axios' -import { useMessage } from '/@/hooks/web/useMessage' +import { unref } from 'vue'; +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from '/@/hooks/web/useMessage'; -const { createConfirm } = useMessage() +const { createConfirm } = useMessage(); export enum Api { list = '/sys/message/sysMessageTemplate/list', @@ -16,7 +16,7 @@ export enum Api { send = '/sys/message/sysMessageTemplate/sendMsg', } -export const list = (params) => defHttp.get({ url: Api.list, params }) +export const list = (params) => defHttp.get({ url: Api.list, params }); /** * 批量删除 @@ -26,8 +26,8 @@ export const list = (params) => defHttp.get({ url: Api.list, params }) export const deleteBatch = (params, confirm = false) => { return new Promise((resolve, reject) => { const doDelete = () => { - resolve(defHttp.delete({ url: Api.deleteBatch, params }, { joinParamsToUrl: true })) - } + resolve(defHttp.delete({ url: Api.deleteBatch, params }, { joinParamsToUrl: true })); + }; if (confirm) { createConfirm({ iconType: 'warning', @@ -35,26 +35,26 @@ export const deleteBatch = (params, confirm = false) => { content: '确定要删除吗?', onOk: () => doDelete(), onCancel: () => reject(), - }) + }); } else { - doDelete() + doDelete(); } - }) -} + }); +}; /** * 保存或者更改消息模板 */ export const saveOrUpdate = (params, isUpdate) => { if (unref(isUpdate)) { - return defHttp.put({ url: Api.edit, params }) + return defHttp.put({ url: Api.edit, params }); } else { - return defHttp.post({ url: Api.save, params }) + return defHttp.post({ url: Api.save, params }); } -} +}; /** * 发送消息测试 * @param params */ -export const sendMessageTest = (params) => defHttp.post({ url: Api.send, params }) +export const sendMessageTest = (params) => defHttp.post({ url: Api.send, params }); diff --git a/src/views/system/message/template/template.data.ts b/src/views/system/message/template/template.data.ts index e655298fb..317f2433e 100644 --- a/src/views/system/message/template/template.data.ts +++ b/src/views/system/message/template/template.data.ts @@ -1,5 +1,5 @@ -import { BasicColumn, FormSchema } from '/@/components/Table' -import { rules } from '/@/utils/helper/validator' +import { BasicColumn, FormSchema } from '/@/components/Table'; +import { rules } from '/@/utils/helper/validator'; export const columns: BasicColumn[] = [ { @@ -23,21 +23,21 @@ export const columns: BasicColumn[] = [ width: 100, customRender: function ({ text }) { if (text == '1') { - return '短信' + return '短信'; } if (text == '2') { - return '邮件' + return '邮件'; } if (text == '3') { - return '微信' + return '微信'; } if (text == '4') { - return '系统' + return '系统'; } - return text + return text; }, }, -] +]; export const searchFormSchema: FormSchema[] = [ { @@ -58,7 +58,7 @@ export const searchFormSchema: FormSchema[] = [ dictCode: 'msgType', }, }, -] +]; export const formSchemas: FormSchema[] = [ { @@ -78,15 +78,11 @@ export const formSchemas: FormSchema[] = [ field: 'templateCode', component: 'Input', dynamicRules: ({ model, schema }) => { - return [ - { required: true, message: '请输入模板编码!' }, - ...rules.duplicateCheckRule('sys_sms_template', 'template_code', model, schema, true), - ] + return [{ required: true, message: '请输入模板编码!' }, ...rules.duplicateCheckRule('sys_sms_template', 'template_code', model, schema, true)]; }, // 编辑模式下不可修改编码 dynamicDisabled: (params) => !!params.values.id, - } - , + }, { label: '模板类型', field: 'templateType', @@ -108,7 +104,7 @@ export const formSchemas: FormSchema[] = [ }, }, ifShow: ({ values }) => { - return !['2', '4'].includes(values.templateType) + return !['2', '4'].includes(values.templateType); }, }, @@ -117,10 +113,10 @@ export const formSchemas: FormSchema[] = [ field: 'templateContent', component: 'JEditor', ifShow: ({ values }) => { - return ['2', '4'].includes(values.templateType) + return ['2', '4'].includes(values.templateType); }, }, -] +]; export const sendTestFormSchemas: FormSchema[] = [ { @@ -165,4 +161,4 @@ export const sendTestFormSchemas: FormSchema[] = [ component: 'Input', required: true, }, -] +]; diff --git a/src/views/system/notice/DetailModal.vue b/src/views/system/notice/DetailModal.vue index 1690eebbf..7497e73a6 100644 --- a/src/views/system/notice/DetailModal.vue +++ b/src/views/system/notice/DetailModal.vue @@ -1,11 +1,11 @@