From 492802e4fc1b371ba21a2a490c8dcd67d7c8b29c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 22 六月 2026 14:03:40 +0800
Subject: [PATCH] fix: 出差和请假审批新增开始与结束日期
---
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue | 28 ++++++++++++++
src/views/collaborativeApproval/approvalProcess/index.vue | 32 ++++++++++++---
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue | 22 +++++-----
3 files changed, 64 insertions(+), 18 deletions(-)
diff --git a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
index 7ce5b4d..e551197 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -45,6 +45,32 @@
</el-form-item>
</el-col>
</el-row>
+ <!-- 璇峰亣/鍑哄樊鏃堕棿锛堝綋 approveType 涓� 2 鎴� 3 鏃舵樉绀猴級 -->
+ <el-row :gutter="30"
+ v-if="props.approveType == 2 || props.approveType == 3">
+ <el-col :span="12">
+ <el-form-item :label="props.approveType == 2 ? '璇峰亣寮�濮嬫椂闂达細' : '寮�濮嬫椂闂达細'"
+ prop="startDate">
+ <el-date-picker v-model="form.startDate"
+ type="date"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
+ disabled
+ style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item :label="props.approveType == 2 ? '璇峰亣缁撴潫鏃堕棿锛�' : '缁撴潫鏃堕棿锛�'"
+ prop="endDate">
+ <el-date-picker v-model="form.endDate"
+ type="date"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
+ disabled
+ style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
<!-- 瀹℃壒浜洪�夋嫨锛堝姩鎬佽妭鐐癸級 -->
<el-row :gutter="30">
<el-col :span="12">
@@ -457,6 +483,8 @@
approveDeptId: "",
approveReason: "",
checkResult: "",
+ startDate: "",
+ endDate: "",
},
});
const { form } = toRefs(data);
diff --git a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
index cee3eeb..e486fe4 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -47,11 +47,11 @@
</el-form-item>
</el-col>
</el-row>
- <!-- 璇峰亣鏃堕棿锛堜粎褰� approveType 涓� 2 鏃舵樉绀猴級 -->
+ <!-- 璇峰亣/鍑哄樊鏃堕棿锛堝綋 approveType 涓� 2 鎴� 3 鏃舵樉绀猴級 -->
<el-row :gutter="30"
- v-if="props.approveType == 2">
+ v-if="props.approveType == 2 || props.approveType == 3">
<el-col :span="12">
- <el-form-item label="璇峰亣寮�濮嬫椂闂达細"
+ <el-form-item :label="props.approveType == 2 ? '璇峰亣寮�濮嬫椂闂达細' : '寮�濮嬫椂闂达細'"
prop="startDate">
<el-date-picker v-model="form.startDate"
type="date"
@@ -63,7 +63,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璇峰亣缁撴潫鏃堕棿锛�"
+ <el-form-item :label="props.approveType == 2 ? '璇峰亣缁撴潫鏃堕棿锛�' : '缁撴潫鏃堕棿锛�'"
prop="endDate">
<el-date-picker v-model="form.endDate"
type="date"
@@ -258,10 +258,10 @@
approveReason: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
checkResult: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
startDate: [
- { required: true, message: "璇烽�夋嫨璇峰亣寮�濮嬫椂闂�", trigger: "change" },
+ { required: true, message: "璇烽�夋嫨寮�濮嬫椂闂�", trigger: "change" },
],
endDate: [
- { required: true, message: "璇烽�夋嫨璇峰亣缁撴潫鏃堕棿", trigger: "change" },
+ { required: true, message: "璇烽�夋嫨缁撴潫鏃堕棿", trigger: "change" },
],
price: [{ required: true, message: "璇疯緭鍏ユ姤閿�閲戦", trigger: "blur" }],
location: [{ required: true, message: "璇疯緭鍏ュ嚭宸湴鐐�", trigger: "blur" }],
@@ -388,19 +388,19 @@
proxy.$modal.msgError("璇蜂负鎵�鏈夊鎵硅妭鐐归�夋嫨瀹℃壒浜猴紒");
return;
}
- // 褰� approveType 涓� 2 鏃讹紝鏍¢獙璇峰亣鏃堕棿
- if (props.approveType == 2) {
+ // 褰� approveType 涓� 2 鎴� 3 鏃讹紝鏍¢獙璇峰亣/鍑哄樊鏃堕棿
+ if (props.approveType == 2 || props.approveType == 3) {
if (!form.value.startDate) {
- proxy.$modal.msgError("璇烽�夋嫨璇峰亣寮�濮嬫椂闂达紒");
+ proxy.$modal.msgError(props.approveType == 2 ? "璇烽�夋嫨璇峰亣寮�濮嬫椂闂达紒" : "璇烽�夋嫨寮�濮嬫椂闂达紒");
return;
}
if (!form.value.endDate) {
- proxy.$modal.msgError("璇烽�夋嫨璇峰亣缁撴潫鏃堕棿锛�");
+ proxy.$modal.msgError(props.approveType == 2 ? "璇烽�夋嫨璇峰亣缁撴潫鏃堕棿锛�" : "璇烽�夋嫨缁撴潫鏃堕棿锛�");
return;
}
// 鏍¢獙缁撴潫鏃堕棿涓嶈兘鏃╀簬寮�濮嬫椂闂�
if (new Date(form.value.endDate) < new Date(form.value.startDate)) {
- proxy.$modal.msgError("璇峰亣缁撴潫鏃堕棿涓嶈兘鏃╀簬寮�濮嬫椂闂达紒");
+ proxy.$modal.msgError(props.approveType == 2 ? "璇峰亣缁撴潫鏃堕棿涓嶈兘鏃╀簬寮�濮嬫椂闂达紒" : "缁撴潫鏃堕棿涓嶈兘鏃╀簬寮�濮嬫椂闂达紒");
return;
}
}
diff --git a/src/views/collaborativeApproval/approvalProcess/index.vue b/src/views/collaborativeApproval/approvalProcess/index.vue
index 9e5a1ce..6677c48 100644
--- a/src/views/collaborativeApproval/approvalProcess/index.vue
+++ b/src/views/collaborativeApproval/approvalProcess/index.vue
@@ -186,6 +186,8 @@
// 鍔ㄦ�佽〃鏍煎垪閰嶇疆锛屾牴鎹鎵圭被鍨嬬敓鎴愬垪
const tableColumnCopy = computed(() => {
const isLeaveType = currentApproveType.value === 2; // 璇峰亣绠$悊
+ const isBusinessTripType = currentApproveType.value === 3; // 鍑哄樊绠$悊
+ const showDateRange = isLeaveType || isBusinessTripType; // 鏄惁鏄剧ず鏃堕棿娈�
const isReimburseType = currentApproveType.value === 4; // 鎶ラ攢绠$悊
const isQuotationType = currentApproveType.value === 6; // 鎶ヤ环瀹℃壒
const isPurchaseType = currentApproveType.value === 5; // 閲囪喘瀹℃壒
@@ -261,20 +263,36 @@
});
}
- // 鏃ユ湡鍒楋紙鏍规嵁绫诲瀷鍔ㄦ�侀厤缃級
+ // 鍩虹鏃ユ湡鍒�
baseColumns.push(
{
- label: isLeaveType ? "寮�濮嬫棩鏈�" : "鐢宠鏃ユ湡",
- prop: isLeaveType ? "startDate" : "approveTime",
- width: 200,
+ label: "鐢宠鏃ユ湡",
+ prop: "approveTime",
+ width: 160,
},
{
- label: "缁撴潫鏃ユ湡",
- prop: isLeaveType ? "endDate" : "approveOverTime",
- width: 120,
+ label: "瀹℃壒鏃ユ湡",
+ prop: "approveOverTime",
+ width: 160,
}
);
+ // 寮�濮嬪拰缁撴潫鏃ユ湡鍒�
+ if (showDateRange) {
+ baseColumns.push(
+ {
+ label: "寮�濮嬫棩鏈�",
+ prop: "startDate",
+ width: 120,
+ },
+ {
+ label: "缁撴潫鏃ユ湡",
+ prop: "endDate",
+ width: 120,
+ }
+ );
+ }
+
// 褰撳墠瀹℃壒浜哄垪
baseColumns.push({
label: "褰撳墠瀹℃壒浜�",
--
Gitblit v1.9.3