|
@@ -13,22 +13,38 @@
|
|
</template>
|
|
</template>
|
|
<template #custom="{item}">
|
|
<template #custom="{item}">
|
|
<template v-if="item.model === 'lesson'">
|
|
<template v-if="item.model === 'lesson'">
|
|
- <el-table :data="lessons" stripe border>
|
|
|
|
- <el-table-column align="center" label="时间" prop="time"></el-table-column>
|
|
|
|
- <el-table-column align="center" label="第一天" prop="day1"></el-table-column>
|
|
|
|
- <el-table-column align="center" label="第二天" prop="day2"></el-table-column>
|
|
|
|
- <el-table-column align="center" label="第三天" prop="day3"></el-table-column>
|
|
|
|
- <el-table-column align="center" label="第四天" prop="day4"></el-table-column>
|
|
|
|
- <el-table-column align="center" label="第五天" prop="day5"></el-table-column>
|
|
|
|
- <el-table-column align="center" label="第六天" prop="day6"></el-table-column>
|
|
|
|
- <el-table-column label="操作" align="center">
|
|
|
|
- <template v-slot="{ row, $index }">
|
|
|
|
- <el-tooltip :key="$index" effect="dark" content="编辑" placement="bottom">
|
|
|
|
- <el-button type="text" size="mini" icon="el-icon-edit" @click="toEdit(row, $index)"></el-button>
|
|
|
|
- </el-tooltip>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24" style="text-align:right; padding:10px">
|
|
|
|
+ <el-button type="primary" size="mini" @click="drawer = true">添加时间段</el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-table :data="lessons" stripe border>
|
|
|
|
+ <el-table-column align="center" label="时间" prop="time"></el-table-column>
|
|
|
|
+ <el-table-column align="center" label="第一天" prop="day1"></el-table-column>
|
|
|
|
+ <el-table-column align="center" label="第二天" prop="day2"></el-table-column>
|
|
|
|
+ <el-table-column align="center" label="第三天" prop="day3"></el-table-column>
|
|
|
|
+ <el-table-column align="center" label="第四天" prop="day4"></el-table-column>
|
|
|
|
+ <el-table-column align="center" label="第五天" prop="day5"></el-table-column>
|
|
|
|
+ <el-table-column align="center" label="第六天" prop="day6"></el-table-column>
|
|
|
|
+ <el-table-column label="操作" align="center">
|
|
|
|
+ <template v-slot="{ row, $index }">
|
|
|
|
+ <el-row type="flex" align="middle" justify="center">
|
|
|
|
+ <el-col :span="4">
|
|
|
|
+ <el-tooltip :key="$index" effect="dark" content="编辑" placement="bottom">
|
|
|
|
+ <el-button type="text" size="mini" icon="el-icon-edit" @click="toEdit(row, $index)"></el-button>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="4">
|
|
|
|
+ <el-tooltip :key="$index" effect="dark" content="删除" placement="bottom">
|
|
|
|
+ <el-button type="text" size="mini" icon="el-icon-delete" @click="todelete(row, $index)"></el-button>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</data-form>
|
|
</data-form>
|
|
@@ -83,6 +99,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+var moment = require('moment');
|
|
import detailFrame from '@frame/layout/admin/detail-frame';
|
|
import detailFrame from '@frame/layout/admin/detail-frame';
|
|
import dataForm from '@frame/components/form';
|
|
import dataForm from '@frame/components/form';
|
|
import { lesson as lessons } from '@frame/config/lesson-template';
|
|
import { lesson as lessons } from '@frame/config/lesson-template';
|
|
@@ -187,19 +204,43 @@ export default {
|
|
},
|
|
},
|
|
handleOsave({ data }) {
|
|
handleOsave({ data }) {
|
|
//TODO 将对应另一天的课也改了
|
|
//TODO 将对应另一天的课也改了
|
|
- console.log(data);
|
|
|
|
|
|
+ let { index } = data;
|
|
|
|
+ if (!_.isArray(_.get(data, 'time'))) {
|
|
|
|
+ this.$message.error('时间格式错误');
|
|
|
|
+ console.warning('时间不是数组,之后无法进行转换');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
data.time = _.join(data.time, '-');
|
|
data.time = _.join(data.time, '-');
|
|
- let index = JSON.parse(JSON.stringify(data.index));
|
|
|
|
- let keys = Object.keys(data);
|
|
|
|
- let midArr = keys.filter(f => /^day\d$/.test(f));
|
|
|
|
- for (const key of midArr) {
|
|
|
|
- if (data[`${key}type`] === '课程') data[key] = this.subjectList.find(f => f.id === data[`${key}subid`]).name;
|
|
|
|
- else delete data[`${key}subid`];
|
|
|
|
|
|
+ if (index != undefined && index >= 0) {
|
|
|
|
+ let keys = Object.keys(data);
|
|
|
|
+ let midArr = keys.filter(f => /^day\d$/.test(f));
|
|
|
|
+ for (const key of midArr) {
|
|
|
|
+ if (data[`${key}type`] === '课程') data[key] = this.subjectList.find(f => f.id === data[`${key}subid`]).name;
|
|
|
|
+ else delete data[`${key}subid`];
|
|
|
|
+ }
|
|
|
|
+ data = _.omit(data, ['index']);
|
|
|
|
+ this.$set(this.lessons, index, data);
|
|
|
|
+ } else {
|
|
|
|
+ this.lessons.push(data);
|
|
}
|
|
}
|
|
- data = _.omit(data, ['index']);
|
|
|
|
- this.$set(this.lessons, index, data);
|
|
|
|
|
|
+ this.$set(this, `lessons`, this.getOrderForTime(this.lessons));
|
|
this.drawer = false;
|
|
this.drawer = false;
|
|
},
|
|
},
|
|
|
|
+ todelete(row, index) {
|
|
|
|
+ this.lessons.splice(index, 1);
|
|
|
|
+ },
|
|
|
|
+ //根据时间排序
|
|
|
|
+ getOrderForTime(data) {
|
|
|
|
+ let duplicate = JSON.parse(JSON.stringify(data));
|
|
|
|
+ duplicate = duplicate.sort((a, b) => {
|
|
|
|
+ let a_arr = a.time.split('-');
|
|
|
|
+ let b_arr = b.time.split('-');
|
|
|
|
+ let at = moment(`${moment().format('YYYY-MM-DD')} ${a_arr[0]}`).format('X');
|
|
|
|
+ let bt = moment(`${moment().format('YYYY-MM-DD')} ${b_arr[0]}`).format('X');
|
|
|
|
+ return at - bt;
|
|
|
|
+ });
|
|
|
|
+ return duplicate;
|
|
|
|
+ },
|
|
toClose() {
|
|
toClose() {
|
|
this.drawer = false;
|
|
this.drawer = false;
|
|
this.form = {};
|
|
this.form = {};
|