Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

hmc před 1 rokem
rodič
revize
a179a89930
38 změnil soubory, kde provedl 1071 přidání a 270 odebrání
  1. 6 0
      zkqy-admin/pom.xml
  2. 6 6
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/LoginPageConfigurationController.java
  3. 6 6
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysBpmNodeScriptController.java
  4. 2 2
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysConfigController.java
  5. 6 6
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysDeptController.java
  6. 4 4
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysDictDataController.java
  7. 1 1
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysDictTypeController.java
  8. 6 6
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysDragTableStyleController.java
  9. 6 6
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysEngineeringController.java
  10. 3 3
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysLoginController.java
  11. 8 8
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysMenuController.java
  12. 6 6
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysRoleController.java
  13. 8 8
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysTenantController.java
  14. 12 12
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysUserController.java
  15. 51 13
      zkqy-admin/src/main/java/com/zkqy/web/controller/system/ThirdPartLoginController.java
  16. 4 4
      zkqy-admin/src/main/resources/application.yml
  17. 12 12
      zkqy-generator/src/main/java/com/zkqy/generator/controller/GenController.java
  18. 1 1
      zkqy-generator/src/main/resources/vm/java/controller.java.vm
  19. 8 8
      zkqy-quartz/src/main/java/com/zkqy/quartz/controller/SysJobController.java
  20. 5 5
      zkqy-quartz/src/main/java/com/zkqy/quartz/controller/SysJobLogController.java
  21. 1 1
      zkqy-ui/package.json
  22. binární
      zkqy-ui/public/favicon.ico
  23. binární
      zkqy-ui/public/favicon2.ico
  24. 19 0
      zkqy-ui/src/api/asEditor/index.js
  25. 43 0
      zkqy-ui/src/api/homePage/index.js
  26. 5 4
      zkqy-ui/src/layout/components/AppMain.vue
  27. 5 4
      zkqy-ui/src/layout/components/TagsView/index.vue
  28. 20 16
      zkqy-ui/src/layout/index.vue
  29. 5 0
      zkqy-ui/src/main.js
  30. 10 7
      zkqy-ui/src/views/adminLogin.vue
  31. 1 0
      zkqy-ui/src/views/asEditor/components/headerTop1/index.vue
  32. 3 1
      zkqy-ui/src/views/asEditor/components/rightslider/decorate/index.vue
  33. 39 20
      zkqy-ui/src/views/asEditor/layout/home/home.vue
  34. 30 0
      zkqy-ui/src/views/asEditor/layout/home/index.vue
  35. 584 18
      zkqy-ui/src/views/index.vue
  36. 47 4
      zkqy-ui/src/views/loading.vue
  37. 12 7
      zkqy-ui/src/views/login.vue
  38. 86 71
      zkqy-ui/src/views/system/tenant/index.vue

+ 6 - 0
zkqy-admin/pom.xml

@@ -74,6 +74,12 @@
             <artifactId>jodd-http</artifactId>
             <version>6.2.1</version>
         </dependency>
+
+        <dependency>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>3.10.0</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 6 - 6
zkqy-admin/src/main/java/com/zkqy/web/controller/system/LoginPageConfigurationController.java

@@ -41,7 +41,7 @@ public class LoginPageConfigurationController extends BaseController {
     /**
      * 查询登录页面配置信息列表
      */
-    @PreAuthorize("@ss.hasPermi('system:configuration:list')")
+    //@PreAuthorize("@ss.hasPermi('system:configuration:list')")
     @GetMapping("/list")
     @ApiOperation(value = "查询登录页面配置信息列表")
     public TableDataInfo list(LoginPageConfiguration loginPageConfiguration) {
@@ -53,7 +53,7 @@ public class LoginPageConfigurationController extends BaseController {
     /**
      * 导出登录页面配置信息列表
      */
-    @PreAuthorize("@ss.hasPermi('system:configuration:export')")
+    //@PreAuthorize("@ss.hasPermi('system:configuration:export')")
     @Log(title = "登录页面配置信息", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @ApiOperation(value = "导出登录页面配置信息列表")
@@ -66,7 +66,7 @@ public class LoginPageConfigurationController extends BaseController {
     /**
      * 获取登录页面配置信息详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:configuration:query')")
+    //@PreAuthorize("@ss.hasPermi('system:configuration:query')")
     @GetMapping(value = "getInfoByTenantId")
     @ApiOperation(value = "获取登录页面配置信息详细信息")
     public AjaxResult getInfo(Long tenantId, String loginType) {
@@ -85,7 +85,7 @@ public class LoginPageConfigurationController extends BaseController {
     /**
      * 新增登录页面配置信息
      */
-    @PreAuthorize("@ss.hasPermi('system:configuration:add')")
+    //@PreAuthorize("@ss.hasPermi('system:configuration:add')")
     @Log(title = "登录页面配置信息", businessType = BusinessType.INSERT)
     @PostMapping
     @ApiOperation(value = "新增登录页面配置信息")
@@ -96,7 +96,7 @@ public class LoginPageConfigurationController extends BaseController {
     /**
      * 修改登录页面配置信息
      */
-    @PreAuthorize("@ss.hasPermi('system:configuration:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:configuration:edit')")
     @Log(title = "登录页面配置信息", businessType = BusinessType.UPDATE)
     @PutMapping
     @ApiOperation(value = "修改登录页面配置信息")
@@ -107,7 +107,7 @@ public class LoginPageConfigurationController extends BaseController {
     /**
      * 删除登录页面配置信息
      */
-    @PreAuthorize("@ss.hasPermi('system:configuration:remove')")
+    //@PreAuthorize("@ss.hasPermi('system:configuration:remove')")
     @Log(title = "登录页面配置信息", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     @ApiOperation(value = "删除登录页面配置信息")

+ 6 - 6
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysBpmNodeScriptController.java

@@ -40,7 +40,7 @@ public class SysBpmNodeScriptController extends BaseController
     /**
      * 查询流程节点脚本列表
      */
-//    @PreAuthorize("@ss.hasPermi('system:script:list')")
+//    //@PreAuthorize("@ss.hasPermi('system:script:list')")
     @GetMapping("/list")
     @ApiOperation(value = "查询流程节点脚本列表")
     public TableDataInfo list(SysBpmNodeScript sysBpmNodeScript)
@@ -53,7 +53,7 @@ public class SysBpmNodeScriptController extends BaseController
     /**
      * 导出流程节点脚本列表
      */
-//    @PreAuthorize("@ss.hasPermi('system:script:export')")
+//    //@PreAuthorize("@ss.hasPermi('system:script:export')")
     @Log(title = "流程节点脚本", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @ApiOperation(value = "导出流程节点脚本列表")
@@ -67,7 +67,7 @@ public class SysBpmNodeScriptController extends BaseController
     /**
      * 获取流程节点脚本详细信息
      */
-//    @PreAuthorize("@ss.hasPermi('system:script:query')")
+//    //@PreAuthorize("@ss.hasPermi('system:script:query')")
     @GetMapping(value = "/{id}")
     @ApiOperation(value = "获取流程节点脚本详细信息")
     public AjaxResult getInfo(@PathVariable("id") Long id)
@@ -78,7 +78,7 @@ public class SysBpmNodeScriptController extends BaseController
     /**
      * 新增流程节点脚本
      */
-//    @PreAuthorize("@ss.hasPermi('system:script:add')")
+//    //@PreAuthorize("@ss.hasPermi('system:script:add')")
     @Log(title = "流程节点脚本", businessType = BusinessType.INSERT)
     @PostMapping
     @ApiOperation(value = "新增流程节点脚本")
@@ -90,7 +90,7 @@ public class SysBpmNodeScriptController extends BaseController
     /**
      * 修改流程节点脚本
      */
-//    @PreAuthorize("@ss.hasPermi('system:script:edit')")
+//    //@PreAuthorize("@ss.hasPermi('system:script:edit')")
     @Log(title = "流程节点脚本", businessType = BusinessType.UPDATE)
     @PutMapping
     @ApiOperation(value = "修改流程节点脚本")
@@ -102,7 +102,7 @@ public class SysBpmNodeScriptController extends BaseController
     /**
      * 删除流程节点脚本
      */
-//    @PreAuthorize("@ss.hasPermi('system:script:remove')")
+//    //@PreAuthorize("@ss.hasPermi('system:script:remove')")
     @Log(title = "流程节点脚本", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     @ApiOperation(value = "删除流程节点脚本")

+ 2 - 2
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysConfigController.java

@@ -37,7 +37,7 @@ public class SysConfigController extends BaseController
     /**
      * 获取参数配置列表
      */
-    @PreAuthorize("@ss.hasPermi('system:config:list')")
+    //@PreAuthorize("@ss.hasPermi('system:config:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysConfig config)
     {
@@ -47,7 +47,7 @@ public class SysConfigController extends BaseController
     }
 
     @Log(title = "参数管理", businessType = BusinessType.EXPORT)
-    @PreAuthorize("@ss.hasPermi('system:config:export')")
+    //@PreAuthorize("@ss.hasPermi('system:config:export')")
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysConfig config)
     {

+ 6 - 6
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysDeptController.java

@@ -37,7 +37,7 @@ public class SysDeptController extends BaseController
     /**
      * 获取部门列表
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:list')")
+    //@PreAuthorize("@ss.hasPermi('system:dept:list')")
     @GetMapping("/list")
     public AjaxResult list(SysDept dept)
     {
@@ -51,7 +51,7 @@ public class SysDeptController extends BaseController
     /**
      * 查询部门列表(排除节点)
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:list')")
+    //@PreAuthorize("@ss.hasPermi('system:dept:list')")
     @GetMapping("/list/exclude/{deptId}")
     public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
     {
@@ -63,7 +63,7 @@ public class SysDeptController extends BaseController
     /**
      * 根据部门编号获取详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:query')")
+    //@PreAuthorize("@ss.hasPermi('system:dept:query')")
     @GetMapping(value = "/{deptId}")
     public AjaxResult getInfo(@PathVariable Long deptId)
     {
@@ -74,7 +74,7 @@ public class SysDeptController extends BaseController
     /**
      * 新增部门
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:add')")
+    //@PreAuthorize("@ss.hasPermi('system:dept:add')")
     @Log(title = "部门管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysDept dept)
@@ -90,7 +90,7 @@ public class SysDeptController extends BaseController
     /**
      * 修改部门
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:dept:edit')")
     @Log(title = "部门管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@Validated @RequestBody SysDept dept)
@@ -116,7 +116,7 @@ public class SysDeptController extends BaseController
     /**
      * 删除部门
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:remove')")
+    //@PreAuthorize("@ss.hasPermi('system:dept:remove')")
     @Log(title = "部门管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{deptId}")
     public AjaxResult remove(@PathVariable Long deptId)

+ 4 - 4
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysDictDataController.java

@@ -42,7 +42,7 @@ public class SysDictDataController extends BaseController
     @Autowired
     private ISysDictTypeService dictTypeService;
 
-    @PreAuthorize("@ss.hasPermi('system:dict:list')")
+    //@PreAuthorize("@ss.hasPermi('system:dict:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysDictData dictData)
     {
@@ -52,7 +52,7 @@ public class SysDictDataController extends BaseController
     }
 
     @Log(title = "字典数据", businessType = BusinessType.EXPORT)
-    @PreAuthorize("@ss.hasPermi('system:dict:export')")
+    //@PreAuthorize("@ss.hasPermi('system:dict:export')")
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysDictData dictData)
     {
@@ -64,7 +64,7 @@ public class SysDictDataController extends BaseController
     /**
      * 查询字典数据详细
      */
-    @PreAuthorize("@ss.hasPermi('system:dict:query')")
+    //@PreAuthorize("@ss.hasPermi('system:dict:query')")
     @GetMapping(value = "/{dictCode}")
     public AjaxResult getInfo(@PathVariable Long dictCode)
     {
@@ -89,7 +89,7 @@ public class SysDictDataController extends BaseController
     /**
      * 新增字典类型
      */
-    @PreAuthorize("@ss.hasPermi('system:dict:add')")
+    //@PreAuthorize("@ss.hasPermi('system:dict:add')")
     @Log(title = "字典数据", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysDictData dict)

+ 1 - 1
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysDictTypeController.java

@@ -34,7 +34,7 @@ public class SysDictTypeController extends BaseController
     @Autowired
     private ISysDictTypeService dictTypeService;
 
-    @PreAuthorize("@ss.hasPermi('system:dict:list')")
+    //@PreAuthorize("@ss.hasPermi('system:dict:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysDictType dictType)
     {

+ 6 - 6
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysDragTableStyleController.java

@@ -37,7 +37,7 @@ public class SysDragTableStyleController extends BaseController
     /**
      * 查询动态格样式模板列表
      */
-    @PreAuthorize("@ss.hasPermi('system:style:list')")
+    //@PreAuthorize("@ss.hasPermi('system:style:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysDragTableStyle sysDragTableStyle)
     {
@@ -49,7 +49,7 @@ public class SysDragTableStyleController extends BaseController
     /**
      * 导出动态格样式模板列表
      */
-    @PreAuthorize("@ss.hasPermi('system:style:export')")
+    //@PreAuthorize("@ss.hasPermi('system:style:export')")
     @Log(title = "动态格样式模板", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysDragTableStyle sysDragTableStyle)
@@ -62,7 +62,7 @@ public class SysDragTableStyleController extends BaseController
     /**
      * 获取动态格样式模板详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:style:query')")
+    //@PreAuthorize("@ss.hasPermi('system:style:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id)
     {
@@ -72,7 +72,7 @@ public class SysDragTableStyleController extends BaseController
     /**
      * 新增动态格样式模板
      */
-    @PreAuthorize("@ss.hasPermi('system:style:add')")
+    //@PreAuthorize("@ss.hasPermi('system:style:add')")
     @Log(title = "动态格样式模板", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody SysDragTableStyle sysDragTableStyle)
@@ -83,7 +83,7 @@ public class SysDragTableStyleController extends BaseController
     /**
      * 修改动态格样式模板
      */
-    @PreAuthorize("@ss.hasPermi('system:style:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:style:edit')")
     @Log(title = "动态格样式模板", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody SysDragTableStyle sysDragTableStyle)
@@ -94,7 +94,7 @@ public class SysDragTableStyleController extends BaseController
     /**
      * 删除动态格样式模板
      */
-    @PreAuthorize("@ss.hasPermi('system:style:remove')")
+    //@PreAuthorize("@ss.hasPermi('system:style:remove')")
     @Log(title = "动态格样式模板", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids)

+ 6 - 6
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysEngineeringController.java

@@ -55,7 +55,7 @@ public class SysEngineeringController extends BaseController {
     /**
      * 查询工程部署列表
      */
-    @PreAuthorize("@ss.hasPermi('system:engineering:list')")
+    //@PreAuthorize("@ss.hasPermi('system:engineering:list')")
     @GetMapping("/list")
     @ApiOperation(value = "查询工程部署列表")
     public TableDataInfo list(SysEngineering sysEngineering) {
@@ -67,7 +67,7 @@ public class SysEngineeringController extends BaseController {
     /**
      * 导出工程部署列表
      */
-    @PreAuthorize("@ss.hasPermi('system:engineering:export')")
+    //@PreAuthorize("@ss.hasPermi('system:engineering:export')")
     @Log(title = "工程部署", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @ApiOperation(value = "导出工程部署列表")
@@ -80,7 +80,7 @@ public class SysEngineeringController extends BaseController {
     /**
      * 获取工程部署详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:engineering:query')")
+    //@PreAuthorize("@ss.hasPermi('system:engineering:query')")
     @GetMapping(value = "/{id}")
     @ApiOperation(value = "获取工程部署详细信息")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
@@ -90,7 +90,7 @@ public class SysEngineeringController extends BaseController {
     /**
      * 新增工程部署
      */
-    @PreAuthorize("@ss.hasPermi('system:engineering:add')")
+    //@PreAuthorize("@ss.hasPermi('system:engineering:add')")
     @Log(title = "工程部署", businessType = BusinessType.INSERT)
     @PostMapping
     @ApiOperation(value = "新增工程部署")
@@ -101,7 +101,7 @@ public class SysEngineeringController extends BaseController {
     /**
      * 修改工程部署
      */
-    @PreAuthorize("@ss.hasPermi('system:engineering:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:engineering:edit')")
     @Log(title = "工程部署", businessType = BusinessType.UPDATE)
     @PutMapping
     @ApiOperation(value = "修改工程部署")
@@ -112,7 +112,7 @@ public class SysEngineeringController extends BaseController {
     /**
      * 删除工程部署
      */
-    @PreAuthorize("@ss.hasPermi('system:engineering:remove')")
+    //@PreAuthorize("@ss.hasPermi('system:engineering:remove')")
     @Log(title = "工程部署", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     @ApiOperation(value = "删除工程部署")

+ 3 - 3
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysLoginController.java

@@ -1,9 +1,7 @@
 package com.zkqy.web.controller.system;
 
 import java.nio.charset.StandardCharsets;
-import java.util.Base64;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 import com.zkqy.common.core.domain.entity.DataSource;
 import com.zkqy.common.core.domain.entity.SysTenant;
@@ -240,4 +238,6 @@ public class SysLoginController {
         List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
         return AjaxResult.success(menuService.buildMenus(menus));
     }
+
+
 }

+ 8 - 8
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysMenuController.java

@@ -29,7 +29,7 @@ public class SysMenuController extends BaseController {
     /**
      * 获取菜单列表
      */
-    @PreAuthorize("@ss.hasPermi('system:menu:list')")
+    //@PreAuthorize("@ss.hasPermi('system:menu:list')")
     @GetMapping("/list")
     public AjaxResult list(SysMenu menu) {
         List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
@@ -39,7 +39,7 @@ public class SysMenuController extends BaseController {
     /**
      * 根据菜单编号获取详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:menu:query')")
+    //@PreAuthorize("@ss.hasPermi('system:menu:query')")
     @GetMapping(value = "/{menuId}")
     public AjaxResult getInfo(@PathVariable Long menuId) {
         return success(menuService.selectMenuById(menuId));
@@ -69,7 +69,7 @@ public class SysMenuController extends BaseController {
     /**
      * 新增菜单
      */
-    @PreAuthorize("@ss.hasPermi('system:menu:add')")
+    //@PreAuthorize("@ss.hasPermi('system:menu:add')")
     @Log(title = "菜单管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysMenu menu) {
@@ -90,7 +90,7 @@ public class SysMenuController extends BaseController {
     /**
      * 批量新增菜单按钮权限
      */
-    @PreAuthorize("@ss.hasPermi('system:menu:add')")
+    //@PreAuthorize("@ss.hasPermi('system:menu:add')")
     @Log(title = "菜单管理", businessType = BusinessType.INSERT)
     @PostMapping("/tbnHasPerms")
     public AjaxResult add(@Validated @RequestBody List<SysMenu> menus) {
@@ -101,7 +101,7 @@ public class SysMenuController extends BaseController {
     /**
      * 修改菜单
      */
-    @PreAuthorize("@ss.hasPermi('system:menu:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:menu:edit')")
     @Log(title = "菜单管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@Validated @RequestBody SysMenu menu) {
@@ -119,7 +119,7 @@ public class SysMenuController extends BaseController {
     /**
      * 删除菜单
      */
-    @PreAuthorize("@ss.hasPermi('system:menu:remove')")
+    //@PreAuthorize("@ss.hasPermi('system:menu:remove')")
     @Log(title = "菜单管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{menuId}")
     public AjaxResult remove(@PathVariable("menuId") Long menuId) {
@@ -135,7 +135,7 @@ public class SysMenuController extends BaseController {
     /**
      * 批量删除菜单
      */
-    @PreAuthorize("@ss.hasPermi('system:menu:remove')")
+    //@PreAuthorize("@ss.hasPermi('system:menu:remove')")
     @Log(title = "菜单管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/removeBatch/{menuIds}")
     public AjaxResult removeBatch(@PathVariable List<Long> menuIds) {
@@ -152,7 +152,7 @@ public class SysMenuController extends BaseController {
     /**
      * 动态表格获取菜单
      */
-    @PreAuthorize("@ss.hasPermi('system:menu:list')")
+    //@PreAuthorize("@ss.hasPermi('system:menu:list')")
     @GetMapping("/getMenuList")
     public AjaxResult getMenuList() {
         List<SysMenu> menus = menuService.getMenuList(getTenantId());

+ 6 - 6
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysRoleController.java

@@ -58,7 +58,7 @@ public class SysRoleController extends BaseController
     @Autowired
     private ISysDeptService deptService;
 
-    @PreAuthorize("@ss.hasPermi('system:role:list')")
+    //@PreAuthorize("@ss.hasPermi('system:role:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysRole role)
     {
@@ -71,7 +71,7 @@ public class SysRoleController extends BaseController
     }
 
     @Log(title = "角色管理", businessType = BusinessType.EXPORT)
-    @PreAuthorize("@ss.hasPermi('system:role:export')")
+    //@PreAuthorize("@ss.hasPermi('system:role:export')")
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysRole role)
     {
@@ -83,7 +83,7 @@ public class SysRoleController extends BaseController
     /**
      * 根据角色编号获取详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:role:query')")
+    //@PreAuthorize("@ss.hasPermi('system:role:query')")
     @GetMapping(value = "/{roleId}")
     public AjaxResult getInfo(@PathVariable Long roleId)
     {
@@ -94,7 +94,7 @@ public class SysRoleController extends BaseController
     /**
      * 新增角色
      */
-    @PreAuthorize("@ss.hasPermi('system:role:add')")
+    //@PreAuthorize("@ss.hasPermi('system:role:add')")
     @Log(title = "角色管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysRole role)
@@ -116,7 +116,7 @@ public class SysRoleController extends BaseController
     /**
      * 修改保存角色
      */
-    @PreAuthorize("@ss.hasPermi('system:role:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:role:edit')")
     @Log(title = "角色管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@Validated @RequestBody SysRole role)
@@ -151,7 +151,7 @@ public class SysRoleController extends BaseController
     /**
      * 修改保存数据权限
      */
-    @PreAuthorize("@ss.hasPermi('system:role:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:role:edit')")
     @Log(title = "角色管理", businessType = BusinessType.UPDATE)
     @PutMapping("/dataScope")
     public AjaxResult dataScope(@RequestBody SysRole role)

+ 8 - 8
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysTenantController.java

@@ -38,7 +38,7 @@ public class SysTenantController extends BaseController {
     /**
      * 查询租户信息列表
      */
-    @PreAuthorize("@ss.hasPermi('system:tenant:list')")
+    //@PreAuthorize("@ss.hasPermi('system:tenant:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysTenant sysTenant) {
         startPage();
@@ -49,7 +49,7 @@ public class SysTenantController extends BaseController {
     /**
      * 查询所有租户信息
      */
-    @PreAuthorize("@ss.hasPermi('system:tenant:list')")
+    //@PreAuthorize("@ss.hasPermi('system:tenant:list')")
     @GetMapping("/getTenantAllList")
     public TableDataInfo getTenantAllList(SysTenant sysTenant) {
         List<SysTenant> list = sysTenantService.selectSysTenantAllList(sysTenant);
@@ -59,7 +59,7 @@ public class SysTenantController extends BaseController {
     /**
      * 导出租户信息列表
      */
-    @PreAuthorize("@ss.hasPermi('system:tenant:export')")
+    //@PreAuthorize("@ss.hasPermi('system:tenant:export')")
     @Log(title = "租户信息", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysTenant sysTenant) {
@@ -71,7 +71,7 @@ public class SysTenantController extends BaseController {
     /**
      * 获取租户信息详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:tenant:query')")
+    //@PreAuthorize("@ss.hasPermi('system:tenant:query')")
     @GetMapping(value = "/{tenantId}")
     public AjaxResult getInfo(@PathVariable("tenantId") Long tenantId) {
         return success(sysTenantService.selectSysTenantByTenantId(tenantId));
@@ -83,7 +83,7 @@ public class SysTenantController extends BaseController {
      * @param tenantId
      * @return
      */
-    @PreAuthorize("@ss.hasPermi('system:tenant:query')")
+    //@PreAuthorize("@ss.hasPermi('system:tenant:query')")
     @GetMapping(value = "/getTenantChildrenInfo/{tenantId}")
     public AjaxResult getTenantChildrenInfo(@PathVariable("tenantId") Long tenantId) {
         return success(sysTenantService.selectSysTenantChildrenInfoByTenantId(tenantId));
@@ -92,7 +92,7 @@ public class SysTenantController extends BaseController {
     /**
      * 新增租户信息
      */
-    @PreAuthorize("@ss.hasPermi('system:tenant:add')")
+    //@PreAuthorize("@ss.hasPermi('system:tenant:add')")
     @Log(title = "租户信息", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody SysTenant sysTenant) {
@@ -106,7 +106,7 @@ public class SysTenantController extends BaseController {
     /**
      * 修改租户信息
      */
-    @PreAuthorize("@ss.hasPermi('system:tenant:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:tenant:edit')")
     @Log(title = "租户信息", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody SysTenant sysTenant) {
@@ -121,7 +121,7 @@ public class SysTenantController extends BaseController {
     /**
      * 删除租户信息
      */
-    @PreAuthorize("@ss.hasPermi('system:tenant:remove')")
+    //@PreAuthorize("@ss.hasPermi('system:tenant:remove')")
     @Log(title = "租户信息", businessType = BusinessType.DELETE)
     @DeleteMapping("/{tenantIds}")
     public AjaxResult remove(@PathVariable Long[] tenantIds) {

+ 12 - 12
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysUserController.java

@@ -54,7 +54,7 @@ public class SysUserController extends BaseController {
     /**
      * 获取用户列表
      */
-    @PreAuthorize("@ss.hasPermi('system:user:list')")
+    //@PreAuthorize("@ss.hasPermi('system:user:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysUser user) {
         startPage();
@@ -78,7 +78,7 @@ public class SysUserController extends BaseController {
 
 
     @Log(title = "用户管理", businessType = BusinessType.EXPORT)
-    @PreAuthorize("@ss.hasPermi('system:user:export')")
+    //@PreAuthorize("@ss.hasPermi('system:user:export')")
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysUser user) {
         List<SysUser> list = userService.selectUserList(user);
@@ -87,7 +87,7 @@ public class SysUserController extends BaseController {
     }
 
     @Log(title = "用户管理", businessType = BusinessType.IMPORT)
-    @PreAuthorize("@ss.hasPermi('system:user:import')")
+    //@PreAuthorize("@ss.hasPermi('system:user:import')")
     @PostMapping("/importData")
     public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
@@ -106,7 +106,7 @@ public class SysUserController extends BaseController {
     /**
      * 根据用户编号获取详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:user:query')")
+    //@PreAuthorize("@ss.hasPermi('system:user:query')")
     @GetMapping(value = {"/", "/{userId}"})
     public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
         userService.checkUserDataScope(userId);
@@ -138,7 +138,7 @@ public class SysUserController extends BaseController {
     /**
      * 新增用户
      */
-    @PreAuthorize("@ss.hasPermi('system:user:add')")
+    //@PreAuthorize("@ss.hasPermi('system:user:add')")
     @Log(title = "用户管理", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysUser user) {
@@ -161,7 +161,7 @@ public class SysUserController extends BaseController {
     /**
      * 修改用户
      */
-    @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@Validated @RequestBody SysUser user) {
@@ -181,7 +181,7 @@ public class SysUserController extends BaseController {
     /**
      * 删除用户
      */
-    @PreAuthorize("@ss.hasPermi('system:user:remove')")
+    //@PreAuthorize("@ss.hasPermi('system:user:remove')")
     @Log(title = "用户管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{userIds}")
     public AjaxResult remove(@PathVariable Long[] userIds) {
@@ -194,7 +194,7 @@ public class SysUserController extends BaseController {
     /**
      * 重置密码
      */
-    @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
+    //@PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/resetPwd")
     public AjaxResult resetPwd(@RequestBody SysUser user) {
@@ -208,7 +208,7 @@ public class SysUserController extends BaseController {
     /**
      * 状态修改
      */
-    @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
     public AjaxResult changeStatus(@RequestBody SysUser user) {
@@ -221,7 +221,7 @@ public class SysUserController extends BaseController {
     /**
      * 根据用户编号获取授权角色
      */
-    @PreAuthorize("@ss.hasPermi('system:user:query')")
+    //@PreAuthorize("@ss.hasPermi('system:user:query')")
     @GetMapping("/authRole/{userId}")
     public AjaxResult authRole(@PathVariable("userId") Long userId) {
         AjaxResult ajax = AjaxResult.success();
@@ -247,7 +247,7 @@ public class SysUserController extends BaseController {
     /**
      * 用户授权角色
      */
-    @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    //@PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.GRANT)
     @PutMapping("/authRole")
     public AjaxResult insertAuthRole(Long userId, Long[] roleIds) {
@@ -259,7 +259,7 @@ public class SysUserController extends BaseController {
     /**
      * 获取部门树列表
      */
-    @PreAuthorize("@ss.hasPermi('system:user:list')")
+    //@PreAuthorize("@ss.hasPermi('system:user:list')")
     @GetMapping("/deptTree")
     public AjaxResult deptTree(SysDept dept) {
         if (getLoginUser().isTenantAdmin()) {

+ 51 - 13
zkqy-admin/src/main/java/com/zkqy/web/controller/system/ThirdPartLoginController.java

@@ -2,19 +2,22 @@ package com.zkqy.web.controller.system;
 
 import com.alibaba.fastjson2.JSONObject;
 import com.zkqy.common.core.domain.AjaxResult;
+import com.zkqy.common.core.domain.R;
 import com.zkqy.common.utils.http.HttpUtilsOauth2;
 
+import okhttp3.MultipartBody;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
 import org.apache.http.HttpResponse;
 import org.apache.http.util.EntityUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
+import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.Base64;
 import java.util.HashMap;
@@ -54,40 +57,44 @@ public class ThirdPartLoginController {
             // 转换编码凭证
             byte[] encodedBytes = Base64.getEncoder().encode(BASIC.getBytes(StandardCharsets.UTF_8));
             String encodedCredentials = new String(encodedBytes, StandardCharsets.UTF_8);
-            headers.put("Authorization", " Basic " + encodedCredentials);
-            headers.put("Content-Type", "application/json");
+            headers.put("Authorization", "Basic " + encodedCredentials);
+            headers.put("Content-Type", "multipart/form-data");
             HttpResponse response = HttpUtilsOauth2.doPost(URL, "/oauth2/token", "post", headers, map, new HashMap<>());
             //2、处理
             if (response.getStatusLine().getStatusCode() == 200) {
                 // 得到code换取token结果
                 String tokenJSON = EntityUtils.toString(response.getEntity());
+                System.out.println("获取token" + tokenJSON);
                 Map<String, Object> tokenMap = JSONObject.parse(tokenJSON);
                 // 封装请求用户信息请求头
                 Map<String, String> getUserHeaders = new HashMap<>();
-                getUserHeaders.put("Authorization", " Bearer " + tokenMap.get("access_token"));
-//                getUserHeaders.put("Content-Type", "application/json");
+                getUserHeaders.put("Authorization", "Bearer " + tokenMap.get("access_token"));
+                getUserHeaders.put("Content-Type", "application/json");
                 HttpResponse userResponse = HttpUtilsOauth2.doGet(URL, "/user/login", "get", getUserHeaders, new HashMap<>());
                 if (userResponse.getStatusLine().getStatusCode() == 200) {
                     // 得到当前登录用户信息
                     String userJson = EntityUtils.toString(userResponse.getEntity());
                     Map<String, Object> retUserMap = JSONObject.parse(userJson);
-                    String usernmae = "kjjt01";
+                    System.out.println("用户json:" + userJson);
                     Map<String, Object> data = (Map<String, Object>) retUserMap.get("data");
-                    data.get("username");
-                    if (null == data.get("companyTenant")) {
-                        // ((Map) data.get("companyTenant")).get("tenantcode").toString();
-                        String tenantCode = "kjjt01";
+                    String usernmae = data.get("username").toString();
+                    if (null != data.get("companyTenant")) {
+                        String tenantCode = ((Map) data.get("companyTenant")).get("tenantCode").toString();
+                        System.out.println("用户名:" + (tenantCode + "^_^" + usernmae + "^_^" + System.currentTimeMillis() / 1000));
                         byte[] userInfo = Base64.getEncoder().encode((tenantCode + "^_^" + usernmae + "^_^" + System.currentTimeMillis() / 1000).getBytes(StandardCharsets.UTF_8));
                         String retUserInfo = new String(userInfo, StandardCharsets.UTF_8);
+                        System.out.println("正常跳转");
                         return "redirect:" + REDIRECT_URL + "/redirectAuth?bWVz=" + retUserInfo;
                     }
                 }
             }
         } catch (Exception e) {
             System.out.println(e);
+            System.out.println("最外层跳转1");
             // 异常处理
             return "redirect:" + REDIRECT_URL + "/401";
         }
+        System.out.println("最外层跳转2");
         // 授权失败处理
         return "redirect:" + REDIRECT_URL + "/401";
     }
@@ -97,5 +104,36 @@ public class ThirdPartLoginController {
     public AjaxResult authorize() {
         return AjaxResult.success("认证中心", URL + "/oauth2/authorize?" + "response_type=code" + "&client_id=toolmes" + "&scope=openid" + "&redirect_uri=" + CALLBACK);
     }
+
+
+//    @GetMapping("oauth/callback")
+//    public Object getToken(@RequestParam String code) {
+//        byte[] encodedBytes = Base64.getEncoder().encode(BASIC.getBytes(StandardCharsets.UTF_8));
+//        String encode = new String(encodedBytes, StandardCharsets.UTF_8);
+//        // 构建form-data请求体
+//        MultipartBody requestBody = new MultipartBody.Builder()
+//                .setType(MultipartBody.FORM)
+//                .addFormDataPart("grant_type", "authorization_code")
+//                .addFormDataPart("code", code)
+//                .addFormDataPart("redirect_uri", CALLBACK)
+//                .build();
+//        // 构建请求
+//        Request request = new Request.Builder()
+//                .url(URL + "/oauth2/token")
+//                .post(requestBody)
+//                .header("Authorization", "Basic " + encode)
+//                .build();
+//        // 发送请求并获取响应
+//        OkHttpClient client = new OkHttpClient();
+//        try (Response response = client.newCall(request).execute()) {
+//            String responseBody = response.body().string();
+//            System.out.println(responseBody);
+//            // 处理响应
+//            return responseBody;
+//        } catch (IOException e) {
+//            System.out.println("code换token异常");
+//        }
+//        return R.fail("获取错误");
+//    }
 }
 

+ 4 - 4
zkqy-admin/src/main/resources/application.yml

@@ -79,7 +79,7 @@ spring:
   # redis 配置
   redis:
     # 地址
-    host: 192.168.110.15
+    host: 127.0.0.1
     # 端口,默认为6379
     port: 6379
     # 数据库索引
@@ -156,10 +156,10 @@ OpenAuthorization2:
   # 工联院单点登录信息
   GLY:
     # 单点获取code、token、userinfo主机地址
-    URL: http://dljp.dev.feysh.com:30159
+    URL: http://sso.dljp.pre.feysh.com
     # 本系统标识 Base64
     BASIC: toolmes:123456
     # 重定向本系统主机地址
-    REDIRECT_URL: http://192.168.110.52:1024
+    REDIRECT_URL: https://db399361fp97.vicp.fun
     # 回调地址
-    CALLBACK: https://db399361fp97.vicp.fun/oauth/callback
+    CALLBACK: http://124.126.77.28:8080/oauth/callback

+ 12 - 12
zkqy-generator/src/main/java/com/zkqy/generator/controller/GenController.java

@@ -46,7 +46,7 @@ public class GenController extends BaseController
     /**
      * 查询代码生成列表
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:list')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:list')")
     @GetMapping("/list")
     public TableDataInfo genList(GenTable genTable)
     {
@@ -58,7 +58,7 @@ public class GenController extends BaseController
     /**
      * 修改代码生成业务
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:query')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:query')")
     @GetMapping(value = "/{tableId}")
     public AjaxResult getInfo(@PathVariable Long tableId)
     {
@@ -75,7 +75,7 @@ public class GenController extends BaseController
     /**
      * 查询数据库列表
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:list')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:list')")
     @GetMapping("/db/list")
     public TableDataInfo dataList(GenTable genTable)
     {
@@ -87,7 +87,7 @@ public class GenController extends BaseController
     /**
      * 查询数据表字段列表
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:list')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:list')")
     @GetMapping(value = "/column/{tableId}")
     public TableDataInfo columnList(Long tableId)
     {
@@ -101,7 +101,7 @@ public class GenController extends BaseController
     /**
      * 导入表结构(保存)
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:import')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:import')")
     @Log(title = "代码生成", businessType = BusinessType.IMPORT)
     @PostMapping("/importTable")
     public AjaxResult importTableSave(String tables)
@@ -116,7 +116,7 @@ public class GenController extends BaseController
     /**
      * 修改保存代码生成业务
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:edit')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:edit')")
     @Log(title = "代码生成", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult editSave(@Validated @RequestBody GenTable genTable)
@@ -129,7 +129,7 @@ public class GenController extends BaseController
     /**
      * 删除代码生成
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:remove')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:remove')")
     @Log(title = "代码生成", businessType = BusinessType.DELETE)
     @DeleteMapping("/{tableIds}")
     public AjaxResult remove(@PathVariable Long[] tableIds)
@@ -141,7 +141,7 @@ public class GenController extends BaseController
     /**
      * 预览代码
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:preview')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:preview')")
     @GetMapping("/preview/{tableId}")
     public AjaxResult preview(@PathVariable("tableId") Long tableId) throws IOException
     {
@@ -152,7 +152,7 @@ public class GenController extends BaseController
     /**
      * 生成代码(下载方式)
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:code')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:code')")
     @Log(title = "代码生成", businessType = BusinessType.GENCODE)
     @GetMapping("/download/{tableName}")
     public void download(HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException
@@ -164,7 +164,7 @@ public class GenController extends BaseController
     /**
      * 生成代码(自定义路径)
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:code')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:code')")
     @Log(title = "代码生成", businessType = BusinessType.GENCODE)
     @GetMapping("/genCode/{tableName}")
     public AjaxResult genCode(@PathVariable("tableName") String tableName)
@@ -176,7 +176,7 @@ public class GenController extends BaseController
     /**
      * 同步数据库
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:edit')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:edit')")
     @Log(title = "代码生成", businessType = BusinessType.UPDATE)
     @GetMapping("/synchDb/{tableName}")
     public AjaxResult synchDb(@PathVariable("tableName") String tableName)
@@ -188,7 +188,7 @@ public class GenController extends BaseController
     /**
      * 批量生成代码
      */
-    @PreAuthorize("@ss.hasPermi('tool:gen:code')")
+    //@PreAuthorize("@ss.hasPermi('tool:gen:code')")
     @Log(title = "代码生成", businessType = BusinessType.GENCODE)
     @GetMapping("/batchGenCode")
     public void batchGenCode(HttpServletResponse response, String tables) throws IOException

+ 1 - 1
zkqy-generator/src/main/resources/vm/java/controller.java.vm

@@ -43,7 +43,7 @@ public class ${ClassName}Controller extends BaseController
 /**
  * 查询${functionName}列表
  */
-@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
+//@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
 @GetMapping("/list")
 @ApiOperation(value = "查询${functionName}列表")
     #if($table.crud || $table.sub)

+ 8 - 8
zkqy-quartz/src/main/java/com/zkqy/quartz/controller/SysJobController.java

@@ -42,7 +42,7 @@ public class SysJobController extends BaseController
     /**
      * 查询定时任务列表
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:list')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysJob sysJob)
     {
@@ -54,7 +54,7 @@ public class SysJobController extends BaseController
     /**
      * 导出定时任务列表
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:export')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:export')")
     @Log(title = "定时任务", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysJob sysJob)
@@ -67,7 +67,7 @@ public class SysJobController extends BaseController
     /**
      * 获取定时任务详细信息
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:query')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:query')")
     @GetMapping(value = "/{jobId}")
     public AjaxResult getInfo(@PathVariable("jobId") Long jobId)
     {
@@ -77,7 +77,7 @@ public class SysJobController extends BaseController
     /**
      * 新增定时任务
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:add')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:add')")
     @Log(title = "定时任务", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException
@@ -113,7 +113,7 @@ public class SysJobController extends BaseController
     /**
      * 修改定时任务
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:edit')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:edit')")
     @Log(title = "定时任务", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException
@@ -149,7 +149,7 @@ public class SysJobController extends BaseController
     /**
      * 定时任务状态修改
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')")
     @Log(title = "定时任务", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
     public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException
@@ -162,7 +162,7 @@ public class SysJobController extends BaseController
     /**
      * 定时任务立即执行一次
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')")
     @Log(title = "定时任务", businessType = BusinessType.UPDATE)
     @PutMapping("/run")
     public AjaxResult run(@RequestBody SysJob job) throws SchedulerException
@@ -174,7 +174,7 @@ public class SysJobController extends BaseController
     /**
      * 删除定时任务
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:remove')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:remove')")
     @Log(title = "定时任务", businessType = BusinessType.DELETE)
     @DeleteMapping("/{jobIds}")
     public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException

+ 5 - 5
zkqy-quartz/src/main/java/com/zkqy/quartz/controller/SysJobLogController.java

@@ -34,7 +34,7 @@ public class SysJobLogController extends BaseController
     /**
      * 查询定时任务调度日志列表
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:list')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysJobLog sysJobLog)
     {
@@ -46,7 +46,7 @@ public class SysJobLogController extends BaseController
     /**
      * 导出定时任务调度日志列表
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:export')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:export')")
     @Log(title = "任务调度日志", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysJobLog sysJobLog)
@@ -59,7 +59,7 @@ public class SysJobLogController extends BaseController
     /**
      * 根据调度编号获取详细信息
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:query')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:query')")
     @GetMapping(value = "/{jobLogId}")
     public AjaxResult getInfo(@PathVariable Long jobLogId)
     {
@@ -70,7 +70,7 @@ public class SysJobLogController extends BaseController
     /**
      * 删除定时任务调度日志
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:remove')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:remove')")
     @Log(title = "定时任务调度日志", businessType = BusinessType.DELETE)
     @DeleteMapping("/{jobLogIds}")
     public AjaxResult remove(@PathVariable Long[] jobLogIds)
@@ -81,7 +81,7 @@ public class SysJobLogController extends BaseController
     /**
      * 清空定时任务调度日志
      */
-    @PreAuthorize("@ss.hasPermi('monitor:job:remove')")
+    //@PreAuthorize("@ss.hasPermi('monitor:job:remove')")
     @Log(title = "调度日志", businessType = BusinessType.CLEAN)
     @DeleteMapping("/clean")
     public AjaxResult clean()

+ 1 - 1
zkqy-ui/package.json

@@ -64,7 +64,7 @@
     "diagram-js-context-pad": "^1.0.2",
     "diagram-js-grid-bg": "^1.0.3",
     "diagram-js-minimap": "^2.1.1",
-    "echarts": "5.4.0",
+    "echarts": "^5.4.0",
     "element-ui": "2.15.12",
     "fast-xml-parser": "^4.3.2",
     "file-saver": "2.0.5",

binární
zkqy-ui/public/favicon.ico


binární
zkqy-ui/public/favicon2.ico


+ 19 - 0
zkqy-ui/src/api/asEditor/index.js

@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+//新增JSON数据
+export function addData(data) {
+    return request({
+      url: '/system/mobilePageData',
+      method: 'post',
+      data: data,
+      baseURL: process.env.VUE_APP_BASE_API3,
+    })
+}
+// 获取JSON
+export function getData() {
+    return request({
+      url: '/system/mobilePageData/2',
+      method: 'get',
+      baseURL: process.env.VUE_APP_BASE_API3,
+    })
+}

+ 43 - 0
zkqy-ui/src/api/homePage/index.js

@@ -0,0 +1,43 @@
+import request from '@/utils/request'
+
+//工业流&审批流
+export function getProcess() {
+    return request({
+      url: '/statistics/info/getProcessInformation',
+      method: 'get',
+      baseURL: process.env.VUE_APP_BASE_API4,
+    })
+}
+
+//登录次数统计
+export function getLogin() {
+   return request({
+     url: '/statistics/info/getLoginInformationStatistics',
+     method: 'get',
+   })
+}
+
+//登录统计信息
+export function getOperation() {
+    return request({
+      url: '/statistics/info/getOperationInformationStatistics',
+      method: 'get',
+    })
+}
+
+//数据建模数量
+export function getData() {
+    return request({
+      url: '/statistics/info/getDataModelingStatistics',
+      method: 'get',
+      baseURL: process.env.VUE_APP_BASE_API2,
+    })
+}
+//表单表格
+export function getTabular() {
+    return request({
+      url: '/statistics/info/getTabularStatistics',
+      method: 'get',
+      baseURL: process.env.VUE_APP_BASE_API3,
+    })
+}

+ 5 - 4
zkqy-ui/src/layout/components/AppMain.vue

@@ -30,10 +30,11 @@ export default {
 .app-main {
   /* 50= navbar  50  */
   min-height: calc(100vh - 50px);
-  //+++++++++++
+  /* //+++++++++++ */
   width: 100%;
   position: relative;
   overflow: hidden;
+  background-color:  #EFF2F7;
 }
 
 .fixed-header + .app-main {
@@ -45,19 +46,19 @@ export default {
     /* 84 = navbar + tags-view = 50 + 34 */
     min-height: calc(100vh - 140px);
 
-    //+++++++++++
+    /* //+++++++++++ */
     /* position:fixed; */
   }
 
   .fixed-header + .app-main {
-    // padding-top: 84px;
+    /* // padding-top: 84px; */
     padding-top: 34px;
   }
 }
 </style>
 
 <style lang="scss">
-// fix css style bug in open el-dialog
+/* // fix css style bug in open el-dialog */
 .el-popup-parent--hidden {
   .fixed-header {
     padding-right: 6px;

+ 5 - 4
zkqy-ui/src/layout/components/TagsView/index.vue

@@ -279,9 +279,10 @@ export default {
 .tags-view-container {
   height: 34px;
   width: 100%;
-  background: #fff;
-  border-bottom: 1px solid #d8dce5;
-  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04);
+  background:  #EFF2F7;
+  /* background: #fff; */
+  /* border-bottom: 1px solid #d8dce5; */
+  /* box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04); */
   .tags-view-wrapper {
     .tags-view-item {
       display: inline-block;
@@ -344,7 +345,7 @@ export default {
 </style>
 
 <style lang="scss">
-//reset element css of el-icon-close
+/* //reset element css of el-icon-close */
 .tags-view-wrapper {
   .tags-view-item {
     .el-icon-close {

+ 20 - 16
zkqy-ui/src/layout/index.vue

@@ -15,10 +15,10 @@
             trigger="click"
           >
             <div class="avatar-wrapper">
-              <img :src="avatar" class="user-avatar" />
               <span style="">
-                <button class="jianbiase">{{ username || "默认用户" }}</button>
+                <span class="jianbiase">{{ username || "默认用户" }}</span>
               </span>
+              <img :src="avatar" class="user-avatar"/>
               <!-- <i class="el-icon-caret-bottom" /> -->
             </div>
             <el-dropdown-menu slot="dropdown" style="margin-top: -20px">
@@ -157,12 +157,13 @@ export default {
     getlogo() {
       let logo = sessionStorage.getItem("logo");
       // this.title = sessionStorage.getItem("title") || "工业应用操作系统";
-      this.title = sessionStorage.getItem("title") || "智能制造平台";
+      // this.title = sessionStorage.getItem("title") || "智能制造平台";
+      this.title = sessionStorage.getItem("title") || "工业应用引擎";
       if (logo) {
         this.logo = process.env.VUE_APP_BASE_API + logo;
       } else {
-        this.logo = mes412;
-        // this.logo = mecLogoLogin;
+        // this.logo = mes412;
+        this.logo = mecLogoLogin;
         // this.logo = comp;
       }
     },
@@ -210,7 +211,8 @@ export default {
   width: 100%;
   z-index: 1000;
   background: #fff;
-  border-bottom: 1px solid #6f7af3;
+  /* border-bottom: 1px solid #6f7af3; */
+  border-bottom: 1px solid #fff;
   box-shadow: 0px 0px 2px 0px #222653;
 }
 
@@ -218,19 +220,20 @@ export default {
   /* width: 120px; */
   height: 37px;
   /* height: 25px; */
-  background: linear-gradient(
-    128.13deg,
-    rgba(82, 79, 255, 1) 0%,
-    rgba(255, 74, 74, 1) 100%
-  );
-  box-shadow: 0px 4px 16px rgba(179, 192, 231, 1);
-  border-radius: 27px;
+ /*  background: linear-gradient(
+      128.13deg,
+      rgba(82, 79, 255, 1) 0%,
+      rgba(255, 74, 74, 1) 100%
+  ); */
+  /* box-shadow: 0px 4px 16px rgba(179, 192, 231, 1); */
+  /* border-radius: 27px; */
   margin-top: 15px;
-  font-size: 14px;
+  font-size: 16px;
   font-weight: 500;
   letter-spacing: 0px;
   line-height: 20.27px;
-  color: rgba(255, 255, 255, 1);
+  /* color: rgba(255, 255, 255, 1); */
+  color: black;
   padding: 0px 20px 0px 25px;
   box-sizing: border-box;
 }
@@ -265,7 +268,8 @@ export default {
 
 .imgg {
   /* width: 553px; */
-  width: 270px;
+  // width: 270px;
+  width: 330px;
   height: 80px;
   float: left;
   margin-top: 7px;

+ 5 - 0
zkqy-ui/src/main.js

@@ -89,6 +89,11 @@ import Directives from '@/utils/directives'
 import '@/assets/iconfont/iconfont.css'
 import '@/assets/iconfont/iconfont.js'
 
+// 引入 echarts
+import * as echarts from 'echarts'
+Vue.prototype.$echarts = echarts
+
+
 // 全局方法挂载
 Vue.prototype.getDicts = getDicts
 Vue.prototype.getConfigKey = getConfigKey

+ 10 - 7
zkqy-ui/src/views/adminLogin.vue

@@ -15,8 +15,9 @@
         <el-col :span="12" class="comlogo"></el-col>
         <el-col :span="12">
           <div class="grid-content bg-purple-dark title">
-            · 智能制造平台
-            <!-- 智能制造平台 -->
+            · 工业应用引擎
+            <!-- 智能制造平台 工联院-->
+            <!-- 工业应用引擎 -->
           </div>
         </el-col>
       </el-row>
@@ -375,14 +376,16 @@ export default {
   margin-top: 49px;
   width: 200px;
   height: 70px;
-  background: url(../assets/images/mes412.png);
+  // background: url(../assets/images/mes412.png); //工联院
+  background: url(../assets/images/mecos-logo1.jpg);
   background-size: cover;
-  /* background: url(../assets/images/comp.png); */
+  // background: url(../assets/images/comp.png);
   /* box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25); */
   opacity: 1;
-  background-size: contain;
-  background-repeat: no-repeat;
-  background-position: center;
+  // 工联院 样式
+  // background-size: contain;
+  // background-repeat: no-repeat;
+  // background-position: center;
 }
 .login {
   display: flex;

+ 1 - 0
zkqy-ui/src/views/asEditor/components/headerTop1/index.vue

@@ -101,6 +101,7 @@ export default {
   cursor: pointer;
   border-bottom: 1px solid #f7f8fa;
   position: relative;
+  left: 41.15%;
   z-index: 10;
   /* 左边 */
   .lef {

+ 3 - 1
zkqy-ui/src/views/asEditor/components/rightslider/decorate/index.vue

@@ -89,9 +89,10 @@
           </div>
         </div>
       </el-form-item>
-
+      
     </el-form>
 
+    
     <!-- 上传图片 -->
     <uploadimg ref="upload" @uploadInformation="uploadInformation" />
   </div>
@@ -275,5 +276,6 @@ export default {
       }
     }
   }
+
 }
 </style>

+ 39 - 20
zkqy-ui/src/views/asEditor/layout/home/home.vue

@@ -35,6 +35,7 @@
 </template>
 
 <script>
+import { getData } from "@/api/asEditor/index";
 import headerTop1 from '../../components/headerTop1'
 import collect from '../../components/collect'
 import {
@@ -82,7 +83,8 @@ export default {
         bgColor: 'rgba(249, 249, 249, 10)', //背景颜色
         bgImg: '' // 背景图片
       },
-      tota: null
+      tota: null,
+      getJSONList:[]
     }
   },
   activated() {
@@ -93,22 +95,39 @@ export default {
   },
   async created() {
     // 是否是iframe使用
-    if (this.$route.query.type === 'iframe') {
-      window.addEventListener('message', e => {
-        console.log(e.data, '-------------message')
-        let datas = e.data
-        this.pageComponents = JSON.parse(datas.component)
-        this.pageSetup = JSON.parse(datas.templateJson)
-      })
-      return
-    }
+    // if (this.$route.query.type === 'iframe') {
+    //   window.addEventListener('message', e => {
+    //     console.log(e.data, '-------------message')
+    //     let datas = e.data
+    //     this.pageComponents = JSON.parse(datas.component)
+    //     this.pageSetup = JSON.parse(datas.templateJson)
+    //   })
+    //   return
+    // }
 
-    await this.loadShopData()
+    // await this.loadShopData()
     let miniprogram = window.localStorage.getItem('miniprogram')
     console.log(miniprogram, '-------------------miniprogram')
   },
-  mounted() {},
+  mounted() {
+    this.initData();
+  },
   methods: {
+    initData(){
+      getData().then(response=>{
+        if(response.code==200){
+          console.log(response.data);
+          this.getJSONList = response.data;
+          console.log(this.getJSONList);
+          console.log(this.getJSONList.component);
+          this.pageComponents=JSON.parse(this.getJSONList.component)
+          this.pageSetup=JSON.parse(this.getJSONList.templateJson)
+        }else{
+          this.$message.error("获取数据失败")
+        }
+      })
+    },
+    
     onRefresh() {
       setTimeout(() => {
         this.isLoading = false
@@ -130,24 +149,24 @@ export default {
         })
         this.orgid = false
         //  模板数据替换 shopTemplateData.data.shopTemplate 此处可替换成接口
-        let shopTemplateData = {
+        /* let shopTemplateData = {
           code: 0,
           success: true,
-          error: false /*  */,
+          error: false ,
           data: {
             shopTemplate: {            
               "id": null,
               "name": "页面标题",
               "templateJson": '{"name":"页面标题","details":"","isPerson":false,"isBack":true,"titleHeight":35,"bgColor":"rgba(249, 249, 249, 10)","bgImg":""}',
-              "component": '[{"component":"notice","text":"公告","type":"1-7","active":false,"style":"noticestyle","setStyle":{"text":"公告","noticeText":"哈喽~~~~","backColor":"rgba(233, 252, 255, 1)","textColor":"rgba(30, 144, 255, 1)"}},{"component":"captiontext","text":"标题文字","type":"1-3","active":false,"style":"captiontextsstyle","setStyle":{"text":"标题文字","name":"11111111111","description":"2222222","wordSize":16,"descriptionSize":12,"wordWeight":400,"positions":"left","descriptionWeight":200,"wordColor":"rgba(50, 50, 51, 10)","descriptionColor":"rgba(150, 151, 153, 10)","backColor":"rgba(255, 255, 255, 10)","borderBott":false,"wordHeight":24,"more":{"show":false,"type":1,"text":"查看更多","httpType":10,"http":""}}},{"component":"pictureads","text":"图片广告","type":"1-3","active":true,"style":"pictureadsstyle","setStyle":{"text":"图片广告","swiperType":3,"borderRadius":0,"pageMargin":0,"imageMargin":0,"pagingType":0,"rowindividual":2,"imageList":[{"src":"https://git-1304113371.cos.ap-nanjing.myqcloud.com/020a1051d89f40bd92ad4ce455860ff5.jpg","text":"","http":{}},{"src":"https://git-1304113371.cos.ap-nanjing.myqcloud.com/4dd06e4787714b08a2d56b5528569a67.jpg","text":"","http":{}}]}}]',
+              "component": '[{"component":"notice","text":"公告","type":"1-7","active":false,"style":"noticestyle","setStyle":{"text":"公告","noticeText":"请填写内容,如果过长,将会在手机上滚动显示","backColor":"rgb(255, 248, 233)","textColor":"rgba(100, 101, 102)"}},{"component":"captiontext","text":"标题文字","type":"1-3","active":true,"style":"captiontextsstyle","setStyle":{"text":"标题文字","name":"标题文字","description":"","wordSize":16,"descriptionSize":12,"wordWeight":400,"positions":"left","descriptionWeight":200,"wordColor":"rgba(50, 50, 51, 10)","descriptionColor":"rgba(150, 151, 153, 10)","backColor":"rgba(255, 255, 255, 10)","borderBott":false,"wordHeight":24,"more":{"show":false,"type":1,"text":"查看更多","httpType":10,"http":""}}}]',
             }
           },
           msg: '成功'
-        }
-        console.log(shopTemplateData, '----------shopTemplateData')
-        if (shopTemplateData.code !== 0) {
-          return this.$toast(shopTemplateData.msg)
-        }
+        } */
+        // console.log(shopTemplateData, '----------shopTemplateData')
+        // if (shopTemplateData.code !== 0) {
+        //   return this.$toast(shopTemplateData.msg)
+        // }
         let datas = shopTemplateData.data.shopTemplate
         if (!datas) return this.tota?.clear()
         this.pageComponents = JSON.parse(datas.component)

+ 30 - 0
zkqy-ui/src/views/asEditor/layout/home/index.vue

@@ -14,6 +14,9 @@
         <!-- 返回 -->
       </p>
       <div>
+        <el-button @click="addJSONData" type="success"
+          ><i class="el-icon-document-checked el-icon--left"></i>保存</el-button
+        >
         <el-button @click="reloads" type="danger"
           ><i class="el-icon-delete-solid el-icon--left"></i>重置</el-button
         >
@@ -161,6 +164,7 @@
 </template>
 
 <script>
+import { addData } from "@/api/asEditor/index";
 import sliderassembly from '../../components/sliderassembly/index.vue'
 import headerTop from '../../components/headerTop/index.vue'
 import phoneBottom from '../../components/phoneBottom/index.vue'
@@ -285,8 +289,34 @@ export default {
   },
 
   methods: {
+    // 添加JSON数据
+    addJSONData(){
+      let payload = this.getJSONData();
+      console.log(payload);
+      addData(payload).then(response=>{
+        if(response.code==200){//成功
+
+        }else{//失败
+          this.$message.error(response.msg)
+        }
+      })
+    },
+    // json生成逻辑
+    getJSONData(){
+      let res={
+        // id:this.id,
+        name:this.pageSetup.name,
+        templateJson:JSON.stringify(this.pageSetup),
+        component:JSON.stringify(this.pageComponents)
+      }
+      return JSON.stringify(res)
+    },
+
+
+
     handleClick(){
       this.dialogVisible = true
+      
        // 确保DOM更新后再进行操作
       this.$nextTick(() => {
         if (this.$refs.content) {

+ 584 - 18
zkqy-ui/src/views/index.vue

@@ -49,14 +49,53 @@
       </el-col>
     </el-row> -->
     <div class="info-content">
-      <div class="header" @click="toPersonalCenter">
-        <img :src="avatar" class="user-avatar" />
-      </div>
+      <!-- <div class="header" @click="toPersonalCenter"> -->
+        <!-- <img :src="avatar" class="user-avatar" /> -->
+      <!-- </div> -->
       <!-- <div class="name">{{ nickName }}</div>
       <div class="tenant-name">{{ tenantName }}</div>
       <div class="date">{{ date }}</div> -->
       <!-- <div class="title">欢迎登录Mec OS 工业应用操作系统</div> -->
-      <div class="title mt20">欢迎登录{{ title }}</div>
+      <!-- <div class="title mt20">欢迎登录工业应用引擎</div> -->
+
+      <div class="echarts1">
+        <div class="pieChart" ref="pieChart"></div>
+        <div
+          :class="'describe' + (parseInt(index) + 1)"
+          v-for="(item, index) in processList"
+          :key="index"
+        >
+          <P class="text">{{ item.name }}</P>
+          <P class="num">{{ item.value }}</P>
+        </div>
+      </div>
+      <div class="echarts2">
+        <div class="lineChart" ref="lineChart"></div>
+      </div>
+      <div class="echarts3">
+        <p class="title">操作日志</p>
+        <div class="text">
+          <span class="peo">操作人</span>
+          <span class="add">ip</span>
+        </div>
+        <div class="swiper-container">
+          <div class="swiper-scrollbar"></div>
+          <div class="swiper-wrapper">
+            <div class="swiper-slide" v-for="(item,index) in swiperList" :key="index">
+              <div >
+                <span class="name">{{ item.oper_name }}</span>
+                <span class="ip">{{ item.oper_ip }}</span>      
+              </div>   
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="echarts4">
+        <div class="gaugeChart" ref="gaugeChart"></div>
+      </div>
+      <div class="echarts5">
+        <div class="barChart" ref="barChart"></div>
+      </div>
     </div>
   </div>
 </template>
@@ -65,12 +104,53 @@
 import { formatDate } from "@/utils";
 import { getToken } from "@/utils/auth";
 import { mapGetters, mapState } from "vuex";
+import 'swiper/css/swiper.css'; 
+import Swiper from 'swiper';
+import {
+  getProcess,
+  getOperation,
+  getLogin,
+  getTabular,
+  getData,
+} from "@/api/homePage/index";
 
 export default {
   name: "Index",
   data() {
     return {
-      title: "",
+      chartObj: {
+        myChart1: null,
+        myChart2: null,
+        myChart3: null,
+        myChart4: null,
+      },
+      processList: [],
+      swiperList: [
+        /* {
+          name: "111",
+          ip: "192.168.1.1"
+        },
+        {
+          name: "222",
+          ip: "192.168.1.2"
+        },
+        {
+          name: "333",
+          ip: "192.168.1.3"
+        },
+        {
+          name: "444",
+          ip: "192.168.1.4"
+        },
+        {
+          name: "555",
+          ip: "192.168.1.5"
+        },
+        {
+          name: "666",
+          ip: "192.168.1.6"
+        }, */
+      ],
       // 用户导入参数
       upload: {
         // 是否显示弹出层(用户导入)
@@ -90,7 +170,359 @@ export default {
       version: "3.8.5",
     };
   },
+  mounted() {
+    this.title = sessionStorage.getItem("title") || "智能制造平台";
+    // 初始化 echarts
+    this.initChart1();
+    this.initChart2();
+    this.initChart3();
+    this.initChart4();
+
+    this.initData();
+  },
   methods: {
+    initData() {
+      //工业流&审批流
+      getProcess().then((response) => {
+        if(response.code == 200){
+          this.processList = response.data;
+          console.log(response.data);
+          this.chartObj.myChart1.setOption({
+            series: [
+              {
+                data: response.data
+              }
+            ]
+          })
+        } else {
+          console.log(response);
+          this.$message.error("获取数据失败");
+        }
+      })
+      
+      //登录次数统计
+      getLogin().then(response => {
+        if(response.code == 200){
+          let xAxisData = response.data[0].date
+          xAxisData = xAxisData.map(function (dateStr) {
+            var date = new Date(dateStr);
+            return date.getMonth() + 1 + "月" + date.getDate() + "日";
+          });
+          let loginList = response.data.map((item)  => item.name);
+          this.chartObj.myChart2.setOption({
+            xAxis: {
+              data: xAxisData
+            },
+            legend: {
+              data: loginList
+            },
+            series: response.data
+          })
+        } else {
+          console.log(response);
+          this.$message.error("获取数据失败");
+        }
+      })
+
+      //登录统计信息
+      getOperation().then(response => {
+        if(response.code == 200){
+          this.swiperList = response.data;
+          console.log(this.swiperList);
+          this.$nextTick(() => {
+            var swiper = new Swiper(".swiper-container", {
+              direction: "vertical",
+              loop: true,
+              autoplay: {
+                delay: 1000, 
+                disableOnInteraction: false,
+              },
+              scrollbar: {
+                el: ".swiper-scrollbar",
+              },
+              slidesPerView: 3,
+              freeMode: true,
+              // spaceBetween: 1,
+            });
+          });
+        } else {
+          console.log(response);
+          this.$message.error("获取数据失败");
+        }
+      })
+
+      // 表格统计
+      getTabular().then(response => {
+        if(response.code == 200){
+          let tabularList = response.data
+          tabularList.push({ name: '多表数量', value: 30 })
+          let labelList = response.data.map((item) => item.name)
+          this.chartObj.myChart3.setOption({
+            yAxis: {
+              data: labelList, 
+            },
+            series: [
+              {
+                data: response.data
+              }
+            ]
+          })
+        } else {
+          console.log(response);
+          this.$message.error("获取数据失败");
+        }
+      })
+
+      //数据建模数量
+      getData().then(response => {
+        if(response.code == 200){
+          console.log(response.data);
+          this.chartObj.myChart4.setOption({
+            series: [
+              {
+                data: [response.data]
+              }
+            ]
+          })
+        } else {
+          console.log(response);
+          this.$message.error("获取数据失败");
+        }
+      })
+    },
+
+    initChart1() {
+      // 通过 $ref 进行挂载
+      this.chartObj.myChart1 = this.$echarts.init(this.$refs.pieChart);
+      let option = {
+        color: ["#9370db", "#ffd700", "#00ccff", "#ff6600", "#ff9900"],
+        title: {
+          text: '流程统计',
+          left: 'left',
+          textStyle: {
+            fontSize: 16,
+            fontWeight: 'normal',
+            color: '#696969'
+          },
+        },
+        tooltip: {
+          trigger: 'item'
+        },
+        legend: {
+          left: '60%',
+          top: '60%',
+        },
+        series: [
+          {
+            type: 'pie',
+            radius: ['40%', '100%'],
+            avoidLabelOverlap: false,
+            itemStyle: {
+              // borderRadius: 10,
+              borderColor: '#fff',
+              borderWidth: 2
+            },
+            right: '40%',
+            top: '50%',
+            data: [
+              { value: 10, name: '工艺流' },
+              { value: 20, name: '审批流' },
+            ],
+            label: {
+              show: false,
+              position: 'center'
+            },
+            labelLine: {
+              show: false
+            },
+            emphasis: {
+              label: {
+                show: true,
+                fontSize: 20,
+                fontWeight: 'bold'
+              }
+            }
+          }
+        ]
+      };
+      this.chartObj.myChart1.setOption(option);
+    },
+    
+    initChart2(){
+      this.chartObj.myChart2 = this.$echarts.init(this.$refs.lineChart);
+      let option = {
+        color: ["#FF88E0", "#9FE080"],
+        title: {
+          text: '用户登录统计',
+          textStyle: {
+            fontSize: 16,
+            fontWeight: 'normal',
+            color: '#696969'
+          },
+        },
+        tooltip: {
+          trigger: 'axis'
+        },
+        legend: {
+          data: ['客户端11', '工具端11']
+        },
+        grid: {
+          left: '3%',
+          right: '4%',
+          top: '20%',
+          bottom: '0%',
+          containLabel: true
+        },
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          data: [
+                  '01\nMon', '02\nTue', '03\nWed', '04\nThu', '05\nFri', '06\nSat', '07\nSun',
+                  '08\nMon', '09\nTue', '10\nWed', '11\nThu', '12\nFri', '13\nSat', '14\nSun',
+                  '15\nMon', '16\nTue', '17\nWed', '18\nThu', '19\nFri', '20\nSat', '21\nSun',
+                  '22\nMon', '23\nTue', '24\nWed', '25\nThu', '26\nFri', '27\nSat', '28\nSun',
+                  '29\nMon', '30\nTue', 
+                ]
+        },
+        yAxis: {
+          type: 'value'
+        },
+        series: [
+          {
+            name: '客户端',
+            type: 'line',
+            smooth: true,
+            data: [10, 23, 42, 13, 30, 25, 40, 30, 42, 55, 40, 28, 20, 30, 45, 25, 20, 30, 40, 33, 35, 40, 46, 31, 13, 34, 20, 10, 36, 43]
+          },
+          {
+            name: '工具端',
+            type: 'line',
+            smooth: true,
+            data: [20, 30, 29, 40, 55, 33, 30, 26, 36, 45, 50, 34, 38, 25, 28, 43, 16, 30, 45, 52, 40, 46, 33, 57, 50, 33, 40, 59, 56, 56]
+          },
+        ]
+      }
+      this.chartObj.myChart2.setOption(option);
+    },
+
+    initChart3(){
+      this.chartObj.myChart3 = this.$echarts.init(this.$refs.gaugeChart);
+      let option = {
+        color: ["#00ccff", "#ff6600", "#ff9900","#9370db", "#ffd700"],
+        title: {
+          text: '表格统计',
+          left: 'left',
+          textStyle: {
+            fontSize: 16,
+            fontWeight: 'normal',
+            color: '#696969'
+          },
+        },
+        tooltip: {
+          trigger: "axis",
+          axisPointer: {
+            type: "shadow"
+          }
+        },
+        grid: {
+          left: '0%',
+          right: '3%',
+          top: '20%',
+          bottom: '0%',
+          containLabel: true
+        },
+        xAxis: {
+          type: 'value',
+          nameLocation: 'middle',
+          nameTextStyle: {
+            align: 'center'
+          },
+          splitLine: {
+            show: false
+          },
+        },
+        
+        yAxis: {
+          type: 'category',
+          data: ['表单', '表格', '三级联动', '多表数量'], 
+          inverse: true, // 使类目从右向左排列
+        },
+
+        series: [
+          {
+            type: 'bar',
+            barWidth: '18', 
+            orientation: 'horizontal', 
+            data: [
+              { value: 88, name: '表单' },
+              { value: 66, name: '表格' },
+              { value: 33, name: '三级联动' },
+              { value: 55, name: '多表数量' },
+            ],
+            showBackground: true,
+            backgroundStyle: {
+              color: '#F0F8FF'
+            }
+          }
+        ]
+      }
+      this.chartObj.myChart3.setOption(option);
+    },
+
+    initChart4(){
+      this.chartObj.myChart4 = this.$echarts.init(this.$refs.barChart);
+      let option = {
+        color: ["#5D84FE"],
+        title: {
+          text: '数据建模统计',
+          textStyle: {
+            fontSize: 16,
+            fontWeight: 'normal',
+            color: '#696969'
+          },
+        },
+        tooltip: {
+          trigger: "axis",
+          axisPointer: {
+            type: "shadow"
+          }
+        },
+        xAxis: {
+          type: 'category',
+          data: ['数据建模'],
+        },
+        yAxis: {
+          type: 'value',
+          min: 0,
+          max: 100, 
+          interval: 20,
+          splitLine: {
+            show: false // 关闭y轴的水平分割线
+          },
+        },
+        grid: {
+          left: '5%',
+          right: '5%',
+          top: '30%',
+          bottom: '0%',
+          containLabel: true
+        },
+        series: [
+          {
+            data: [20],
+            type: 'bar',
+            barWidth: '30', // 设置柱体宽度
+            showBackground: true,
+            backgroundStyle: {
+              color: '#E8EFFF'
+            }
+          }
+        ]
+      }
+      this.chartObj.myChart4.setOption(option);
+    },
+
+
     /** 导入按钮操作 */
     handleImport() {
       this.upload.title = "用户导入";
@@ -147,9 +579,7 @@ export default {
       return formatDate(new Date());
     },
   },
-  mounted() {
-    this.title = sessionStorage.getItem("title") || "智能制造平台";
-  },
+  
 };
 </script>
 
@@ -157,16 +587,152 @@ export default {
 .home {
   position: relative;
   width: 100%;
-  height: 500px;
+  /* height: 500px; */
   .info-content {
-    position: absolute;
-    left: 50%;
-    top: 30%;
-    transform: translateX(-50%);
+    width: 100%;
+    height: 100%;
     display: flex;
-    flex-direction: column;
-    align-items: center;
-    .header {
+    flex-direction: row;
+    flex-wrap: wrap;
+    .echarts1 {
+      position: relative;
+      width: 20%;
+      height: 280px;
+      margin: auto;
+      padding: 20px 15px;
+      box-shadow: 10px 10px 5px #E0E0E0;
+      background-color: #fff;
+      border-radius: 10px;
+      .pieChart {
+        width: 100%;
+        height: 100%;
+      }
+      .describe1 {
+        .text {
+          position: absolute;
+          left: 50px;
+          top: 90px;
+        }
+        .num {
+          position: absolute;
+          font-size: 20px;
+          color: black;
+          left: 63px;
+          top: 55px;
+        }
+      }
+      .describe2 {
+        .text {
+          position: absolute;
+          left: 157px;
+          top: 90px;
+        }
+        .num {
+          position: absolute;
+          font-size: 20px;
+          color: black;
+          left: 170px;
+          top: 55px;
+        }
+      }
+    }
+    .echarts2 {
+      width: 76%;
+      height: 280px;
+      margin: auto;
+      padding: 20px 15px;
+      box-shadow: 10px 10px 5px #E0E0E0;
+      background-color: #fff;
+      border-radius: 10px;
+      margin-right: 30px;
+      .lineChart {
+        width: 100%;
+        height: 100%;
+      }
+    }
+    .echarts3 {
+      width: 23%;
+      height: 200px;
+      margin: auto;
+      padding: 20px 15px;
+      box-shadow: 10px 10px 5px #E0E0E0;
+      background-color: #fff;
+      border-radius: 10px;
+      margin-top: 20px;
+      p {
+        margin: 0;
+      }
+      .title {
+        font-size: 16px;
+        color: '#696969'
+      }
+      .text {
+        display: flex;
+        flex-direction: row;
+        margin-top: 10px;
+        .peo {
+          font-size: 14px;
+          color: black;
+          font-weight: bold;
+          margin-left: 20px;
+          margin-right: 120px;
+        }
+        .add {
+          font-size: 14px;
+          color: black;
+          font-weight: bold;
+        }
+      }
+      .swiper-container {
+        display: flex;
+        flex-direction: row;
+        flex-wrap: wrap;
+        width: 90%;
+        height: 80px;
+        /* overflow: auto; */
+        margin-top: 10px;
+        .name {
+          text-align: center;
+          font-size: 16px;
+          margin-left: 2px;
+          margin-right: 59px;
+        }
+        .ip {
+          text-align: center;
+          font-size: 16px;
+        }
+      }
+    }
+    .echarts4 {
+      width: 48%;
+      height: 200px;
+      margin: auto;
+      padding: 20px 15px;
+      box-shadow: 10px 10px 5px #E0E0E0;
+      background-color: #fff;
+      border-radius: 10px;
+      margin-top: 20px;
+      .gaugeChart {
+        width: 100%;
+        height: 100%;
+      }
+    }
+    .echarts5 {
+      width: 25%;
+      height: 200px;
+      margin: auto;
+      padding: 20px 15px;
+      box-shadow: 10px 10px 5px #E0E0E0;
+      background-color: #fff;
+      border-radius: 10px;
+      margin-top: 20px;
+      margin-right: 30px;
+      .barChart {
+        width: 100%;
+        height: 100%;
+      }
+    }
+    /* .header {
       white-space: nowrap;
       margin-bottom: 5px;
       cursor: pointer;
@@ -174,7 +740,7 @@ export default {
         width: 160px;
         border-radius: 50%;
       }
-    }
+    } */
     .name {
       font-size: 30px;
       margin-bottom: 5px;
@@ -186,7 +752,7 @@ export default {
       margin-bottom: 10px;
     }
     .title {
-      // font-size: 16px;
+      /* // font-size: 16px; */
       font-size: 20px;
     }
   }

+ 47 - 4
zkqy-ui/src/views/loading.vue

@@ -10,7 +10,7 @@
 </template>
 
 <script>
-import { loginBySso, authorize } from "@/api/login";
+import { loginBySso, authorize, isTenantExist } from "@/api/login";
 import { Base64 } from "js-base64";
 export default {
   name: "loading",
@@ -23,6 +23,48 @@ export default {
   },
   computed: {},
   methods: {
+    // 存储配置信息
+    setConfig(config) {
+      let {
+        loginPageTitle,
+        loginPageDescription,
+        loginPageLogo,
+        loginPageBackgroundImage,
+        windowTitle,
+        windowLogo,
+      } = config;
+      if (loginPageTitle) {
+        window.sessionStorage.setItem("title", loginPageTitle);
+      }
+      if (loginPageLogo) {
+        window.sessionStorage.setItem("logo", loginPageLogo);
+      }
+    },
+
+    // 获取配置信息
+    async getConfig(tenantCode) {
+      if (tenantCode != null) {
+        // 得到tenantId 查询裤中是否存在该租户
+        let res = await isTenantExist({ tenantCode: tenantCode });
+        if (res == undefined) {
+          this.$router.push({ path: "/401" });
+        } else if (res.data?.tenantId) {
+          // 判断当前编号是否存在库中
+          // this.tenantId = res.data.tenantId;
+          // this.loginForm.tenantID = this.tenantId;
+          if (res.data?.loginPageConfiguration) {
+            this.setConfig(res.data.loginPageConfiguration || {});
+          }
+        } else {
+          console.log("租户有问题!");
+          // 当前访问链接中的租户编号不存在
+          this.$router.push({ path: "/401" });
+        }
+      } else {
+        this.$router.push({ path: "/401" });
+      }
+    },
+
     // 校验时间是否过时
     validateTime(timeStamp) {
       if (!timeStamp) return false;
@@ -38,17 +80,16 @@ export default {
 
       let { bWVz } = this.$route.query;
       if (bWVz) {
-        console.log("tenantCode", Base64.decode(bWVz));
         let loginData = Base64.decode(bWVz).split("^_^");
         console.log(loginData);
-        let code = loginData[0];
+        let tenantCode = loginData[0];
         let username = loginData[1];
         let timeStamp = loginData[2];
         let isOutTime = this.validateTime(timeStamp);
-        isOutTime = true;
         console.log(isOutTime);
         if (isOutTime) {
           try {
+            await this.getConfig(tenantCode);
             let res = await loginBySso(bWVz);
             if (res.code == 200) {
               // this.token = res.token;
@@ -93,6 +134,8 @@ export default {
   },
 
   mounted() {
+    // this.getConfig("kjjt01");
+    // return;
     if (this.$route.query.bWVz) {
       this.initUserInfo();
     }

+ 12 - 7
zkqy-ui/src/views/login.vue

@@ -14,8 +14,9 @@
         <el-col :span="12" class="comlogo"></el-col>
         <el-col :span="12">
           <div class="grid-content bg-purple-dark title">
-            · {{ config.loginPageTitle || "智能制造平台" }}
-            <!-- 智能制造平台 -->
+            · {{ config.loginPageTitle || "工业应用引擎" }}
+            <!-- 智能制造平台  工联院-->
+            <!-- 工业应用引擎  -->
           </div>
         </el-col>
       </el-row>
@@ -139,6 +140,7 @@ export default {
   },
   created() {
     this.validateTenantId();
+    this.getCode();
   },
   methods: {
     handleBlur(event) {
@@ -418,13 +420,16 @@ export default {
   margin-top: 49px;
   width: 200px;
   height: 70px;
-  background: url(../assets/images/mes412.png);
-  /* background: url(../assets/images/comp.png); */
+  // background: url(../assets/images/mes412.png);//工联院
+  background: url(../assets/images/mecos-logo1.jpg);
+  background-size: cover;
+  // background: url(../assets/images/comp.png);
   /* box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25); */
   opacity: 1;
-  background-size: contain;
-  background-repeat: no-repeat;
-  background-position: center;
+  // 工联院样式
+  // background-size: contain;
+  // background-repeat: no-repeat;
+  // background-position: center;
 }
 
 .login {

+ 86 - 71
zkqy-ui/src/views/system/tenant/index.vue

@@ -54,10 +54,10 @@
           icon="el-icon-search"
           size="mini"
           @click="handleQuery"
-        >搜索
+          >搜索
         </el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-        >重置
+          >重置
         </el-button>
       </el-form-item>
     </el-form>
@@ -71,7 +71,7 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['system:tenant:add']"
-        >新增
+          >新增
         </el-button>
       </el-col>
       <el-col :span="1.5">
@@ -83,7 +83,7 @@
           size="mini"
           @click="handleExport"
           v-hasPermi="['system:tenant:export']"
-        >导出
+          >导出
         </el-button>
         <ExcelDownLoad
           v-else
@@ -111,12 +111,12 @@
       :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
       @cell-dblclick="copyText"
     >
-      <el-table-column label="租户ID" align="center" prop="tenantId"/>
-      <el-table-column label="租户编号" align="center" prop="tenantCode"/>
-      <el-table-column label="租户名称" align="center" prop="tenantName"/>
-      <el-table-column label="联系方式" align="center" prop="contactInfo"/>
-      <el-table-column label="租户地址" align="center" prop="address"/>
-      <el-table-column label="负责人" align="center" prop="owner"/>
+      <el-table-column label="租户ID" align="center" prop="tenantId" />
+      <el-table-column label="租户编号" align="center" prop="tenantCode" />
+      <el-table-column label="租户名称" align="center" prop="tenantName" />
+      <el-table-column label="联系方式" align="center" prop="contactInfo" />
+      <el-table-column label="租户地址" align="center" prop="address" />
+      <el-table-column label="负责人" align="center" prop="owner" />
       <!--      <el-table-column label="租户父级ID" align="center" prop="tenantParentId"/>-->
       <el-table-column
         label="客户端访问地址"
@@ -152,7 +152,7 @@
                   icon="el-icon-edit"
                   @click="handleUpdate(scope.row)"
                   v-hasPermi="['system:tenant:edit']"
-                >修改
+                  >修改
                 </el-button>
               </el-dropdown-item>
               <el-dropdown-item>
@@ -162,7 +162,7 @@
                   icon="el-icon-delete"
                   @click="handleDelete(scope.row)"
                   v-hasPermi="['system:tenant:remove']"
-                >删除
+                  >删除
                 </el-button>
               </el-dropdown-item>
               <el-dropdown-item>
@@ -172,7 +172,7 @@
                   icon="el-icon-position"
                   @click="bindDatasource(scope.row)"
                   v-show="scope.row.datasourceId == null"
-                >绑定数据源
+                  >绑定数据源
                 </el-button>
               </el-dropdown-item>
               <el-dropdown-item>
@@ -182,7 +182,7 @@
                   icon="el-icon-s-custom"
                   @click="openTenantExpirationTime(scope.row)"
                   v-hasPermi="['system:tenant:remove']"
-                >激活租户
+                  >激活租户
                 </el-button>
               </el-dropdown-item>
               <el-dropdown-item>
@@ -190,9 +190,9 @@
                   size="mini"
                   type="text"
                   icon="el-icon-s-open"
-                  @click="openLoginConfig(scope.row,'client')"
+                  @click="openLoginConfig(scope.row, 'client')"
                   v-hasPermi="['system:tenant:remove']"
-                >客户端登录信息
+                  >客户端登录信息
                 </el-button>
               </el-dropdown-item>
               <el-dropdown-item>
@@ -200,9 +200,9 @@
                   size="mini"
                   type="text"
                   icon="el-icon-s-open"
-                  @click="openLoginConfig(scope.row,'tool')"
+                  @click="openLoginConfig(scope.row, 'tool')"
                   v-hasPermi="['system:tenant:remove']"
-                >工具端登录信息
+                  >工具端登录信息
                 </el-button>
               </el-dropdown-item>
             </el-dropdown-menu>
@@ -255,7 +255,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="租户地址" prop="address">
-              <el-input v-model="form.address" placeholder="请输入地址"/>
+              <el-input v-model="form.address" placeholder="请输入地址" />
             </el-form-item>
             <el-form-item label="联系方式" prop="contactInfo">
               <el-input
@@ -264,7 +264,7 @@
               />
             </el-form-item>
             <el-form-item label="负责人" prop="owner">
-              <el-input v-model="form.owner" placeholder="请输入负责人"/>
+              <el-input v-model="form.owner" placeholder="请输入负责人" />
             </el-form-item>
           </el-col>
 
@@ -372,7 +372,7 @@
           @click="submitForm1"
           :disabled="dialogLoading"
           :loading="dialogLoading"
-        >{{ dialogLoading ? "绑定中" : "确 定" }}
+          >{{ dialogLoading ? "绑定中" : "确 定" }}
         </el-button>
         <el-button @click="cancel1">取 消</el-button>
       </div>
@@ -405,7 +405,7 @@
           <el-button
             type="primary"
             @click="activationOperationMethod('tenantExpirationTimeFrom')"
-          >确 定
+            >确 定
           </el-button>
           <el-button @click="tanentCancel">取 消</el-button>
         </el-form-item>
@@ -416,25 +416,28 @@
       :title="login_title"
       width="800px"
       :visible.sync="loginOpen"
-      append-to-body>
-
-      <el-form ref="loginFormRef"
-               :model="loginForm"
-               :inline="true"
-               :rules="rules"
-               label-width="80px">
-
+      append-to-body
+    >
+      <el-form
+        ref="loginFormRef"
+        :model="loginForm"
+        :inline="true"
+        :rules="rules"
+        label-width="80px"
+      >
         <el-form-item label="标题:" prop="loginPageTitle">
           <el-input
             v-model="loginForm.loginPageTitle"
-            placeholder="请输入登录页面标题"/>
+            placeholder="请输入登录页面标题"
+          />
         </el-form-item>
 
         <el-form-item label="描述:" prop="loginPageDescription">
           <span slot="label">
             <el-tooltip
               content="推荐长度为8个汉字,可使用<br/>换行"
-              placement="top">
+              placement="top"
+            >
               <i class="el-icon-question"></i>
             </el-tooltip>
             描述:
@@ -442,12 +445,14 @@
           <el-input
             v-model="loginForm.loginPageDescription"
             type="textarea"
-            placeholder="请输入内容"/>
+            placeholder="请输入内容"
+          />
         </el-form-item>
         <el-form-item label="窗口标题:" prop="windowTitle">
           <el-input
             v-model="loginForm.windowTitle"
-            placeholder="请输入窗口标题"/>
+            placeholder="请输入窗口标题"
+          />
         </el-form-item>
         <el-form-item prop="loginPageLogo">
           <span slot="label">
@@ -456,7 +461,7 @@
             </el-tooltip>
             logo:
           </span>
-          <image-upload :limit="1" v-model="loginForm.loginPageLogo"/>
+          <image-upload :limit="1" v-model="loginForm.loginPageLogo" />
         </el-form-item>
         <el-form-item prop="loginPageBackgroundImage">
           <span slot="label">
@@ -467,11 +472,11 @@
           </span>
           <image-upload
             :limit="1"
-            v-model="loginForm.loginPageBackgroundImage"/>
+            v-model="loginForm.loginPageBackgroundImage"
+          />
         </el-form-item>
       </el-form>
 
-
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitLoginForm">确 定</el-button>
         <el-button @click="cancelLoginForm">取 消</el-button>
@@ -495,14 +500,15 @@ import {
   getTenantChildrenInfo,
   getTenantAllList,
 } from "@/api/system/tenant";
-import {getDataSourceInfo, insertDataSource} from "@/api/system/data";
+import { getDataSourceInfo, insertDataSource } from "@/api/system/data";
 import {
   addConfiguration,
-  updateConfiguration, getLoginPageConfigurationInfo,
+  updateConfiguration,
+  getLoginPageConfigurationInfo,
 } from "@/api/system/configuration";
-import {getIsExistUser} from "@/api/system/user";
+import { getIsExistUser } from "@/api/system/user";
 import ExcelDownLoad from "@/components/ExcelDownLoad/index.vue";
-import {mapState} from "vuex";
+import { mapState } from "vuex";
 
 export default {
   name: "Tenant",
@@ -586,14 +592,14 @@ export default {
       // 表单校验
       rules: {
         tenantName: [
-          {required: true, message: "租户名称不能为空", trigger: "blur"},
+          { required: true, message: "租户名称不能为空", trigger: "blur" },
         ],
         tenantCode: [
-          {required: true, message: "租户编号不能为空", trigger: "blur"},
+          { required: true, message: "租户编号不能为空", trigger: "blur" },
         ],
         tenantParentId: [
-          {required: true, message: "请选择上级租户", trigger: "blur"},
-          {validator: this.checkTenantParentId, trigger: "change"},
+          { required: true, message: "请选择上级租户", trigger: "blur" },
+          { validator: this.checkTenantParentId, trigger: "change" },
         ],
       },
       //数据源表单参数
@@ -612,11 +618,11 @@ export default {
       fromTenantId: null,
       dataSourceFormRules: {
         databaseType: [
-          {required: true, message: "数据源类型不能为空", trigger: "change"},
+          { required: true, message: "数据源类型不能为空", trigger: "change" },
         ],
         databaseName: [
-          {required: true, message: "数据库名不能为空", trigger: "blur"},
-          {validator: this.databaseNameValidator, trigger: "blur"},
+          { required: true, message: "数据库名不能为空", trigger: "blur" },
+          { validator: this.databaseNameValidator, trigger: "blur" },
         ],
         tenantAccount: [
           {
@@ -624,19 +630,19 @@ export default {
             message: "租户管理员账号不能为空",
             trigger: "change",
           },
-          {validator: this.tenantAccountValidator, trigger: "blur"},
+          { validator: this.tenantAccountValidator, trigger: "blur" },
         ],
         databaseIp: [
-          {required: true, message: "数据库IP不能为空", trigger: "blur"},
+          { required: true, message: "数据库IP不能为空", trigger: "blur" },
         ],
         username: [
-          {required: true, message: "用户名不能为空", trigger: "blur"},
+          { required: true, message: "用户名不能为空", trigger: "blur" },
         ],
         password: [
-          {required: true, message: "密码不能为空", trigger: "blur"},
+          { required: true, message: "密码不能为空", trigger: "blur" },
         ],
         portNumber: [
-          {required: true, message: "端口号不能为空", trigger: "blur"},
+          { required: true, message: "端口号不能为空", trigger: "blur" },
         ],
       },
       //租户激活码弹窗表单
@@ -649,7 +655,7 @@ export default {
       //租户激活码规则验证
       rulesTenantExpirationTime: {
         tenantExpirationTime: [
-          {required: true, message: "请输入租户激活码", trigger: "blur"},
+          { required: true, message: "请输入租户激活码", trigger: "blur" },
         ],
       },
       currentPage: "",
@@ -729,7 +735,7 @@ export default {
         "tenantParentId"
       );
       this.tenantAllList = [
-        {tenantId: 0, tenantName: "顶级租户"},
+        { tenantId: 0, tenantName: "顶级租户" },
         ...tenantAllListOne,
       ];
     },
@@ -766,8 +772,6 @@ export default {
           return false;
         }
       });
-
-
     },
     // 取消登录页配置
     cancelLoginForm() {
@@ -776,7 +780,10 @@ export default {
     // 编辑租户登录页配置
     async openLoginConfig(row, loginType) {
       try {
-        let res = await getLoginPageConfigurationInfo({"loginPageNumber": row.tenantCode, "loginType": loginType});
+        let res = await getLoginPageConfigurationInfo({
+          loginPageNumber: row.tenantCode,
+          loginType: loginType,
+        });
         console.log(res);
         if (res.code == 200) {
           if (res.data) {
@@ -791,16 +798,15 @@ export default {
           this.loginForm.tenantId = row.tenantId;
           this.loginForm.loginType = loginType;
           this.loginOpen = true;
-          if (loginType == 'client') {
-            this.login_title = '配置客户端';
+          if (loginType == "client") {
+            this.login_title = "配置客户端";
           } else {
-            this.login_title = '配置工具端';
+            this.login_title = "配置工具端";
           }
         } else {
           this.$message.error("网络异常,请稍后再试");
         }
-      } catch (error) {
-      }
+      } catch (error) {}
     },
     // 获取所用用户名,作校验用
     async selectAllUser() {
@@ -833,7 +839,7 @@ export default {
       //   callback();
       // }
       if (value) {
-        await getIsExistUser({userName: value}).then((res) => {
+        await getIsExistUser({ userName: value }).then((res) => {
           if (res.code == 200) {
             if (res.data) {
               callback();
@@ -906,7 +912,7 @@ export default {
       input.select(); // 选中输入框的内容
       document.execCommand("copy"); // 执行复制操作
       document.body.removeChild(input); // 移除临时的输入框
-      this.$message({message: "复制成功", type: "success"}); // 提示
+      this.$message({ message: "复制成功", type: "success" }); // 提示
     },
     /** 查询租户信息列表 */
     getList() {
@@ -1038,10 +1044,20 @@ export default {
       if (!valid) return;
       if (this.form.tenantParentId.length >= 0) {
         // 处理当前租户的上级租户id
-        this.form.tenantParentId = this.form.tenantParentId[this.form.tenantParentId.length - 1] != undefined ? this.form.tenantParentId[this.form.tenantParentId.length - 1] : "";
+        this.form.tenantParentId =
+          this.form.tenantParentId[this.form.tenantParentId.length - 1] !=
+          undefined
+            ? this.form.tenantParentId[this.form.tenantParentId.length - 1]
+            : "";
       }
-      this.form.tenantClientLoginUrl = this.dict.type.system_login_url.find((item) => item.label == "client_login_url")?.value.replace("#{val}", this.form.tenantCode + "client");
-      this.form.tenantToolLoginUrl = this.dict.type.system_login_url.find((item) => item.label == "crm_login_url")?.value.replace("#{val}", this.form.tenantCode + "tool");
+      this.form.tenantClientLoginUrl = this.dict.type.system_login_url
+        .find((item) => item.label == "client_login_url")
+        ?.value.replace("#{val}", this.form.tenantCode);
+      this.form.tenantToolLoginUrl = this.dict.type.system_login_url
+        .find((item) => item.label == "crm_login_url")
+        ?.value.replace("#{val}", this.form.tenantCode);
+      // this.form.tenantClientLoginUrl = this.dict.type.system_login_url.find((item) => item.label == "client_login_url")?.value.replace("#{val}", this.form.tenantCode + "client");
+      // this.form.tenantToolLoginUrl = this.dict.type.system_login_url.find((item) => item.label == "crm_login_url")?.value.replace("#{val}", this.form.tenantCode + "tool");
       this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.tenantId != null) {
@@ -1132,8 +1148,7 @@ export default {
           this.getList();
           this.$modal.msgSuccess("删除成功");
         })
-        .catch(() => {
-        });
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
@@ -1160,7 +1175,7 @@ export default {
         qar[item.label] = item.value;
       });
       if (this.dataSourceType) {
-        let {databaseIp, password, portNumber, username} = qar;
+        let { databaseIp, password, portNumber, username } = qar;
         Object.assign(this.dataSourceForm, {
           databaseIp,
           password,