From 85c54d88f139096614aea4b06f2166cae27729d7 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期五, 22 八月 2025 10:11:19 +0800
Subject: [PATCH] 用户管理

---
 src/components/RePureTableBar/src/bar.tsx |    1 
 src/views/system/user/index.vue           |    6 
 src/views/home/index.vue                  |   18 ++--
 src/views/mine/index.vue                  |    3 
 src/api/system.ts                         |    7 +
 src/views/login/index.vue                 |  141 ++++++++++++++++++-----------------
 src/views/system/user/utils/hook.tsx      |   18 +++-
 src/App.vue                               |    6 
 8 files changed, 112 insertions(+), 88 deletions(-)

diff --git a/src/App.vue b/src/App.vue
index 5fdc24a..1eb08d9 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -30,9 +30,9 @@
 onMounted(() => {
   useUserStoreHook().getRoleList();
   if (useUserStoreHook().nowRole.code) {
-    useUserStoreHook().changeLogoInExRule({
-      ruleCode: useUserStoreHook().nowRole.code
-    });
+    // useUserStoreHook().changeLogoInExRule({
+    //   ruleCode: useUserStoreHook().nowRole.code
+    // });
   }
 });
 </script>
diff --git a/src/api/system.ts b/src/api/system.ts
index c5408dd..d8cba0e 100644
--- a/src/api/system.ts
+++ b/src/api/system.ts
@@ -39,3 +39,10 @@
     }
   );
 };
+/**鍒犻櫎鍛樺伐 */
+export const delCustormerUsers = data => {
+  return http.request<Result>(
+    "delete",
+    baseUrlApi(`/api/customer/delCustormerUsers/${data.custormerUserId}`)
+  );
+};
diff --git a/src/components/RePureTableBar/src/bar.tsx b/src/components/RePureTableBar/src/bar.tsx
index 1dfadbe..6ee5227 100644
--- a/src/components/RePureTableBar/src/bar.tsx
+++ b/src/components/RePureTableBar/src/bar.tsx
@@ -55,6 +55,7 @@
   props,
   emits: ["refresh", "fullscreen"],
   setup(props, { emit, slots, attrs }) {
+    // 瀵嗗害榛樿鍊�
     const size = ref("default");
     const loading = ref(false);
     const checkAll = ref(true);
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index c2b05ca..897cbb0 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -461,15 +461,17 @@
 };
 // 鍘婚椤�
 const toWelcome = async item => {
-  if (useUserStoreHook().nowRole.code !== item.code) {
-    // 鑾峰彇鍚庣璺敱
-    initRouter().then(() => {
-      useUserStoreHook().changeLogoInExRule({
-        ruleCode: item.code
-      });
+  // if (useUserStoreHook().nowRole.code !== item.code) {
+  // 鑾峰彇鍚庣璺敱
+  initRouter().then(() => {
+    console.log("hhhh");
+
+    useUserStoreHook().changeLogoInExRule({
+      ruleCode: item.code
     });
-  }
-  router.push({ name: "Welcome" });
+    router.push({ name: "Welcome" });
+  });
+  // }
 };
 // 鍘荤櫥褰�
 const toLogin = item => {
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 71214fe..f79d52d 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -24,7 +24,8 @@
   ElRadioGroup,
   ElRadio,
   ElRow,
-  ElTag
+  ElTag,
+  ElCol
 } from "element-plus";
 import { useLayout } from "@/layout/hooks/useLayout";
 import { useUserStoreHook } from "@/store/modules/user";
@@ -156,78 +157,82 @@
           rules: loginRules,
           size: "large"
         },
-        [
-          h(Motion, { delay: 150 }, [
-            h(
-              ElFormItem,
-              {
-                prop: "exRoleCode",
-                label: ""
-              },
-              [
-                // 鍗曢�夋缁� - 绾靛悜鎺掑垪
-                h(
-                  ElRadioGroup,
-                  {
-                    modelValue: secondId.value,
-                    "onUpdate:modelValue": val => {
-                      secondId.value = val;
-                    }
-                  },
-                  [
-                    // 寰幆娓叉煋鍗曢�夋 - 鏍规嵁姣忛」鐨刬sManager鏄剧ず鏍囩
-                    state.myEnterpriseList.map(item =>
+        {
+          default: () => {
+            return [
+              h(
+                ElFormItem,
+                { prop: "exRoleCode", label: "" },
+                {
+                  default: () => {
+                    return [
                       h(
-                        "el-row",
+                        ElRadioGroup,
                         {
-                          style: {
-                            width: "100%"
-                          }
+                          modelValue: secondId.value,
+                          "onUpdate:modelValue": val => (secondId.value = val)
                         },
-                        [
-                          h(
-                            "el-col",
-                            {
-                              span: 24
-                            },
-                            [
-                              h(
-                                ElRadio,
-                                {
-                                  key: item.customerUserID,
-                                  value: item.customerUserID
-                                },
-                                [
-                                  // 鍗曢�夋鏂囨湰
-                                  item.enterpriseName,
-                                  // 鏍规嵁褰撳墠椤圭殑isManager鏄剧ず鏍囩锛堟斁鍦ㄦ枃鏈悗闈級
-                                  item.isManger
-                                    ? h(
-                                        ElTag,
-                                        {
-                                          type: "primary",
-                                          size: "small",
-                                          style: {
-                                            marginLeft: "8px",
-                                            alignSelf: "center"
-                                          }
-                                        },
-                                        "绠$悊鍛�"
-                                      )
-                                    : null
-                                ]
-                              )
-                            ]
+                        // ElRadioGroup 鐨勫唴瀹规槸寰幆鐢熸垚鐨勶紝鐢ㄥ嚱鏁板寘瑁�
+                        () =>
+                          state.myEnterpriseList.map(item =>
+                            h(
+                              ElRow,
+                              { style: { width: "100%" } },
+                              {
+                                default: () => {
+                                  return [
+                                    h(
+                                      ElCol,
+                                      { span: 24 },
+                                      {
+                                        default: () => {
+                                          return [
+                                            h(
+                                              ElRadio,
+                                              {
+                                                key: item.customerUserID,
+                                                value: item.customerUserID
+                                              },
+                                              // ElRadio 鐨勫唴瀹规槸鍔ㄦ�佺殑锛岀敤鍑芥暟鍖呰9
+                                              () => [
+                                                // 鏂囨湰鐩存帴杩斿洖锛堜笉瑕佸祵濂楀嚱鏁帮級
+                                                item.enterpriseName,
+                                                item.isManger
+                                                  ? h(
+                                                      ElTag,
+                                                      {
+                                                        type: "primary",
+                                                        size: "small",
+                                                        style: {
+                                                          marginLeft: "8px",
+                                                          alignSelf: "center"
+                                                        }
+                                                      },
+                                                      // ElTag 鐨勫唴瀹规槸闈欐�佹枃鏈紝鐩存帴杩斿洖
+                                                      {
+                                                        default: () => "绠$悊鍛�"
+                                                      }
+                                                    )
+                                                  : null
+                                              ]
+                                            )
+                                          ];
+                                        }
+                                      }
+                                    )
+                                  ];
+                                }
+                              }
+                            )
                           )
-                        ]
                       )
-                    )
-                  ]
-                )
-              ]
-            )
-          ])
-        ]
+                    ];
+                  }
+                }
+              )
+            ];
+          }
+        }
       ),
     // jsx 璇硶 锛堟敞鎰忓湪.vue鏂囦欢鍚敤jsx璇硶锛岄渶瑕佸湪script寮�鍚痩ang="tsx"锛�
     closeCallBack: ({ options, args }) => {
diff --git a/src/views/mine/index.vue b/src/views/mine/index.vue
index ae9cac0..f6ffedb 100644
--- a/src/views/mine/index.vue
+++ b/src/views/mine/index.vue
@@ -12,6 +12,7 @@
 import { Edit } from "@element-plus/icons-vue";
 import { enterpriseTypes } from "@/api/register/index";
 import { initRouter, getTopMenu, handleAliveRoute } from "@/router/utils";
+const isManager = useUserStoreHook().isManager;
 
 const ruleFormRef = ref<FormInstance>();
 const isLoading = ref(false);
@@ -505,7 +506,7 @@
         </span>
       </el-descriptions-item>
     </el-descriptions>
-    <div class="m-5">
+    <div v-if="isManager" class="m-5">
       <el-button type="primary" :icon="Edit" @click="() => (showDialog = true)"
         >淇敼璧勬枡</el-button
       >
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index f10c08a..76a8bb9 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -163,8 +163,8 @@
                 :icon="useRenderIcon(EditPen)"
                 @click="openDialog('淇敼', row)"
               />
-              <!-- <el-popconfirm
-                :title="`鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�${row.id}鐨勮繖鏉℃暟鎹甡"
+              <el-popconfirm
+                :title="`鏄惁纭鍒犻櫎鐢ㄦ埛${row.name}锛焋"
                 @confirm="handleDelete(row)"
               >
                 <template #reference>
@@ -176,7 +176,7 @@
                     :icon="useRenderIcon(Delete)"
                   />
                 </template>
-              </el-popconfirm> -->
+              </el-popconfirm>
               <!-- <el-dropdown>
                 <el-button
                   class="ml-3! mt-[2px]!"
diff --git a/src/views/system/user/utils/hook.tsx b/src/views/system/user/utils/hook.tsx
index 30ab3dd..793239f 100644
--- a/src/views/system/user/utils/hook.tsx
+++ b/src/views/system/user/utils/hook.tsx
@@ -18,13 +18,11 @@
   deviceDetection
 } from "@pureadmin/utils";
 import {
-  getRoleIds,
-  getDeptList,
   getUserList,
   creatCustormerUsers,
   changeManager,
   updataCustormerUsers,
-  getAllRoleList
+  delCustormerUsers
 } from "@/api/system";
 import {
   ElForm,
@@ -290,8 +288,18 @@
   }
 
   function handleDelete(row) {
-    message(`鎮ㄥ垹闄や簡鐢ㄦ埛缂栧彿涓�${row.id}鐨勮繖鏉℃暟鎹甡, { type: "success" });
-    onSearch();
+    delCustormerUsers({ custormerUserId: row.id }).then(res => {
+      if (res.code == 200) {
+        message("鍒犻櫎鎴愬姛锛�", {
+          type: "success"
+        });
+        onSearch();
+      } else {
+        message(res.message || "鍒犻櫎澶辫触锛�", {
+          type: "error"
+        });
+      }
+    });
   }
 
   function handleSizeChange(val: number) {

--
Gitblit v1.9.1