From d582f081e148c5df7c1b334a94fa1df1cd2655a9 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 04 七月 2024 22:40:20 +0800
Subject: [PATCH] 班制更新

---
 src/views/sys/login/useLogin.ts |   32 +++++++++++++++++++-------------
 1 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/src/views/sys/login/useLogin.ts b/src/views/sys/login/useLogin.ts
index bccd53f..ccaa2fb 100644
--- a/src/views/sys/login/useLogin.ts
+++ b/src/views/sys/login/useLogin.ts
@@ -1,7 +1,11 @@
-import type { ValidationRule } from 'ant-design-vue/lib/form/Form';
-import type { RuleObject } from 'ant-design-vue/lib/form/interface';
+import type { FormInstance } from 'ant-design-vue/lib/form/Form';
+import type {
+  RuleObject,
+  NamePath,
+  Rule as ValidationRule,
+} from 'ant-design-vue/lib/form/interface';
 import { ref, computed, unref, Ref } from 'vue';
-import { useI18n } from '/@/hooks/web/useI18n';
+import { useI18n } from '@/hooks/web/useI18n';
 
 export enum LoginStateEnum {
   LOGIN,
@@ -12,6 +16,9 @@
 }
 
 const currentState = ref(LoginStateEnum.LOGIN);
+
+// 杩欓噷涔熷彲浠ヤ紭鍖�
+// import { createGlobalState } from '@vueuse/core'
 
 export function useLoginState() {
   function setLoginState(state: LoginStateEnum) {
@@ -27,7 +34,12 @@
   return { setLoginState, getLoginState, handleBackLogin };
 }
 
-export function useFormValid<T extends Object = any>(formRef: Ref<any>) {
+export function useFormValid<T extends Object = any>(formRef: Ref<FormInstance>) {
+  const validate = computed(() => {
+    const form = unref(formRef);
+    return form?.validate ?? ((_nameList?: NamePath) => Promise.resolve());
+  });
+
   async function validForm() {
     const form = unref(formRef);
     if (!form) return;
@@ -35,7 +47,7 @@
     return data as T;
   }
 
-  return { validForm };
+  return { validate, validForm };
 }
 
 export function useFormRules(formData?: Recordable) {
@@ -43,8 +55,6 @@
 
   const getAccountFormRule = computed(() => createRule(t('sys.login.accountPlaceholder')));
   const getPasswordFormRule = computed(() => createRule(t('sys.login.passwordPlaceholder')));
-  // const getDeptFormRule = computed(() => createRule(t('sys.login.deptPlaceholder')));
-  const getDeptFormRule = computed(() => createRule(t('璇烽�夋嫨鎹偣')));
   const getSmsFormRule = computed(() => createRule(t('sys.login.smsPlaceholder')));
   const getMobileFormRule = computed(() => createRule(t('sys.login.mobilePlaceholder')));
 
@@ -58,8 +68,7 @@
         return Promise.reject(t('sys.login.passwordPlaceholder'));
       }
       if (value !== password) {
-        return Promise.reject(t('璐﹀彿鎴栧瘑鐮侀敊璇�'));
-        // return Promise.reject(t('sys.login.diffPwd'));
+        return Promise.reject(t('sys.login.diffPwd'));
       }
       return Promise.resolve();
     };
@@ -68,7 +77,6 @@
   const getFormRules = computed((): { [k: string]: ValidationRule | ValidationRule[] } => {
     const accountFormRule = unref(getAccountFormRule);
     const passwordFormRule = unref(getPasswordFormRule);
-    const deptFormRule = unref(getDeptFormRule);
     const smsFormRule = unref(getSmsFormRule);
     const mobileFormRule = unref(getMobileFormRule);
 
@@ -82,7 +90,6 @@
         return {
           account: accountFormRule,
           password: passwordFormRule,
-          dept:deptFormRule,
           confirmPassword: [
             { validator: validateConfirmPassword(formData?.password), trigger: 'change' },
           ],
@@ -106,14 +113,13 @@
         return {
           account: accountFormRule,
           password: passwordFormRule,
-          // dept:deptFormRule,
         };
     }
   });
   return { getFormRules };
 }
 
-function createRule(message: string) {
+function createRule(message: string): ValidationRule[] {
   return [
     {
       required: true,

--
Gitblit v1.9.3