浏览代码

班主任选科分班

shilipojs 2 年之前
父节点
当前提交
2a8517f8c6

+ 16 - 0
mock/modules/elective-dispatch.js

@@ -25,4 +25,20 @@ module.exports = [
       }
       }
     }
     }
   },
   },
+  {
+    url: '/mock/front/dispatch/getHeadteacherDispatchSettings',
+    type:'get',
+    response: config => {
+      return {
+        code: 200,
+        msg: 'success',
+        data: {
+          '407': {
+            userId: 0,  // 老师用户ID
+            nickName: '张老师' // 老师称乎
+          }
+        }
+      }
+    }
+  },
 ]
 ]

+ 4 - 4
src/views/elective/master/components/choose-class.vue

@@ -6,7 +6,7 @@
   >
   >
     <div>
     <div>
       <el-radio-group v-model="value">
       <el-radio-group v-model="value">
-        <el-radio class="mb10" border v-for="item in classes.classList" :label="item.classId">{{item.className}}</el-radio>
+        <el-radio class="mb10" border v-for="item in classes" :label="item.classId">{{item.className}}</el-radio>
       </el-radio-group>
       </el-radio-group>
     </div>
     </div>
     <span slot="footer" class="dialog-footer">
     <span slot="footer" class="dialog-footer">
@@ -20,7 +20,7 @@ import MxClassTreeTranslateMixin from '@/components/Cache/modules/mx-classTree-t
 
 
 export default{
 export default{
   props: {
   props: {
-    year: Number
+    year:''
   },
   },
   mixins: [MxClassTreeTranslateMixin],
   mixins: [MxClassTreeTranslateMixin],
   data() {
   data() {
@@ -33,8 +33,8 @@ export default{
   },
   },
   computed: {
   computed: {
     classes() {
     classes() {
-      if (this)
-      return this.classTree.find(item => item.year == this.year)
+      if (!this.classTree.length) return []
+      return this.classTree.find(item => item.year == this.year).classList
     }
     }
   },
   },
   methods: {
   methods: {

+ 44 - 57
src/views/elective/master/index.vue

@@ -6,33 +6,36 @@
     </el-card>
     </el-card>
 
 
     <el-card>
     <el-card>
-      <div class="fx-row jc-between mb10" >
-        <el-button type="primary" @click="keepAll">一键维持原班级</el-button>
-        <el-button  type="primary" @click="send">发送名单</el-button>
-      </div>
-
-      <mx-table :propDefines="propDefines" :rows="rows">
-        <template #temp="{row}">
-          <el-popover
-            placement="bottom"
-            trigger="click">
+      <div v-if="queryParams.roundId">
+        <div class="fx-row jc-between mb10" >
+          <el-button type="primary" @click="keepAll">一键维持原班级</el-button>
+          <el-button  type="primary" @click="send">发送名单</el-button>
+        </div>
+        <mx-table :propDefines="propDefines" :rows="formatRows">
+          <template #temp="{row}">
+            <el-popover
+              placement="bottom"
+              trigger="click">
               <span class="btn-green mr5" @click="changeMaster">班主任</span>
               <span class="btn-green mr5" @click="changeMaster">班主任</span>
               <span  class="btn-green" @click="changeClass(row)">班级</span>
               <span  class="btn-green" @click="changeClass(row)">班级</span>
 
 
-            <el-button type="primary" slot="reference" size="mini">更换</el-button>
-          </el-popover>
-        </template>
-        <template #cancel="{row}">
-          <el-button type="danger" size="mini" @click="cancel(row)">取消</el-button>
-        </template>
-      </mx-table>
+              <el-button type="primary" slot="reference" size="mini">更换</el-button>
+            </el-popover>
+          </template>
+          <template #cancel="{row}">
+            <el-button type="danger" size="mini" @click="cancel(row)">取消</el-button>
+          </template>
+        </mx-table>
+      </div>
+      <evaluation-empty v-else-if="!queryParams.roundId" shadow title="当前学年没有班主任选班数据"></evaluation-empty>
     </el-card>
     </el-card>
-    <choose-master-teacher ref="chooseMasterTeacher"></choose-master-teacher>
+<!--    <choose-master-teacher ref="chooseMasterTeacher"></choose-master-teacher>-->
     <choose-class ref="chooseClass" :year="queryParams.year"></choose-class>
     <choose-class ref="chooseClass" :year="queryParams.year"></choose-class>
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
 import ChooseMasterTeacher from './components/choose-master-teacher'
 import ChooseMasterTeacher from './components/choose-master-teacher'
+import classTreeMixin from '@/components/Cache/modules/mx-classTree-translate-mixin'
 import ChooseClass from './components/choose-class'
 import ChooseClass from './components/choose-class'
 import MxCondition from '@/components/MxCondition/mx-condition'
 import MxCondition from '@/components/MxCondition/mx-condition'
 export default  {
 export default  {
@@ -41,16 +44,17 @@ export default  {
     ChooseMasterTeacher,
     ChooseMasterTeacher,
     ChooseClass
     ChooseClass
   },
   },
+  mixins: [classTreeMixin],
   data() {
   data() {
     return {
     return {
       propDefines: {
       propDefines: {
         year:{
         year:{
           label:'学年'
           label:'学年'
         },
         },
-        prevClassName:{
+        className:{
           label:'原班级'
           label:'原班级'
         },
         },
-        prevMasterName:{
+        headteacherName:{
           label:'原班主任姓名'
           label:'原班主任姓名'
         },
         },
         temp:{
         temp:{
@@ -68,45 +72,32 @@ export default  {
           slot:'cancel'
           slot:'cancel'
         }
         }
       },
       },
-      rows:[{
-        year: 2021,
-        prevClassName: '100',
-        prevClassId: 402,
-        prevMasterName: '莫文',
-        prevMasterId: 3764,
-        newClassName: '',
-        nextClassId: '',
-        newMasterId: 0,
-        newMasterName: '',
-      },{
-        year: 2021,
-        prevClassName: '101',
-        prevClassId: 403,
-        prevMasterName: '莫名',
-        prevMasterId: 3763,
-        newClassName: '',
-        newClassId: '',
-        newMasterId: 0,
-        newMasterName: '',
-      }
-      ],
-      requireFields: ['year'],
+      requireFields: ['year','roundId'],
       queryParams: {
       queryParams: {
         pageNum: 1,
         pageNum: 1,
         pageSize: 20,
         pageSize: 20,
-        year: ''
+        total: '',
+        year: '',
+        roundId: '',
       },
       },
     }
     }
   },
   },
-  methods: {
-    keepAll() {
-     this.rows = this.rows.map(item => {
-        item.newClassName = item.prevClassName
-        item.newClassId = item.prevClassId
-        item.newMasterId = item.prevMasterId
-        item.newMasterName = item.prevMasterName
+  computed:{
+    formatRows() {
+      if(!this.classTree) return []
+      if(!this.queryParams.year) return []
+
+      return this.classTree.find(item => {
+        return item.year == this.queryParams.year
+      })?.classList.map(item => {
+        item.year = this.queryParams.year
         return item
         return item
       })
       })
+    }
+  },
+  methods: {
+    keepAll() {
+
     },
     },
     send() {
     send() {
       const isSend = this.rows.filter(item => {
       const isSend = this.rows.filter(item => {
@@ -120,16 +111,12 @@ export default  {
 
 
     },
     },
     cancel(row){
     cancel(row){
-      row.newClassName =''
-      row.newClassId =''
-      row.newMasterId =0
-      row.newMasterName =''
+
     },
     },
     handleQuery() {
     handleQuery() {
-        console.log(1111111)
+      // 获取班主任 settings
     },
     },
     changeMaster(){
     changeMaster(){
-      console.log(11111111)
       this.$refs.chooseMasterTeacher.dialogVisible = true
       this.$refs.chooseMasterTeacher.dialogVisible = true
     },
     },
     changeClass(row) {
     changeClass(row) {