|
@@ -19,8 +19,15 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align="center" label="课程内容" prop="subname" :show-overflow-tooltip="true"></el-table-column>
|
|
<el-table-column align="center" label="课程内容" prop="subname" :show-overflow-tooltip="true"></el-table-column>
|
|
- <el-table-column align="center" label="1班" prop="name_1" :show-overflow-tooltip="true"></el-table-column>
|
|
|
|
- <el-table-column align="center" label="2班" prop="name_2" :show-overflow-tooltip="true"></el-table-column>
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ v-for="(i, index) in classList"
|
|
|
|
+ :key="index"
|
|
|
|
+ :label="`${i.name}班`"
|
|
|
|
+ :prop="`name_${index + 1}`"
|
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
|
+ ></el-table-column>
|
|
|
|
+ <!-- <el-table-column align="center" label="2班(需要改班级名)" prop="name_2" :show-overflow-tooltip="true"></el-table-column> -->
|
|
</el-table>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -43,6 +50,7 @@ export default {
|
|
created() {},
|
|
created() {},
|
|
methods: {
|
|
methods: {
|
|
spanTable({ row, column, rowIndex, columnIndex }, arrayName) {
|
|
spanTable({ row, column, rowIndex, columnIndex }, arrayName) {
|
|
|
|
+ let { type } = row;
|
|
let res = { rowspan: 1, colspan: 1 };
|
|
let res = { rowspan: 1, colspan: 1 };
|
|
let l = _.get(this.list, 'length');
|
|
let l = _.get(this.list, 'length');
|
|
let b = this.batch * 1;
|
|
let b = this.batch * 1;
|
|
@@ -54,14 +62,15 @@ export default {
|
|
// b为该期的批次 batch
|
|
// b为该期的批次 batch
|
|
// 左侧是:0+6;1+6;2+6 => b-1+6
|
|
// 左侧是:0+6;1+6;2+6 => b-1+6
|
|
// 右侧是: l-1 -2; l-1 -1; l-1 -0 => l-1 -(3-b)
|
|
// 右侧是: l-1 -2; l-1 -1; l-1 -0 => l-1 -(3-b)
|
|
- if (_.inRange(rowIndex, b + 5, l - 4 + b) && columnIndex < 1) {
|
|
|
|
- res.colspan = 3;
|
|
|
|
- }
|
|
|
|
- if (_.inRange(rowIndex, b + 5, l - 4 + b) && columnIndex >= 1 && columnIndex <= 2) {
|
|
|
|
- res.colspan = 0;
|
|
|
|
- }
|
|
|
|
- if (rowIndex == l - 1) {
|
|
|
|
- res.colspan = 5;
|
|
|
|
|
|
+ //用row的type字段搞定了,上面的是以前思路,现在判断type就行,lesson和undefined不管;allday是全合并;headteacher/lyteacher/jslocation 是合并3个
|
|
|
|
+ if (type == 'allday') res.colspan = 3 + this.classList.length; //TODO此处需要计算正常的3列(日期,星期,课程内容)后有几个班 x = 3+c(班级数量)
|
|
|
|
+ if (type == 'headteacher' || type == 'lyteacher' || type == 'jslocation') {
|
|
|
|
+ if (columnIndex < 1) {
|
|
|
|
+ res.colspan = 3;
|
|
|
|
+ }
|
|
|
|
+ if (columnIndex >= 1 && columnIndex <= 2) {
|
|
|
|
+ res.colspan = 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return res;
|
|
return res;
|
|
},
|
|
},
|
|
@@ -94,6 +103,19 @@ export default {
|
|
list() {
|
|
list() {
|
|
return _.cloneDeep(this.data);
|
|
return _.cloneDeep(this.data);
|
|
},
|
|
},
|
|
|
|
+ classList() {
|
|
|
|
+ let res = [];
|
|
|
|
+ if (this.data.length > 0) {
|
|
|
|
+ let midarr = this.data.filter(f => f.type == 'lesson');
|
|
|
|
+ let mid = _.head(midarr);
|
|
|
|
+ let keys = Object.keys(mid).filter(f => f.includes('class_'));
|
|
|
|
+ for (const key of keys) {
|
|
|
|
+ let name = mid[key];
|
|
|
|
+ res.push({ name });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return res;
|
|
|
|
+ },
|
|
},
|
|
},
|
|
metaInfo() {
|
|
metaInfo() {
|
|
return { title: this.$route.meta.title };
|
|
return { title: this.$route.meta.title };
|