Przeglądaj źródła

学生端班级修改添加变量控制

shmily1213 3 tygodni temu
rodzic
commit
413ce511b6

+ 1 - 1
src/components/ie-picker/ie-picker.vue

@@ -180,7 +180,7 @@ const handleChange = () => { }
 
 const handleClick = () => {
   emit('click');
-  if (props.disabled) {
+  if (props.disabled || props.readonly) {
     return;
   }
   if (!props.list.length) {

+ 17 - 2
src/pagesSystem/pages/edit-profile/edit-profile.vue

@@ -52,7 +52,8 @@
             <ie-image v-if="form.examType === EnumExamType.OHS" slot="right" src="/static/image/icon-lock.png"
               custom-class="w-24 h-30" mode="aspectFill" />
           </uv-form-item>
-          <uv-form-item label="外语" prop="name" :borderBottom="form.examType === EnumExamType.OHS || form.examType === EnumExamType.SVS">
+          <uv-form-item label="外语" prop="name"
+            :borderBottom="form.examType === EnumExamType.OHS || form.examType === EnumExamType.SVS">
             <uv-input v-model="scores.foreign" border="none"
               :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-30"
               font-size="30rpx" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
@@ -98,7 +99,12 @@
             </uv-form-item>
             <uv-form-item label="所在班级" prop="form.name">
               <ie-picker ref="pickerRef" v-model="form.classId" :list="classList" title="选择班级" placeholder="请选择所在班级"
-                :custom-style="customStyle" key-label="name" key-value="classId"></ie-picker>
+                :custom-style="customStyle" key-label="name" key-value="classId" :disabled="schoolClassDisabled"
+                :readonly="pickerDisabled">
+              </ie-picker>
+              <template #right v-if="pickerDisabled">
+                <ie-image src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
+              </template>
             </uv-form-item>
           </content-card>
         </template>
@@ -170,6 +176,15 @@ const customStyle = {
   paddingLeft: '26px'
 };
 
+const pickerDisabled = computed(() => {
+  const { classSelect } = form.value;
+  return classSelect !== 1;
+});
+const schoolClassDisabled = computed(() => {
+  const { schoolId } = form.value;
+  return schoolId === undefined || schoolId === null || pickerDisabled.value;
+});
+
 const handleSubmit = async () => {
   uni.$ie.showLoading();
   const params = {

+ 1 - 0
src/types/user.ts

@@ -158,6 +158,7 @@ export interface UserInfo {
   schoolId?: number;
   campusClassName?: string;
   campusName?: string;
+  classSelect: number; // 0: 不可修改班级 1: 可修改班级
 }
 
 export interface VipCardInfo {