From 78921416615f450f4cc29ec4f740fbf1b47d8b00 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期二, 19 八月 2025 17:18:28 +0800
Subject: [PATCH] 注册登录更改

---
 src/views/login/index.vue |  296 ++++++++++++++++++++--------------------------------------
 1 files changed, 102 insertions(+), 194 deletions(-)

diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 53092d3..6f87bd5 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -7,13 +7,14 @@
   reactive,
   computed,
   ref,
+  Ref,
   h,
   onMounted,
   defineAsyncComponent,
   onUnmounted,
   watch
 } from "vue";
-import { debounce } from "@pureadmin/utils";
+import { debounce, storageLocal } from "@pureadmin/utils";
 import { useNav } from "@/layout/hooks/useNav";
 import { useEventListener } from "@vueuse/core";
 import type { FormInstance } from "element-plus";
@@ -120,6 +121,8 @@
   myEnterpriseList: [],
   nowRole: {}
 });
+let secondCode = "";
+let secondId: Ref<string | number | boolean> = ref("");
 // 楠岃瘉鐮佽繃鏈熻鏃跺櫒
 let timer: any = null;
 let phonetimer: any = null;
@@ -127,18 +130,6 @@
 // 椤甸潰鍒濆鍖�
 onMounted(async () => {
   getCaptcha();
-  exRole().then(res => {
-    state.roleList = res.result;
-    const role = route.query;
-    if (role.code) {
-      state.nowRole = state.roleList.find(item => {
-        return item.code == role.code;
-      });
-    } else {
-      state.nowRole = state.roleList[0];
-    }
-    state.ruleForm.exRoleCode = state.nowRole.code;
-  });
   // 娉ㄥ唽楠岃瘉鐮佽繃鏈熻鏃跺櫒
   timer = setInterval(() => {
     if (state.expirySeconds > 0) state.expirySeconds -= 1;
@@ -157,131 +148,104 @@
     width: "30%",
     title: "閫夋嫨鐧诲綍鍏徃",
     contentRenderer: () =>
-    h(ElForm, {
-      ref: ruleFormRef,
-      model: state.ruleForm,
-      rules: loginRules,
-      size: 'large'
-    }, [
-      h(Motion, { delay: 150 }, [
-        h(ElFormItem, {
-          prop: 'exRoleCode',
-          label: '涓讳綋瑙掕壊' // 鍙坊鍔犺〃鍗曢」鏍囩
-        }, [
-          // 鍗曢�夋缁� - 鐖跺鍣ㄦ坊鍔犳牱寮忔帶鍒�
-          h(ElRadioGroup, {
-            modelValue: state.ruleForm.exRoleCode,
-            'onUpdate:modelValue': (val) => {
-              state.ruleForm.exRoleCode = val
-            },
-            style: {
-              display: 'flex',
-              flexDirection: 'column',
-              gap: '8px' // 鍗曢�夋涔嬮棿鐨勯棿璺�
-            }
-          }, [
-            // 寰幆娓叉煋鍗曢�夋 - 姣忎釜鍗曢�夋鍗曠嫭鍗犱竴琛�
-            state.myEnterpriseList.map(item => h(ElRadio, {
-              key: item.id,
-              value: item.code,
-              style: {
-                display: 'block', // 璁╂瘡涓崟閫夋鍒嗚鏄剧ず
-                padding: '4px 0'
-              }
-            }, item.name),)
-          ]),
-
-          // 绠$悊鍛樻爣绛� - 鏄剧ず鍦ㄥ崟閫夋鍚庨潰
-          
-        ])
-      ])
-    ])
-      // <>
-      //   <el-form
-      //     ref="ruleFormRef"
-      //     model={state.ruleForm}
-      //     rules={loginRules}
-      //     size="large"
-      //   >
-      //     <Motion delay={150}>
-      //       <el-form-item prop="exRoleCode">
-      //         <el-radio-group v-model={state.ruleForm.exRoleCode}>
-      //           <el-radio
-      //             v-for={item in state.myEnterpriseList}
-      //             key={item.id}
-      //             value={item.code}
-      //           >
-      //             {item.name}
-      //           </el-radio>
-      //         </el-radio-group>
-      //       </el-form-item>
-      //     </Motion>
-      //   </el-form>
-      // </>
-      // h(
-      //   ElForm,
-      //   {
-      //     ref: ruleFormRef,
-      //     model: state.ruleForm,
-      //     rules: loginRules,
-      //     size: "large"
-      //   },
-      //   [
-      //     h(Motion, { delay: 150 }, [
-      //       h(ElFormItem, { prop: "exRoleCode" }, [
-      //         h(
-      //           ElRadioGroup,
-      //           {
-      //             modelValue: state.ruleForm.exRoleCode,
-      //             "onUpdate:modelValue": val => {
-      //               state.ruleForm.exRoleCode = val;
-      //             }
-      //           },
-      //           [
-      //             // 鐢╩ap瀹炵幇v-for寰幆
-      //             state.myEnterpriseList.map(item =>
-      //               h(ElRow, {}, [
-      //                 h(
-      //                   ElRadio,
-      //                   {
-      //                     key: item.customerUserID,
-      //                     value: item.customerUserID
-      //                   },
-      //                   item.enterpriseName
-      //                 ),
-      //                 item.isManager ? 444 : "" // 鏍囩鍐呭
-      //               ])
-      //             )
-      //           ]
-      //         )
-      //       ])
-      //     ])
-      //   ]
-      // ),
-      // jsx 璇硶 锛堟敞鎰忓湪.vue鏂囦欢鍚敤jsx璇硶锛岄渶瑕佸湪script寮�鍚痩ang="tsx"锛�
+      h(
+        ElForm,
+        {
+          ref: ruleFormRef,
+          model: state.ruleForm,
+          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 =>
+                      h(
+                        "el-row",
+                        {
+                          style: {
+                            width: "100%"
+                          }
+                        },
+                        [
+                          h(
+                            "el-col",
+                            {
+                              span: 24
+                            },
+                            [
+                              h(
+                                ElRadio,
+                                {
+                                  key: item.customerUserID,
+                                  value: item.customerUserID,
+                                  label: item.enterpriseName
+                                },
+                                [
+                                  // 鍗曢�夋鏂囨湰
+                                  // 鏍规嵁褰撳墠椤圭殑isManager鏄剧ず鏍囩锛堟斁鍦ㄦ枃鏈悗闈級
+                                  item.isManger
+                                    ? h(
+                                        ElTag,
+                                        {
+                                          type: "primary",
+                                          size: "small",
+                                          style: {
+                                            marginLeft: "8px",
+                                            alignSelf: "center"
+                                          }
+                                        },
+                                        "绠$悊鍛�"
+                                      )
+                                    : null
+                                ]
+                              )
+                            ]
+                          )
+                        ]
+                      )
+                    )
+                  ]
+                )
+              ]
+            )
+          ])
+        ]
+      ),
+    // jsx 璇硶 锛堟敞鎰忓湪.vue鏂囦欢鍚敤jsx璇硶锛岄渶瑕佸湪script寮�鍚痩ang="tsx"锛�
     closeCallBack: ({ options, args }) => {
-      // options.props 鏄搷搴斿紡鐨�
-      // const { formInline } = options.props as FormProps;
-      // const text = `濮撳悕锛�${formInline.user} 鍩庡競锛�${formInline.region}`;
       if (args?.command === "cancel") {
         // 鎮ㄧ偣鍑讳簡鍙栨秷鎸夐挳
-        // active.value -= 1;
       } else if (args?.command === "sure") {
         let obj = {
           phone: state.ruleForm.phone,
-          code: state.ruleForm.phoneVCode,
-          exRuleCode: state.ruleForm.exRoleCode
+          code: secondCode,
+          id: secondId.value
         };
         useUserStoreHook()
           .loginByUsername(obj)
           .then(res => {
             if (res?.code == 200) {
-              message("娉ㄥ唽鎴愬姛锛�", { type: "success" });
+              message("鐧诲綍鎴愬姛锛�", { type: "success" });
               router.replace({
-                path: "/RegisterSucess",
-                query: {
-                  code: obj.exRoleCode
-                }
+                path: "/Index"
               });
             } else {
               message(res?.message, { type: "warning" });
@@ -292,6 +256,8 @@
     }
   });
 };
+
+// 鐐瑰嚮鐧诲綍
 const onLogin = async (formEl: FormInstance | undefined) => {
   if (!formEl) return;
   await formEl.validate(valid => {
@@ -320,45 +286,23 @@
                   .finally(() => (disabled.value = false));
               } else {
                 state.myEnterpriseList = obj.customerExs;
+                secondCode = obj.code;
                 openDialog();
               }
-              if (res.result.exRoles.length == 0) {
-                disabled.value = true;
-                router
-                  .replace({
-                    name: "RegisterNav",
-                    query: { code: state.ruleForm.exRoleCode }
-                  })
-                  .then(() => {
-                    message("鐧诲綍鎴愬姛", { type: "success" });
-                  })
-                  .finally(() => (disabled.value = false));
-              } else if (res.result.exRoles.length > 0) {
-                let data = res.result.exRoles.find(item => {
-                  return item.code == state.ruleForm.exRoleCode;
-                });
-
-                if (!data) {
-                  router.replace({
-                    name: "RegisterNav",
-                    query: { code: state.ruleForm.exRoleCode }
-                  });
-                } else if (data?.hasFlsh) {
-                  router.replace("index");
-                } else {
-                  router.replace("mine");
-                }
-              }
-              useUserStoreHook().getCusExtendInfo();
             });
           } else {
             message(res?.message || "鐧诲綍澶辫触", { type: "error" });
           }
         })
-        .finally(() => (loading.value = false));
+        .finally(() => {
+          loading.value = false;
+          disabled.value = false;
+        });
     }
   });
 };
+
+// 鍙戦�佹墜鏈洪獙璇佺爜
 const sendValidationCode = async () => {
   if (!state.ruleForm.phone) {
     return message("璇峰厛杈撳叆鎵嬫満鍙�", { type: "warning" });
@@ -396,26 +340,12 @@
     <div class="wave">
       <img width="400px" :src="logo1" class="logo1" />
     </div>
-    <!-- <img :src="bg" class="wave" /> -->
-    <!-- <div class="flex-c absolute right-5 top-3"> -->
-    <!-- 涓婚 -->
-    <!-- <el-switch
-        v-model="dataTheme"
-        inline-prompt
-        :active-icon="dayIcon"
-        :inactive-icon="darkIcon"
-        @change="dataThemeChange"
-      />
-    </div> -->
     <div class="login-container">
-      <div class="img">
-        <!-- <component :is="toRaw(illustration)" /> -->
-      </div>
+      <div class="img" />
       <div class="login-box">
         <div class="login-form">
-          <!-- <avatar class="avatar" /> -->
           <Motion>
-            <h2 class="logintitle">{{ state.nowRole.name }}鐧诲綍</h2>
+            <h2 class="logintitle">鐧诲綍</h2>
           </Motion>
 
           <el-form
@@ -424,18 +354,6 @@
             :rules="loginRules"
             size="large"
           >
-            <!-- <Motion :delay="150">
-              <el-form-item prop="exRoleCode">
-                <el-radio-group v-model="state.ruleForm.exRoleCode">
-                  <el-radio
-                    v-for="item in state.roleList"
-                    :key="item.id"
-                    :value="item.code"
-                    >{{ item.name }}</el-radio
-                  >
-                </el-radio-group>
-              </el-form-item>
-            </Motion> -->
             <Motion :delay="100">
               <el-form-item
                 :rules="[
@@ -488,16 +406,6 @@
                   </div>
                 </el-col>
               </el-form-item>
-
-              <!-- <el-form-item prop="password">
-                <el-input
-                  v-model="ruleForm.password"
-                  clearable
-                  show-password
-                  placeholder="瀵嗙爜"
-                  :prefix-icon="useRenderIcon(Lock)"
-                />
-              </el-form-item> -->
             </Motion>
             <Motion :delay="150">
               <el-form-item prop="phoneVCode">
@@ -511,7 +419,7 @@
                       <span
                         id="suffix-span-2"
                         ref="spanRef"
-                        @click="sendValidationCode(state.ruleForm.phone)"
+                        @click="sendValidationCode"
                       >
                         鑾峰彇楠岃瘉鐮�
                       </span>

--
Gitblit v1.9.1