|
@@ -7,7 +7,7 @@
|
|
|
<el-option v-for="(i, index) in termList" :key="index" :label="`第${i.term}期`" :value="i._id"></el-option>
|
|
|
</template>
|
|
|
</template>
|
|
|
- <el-card>
|
|
|
+ <el-card style="padding:10px">
|
|
|
<el-row type="flex" justify="space-around" :gutter="10" align="middle" style="padding:10px 0;">
|
|
|
<el-col :span="7">班级需求:{{ selectInfo.personReq }}人</el-col>
|
|
|
<el-col :span="7">已选择学生:{{ selected.length }}人</el-col>
|
|
@@ -22,8 +22,8 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="班级">
|
|
|
- <el-select v-model="selectInfo.classname" placeholder="请先选择批次">
|
|
|
- <el-option v-for="(i, index) in classList" :key="index" :label="i.name" :value="i.name"></el-option>
|
|
|
+ <el-select v-model="selectInfo.classname" placeholder="请先选择批次" @change="getLimit">
|
|
|
+ <el-option v-for="(i, index) in classList" :key="index" :label="i.name" :value="i._id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
@@ -31,18 +31,18 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-row>
|
|
|
+ <data-table
|
|
|
+ ref="table"
|
|
|
+ :fields="fields"
|
|
|
+ :data="list"
|
|
|
+ :opera="opera"
|
|
|
+ :select="true"
|
|
|
+ :selected="selected"
|
|
|
+ @edit="toEdit"
|
|
|
+ @delete="toDelete"
|
|
|
+ @handleSelect="toSelect"
|
|
|
+ ></data-table>
|
|
|
</el-card>
|
|
|
- <data-table
|
|
|
- ref="table"
|
|
|
- :fields="fields"
|
|
|
- :data="list"
|
|
|
- :opera="opera"
|
|
|
- :select="true"
|
|
|
- :selected="selected"
|
|
|
- @edit="toEdit"
|
|
|
- @delete="toDelete"
|
|
|
- @handleSelect="toSelect"
|
|
|
- ></data-table>
|
|
|
</list-frame>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -124,27 +124,31 @@ export default {
|
|
|
},
|
|
|
//根据批次id,查询下面的班级
|
|
|
async getClasses(data) {
|
|
|
- //查询班级
|
|
|
- if (!data) return;
|
|
|
const res = await this.getClassesList({ batchid: data });
|
|
|
- // gc1 因为已经限制了分班人数,所以不允许出现班级人数不够的情况,查出来的班级就不应该生成,可以使用name过滤掉选项
|
|
|
- let classList = [];
|
|
|
if (this.$checkRes(res)) {
|
|
|
- if (res.data.length > 0) classList = res.data;
|
|
|
+ this.$set(this, `classList`, res.data);
|
|
|
}
|
|
|
- //整理班级数据,根据批次中的class数量,人数,创建班级
|
|
|
- let batch = this.batchList.find(f => f._id === data);
|
|
|
- let { name, class: classnum = 1, type, number } = batch;
|
|
|
- this.selectInfo.type = type;
|
|
|
- this.$set(this.selectInfo, `personReq`, number);
|
|
|
- let arr = [];
|
|
|
- for (let i = 1; i <= classnum; i++) {
|
|
|
- let object = { name: `${name}${type === '0' ? `${i}班` : ''}` };
|
|
|
- arr.push(object);
|
|
|
- }
|
|
|
- // gc1 过滤掉
|
|
|
- arr = arr.filter(f => !classList.find(c => c.name == f.name));
|
|
|
- this.$set(this, `classList`, arr);
|
|
|
+ // //查询班级
|
|
|
+ // if (!data) return;
|
|
|
+ // const res = await this.getClassesList({ batchid: data });
|
|
|
+ // // gc1 因为已经限制了分班人数,所以不允许出现班级人数不够的情况,查出来的班级就不应该生成,可以使用name过滤掉选项
|
|
|
+ // let classList = [];
|
|
|
+ // if (this.$checkRes(res)) {
|
|
|
+ // if (res.data.length > 0) classList = res.data;
|
|
|
+ // }
|
|
|
+ // //整理班级数据,根据批次中的class数量,人数,创建班级
|
|
|
+ // let batch = this.batchList.find(f => f._id === data);
|
|
|
+ // let { name, class: classnum = 1, type, number } = batch;
|
|
|
+ // this.selectInfo.type = type;
|
|
|
+ // this.$set(this.selectInfo, `personReq`, number);
|
|
|
+ // let arr = [];
|
|
|
+ // for (let i = 1; i <= classnum; i++) {
|
|
|
+ // let object = { name: `${name}${type === '0' ? `${i}班` : ''}` };
|
|
|
+ // arr.push(object);
|
|
|
+ // }
|
|
|
+ // // gc1 过滤掉
|
|
|
+ // arr = arr.filter(f => !classList.find(c => c.name == f.name));
|
|
|
+ // this.$set(this, `classList`, arr);
|
|
|
},
|
|
|
toEdit({ data }) {
|
|
|
this.$router.push({ path: '/dept/detail', query: { id: data.id } });
|
|
@@ -189,6 +193,10 @@ export default {
|
|
|
else res = false;
|
|
|
return res;
|
|
|
},
|
|
|
+ getLimit(selected) {
|
|
|
+ let res = this.classList.find(f => f._id == selected);
|
|
|
+ this.$set(this.selectInfo, `personReq`, res.number);
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
mainTitle() {
|