|
@@ -1,4 +1,4 @@
|
|
|
-import { defineComponent, reactive, onMounted, ref, nextTick } from 'vue';
|
|
|
+import { defineComponent, reactive, onMounted, ref } from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import {
|
|
|
NButton,
|
|
@@ -7,31 +7,23 @@ import {
|
|
|
NFormItem,
|
|
|
NImage,
|
|
|
NModal,
|
|
|
- NSelect,
|
|
|
NSpace,
|
|
|
- useDialog,
|
|
|
useMessage
|
|
|
} from 'naive-ui';
|
|
|
import SearchInput from '@/components/searchInput';
|
|
|
import CSelect from '@/components/CSelect';
|
|
|
import Pagination from '@/components/pagination';
|
|
|
-import { classGroupList, deleteClass, getSubject ,addGroup} from './api';
|
|
|
-
|
|
|
+import { classGroupList, deleteClass, getSubject, addGroup } from './api';
|
|
|
import CreateClass from './modals/createClass';
|
|
|
import RestStudentBox from './modals/restStudentBox';
|
|
|
-import TrainDetail from './modals/Gotoclass';
|
|
|
import { getgradeNumList, classArray } from './contants';
|
|
|
import add from '@/views/studentList/images/add.png';
|
|
|
import ClassGuide from '@/custom-plugins/guide-page/class-guide';
|
|
|
import { useRouter } from 'vue-router';
|
|
|
-import { rowDark } from 'naive-ui/es/legacy-grid/styles';
|
|
|
import TheEmpty from '/src/components/TheEmpty';
|
|
|
import TheTooltip from '/src/components/TheTooltip';
|
|
|
import PreviewWindow from '../preview-window';
|
|
|
-import { state as globalState } from '/src/state';
|
|
|
-import { courseSchedulePage } from '../home/api';
|
|
|
import ResetSubject from './modals/resetSubject';
|
|
|
-import { fscreen } from '/src/utils';
|
|
|
import UpdateSubject from './modals/updateSubject';
|
|
|
export default defineComponent({
|
|
|
name: 'class-classList',
|
|
@@ -61,14 +53,14 @@ export default defineComponent({
|
|
|
removeRow: {} as any,
|
|
|
previewModal: false,
|
|
|
previewParams: {} as any,
|
|
|
- lastCourse:null as any,
|
|
|
- groupVisiable:false,
|
|
|
+ lastCourse: null as any,
|
|
|
+ groupVisiable: false,
|
|
|
+ groupBtnLoading: false, // 按钮是否在请求中
|
|
|
subjectList: [] as any,
|
|
|
showResetClass: false,
|
|
|
showSubjectClass: false
|
|
|
});
|
|
|
const formRef = ref();
|
|
|
- const dialog = useDialog();
|
|
|
const message = useMessage();
|
|
|
const router = useRouter();
|
|
|
const search = () => {
|
|
@@ -135,18 +127,15 @@ export default defineComponent({
|
|
|
return [
|
|
|
{
|
|
|
title: '班级名称',
|
|
|
- key: 'name',
|
|
|
-
|
|
|
+ key: 'name'
|
|
|
},
|
|
|
{
|
|
|
title: '班级声部',
|
|
|
- key: 'subjectName',
|
|
|
-
|
|
|
+ key: 'subjectName'
|
|
|
},
|
|
|
{
|
|
|
title: '学生人数',
|
|
|
- key: 'preStudentNum',
|
|
|
-
|
|
|
+ key: 'preStudentNum'
|
|
|
},
|
|
|
{
|
|
|
title: '上次学习',
|
|
@@ -254,15 +243,16 @@ export default defineComponent({
|
|
|
删除
|
|
|
</p>
|
|
|
) : null}
|
|
|
- {row.imGroupId?null: <NButton
|
|
|
+ {row.imGroupId ? null : (
|
|
|
+ <NButton
|
|
|
type="primary"
|
|
|
text
|
|
|
onClick={() => {
|
|
|
createImgroup(row);
|
|
|
}}>
|
|
|
创建群聊
|
|
|
- </NButton>}
|
|
|
-
|
|
|
+ </NButton>
|
|
|
+ )}
|
|
|
</NSpace>
|
|
|
</div>
|
|
|
);
|
|
@@ -305,22 +295,24 @@ export default defineComponent({
|
|
|
state.activeRow = row;
|
|
|
state.showResetClass = true;
|
|
|
};
|
|
|
- const createImgroup = async(row:any)=>{
|
|
|
- state.activeRow = row
|
|
|
+ const createImgroup = async (row: any) => {
|
|
|
+ state.activeRow = row;
|
|
|
state.groupVisiable = true;
|
|
|
- }
|
|
|
+ };
|
|
|
|
|
|
- const submitGroup = async ()=>{
|
|
|
- console.log( state.activeRow,'row')
|
|
|
- try{
|
|
|
- const res = await addGroup({classGroupId:state.activeRow.id})
|
|
|
- message.success('创建成功')
|
|
|
- state.groupVisiable = false
|
|
|
- getList()
|
|
|
- }catch(e){
|
|
|
- console.log(e)
|
|
|
+ const submitGroup = async () => {
|
|
|
+ console.log(state.activeRow, 'row');
|
|
|
+ state.groupBtnLoading = true;
|
|
|
+ try {
|
|
|
+ await addGroup({ classGroupId: state.activeRow.id });
|
|
|
+ message.success('创建成功');
|
|
|
+ state.groupVisiable = false;
|
|
|
+ await getList();
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e);
|
|
|
}
|
|
|
- }
|
|
|
+ state.groupBtnLoading = false;
|
|
|
+ };
|
|
|
onMounted(() => {
|
|
|
getList();
|
|
|
getSubjectList();
|
|
@@ -431,35 +423,31 @@ export default defineComponent({
|
|
|
<NModal
|
|
|
v-model:show={state.showaddClass}
|
|
|
style={{ width: '500px' }}
|
|
|
- display-directive='if'
|
|
|
+ display-directive="if"
|
|
|
preset="card"
|
|
|
class={['modalTitle background']}
|
|
|
title={'创建班级'}>
|
|
|
-
|
|
|
- <CreateClass
|
|
|
- gradeNumList={state.gradeNumList}
|
|
|
- classArray={classArray}
|
|
|
- subjectList={state.subjectList}
|
|
|
- onGetList={() => getList()}
|
|
|
- onClose={() => (state.showaddClass = false)}
|
|
|
- />
|
|
|
-
|
|
|
+ <CreateClass
|
|
|
+ gradeNumList={state.gradeNumList}
|
|
|
+ classArray={classArray}
|
|
|
+ subjectList={state.subjectList}
|
|
|
+ onGetList={() => getList()}
|
|
|
+ onClose={() => (state.showaddClass = false)}
|
|
|
+ />
|
|
|
</NModal>
|
|
|
<NModal
|
|
|
v-model:show={state.showResetClass}
|
|
|
style={{ width: '500px' }}
|
|
|
- display-directive='if'
|
|
|
+ display-directive="if"
|
|
|
preset="card"
|
|
|
class={['modalTitle background']}
|
|
|
title={'修改声部'}>
|
|
|
-
|
|
|
- <ResetSubject
|
|
|
- activeRow={state.activeRow}
|
|
|
- subjectList={state.subjectList}
|
|
|
- onGetList={() => getList()}
|
|
|
- onClose={() => (state.showResetClass = false)}
|
|
|
- />
|
|
|
-
|
|
|
+ <ResetSubject
|
|
|
+ activeRow={state.activeRow}
|
|
|
+ subjectList={state.subjectList}
|
|
|
+ onGetList={() => getList()}
|
|
|
+ onClose={() => (state.showResetClass = false)}
|
|
|
+ />
|
|
|
</NModal>
|
|
|
|
|
|
<NModal
|
|
@@ -515,20 +503,20 @@ export default defineComponent({
|
|
|
</div>
|
|
|
</NModal>
|
|
|
|
|
|
-
|
|
|
-
|
|
|
<NModal
|
|
|
v-model:show={state.groupVisiable}
|
|
|
preset="card"
|
|
|
class={['modalTitle', styles.removeVisiable]}
|
|
|
title={'创建群聊'}>
|
|
|
<div class={styles.studentRemove}>
|
|
|
- <p>
|
|
|
- 是否创建班级群聊
|
|
|
- </p>
|
|
|
+ <p style={{ textAlign: 'center' }}>是否创建班级群聊</p>
|
|
|
|
|
|
<NSpace class={styles.btnGroup} justify="center">
|
|
|
- <NButton round type="primary" onClick={submitGroup}>
|
|
|
+ <NButton
|
|
|
+ round
|
|
|
+ type="primary"
|
|
|
+ onClick={submitGroup}
|
|
|
+ loading={state.groupBtnLoading}>
|
|
|
确定
|
|
|
</NButton>
|
|
|
<NButton round onClick={() => (state.groupVisiable = false)}>
|