|
@@ -1,34 +1,46 @@
|
|
<template>
|
|
<template>
|
|
- <div id="event" v-loading="loading" element-loading-text="加载中,请稍后..." element-loading-spinner="el-icon-loading"
|
|
|
|
- element-loading-background="rgba(0, 0, 0, 0.8)">
|
|
|
|
- <el-form :model="form" ref="form" :rules="formRules" label-width="80px" size="small" @submit.native.prevent
|
|
|
|
- style="padding: 15px;">
|
|
|
|
|
|
+ <div
|
|
|
|
+ id="event"
|
|
|
|
+ v-loading="loading"
|
|
|
|
+ element-loading-text="加载中,请稍后..."
|
|
|
|
+ element-loading-spinner="el-icon-loading"
|
|
|
|
+ element-loading-background="rgba(0, 0, 0, 0.8)"
|
|
|
|
+ >
|
|
|
|
+ <el-form :model="form" ref="form" :rules="formRules" label-width="80px" size="small" @submit.native.prevent style="padding: 15px;">
|
|
<el-form-item label="开始时间" prop="startdate">
|
|
<el-form-item label="开始时间" prop="startdate">
|
|
- <el-date-picker :readonly="!isNew" v-model="form.startdate" type="date" format="yyyy-MM-dd"
|
|
|
|
- value-format="yyyy-MM-dd" :disabled="true"> </el-date-picker>
|
|
|
|
|
|
+ <el-date-picker :readonly="!isNew" v-model="form.startdate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" :disabled="true"> </el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="结束时间" prop="enddate">
|
|
<el-form-item label="结束时间" prop="enddate">
|
|
- <el-date-picker :readonly="!isNew" v-model="form.enddate" type="date" format="yyyy-MM-dd"
|
|
|
|
- value-format="yyyy-MM-dd" :picker-options="pickerOptions" :default-value="getEndTimeDefault()">
|
|
|
|
|
|
+ <el-date-picker
|
|
|
|
+ :readonly="!isNew"
|
|
|
|
+ v-model="form.enddate"
|
|
|
|
+ type="date"
|
|
|
|
+ format="yyyy-MM-dd"
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
+ :picker-options="pickerOptions"
|
|
|
|
+ :default-value="getEndTimeDefault()"
|
|
|
|
+ >
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="期数" prop="term" required> <el-input v-model="form.term" :readonly="!isNew"></el-input>
|
|
|
|
|
|
+ <el-form-item label="期数" prop="term">
|
|
|
|
+ <el-input v-model="form.term" :readonly="!isNew" placeholder="请输入期数"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- <el-form-item label="班级类型(需要请求)" prop="type" required>
|
|
<!-- <el-form-item label="班级类型(需要请求)" prop="type" required>
|
|
<el-select v-model="form.type">
|
|
<el-select v-model="form.type">
|
|
<el-option v-for="(i, index) in classTypeList" :key="index" :label="i.name" :value="i.code"></el-option>
|
|
<el-option v-for="(i, index) in classTypeList" :key="index" :label="i.name" :value="i.code"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item> -->
|
|
</el-form-item> -->
|
|
- <el-form-item label="批次" prop="batch" required> <el-input v-model="form.batch"
|
|
|
|
- :readonly="!isNew"></el-input></el-form-item>
|
|
|
|
- <el-form-item label="培训场地" prop="place" required>
|
|
|
|
- <el-select v-model="form.place" placeholder="请选择本批次的培训场地">
|
|
|
|
|
|
+ <el-form-item label="批次" prop="batch">
|
|
|
|
+ <el-input v-model="form.batch" :readonly="!isNew" placeholder="请输入批次"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="培训场地" prop="place">
|
|
|
|
+ <el-select v-model="form.place" clearable placeholder="请选择本批次的培训场地">
|
|
<el-option v-for="i in placeList" :key="i._id" :label="i.name" :value="i._id"></el-option>
|
|
<el-option v-for="i in placeList" :key="i._id" :label="i.name" :value="i._id"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="班级">
|
|
<el-form-item label="班级">
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :span="24">
|
|
|
|
|
|
+ <el-col :span="24" style="margin: 0 0 10px 0;">
|
|
<el-button type="primary" icon="el-icon-plus" @click="addClass()">添加班级</el-button>
|
|
<el-button type="primary" icon="el-icon-plus" @click="addClass()">添加班级</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-alert :closable="false" title="班级名称在同一期不可重复;(不论特殊班级,还是正常班级)" type="warning" show-icon center></el-alert>
|
|
<el-alert :closable="false" title="班级名称在同一期不可重复;(不论特殊班级,还是正常班级)" type="warning" show-icon center></el-alert>
|
|
@@ -46,8 +58,7 @@
|
|
<el-table-column align="center" label="类型">
|
|
<el-table-column align="center" label="类型">
|
|
<template v-slot="{ row }">
|
|
<template v-slot="{ row }">
|
|
<el-select v-model="row.type">
|
|
<el-select v-model="row.type">
|
|
- <el-option v-for="(i, index) in classTypeList" :key="index" :label="i.name"
|
|
|
|
- :value="i.code"></el-option>
|
|
|
|
|
|
+ <el-option v-for="(i, index) in classTypeList" :key="index" :label="i.name" :value="i.code"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -88,14 +99,14 @@ const moment = require('moment');
|
|
export default {
|
|
export default {
|
|
name: 'event',
|
|
name: 'event',
|
|
props: {
|
|
props: {
|
|
- data: { type: Object, default: () => { } }, //数据
|
|
|
|
|
|
+ data: { type: Object, default: () => {} }, //数据
|
|
isNew: { type: Boolean, default: true }, //是不是修改
|
|
isNew: { type: Boolean, default: true }, //是不是修改
|
|
predefineColors: { type: Array, default: () => [] }, //颜色列表
|
|
predefineColors: { type: Array, default: () => [] }, //颜色列表
|
|
year: { type: null, default: new Date().getFullYear() },
|
|
year: { type: null, default: new Date().getFullYear() },
|
|
vacation: { type: Array, default: () => [] },
|
|
vacation: { type: Array, default: () => [] },
|
|
classTypeList: { type: Array, default: () => [] },
|
|
classTypeList: { type: Array, default: () => [] },
|
|
loading: { type: Boolean, default: false },
|
|
loading: { type: Boolean, default: false },
|
|
- placeList: { type: Array, default: () => [] },// 培训场地
|
|
|
|
|
|
+ placeList: { type: Array, default: () => [] }, // 培训场地
|
|
},
|
|
},
|
|
components: {},
|
|
components: {},
|
|
data() {
|
|
data() {
|
|
@@ -114,7 +125,7 @@ export default {
|
|
},
|
|
},
|
|
};
|
|
};
|
|
},
|
|
},
|
|
- created() { },
|
|
|
|
|
|
+ created() {},
|
|
methods: {
|
|
methods: {
|
|
//保存表单函数
|
|
//保存表单函数
|
|
saveForm() {
|
|
saveForm() {
|
|
@@ -149,19 +160,21 @@ export default {
|
|
// 设置结束时间默认时间
|
|
// 设置结束时间默认时间
|
|
getEndTimeDefault() {
|
|
getEndTimeDefault() {
|
|
let result = new Date();
|
|
let result = new Date();
|
|
- const startTime = _.get(this.form, 'startdate')
|
|
|
|
- if (!startTime) result = moment().toDate()
|
|
|
|
- result = moment(startTime).add(1, 'd').toDate()
|
|
|
|
- return result
|
|
|
|
|
|
+ const startTime = _.get(this.form, 'startdate');
|
|
|
|
+ if (!startTime) result = moment().toDate();
|
|
|
|
+ result = moment(startTime)
|
|
|
|
+ .add(1, 'd')
|
|
|
|
+ .toDate();
|
|
|
|
+ return result;
|
|
},
|
|
},
|
|
//禁用时间
|
|
//禁用时间
|
|
setDisabledDate(time) {
|
|
setDisabledDate(time) {
|
|
let thisTime = time.getTime();
|
|
let thisTime = time.getTime();
|
|
- let startTime = _.get(this.form, 'startdate')
|
|
|
|
|
|
+ let startTime = _.get(this.form, 'startdate');
|
|
if (startTime) {
|
|
if (startTime) {
|
|
// 开始时间之前的全都不能选
|
|
// 开始时间之前的全都不能选
|
|
- let sb = moment(thisTime).isSameOrBefore(startTime)
|
|
|
|
- if(sb) return true;
|
|
|
|
|
|
+ let sb = moment(thisTime).isSameOrBefore(startTime);
|
|
|
|
+ if (sb) return true;
|
|
}
|
|
}
|
|
// 限制在今年范围内
|
|
// 限制在今年范围内
|
|
let start = new Date(`${this.year}-01-01`).getTime();
|
|
let start = new Date(`${this.year}-01-01`).getTime();
|
|
@@ -170,7 +183,7 @@ export default {
|
|
else if (thisTime > end) return true;
|
|
else if (thisTime > end) return true;
|
|
else {
|
|
else {
|
|
// 假期不能选
|
|
// 假期不能选
|
|
- const res = this.vacation.find(f => moment(thisTime).isBetween(f.start, f.end, null, '[]'))
|
|
|
|
|
|
+ const res = this.vacation.find(f => moment(thisTime).isBetween(f.start, f.end, null, '[]'));
|
|
return res;
|
|
return res;
|
|
}
|
|
}
|
|
},
|
|
},
|