From adeb8b768926ed50a3fb0857f366d6a0308d2cc0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 29 八月 2025 17:45:57 +0800
Subject: [PATCH] 修改组件

---
 src/pages/cooperativeOffice/collaborativeApproval/detail.vue |  129 +++++++++++++++++++++++++------------------
 1 files changed, 75 insertions(+), 54 deletions(-)

diff --git a/src/pages/cooperativeOffice/collaborativeApproval/detail.vue b/src/pages/cooperativeOffice/collaborativeApproval/detail.vue
index 6fa0c13..136c264 100644
--- a/src/pages/cooperativeOffice/collaborativeApproval/detail.vue
+++ b/src/pages/cooperativeOffice/collaborativeApproval/detail.vue
@@ -4,61 +4,73 @@
 
     <!-- 琛ㄥ崟鍖哄煙 -->
     <view class="form-section">
-      <u-form ref="formRef" @submit="submitForm" input-align="right" error-message-align="right">
-        <u-cell-group style="margin-bottom: 16px;">
-          <u-form-item label="鐢宠浜嬬敱" prop="approveReason" required>
-            <u-textarea
-              v-model="form.approveReason"
-              placeholder="璇疯緭鍏ョ敵璇蜂簨鐢�"
-              :maxlength="200"
-              count
-              :autoHeight="true"
-            />
-          </u-form-item>
-        </u-cell-group>
-        <u-cell-group>
-          <u-form-item label="鐢宠閮ㄩ棬" prop="approveDeptName" required>
-            <u-input
-              v-model="form.approveDeptName"
-              readonly
-              placeholder="璇烽�夋嫨鐢宠閮ㄩ棬"
-              @click="showPicker = true"
-            />
-          </u-form-item>
-          <u-form-item label="鐢宠浜�" prop="approveUserName" required>
-            <u-input
-              v-model="form.approveUserName"
-              placeholder="璇疯緭鍏ョ敵璇蜂汉"
-              readonly
-            />
-          </u-form-item>
-          <u-popup v-model="showPicker" mode="bottom">
-            <u-picker
+      <van-form ref="formRef" @submit="submitForm" :rules="rules" input-align="right" error-message-align="right" scroll-to-error scroll-to-error-position="center">
+				<van-cell-group style="margin-bottom: 16px;">
+					<van-field
+						v-model="form.approveReason"
+						name="approveReason"
+						rows="2"
+						autosize
+						label="鐢宠浜嬬敱"
+						type="textarea"
+						maxlength="200"
+						:rules="[{ required: true, message: '鐢宠浜嬬敱涓嶈兘涓虹┖' }]"
+						placeholder="璇疯緭鍏ョ敵璇蜂簨鐢�"
+						show-word-limit
+						required
+					/>
+				</van-cell-group>
+				<van-cell-group>
+					<van-field
+						v-model="form.approveDeptName"
+						readonly
+						name="picker"
+						label="鐢宠閮ㄩ棬"
+						placeholder="璇烽�夋嫨鐢宠閮ㄩ棬"
+						:rules="[{ required: true, message: '璇烽�夋嫨鐢宠閮ㄩ棬' }]"
+						@click="showPicker = true"
+						required
+					/>
+          <van-field
+            v-model="form.approveUserName"
+            name="taxPrice"
+            label="鐢宠浜�"
+            placeholder="璇疯緭鍏ョ敵璇蜂汉"
+            :rules="[{ required: true, message: '鐢宠浜轰笉鑳戒负绌�' }]"
+            required
+            readonly
+          />
+          <van-popup
+            v-model:show="showPicker"
+            position="bottom"
+          >
+            <van-picker
               :columns="productOptions"
-              v-model="pickerValue"
+              :model-value="pickerValue"
               @confirm="onConfirm"
               @cancel="showPicker = false"
             />
-          </u-popup>
-          <u-form-item label="鐢宠鏃ユ湡" prop="approveTime" required>
-            <u-input
-              v-model="form.approveTime"
-              placeholder="璇烽�夋嫨"
-              readonly
-              @click="showDatePicker"
-            />
-          </u-form-item>
-          <!-- 鏃ユ湡閫夋嫨鍣� -->
-          <u-popup v-model="showDate" mode="bottom">
-            <u-datetime-picker
-              v-model="currentDate"
-              title="閫夋嫨鏃ユ湡"
-              @confirm="onDateConfirm"
-              @cancel="showDate = false"
-            />
-          </u-popup>
-        </u-cell-group>
-      </u-form>
+          </van-popup>
+					<van-field
+						v-model="form.approveTime"
+						label="鐢宠鏃ユ湡"
+						placeholder="璇烽�夋嫨"
+						readonly
+						required
+						@click="showDatePicker"
+						:rules="[{ required: true, message: '璇烽�夋嫨鏉ユ鏃ユ湡' }]"
+					/>
+					<!-- 鏃ユ湡閫夋嫨鍣� -->
+					<van-popup v-model:show="showDate" position="bottom">
+						<van-date-picker
+							v-model="currentDate"
+							title="閫夋嫨鏃ユ湡"
+							@confirm="onDateConfirm"
+							@cancel="showDate = false"
+						/>
+					</van-popup>
+        </van-cell-group>
+      </van-form>
     </view>
     <!-- 瀹℃牳娴佺▼鍖哄煙 -->
     <view class="approval-process">
@@ -86,13 +98,17 @@
             </view>
             <view v-else class="add-approver-btn" @click="addApprover(stepIndex)">
               <view class="add-circle">+</view>
-              <text class="add-text">娣诲姞瀹℃壒浜�</text>
+              <text class="add-label">閫夋嫨瀹℃壒浜�</text>
             </view>
           </view>
+          <view class="step-line" v-if="stepIndex < approverNodes.length - 1"></view>
+          <view class="delete-step-btn" v-if="approverNodes.length > 1" @click="removeApprovalStep(stepIndex)">鍒犻櫎鑺傜偣</view>
         </view>
       </view>
 
-      <u-button icon="plus" plain type="primary" style="width: 100%" @click="addApprovalStep">鏂板鑺傜偣</u-button>
+      <view class="add-step-btn">
+				<van-button icon="plus" plain type="primary" style="width: 100%" @click="addApprovalStep">鏂板鑺傜偣</van-button>
+      </view>
     </view>
 
     <!-- 搴曢儴鎸夐挳 -->
@@ -108,7 +124,12 @@
 import PageHeader from "@/components/PageHeader.vue";
 import useUserStore from "@/store/modules/user";
 import {getDept, approveProcessGetInfo, approveProcessAdd, approveProcessUpdate} from "@/api/collaborativeApproval/approvalProcess";
-import { showToast } from 'vant'
+const showToast = (message) => {
+	uni.showToast({
+		title: message,
+		icon: 'none'
+	})
+}
 import {userListNoPageByTenantId} from "@/api/system/user";
 
 const data = reactive({

--
Gitblit v1.9.3