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