ソースを参照

个人信息样式问题

liushengqiang 1 年間 前
コミット
02aef32129

+ 1 - 0
src/views/setting/components/personInfo.tsx

@@ -231,6 +231,7 @@ export default defineComponent({
           showIcon={false}
           title="修改密码">
           <ForgotPassword
+            phone={userStore.info.phone}
             onClose={() => {
               data.openChangePwd = false;
             }}

+ 7 - 5
src/views/setting/components/schoolInfo/index.module.less

@@ -162,11 +162,11 @@
         }
 
         .n-input {
-            height: 50px;
             border-radius: 8Px;
 
             .n-input__input-el {
-                height: 100%;
+                height: 50Px;
+                font-size: 16Px;
             }
 
             &.n-input--disabled {
@@ -179,8 +179,8 @@
             border-radius: 8Px;
 
             .n-base-selection-label {
-                height: 50px;
-
+                height: 50Px;
+                font-size: 16Px;
             }
         }
 
@@ -206,7 +206,7 @@
         }
 
         .n-form-item-label__text {
-            height: 50px;
+            height: 50Px;
             display: flex;
             align-items: center;
             justify-content: center;
@@ -222,7 +222,9 @@
 
             .n-alert-body .n-alert-body__content {
                 color: #EA4132;
+                font-size: 14Px;
             }
+            
         }
 
         .actionBtn {

+ 31 - 2
src/views/setting/components/schoolInfo/index.tsx

@@ -57,11 +57,29 @@ export default defineComponent({
       return [
         {
           title: '老师姓名',
-          key: 'nickname'
+          key: 'nickname',
+          render: (row: any) => {
+            return (
+              <div
+                style={{ userSelect: 'all', cursor: 'pointer' }}
+                onClick={() => copyTo(row.nickname)}>
+                {row.nickname}
+              </div>
+            );
+          }
         },
         {
           title: '手机号码',
-          key: 'phone'
+          key: 'phone',
+          render: (row: any) => {
+            return (
+              <div
+                style={{ userSelect: 'all', cursor: 'pointer' }}
+                onClick={() => copyTo(row.phone)}>
+                {row.phone}
+              </div>
+            );
+          }
         },
         {
           title: '性别',
@@ -205,6 +223,17 @@ export default defineComponent({
       console.log(url);
       return url;
     };
+
+    const copyTo = (text: string) => {
+      const input = document.createElement('input');
+      input.value = text;
+      document.body.appendChild(input);
+      input.select();
+      input.setSelectionRange(0, input.value.length);
+      document.execCommand('Copy');
+      document.body.removeChild(input);
+      message.success('复制成功');
+    };
     return () => (
       <div class={styles.schoolInfo}>
         <NSpace wrapItem={false} align="center">

+ 8 - 9
src/views/setting/index.module.less

@@ -201,11 +201,10 @@
 
     :global {
       .n-input {
-        border-radius: 8px;
+        border-radius: 5Px;
       }
-
-      .n-input .n-input__input-el {
-        height: 53Px;
+      .n-input .n-input__input-el{
+        height: 50Px;
       }
 
       .n-button.n-button--disabled {
@@ -215,18 +214,18 @@
   }
 
   .sendMsg {
-    height: 53px;
-    min-width: 108px;
+    min-width: 108Px;
+    height: 50Px;
   }
 
   .pwdIcon {
-    width: 24px;
-    height: 24px;
+    width: 24Px;
+    height: 24Px;
     cursor: pointer;
   }
 
   .submitBtm {
     width: 45%;
-    height: 47px;
+    height: 46Px;
   }
 }

+ 20 - 4
src/views/setting/modal/add-teacher/index.tsx

@@ -8,9 +8,10 @@ import {
   NAlert,
   NCascader
 } from 'naive-ui';
-import { Prop, PropType, defineComponent, reactive, ref } from 'vue';
+import { PropType, defineComponent, reactive, ref } from 'vue';
 import { api_teacherAdd } from '../../api';
 import { useUserStore } from '/src/store/modules/users';
+import styles from './index.module.less';
 export default defineComponent({
   name: 'teacher-operation',
   emits: ['close'],
@@ -85,7 +86,13 @@ export default defineComponent({
             rule={[
               {
                 required: true,
-                message: '请输入老师姓名'
+                message: '请输入老师姓名',
+                trigger: 'blur'
+              },
+              {
+                pattern: /^(?:[\u4e00-\u9fa5·]{2,16})$/,
+                message: '请输入中文姓名,不要包含空格,及特殊符号',
+                trigger: 'blur'
               }
             ]}>
             <NInput
@@ -125,7 +132,16 @@ export default defineComponent({
               </n-button>
             </NSpace>
           </NFormItem>
-          <NFormItem label="城区">
+          <NFormItem
+            label="城区"
+            path="provinceCode"
+            rule={[
+              {
+                required: true,
+                message: '请选择城区',
+                trigger: 'change'
+              }
+            ]}>
             <NCascader
               to="body"
               placeholder="请选择城区"
@@ -136,7 +152,7 @@ export default defineComponent({
               checkStrategy="child"
               expandTrigger="hover"
               onUpdate:value={(val: any, option: any, pathValues: any) => {
-                forms.provinceCode = pathValues[0]?.code;
+                forms.provinceCode = pathValues[0]?.code + '';
                 forms.cityCode = pathValues[1]?.code;
                 forms.regionCode = pathValues[2]?.code;
               }}

+ 14 - 4
src/views/setting/modal/forgotPassword.tsx

@@ -28,16 +28,20 @@ interface FormState {
 export default defineComponent({
   name: 'forgotPassword',
   emits: ['close'],
+  props: {
+    phone: {
+      type: String,
+      default: ''
+    }
+  },
   setup(props, { emit }) {
-    const router = useRouter();
     const formRef = ref();
     const message = useMessage();
     const loading = ref(false);
-    const LOGIN_NAME = PageEnum.BASE_LOGIN_NAME;
     const showPwd = ref(false);
     const userStore = useUserStore();
     const formInline = reactive({
-      mobile: '',
+      mobile: props.phone,
       password: '',
       code: '',
       isCaptcha: true
@@ -131,6 +135,7 @@ export default defineComponent({
                 }
               ]}>
               <NInput
+                readonly
                 maxlength={11}
                 v-model:value={formInline.mobile}
                 placeholder="请输入手机号"></NInput>
@@ -138,7 +143,12 @@ export default defineComponent({
             <NFormItem
               path="code"
               rule={[
-                { required: true, message: '请输入验证码', trigger: 'blur' }
+                { required: true, message: '请输入验证码', trigger: 'blur' },
+                {
+                  pattern: /^\d+$/,
+                  message: '请输入数字验证码',
+                  trigger: 'blur'
+                }
               ]}>
               <NInputGroup>
                 <NInput