liushengqiang 1 年之前
父节点
当前提交
736e1c6081

+ 21 - 3
src/views/setting/components/schoolInfo/index.module.less

@@ -162,17 +162,35 @@
         }
 
         .n-input {
-            min-height: 53Px;
+            height: 50px;
             border-radius: 8Px;
 
             .n-input__input-el {
                 height: 100%;
             }
+
+            &.n-input--disabled {
+                background-color: #F5F6FA;
+                color: rgba(149, 149, 152, 1);
+            }
+        }
+
+        .n-base-selection {
+            border-radius: 8Px;
+
+            .n-base-selection-label {
+                height: 50px;
+
+            }
+        }
+
+        .n-base-selection.n-base-selection--disabled .n-base-selection-label {
+            background-color: #F5F6FA;
+            color: rgba(149, 149, 152, 1);
         }
 
         .n-form-item-blank {
             padding-right: 30Px;
-            min-height: 53Px;
         }
 
         .genderBtn {
@@ -188,7 +206,7 @@
         }
 
         .n-form-item-label__text {
-            min-height: 53Px;
+            height: 50px;
             display: flex;
             align-items: center;
             justify-content: center;

+ 1 - 0
src/views/setting/components/schoolInfo/index.tsx

@@ -326,6 +326,7 @@ export default defineComponent({
           preset="dialog"
           showIcon={false}>
           <AddTeacher
+            areaList={formOptions.areaList}
             onClose={() => {
               data.modal = false;
               getList();

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

@@ -5,22 +5,32 @@ import {
   NSpace,
   NButton,
   useMessage,
-  NAlert
+  NAlert,
+  NCascader
 } from 'naive-ui';
-import { defineComponent, reactive, ref } from 'vue';
+import { Prop, PropType, defineComponent, reactive, ref } from 'vue';
 import { api_teacherAdd } from '../../api';
 import { useUserStore } from '/src/store/modules/users';
 export default defineComponent({
   name: 'teacher-operation',
   emits: ['close'],
+  props: {
+    areaList: {
+      type: Array as PropType<any[]>,
+      default: () => []
+    }
+  },
   setup(props, { emit }) {
     const user = useUserStore();
     const forms = reactive({
+      provinceCode: '',
+      cityCode: '',
+      regionCode: '',
       tenantId: user.info.schoolInfos?.[0]?.tenantId,
       phone: null,
       schoolId: user.info.schoolInfos?.[0]?.id,
       nickname: null,
-      gender: 0
+      gender: 1
     });
     const btnLoading = ref(false);
     const formsRef = ref();
@@ -115,6 +125,23 @@ export default defineComponent({
               </n-button>
             </NSpace>
           </NFormItem>
+          <NFormItem label="城区">
+            <NCascader
+              to="body"
+              placeholder="请选择城区"
+              options={props.areaList}
+              labelField="name"
+              valueField="code"
+              childrenField="areas"
+              checkStrategy="child"
+              expandTrigger="hover"
+              onUpdate:value={(val: any, option: any, pathValues: any) => {
+                forms.provinceCode = pathValues[0]?.code;
+                forms.cityCode = pathValues[1]?.code;
+                forms.regionCode = pathValues[2]?.code;
+              }}
+            />
+          </NFormItem>
           <NFormItem
             label="手机号"
             path="phone"
@@ -132,7 +159,7 @@ export default defineComponent({
               }
             ]}>
             <NInput
-              maxlength={11} 
+              maxlength={11}
               v-model:value={forms.phone}
               placeholder="请输入手机号"
               clearable