浏览代码

添加状态

lex 1 年之前
父节点
当前提交
3f9c7997eb
共有 2 个文件被更改,包括 50 次插入62 次删除
  1. 48 60
      src/views/classList/index.tsx
  2. 2 2
      vite.config.ts

+ 48 - 60
src/views/classList/index.tsx

@@ -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)}>

+ 2 - 2
vite.config.ts

@@ -23,8 +23,8 @@ function resolve(dir: string) {
 }
 // https://vitejs.dev/config/
 // https://github.com/vitejs/vite/issues/1930 .env
-const proxyUrl = 'https://dev.kt.colexiu.com/';
-// const proxyUrl = 'https://test.lexiaoya.cn';
+// const proxyUrl = 'https://dev.kt.colexiu.com/';
+const proxyUrl = 'https://test.lexiaoya.cn';
 export default defineConfig({
   base: './',
   plugins: [