import { defineComponent, onMounted, reactive, ref } from 'vue'; import styles from './index.module.less'; import { NButton, NDataTable, NForm, NFormItem, NImage, NModal, NSelect, NSpace, useMessage } from 'naive-ui'; import SearchInput from '@/components/searchInput'; import CSelect from '@/components/CSelect'; import Pagination from '@/components/pagination'; import add from './images/add.png'; import { useRoute, useRouter } from 'vue-router'; import { getStudentList, schoolDetail } from './api'; import { classGroupList } from '@/views/classList/api'; import AddStudentModel from './modals/addStudentModel'; import Studentguide from '@/custom-plugins/guide-page/student-guide'; import TheEmpty from '/src/components/TheEmpty'; import NoticeModal from './modals/noticeModal'; import { useUserStore } from '/src/store/modules/users'; export default defineComponent({ name: 'student-studentList', setup(props, { emit }) { const userStore = useUserStore(); const state = reactive({ searchForm: { keyword: '', gender: null as any, classGroupId: null as any, membership: null as any }, searchWord: '', orchestraType: null, courseTypeCode: null, subjectId: null, classId: null, studentType: null, loading: false, pagination: { page: 1, rows: 10, pageTotal: 4 }, tableList: [] as any, classList: [], addStudentVisible: false, activeRow: {} as any }); const route = useRoute(); const router = useRouter(); const showGuide = ref(false); const message = useMessage(); const search = () => { state.pagination.page = 1; getList(); }; const getClasslist = async () => { try { const res = await classGroupList({ page: 1, rows: 999 }); state.classList = res.data.rows.map((item: any) => { return { label: item.name, value: item.id }; }); } catch (e) { console.log(e); } }; const copyTo = (text: string) => { const input = document.createElement('input'); input.value = text; document.body.appendChild(input); input.select(); input.setSelectionRange(0, input.value.length); document.execCommand('Copy'); document.body.removeChild(input); message.success('复制成功'); }; const onReset = () => { state.searchForm = { keyword: '', gender: null as any, classGroupId: null as any, membership: null as any }; search(); }; const getList = async () => { try { const res = await getStudentList({ ...state.searchForm, ...state.pagination }); state.tableList = res.data.rows; state.pagination.pageTotal = res.data.total; if (state.tableList.length > 0) { setTimeout(() => { showGuide.value = true; }, 500); } } catch (e) { console.log(e); } console.log('getList'); }; onMounted(() => { getList(); getClasslist(); }); const columns = () => { return [ { title: '学生姓名', key: 'nickname', render: (row: any) => { return (