|
@@ -487,6 +487,7 @@
|
|
|
<div slot="content" class="plan-tooltip">
|
|
<div slot="content" class="plan-tooltip">
|
|
|
<template v-if="isTeamQueueDrawer">
|
|
<template v-if="isTeamQueueDrawer">
|
|
|
<div>排班名称:{{ getRelatedQueueName(plan) }}</div>
|
|
<div>排班名称:{{ getRelatedQueueName(plan) }}</div>
|
|
|
|
|
+ <div>人员:{{ getRelatedQueueUserName(plan) || '-' }}</div>
|
|
|
</template>
|
|
</template>
|
|
|
<template v-else>
|
|
<template v-else>
|
|
|
<div>
|
|
<div>
|
|
@@ -509,11 +510,30 @@
|
|
|
<div>结束时间:{{ plan.displayEndTime || '-' }}</div>
|
|
<div>结束时间:{{ plan.displayEndTime || '-' }}</div>
|
|
|
</template>
|
|
</template>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="plan-item">
|
|
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="plan-item"
|
|
|
|
|
+ :class="{ 'team-queue-item': isTeamQueueDrawer }"
|
|
|
|
|
+ >
|
|
|
<div v-if="isTeamQueueDrawer" class="plan-main team-queue-plan">
|
|
<div v-if="isTeamQueueDrawer" class="plan-main team-queue-plan">
|
|
|
- <div class="plan-name queue-name-only">
|
|
|
|
|
- {{ getRelatedQueueName(plan) }}
|
|
|
|
|
|
|
+ <div class="queue-avatar">
|
|
|
|
|
+ <i class="el-icon-user-solid"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="queue-info">
|
|
|
|
|
+ <div class="plan-name queue-name-only">
|
|
|
|
|
+ <span class="queue-name-label">排班名称:</span>
|
|
|
|
|
+ <span class="queue-name-text">
|
|
|
|
|
+ {{ getRelatedQueueName(plan) }}
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="queue-user-name">
|
|
|
|
|
+ <i class="el-icon-user"></i>
|
|
|
|
|
+ <span>人员:</span>
|
|
|
|
|
+ <strong>
|
|
|
|
|
+ {{ getRelatedQueueUserName(plan) || '-' }}
|
|
|
|
|
+ </strong>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div class="queue-badge">排班</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div v-else class="plan-main">
|
|
<div v-else class="plan-main">
|
|
|
<div class="plan-topline">
|
|
<div class="plan-topline">
|
|
@@ -2360,6 +2380,9 @@
|
|
|
getRelatedQueueName(plan = {}) {
|
|
getRelatedQueueName(plan = {}) {
|
|
|
return plan.teamQueueName || '-';
|
|
return plan.teamQueueName || '-';
|
|
|
},
|
|
},
|
|
|
|
|
+ getRelatedQueueUserName(plan = {}) {
|
|
|
|
|
+ return plan.userName || '';
|
|
|
|
|
+ },
|
|
|
getDetailPlanCount(details = []) {
|
|
getDetailPlanCount(details = []) {
|
|
|
const relatedPlans = this.getDetailRelatedPlans(details);
|
|
const relatedPlans = this.getDetailRelatedPlans(details);
|
|
|
if (relatedPlans.length) {
|
|
if (relatedPlans.length) {
|
|
@@ -3390,29 +3413,10 @@
|
|
|
const calendar = this.calendars.find(
|
|
const calendar = this.calendars.find(
|
|
|
(item) => item.id === this.adjustForm.calendarId
|
|
(item) => item.id === this.adjustForm.calendarId
|
|
|
);
|
|
);
|
|
|
- const duplicateConflict = this.hasDuplicateDetail(
|
|
|
|
|
- calendar.id,
|
|
|
|
|
- this.adjustForm.adjustDate,
|
|
|
|
|
- this.adjustForm.startTime,
|
|
|
|
|
- this.adjustForm.endTime
|
|
|
|
|
- )
|
|
|
|
|
- ? [
|
|
|
|
|
- {
|
|
|
|
|
- message: '同一日期同一日历类型已存在重叠时段'
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- : [];
|
|
|
|
|
- const conflict = [
|
|
|
|
|
- ...duplicateConflict,
|
|
|
|
|
- ...this.checkConflict({
|
|
|
|
|
- calendarType: calendar.calendarType,
|
|
|
|
|
- calendarDate: this.adjustForm.adjustDate,
|
|
|
|
|
- startTime: this.adjustForm.startTime,
|
|
|
|
|
- endTime: this.adjustForm.endTime,
|
|
|
|
|
- dateType: this.getAdjustDateType(this.adjustForm.adjustType),
|
|
|
|
|
- scheduleStatus: this.adjustForm.adjustType === 2 ? 0 : 1
|
|
|
|
|
- })
|
|
|
|
|
- ];
|
|
|
|
|
|
|
+ if (!calendar) {
|
|
|
|
|
+ this.$message.error('请选择关联日历');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
const saveApply = async () => {
|
|
const saveApply = async () => {
|
|
|
const originalDetails = this.details.filter(
|
|
const originalDetails = this.details.filter(
|
|
|
(item) =>
|
|
(item) =>
|
|
@@ -3440,7 +3444,7 @@
|
|
|
expireTime: this.adjustForm.expireTime,
|
|
expireTime: this.adjustForm.expireTime,
|
|
|
applyReason: this.adjustForm.applyReason,
|
|
applyReason: this.adjustForm.applyReason,
|
|
|
applyStatus: 0,
|
|
applyStatus: 0,
|
|
|
- isConflict: conflict.length ? 1 : 0,
|
|
|
|
|
|
|
+ isConflict: 0,
|
|
|
applyUserName: '当前用户',
|
|
applyUserName: '当前用户',
|
|
|
applyTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
|
applyTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
approveNode: '',
|
|
approveNode: '',
|
|
@@ -3455,8 +3459,7 @@
|
|
|
newContent: adjustRow.newContent,
|
|
newContent: adjustRow.newContent,
|
|
|
effectiveTime: this.adjustForm.effectiveTime,
|
|
effectiveTime: this.adjustForm.effectiveTime,
|
|
|
expireTime: this.adjustForm.expireTime,
|
|
expireTime: this.adjustForm.expireTime,
|
|
|
- applyReason: this.adjustForm.applyReason,
|
|
|
|
|
- forceSubmit: true
|
|
|
|
|
|
|
+ applyReason: this.adjustForm.applyReason
|
|
|
});
|
|
});
|
|
|
await this.loadRemoteAdjustData();
|
|
await this.loadRemoteAdjustData();
|
|
|
this.invalidateConflictCache();
|
|
this.invalidateConflictCache();
|
|
@@ -3468,15 +3471,7 @@
|
|
|
this.$message.error(e?.message || '提交审批失败,请检查接口返回');
|
|
this.$message.error(e?.message || '提交审批失败,请检查接口返回');
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
- if (conflict.length) {
|
|
|
|
|
- this.$confirm(
|
|
|
|
|
- `预校验发现 ${conflict.length} 条冲突,是否强制提交审批?`,
|
|
|
|
|
- '冲突提示',
|
|
|
|
|
- { type: 'warning' }
|
|
|
|
|
- ).then(saveApply);
|
|
|
|
|
- } else {
|
|
|
|
|
- saveApply();
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ saveApply();
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
openApproveDialog(row, status) {
|
|
openApproveDialog(row, status) {
|