|
@@ -2,6 +2,7 @@ import { defineComponent, reactive, onMounted, ref } from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import {
|
|
|
NButton,
|
|
|
+ NCascader,
|
|
|
NDataTable,
|
|
|
NForm,
|
|
|
NFormItem,
|
|
@@ -29,9 +30,11 @@ import { getGradeLevelList, getGradeYearList } from '../home/api';
|
|
|
import { initCache, setCache } from '/src/hooks/use-async';
|
|
|
import AddStudentModel from '../studentList/modals/addStudentModel';
|
|
|
import { useUserStore } from '/src/store/modules/users';
|
|
|
+import { useCatchStore } from '/src/store/modules/catchData';
|
|
|
export default defineComponent({
|
|
|
name: 'class-classList',
|
|
|
setup() {
|
|
|
+ const catchData = useCatchStore();
|
|
|
const users = useUserStore();
|
|
|
const state = reactive({
|
|
|
searchForm: {
|
|
@@ -62,7 +65,7 @@ export default defineComponent({
|
|
|
previewParams: {} as any,
|
|
|
lastCourse: null as any,
|
|
|
groupBtnLoading: false, // 按钮是否在请求中
|
|
|
- subjectList: [] as any,
|
|
|
+ // subjectList: [] as any,
|
|
|
showResetClass: false,
|
|
|
showSubjectClass: false,
|
|
|
groupVisiable: false,
|
|
@@ -129,16 +132,16 @@ export default defineComponent({
|
|
|
console.log(e);
|
|
|
}
|
|
|
};
|
|
|
- const getSubjectList = async () => {
|
|
|
- const res = await getSubject({ page: 1, rows: 9999 });
|
|
|
- state.subjectList = res.data.rows.map((item: any) => {
|
|
|
- return {
|
|
|
- value: item.id,
|
|
|
- label: item.name
|
|
|
- };
|
|
|
- });
|
|
|
- state.subjectList.unshift({ value: '', label: '全部声部' });
|
|
|
- };
|
|
|
+ // const getSubjectList = async () => {
|
|
|
+ // const res = await getSubject({ page: 1, rows: 9999 });
|
|
|
+ // state.subjectList = res.data.rows.map((item: any) => {
|
|
|
+ // return {
|
|
|
+ // value: item.id,
|
|
|
+ // label: item.name
|
|
|
+ // };
|
|
|
+ // });
|
|
|
+ // state.subjectList.unshift({ value: '', label: '全部声部' });
|
|
|
+ // };
|
|
|
const columns = () => {
|
|
|
return [
|
|
|
{
|
|
@@ -157,7 +160,7 @@ export default defineComponent({
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- title: '班级声部',
|
|
|
+ title: '班级乐器',
|
|
|
key: 'subjectName'
|
|
|
},
|
|
|
{
|
|
@@ -439,7 +442,9 @@ export default defineComponent({
|
|
|
|
|
|
onMounted(async () => {
|
|
|
state.loading = true;
|
|
|
- getSubjectList();
|
|
|
+ await catchData.getSubjects();
|
|
|
+
|
|
|
+ // getSubjectList();
|
|
|
await getYearList();
|
|
|
await getLevelList();
|
|
|
await getList();
|
|
@@ -505,14 +510,33 @@ export default defineComponent({
|
|
|
v-model:value={state.searchForm.currentClass}></CSelect>
|
|
|
</NFormItem>
|
|
|
<NFormItem>
|
|
|
- <CSelect
|
|
|
+ {/* <CSelect
|
|
|
{...({
|
|
|
- options: state.subjectList,
|
|
|
- placeholder: '选择声部',
|
|
|
+ options: [
|
|
|
+ { value: '', label: '全部声部' },
|
|
|
+ ...catchData.getSubjectList
|
|
|
+ ],
|
|
|
+ placeholder: '选择乐器',
|
|
|
clearable: true,
|
|
|
inline: true
|
|
|
} as any)}
|
|
|
- v-model:value={state.searchForm.subjectId}></CSelect>
|
|
|
+ v-model:value={state.searchForm.subjectId}></CSelect> */}
|
|
|
+ <NCascader
|
|
|
+ to="body"
|
|
|
+ placeholder="选择乐器"
|
|
|
+ options={[
|
|
|
+ { value: '', label: '全部声部' },
|
|
|
+ ...catchData.getSubjectList
|
|
|
+ ]}
|
|
|
+ childrenField="instruments"
|
|
|
+ checkStrategy="child"
|
|
|
+ expandTrigger="hover"
|
|
|
+ showPath={false}
|
|
|
+ v-model:value={state.searchForm.subjectId}
|
|
|
+ onUpdate:value={(val: any, option: any, pathValues: any) => {
|
|
|
+ console.log(val, option, pathValues);
|
|
|
+ }}
|
|
|
+ />
|
|
|
</NFormItem>
|
|
|
<NFormItem>
|
|
|
<NSpace justify="end">
|