|
|
@@ -51,10 +51,10 @@
|
|
|
<el-form-item label="选择历史排班" prop="oldScheduleId" :show-message="false">
|
|
|
<el-select
|
|
|
v-model="formData.oldScheduleId"
|
|
|
- :disabled="readonly"
|
|
|
+ :disabled="(readonly || ifFaBu)"
|
|
|
filterable
|
|
|
clearable
|
|
|
- :placeholder=" readonly ? '' : '请选择历史排班'"
|
|
|
+ :placeholder=" (readonly || ifFaBu) ? '' : '请选择历史排班'"
|
|
|
@change="handleScheduleChange"
|
|
|
>
|
|
|
<el-option
|
|
|
@@ -91,7 +91,7 @@
|
|
|
</template>
|
|
|
<el-date-picker
|
|
|
v-model="formData.dateRange"
|
|
|
- :disabled="readonly"
|
|
|
+ :disabled="(readonly || ifFaBu)"
|
|
|
type="daterange"
|
|
|
range-separator="至"
|
|
|
start-placeholder="开始日期"
|
|
|
@@ -107,7 +107,7 @@
|
|
|
<el-form-item label="排班配置" prop="config" required :show-message="false">
|
|
|
<el-select
|
|
|
v-model="formData.config"
|
|
|
- :disabled="readonly"
|
|
|
+ :disabled="(readonly || ifFaBu)"
|
|
|
filterable
|
|
|
placeholder="请选择排班配置"
|
|
|
@change="handleConfigChange"
|
|
|
@@ -132,7 +132,7 @@
|
|
|
<el-form-item label="排班人员" prop="scheduleStaff" required :show-message="false">
|
|
|
<el-select
|
|
|
v-model="formData.scheduleStaff"
|
|
|
- :disabled="readonly"
|
|
|
+ :disabled="(readonly || ifFaBu)"
|
|
|
multiple
|
|
|
filterable
|
|
|
placeholder="请选择排班人员"
|
|
|
@@ -150,7 +150,7 @@
|
|
|
<el-form-item label="调班审批人" prop="approver" :show-message="false">
|
|
|
<el-select
|
|
|
v-model="formData.approver"
|
|
|
- :disabled="readonly"
|
|
|
+ :disabled="(readonly || ifFaBu)"
|
|
|
multiple
|
|
|
filterable
|
|
|
placeholder="请选择"
|
|
|
@@ -344,7 +344,7 @@
|
|
|
:style="{ display: viewType === 'users' ? 'grid' : 'flex'}"
|
|
|
@mouseenter=" hoveredIndex = !readonly && `${row.value}-${cIndex}`"
|
|
|
@mouseleave=" hoveredIndex = !readonly && null"
|
|
|
- @click.prevent="!readonly && handleShiftClick($event, {row, rIndex, column, cIndex})"
|
|
|
+ @click.prevent="!readonly && ( !ifFaBu || getCompareTime(cIndex) ) && handleShiftClick($event, {row, rIndex, column, cIndex})"
|
|
|
>
|
|
|
<div
|
|
|
v-for="(shift, sIndex) in scheduleData[row.value][cIndex]"
|
|
|
@@ -442,6 +442,7 @@ export default {
|
|
|
formLabelWidth: '120px',
|
|
|
loading: false,
|
|
|
activeStep: 1,
|
|
|
+ ifFaBu: false, // 是否发布,发布后的数据部分字段不可修改。
|
|
|
formData: {
|
|
|
title: '',
|
|
|
id: '',
|
|
|
@@ -688,6 +689,7 @@ export default {
|
|
|
self.scheduleData = self.transformScheduleData(records, overview, temp)
|
|
|
self.responseData = { ...self.responseData, records, overview, temp }
|
|
|
console.log('scheduleData', self.scheduleData)
|
|
|
+ self.ifFaBu = (status == '已发布' ? true : false)
|
|
|
self.loading = false
|
|
|
}).catch(() => {
|
|
|
self.loading = false
|
|
|
@@ -701,6 +703,21 @@ export default {
|
|
|
isWeekend: dayIndex === 0 || dayIndex === 6 // 判断是否是周末
|
|
|
}
|
|
|
},
|
|
|
+ getCompareTime (index) {
|
|
|
+ // 先把编辑菜单关闭
|
|
|
+ this.handleClose()
|
|
|
+ const date = new Date()
|
|
|
+ // 提取时间组件
|
|
|
+ const year = date.getFullYear()
|
|
|
+ const month = String(date.getMonth() + 1).padStart(2, '0') // 月份从0开始,需+1
|
|
|
+ const day = String(date.getDate()).padStart(2, '0')
|
|
|
+ const today = `${year}-${month}-${day} `
|
|
|
+ if (this.dateList[index] > today) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ this.$message.warning('已发布的排班表,今日前的排班信息无法修改!')
|
|
|
+ return false
|
|
|
+ },
|
|
|
transformConfigData (data) {
|
|
|
return data.reduce((acc, item) => {
|
|
|
const { scheduleType } = item
|