From 3bd0ac27a231a1a2b5b7ae2f44501fea69c4ab1f Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期一, 27 三月 2023 11:00:27 +0800
Subject: [PATCH] 优化

---
 src/views/dry/dataDefine/DryHerb.data.ts                        |  178 +++++++---
 src/assets/loginmini/icon/dryer-front.png                       |    0 
 src/components/Application/src/AppLogo.vue                      |    2 
 src/views/sys/login/TokenLoginPage.vue                          |   10 
 public/logo.png                                                 |    0 
 src/views/system/departUser/components/DepartRoleAuthDrawer.vue |  234 ++++++-------
 src/layouts/default/header/components/notify/index.vue          |    2 
 src/views/system/loginmini/MiniRegister.vue                     |    2 
 src/assets/loginmini/icon/dryer.png                             |    0 
 src/views/system/loginmini/MiniLogin.vue                        |   14 
 src/views/dry/dataDefine/DryOrder.data.ts                       |   86 ++++
 public/resource/img/logo_.png                                   |    0 
 src/assets/loginmini/style/home.less                            |   11 
 public/lanpu.png                                                |    0 
 src/views/system/loginmini/MiniCodelogin.vue                    |    2 
 public/resource/img/lanpu.png                                   |    0 
 src/assets/images/logo.png                                      |    0 
 src/views/system/role/components/RolePermissionDrawer.vue       |  321 ++++++++++----------
 .env                                                            |    2 
 src/views/system/user/UserDrawer.vue                            |    5 
 src/assets/loginmini/icon/lanpu_logo.png                        |    0 
 .env.development                                                |    4 
 Dockerfile                                                      |   36 +-
 src/assets/images/lanpu.png                                     |    0 
 public/resource/img/logo.png                                    |    0 
 src/hooks/web/useWebSocket.ts                                   |    3 
 .env.production                                                 |    2 
 src/views/system/loginmini/MiniForgotpad.vue                    |    2 
 src/views/demo/comp/qrcode/index.vue                            |    2 
 29 files changed, 523 insertions(+), 395 deletions(-)

diff --git a/.env b/.env
index 5ad279d..3c69aa3 100644
--- a/.env
+++ b/.env
@@ -2,7 +2,7 @@
 VITE_PORT = 3100
 
 #  缃戠珯鏍囬
-VITE_GLOB_APP_TITLE = JeecgBoot 浼佷笟绾т綆浠g爜骞冲彴
+VITE_GLOB_APP_TITLE = 鏅鸿兘涓崏鑽共鐕ョ郴缁�
 
 # 绠�绉帮紝鐢ㄤ簬閰嶇疆鏂囦欢鍚嶅瓧 涓嶈鍑虹幇绌烘牸銆佹暟瀛楀紑澶寸瓑鐗规畩瀛楃
 VITE_GLOB_APP_SHORT_NAME = JeecgBootAdmin
diff --git a/.env.development b/.env.development
index 2459a4f..4ec9fa7 100644
--- a/.env.development
+++ b/.env.development
@@ -5,7 +5,7 @@
 VITE_PUBLIC_PATH = /
 
 # 璺ㄥ煙浠g悊锛屾偍鍙互閰嶇疆澶氫釜 ,璇锋敞鎰忥紝娌℃湁鎹㈣绗�
-VITE_PROXY = [["/herb","http://192.168.21.70:9999"],["/upload","http://localhost:3300/upload"]]
+VITE_PROXY = [["/herb","http://192.168.19.168:9999"],["/upload","http://localhost:3300/upload"]]
 
 # 鎺у埗鍙颁笉杈撳嚭
 VITE_DROP_CONSOLE = false
@@ -14,7 +14,7 @@
 VITE_GLOB_API_URL=/herb
 
 #鍚庡彴鎺ュ彛鍏ㄨ矾寰勫湴鍧�(蹇呭~)
-VITE_GLOB_DOMAIN_URL=http://192.168.21.70:9999
+VITE_GLOB_DOMAIN_URL=http://192.168.19.168:9999
 
 # 鎺ュ彛鍓嶇紑
 VITE_GLOB_API_URL_PREFIX=
diff --git a/.env.production b/.env.production
index be4611d..c6cd63b 100644
--- a/.env.production
+++ b/.env.production
@@ -19,7 +19,7 @@
 VITE_GLOB_API_URL=/herb
 
 #鍚庡彴鎺ュ彛鍏ㄨ矾寰勫湴鍧�(蹇呭~)
-VITE_GLOB_DOMAIN_URL=http://jeecg-boot-gateway:9999
+VITE_GLOB_DOMAIN_URL=https://dev.shlanbao.cn:8800/herb
 
 # 鎺ュ彛鐖惰矾寰勫墠缂�
 VITE_GLOB_API_URL_PREFIX=
diff --git a/Dockerfile b/Dockerfile
index 65ad3a2..e9b4a79 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,24 +3,24 @@
 VOLUME /tmp
 ENV LANG en_US.UTF-8
 RUN echo "server {  \
-    listen       80; \
-    location   /herb/ { \
-    proxy_pass              http://jeecg-boot-gateway:9999/; \
-    proxy_redirect          off; \
-    proxy_set_header        Host jeecg-boot-gateway; \
-    proxy_set_header        X-Real-IP \$remote_addr; \
-    proxy_set_header        X-Forwarded-For \$proxy_add_x_forwarded_for; \
-    } \
-    #瑙e喅Router(mode: 'history')妯″紡涓嬶紝鍒锋柊璺敱鍦板潃涓嶈兘鎵惧埌椤甸潰鐨勯棶棰� \
-    location / { \
-    root   /var/www/html/; \
-    index  index.html index.htm; \
-    if (!-e \$request_filename) { \
-    rewrite ^(.*)\$ /index.html?s=\$1 last; \
-    break; \
-    } \
-    } \
-    access_log  /var/log/nginx/access.log ; \
+      listen       80; \
+      location   /herb/ { \
+        proxy_pass              http://jeecg-boot-gateway:9999/; \
+        proxy_redirect          off; \
+        proxy_set_header        Host jeecg-boot-gateway; \
+        proxy_set_header        X-Real-IP \$remote_addr; \
+        proxy_set_header        X-Forwarded-For \$proxy_add_x_forwarded_for; \
+      } \
+      #瑙e喅Router(mode: 'history')妯″紡涓嬶紝鍒锋柊璺敱鍦板潃涓嶈兘鎵惧埌椤甸潰鐨勯棶棰� \
+      location / { \
+        root   /var/www/html/; \
+        index  index.html index.htm; \
+        if (!-e \$request_filename) { \
+          rewrite ^(.*)\$ /index.html?s=\$1 last; \
+          break; \
+        } \
+      } \
+      access_log  /var/log/nginx/access.log ; \
     } " > /etc/nginx/conf.d/default.conf \
     &&  mkdir  -p  /var/www \
     &&  mkdir -p /var/www/html
diff --git a/public/lanpu.png b/public/lanpu.png
new file mode 100644
index 0000000..81a1e13
--- /dev/null
+++ b/public/lanpu.png
Binary files differ
diff --git a/public/logo.png b/public/logo.png
index 8072ced..81a1e13 100644
--- a/public/logo.png
+++ b/public/logo.png
Binary files differ
diff --git a/public/resource/img/lanpu.png b/public/resource/img/lanpu.png
new file mode 100644
index 0000000..81a1e13
--- /dev/null
+++ b/public/resource/img/lanpu.png
Binary files differ
diff --git a/public/resource/img/logo.png b/public/resource/img/logo.png
index 8072ced..81a1e13 100644
--- a/public/resource/img/logo.png
+++ b/public/resource/img/logo.png
Binary files differ
diff --git a/public/resource/img/logo_.png b/public/resource/img/logo_.png
new file mode 100644
index 0000000..8072ced
--- /dev/null
+++ b/public/resource/img/logo_.png
Binary files differ
diff --git a/src/assets/images/lanpu.png b/src/assets/images/lanpu.png
new file mode 100644
index 0000000..81a1e13
--- /dev/null
+++ b/src/assets/images/lanpu.png
Binary files differ
diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png
index 8072ced..81a1e13 100644
--- a/src/assets/images/logo.png
+++ b/src/assets/images/logo.png
Binary files differ
diff --git a/src/assets/loginmini/icon/dryer-front.png b/src/assets/loginmini/icon/dryer-front.png
new file mode 100644
index 0000000..b0fef26
--- /dev/null
+++ b/src/assets/loginmini/icon/dryer-front.png
Binary files differ
diff --git a/src/assets/loginmini/icon/dryer.png b/src/assets/loginmini/icon/dryer.png
new file mode 100644
index 0000000..1e15935
--- /dev/null
+++ b/src/assets/loginmini/icon/dryer.png
Binary files differ
diff --git a/src/assets/loginmini/icon/lanpu_logo.png b/src/assets/loginmini/icon/lanpu_logo.png
new file mode 100644
index 0000000..b0dc752
--- /dev/null
+++ b/src/assets/loginmini/icon/lanpu_logo.png
Binary files differ
diff --git a/src/assets/loginmini/style/home.less b/src/assets/loginmini/style/home.less
index 908dc7a..b7e6fc1 100644
--- a/src/assets/loginmini/style/home.less
+++ b/src/assets/loginmini/style/home.less
@@ -30,12 +30,17 @@
 }
 
 .aui-image {
-  padding: 180px 80px;
+  padding: 68px 45px;
   flex-basis: 60%;
   -webkit-flex-basis: 60%;
   background-color: #0198cd;
-  background-image: url(../icon/jeecg_ad.png);
-  background-size: cover;
+  background-image: url(/src/assets/loginmini/icon/dryer.png);
+  background-size: 148%;
+  background-position-x: -166px;
+  background-position-y: 30px;
+  background-repeat: no-repeat;
+  color: white;
+  font-size: 26px;
 }
 
 .aui-image-text {
diff --git a/src/components/Application/src/AppLogo.vue b/src/components/Application/src/AppLogo.vue
index f7c1b51..221b688 100644
--- a/src/components/Application/src/AppLogo.vue
+++ b/src/components/Application/src/AppLogo.vue
@@ -4,7 +4,7 @@
 -->
 <template>
   <div class="anticon" :class="getAppLogoClass" @click="goHome">
-    <img src="../../../assets/images/logo.png" />
+    <img src="../../../assets/images/lanpu.png" />
     <div class="ml-2 truncate md:opacity-100" :class="getTitleClass" v-show="showTitle">
       {{ title }}
     </div>
diff --git a/src/hooks/web/useWebSocket.ts b/src/hooks/web/useWebSocket.ts
index 57ead54..d7ca153 100644
--- a/src/hooks/web/useWebSocket.ts
+++ b/src/hooks/web/useWebSocket.ts
@@ -12,6 +12,7 @@
  * @param url
  */
 export function connectWebSocket(url: string) {
+  console.log("杩炴帴websocket::", url)
   //update-begin-author:taoyan date:2022-4-24 for: v2.4.6 鐨� websocket 鏈嶅姟绔紝瀛樺湪鎬ц兘鍜屽畨鍏ㄩ棶棰樸�� #3278
   let token = (getToken() || '') as string;
   result = useWebSocket(url, {
@@ -25,7 +26,7 @@
       message: "ping",
       interval: 55000
     },
-    protocols: [token],
+     protocols: [token],
   });
   //update-end-author:taoyan date:2022-4-24 for: v2.4.6 鐨� websocket 鏈嶅姟绔紝瀛樺湪鎬ц兘鍜屽畨鍏ㄩ棶棰樸�� #3278
   if (result) {
diff --git a/src/layouts/default/header/components/notify/index.vue b/src/layouts/default/header/components/notify/index.vue
index f51a0a9..466099c 100644
--- a/src/layouts/default/header/components/notify/index.vue
+++ b/src/layouts/default/header/components/notify/index.vue
@@ -29,7 +29,7 @@
   import md5 from 'crypto-js/md5';
 
   import SysMessageModal from '/@/views/system/message/components/SysMessageModal.vue'
-  
+
   export default defineComponent({
     components: {
       Popover,
diff --git a/src/views/demo/comp/qrcode/index.vue b/src/views/demo/comp/qrcode/index.vue
index 1ab6d9f..a96fc18 100644
--- a/src/views/demo/comp/qrcode/index.vue
+++ b/src/views/demo/comp/qrcode/index.vue
@@ -66,7 +66,7 @@
 <script lang="ts">
   import { defineComponent, ref, unref } from 'vue';
   import { QrCode, QrCodeActionType } from '/@/components/Qrcode/index';
-  import LogoImg from '/@/assets/images/logo.png';
+  import LogoImg from '/@/assets/images/lanpu.png';
   import { CollapseContainer } from '/@/components/Container/index';
   import { PageWrapper } from '/@/components/Page';
 
diff --git a/src/views/dry/dataDefine/DryHerb.data.ts b/src/views/dry/dataDefine/DryHerb.data.ts
index fd669a1..65bc579 100644
--- a/src/views/dry/dataDefine/DryHerb.data.ts
+++ b/src/views/dry/dataDefine/DryHerb.data.ts
@@ -27,31 +27,7 @@
     align: 'center',
     dataIndex: 'parts',
   },
-  {
-    title: '骞茬嚗鏂规硶',
-    align: 'center',
-    dataIndex: 'dryMethod',
-  },
-  {
-    title: '骞茬嚗鏃堕棿',
-    align: 'center',
-    dataIndex: 'dryTime',
-  },
-  {
-    title: '骞茬嚗娓╁害',
-    align: 'center',
-    dataIndex: 'dryTemp',
-  },
-  {
-    title: '娉ㄦ剰浜嬮」',
-    align: 'center',
-    dataIndex: 'notice',
-  },
-  {
-    title: '鐗规�ф爣绛�',
-    align: 'center',
-    dataIndex: 'tag',
-  },
+
   {
     title: '鍒濆鍚按鐜�',
     align: 'center',
@@ -61,6 +37,57 @@
     title: '鐩爣鍚按鐜�',
     align: 'center',
     dataIndex: 'target',
+  },
+  {
+    title: '鎶曟枡閲忥紙绛愶級',
+    align: 'center',
+    dataIndex: 'feed',
+  },
+  {
+    title: '棰勮骞茬嚗鏃堕棿',
+    align: 'center',
+    dataIndex: 'et',
+  },
+  {
+    title: '鐑娓╁害',
+    align: 'center',
+    dataIndex: 'windTemp',
+  },
+  {
+    title: '鐜娓╁害',
+    align: 'center',
+    dataIndex: 'envTemp',
+  },
+  {
+    title: '鐜婀垮害',
+    align: 'center',
+    dataIndex: 'envHum',
+  },
+  {
+    title: '鑽℃枡寤舵椂锛坢s锛�',
+    align: 'center',
+    dataIndex: 'delay',
+  },
+  {
+    title: '缈绘枡娆℃暟',
+    align: 'center',
+    dataIndex: 'turn',
+  },
+  {
+    title: '骞茬嚗鏂规硶',
+    align: 'center',
+    dataIndex: 'dryMethod',
+  },
+
+  {
+    title: '娉ㄦ剰浜嬮」',
+    align: 'center',
+    dataIndex: 'notice',
+  },
+  {
+    title: '鐗规�ф爣绛�',
+    align: 'center',
+    dataIndex: 'tag',
   },
 ]
 //鏌ヨ鏁版嵁
@@ -132,37 +159,7 @@
     field: 'parts',
     component: 'Input',
   },
-  {
-    label: '骞茬嚗鏂规硶',
-    field: 'dryMethod',
-    component: 'Input',
-  },
-  {
-    label: '骞茬嚗鏃堕棿',
-    field: 'dryTime',
-    component: 'InputNumber',
-    dynamicRules: ({ model, schema }) => {
-      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
-    },
-  },
-  {
-    label: '骞茬嚗娓╁害',
-    field: 'dryTemp',
-    component: 'Input',
-    dynamicRules: ({ model, schema }) => {
-      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
-    },
-  },
-  {
-    label: '娉ㄦ剰浜嬮」',
-    field: 'notice',
-    component: 'Input',
-  },
-  {
-    label: '鐗规�ф爣绛�',
-    field: 'tag',
-    component: 'Input',
-  },
+
   {
     label: '鍒濆鍚按鐜�',
     field: 'initial',
@@ -173,6 +170,75 @@
     field: 'target',
     component: 'InputNumber',
   },
+  {
+    label: '鎶曟枡閲�',
+    field: 'feed',
+    component: 'InputNumber',
+  },
+  {
+    label: '棰勮骞茬嚗鏃堕棿',
+    field: 'et',
+    component: 'InputNumber',
+    dynamicRules: ({ model, schema }) => {
+      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+    },
+  },
+  {
+    label: '鐑娓╁害',
+    field: 'windTemp',
+    component: 'InputNumber',
+    dynamicRules: ({ model, schema }) => {
+      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+    },
+  },
+  {
+    label: '鐜娓╁害',
+    field: 'envTemp',
+    component: 'InputNumber',
+    dynamicRules: ({ model, schema }) => {
+      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+    },
+  },
+  {
+    label: '鐜婀垮害',
+    field: 'envHum',
+    component: 'InputNumber',
+    dynamicRules: ({ model, schema }) => {
+      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+    },
+  },
+  {
+    label: '鑽℃枡寤舵椂',
+    field: 'delay',
+    component: 'InputNumber',
+    dynamicRules: ({ model, schema }) => {
+      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+    },
+  },
+  {
+    label: '缈绘枡娆℃暟',
+    field: 'turn',
+    component: 'InputNumber',
+    dynamicRules: ({ model, schema }) => {
+      return [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '璇疯緭鍏ユ暟瀛�!' }]
+    },
+  },
+  {
+    label: '骞茬嚗鏂规硶',
+    field: 'dryMethod',
+    component: 'Input',
+  },
+
+  {
+    label: '娉ㄦ剰浜嬮」',
+    field: 'notice',
+    component: 'Input',
+  },
+  {
+    label: '鐗规�ф爣绛�',
+    field: 'tag',
+    component: 'Input',
+  },
   // TODO 涓婚敭闅愯棌瀛楁锛岀洰鍓嶅啓姝讳负ID
   {
     label: '',
diff --git a/src/views/dry/dataDefine/DryOrder.data.ts b/src/views/dry/dataDefine/DryOrder.data.ts
index e79267e..176354b 100644
--- a/src/views/dry/dataDefine/DryOrder.data.ts
+++ b/src/views/dry/dataDefine/DryOrder.data.ts
@@ -37,6 +37,11 @@
 		align: 'center',
 		dataIndex: 'feed',
 	},
+  {
+    title: '鍒濆閲嶉噺',
+    align: 'center',
+    dataIndex: 'originWeight',
+  },
 	{
 		title: '棰勮骞茬嚗鏃堕棿',
 		align: 'center',
@@ -50,8 +55,33 @@
 	{
 		title: '骞茬嚗鏃堕棿',
 		align: 'center',
-		dataIndex: 'drying',
+		dataIndex: 'dryTime',
 	},
+  {
+    title: '鐑娓╁害',
+    align: 'center',
+    dataIndex: 'windTemp',
+  },
+  {
+    title: '鐜娓╁害',
+    align: 'center',
+    dataIndex: 'envTemp',
+  },
+  {
+    title: '鐜婀垮害',
+    align: 'center',
+    dataIndex: 'envHum',
+  },
+  {
+    title: '鑽℃枡寤舵椂锛坢s锛�',
+    align: 'center',
+    dataIndex: 'delay',
+  },
+  {
+    title: '缈绘枡娆℃暟',
+    align: 'center',
+    dataIndex: 'turn',
+  },
 	{
 		title: '棰勮鍓╀綑鏃堕棿',
 		align: 'center',
@@ -102,6 +132,10 @@
 		label: '宸ュ崟鏃堕棿',
 		field: 'orderTime',
 		component: 'DatePicker',
+    componentProps: {
+      showTime: true,
+      valueFormat: 'YYYY-MM-DD HH:mm:ss'
+    },
 	},
 	{
 		label: '宸ュ崟鍙�',
@@ -134,6 +168,11 @@
 		field: 'feed',
 		component: 'InputNumber',
 	},
+  {
+    label: '鍘熷閲嶉噺',
+    field: 'originWeight',
+    component: 'InputNumber',
+  },
 	{
 		label: '棰勮骞茬嚗鏃堕棿',
 		field: 'et',
@@ -144,16 +183,41 @@
 		field: 'yield',
 		component: 'InputNumber',
 	},
-	{
-		label: '骞茬嚗鏃堕棿',
-		field: 'drying',
-		component: 'InputNumber',
-	},
-	{
-		label: '棰勮鍓╀綑鏃堕棿',
-		field: 'remain',
-		component: 'InputNumber',
-	},
+  {
+    label: '骞茬嚗鏃堕棿',
+    field: 'dryTime',
+    component: 'InputNumber',
+  },
+  {
+    label: '鐑娓╁害',
+    field: 'windTemp',
+    component: 'InputNumber',
+  },
+  {
+    label: '鐜娓╁害',
+    field: 'envTemp',
+    component: 'InputNumber',
+  },
+  {
+    label: '鐜婀垮害',
+    field: 'envHum',
+    component: 'InputNumber',
+  },
+  {
+    label: '鑽℃枡寤舵椂锛坢s锛�',
+    field: 'delay',
+    component: 'InputNumber',
+  },
+  {
+    label: '缈绘枡娆℃暟',
+    field: 'turn',
+    component: 'InputNumber',
+  },
+  {
+    label: '棰勮鍓╀綑鏃堕棿',
+    field: 'remain',
+    component: 'InputNumber',
+  },
 	{
 		label: '璁惧',
 		field: 'equId',
diff --git a/src/views/sys/login/TokenLoginPage.vue b/src/views/sys/login/TokenLoginPage.vue
index 4c0ca0e..5dd6b81 100644
--- a/src/views/sys/login/TokenLoginPage.vue
+++ b/src/views/sys/login/TokenLoginPage.vue
@@ -5,7 +5,7 @@
             <div class="app-loading-dots">
                 <span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
             </div>
-            <div class="app-loading-title">JeecgBoot 浼佷笟绾т綆浠g爜骞冲彴</div>
+            <div class="app-loading-title">鏅鸿兘涓崏鑽共鐕ョ郴缁�</div>
         </div>
     </div>
 </template>
@@ -19,7 +19,7 @@
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useUserStore } from '/@/store/modules/user';
   import { useI18n } from '/@/hooks/web/useI18n';
-  
+
   export default {
     name: "TokenLogin",
     setup(){
@@ -31,7 +31,7 @@
       if(!routeQuery){
         createMessage.warning('鍙傛暟鏃犳晥')
       }
-     
+
       const token = routeQuery['loginToken'];
       if(!token){
         createMessage.warning('token鏃犳晥')
@@ -53,7 +53,7 @@
           duration: 4,
         });
       }
-      
+
       function requestSuccess(res){
         let info = routeQuery.info;
         if(info){
@@ -206,4 +206,4 @@
         }
     }
 
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/system/departUser/components/DepartRoleAuthDrawer.vue b/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
index e8d5d90..9bdb3ea 100644
--- a/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
+++ b/src/views/system/departUser/components/DepartRoleAuthDrawer.vue
@@ -1,31 +1,17 @@
 <template>
-  <BasicDrawer
-    title="閮ㄩ棬瑙掕壊鏉冮檺閰嶇疆"
-    :width="650"
-    :loading="loading"
-    showFooter
-    okText="淇濆瓨骞跺叧闂�"
-    @ok="onSubmit(true)"
-    @close="onClose"
-    @register="registerDrawer"
-  >
+  <BasicDrawer title="閮ㄩ棬瑙掕壊鏉冮檺閰嶇疆"
+               :width="650"
+               :loading="loading"
+               showFooter
+               okText="淇濆瓨骞跺叧闂�"
+               @ok="onSubmit(true)"
+    @close="onClose" @register="registerDrawer">
     <div>
       <a-spin :spinning="loading">
         <template v-if="treeData.length > 0">
-          <BasicTree
-            title="鎵�鎷ユ湁鐨勯儴闂ㄦ潈闄�"
-            toolbar
-            checkable
-            :treeData="treeData"
-            :checkedKeys="checkedKeys"
-            :selectedKeys="selectedKeys"
-            :expandedKeys="expandedKeys"
-            :checkStrictly="checkStrictly"
-            :clickRowToExpand="false"
-            @check="onCheck"
-            @expand="onExpand"
-            @select="onSelect"
-          >
+          <BasicTree title="鎵�鎷ユ湁鐨勯儴闂ㄦ潈闄�" toolbar checkable :treeData="treeData" :checkedKeys="checkedKeys"
+            :selectedKeys="selectedKeys" :expandedKeys="expandedKeys" :checkStrictly="checkStrictly"
+            :clickRowToExpand="false" @check="onCheck" @expand="onExpand" @select="onSelect">
             <template #title="{ slotTitle, ruleFlag }">
               <span>{{ slotTitle }}</span>
               <Icon v-if="ruleFlag" icon="ant-design:align-left-outlined" style="margin-left: 5px; color: red" />
@@ -44,115 +30,115 @@
 </template>
 
 <script lang="ts" setup>
-  import { ref } from 'vue';
+import { ref } from 'vue';
 
-  import { BasicTree } from '/@/components/Tree/index';
-  import { BasicDrawer, useDrawer, useDrawerInner } from '/@/components/Drawer';
-  import { useMessage } from '/@/hooks/web/useMessage';
+import { BasicTree } from '/@/components/Tree/index';
+import { BasicDrawer, useDrawer, useDrawerInner } from '/@/components/Drawer';
+import { useMessage } from '/@/hooks/web/useMessage';
 
-  import DepartRoleDataRuleDrawer from './DepartRoleDataRuleDrawer.vue';
-  import { queryTreeListForDeptRole, queryDeptRolePermission, saveDeptRolePermission } from '../depart.user.api';
+import DepartRoleDataRuleDrawer from './DepartRoleDataRuleDrawer.vue';
+import { queryTreeListForDeptRole, queryDeptRolePermission, saveDeptRolePermission } from '../depart.user.api';
 
-  defineEmits(['register']);
-  const { createMessage } = useMessage();
-  const loading = ref(false);
-  const departId = ref('');
-  const roleId = ref('');
-  const treeData = ref<Array<any>>([]);
-  const checkedKeys = ref<Array<any>>([]);
-  const lastCheckedKeys = ref<Array<any>>([]);
-  const expandedKeys = ref<Array<any>>([]);
-  const selectedKeys = ref<Array<any>>([]);
-  const allTreeKeys = ref<Array<any>>([]);
-  const checkStrictly = ref(true);
+defineEmits(['register']);
+const { createMessage } = useMessage();
+const loading = ref(false);
+const departId = ref('');
+const roleId = ref('');
+const treeData = ref<Array<any>>([]);
+const checkedKeys = ref<Array<any>>([]);
+const lastCheckedKeys = ref<Array<any>>([]);
+const expandedKeys = ref<Array<any>>([]);
+const selectedKeys = ref<Array<any>>([]);
+const allTreeKeys = ref<Array<any>>([]);
+const checkStrictly = ref(true);
 
-  // 娉ㄥ唽鎶藉眽缁勪欢
-  const [registerDrawer, { closeDrawer }] = useDrawerInner((data) => {
-    roleId.value = data.record.id;
-    departId.value = data.record.departId;
-    loadData();
-  });
-  // 娉ㄥ唽鏁版嵁瑙勫垯鎺堟潈寮圭獥鎶藉眽
-  const [registerDataRuleDrawer, dataRuleDrawer] = useDrawer();
+// 娉ㄥ唽鎶藉眽缁勪欢
+const [registerDrawer, { closeDrawer }] = useDrawerInner((data) => {
+  roleId.value = data.record.id;
+  departId.value = data.record.departId;
+  loadData();
+});
+// 娉ㄥ唽鏁版嵁瑙勫垯鎺堟潈寮圭獥鎶藉眽
+const [registerDataRuleDrawer, dataRuleDrawer] = useDrawer();
 
-  async function loadData() {
-    try {
-      loading.value = true;
-      // 鐢ㄦ埛瑙掕壊鎺堟潈鍔熻兘锛屾煡璇㈣彍鍗曟潈闄愭爲
-      const { ids, treeList } = await queryTreeListForDeptRole({ departId: departId.value });
-      if (ids.length > 0) {
-        allTreeKeys.value = ids;
-        expandedKeys.value = ids;
-        treeData.value = treeList;
-        // 鏌ヨ瑙掕壊鎺堟潈
-        checkedKeys.value = await queryDeptRolePermission({ roleId: roleId.value });
-        lastCheckedKeys.value = [checkedKeys.value];
-      } else {
-        reset();
-      }
-    } finally {
-      loading.value = false;
+async function loadData() {
+  try {
+    loading.value = true;
+    // 鐢ㄦ埛瑙掕壊鎺堟潈鍔熻兘锛屾煡璇㈣彍鍗曟潈闄愭爲
+    const { ids, treeList } = await queryTreeListForDeptRole({ departId: departId.value });
+    if (ids.length > 0) {
+      allTreeKeys.value = ids;
+      expandedKeys.value = ids;
+      treeData.value = treeList;
+      // 鏌ヨ瑙掕壊鎺堟潈
+      checkedKeys.value = await queryDeptRolePermission({ roleId: roleId.value });
+      lastCheckedKeys.value = [checkedKeys.value];
+    } else {
+      reset();
     }
-  }
-
-  // 閲嶇疆椤甸潰
-  function reset() {
-    treeData.value = [];
-    expandedKeys.value = [];
-    checkedKeys.value = [];
-    lastCheckedKeys.value = [];
+  } finally {
     loading.value = false;
   }
+}
 
-  // tree鍕鹃�夊閫夋浜嬩欢
-  function onCheck(event) {
-    if (checkStrictly.value) {
-      checkedKeys.value = event.checked;
-    } else {
-      checkedKeys.value = event;
+// 閲嶇疆椤甸潰
+function reset() {
+  treeData.value = [];
+  expandedKeys.value = [];
+  checkedKeys.value = [];
+  lastCheckedKeys.value = [];
+  loading.value = false;
+}
+
+// tree鍕鹃�夊閫夋浜嬩欢
+function onCheck(event) {
+  if (checkStrictly.value) {
+    checkedKeys.value = event.checked;
+  } else {
+    checkedKeys.value = event;
+  }
+}
+
+// tree灞曞紑浜嬩欢
+function onExpand($expandedKeys) {
+  expandedKeys.value = $expandedKeys;
+}
+
+// tree閫変腑浜嬩欢
+function onSelect($selectedKeys, { selectedNodes }) {
+  if (selectedNodes[0]?.ruleFlag) {
+    let functionId = $selectedKeys[0];
+    dataRuleDrawer.openDrawer(true, { roleId, departId, functionId });
+  }
+  selectedKeys.value = [];
+}
+
+function doClose() {
+  reset();
+  closeDrawer();
+}
+
+function onClose() {
+  reset();
+}
+
+async function onSubmit(exit) {
+  try {
+    loading.value = true;
+    let params = {
+      roleId: roleId.value,
+      permissionIds: checkedKeys.value.join(','),
+      lastpermissionIds: lastCheckedKeys.value.join(','),
+    };
+    await saveDeptRolePermission(params);
+    if (exit) {
+      doClose();
+    }
+  } finally {
+    loading.value = false;
+    if (!exit) {
+      loadData();
     }
   }
-
-  // tree灞曞紑浜嬩欢
-  function onExpand($expandedKeys) {
-    expandedKeys.value = $expandedKeys;
-  }
-
-  // tree閫変腑浜嬩欢
-  function onSelect($selectedKeys, { selectedNodes }) {
-    if (selectedNodes[0]?.ruleFlag) {
-      let functionId = $selectedKeys[0];
-      dataRuleDrawer.openDrawer(true, { roleId, departId, functionId });
-    }
-    selectedKeys.value = [];
-  }
-
-  function doClose() {
-    reset();
-    closeDrawer();
-  }
-
-  function onClose() {
-    reset();
-  }
-
-  async function onSubmit(exit) {
-    try {
-      loading.value = true;
-      let params = {
-        roleId: roleId.value,
-        permissionIds: checkedKeys.value.join(','),
-        lastpermissionIds: lastCheckedKeys.value.join(','),
-      };
-      await saveDeptRolePermission(params);
-      if (exit) {
-        doClose();
-      }
-    } finally {
-      loading.value = false;
-      if (!exit) {
-        loadData();
-      }
-    }
-  }
+}
 </script>
diff --git a/src/views/system/loginmini/MiniCodelogin.vue b/src/views/system/loginmini/MiniCodelogin.vue
index 85e6c4d..1ee5aa4 100644
--- a/src/views/system/loginmini/MiniCodelogin.vue
+++ b/src/views/system/loginmini/MiniCodelogin.vue
@@ -66,7 +66,7 @@
   import { useUserStore } from '/@/store/modules/user';
   import { QrCode } from '/@/components/Qrcode/index';
   import ThirdModal from '/@/views/sys/login/ThirdModal.vue';
-  import logoImg from '/@/assets/loginmini/icon/jeecg_logo.png';
+  import logoImg from '/@/assets/loginmini/icon/lanpu_logo.png';
   import adTextImg from '/@/assets/loginmini/icon/jeecg_ad_text.png';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useDesign } from "/@/hooks/web/useDesign";
diff --git a/src/views/system/loginmini/MiniForgotpad.vue b/src/views/system/loginmini/MiniForgotpad.vue
index 353c9ec..c19b508 100644
--- a/src/views/system/loginmini/MiniForgotpad.vue
+++ b/src/views/system/loginmini/MiniForgotpad.vue
@@ -96,7 +96,7 @@
   import { SmsEnum, useFormRules, useFormValid, useLoginState } from '/@/views/sys/login/useLogin';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { getCaptcha, passwordChange, phoneVerify } from '/@/api/sys/user';
-  import logoImg from '/@/assets/loginmini/icon/jeecg_logo.png'
+  import logoImg from '/@/assets/loginmini/icon/lanpu_logo.png'
   import adTextImg from '/@/assets/loginmini/icon/jeecg_ad_text.png'
   import successImg from '/@/assets/loginmini/icon/icon-success.png'
 
diff --git a/src/views/system/loginmini/MiniLogin.vue b/src/views/system/loginmini/MiniLogin.vue
index 1b5a412..7d67826 100644
--- a/src/views/system/loginmini/MiniLogin.vue
+++ b/src/views/system/loginmini/MiniLogin.vue
@@ -17,9 +17,11 @@
         <div class="aui-container">
           <div class="aui-form">
             <div class="aui-image">
-              <div class="aui-image-text">
-                <img :src="adTextImg" />
-              </div>
+              <div>Lanpu</div>
+<div>鍏版郸鏅鸿兘涓崏鑽共鐕ョ郴缁�</div>
+<!--              <div class="aui-image-text">-->
+<!--                <img :src="adTextImg" />-->
+<!--              </div>-->
             </div>
             <div class="aui-formBox">
               <div class="aui-formWell">
@@ -159,7 +161,7 @@
   import MiniForgotpad from './MiniForgotpad.vue';
   import MiniRegister from './MiniRegister.vue';
   import MiniCodelogin from './MiniCodelogin.vue';
-  import logoImg from '/@/assets/loginmini/icon/jeecg_logo.png';
+  import logoImg from '/@/assets/loginmini/icon/lanpu_logo.png';
   import adTextImg from '/@/assets/loginmini/icon/jeecg_ad_text.png';
   import { AppLocalePicker, AppDarkModeToggle } from '/@/components/Application';
   import { useLocaleStore } from '/@/store/modules/locale';
@@ -188,8 +190,8 @@
   //璐﹀彿鐧诲綍琛ㄥ崟瀛楁
   const formData = reactive<any>({
     inputCode: '',
-    username: 'admin',
-    password: '123456',
+    username: '',
+    password: '',
   });
   //鎵嬫満鐧诲綍琛ㄥ崟瀛楁
   const phoneFormData = reactive<any>({
diff --git a/src/views/system/loginmini/MiniRegister.vue b/src/views/system/loginmini/MiniRegister.vue
index 45eddc8..617b765 100644
--- a/src/views/system/loginmini/MiniRegister.vue
+++ b/src/views/system/loginmini/MiniRegister.vue
@@ -88,7 +88,7 @@
   import { getCaptcha, register } from '/@/api/sys/user';
   import { SmsEnum } from '/@/views/sys/login/useLogin';
   import { useMessage } from '/@/hooks/web/useMessage';
-  import logoImg from '/@/assets/loginmini/icon/jeecg_logo.png';
+  import logoImg from '/@/assets/loginmini/icon/lanpu_logo.png';
   import jeecgAdTextImg from '/@/assets/loginmini/icon/jeecg_ad_text.png';
   import eyeKImg from '/@/assets/loginmini/icon/icon-eye-k.png';
   import eyeGImg from '/@/assets/loginmini/icon/icon-eye-g.png';
diff --git a/src/views/system/role/components/RolePermissionDrawer.vue b/src/views/system/role/components/RolePermissionDrawer.vue
index 69f4b7a..3fbe54b 100644
--- a/src/views/system/role/components/RolePermissionDrawer.vue
+++ b/src/views/system/role/components/RolePermissionDrawer.vue
@@ -1,5 +1,9 @@
 <template>
-  <BasicDrawer v-bind="$attrs" @register="registerDrawer" width="650px" destroyOnClose showFooter>
+  <BasicDrawer v-bind="$attrs"
+               @register="registerDrawer"
+               width="650px"
+               destroyOnClose
+               showFooter>
     <template #title>
       瑙掕壊鏉冮檺閰嶇疆
       <a-dropdown>
@@ -18,19 +22,9 @@
         </template>
       </a-dropdown>
     </template>
-    <BasicTree
-      ref="treeRef"
-      checkable
-      :treeData="treeData"
-      :checkedKeys="checkedKeys"
-      :expandedKeys="expandedKeys"
-      :selectedKeys="selectedKeys"
-      :checkStrictly="checkStrictly"
-      :clickRowToExpand="false"
-      title="鎵�鎷ユ湁鐨勭殑鏉冮檺"
-      @check="onCheck"
-      @select="onTreeNodeSelect"
-    >
+    <BasicTree ref="treeRef" checkable :treeData="treeData" :checkedKeys="checkedKeys" :expandedKeys="expandedKeys"
+      :selectedKeys="selectedKeys" :checkStrictly="checkStrictly" :clickRowToExpand="false" title="鎵�鎷ユ湁鐨勭殑鏉冮檺"
+      @check="onCheck" @select="onTreeNodeSelect">
       <template #title="{ slotTitle, ruleFlag }">
         {{ slotTitle }}
         <Icon v-if="ruleFlag" icon="ant-design:align-left-outlined" style="margin-left: 5px; color: red"></Icon>
@@ -39,168 +33,173 @@
     <!--鍙充笅瑙掓寜閽�-->
     <template #footer>
       <PopConfirmButton title="纭畾鏀惧純缂栬緫锛�" @confirm="closeDrawer" okText="纭畾" cancelText="鍙栨秷">鍙栨秷</PopConfirmButton>
-      <a-button @click="handleSubmit(false)" type="primary" :loading="loading" ghost style="margin-right: 0.8rem">浠呬繚瀛�</a-button>
+      <a-button @click="handleSubmit(false)" type="primary" :loading="loading" ghost
+        style="margin-right: 0.8rem">浠呬繚瀛�</a-button>
       <a-button @click="handleSubmit(true)" type="primary" :loading="loading">淇濆瓨骞跺叧闂�</a-button>
     </template>
     <RoleDataRuleDrawer @register="registerDrawer1" />
   </BasicDrawer>
 </template>
 <script lang="ts" setup>
-  import { ref, computed, unref, onMounted } from 'vue';
-  import { BasicDrawer, useDrawer, useDrawerInner } from '/src/components/Drawer';
-  import { BasicTree, TreeItem } from '/src/components/Tree';
-  import { PopConfirmButton } from '/@/components/Button';
-  import RoleDataRuleDrawer from './RoleDataRuleDrawer.vue';
-  import { queryTreeListForRole, queryRolePermission, saveRolePermission } from '../role.api';
-  const emit = defineEmits(['register']);
-  //鏍戠殑淇℃伅
-  const treeData = ref<TreeItem[]>([]);
-  //鏍戠殑鍏ㄩ儴鑺傜偣淇℃伅
-  const allTreeKeys = ref([]);
-  //鏍戠殑閫夋嫨鑺傜偣淇℃伅
-  const checkedKeys = ref([]);
-  const defaultCheckedKeys = ref([]);
-  //鏍戠殑閫変腑鐨勮妭鐐逛俊鎭�
-  const selectedKeys = ref([]);
-  const roleId = ref('');
-  //鏍戠殑瀹炰緥
-  const treeRef = ref(null);
-  const loading = ref(false);
+import { ref, computed, unref, onMounted } from 'vue'
+import { BasicDrawer, useDrawer, useDrawerInner } from '/src/components/Drawer'
+import { BasicTree, TreeItem } from '/src/components/Tree'
+import { PopConfirmButton } from '/@/components/Button'
+import RoleDataRuleDrawer from './RoleDataRuleDrawer.vue'
+import { queryTreeListForRole, queryRolePermission, saveRolePermission } from '../role.api'
+const emit = defineEmits(['register'])
+//鏍戠殑淇℃伅
+const treeData = ref<TreeItem[]>([])
+//鏍戠殑鍏ㄩ儴鑺傜偣淇℃伅
+const allTreeKeys = ref([])
+//鏍戠殑閫夋嫨鑺傜偣淇℃伅
+const checkedKeys = ref([])
+const defaultCheckedKeys = ref([])
+//鏍戠殑閫変腑鐨勮妭鐐逛俊鎭�
+const selectedKeys = ref([])
+const roleId = ref('')
+//鏍戠殑瀹炰緥
+const treeRef = ref(null)
+const loading = ref(false)
 
-  //灞曞紑鎶樺彔鐨刱ey
-  const expandedKeys = ref<any>([]);
-  //鐖跺瓙鑺傜偣閫変腑鐘舵�佹槸鍚﹀叧鑱�
-  const checkStrictly = ref<boolean>(true);
-  const [registerDrawer1, { openDrawer: openDataRuleDrawer }] = useDrawer();
-  const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
-    await reset();
-    setDrawerProps({ confirmLoading: false, loading: true });
-    roleId.value = data.roleId;
-    //鍒濆鍖栨暟鎹�
-    const roleResult = await queryTreeListForRole();
-    treeData.value = roleResult.treeList;
-    allTreeKeys.value = roleResult.ids;
-    expandedKeys.value = roleResult.ids;
-    //鍒濆鍖栬鑹茶彍鍗曟暟鎹�
-    const permResult = await queryRolePermission({ roleId: unref(roleId) });
-    checkedKeys.value = permResult;
-    defaultCheckedKeys.value = permResult;
-    setDrawerProps({ loading: false });
-  });
-  /**
-   * 鐐瑰嚮閫変腑
-   */
-  function onCheck(o) {
-    checkedKeys.value = o.checked ? o.checked : o;
+//灞曞紑鎶樺彔鐨刱ey
+const expandedKeys = ref<any>([])
+//鐖跺瓙鑺傜偣閫変腑鐘舵�佹槸鍚﹀叧鑱�
+const checkStrictly = ref<boolean>(true)
+const [registerDrawer1, { openDrawer: openDataRuleDrawer }] = useDrawer()
+const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
+  await reset()
+  setDrawerProps({ confirmLoading: false, loading: true })
+  roleId.value = data.roleId
+  //鍒濆鍖栨暟鎹�
+  const roleResult = await queryTreeListForRole()
+  treeData.value = roleResult.treeList
+  allTreeKeys.value = roleResult.ids
+  expandedKeys.value = roleResult.ids
+  //鍒濆鍖栬鑹茶彍鍗曟暟鎹�
+  const permResult = await queryRolePermission({ roleId: unref(roleId) })
+  checkedKeys.value = permResult
+  defaultCheckedKeys.value = permResult
+  setDrawerProps({ loading: false })
+})
+/**
+ * 鐐瑰嚮閫変腑
+ */
+function onCheck(o) {
+  checkedKeys.value = o.checked ? o.checked : o
+}
+/**
+ * 閫変腑鑺傜偣锛屾墦寮�鏁版嵁鏉冮檺鎶藉眽
+ */
+function onTreeNodeSelect(key) {
+  if (key && key.length > 0) {
+    selectedKeys.value = key
   }
-  /**
-   * 閫変腑鑺傜偣锛屾墦寮�鏁版嵁鏉冮檺鎶藉眽
-   */
-  function onTreeNodeSelect(key) {
-    if (key && key.length > 0) {
-      selectedKeys.value = key;
-    }
-    openDataRuleDrawer(true, { functionId: unref(selectedKeys)[0], roleId: unref(roleId) });
+  openDataRuleDrawer(true, { functionId: unref(selectedKeys)[0], roleId: unref(roleId) })
+}
+/**
+ * 鏁版嵁閲嶇疆
+ */
+function reset() {
+  treeData.value = []
+  allTreeKeys.value = []
+  checkedKeys.value = []
+  defaultCheckedKeys.value = []
+  selectedKeys.value = []
+  roleId.value = ''
+}
+/**
+ * 鑾峰彇tree瀹炰緥
+ */
+function getTree() {
+  const tree = unref(treeRef)
+  if (!tree) {
+    throw new Error('tree is null!')
   }
-  /**
-   * 鏁版嵁閲嶇疆
-   */
-  function reset() {
-    treeData.value = [];
-    allTreeKeys.value = [];
-    checkedKeys.value = [];
-    defaultCheckedKeys.value = [];
-    selectedKeys.value = [];
-    roleId.value = '';
+  return tree
+}
+/**
+ * 鎻愪氦
+ */
+async function handleSubmit(exit) {
+  let params = {
+    roleId: unref(roleId),
+    permissionIds: unref(getTree().getCheckedKeys()).join(','),
+    lastpermissionIds: unref(defaultCheckedKeys).join(','),
   }
-  /**
-   * 鑾峰彇tree瀹炰緥
-   */
-  function getTree() {
-    const tree = unref(treeRef);
-    if (!tree) {
-      throw new Error('tree is null!');
-    }
-    return tree;
+  //update-begin-author:taoyan date:2023-2-11 for: issues/352 VUE瑙掕壊鎺堟潈閲嶅淇濆瓨
+  if (loading.value === false) {
+    await doSave(params)
+  } else {
+    console.log('璇风瓑寰呬笂娆℃墽琛屽畬姣�!')
   }
-  /**
-   * 鎻愪氦
-   */
-  async function handleSubmit(exit) {
-    let params = {
-      roleId: unref(roleId),
-      permissionIds: unref(getTree().getCheckedKeys()).join(','),
-      lastpermissionIds: unref(defaultCheckedKeys).join(','),
-    };
-    //update-begin-author:taoyan date:2023-2-11 for: issues/352 VUE瑙掕壊鎺堟潈閲嶅淇濆瓨
-    if(loading.value===false){
-      await doSave(params)
-    }else{
-      console.log('璇风瓑寰呬笂娆℃墽琛屽畬姣�!');
-    }
-    if(exit){
-      // 濡傛灉鍏抽棴
-      closeDrawer();
-    }else{
-      // 娌℃湁鍏抽棴闇�瑕侀噸鏂拌幏鍙栭�変腑鏁版嵁
-      const permResult = await queryRolePermission({ roleId: unref(roleId) });
-      defaultCheckedKeys.value = permResult;
-    }
+  if (exit) {
+    // 濡傛灉鍏抽棴
+    closeDrawer()
+  } else {
+    // 娌℃湁鍏抽棴闇�瑕侀噸鏂拌幏鍙栭�変腑鏁版嵁
+    const permResult = await queryRolePermission({ roleId: unref(roleId) })
+    defaultCheckedKeys.value = permResult
   }
-  
-  // VUE瑙掕壊鎺堟潈閲嶅淇濆瓨 #352
-  async function doSave(params) {
-    loading.value = true;
-    await saveRolePermission(params);
-    setTimeout(()=>{
-      loading.value = false;
-    }, 500)
-  }
-  //update-end-author:taoyan date:2023-2-11 for: issues/352 VUE瑙掕壊鎺堟潈閲嶅淇濆瓨
+}
 
-  /**
-   * 鏍戣彍鍗曢�夋嫨
-   * @param key
-   */
-  function treeMenuClick({ key }) {
-    if (key === 'checkAll') {
-      checkedKeys.value = allTreeKeys.value;
-    } else if (key === 'cancelCheck') {
-      checkedKeys.value = [];
-    } else if (key === 'openAll') {
-      expandedKeys.value = allTreeKeys.value;
-    } else if (key === 'closeAll') {
-      expandedKeys.value = [];
-    } else if (key === 'relation') {
-      checkStrictly.value = false;
-    } else {
-      checkStrictly.value = true;
-    }
+// VUE瑙掕壊鎺堟潈閲嶅淇濆瓨 #352
+async function doSave(params) {
+  loading.value = true
+  await saveRolePermission(params)
+  setTimeout(() => {
+    loading.value = false
+  }, 500)
+}
+//update-end-author:taoyan date:2023-2-11 for: issues/352 VUE瑙掕壊鎺堟潈閲嶅淇濆瓨
+
+/**
+ * 鏍戣彍鍗曢�夋嫨
+ * @param key
+ */
+function treeMenuClick({ key }) {
+  if (key === 'checkAll') {
+    checkedKeys.value = allTreeKeys.value
+  } else if (key === 'cancelCheck') {
+    checkedKeys.value = []
+  } else if (key === 'openAll') {
+    expandedKeys.value = allTreeKeys.value
+  } else if (key === 'closeAll') {
+    expandedKeys.value = []
+  } else if (key === 'relation') {
+    checkStrictly.value = false
+  } else {
+    checkStrictly.value = true
   }
+}
 </script>
 
 <style lang="less" scoped>
-  /** 鍥哄畾鎿嶄綔鎸夐挳 */
-  .jeecg-basic-tree {
-    position: absolute;
-    width: 618px;
-  }
-  //update-begin---author:wangshuai ---date:20230202  for锛氭娊灞夊脊绐楁爣棰樺浘鏍囦笅鎷夋牱寮�------------
-  .line {
-    height: 1px;
-    width: 100%;
-    border-bottom: 1px solid #f0f0f0;
-  }
-  .more-icon {
-    font-size: 20px !important;
-    color: black;
-    display: inline-flex;
-    float: right;
-    margin-right: 2px;
-    cursor: pointer;
-  }
-  :deep(.jeecg-tree-header){
-    border-bottom: none;
-  }
-  //update-end---author:wangshuai ---date:20230202  for锛氭娊灞夊脊绐楁爣棰樺浘鏍囦笅鎷夋牱寮�------------
+/** 鍥哄畾鎿嶄綔鎸夐挳 */
+.jeecg-basic-tree {
+  position: absolute;
+  width: 618px;
+}
+
+//update-begin---author:wangshuai ---date:20230202  for锛氭娊灞夊脊绐楁爣棰樺浘鏍囦笅鎷夋牱寮�------------
+.line {
+  height: 1px;
+  width: 100%;
+  border-bottom: 1px solid #f0f0f0;
+}
+
+.more-icon {
+  font-size: 20px !important;
+  color: black;
+  display: inline-flex;
+  float: right;
+  margin-right: 2px;
+  cursor: pointer;
+}
+
+:deep(.jeecg-tree-header) {
+  border-bottom: none;
+}
+
+//update-end---author:wangshuai ---date:20230202  for锛氭娊灞夊脊绐楁爣棰樺浘鏍囦笅鎷夋牱寮�------------
 </style>
diff --git a/src/views/system/user/UserDrawer.vue b/src/views/system/user/UserDrawer.vue
index 3943b53..6cb5a38 100644
--- a/src/views/system/user/UserDrawer.vue
+++ b/src/views/system/user/UserDrawer.vue
@@ -15,6 +15,7 @@
   import { defineComponent, ref, computed, unref, useAttrs } from 'vue';
   import { BasicForm, useForm } from '/@/components/Form/index';
   import { formSchema } from './user.data';
+  import { getTenantId, getToken } from "/@/utils/auth";
   import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
   import { saveOrUpdateUser, getUserRoles, getUserDepartList } from './user.api';
   import { useDrawerAdaptiveWidth } from '/@/hooks/jeecg/useAdaptiveWidth';
@@ -100,6 +101,10 @@
         field: 'selectedroles',
         show: !data?.departDisabled ?? false,
       },
+      {
+        field: 'relTenantIds',
+        show: Number(getTenantId())<=0,
+      },
     ]);
     // 鏃犺鏂板杩樻槸缂栬緫锛岄兘鍙互璁剧疆琛ㄥ崟鍊�
     if (typeof data.record === 'object') {

--
Gitblit v1.9.3