This commit is contained in:
zlwu committed 2026-08-12 15:48:15 +08:00
1 parent d310da1523
commit ec628e1b8d
79 files changed
+6749 -799

No files matched your search

@@ -77,7 +77,7 @@
if (resolved.value.kind === 'ep') {
return { background: resolved.value.bg, color: resolved.value.fg }
}
return { background: '#f1f5f9' }
return {}
})
</script>
@@ -25,13 +25,25 @@
恢复转正日期自动计算
</el-button>
</p>
<p v-if="leaveDurationManualFields.length" class="oa-start__tip">
<el-button link type="primary" @click="restoreLeaveAuto">
<el-icon><RefreshRight /></el-icon>
恢复请假时长自动计算
</el-button>
</p>
<p v-if="overtimeDurationManualFields.length" class="oa-start__tip">
<el-button link type="primary" @click="restoreOvertimeAuto">
<el-icon><RefreshRight /></el-icon>
恢复加班时长自动计算
</el-button>
</p>
<p v-else-if="!formRule.length && !detailLoading" class="oa-start__tip">
<p v-if="tripDaysManualFields.length" class="oa-start__tip">
<el-button link type="primary" @click="restoreTripDaysAuto">
<el-icon><RefreshRight /></el-icon>
恢复出差天数自动计算
</el-button>
</p>
<p v-if="!formRule.length && !detailLoading" class="oa-start__tip">
该模板暂无表单字段,仍可直接提交。
</p>
<OaFlowPreview
@@ -165,6 +177,16 @@
listManualConfirmationDateFields({ rule: formRule.value }, formData.value)
)
const leaveDurationManualFields = computed(() => {
const fields: string[] = []
for (const kit of listLeaveKitBindings({ rule: formRule.value })) {
if (formData.value[LEAVE_MANUAL_PREFIX + kit.durationField]) {
fields.push(kit.durationField)
}
}
return fields
})
const overtimeDurationManualFields = computed(() => {
const fields: string[] = []
for (const kit of listOvertimeKitBindings({ rule: formRule.value })) {
@@ -175,6 +197,16 @@
return fields
})
const tripDaysManualFields = computed(() => {
const fields: string[] = []
for (const kit of listTripKits({ rule: formRule.value })) {
if (formData.value[TRIP_MANUAL_PREFIX + kit.daysField]) {
fields.push(kit.daysField)
}
}
return fields
})
function flowNeedsInitiatorSelect(node: any): boolean {
if (!node || typeof node !== 'object') return false
const cfg = node.approverConfig || {}
@@ -685,6 +717,24 @@
void syncOvertimeKitDurations()
}
function restoreLeaveAuto() {
let data = { ...formData.value }
for (const kit of listLeaveKitBindings({ rule: formRule.value })) {
data = markLeaveDurationManual(data, kit.durationField, false)
}
formData.value = data
syncLeaveKitDurations()
}
function restoreTripDaysAuto() {
let data = { ...formData.value }
for (const kit of listTripKits({ rule: formRule.value })) {
delete data[TRIP_MANUAL_PREFIX + kit.daysField]
}
formData.value = data
syncTripKitDurations()
}
watch(
formData,
() => {