From ba24afce52bcdffdbccf6475544c79c4eefcd14e Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期二, 09 七月 2024 11:02:34 +0800
Subject: [PATCH] !131 ♥️发布 vue 版本 5.2.1 与 cloud 版本 2.2.0 Merge pull request !131 from 疯狂的狮子Li/dev

---
 src/components/Process/submitVerify.vue                       |    2 
 src/views/index.vue                                           |    2 
 src/views/system/config/index.vue                             |    2 
 src/views/system/role/index.vue                               |    2 
 src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts |    2 
 src/layout/components/SocialCallback/index.vue                |    2 
 src/api/workflow/model/index.ts                               |    4 
 src/views/workflow/formManage/index.vue                       |    8 +-
 src/hooks/useDialog.ts                                        |    2 
 src/api/workflow/formManage/types.ts                          |    4 
 src/components/Editor/index.vue                               |    2 
 src/views/monitor/logininfor/index.vue                        |    2 
 src/views/monitor/operlog/index.vue                           |    4 
 src/views/system/user/profile/thirdParty.vue                  |    2 
 src/api/workflow/nodeConfig/types.ts                          |    5 -
 src/views/system/menu/index.vue                               |    2 
 src/store/modules/permission.ts                               |   54 ++++++++++++
 src/views/system/user/profile/onlineDevice.vue                |    4 
 src/views/system/client/index.vue                             |    2 
 src/views/system/dept/index.vue                               |    2 
 src/views/system/user/profile/index.vue                       |    6 
 src/api/workflow/formManage/index.ts                          |    2 
 src/api/workflow/model/types.ts                               |    6 
 src/views/system/oss/index.vue                                |    6 
 src/components/UserSelect/index.vue                           |   26 ++----
 src/permission.ts                                             |    2 
 src/utils/createCustomNameComponent.tsx                       |   39 +++++++++
 package.json                                                  |    2 
 src/views/system/user/profile/resetPwd.vue                    |    2 
 src/components/Process/multiInstanceUser.vue                  |    2 
 src/layout/components/AppMain.vue                             |   14 +-
 src/components/ImagePreview/index.vue                         |    2 
 32 files changed, 145 insertions(+), 73 deletions(-)

diff --git a/package.json b/package.json
index 7995d93..f1c8084 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "ruoyi-vue-plus",
-  "version": "5.2.0",
+  "version": "5.2.1",
   "description": "RuoYi-Vue-Plus澶氱鎴风鐞嗙郴缁�",
   "author": "LionLi",
   "license": "MIT",
diff --git a/src/api/workflow/formManage/index.ts b/src/api/workflow/formManage/index.ts
index c2930cf..6c5ec60 100644
--- a/src/api/workflow/formManage/index.ts
+++ b/src/api/workflow/formManage/index.ts
@@ -25,7 +25,7 @@
 export const selectListFormManage = (): AxiosPromise<FormManageVO[]> => {
   return request({
     url: '/workflow/formManage/list/selectList',
-    method: 'get',
+    method: 'get'
   });
 };
 
diff --git a/src/api/workflow/formManage/types.ts b/src/api/workflow/formManage/types.ts
index 6554f55..b9dc1d8 100644
--- a/src/api/workflow/formManage/types.ts
+++ b/src/api/workflow/formManage/types.ts
@@ -26,7 +26,7 @@
   /**
    * 澶囨敞
    */
-  remork: string;
+  remark: string;
 }
 
 export interface FormManageForm extends BaseEntity {
@@ -53,7 +53,7 @@
   /**
    * 澶囨敞
    */
-  remork?: string;
+  remark?: string;
 }
 
 export interface FormManageQuery extends PageQuery {
diff --git a/src/api/workflow/model/index.ts b/src/api/workflow/model/index.ts
index 56f7fed..1ca8b19 100644
--- a/src/api/workflow/model/index.ts
+++ b/src/api/workflow/model/index.ts
@@ -22,7 +22,7 @@
  */
 export const getInfo = (id: string): AxiosPromise<ModelForm> => {
   return request({
-    url: '/workflow/model/getInfo/'+id,
+    url: '/workflow/model/getInfo/' + id,
     method: 'get'
   });
 };
@@ -101,4 +101,4 @@
     method: 'post',
     data: data
   });
-};
\ No newline at end of file
+};
diff --git a/src/api/workflow/model/types.ts b/src/api/workflow/model/types.ts
index 40a0faa..77f947d 100644
--- a/src/api/workflow/model/types.ts
+++ b/src/api/workflow/model/types.ts
@@ -1,10 +1,10 @@
 export interface ModelForm {
-  id: string,
+  id: string;
   name: string;
   key: string;
   categoryCode: string;
-  xml:string,
-  svg:string,
+  xml: string;
+  svg: string;
   description: string;
 }
 
diff --git a/src/api/workflow/nodeConfig/types.ts b/src/api/workflow/nodeConfig/types.ts
index 4e3a60b..a55fc91 100644
--- a/src/api/workflow/nodeConfig/types.ts
+++ b/src/api/workflow/nodeConfig/types.ts
@@ -35,9 +35,4 @@
    * 琛ㄥ崟绠$悊
    */
   wfFormManageVo: FormManageVO;
-
 }
-
-
-
-
diff --git a/src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts b/src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts
index 9f12ff2..13ccf50 100644
--- a/src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts
+++ b/src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts
@@ -40,7 +40,7 @@
     rules: Rules,
     translate
   ) {
-    // @ts-ignore
+    // @ts-expect-error 蹇界暐寮傚父
     super(config, injector, eventBus, contextPad, modeling, elementFactory, connect, create, popupMenu, canvas, rules, translate);
 
     this._contextPad = contextPad;
diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue
index fc30c85..ba70fbb 100644
--- a/src/components/Editor/index.vue
+++ b/src/components/Editor/index.vue
@@ -110,7 +110,7 @@
   () => props.modelValue,
   (v: string) => {
     if (v !== content.value) {
-      content.value = v === undefined ? '<p></p>' : v;
+      content.value = v || '<p></p>';
     }
   },
   { immediate: true }
diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue
index 349f729..98e6479 100644
--- a/src/components/ImagePreview/index.vue
+++ b/src/components/ImagePreview/index.vue
@@ -38,7 +38,7 @@
   let real_src_list = props.src.split(',');
   let srcList: string[] = [];
   real_src_list.forEach((item: string) => {
-    if(item.trim() === '') {
+    if (item.trim() === '') {
       return;
     }
     return srcList.push(item);
diff --git a/src/components/Process/multiInstanceUser.vue b/src/components/Process/multiInstanceUser.vue
index 292b1b7..d19fb5f 100644
--- a/src/components/Process/multiInstanceUser.vue
+++ b/src/components/Process/multiInstanceUser.vue
@@ -128,7 +128,7 @@
   //鍥炴樉鐢ㄦ埛id
   userIdList: {
     type: Array,
-    default: []
+    default: () => []
   }
 });
 const deptTreeRef = ref(ElTree);
diff --git a/src/components/Process/submitVerify.vue b/src/components/Process/submitVerify.vue
index bcbc657..09fc82e 100644
--- a/src/components/Process/submitVerify.vue
+++ b/src/components/Process/submitVerify.vue
@@ -106,7 +106,7 @@
 const props = defineProps({
   taskVariables: {
     type: Object as () => Record<string, any>,
-    default: {}
+    default: () => {}
   }
 });
 //閬僵灞�
diff --git a/src/components/UserSelect/index.vue b/src/components/UserSelect/index.vue
index f6e552e..e9865e5 100644
--- a/src/components/UserSelect/index.vue
+++ b/src/components/UserSelect/index.vue
@@ -29,16 +29,11 @@
                     <el-input v-model="queryParams.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" clearable @keyup.enter="handleQuery" />
                   </el-form-item>
                   <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber">
-                    <el-input
-                      v-model="queryParams.phonenumber"
-                      placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�"
-                      clearable
-                      @keyup.enter="handleQuery"
-                    />
+                    <el-input v-model="queryParams.phonenumber" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" clearable @keyup.enter="handleQuery" />
                   </el-form-item>
                   <el-form-item>
                     <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
-                    <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
+                    <el-button icon="Refresh" @click="() => resetQuery()">閲嶇疆</el-button>
                   </el-form-item>
                 </el-form>
               </el-card>
@@ -223,13 +218,13 @@
   getList();
 };
 /** 閲嶇疆鎸夐挳鎿嶄綔 */
-const resetQuery = () => {
+const resetQuery = (refresh = true) => {
   dateRange.value = ['', ''];
   queryFormRef.value?.resetFields();
   queryParams.value.pageNum = 1;
   queryParams.value.deptId = undefined;
   deptTreeRef.value?.setCurrentKey(undefined);
-  handleQuery();
+  refresh && handleQuery();
 };
 
 const handleCheckboxChange = (checked) => {
@@ -288,22 +283,19 @@
 
 watch(
   () => userDialog.visible.value,
-  (newValue: boolean) => {
+  async (newValue: boolean) => {
     if (newValue) {
-      initSelectUser();
+      await getTreeSelect(); // 鍒濆鍖栭儴闂ㄦ暟鎹�
+      await getList(); // 鍒濆鍖栧垪琛ㄦ暟鎹�
+      await initSelectUser();
     } else {
       tableRef.value.clearCheckboxReserve();
       tableRef.value.clearCheckboxRow();
-      resetQuery();
+      resetQuery(false);
       selectUserList.value = [];
     }
   }
 );
-
-onMounted(() => {
-  getTreeSelect(); // 鍒濆鍖栭儴闂ㄦ暟鎹�
-  getList(); // 鍒濆鍖栧垪琛ㄦ暟鎹�
-});
 
 defineExpose({
   open: userDialog.openDialog,
diff --git a/src/hooks/useDialog.ts b/src/hooks/useDialog.ts
index 68440bf..547f199 100644
--- a/src/hooks/useDialog.ts
+++ b/src/hooks/useDialog.ts
@@ -28,4 +28,4 @@
     openDialog,
     closeDialog
   };
-};
\ No newline at end of file
+};
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
index d634935..7f86ef4 100644
--- a/src/layout/components/AppMain.vue
+++ b/src/layout/components/AppMain.vue
@@ -1,13 +1,13 @@
 <template>
   <section class="app-main">
     <router-view v-slot="{ Component, route }">
-      <transition :enter-active-class="animante" mode="out-in">
-        <div>
-          <keep-alive :include="tagsViewStore.cachedViews" v-if="!route.meta.noCache">
-            <component v-if="!route.meta.link" :is="Component" :key="route.path" />
-          </keep-alive>
-          <component v-if="!route.meta.link && route.meta.noCache" :is="Component" :key="route.path" />
-        </div>
+      <transition v-if="!route.meta.noCache" :enter-active-class="animante" mode="out-in">
+        <keep-alive v-if="!route.meta.noCache" :include="tagsViewStore.cachedViews">
+          <component :is="Component" v-if="!route.meta.link" :key="route.path" />
+        </keep-alive>
+      </transition>
+      <transition v-if="route.meta.noCache" :enter-active-class="animante" mode="out-in">
+        <component :is="Component" v-if="!route.meta.link && route.meta.noCache" :key="route.path" />
       </transition>
     </router-view>
     <iframe-toggle />
diff --git a/src/layout/components/SocialCallback/index.vue b/src/layout/components/SocialCallback/index.vue
index de65aed..746de20 100644
--- a/src/layout/components/SocialCallback/index.vue
+++ b/src/layout/components/SocialCallback/index.vue
@@ -18,7 +18,7 @@
 const state = route.query.state as string;
 const source = route.query.source as string;
 const stateJson = JSON.parse(atob(state));
-const tenantId = stateJson.tenantId as string ? stateJson.tenantId as string : '000000';
+const tenantId = (stateJson.tenantId as string) ? (stateJson.tenantId as string) : '000000';
 const domain = stateJson.domain as string;
 
 const processResponse = async (res: any) => {
diff --git a/src/permission.ts b/src/permission.ts
index 1123738..6771f8c 100644
--- a/src/permission.ts
+++ b/src/permission.ts
@@ -53,7 +53,7 @@
       next();
     } else {
       const redirect = encodeURIComponent(to.fullPath || '/');
-      next(`/login?redirect=${redirect}`) // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤�
+      next(`/login?redirect=${redirect}`); // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤�
       NProgress.done();
     }
   }
diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts
index cf12a73..2e719ba 100644
--- a/src/store/modules/permission.ts
+++ b/src/store/modules/permission.ts
@@ -9,6 +9,8 @@
 import ParentView from '@/components/ParentView/index.vue';
 import InnerLink from '@/layout/components/InnerLink/index.vue';
 
+import { createCustomNameComponent } from '@/utils/createCustomNameComponent';
+
 // 鍖归厤views閲岄潰鎵�鏈夌殑.vue鏂囦欢
 const modules = import.meta.glob('./../../views/**/*.vue');
 export const usePermissionStore = defineStore('permission', () => {
@@ -58,6 +60,8 @@
     setSidebarRouters(constantRoutes.concat(sidebarRoutes));
     setDefaultRoutes(sidebarRoutes);
     setTopbarRoutes(defaultRoutes);
+    // 璺敱name閲嶅妫�鏌�
+    duplicateRouteChecker(asyncRoutes, sidebarRoutes);
     return new Promise<RouteRecordRaw[]>((resolve) => resolve(rewriteRoutes));
   };
 
@@ -80,7 +84,7 @@
       } else if (route.component?.toString() === 'InnerLink') {
         route.component = InnerLink;
       } else {
-        route.component = loadView(route.component);
+        route.component = loadView(route.component, route.name as string);
       }
       if (route.children != null && route.children && route.children.length) {
         route.children = filterAsyncRouter(route.children, route, type);
@@ -151,12 +155,12 @@
   return res;
 };
 
-export const loadView = (view: any) => {
+export const loadView = (view: any, name: string) => {
   let res;
   for (const path in modules) {
     const dir = path.split('views/')[1].split('.vue')[0];
     if (dir === view) {
-      res = () => modules[path]();
+      res = createCustomNameComponent(modules[path], { name });
     }
   }
   return res;
@@ -167,4 +171,48 @@
   return usePermissionStore(store);
 };
 
+interface Route {
+  name?: string | symbol;
+  path: string;
+  children?: Route[];
+}
+
+/**
+ * 妫�鏌ヨ矾鐢眓ame鏄惁閲嶅
+ * @param localRoutes 鏈湴璺敱
+ * @param routes 鍔ㄦ�佽矾鐢�
+ */
+function duplicateRouteChecker(localRoutes: Route[], routes: Route[]) {
+  // 灞曞钩
+  function flatRoutes(routes: Route[]) {
+    const res: Route[] = [];
+    routes.forEach((route) => {
+      if (route.children) {
+        res.push(...flatRoutes(route.children));
+      } else {
+        res.push(route);
+      }
+    });
+    return res;
+  }
+
+  const allRoutes = flatRoutes([...localRoutes, ...routes]);
+
+  const nameList: string[] = [];
+  allRoutes.forEach((route) => {
+    const name = route.name.toString();
+    if (name && nameList.includes(name)) {
+      const message = `璺敱鍚嶇О: [${name}] 閲嶅, 浼氶�犳垚 404`;
+      console.error(message);
+      ElNotification({
+        title: '璺敱鍚嶇О閲嶅',
+        message,
+        type: 'error'
+      });
+      return;
+    }
+    nameList.push(route.name.toString());
+  });
+}
+
 export default usePermissionStore;
diff --git a/src/utils/createCustomNameComponent.tsx b/src/utils/createCustomNameComponent.tsx
new file mode 100644
index 0000000..daf5866
--- /dev/null
+++ b/src/utils/createCustomNameComponent.tsx
@@ -0,0 +1,39 @@
+/**
+ * 鍚庡彴杩斿洖鐨勮矾鐢卞姩鎬佺敓鎴恘ame 瑙e喅缂撳瓨闂
+ * 鎰熻阿 @fourteendp
+ * 璇﹁ https://github.com/vbenjs/vue-vben-admin/issues/3927
+ */
+import { Component, defineComponent, h } from 'vue';
+
+interface Options {
+  name?: string;
+}
+
+export function createCustomNameComponent(loader: () => Promise<any>, options: Options = {}): () => Promise<Component> {
+  const { name } = options;
+  let component: Component | null = null;
+
+  const load = async () => {
+    try {
+      const { default: loadedComponent } = await loader();
+      component = loadedComponent;
+    } catch (error) {
+      console.error(`Cannot resolve component ${name}, error:`, error);
+    }
+  };
+
+  return async () => {
+    if (!component) {
+      await load();
+    }
+
+    return Promise.resolve(
+      defineComponent({
+        name,
+        render() {
+          return h(component as Component);
+        }
+      })
+    );
+  };
+}
diff --git a/src/views/index.vue b/src/views/index.vue
index d384909..aa60a9b 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -33,7 +33,7 @@
           * 閮ㄧ讲鏂瑰紡 Docker 瀹瑰櫒缂栨帓 涓�閿儴缃蹭笟鍔¢泦缇�<br />
           * 鍥介檯鍖� SpringMessage Spring鏍囧噯鍥介檯鍖栨柟妗�<br />
         </p>
-        <p><b>褰撳墠鐗堟湰:</b> <span>v5.2.0</span></p>
+        <p><b>褰撳墠鐗堟湰:</b> <span>v5.2.1</span></p>
         <p>
           <el-tag type="danger">&yen;鍏嶈垂寮�婧�</el-tag>
         </p>
diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue
index 27c0a85..03d0d8f 100644
--- a/src/views/monitor/logininfor/index.vue
+++ b/src/views/monitor/logininfor/index.vue
@@ -11,7 +11,7 @@
               <el-input v-model="queryParams.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" clearable @keyup.enter="handleQuery" />
             </el-form-item>
             <el-form-item label="鐘舵��" prop="status">
-              <el-select v-model="queryParams.status" placeholder="鐧诲綍鐘舵��" clearable >
+              <el-select v-model="queryParams.status" placeholder="鐧诲綍鐘舵��" clearable>
                 <el-option v-for="dict in sys_common_status" :key="dict.value" :label="dict.label" :value="dict.value" />
               </el-select>
             </el-form-item>
diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue
index 1442984..ed0d755 100644
--- a/src/views/monitor/operlog/index.vue
+++ b/src/views/monitor/operlog/index.vue
@@ -14,12 +14,12 @@
               <el-input v-model="queryParams.operName" placeholder="璇疯緭鍏ユ搷浣滀汉鍛�" clearable @keyup.enter="handleQuery" />
             </el-form-item>
             <el-form-item label="绫诲瀷" prop="businessType">
-              <el-select v-model="queryParams.businessType" placeholder="鎿嶄綔绫诲瀷" clearable >
+              <el-select v-model="queryParams.businessType" placeholder="鎿嶄綔绫诲瀷" clearable>
                 <el-option v-for="dict in sys_oper_type" :key="dict.value" :label="dict.label" :value="dict.value" />
               </el-select>
             </el-form-item>
             <el-form-item label="鐘舵��" prop="status">
-              <el-select v-model="queryParams.status" placeholder="鎿嶄綔鐘舵��" clearable >
+              <el-select v-model="queryParams.status" placeholder="鎿嶄綔鐘舵��" clearable>
                 <el-option v-for="dict in sys_common_status" :key="dict.value" :label="dict.label" :value="dict.value" />
               </el-select>
             </el-form-item>
diff --git a/src/views/system/client/index.vue b/src/views/system/client/index.vue
index af8696b..c05dcdc 100644
--- a/src/views/system/client/index.vue
+++ b/src/views/system/client/index.vue
@@ -10,7 +10,7 @@
             <el-input v-model="queryParams.clientSecret" placeholder="璇疯緭鍏ュ鎴风绉橀挜" clearable @keyup.enter="handleQuery" />
           </el-form-item>
           <el-form-item label="鐘舵��" prop="status">
-            <el-select v-model="queryParams.status" placeholder="鐘舵��" clearable >
+            <el-select v-model="queryParams.status" placeholder="鐘舵��" clearable>
               <el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
             </el-select>
           </el-form-item>
diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue
index 138068e..1b67d48 100644
--- a/src/views/system/config/index.vue
+++ b/src/views/system/config/index.vue
@@ -11,7 +11,7 @@
               <el-input v-model="queryParams.configKey" placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�" clearable @keyup.enter="handleQuery" />
             </el-form-item>
             <el-form-item label="绯荤粺鍐呯疆" prop="configType">
-              <el-select v-model="queryParams.configType" placeholder="绯荤粺鍐呯疆" clearable >
+              <el-select v-model="queryParams.configType" placeholder="绯荤粺鍐呯疆" clearable>
                 <el-option v-for="dict in sys_yes_no" :key="dict.value" :label="dict.label" :value="dict.value" />
               </el-select>
             </el-form-item>
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index 71aeff1..199a997 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -11,7 +11,7 @@
               <el-input v-model="queryParams.deptCategory" placeholder="璇疯緭鍏ョ被鍒紪鐮�" clearable style="width: 240px" @keyup.enter="handleQuery" />
             </el-form-item>
             <el-form-item label="鐘舵��" prop="status">
-              <el-select v-model="queryParams.status" placeholder="閮ㄩ棬鐘舵��" clearable >
+              <el-select v-model="queryParams.status" placeholder="閮ㄩ棬鐘舵��" clearable>
                 <el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
               </el-select>
             </el-form-item>
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index 9e5b5c3..cf5f0fc 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -8,7 +8,7 @@
               <el-input v-model="queryParams.menuName" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" clearable @keyup.enter="handleQuery" />
             </el-form-item>
             <el-form-item label="鐘舵��" prop="status">
-              <el-select v-model="queryParams.status" placeholder="鑿滃崟鐘舵��" clearable >
+              <el-select v-model="queryParams.status" placeholder="鑿滃崟鐘舵��" clearable>
                 <el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
               </el-select>
             </el-form-item>
diff --git a/src/views/system/oss/index.vue b/src/views/system/oss/index.vue
index 2e50582..a6e60e8 100644
--- a/src/views/system/oss/index.vue
+++ b/src/views/system/oss/index.vue
@@ -13,7 +13,7 @@
             <el-form-item label="鏂囦欢鍚庣紑" prop="fileSuffix">
               <el-input v-model="queryParams.fileSuffix" placeholder="璇疯緭鍏ユ枃浠跺悗缂�" clearable @keyup.enter="handleQuery" />
             </el-form-item>
-            <el-form-item label="鍒涘缓鏃堕棿" style="width: 308px;">
+            <el-form-item label="鍒涘缓鏃堕棿" style="width: 308px">
               <el-date-picker
                 v-model="dateRangeCreateTime"
                 value-format="YYYY-MM-DD HH:mm:ss"
@@ -198,9 +198,9 @@
   showTable.value = true;
 };
 function checkFileSuffix(fileSuffix: string | string[]) {
-  const arr = [".png", ".jpg", ".jpeg"];
+  const arr = ['.png', '.jpg', '.jpeg'];
   const suffixArray = Array.isArray(fileSuffix) ? fileSuffix : [fileSuffix];
-  return suffixArray.some(suffix => arr.includes(suffix.toLowerCase()));
+  return suffixArray.some((suffix) => arr.includes(suffix.toLowerCase()));
 }
 /** 鍙栨秷鎸夐挳 */
 function cancel() {
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index bd84af3..0b6ba00 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -11,7 +11,7 @@
               <el-input v-model="queryParams.roleKey" placeholder="璇疯緭鍏ユ潈闄愬瓧绗�" clearable @keyup.enter="handleQuery" />
             </el-form-item>
             <el-form-item label="鐘舵��" prop="status">
-              <el-select v-model="queryParams.status" placeholder="瑙掕壊鐘舵��" clearable >
+              <el-select v-model="queryParams.status" placeholder="瑙掕壊鐘舵��" clearable>
                 <el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
               </el-select>
             </el-form-item>
diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue
index 426fca8..7c1389a 100644
--- a/src/views/system/user/profile/index.vue
+++ b/src/views/system/user/profile/index.vue
@@ -58,8 +58,8 @@
             <el-tab-pane label="绗笁鏂瑰簲鐢�" name="thirdParty">
               <thirdParty :auths="state.auths" />
             </el-tab-pane>
-            <el-tab-pane label="鍦ㄧ嚎璁惧" name="onlinDevice">
-              <onlinDevice :devices="state.devices" />
+            <el-tab-pane label="鍦ㄧ嚎璁惧" name="onlineDevice">
+              <onlineDevice :devices="state.devices" />
             </el-tab-pane>
           </el-tabs>
         </el-card>
@@ -73,7 +73,7 @@
 import UserInfo from './userInfo.vue';
 import ResetPwd from './resetPwd.vue';
 import ThirdParty from './thirdParty.vue';
-import OnlinDevice from './onlineDevice.vue';
+import OnlineDevice from './onlineDevice.vue';
 import { getAuthList } from '@/api/system/social/auth';
 import { getUserProfile } from '@/api/system/user';
 import { getOnline } from '@/api/monitor/online';
diff --git a/src/views/system/user/profile/onlineDevice.vue b/src/views/system/user/profile/onlineDevice.vue
index 8da96f6..bd7c822 100644
--- a/src/views/system/user/profile/onlineDevice.vue
+++ b/src/views/system/user/profile/onlineDevice.vue
@@ -18,8 +18,7 @@
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template #default="scope">
           <el-tooltip content="鍒犻櫎" placement="top">
-            <el-button link type="primary" icon="Delete" @click="handldDelOnline(scope.row)">
-            </el-button>
+            <el-button link type="primary" icon="Delete" @click="handldDelOnline(scope.row)"> </el-button>
           </el-tooltip>
         </template>
       </el-table-column>
@@ -55,5 +54,4 @@
     })
     .catch(() => {});
 };
-
 </script>
diff --git a/src/views/system/user/profile/resetPwd.vue b/src/views/system/user/profile/resetPwd.vue
index 6d536da..aae5ef8 100644
--- a/src/views/system/user/profile/resetPwd.vue
+++ b/src/views/system/user/profile/resetPwd.vue
@@ -45,7 +45,7 @@
       message: '闀垮害鍦� 6 鍒� 20 涓瓧绗�',
       trigger: 'blur'
     },
-    { pattern: /^[^<>"'|\\]+$/, message: "涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > \" ' \\\ |", trigger: "blur" }
+    { pattern: /^[^<>"'|\\]+$/, message: '涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > " \' \\\ |', trigger: 'blur' }
   ],
   confirmPassword: [
     { required: true, message: '纭瀵嗙爜涓嶈兘涓虹┖', trigger: 'blur' },
diff --git a/src/views/system/user/profile/thirdParty.vue b/src/views/system/user/profile/thirdParty.vue
index 957122a..5cd7347 100644
--- a/src/views/system/user/profile/thirdParty.vue
+++ b/src/views/system/user/profile/thirdParty.vue
@@ -58,7 +58,7 @@
 <script lang="ts" setup>
 import { authUnlock, authBinding } from '@/api/system/social/auth';
 import { propTypes } from '@/utils/propTypes';
-import useUserStore from "@/store/modules/user";
+import useUserStore from '@/store/modules/user';
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 
diff --git a/src/views/workflow/formManage/index.vue b/src/views/workflow/formManage/index.vue
index 5057b3a..9b9cfe2 100644
--- a/src/views/workflow/formManage/index.vue
+++ b/src/views/workflow/formManage/index.vue
@@ -46,7 +46,7 @@
           </template>
         </el-table-column>
         <el-table-column label="鍦板潃" align="center" prop="router" />
-        <el-table-column label="澶囨敞" align="center" prop="remork" />
+        <el-table-column label="澶囨敞" align="center" prop="remark" />
         <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
           <template #default="scope">
             <el-tooltip content="淇敼" placement="top">
@@ -82,8 +82,8 @@
             </template>
           </el-input>
         </el-form-item>
-        <el-form-item label="澶囨敞" prop="remork">
-          <el-input v-model="form.remork" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        <el-form-item label="澶囨敞" prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
         </el-form-item>
       </el-form>
       <template #footer>
@@ -123,7 +123,7 @@
   id: undefined,
   formName: undefined,
   formType: 'static',
-  remork: undefined
+  remark: undefined
 };
 const data = reactive<PageData<FormManageForm, FormManageQuery>>({
   form: { ...initFormData },

--
Gitblit v1.9.3