guhongwei 5 years ago
parent
commit
ed6c83d171

+ 1 - 0
src/views/new-plan/arrange/arrange.vue

@@ -355,6 +355,7 @@ export default {
     },
     },
     //添加/修改事件
     //添加/修改事件
     eventClick(event) {
     eventClick(event) {
+      console.log('nihao');
       if (_.isObject(event)) {
       if (_.isObject(event)) {
         this.formIsNew = false;
         this.formIsNew = false;
         let res = this.events.find(f => f.term == event.term);
         let res = this.events.find(f => f.term == event.term);

+ 1 - 0
src/views/new-plan/arrange/arrange/table.vue

@@ -95,6 +95,7 @@ export default {
       return dlist;
       return dlist;
     },
     },
     cellClick(date, month, bi, ci) {
     cellClick(date, month, bi, ci) {
+      console.log(date, month, bi, ci);
       let res = this.checkEvents(date, month, bi);
       let res = this.checkEvents(date, month, bi);
       if (res) this.$emit('cellClick', res);
       if (res) this.$emit('cellClick', res);
       else {
       else {

+ 80 - 10
src/views/new-plan/arrange/director-arrange.vue

@@ -3,14 +3,14 @@
     <detail-frame :title="pageTitle">
     <detail-frame :title="pageTitle">
       <el-row type="flex" align="middle" justify="end" style="padding-bottom:10px" v-if="loading">
       <el-row type="flex" align="middle" justify="end" style="padding-bottom:10px" v-if="loading">
         <el-col :span="2">
         <el-col :span="2">
-          <el-button type="success" size="mini" @click="toSave">保存班主任计划</el-button>
+          <!-- <el-button type="success" size="mini" @click="toSave">保存班主任计划</el-button> -->
         </el-col>
         </el-col>
         <el-col :span="2">
         <el-col :span="2">
           <el-button type="primary" size="mini" @click="toArrange">一键分配</el-button>
           <el-button type="primary" size="mini" @click="toArrange">一键分配</el-button>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
       <el-row>
       <el-row>
-        <el-table :data="list" border :span-method="objectSpanMethod">
+        <el-table :data="list" border :span-method="objectSpanMethod" @row-click="rowBtn">
           <el-table-column label="期数" prop="term" align="center"> </el-table-column>
           <el-table-column label="期数" prop="term" align="center"> </el-table-column>
           <el-table-column label="班级名称" prop="name" align="center"> </el-table-column>
           <el-table-column label="班级名称" prop="name" align="center"> </el-table-column>
           <el-table-column label="时间" prop="date" align="center">
           <el-table-column label="时间" prop="date" align="center">
@@ -23,7 +23,7 @@
           </el-table-column>
           </el-table-column>
           <el-table-column label="督导值班" prop="term7" align="center">
           <el-table-column label="督导值班" prop="term7" align="center">
             <template slot-scope="scope">
             <template slot-scope="scope">
-              <el-input v-model="scope.row.term7" placeholder="请输入"></el-input>
+              <el-input v-model="scope.row.reteacher" placeholder="请输入" @change="changeRea"></el-input>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column label="月份" prop="month" align="center"> </el-table-column>
           <el-table-column label="月份" prop="month" align="center"> </el-table-column>
@@ -33,6 +33,19 @@
         </el-table>
         </el-table>
       </el-row>
       </el-row>
     </detail-frame>
     </detail-frame>
+    <el-drawer :visible.sync="drawer" direction="rtl" title="修改班主任" @close="toClose">
+      <el-form :model="form">
+        <el-form-item label="班主任" label-width="120px">
+          <el-select v-model="form.rightHeader" placeholder="请选择班主任">
+            <el-option v-for="item in dirList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <el-col :span="24" style="text-align:center">
+        <el-button @click="toClose">取 消</el-button>
+        <el-button type="primary" @click="onSubmit">保 存</el-button>
+      </el-col>
+    </el-drawer>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -61,8 +74,15 @@ export default {
       rightHeader: [],
       rightHeader: [],
       // 教师列表
       // 教师列表
       dirList: [],
       dirList: [],
+      // 全年计划
+      planData: {},
       // 全年计划列表
       // 全年计划列表
       list: [],
       list: [],
+      // 修改班主任
+      drawer: false,
+      form: {},
+      // 督导值班
+      reteacherData: {},
     };
     };
   },
   },
   async created() {
   async created() {
@@ -74,7 +94,7 @@ export default {
     ...mapDept({ getDept: 'query', getDeptFetch: 'fetch' }),
     ...mapDept({ getDept: 'query', getDeptFetch: 'fetch' }),
     ...mapActions(['divide', 'findTeacher', 'fetch']),
     ...mapActions(['divide', 'findTeacher', 'fetch']),
     ...classes(['query', 'upHeadTea']),
     ...classes(['query', 'upHeadTea']),
-    ...trainplan({ trainplanFetch: 'fetch' }),
+    ...trainplan({ trainplanFetch: 'fetch', trainplanUpdate: 'update', updateclass: 'updateclass', updatereteacher: 'updatereteacher' }),
     // 查询部门加班主任
     // 查询部门加班主任
     async getOtherList() {
     async getOtherList() {
       let res = await this.getDept();
       let res = await this.getDept();
@@ -85,18 +105,21 @@ export default {
     async search() {
     async search() {
       let planid = _.get(this.defaultOption, 'planid');
       let planid = _.get(this.defaultOption, 'planid');
       const res = await this.trainplanFetch(planid);
       const res = await this.trainplanFetch(planid);
+      this.$set(this, `planData`, res.data);
       let data = res.data.termnum;
       let data = res.data.termnum;
       let newData = [];
       let newData = [];
       for (const termnum of data) {
       for (const termnum of data) {
         for (const batchnum of termnum.batchnum) {
         for (const batchnum of termnum.batchnum) {
           for (const classes of batchnum.class) {
           for (const classes of batchnum.class) {
             const termdata = {
             const termdata = {
+              reteacher: termnum.reteacher,
               term: termnum.term,
               term: termnum.term,
+              termid: termnum._id,
               startdate: batchnum.startdate,
               startdate: batchnum.startdate,
               enddate: batchnum.enddate,
               enddate: batchnum.enddate,
               classid: classes._id,
               classid: classes._id,
               name: classes.name,
               name: classes.name,
-              rightHeader: classes.rightHeader,
+              rightHeader: classes.headteacherid,
             };
             };
             newData.push(termdata);
             newData.push(termdata);
           }
           }
@@ -108,7 +131,7 @@ export default {
     },
     },
     // 筛选教师
     // 筛选教师
     dirData(id, row) {
     dirData(id, row) {
-      var dir = this.dirList.filter(item => item.id == row.headteacherid);
+      var dir = this.dirList.filter(item => item.id == row.rightHeader);
       let data = dir.find(i => i.department == id);
       let data = dir.find(i => i.department == id);
       if (data) return data.name;
       if (data) return data.name;
     },
     },
@@ -181,19 +204,66 @@ export default {
         }
         }
       }
       }
     },
     },
-    // 保存班主任计划
-    toSave() {},
+    // 保存督导教师
+    async changeRea(value) {
+      let data = this.reteacherData;
+      data.reteacher = value;
+      let res = await this.updatereteacher(data);
+      if (res.errcode === 0) {
+        this.$message({
+          message: '督导值班教师添加成功',
+          type: 'success',
+        });
+        this.search();
+      }
+    },
     // 一键分配
     // 一键分配
     async toArrange() {
     async toArrange() {
       let trainplanid = _.get(this.defaultOption, 'planid');
       let trainplanid = _.get(this.defaultOption, 'planid');
       let res = await this.divide({ trainplanid: trainplanid });
       let res = await this.divide({ trainplanid: trainplanid });
-      console.log(res);
+      if (res.errcode === 0) {
+        this.$message({
+          message: '班主任全年计划分配成功',
+          type: 'success',
+        });
+      }
     },
     },
     // 整理时间
     // 整理时间
-    // 转换
     ptc(date) {
     ptc(date) {
       return moment(date).format('M.DD');
       return moment(date).format('M.DD');
     },
     },
+    // 修改班主任&督导值班
+    rowBtn(row, column, event) {
+      let prop = _.get(column, 'property');
+      if (prop === 'term' || prop === 'name' || prop === 'date' || prop === 'month' || prop === 'num') {
+        return;
+      } else if (prop === 'term7') {
+        let reteacherData = {
+          trainplanid: _.get(this.defaultOption, 'planid'),
+          termid: row.termid,
+        };
+        this.$set(this, `reteacherData`, reteacherData);
+      } else {
+        this.$set(this, `form`, row);
+        this.drawer = true;
+      }
+    },
+    // 保存
+    async onSubmit() {
+      let data = this.form;
+      data.trainplanid = _.get(this.defaultOption, 'planid');
+      let res = await this.updateclass(data);
+      if (res.errcode === 0) {
+        this.form = {};
+        this.drawer = false;
+        this.search();
+      }
+    },
+    //关闭抽屉函数
+    toClose() {
+      this.form = {};
+      this.drawer = false;
+    },
   },
   },
   computed: {
   computed: {
     ...mapState(['user', 'defaultOption']),
     ...mapState(['user', 'defaultOption']),