|
@@ -9,9 +9,13 @@ import teacherIcon from '@components/layout/images/teacherIcon.png';
|
|
|
import dayjs from 'dayjs';
|
|
|
import { getTimes } from '/src/utils';
|
|
|
import TheEmpty from '/src/components/TheEmpty';
|
|
|
+import CSelect from '/src/components/CSelect';
|
|
|
+import { api_teacherPage } from '../../setting/api';
|
|
|
+import { useUserStore } from '/src/store/modules/users';
|
|
|
export default defineComponent({
|
|
|
name: 'class-record',
|
|
|
setup() {
|
|
|
+ const user = useUserStore();
|
|
|
const route = useRoute();
|
|
|
|
|
|
const formatDefaultTime = () => {
|
|
@@ -31,12 +35,14 @@ export default defineComponent({
|
|
|
|
|
|
const state = reactive({
|
|
|
searchForm: {
|
|
|
+ teacherId: null,
|
|
|
createTimer: formatDefaultTime() as any
|
|
|
},
|
|
|
+ teacherList: [],
|
|
|
loading: false,
|
|
|
pagination: {
|
|
|
page: 1,
|
|
|
- rows: 10,
|
|
|
+ rows: 12,
|
|
|
pageTotal: 0
|
|
|
},
|
|
|
tableList: [] as any
|
|
@@ -48,6 +54,7 @@ export default defineComponent({
|
|
|
|
|
|
const onReset = () => {
|
|
|
state.searchForm = {
|
|
|
+ teacherId: null,
|
|
|
createTimer: formatDefaultTime() as any
|
|
|
};
|
|
|
search();
|
|
@@ -57,6 +64,7 @@ export default defineComponent({
|
|
|
try {
|
|
|
const { data } = await courseSchedulePage({
|
|
|
classGroupId: route.query.id,
|
|
|
+ teacherId: state.searchForm.teacherId,
|
|
|
...getTimes(
|
|
|
state.searchForm.createTimer,
|
|
|
['startTime', 'endTime'],
|
|
@@ -77,7 +85,29 @@ export default defineComponent({
|
|
|
state.loading = false;
|
|
|
}
|
|
|
};
|
|
|
+
|
|
|
+ const getTeachers = async () => {
|
|
|
+ try {
|
|
|
+ const { data } = await api_teacherPage({
|
|
|
+ schoolId: user.info.schoolInfos?.[0]?.id,
|
|
|
+ page: 1,
|
|
|
+ rows: 1000
|
|
|
+ });
|
|
|
+ const tempList = data.rows || [];
|
|
|
+ const tempT = [] as any;
|
|
|
+ tempList.forEach((item: any) => {
|
|
|
+ tempT.push({
|
|
|
+ label: item.nickname,
|
|
|
+ value: item.id
|
|
|
+ });
|
|
|
+ });
|
|
|
+ state.teacherList = tempT;
|
|
|
+ } catch {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ };
|
|
|
onMounted(() => {
|
|
|
+ getTeachers();
|
|
|
getList();
|
|
|
});
|
|
|
return () => (
|
|
@@ -85,6 +115,23 @@ export default defineComponent({
|
|
|
<div class={styles.searchList}>
|
|
|
<NForm label-placement="left" inline>
|
|
|
<NFormItem>
|
|
|
+ <CSelect
|
|
|
+ {...({
|
|
|
+ options: [
|
|
|
+ {
|
|
|
+ label: '全部老师',
|
|
|
+ value: null
|
|
|
+ },
|
|
|
+ ...state.teacherList
|
|
|
+ ],
|
|
|
+ placeholder: '全部老师',
|
|
|
+ clearable: true,
|
|
|
+ inline: true
|
|
|
+ } as any)}
|
|
|
+ v-model:value={state.searchForm.teacherId}></CSelect>
|
|
|
+ </NFormItem>
|
|
|
+
|
|
|
+ <NFormItem>
|
|
|
<CDatePicker
|
|
|
v-model:value={state.searchForm.createTimer}
|
|
|
timerValue={state.searchForm.createTimer}
|
|
@@ -154,6 +201,7 @@ export default defineComponent({
|
|
|
v-model:pageSize={state.pagination.rows}
|
|
|
v-model:pageTotal={state.pagination.pageTotal}
|
|
|
onList={getList}
|
|
|
+ pageSizes={[12, 24, 36, 48]}
|
|
|
sync
|
|
|
saveKey="classRecord-key"
|
|
|
/>
|