|
@@ -2,7 +2,7 @@
|
|
<div id="school-arrange">
|
|
<div id="school-arrange">
|
|
<detail-frame :title="pageTitle">
|
|
<detail-frame :title="pageTitle">
|
|
<!-- 大表 -->
|
|
<!-- 大表 -->
|
|
- <el-card v-loading="!already" style="min-height:500px">
|
|
|
|
|
|
+ <!-- <el-card v-loading="!already" style="min-height:500px">
|
|
<el-row type="flex" align="middle" justify="end" style="padding-bottom:10px">
|
|
<el-row type="flex" align="middle" justify="end" style="padding-bottom:10px">
|
|
<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>
|
|
@@ -15,8 +15,6 @@
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-table :data="list" border stripe size="mini" max-height="650px" @cell-click="cellClick" :show-summary="true" v-if="already">
|
|
<el-table :data="list" border stripe size="mini" max-height="650px" @cell-click="cellClick" :show-summary="true" v-if="already">
|
|
- <!-- :cell-style="cellStyle"
|
|
|
|
- :cell-class-name="cellClass" -->
|
|
|
|
<el-table-column label="学校" fixed align="center" prop="name" width="180">
|
|
<el-table-column label="学校" fixed align="center" prop="name" width="180">
|
|
<template v-slot="{ row }">
|
|
<template v-slot="{ row }">
|
|
<el-row>
|
|
<el-row>
|
|
@@ -39,7 +37,8 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
- </el-card>
|
|
|
|
|
|
+ </el-card> -->
|
|
|
|
+ <a-table :termList="termList"></a-table>
|
|
</detail-frame>
|
|
</detail-frame>
|
|
|
|
|
|
<el-drawer :visible.sync="drawer" direction="rtl" title="名额分配" @close="toClose">
|
|
<el-drawer :visible.sync="drawer" direction="rtl" title="名额分配" @close="toClose">
|
|
@@ -132,6 +131,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import aTable from './table/table';
|
|
import _ from 'lodash';
|
|
import _ from 'lodash';
|
|
var moment = require('moment');
|
|
var moment = require('moment');
|
|
import detailFrame from '@frame/layout/admin/detail-frame';
|
|
import detailFrame from '@frame/layout/admin/detail-frame';
|
|
@@ -143,7 +143,7 @@ const { mapActions: schPlan } = createNamespacedHelpers('schPlan');
|
|
export default {
|
|
export default {
|
|
name: 'school-arrange',
|
|
name: 'school-arrange',
|
|
props: {},
|
|
props: {},
|
|
- components: { detailFrame },
|
|
|
|
|
|
+ components: { detailFrame, aTable },
|
|
data: () => {
|
|
data: () => {
|
|
return {
|
|
return {
|
|
list: [],
|
|
list: [],
|
|
@@ -162,8 +162,8 @@ export default {
|
|
},
|
|
},
|
|
async created() {
|
|
async created() {
|
|
await this.toGetTrainPlan();
|
|
await this.toGetTrainPlan();
|
|
- await this.toGetTrainTemplate();
|
|
|
|
- await this.getSchool();
|
|
|
|
|
|
+ // await this.toGetTrainTemplate();
|
|
|
|
+ // await this.getSchool();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
...util({ modelFetch: 'fetch' }),
|
|
...util({ modelFetch: 'fetch' }),
|
|
@@ -412,35 +412,38 @@ export default {
|
|
res = _.compact(res);
|
|
res = _.compact(res);
|
|
return res;
|
|
return res;
|
|
},
|
|
},
|
|
- //整理期(事件)列表
|
|
|
|
- getTermList() {
|
|
|
|
|
|
+ //整理批次(事件)列表
|
|
|
|
+ getBatchList() {
|
|
let events = this.resetEvents();
|
|
let events = this.resetEvents();
|
|
- let arr = _.toPairs(_.groupBy(events, 'termid'));
|
|
|
|
- let res = arr.map(i => {
|
|
|
|
- i = _.flatten(_.remove(i, r => _.isArray(r)));
|
|
|
|
- let tpt = i.reduce((prev, next) => {
|
|
|
|
- let num = next.number ? next.number * 1 * next.class : next.class * _.get(this.template, 'stunum', 0);
|
|
|
|
- return prev + num;
|
|
|
|
- }, 0);
|
|
|
|
- let { start, term, termid } = _.head(i);
|
|
|
|
- let { end } = _.last(i);
|
|
|
|
- return { start, end, term, tpt, remaining: tpt, termid }; //tpt:该期总人数 ,remaining:剩余人数
|
|
|
|
- });
|
|
|
|
- this.$set(this, `termList`, res);
|
|
|
|
|
|
+ this.$set(this, `termList`, events);
|
|
|
|
+ // let arr = _.toPairs(_.groupBy(events, 'termid'));
|
|
|
|
+ // let res = arr.map(i => {
|
|
|
|
+ // i = _.flatten(_.remove(i, r => _.isArray(r)));
|
|
|
|
+ // let tpt = i.reduce((prev, next) => {
|
|
|
|
+ // let num = next.number ? next.number * 1 * next.class : next.class * _.get(this.template, 'stunum', 0);
|
|
|
|
+ // return prev + num;
|
|
|
|
+ // }, 0);
|
|
|
|
+ // let { start, term, termid } = _.head(i);
|
|
|
|
+ // let { end } = _.last(i);
|
|
|
|
+ // return { start, end, term, tpt, remaining: tpt, termid }; //tpt:该期总人数 ,remaining:剩余人数
|
|
|
|
+ // });
|
|
|
|
+ // this.$set(this, `termList`, res);
|
|
|
|
+ this.already = true;
|
|
},
|
|
},
|
|
//整理计划=>和日历的 events 一样
|
|
//整理计划=>和日历的 events 一样
|
|
resetEvents() {
|
|
resetEvents() {
|
|
let events = _.get(this.plan, 'termnum', []);
|
|
let events = _.get(this.plan, 'termnum', []);
|
|
- events = events.map(i => {
|
|
|
|
- let tobj = { term: i.term, termid: i._id };
|
|
|
|
- return i.batchnum.map(bat => {
|
|
|
|
- let { startdate: start, enddate: end, ...info } = bat;
|
|
|
|
- let bobj = { ...info, ...tobj, start, end };
|
|
|
|
- return bobj;
|
|
|
|
- });
|
|
|
|
- });
|
|
|
|
- events = _.flatten(events);
|
|
|
|
return events;
|
|
return events;
|
|
|
|
+ // events = events.map(i => {
|
|
|
|
+ // let tobj = { term: i.term, termid: i._id };
|
|
|
|
+ // return i.batchnum.map(bat => {
|
|
|
|
+ // let { startdate: start, enddate: end, ...info } = bat;
|
|
|
|
+ // let bobj = { ...info, ...tobj, start, end };
|
|
|
|
+ // return bobj;
|
|
|
|
+ // });
|
|
|
|
+ // });
|
|
|
|
+ // events = _.flatten(events);
|
|
|
|
+ // return events;
|
|
},
|
|
},
|
|
//名额统计
|
|
//名额统计
|
|
getTotal() {
|
|
getTotal() {
|
|
@@ -505,7 +508,7 @@ export default {
|
|
},
|
|
},
|
|
//分配重置
|
|
//分配重置
|
|
async toReset() {
|
|
async toReset() {
|
|
- this.getTermList();
|
|
|
|
|
|
+ this.getBatchList();
|
|
let list = this.list.map(i => {
|
|
let list = this.list.map(i => {
|
|
let arr = ['address', 'code', 'daterange', 'hascar', 'level', 'name', 'shortname', 'number', 'plan'];
|
|
let arr = ['address', 'code', 'daterange', 'hascar', 'level', 'name', 'shortname', 'number', 'plan'];
|
|
let object = _.pick(i, arr);
|
|
let object = _.pick(i, arr);
|
|
@@ -603,7 +606,7 @@ export default {
|
|
let res = await this.getTrainPlan(planid);
|
|
let res = await this.getTrainPlan(planid);
|
|
if (this.$checkRes(res)) {
|
|
if (this.$checkRes(res)) {
|
|
this.$set(this, `plan`, res.data);
|
|
this.$set(this, `plan`, res.data);
|
|
- this.getTermList();
|
|
|
|
|
|
+ this.getBatchList();
|
|
}
|
|
}
|
|
},
|
|
},
|
|
//获取计划模板
|
|
//获取计划模板
|