From 8e931f121abf3dd57fbaac8cf599896aa3ff38ab Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期六, 23 五月 2026 12:33:14 +0800
Subject: [PATCH] 出差时间增加开始时间和结束时间
---
src/views/collaborativeApproval/approvalProcess/index.vue | 53 ++++++++++++++++++++------
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue | 47 +++++++++++++++++++++++
vite.config.js | 4 +-
3 files changed, 88 insertions(+), 16 deletions(-)
diff --git a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
index 5bd7a3e..bacdebd 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -85,6 +85,35 @@
</el-form-item>
</el-col>
</el-row>
+ <!-- 鍑哄樊鏃堕棿锛堜粎褰� approveType 涓� 3 鏃舵樉绀猴級 -->
+ <el-row :gutter="30" v-if="props.approveType == 3">
+ <el-col :span="12">
+ <el-form-item label="鍑哄樊寮�濮嬫椂闂达細" prop="startDateTime">
+ <el-date-picker
+ v-model="form.startDateTime"
+ type="datetime"
+ placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
+ value-format="YYYY-MM-DD HH:mm"
+ format="YYYY-MM-DD HH:mm"
+ clearable
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍑哄樊缁撴潫鏃堕棿锛�" prop="endDateTime">
+ <el-date-picker
+ v-model="form.endDateTime"
+ type="datetime"
+ placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
+ value-format="YYYY-MM-DD HH:mm"
+ format="YYYY-MM-DD HH:mm"
+ clearable
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
<!-- 鍑哄樊鍦扮偣锛堜粎褰� approveType 涓� 3 鏃舵樉绀猴級 -->
<el-row v-if="props.approveType == 3">
<el-col :span="24">
@@ -152,6 +181,8 @@
startDate: "", // 璇峰亣寮�濮嬫椂闂�
endDate: "", // 璇峰亣缁撴潫鏃堕棿
price: null, // 鎶ラ攢閲戦
+ startDateTime: "", // 鍑哄樊寮�濮嬫椂闂�
+ endDateTime: "", // 鍑哄樊缁撴潫鏃堕棿
location: "", // 鍑哄樊鍦扮偣
storageBlobDTOS: []
},
@@ -163,6 +194,8 @@
startDate: [{ required: true, message: "璇烽�夋嫨璇峰亣寮�濮嬫椂闂�", trigger: "change" }],
endDate: [{ required: true, message: "璇烽�夋嫨璇峰亣缁撴潫鏃堕棿", trigger: "change" }],
price: [{ required: true, message: "璇疯緭鍏ユ姤閿�閲戦", trigger: "blur" }],
+ startDateTime: [{ required: true, message: "璇烽�夋嫨鍑哄樊寮�濮嬫椂闂�", trigger: "change" }],
+ endDateTime: [{ required: true, message: "璇烽�夋嫨鍑哄樊缁撴潫鏃堕棿", trigger: "change" }],
location: [{ required: true, message: "璇疯緭鍏ュ嚭宸湴鐐�", trigger: "blur" }],
},
});
@@ -257,8 +290,20 @@
return
}
}
- // 褰� approveType 涓� 3 鏃讹紝鏍¢獙鍑哄樊鍦扮偣
+ // 褰� approveType 涓� 3 鏃讹紝鏍¢獙鍑哄樊鏃堕棿鍜屽湴鐐�
if (props.approveType == 3) {
+ if (!form.value.startDateTime) {
+ proxy.$modal.msgError("璇烽�夋嫨鍑哄樊寮�濮嬫椂闂达紒")
+ return
+ }
+ if (!form.value.endDateTime) {
+ proxy.$modal.msgError("璇烽�夋嫨鍑哄樊缁撴潫鏃堕棿锛�")
+ return
+ }
+ if (new Date(form.value.endDateTime) < new Date(form.value.startDateTime)) {
+ proxy.$modal.msgError("鍑哄樊缁撴潫鏃堕棿涓嶈兘鏃╀簬寮�濮嬫椂闂达紒")
+ return
+ }
if (!form.value.location || form.value.location.trim() === '') {
proxy.$modal.msgError("璇疯緭鍏ュ嚭宸湴鐐癸紒")
return
diff --git a/src/views/collaborativeApproval/approvalProcess/index.vue b/src/views/collaborativeApproval/approvalProcess/index.vue
index 11a2869..158916c 100644
--- a/src/views/collaborativeApproval/approvalProcess/index.vue
+++ b/src/views/collaborativeApproval/approvalProcess/index.vue
@@ -207,6 +207,7 @@
// 鍔ㄦ�佽〃鏍煎垪閰嶇疆锛屾牴鎹鎵圭被鍨嬬敓鎴愬垪
const tableColumnCopy = computed(() => {
const isLeaveType = currentApproveType.value === 2; // 璇峰亣绠$悊
+ const isBusinessTripType = currentApproveType.value === 3; // 鍑哄樊绠$悊
const isReimburseType = currentApproveType.value === 4; // 鎶ラ攢绠$悊
const isQuotationType = currentApproveType.value === 6; // 鎶ヤ环瀹℃壒
const isPurchaseType = currentApproveType.value === 5; // 閲囪喘瀹℃壒
@@ -274,20 +275,32 @@
width: 120
});
}
+
+ // 璇峰亣绠$悊锛氬紑濮嬫棩鏈� / 缁撴潫鏃ユ湡
+ if (isLeaveType) {
+ baseColumns.push(
+ { label: "寮�濮嬫棩鏈�", prop: "startDate", width: 120 },
+ { label: "缁撴潫鏃ユ湡", prop: "endDate", width: 120 }
+ );
+ }
- // 鏃ユ湡鍒楋紙鏍规嵁绫诲瀷鍔ㄦ�侀厤缃級
- baseColumns.push(
- {
- label: isLeaveType ? "寮�濮嬫棩鏈�" : "鐢宠鏃ユ湡",
- prop: isLeaveType ? "startDate" : "approveTime",
- width: 200
- },
- {
- label: "缁撴潫鏃ユ湡",
- prop: isLeaveType ? "endDate" : "approveOverTime",
- width: 120
- }
- );
+ // 鍑哄樊绠$悊锛氬紑濮嬫椂闂� / 缁撴潫鏃堕棿锛堜笉鍚锛�
+ if (isBusinessTripType) {
+ baseColumns.push(
+ {
+ label: "寮�濮嬫椂闂�",
+ prop: "startDateTime",
+ width: 180,
+ formatData: (val) => val ? val.substring(0, 16) : ''
+ },
+ {
+ label: "缁撴潫鏃堕棿",
+ prop: "endDateTime",
+ width: 180,
+ formatData: (val) => val ? val.substring(0, 16) : ''
+ }
+ );
+ }
// 褰撳墠瀹℃壒浜哄垪
baseColumns.push({
@@ -295,6 +308,20 @@
prop: "approveUserCurrentName",
width: 120
});
+
+ // 鐢宠鏃堕棿 - 鎵�鏈夌被鍨嬮兘鏄剧ず
+ baseColumns.push({
+ label: "鐢宠鏃堕棿",
+ prop: "approveTime",
+ width: 180,
+ });
+
+ // 瀹℃壒鏃堕棿 - 鎵�鏈夌被鍨嬮兘鏄剧ず
+ baseColumns.push({
+ label: "瀹℃壒鏃堕棿",
+ prop: "approveOverTime",
+ width: 180,
+ });
// 鎿嶄綔鍒�
const actionOperations = [
diff --git a/vite.config.js b/vite.config.js
index 03311be..4a00f7a 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -8,11 +8,11 @@
const { VITE_APP_ENV } = env;
const baseUrl =
env.VITE_APP_ENV === "development"
- ? "http://1.15.17.182:9048"
+ ? "http://localhost:7003"
: env.VITE_BASE_API;
const javaUrl =
env.VITE_APP_ENV === "development"
- ? "http://1.15.17.182:9049"
+ ? "http://localhost:7003"
: env.VITE_JAVA_API;
return {
define:{
--
Gitblit v1.9.3