|
@@ -10,212 +10,241 @@
|
|
|
<el-radio :label="false">否</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item> -->
|
|
|
- <el-table v-if="form && form.cycle" :data="form.cycle">
|
|
|
- <el-table-column prop="time" label="课程时长(分)" width="160">
|
|
|
+ <el-table v-if="form && form.cycle" :data="form.cycle" :show-header="false">
|
|
|
+ <el-table-column>
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- :prop="'classs.' + type + '.cycle.' + scope.$index + '.time'"
|
|
|
- :rules="[{ required: true, message: '请选择课程时长' }]"
|
|
|
- inline-message
|
|
|
- >
|
|
|
- <el-select
|
|
|
- v-model.trim="scope.row.time"
|
|
|
- style="width: 100% !important"
|
|
|
- placeholder="请选择课程时长"
|
|
|
- clearable
|
|
|
- :disabled="!!selectPrice"
|
|
|
- @change="
|
|
|
- (val) => {
|
|
|
- startTimeChange(scope, val);
|
|
|
- }
|
|
|
+ <div>
|
|
|
+ <el-form-item
|
|
|
+ :prop="
|
|
|
+ 'classs.' + type + '.cycle.' + scope.$index + '.coreTeacher'
|
|
|
"
|
|
|
- filterable
|
|
|
+ label-width="88px"
|
|
|
+ :rules="[{ required: true, message: '请选择主教老师' }]"
|
|
|
>
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in pricesArray"
|
|
|
- :key="index"
|
|
|
- :disabled="
|
|
|
- surplustime + (parseFloat(scope.row.time) || 0) < item
|
|
|
- "
|
|
|
- :label="item"
|
|
|
- :value="item"
|
|
|
+ <el-select
|
|
|
+ v-model.trim="scope.row.coreTeacher"
|
|
|
+ placeholder="请选择主教老师"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- <!-- <el-input disabled v-model="scope.row.time" placeholder="请输入课程时长"/> -->
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="预计课时数" width="160">
|
|
|
- <template slot-scope="scope">
|
|
|
- <!-- -->
|
|
|
- <el-form-item
|
|
|
- :prop="
|
|
|
- 'classs.' + type + '.cycle.' + scope.$index + '.expectCourseNum'
|
|
|
- "
|
|
|
- :rules="[
|
|
|
- { required: true, message: '请输入预计课时数' },
|
|
|
- { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
|
|
|
- ]"
|
|
|
- inline-message
|
|
|
- >
|
|
|
- <el-input
|
|
|
- type="number"
|
|
|
- v-model.trim="scope.row.expectCourseNum"
|
|
|
- placeholder="请输入预计课数"
|
|
|
- style="width: 130px !important"
|
|
|
- @input="(val)=>{getUseTime(scope.row)}"
|
|
|
+ <!-- @change="changecoreTeacher" -->
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in teacherList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.realName"
|
|
|
+ :value="String(item.id)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher" /> -->
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="assistant"
|
|
|
+ v-if="
|
|
|
+ activeType != 'HIGH_ONLINE' &&
|
|
|
+ activeType != 'MUSIC_NETWORK' &&
|
|
|
+ type != 'HIGH_ONLINE' &&
|
|
|
+ type != 'MUSIC_NETWORK'
|
|
|
+ "
|
|
|
>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="dayOfWeek" label="循环周期" width="160">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- inline-message
|
|
|
- :rules="[{ required: true, message: '请选择循环周期' }]"
|
|
|
- :prop="'classs.' + type + '.cycle.' + scope.$index + '.dayOfWeek'"
|
|
|
- >
|
|
|
- <el-select
|
|
|
- v-model.trim="scope.row.dayOfWeek"
|
|
|
- style="width: 100% !important"
|
|
|
- placeholder="请选择循环周期"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- @change="(val)=>{getUseTime(scope.row)}"
|
|
|
+ <!-- <remote-search :commit="'setTeachers'" v-model="form.assistant" :multiple='true'/> -->
|
|
|
+ <el-select
|
|
|
+ v-model.trim="scope.row.assistant"
|
|
|
+ placeholder="请选择助教老师"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ multiple
|
|
|
+ collapse-tags
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in cooperationList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.realName"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ :prop="'classs.' + type + '.cycle.' + scope.$index + '.time'"
|
|
|
+ :rules="[{ required: true, message: '请选择课程时长' }]"
|
|
|
+ inline-message
|
|
|
>
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in weekDateList"
|
|
|
- :key="index"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
+ <el-select
|
|
|
+ v-model.trim="scope.row.time"
|
|
|
+ style="width: 180px !important"
|
|
|
+ placeholder="请选择课程时长"
|
|
|
+ clearable
|
|
|
+ :disabled="!!selectPrice"
|
|
|
+ @change="
|
|
|
+ (val) => {
|
|
|
+ startTimeChange(scope, val);
|
|
|
+ }
|
|
|
+ "
|
|
|
+ filterable
|
|
|
>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column prop="startClassTime" label="开始时间" width="160">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- :prop="
|
|
|
- 'classs.' + type + '.cycle.' + scope.$index + '.startClassTime'
|
|
|
- "
|
|
|
- :rules="[{ required: true, message: '请选择开始时间' }]"
|
|
|
- inline-message
|
|
|
- >
|
|
|
- <el-time-picker
|
|
|
- style="width: 100% !important"
|
|
|
- v-model.trim="scope.row.startClassTime"
|
|
|
- format="HH:mm"
|
|
|
- value-format="HH:mm"
|
|
|
- placeholder="请选择时间"
|
|
|
- @change="timeChange(scope.row)"
|
|
|
- :picker-options="{
|
|
|
- selectableRange: ['04:30:00 - 23:59:59'],
|
|
|
- }"
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in pricesArray"
|
|
|
+ :key="index"
|
|
|
+ :disabled="
|
|
|
+ surplustime + (parseFloat(scope.row.time) || 0) < item
|
|
|
+ "
|
|
|
+ :label="item"
|
|
|
+ :value="item"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <!-- <el-input disabled v-model="scope.row.time" placeholder="请输入课程时长"/> -->
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ :prop="
|
|
|
+ 'classs.' + type + '.cycle.' + scope.$index + '.expectCourseNum'
|
|
|
+ "
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入预计课时数' },
|
|
|
+ { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
|
|
|
+ ]"
|
|
|
+ inline-message
|
|
|
>
|
|
|
- <!-- @change="startTimeChange(scope.row)" -->
|
|
|
- </el-time-picker>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="endClassTime" label="结束时间" width="160">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- :prop="
|
|
|
- 'classs.' + type + '.cycle.' + scope.$index + '.endClassTime'
|
|
|
- "
|
|
|
- inline-message
|
|
|
- >
|
|
|
- <el-time-picker
|
|
|
- style="width: 100% !important"
|
|
|
- v-model.trim="scope.row.endClassTime"
|
|
|
- format="HH:mm"
|
|
|
- disabled
|
|
|
- value-format="HH:mm"
|
|
|
- placeholder="请选择时间"
|
|
|
- :picker-options="{
|
|
|
- selectableRange: [scope.row.startClassTime + ':00 - 23:59:59'],
|
|
|
- }"
|
|
|
+ <!-- style="width: 130px !important" -->
|
|
|
+ <el-input
|
|
|
+ style="width: 180px !important"
|
|
|
+ type="number"
|
|
|
+ v-model.trim="scope.row.expectCourseNum"
|
|
|
+ placeholder="请输入预计课数"
|
|
|
+ @input="
|
|
|
+ (val) => {
|
|
|
+ getUseTime(scope.row);
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ inline-message
|
|
|
+ :rules="[{ required: true, message: '请选择循环周期' }]"
|
|
|
+ :prop="'classs.' + type + '.cycle.' + scope.$index + '.dayOfWeek'"
|
|
|
>
|
|
|
- </el-time-picker>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="是否跳过节假日" width="160">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- :prop="'classs.' + type + '.cycle.' + scope.$index + '.holiday'"
|
|
|
- :rules="[{ required: true, message: '请选择是否跳过节假日' }]"
|
|
|
- inline-message
|
|
|
- >
|
|
|
- <el-select
|
|
|
- v-model.trim="scope.row.holiday"
|
|
|
- style="width: 100% !important"
|
|
|
- placeholder="是否跳过节假日"
|
|
|
- filterable
|
|
|
- @change="holidayChange(scope.row)"
|
|
|
+ <el-select
|
|
|
+ v-model.trim="scope.row.dayOfWeek"
|
|
|
+ style="width: 180px !important"
|
|
|
+ placeholder="请选择循环周期"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="
|
|
|
+ (val) => {
|
|
|
+ getUseTime(scope.row);
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in weekDateList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ :prop="
|
|
|
+ 'classs.' + type + '.cycle.' + scope.$index + '.startClassTime'
|
|
|
+ "
|
|
|
+ :rules="[{ required: true, message: '请选择开始时间' }]"
|
|
|
+ inline-message
|
|
|
>
|
|
|
- <el-option label="是" :value="true"></el-option>
|
|
|
- <el-option label="否" :value="false"> </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="排课起始时间" width="170">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- inline-message
|
|
|
- :prop="'classs.' + type + '.cycle.' + scope.$index + '.startDate'"
|
|
|
- :rules="[{ required: true, message: '请选择排课起始时间' }]"
|
|
|
- >
|
|
|
- <el-date-picker
|
|
|
- v-model.trim="scope.row.startDate"
|
|
|
- :picker-options="pickerOptions"
|
|
|
- style="width: 100% !important"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择日期"
|
|
|
- @change="
|
|
|
- (val) => {
|
|
|
- changeStartDate(val, scope.row);
|
|
|
- }
|
|
|
+ <el-time-picker
|
|
|
+ style="width: 180px !important"
|
|
|
+ v-model.trim="scope.row.startClassTime"
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ placeholder="请选择开始时间"
|
|
|
+ @change="timeChange(scope.row)"
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: ['04:30:00 - 23:59:59'],
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <!-- @change="startTimeChange(scope.row)" -->
|
|
|
+ </el-time-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ :prop="
|
|
|
+ 'classs.' + type + '.cycle.' + scope.$index + '.endClassTime'
|
|
|
"
|
|
|
+ inline-message
|
|
|
>
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="排课结束时间" width="170">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form-item
|
|
|
- inline-message
|
|
|
- :prop="'classs.' + type + '.cycle.' + scope.$index + '.endDate'"
|
|
|
- :rules="[{ required: true, message: '请选择排课结束时间' }]"
|
|
|
- >
|
|
|
- <el-date-picker
|
|
|
- v-model.trim="scope.row.endDate"
|
|
|
- :disabled="true"
|
|
|
- :picker-options="pickerOptions"
|
|
|
- style="width: 100% !important"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择日期"
|
|
|
+ <el-time-picker
|
|
|
+ style="width: 180px !important"
|
|
|
+ v-model.trim="scope.row.endClassTime"
|
|
|
+ format="HH:mm"
|
|
|
+ disabled
|
|
|
+ value-format="HH:mm"
|
|
|
+ placeholder="请选择结束时间"
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: [
|
|
|
+ scope.row.startClassTime + ':00 - 23:59:59',
|
|
|
+ ],
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ </el-time-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ :prop="'classs.' + type + '.cycle.' + scope.$index + '.holiday'"
|
|
|
+ :rules="[{ required: true, message: '请选择是否跳过节假日' }]"
|
|
|
+ inline-message
|
|
|
>
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="date" width="50px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <i
|
|
|
- @click="remove(scope.$index, scope)"
|
|
|
- v-if="form.cycle.length > 1"
|
|
|
- class="close-icon el-icon-circle-close"
|
|
|
- ></i>
|
|
|
+ <el-select
|
|
|
+ v-model.trim="scope.row.holiday"
|
|
|
+ style="width: 180px !important"
|
|
|
+ placeholder="是否跳过节假日"
|
|
|
+ filterable
|
|
|
+ @change="holidayChange(scope.row)"
|
|
|
+ >
|
|
|
+ <el-option label="是" :value="true"></el-option>
|
|
|
+ <el-option label="否" :value="false"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ inline-message
|
|
|
+ :prop="'classs.' + type + '.cycle.' + scope.$index + '.startDate'"
|
|
|
+ :rules="[{ required: true, message: '请选择排课起始时间' }]"
|
|
|
+ >
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="scope.row.startDate"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ style="width: 180px !important"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期"
|
|
|
+ @change="
|
|
|
+ (val) => {
|
|
|
+ changeStartDate(val, scope.row);
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ inline-message
|
|
|
+ :prop="'classs.' + type + '.cycle.' + scope.$index + '.endDate'"
|
|
|
+ :rules="[{ required: true, message: '请选择排课结束时间' }]"
|
|
|
+ >
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="scope.row.endDate"
|
|
|
+ :disabled="true"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ style="width: 180px !important"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <i
|
|
|
+ @click="remove(scope.$index, scope)"
|
|
|
+ v-if="form.cycle.length > 1"
|
|
|
+ class="close-icon el-icon-circle-close"
|
|
|
+ ></i>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -242,7 +271,19 @@ for (const item of classTimeList) {
|
|
|
}
|
|
|
|
|
|
export default {
|
|
|
- props: ["form", "type", "surplustime", "prices", "selectPrice", "holidays"],
|
|
|
+ props: [
|
|
|
+ "form",
|
|
|
+ "type",
|
|
|
+ "surplustime",
|
|
|
+ "prices",
|
|
|
+ "selectPrice",
|
|
|
+ "holidays",
|
|
|
+ "teacherList",
|
|
|
+ "activeType",
|
|
|
+ "cooperationList",
|
|
|
+ "coreid",
|
|
|
+ "assistant",
|
|
|
+ ],
|
|
|
data() {
|
|
|
return {
|
|
|
classTimeListByType,
|
|
@@ -279,29 +320,33 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
updateUseTime() {
|
|
|
- let time = 0
|
|
|
- for (const item of this.form.cycle) {
|
|
|
- time += (item.time || 0) * (item.expectCourseNum || 0)
|
|
|
- }
|
|
|
- this.useTime = time
|
|
|
- this.$emit('setUserTime', time, this.type)
|
|
|
+ let time = 0;
|
|
|
+ for (const item of this.form.cycle) {
|
|
|
+ time += (item.time || 0) * (item.expectCourseNum || 0);
|
|
|
+ }
|
|
|
+ this.useTime = time;
|
|
|
+ this.$emit("setUserTime", time, this.type);
|
|
|
},
|
|
|
create() {
|
|
|
- if(this.surplustime<=this.useTime){
|
|
|
- this.$message.error('已排课时长使用完毕,请修改预计课时数')
|
|
|
- return
|
|
|
+ if (this.surplustime <= this.useTime) {
|
|
|
+ this.$message.error("已排课时长使用完毕,请修改预计课时数");
|
|
|
+ return;
|
|
|
}
|
|
|
- const initVal = {};
|
|
|
+ const initVal = {
|
|
|
+ coreTeacher: this.coreid,
|
|
|
+ assistant: this.assistant,
|
|
|
+ };
|
|
|
if (this.selectPrice) {
|
|
|
initVal.time = this.selectPrice;
|
|
|
}
|
|
|
+ console.log(initVal)
|
|
|
this.form.cycle.push(initVal);
|
|
|
- this.updateUseTime()
|
|
|
+ this.updateUseTime();
|
|
|
},
|
|
|
|
|
|
remove(index) {
|
|
|
this.form.cycle.splice(index, 1);
|
|
|
- this.updateUseTime()
|
|
|
+ this.updateUseTime();
|
|
|
},
|
|
|
startTimeChange(item, val) {
|
|
|
this.getUseTime(item.row);
|
|
@@ -316,7 +361,7 @@ export default {
|
|
|
this.$set(item.row, "endClassTime", "");
|
|
|
}
|
|
|
if (val) {
|
|
|
- let activeTime = val * Math.max((item.row.expectCourseNum || 0), 0)
|
|
|
+ let activeTime = val * Math.max(item.row.expectCourseNum || 0, 0);
|
|
|
this.$set(
|
|
|
item.row,
|
|
|
"expectCourseNum",
|
|
@@ -339,81 +384,72 @@ export default {
|
|
|
} else {
|
|
|
this.$set(item, "endClassTime", "");
|
|
|
}
|
|
|
- this.updateUseTime()
|
|
|
+ this.updateUseTime();
|
|
|
},
|
|
|
holidayChange(row) {
|
|
|
- this.updateEndTime(row)
|
|
|
+ this.updateEndTime(row);
|
|
|
},
|
|
|
getUseTime(row) {
|
|
|
- this.updateEndTime(row)
|
|
|
+ this.updateEndTime(row);
|
|
|
this.useTime = 0;
|
|
|
this.form.cycle.forEach((item) => {
|
|
|
this.useTime +=
|
|
|
(item.expectCourseNum ? parseInt(item.expectCourseNum) : 0) *
|
|
|
parseInt(item.time);
|
|
|
});
|
|
|
- this.updateUseTime()
|
|
|
- // this.$emit('setUserTime', this.useTime, this.type)
|
|
|
+ this.updateUseTime();
|
|
|
+ // this.$emit('setUserTime', this.useTime, this.type)
|
|
|
},
|
|
|
addData(startDate, dayOfWeek) {
|
|
|
let num;
|
|
|
- let dayjs = this.$helpers.dayjs
|
|
|
+ let dayjs = this.$helpers.dayjs;
|
|
|
let date = dayjs(startDate).toDate();
|
|
|
dayOfWeek - date.getDay() >= 0
|
|
|
? (num = dayOfWeek - date.getDay())
|
|
|
: (num = dayOfWeek - date.getDay() + 7);
|
|
|
- return num
|
|
|
+ return num;
|
|
|
},
|
|
|
updateEndTime(row) {
|
|
|
- console.log(row)
|
|
|
- if (row.dayOfWeek && row.startDate && typeof row.holiday === 'boolean') {
|
|
|
- // const num = this.addData(row.startDate, row.dayOfWeek)
|
|
|
- // const week = dayjs(row.startDate).get('day') == 0 ? 7 : dayjs(row.startDate).get('day')
|
|
|
- const selectWeek = row.dayOfWeek == 7 ? 0 : row.dayOfWeek
|
|
|
- let exp = Math.max(row.expectCourseNum, 0)
|
|
|
- let end = dayjs(row.startDate)
|
|
|
- // console.log(selectWeek, end.get('day'))
|
|
|
- if (row.holiday) {
|
|
|
- while (exp > 0) {
|
|
|
- if (selectWeek == end.get('day') && !this.holidays.includes(end.format('YYYY-MM-DD'))) {
|
|
|
- exp--
|
|
|
- }
|
|
|
- end = end.add(1, 'day')
|
|
|
- if (exp === 0) {
|
|
|
- end = end.subtract(1, 'day')
|
|
|
- }
|
|
|
+ console.log(row);
|
|
|
+ if (row.dayOfWeek && row.startDate && typeof row.holiday === "boolean") {
|
|
|
+ // const num = this.addData(row.startDate, row.dayOfWeek)
|
|
|
+ // const week = dayjs(row.startDate).get('day') == 0 ? 7 : dayjs(row.startDate).get('day')
|
|
|
+ const selectWeek = row.dayOfWeek == 7 ? 0 : row.dayOfWeek;
|
|
|
+ let exp = Math.max(row.expectCourseNum, 0);
|
|
|
+ let end = dayjs(row.startDate);
|
|
|
+ // console.log(selectWeek, end.get('day'))
|
|
|
+ if (row.holiday) {
|
|
|
+ while (exp > 0) {
|
|
|
+ if (
|
|
|
+ selectWeek == end.get("day") &&
|
|
|
+ !this.holidays.includes(end.format("YYYY-MM-DD"))
|
|
|
+ ) {
|
|
|
+ exp--;
|
|
|
}
|
|
|
- } else {
|
|
|
- while (exp > 0) {
|
|
|
- if (selectWeek == end.get('day')) {
|
|
|
- exp--
|
|
|
- }
|
|
|
- end = end.add(1, 'day')
|
|
|
- if (exp === 0) {
|
|
|
- end = end.subtract(1, 'day')
|
|
|
- }
|
|
|
+ end = end.add(1, "day");
|
|
|
+ if (exp === 0) {
|
|
|
+ end = end.subtract(1, "day");
|
|
|
}
|
|
|
}
|
|
|
- const enumd = this.addData(end.format('YYYY-MM-DD'), row.dayOfWeek)
|
|
|
- console.log(enumd)
|
|
|
- // end = end.add(enumd, 'day')
|
|
|
- this.$set(
|
|
|
- row,
|
|
|
- "endDate",
|
|
|
- end.format('YYYY-MM-DD')
|
|
|
- );
|
|
|
+ } else {
|
|
|
+ while (exp > 0) {
|
|
|
+ if (selectWeek == end.get("day")) {
|
|
|
+ exp--;
|
|
|
+ }
|
|
|
+ end = end.add(1, "day");
|
|
|
+ if (exp === 0) {
|
|
|
+ end = end.subtract(1, "day");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const enumd = this.addData(end.format("YYYY-MM-DD"), row.dayOfWeek);
|
|
|
+ console.log(enumd);
|
|
|
+ // end = end.add(enumd, 'day')
|
|
|
+ this.$set(row, "endDate", end.format("YYYY-MM-DD"));
|
|
|
} else {
|
|
|
- this.$set(
|
|
|
- row,
|
|
|
- "endDate",
|
|
|
- ''
|
|
|
- );
|
|
|
+ this.$set(row, "endDate", "");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// if (row.dayOfWeek && row.startDate && typeof row.holiday === 'boolean') {
|
|
|
// // const num = this.addData(row.startDate, row.dayOfWeek)
|
|
|
// const week = dayjs(row.startDate).get('day') == 0 ? 7 : dayjs(row.startDate).get('day')
|
|
@@ -443,8 +479,8 @@ export default {
|
|
|
// }
|
|
|
},
|
|
|
changeStartDate(val, row) {
|
|
|
- this.updateEndTime(row)
|
|
|
- this.updateUseTime()
|
|
|
+ this.updateEndTime(row);
|
|
|
+ this.updateUseTime();
|
|
|
},
|
|
|
},
|
|
|
};
|
|
@@ -454,5 +490,6 @@ export default {
|
|
|
cursor: pointer;
|
|
|
font-size: 16px;
|
|
|
margin-bottom: 24px;
|
|
|
+ line-height: 40px;
|
|
|
}
|
|
|
</style>
|