Commit 9fc8656f7968bd7b4dd48ee1ea9222361e342d5d
1 parent
11d1e1ed
优化排版功能
Showing
9 changed files
with
73 additions
and
65 deletions
src/components/org/editScheduleClassesDay.vue
| ... | ... | @@ -16,7 +16,7 @@ |
| 16 | 16 | <el-input v-model="item.startTime" :placeholder="$t('editScheduleClassesDay.startTimePlaceholder')" /> |
| 17 | 17 | </el-form-item> |
| 18 | 18 | </el-col> |
| 19 | - <el-col :span="11" :offset="2"> | |
| 19 | + <el-col :span="11"> | |
| 20 | 20 | <el-form-item :label="$t('editScheduleClassesDay.endTime')"> |
| 21 | 21 | <el-input v-model="item.endTime" :placeholder="$t('editScheduleClassesDay.endTimePlaceholder')" /> |
| 22 | 22 | </el-form-item> | ... | ... |
src/components/org/scheduleClassesDay.vue
| ... | ... | @@ -46,11 +46,14 @@ export default { |
| 46 | 46 | }, |
| 47 | 47 | methods: { |
| 48 | 48 | notify(params) { |
| 49 | - this.localDays = params.days || [] | |
| 50 | - this.$emit('update:scheduleCycle', params.scheduleCycle || 1) | |
| 51 | - if (!params.days || params.days.length === 0) { | |
| 52 | - this.changeInspectionPeriodWeek() | |
| 49 | + this.days = params.days; | |
| 50 | + this.scheduleCycle = params.scheduleCycle; | |
| 51 | + | |
| 52 | + if (params.days && params.days.length > 0) { | |
| 53 | + return; | |
| 53 | 54 | } |
| 55 | + | |
| 56 | + this.changeInspectionPeriod(); | |
| 54 | 57 | }, |
| 55 | 58 | initData(scheduleCycle) { |
| 56 | 59 | this.scheduleCycle = scheduleCycle |
| ... | ... | @@ -66,7 +69,7 @@ export default { |
| 66 | 69 | times: [] |
| 67 | 70 | }) |
| 68 | 71 | } |
| 69 | - this.$emit('cycle-change', this.scheduleCycle) | |
| 72 | + this.$emit('cycleChange', this.scheduleCycle) | |
| 70 | 73 | }, |
| 71 | 74 | changeWorkdayInfo(item) { |
| 72 | 75 | this.$emit('editDay', item) | ... | ... |
src/components/org/scheduleClassesMonth.vue
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | 3 | <el-form-item :label="$t('scheduleClassesMonth.scheduleCycle')"> |
| 4 | - <el-select | |
| 5 | - v-model="scheduleCycle" | |
| 6 | - :placeholder="$t('scheduleClassesMonth.scheduleCyclePlaceholder')" | |
| 7 | - @change="changeInspectionPeriod" | |
| 8 | - style="width:100%" | |
| 9 | - > | |
| 10 | - <el-option | |
| 11 | - :label="`1${$t('scheduleClassesMonth.month')}`" | |
| 12 | - value="1" | |
| 13 | - /> | |
| 4 | + <el-select v-model="scheduleCycle" :placeholder="$t('scheduleClassesMonth.scheduleCyclePlaceholder')" | |
| 5 | + @change="changeInspectionPeriod" style="width:100%"> | |
| 6 | + <el-option :label="`1${$t('scheduleClassesMonth.month')}`" value="1" /> | |
| 14 | 7 | </el-select> |
| 15 | 8 | </el-form-item> |
| 16 | 9 | |
| 17 | 10 | <el-form-item :label="$t('scheduleClassesMonth.scheduleInfo')"> |
| 18 | 11 | <div class="schedule-days-container"> |
| 19 | - <div | |
| 20 | - v-for="(item, index) in days" | |
| 21 | - :key="index" | |
| 22 | - class="schedule-day-item" | |
| 23 | - @click="changeWorkdayInfo(item)" | |
| 24 | - > | |
| 12 | + <div v-for="(item, index) in days" :key="index" class="schedule-day-item" @click="changeWorkdayInfo(item)"> | |
| 25 | 13 | <div class="day-number">{{ item.day }}</div> |
| 26 | 14 | <div class="workday-name">{{ item.workdayName }}</div> |
| 27 | - <div | |
| 28 | - v-for="(time, timeIndex) in item.times" | |
| 29 | - :key="timeIndex" | |
| 30 | - class="time-range" | |
| 31 | - > | |
| 15 | + <div v-for="(time, timeIndex) in item.times" :key="timeIndex" class="time-range"> | |
| 32 | 16 | {{ time.startTime }}-{{ time.endTime }} |
| 33 | 17 | </div> |
| 34 | 18 | </div> |
| ... | ... | @@ -65,6 +49,14 @@ export default { |
| 65 | 49 | this.scheduleCycle = scheduleCycle |
| 66 | 50 | this.changeInspectionPeriod() |
| 67 | 51 | }, |
| 52 | + notify(_params) { | |
| 53 | + this.days = _params.days; | |
| 54 | + this.scheduleCycle = _params.scheduleCycle; | |
| 55 | + if (_params.days && _params.days.length > 0) { | |
| 56 | + return; | |
| 57 | + } | |
| 58 | + this.changeInspectionPeriod(); | |
| 59 | + }, | |
| 68 | 60 | changeInspectionPeriod() { |
| 69 | 61 | this.days = [] |
| 70 | 62 | for (let cycleIndex = 0; cycleIndex < 31; cycleIndex++) { |
| ... | ... | @@ -77,7 +69,7 @@ export default { |
| 77 | 69 | } |
| 78 | 70 | }, |
| 79 | 71 | changeWorkdayInfo(item) { |
| 80 | - this.$emit('edit-day', item) | |
| 72 | + this.$emit('editDay', item) | |
| 81 | 73 | }, |
| 82 | 74 | getDaysData() { |
| 83 | 75 | return this.days | ... | ... |
src/components/org/scheduleClassesWeek.vue
| ... | ... | @@ -54,6 +54,15 @@ export default { |
| 54 | 54 | this.scheduleCycle = scheduleCycle |
| 55 | 55 | this.changeInspectionPeriodWeek() |
| 56 | 56 | }, |
| 57 | + notify(params) { | |
| 58 | + this.days = params.days; | |
| 59 | + this.scheduleCycle = parseInt(params.scheduleCycle); | |
| 60 | + | |
| 61 | + if (params.days && params.days.length > 0) { | |
| 62 | + return; | |
| 63 | + } | |
| 64 | + this.changeInspectionPeriodWeek(); | |
| 65 | + }, | |
| 57 | 66 | changeInspectionPeriodWeek() { |
| 58 | 67 | this.days = [] |
| 59 | 68 | for (let weekIndex = 0; weekIndex < this.scheduleCycle; weekIndex++) { |
| ... | ... | @@ -67,10 +76,10 @@ export default { |
| 67 | 76 | }) |
| 68 | 77 | } |
| 69 | 78 | } |
| 70 | - this.$emit('cycle-change', this.scheduleCycle) | |
| 79 | + this.$emit('cycleChange', this.scheduleCycle) | |
| 71 | 80 | }, |
| 72 | 81 | changeWorkdayWeekInfo(item) { |
| 73 | - this.$emit('edit-day', item) | |
| 82 | + this.$emit('editDay', item) | |
| 74 | 83 | }, |
| 75 | 84 | getWeek(week) { |
| 76 | 85 | return `${week}${this.$t('scheduleClassesWeek.week')}` | ... | ... |
src/views/fee/payFeeOrderList.vue
| ... | ... | @@ -129,16 +129,16 @@ |
| 129 | 129 | </el-form-item> |
| 130 | 130 | |
| 131 | 131 | <el-form-item v-show="payFeeOrderInfo.tempCycles == '-103'" :label="$t('payFeeOrder.endTime')"> |
| 132 | - <el-date-picker v-model="payFeeOrderInfo.custEndTime" type="date" | |
| 132 | + <el-date-picker v-model="payFeeOrderInfo.custEndTime" type="date" value-format="yyyy-MM-dd" | |
| 133 | 133 | :placeholder="$t('payFeeOrder.selectEndTime')" style="width: 100%;"> |
| 134 | 134 | </el-date-picker> |
| 135 | 135 | </el-form-item> |
| 136 | 136 | |
| 137 | 137 | <el-form-item v-show="payFeeOrderInfo.tempCycles == '-105'" :label="$t('payFeeOrder.paymentPeriod')"> |
| 138 | - <el-date-picker v-model="payFeeOrderInfo.customStartTime" type="date" | |
| 138 | + <el-date-picker v-model="payFeeOrderInfo.customStartTime" type="date" value-format="yyyy-MM-dd" | |
| 139 | 139 | :placeholder="$t('payFeeOrder.selectStartTime')" style="width: 100%; margin-bottom: 10px;"> |
| 140 | 140 | </el-date-picker> |
| 141 | - <el-date-picker v-model="payFeeOrderInfo.customEndTime" type="date" | |
| 141 | + <el-date-picker v-model="payFeeOrderInfo.customEndTime" type="date" value-format="yyyy-MM-dd" | |
| 142 | 142 | :placeholder="$t('payFeeOrder.selectEndTime')" style="width: 100%;"> |
| 143 | 143 | </el-date-picker> |
| 144 | 144 | </el-form-item> | ... | ... |
src/views/org/addScheduleClassesList.vue
| ... | ... | @@ -23,10 +23,10 @@ |
| 23 | 23 | </el-form-item> |
| 24 | 24 | |
| 25 | 25 | <div v-if="addScheduleClassesInfo.scheduleType === '1001'"> |
| 26 | - <schedule-classes-day ref="scheduleDay" @editDay="editDay" /> | |
| 26 | + <schedule-classes-day ref="scheduleDay" @editDay="editDay" @cycleChange="changeScheduleCycle" /> | |
| 27 | 27 | </div> |
| 28 | 28 | <div v-if="addScheduleClassesInfo.scheduleType === '2002'"> |
| 29 | - <schedule-classes-week ref="scheduleWeek" @editDay="editDay" /> | |
| 29 | + <schedule-classes-week ref="scheduleWeek" @editDay="editDay" @cycleChange="changeScheduleCycle" /> | |
| 30 | 30 | </div> |
| 31 | 31 | <div v-if="addScheduleClassesInfo.scheduleType === '3003'"> |
| 32 | 32 | <schedule-classes-month ref="scheduleMonth" @editDay="editDay" /> |
| ... | ... | @@ -81,11 +81,26 @@ export default { |
| 81 | 81 | this.addScheduleClassesInfo.scheduleCycle = 1 |
| 82 | 82 | |
| 83 | 83 | if (this.addScheduleClassesInfo.scheduleType === '1001') { |
| 84 | - this.$refs.scheduleDay.initData(this.addScheduleClassesInfo.scheduleCycle) | |
| 84 | + setTimeout(() => { | |
| 85 | + this.$refs.scheduleDay.notify({ | |
| 86 | + scheduleCycle: this.addScheduleClassesInfo.scheduleCycle, | |
| 87 | + days: this.addScheduleClassesInfo.days | |
| 88 | + }) | |
| 89 | + }, 500) | |
| 85 | 90 | } else if (this.addScheduleClassesInfo.scheduleType === '2002') { |
| 86 | - this.$refs.scheduleWeek.initData(this.addScheduleClassesInfo.scheduleCycle) | |
| 91 | + setTimeout(() => { | |
| 92 | + this.$refs.scheduleWeek.notify({ | |
| 93 | + scheduleCycle: this.addScheduleClassesInfo.scheduleCycle, | |
| 94 | + days: this.addScheduleClassesInfo.days | |
| 95 | + }) | |
| 96 | + }, 500) | |
| 87 | 97 | } else if (this.addScheduleClassesInfo.scheduleType === '3003') { |
| 88 | - this.$refs.scheduleMonth.initData(this.addScheduleClassesInfo.scheduleCycle) | |
| 98 | + setTimeout(() => { | |
| 99 | + this.$refs.scheduleMonth.notify({ | |
| 100 | + scheduleCycle: this.addScheduleClassesInfo.scheduleCycle, | |
| 101 | + days: this.addScheduleClassesInfo.days | |
| 102 | + }) | |
| 103 | + }, 500) | |
| 89 | 104 | } |
| 90 | 105 | }, |
| 91 | 106 | async saveScheduleClassesInfo() { |
| ... | ... | @@ -120,6 +135,9 @@ export default { |
| 120 | 135 | // 由于 editScheduleClassesDay 组件现在直接修改传入的对象 |
| 121 | 136 | // 这里不需要额外的处理,但保留方法以保持代码完整性 |
| 122 | 137 | console.log('Day updated:', updatedItem) |
| 138 | + }, | |
| 139 | + changeScheduleCycle(cycle) { | |
| 140 | + this.addScheduleClassesInfo.scheduleCycle = cycle | |
| 123 | 141 | } |
| 124 | 142 | } |
| 125 | 143 | } | ... | ... |
src/views/org/editScheduleClassesLang.js
| ... | ... | @@ -32,15 +32,7 @@ export const messages = { |
| 32 | 32 | scheduleInfo: 'Schedule Information', |
| 33 | 33 | rest: 'Rest' |
| 34 | 34 | }, |
| 35 | - editScheduleClassesDay: { | |
| 36 | - editTitle: 'Edit Schedule Day', | |
| 37 | - status: 'Status', | |
| 38 | - startTime: 'Start Time', | |
| 39 | - startTimePlaceholder: 'Required, please enter start time', | |
| 40 | - endTime: 'End Time', | |
| 41 | - endTimePlaceholder: 'Required, please enter end time', | |
| 42 | - rest: 'Rest' | |
| 43 | - } | |
| 35 | + | |
| 44 | 36 | }, |
| 45 | 37 | zh: { |
| 46 | 38 | editScheduleClasses: { |
| ... | ... | @@ -75,14 +67,5 @@ export const messages = { |
| 75 | 67 | scheduleInfo: '排班信息', |
| 76 | 68 | rest: '休息' |
| 77 | 69 | }, |
| 78 | - editScheduleClassesDay: { | |
| 79 | - editTitle: '修改', | |
| 80 | - status: '状态', | |
| 81 | - startTime: '上班时间', | |
| 82 | - startTimePlaceholder: '必填,请填写上班时间', | |
| 83 | - endTime: '下班时间', | |
| 84 | - endTimePlaceholder: '必填,请填写下班时间', | |
| 85 | - rest: '休息' | |
| 86 | - } | |
| 87 | 70 | } |
| 88 | 71 | } |
| 89 | 72 | \ No newline at end of file | ... | ... |
src/views/org/editScheduleClassesList.vue
| ... | ... | @@ -24,16 +24,16 @@ |
| 24 | 24 | </el-form-item> |
| 25 | 25 | |
| 26 | 26 | <div v-if="editScheduleClassesInfo.scheduleType === '1001'"> |
| 27 | - <schedule-classes-day ref="dayComponent" :schedule-cycle="editScheduleClassesInfo.scheduleCycle" | |
| 28 | - :days="editScheduleClassesInfo.days" @editDay="editDay" /> | |
| 27 | + <schedule-classes-day ref="dayComponent" | |
| 28 | + @editDay="editDay" @cycleChange="changeScheduleCycle" /> | |
| 29 | 29 | </div> |
| 30 | 30 | <div v-if="editScheduleClassesInfo.scheduleType === '2002'"> |
| 31 | - <schedule-classes-week ref="weekComponent" :schedule-cycle="editScheduleClassesInfo.scheduleCycle" | |
| 32 | - :days="editScheduleClassesInfo.days" @editDay="editDay" /> | |
| 31 | + <schedule-classes-week ref="weekComponent" | |
| 32 | + @editDay="editDay" @cycleChange="changeScheduleCycle" /> | |
| 33 | 33 | </div> |
| 34 | 34 | <div v-if="editScheduleClassesInfo.scheduleType === '3003'"> |
| 35 | - <schedule-classes-month ref="monthComponent" :schedule-cycle="editScheduleClassesInfo.scheduleCycle" | |
| 36 | - :days="editScheduleClassesInfo.days" @editDay="editDay" /> | |
| 35 | + <schedule-classes-month ref="monthComponent" | |
| 36 | + @editDay="editDay" /> | |
| 37 | 37 | </div> |
| 38 | 38 | |
| 39 | 39 | <el-form-item> |
| ... | ... | @@ -114,7 +114,7 @@ export default { |
| 114 | 114 | scheduleCycle: this.editScheduleClassesInfo.scheduleCycle, |
| 115 | 115 | days: this.editScheduleClassesInfo.days |
| 116 | 116 | }) |
| 117 | - }, 100) | |
| 117 | + }, 500) | |
| 118 | 118 | } |
| 119 | 119 | }, |
| 120 | 120 | async editScheduleClasses() { |
| ... | ... | @@ -162,6 +162,9 @@ export default { |
| 162 | 162 | }, |
| 163 | 163 | editDay(item) { |
| 164 | 164 | this.$refs.editDayDialog.open(item) |
| 165 | + }, | |
| 166 | + changeScheduleCycle(cycle) { | |
| 167 | + this.editScheduleClassesInfo.scheduleCycle = cycle | |
| 165 | 168 | } |
| 166 | 169 | } |
| 167 | 170 | } | ... | ... |