gemercheung 3 лет назад
Родитель
Сommit
30101825a5
3 измененных файлов с 73 добавлено и 43 удалено
  1. 25 24
      src/api/corporation/model.ts
  2. 2 1
      src/utils/http/axios/index.ts
  3. 46 18
      src/views/corporation/AddModal.vue

+ 25 - 24
src/api/corporation/model.ts

@@ -28,12 +28,13 @@ export interface addPointParam {
   point: number;
 }
 export interface selectUserListParam {
-  id: number | null;
-  page: number | null;
-  limit: number | null;
+  id: number;
+  page: number;
+  limit: number;
 }
 export interface checkUserParam {
-  phone: string | null;
+  phone?: string;
+  phoneNum?: string;
 }
 
 export interface SubAccountUsers {
@@ -43,28 +44,28 @@ export interface SubAccountUsers {
 }
 
 export interface selectCompanyParam {
-  id: number | null;
+  id: number;
 }
 export interface SubAccountUser {
-  appid: string | number | null;
-  companyId: string | number | null;
-  createTime: string | number | null;
-  createUser: string | number | null;
-  fdkkPassword: string | number | null;
-  fdkkUser: string | number | null;
-  head: string | number | null;
-  id: number | null;
-  memoName: string | null;
-  message: string | number | null;
-  nickName: string | null;
-  phone: string | null;
-  state: string | number | null;
-  token: string | number | null;
-  type: string | number | null;
-  updateTime: string | number | null;
-  updateUser: string | number | null;
-  userName: string | null;
-  userPassword: string | number | null;
+  appid: string | number;
+  companyId: string | number;
+  createTime: string | number;
+  createUser: string | number;
+  fdkkPassword: string | number;
+  fdkkUser: string | number;
+  head: string | number;
+  id: number;
+  memoName: string;
+  message: string;
+  nickName: string;
+  phone: string;
+  state: number;
+  token: string;
+  type: string;
+  updateTime: string;
+  updateUser: string;
+  userName: string;
+  userPassword: string;
 }
 
 export interface ListItem {

+ 2 - 1
src/utils/http/axios/index.ts

@@ -17,6 +17,7 @@ import { useErrorLogStoreWithOut } from '/@/store/modules/errorLog';
 import { useI18n } from '/@/hooks/web/useI18n';
 import { joinTimestamp, formatRequestDate } from './helper';
 import { useUserStoreWithOut } from '/@/store/modules/user';
+import { isBoolean } from '/@/utils/is';
 
 const globSetting = useGlobSetting();
 const urlPrefix = globSetting.urlPrefix;
@@ -57,7 +58,7 @@ const transform: AxiosTransform = {
     const hasSuccess = code === ResultEnum.SUCCESS || code === ResultEnum.NORMAL;
 
     if (hasSuccess) {
-      if (data) {
+      if (data || isBoolean(data)) {
         return data;
       } else {
         const converterResult = message;

+ 46 - 18
src/views/corporation/AddModal.vue

@@ -19,7 +19,7 @@
   import { checkUserAddAble } from '/@/api/corporation/modal';
   const schemas: FormSchema[] = [
     {
-      field: 'userName',
+      field: 'companyName',
       component: 'Input',
       label: '姓名',
       colProps: {
@@ -30,6 +30,27 @@
       field: 'phone',
       component: 'Input',
       label: '手机号',
+      rules: [
+        {
+          required: true,
+          // @ts-ignore
+          validator: async (rule, value) => {
+            var reg_tel =
+              /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
+            if (!value) {
+              /* eslint-disable-next-line */
+
+              return Promise.reject('请填写您的手机号码!');
+            }
+            if (!reg_tel.test(value)) {
+              /* eslint-disable-next-line */
+              return Promise.reject('请正确填写您的手机号码!');
+            }
+            return Promise.resolve();
+          },
+          trigger: 'change',
+        },
+      ],
       colProps: {
         span: 24,
       },
@@ -40,16 +61,17 @@
     props: {
       userData: { type: Object },
     },
-    emits: ['register'],
-    setup(props) {
+    emits: ['register', 'update'],
+    setup(props, { emit }) {
       const modelRef = ref({});
       const { createMessage } = useMessage();
       const [
         registerForm,
         {
-          getFieldsValue,
+          // getFieldsValue,
           // setFieldsValue,
           // setProps
+          validate,
         },
       ] = useForm({
         labelWidth: 120,
@@ -73,21 +95,27 @@
         }
       }
       const handleSubmit = async () => {
-        console.log('getFieldsValue()', getFieldsValue());
-        var reg_tel =
-          /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
-        let { phone, memoName } = getFieldsValue();
-        if (phone == '') {
-          createMessage.error('请填写您的手机号码!');
-          return false;
-        } else if (!reg_tel.test(phone)) {
-          createMessage.error('请正确填写您的手机号码!');
-          return false;
-        }
+        // console.log('getFieldsValue()', getFieldsValue());
+        // var reg_tel =
+        //   /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
+        // let { phone, memoName } = getFieldsValue();
+        // if (phone == '') {
+        //   createMessage.error('请填写您的手机号码!');
+        //   return false;
+        // } else if (!reg_tel.test(phone)) {
+        //   createMessage.error('请正确填写您的手机号码!');
+        //   return false;
+        // }
+
+        const values = await validate();
+        console.log('values', values);
+
         //TODO hack parameter
-        let res = await checkUserAddAble({ phoneNum: phone });
-        if (res.result == false) {
-          addListFunc({ phone, memoName });
+        let res = await checkUserAddAble({ phoneNum: values.phone });
+        console.log('res', res);
+        if (!res.data) {
+          // addListFunc({ phone: values.phone, companyName: values.companyName });
+          emit('update');
           closeModal();
         } else {
           createMessage.error('子账号已被该企业绑定');