lex-xin 3 months ago
parent
commit
5c7f76b36f

+ 1 - 1
src/views/classList/index.module.less

@@ -981,7 +981,7 @@
 
       .TrainDataItemsubTitle {
         margin-top: 4px;
-        text-align: center;
+        text-align: left;
         font-size: max(14px, 11Px);
         font-family: PingFangSC-Regular, PingFang SC;
         font-weight: 400;

+ 223 - 218
src/views/classList/modals/createClass.tsx

@@ -1,218 +1,223 @@
-import {
-  NButton,
-  NSpace,
-  useMessage,
-  NForm,
-  NFormItem,
-  NCascader
-} from 'naive-ui';
-import { defineComponent, onMounted, reactive, ref, watch } from 'vue';
-import styles from '../index.module.less';
-import CSelect from '/src/components/CSelect';
-import { addClass, getConfiguredSubjects } from '../api';
-import { api_getCurrentGradeYear } from '../../studentList/api';
-export default defineComponent({
-  props: {
-    activeRow: {
-      type: Object,
-      default: () => ({ id: '' })
-    },
-    gradeYearList: {
-      type: Array,
-      default: () => []
-    },
-    gradeNumList: {
-      type: Array,
-      default: () => []
-    },
-    classArray: {
-      type: Array,
-      default: () => []
-    }
-  },
-  name: 'resetStudent',
-  emits: ['close', 'getList'],
-  setup(props, { emit }) {
-    const data = reactive({
-      uploading: false
-    });
-    const message = useMessage();
-    const foemsRef = ref();
-    const createClassForm = reactive({
-      gradeYear: null,
-      currentGradeNum: null,
-      currentClass: null,
-      instrumentId: null
-    });
-    const gradeYearList = ref([] as any);
-    const subjectList = ref([] as any);
-    const submitForms = () => {
-      foemsRef.value.validate(async (error: any) => {
-        if (error) {
-          return;
-        }
-        data.uploading = true;
-        try {
-          await addClass({ ...createClassForm });
-          message.success('新增成功');
-          emit('close');
-          emit('getList');
-          data.uploading = false;
-        } catch (e) {
-          console.log(e);
-        }
-        data.uploading = false;
-      });
-    };
-
-    const getYearList = async () => {
-      try {
-        const { data } = await api_getCurrentGradeYear({});
-        const temp = [
-          {
-            label: data + 1,
-            value: data + 1
-          },
-          {
-            label: data,
-            value: data
-          }
-        ];
-        gradeYearList.value = temp;
-      } catch {
-        //
-      }
-    };
-
-    const getConfigSubject = async () => {
-      try {
-        const { data } = await getConfiguredSubjects({
-          gradeYear: createClassForm.gradeYear,
-          currentGradeNum: createClassForm.currentGradeNum,
-          currentClass: createClassForm.currentClass
-        });
-        const temp = data || [];
-        subjectList.value = temp;
-      } catch {
-        //
-      }
-    };
-
-    watch(
-      () => [
-        createClassForm.gradeYear,
-        createClassForm.currentGradeNum,
-        createClassForm.currentClass
-      ],
-      () => {
-        createClassForm.instrumentId = null;
-        getConfigSubject();
-      }
-    );
-
-    onMounted(() => {
-      getYearList();
-    });
-
-    return () => (
-      <div class={[styles.addClass]}>
-        <NForm label-placement="left" model={createClassForm} ref={foemsRef}>
-          <NFormItem
-            path="gradeYear"
-            rule={[
-              {
-                required: true,
-                message: '请选择学年'
-              }
-            ]}>
-            <CSelect
-              {...({
-                style: { width: '400px' },
-                options: gradeYearList.value,
-                placeholder: '选择学年',
-                clearable: true
-              } as any)}
-              v-model:value={createClassForm.gradeYear}></CSelect>
-          </NFormItem>
-          <NFormItem
-            path="currentGradeNum"
-            rule={[
-              {
-                required: true,
-                message: '请选择年级'
-              }
-            ]}>
-            <CSelect
-              {...({
-                style: { width: '400px' },
-                options: props.gradeNumList,
-                placeholder: '选择年级',
-                clearable: true
-              } as any)}
-              v-model:value={createClassForm.currentGradeNum}></CSelect>
-          </NFormItem>
-          <NFormItem
-            path="currentClass"
-            rule={[
-              {
-                required: true,
-                message: '请选择班级'
-              }
-            ]}>
-            <CSelect
-              {...({
-                style: { width: '400px' },
-                options: props.classArray,
-                placeholder: '选择班级',
-                clearable: true
-              } as any)}
-              v-model:value={createClassForm.currentClass}></CSelect>
-          </NFormItem>
-          <NFormItem
-            path="instrumentId"
-            rule={[
-              {
-                required: true,
-                message: '请选择乐器'
-              }
-            ]}>
-            {/* <CSelect
-              {...({
-                style: { width: '400px' },
-                options: subjectList.value,
-                placeholder: '选择乐器',
-                clearable: true
-              } as any)}
-              v-model:value={createClassForm.instrumentId}></CSelect> */}
-            <NCascader
-              placeholder="请选择乐器"
-              v-model:value={createClassForm.instrumentId}
-              options={subjectList.value}
-              checkStrategy="child"
-              showPath={false}
-              childrenField="instruments"
-              expandTrigger="hover"
-              labelField="name"
-              valueField="id"
-              clearable
-              filterable
-              style={{ width: '400px' }}
-            />
-          </NFormItem>
-        </NForm>
-        <NSpace class={styles.btnGroup} justify="center">
-          <NButton round onClick={() => emit('close')}>
-            取消
-          </NButton>
-          <NButton
-            round
-            loading={data.uploading}
-            onClick={() => submitForms()}
-            type="primary">
-            保存
-          </NButton>
-        </NSpace>
-      </div>
-    );
-  }
-});
+import {
+  NButton,
+  NSpace,
+  useMessage,
+  NForm,
+  NFormItem,
+  NCascader
+} from 'naive-ui';
+import { defineComponent, onMounted, reactive, ref, watch } from 'vue';
+import styles from '../index.module.less';
+import CSelect from '/src/components/CSelect';
+import { addClass, getConfiguredSubjects } from '../api';
+import { api_getCurrentGradeYear } from '../../studentList/api';
+export default defineComponent({
+  props: {
+    activeRow: {
+      type: Object,
+      default: () => ({ id: '' })
+    },
+    gradeYearList: {
+      type: Array,
+      default: () => []
+    },
+    gradeNumList: {
+      type: Array,
+      default: () => []
+    },
+    classArray: {
+      type: Array,
+      default: () => []
+    }
+  },
+  name: 'resetStudent',
+  emits: ['close', 'getList'],
+  setup(props, { emit }) {
+    const data = reactive({
+      uploading: false
+    });
+    const message = useMessage();
+    const foemsRef = ref();
+    const createClassForm = reactive({
+      gradeYear: null,
+      currentGradeNum: null,
+      currentClass: null,
+      instrumentId: null
+    });
+    const gradeYearList = ref([] as any);
+    const subjectList = ref([] as any);
+    const submitForms = () => {
+      foemsRef.value.validate(async (error: any) => {
+        if (error) {
+          return;
+        }
+        data.uploading = true;
+        try {
+          await addClass({ ...createClassForm });
+          message.success('新增成功');
+          emit('close');
+          emit('getList');
+          data.uploading = false;
+        } catch (e) {
+          console.log(e);
+        }
+        data.uploading = false;
+      });
+    };
+
+    const getYearList = async () => {
+      try {
+        const { data } = await api_getCurrentGradeYear({});
+        const temp = [
+          {
+            label: data + 1,
+            value: data + 1
+          },
+          {
+            label: data,
+            value: data
+          }
+        ];
+        gradeYearList.value = temp;
+      } catch {
+        //
+      }
+    };
+
+    const getConfigSubject = async () => {
+      try {
+        const { data } = await getConfiguredSubjects({
+          gradeYear: createClassForm.gradeYear,
+          currentGradeNum: createClassForm.currentGradeNum,
+          currentClass: createClassForm.currentClass
+        });
+        const temp = data || [];
+        subjectList.value = temp;
+      } catch {
+        //
+      }
+    };
+
+    watch(
+      () => [
+        createClassForm.gradeYear,
+        createClassForm.currentGradeNum,
+        createClassForm.currentClass
+      ],
+      () => {
+        createClassForm.instrumentId = null;
+        getConfigSubject();
+      }
+    );
+
+    const gradeNumList = ref();
+    const classArray = ref();
+    onMounted(() => {
+      gradeNumList.value = props.gradeNumList.filter((item: any) => item.value);
+      classArray.value = props.classArray.filter((item: any) => item.value);
+
+      getYearList();
+    });
+
+    return () => (
+      <div class={[styles.addClass]}>
+        <NForm label-placement="left" model={createClassForm} ref={foemsRef}>
+          <NFormItem
+            path="gradeYear"
+            rule={[
+              {
+                required: true,
+                message: '请选择学年'
+              }
+            ]}>
+            <CSelect
+              {...({
+                style: { width: '400px' },
+                options: gradeYearList.value,
+                placeholder: '选择学年',
+                clearable: true
+              } as any)}
+              v-model:value={createClassForm.gradeYear}></CSelect>
+          </NFormItem>
+          <NFormItem
+            path="currentGradeNum"
+            rule={[
+              {
+                required: true,
+                message: '请选择年级'
+              }
+            ]}>
+            <CSelect
+              {...({
+                style: { width: '400px' },
+                options: gradeNumList.value,
+                placeholder: '选择年级',
+                clearable: true
+              } as any)}
+              v-model:value={createClassForm.currentGradeNum}></CSelect>
+          </NFormItem>
+          <NFormItem
+            path="currentClass"
+            rule={[
+              {
+                required: true,
+                message: '请选择班级'
+              }
+            ]}>
+            <CSelect
+              {...({
+                style: { width: '400px' },
+                options: classArray.value,
+                placeholder: '选择班级',
+                clearable: true
+              } as any)}
+              v-model:value={createClassForm.currentClass}></CSelect>
+          </NFormItem>
+          <NFormItem
+            path="instrumentId"
+            rule={[
+              {
+                required: true,
+                message: '请选择乐器'
+              }
+            ]}>
+            {/* <CSelect
+              {...({
+                style: { width: '400px' },
+                options: subjectList.value,
+                placeholder: '选择乐器',
+                clearable: true
+              } as any)}
+              v-model:value={createClassForm.instrumentId}></CSelect> */}
+            <NCascader
+              placeholder="请选择乐器"
+              v-model:value={createClassForm.instrumentId}
+              options={subjectList.value}
+              checkStrategy="child"
+              showPath={false}
+              childrenField="instruments"
+              expandTrigger="hover"
+              labelField="name"
+              valueField="id"
+              clearable
+              filterable
+              style={{ width: '400px' }}
+            />
+          </NFormItem>
+        </NForm>
+        <NSpace class={styles.btnGroup} justify="center">
+          <NButton round onClick={() => emit('close')}>
+            取消
+          </NButton>
+          <NButton
+            round
+            loading={data.uploading}
+            onClick={() => submitForms()}
+            type="primary">
+            保存
+          </NButton>
+        </NSpace>
+      </div>
+    );
+  }
+});

+ 1 - 1
src/views/classList/modals/resetSubjectList.module.less

@@ -19,7 +19,7 @@
   }
 }
 .btnGroup {
-  padding: 0 30Px 24Px;
+  padding: 10Px 30Px 24Px;
   width: 100%;
 
 

+ 3 - 3
src/views/classList/modals/resetSubjectList.tsx

@@ -49,7 +49,7 @@ export default defineComponent({
           return;
         }
 
-        console.log(createClassForm.classList);
+        // console.log(createClassForm.classList);
         data.uploading = true;
         // [{
         //   "id": "1901469499486425089",
@@ -64,7 +64,7 @@ export default defineComponent({
               instrumentId: item.instrumentId
             });
           });
-          console.log(params, 'params');
+          // console.log(params, 'params');
           await updateBatchInstrument(params);
           message.success('修改成功');
           emit('close');
@@ -95,7 +95,7 @@ export default defineComponent({
           });
         }
 
-        console.log(data, 'data', createClassForm.classList);
+        // console.log(data, 'data', createClassForm.classList);
         // subjectList.value = temp;
       } catch {
         //

+ 1 - 0
src/views/studentList/modals/comment-work/index.module.less

@@ -104,6 +104,7 @@
     :global {
       .n-input-wrapper {
         padding-bottom: 32px;
+        max-height: 450px;
       }
 
       .n-input__textarea-el {

+ 7 - 3
src/views/xiaoku-list/detail.module.less

@@ -55,7 +55,7 @@
         rgba(163, 231, 255, 0.22) 100%
       );
       z-index: 0;
-      bottom: 8px;
+      bottom: 10px;
       transition-duration: 0.03;
     }
 
@@ -325,11 +325,15 @@
     transform: rotate(180deg);
   }
 
-  &:hover,
+  &:hover {
+    background-color: #e8e9ed;
+    font-weight: 500;
+    color: rgba(0, 0, 0, 0.6);
+  }
   &.textBtnActive {
     background: #D2ECFF;
     font-weight: 500;
-    color: #131415;
+    color: #000;
   }
 
   &:hover {