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

---
 src/pages/equipmentManagement/ledger/detail.vue |  202 ++++++++++++++++++++++++-------------------------
 1 files changed, 99 insertions(+), 103 deletions(-)

diff --git a/src/pages/equipmentManagement/ledger/detail.vue b/src/pages/equipmentManagement/ledger/detail.vue
index 9757730..97d76aa 100644
--- a/src/pages/equipmentManagement/ledger/detail.vue
+++ b/src/pages/equipmentManagement/ledger/detail.vue
@@ -1,132 +1,128 @@
 <template>
-	<view class="equipment-detail">
+	<view class="ledger-detail">
 		<!-- 浣跨敤閫氱敤椤甸潰澶撮儴缁勪欢 -->
-		<PageHeader title="璁惧鍙拌处璇︽儏" @back="goBack" />
+		<PageHeader :title="operationType === 'edit' ? '缂栬緫璁惧鍙拌处' : '鏂板璁惧鍙拌处'" @back="goBack" />
 		
 		<!-- 琛ㄥ崟鍐呭 -->
-		<u-form @submit="sendForm" ref="formRef" label-width="110" input-align="right" error-message-align="right">
+		<van-form @submit="sendForm" ref="formRef" label-width="110px" input-align="right" error-message-align="right" scroll-to-error scroll-to-error-position="center">
 			<!-- 鍩烘湰淇℃伅 -->
-			<u-cell-group title="鍩烘湰淇℃伅">
-				<u-form-item label="璁惧鍚嶇О" prop="deviceName" required border-bottom>
-					<u-input
-						v-model="form.deviceName"
-						placeholder="璇疯緭鍏ヨ澶囧悕绉�"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="瑙勬牸鍨嬪彿" prop="deviceModel" required border-bottom>
-					<u-input
-						v-model="form.deviceModel"
-						placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="璁惧缂栧彿" prop="deviceNumber" required border-bottom>
-					<u-input
-						v-model="form.deviceNumber"
-						placeholder="璇疯緭鍏ヨ澶囩紪鍙�"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="璐拱鏃ユ湡" prop="purchaseDate" required border-bottom>
-					<u-input
-						v-model="form.purchaseDate"
-						placeholder="璇烽�夋嫨璐拱鏃ユ湡"
-						readonly
-						@click="showDatePicker"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="璐拱浠锋牸" prop="purchasePrice" required border-bottom>
-					<u-input
-						v-model="form.purchasePrice"
-						type="number"
-						placeholder="璇疯緭鍏ヨ喘涔颁环鏍�"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="渚涘簲鍟�" prop="supplier" required border-bottom>
-					<u-input
-						v-model="form.supplier"
-						placeholder="璇疯緭鍏ヤ緵搴斿晢"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="浣跨敤閮ㄩ棬" prop="department" required border-bottom>
-					<u-input
-						v-model="form.department"
-						placeholder="璇疯緭鍏ヤ娇鐢ㄩ儴闂�"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="绋庣巼" prop="taxRate" required border-bottom>
-					<u-input
-						v-model="form.taxRate"
-						placeholder="璇烽�夋嫨绋庣巼"
-						readonly
-						@click="showTaxRatePicker"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="浣跨敤鐘舵��" prop="status" required border-bottom>
-					<u-input
-						v-model="form.status"
-						placeholder="璇疯緭鍏ヤ娇鐢ㄧ姸鎬�"
-						clearable
-					/>
-				</u-form-item>
-				<u-form-item label="澶囨敞" border-bottom>
-					<u-textarea
-						v-model="form.remark"
-						placeholder="璇疯緭鍏ュ娉�"
-						:maxlength="200"
-						count
-						:autoHeight="true"
-					/>
-				</u-form-item>
-			</u-cell-group>
+			<van-cell-group title="鍩烘湰淇℃伅" inset>
+				<van-field
+					v-model="form.deviceName"
+					label="璁惧鍚嶇О"
+					placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+					:rules="formRules.deviceName"
+					required
+					clearable
+				/>
+				<van-field
+					v-model="form.deviceModel"
+					label="瑙勬牸鍨嬪彿"
+					placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
+					:readonly="form.deviceModel != null && operationType === 'edit'"
+					:rules="formRules.deviceModel"
+					required
+					clearable
+				/>
+				<van-field
+					v-model="form.supplierName"
+					label="渚涘簲鍟�"
+					required
+					placeholder="璇疯緭鍏ヤ緵搴斿晢"
+					:rules="formRules.supplierName"
+					clearable
+				/>
+				<van-field
+					v-model="form.unit"
+					label="鍗曚綅"
+					required
+					placeholder="璇疯緭鍏ュ崟浣�"
+					:rules="formRules.unit"
+					clearable
+				/>
+				<van-field
+					v-model="form.taxRate"
+					required
+					label="绋庣巼(%)"
+					placeholder="璇烽�夋嫨"
+					readonly
+					:rules="formRules.taxRate"
+					@click="showTaxRatePicker"
+					clearable
+				/>
+				<van-field
+					v-model="form.number"
+					label="鏁伴噺"
+					required
+					type="number"
+					placeholder="璇疯緭鍏ユ暟閲�"
+					:rules="formRules.number"
+					@blur="mathNum"
+					clearable
+				/>
+				<van-field
+					v-model="form.taxIncludingPriceUnit"
+					label="鍚◣鍗曚环"
+					required
+					type="number"
+					placeholder="璇疯緭鍏ュ惈绋庡崟浠�"
+					:rules="formRules.taxIncludingPriceUnit"
+					@blur="mathNum"
+					clearable
+				/>
+				<van-field
+					v-model="form.taxIncludingPriceTotal"
+					label="鍚◣鎬讳环"
+					placeholder="鑷姩鐢熸垚"
+					readonly
+				/>
+				<van-field
+					v-model="form.unTaxIncludingPriceTotal"
+					label="涓嶅惈绋庢�讳环"
+					placeholder="鑷姩鐢熸垚"
+					readonly
+				/>
+				<van-field
+					v-model="form.createTime"
+					label="褰曞叆鏃ユ湡"
+					placeholder="璇烽�夋嫨"
+					readonly
+					@click="showDatePicker"
+					required
+					clearable
+				/>
+			</van-cell-group>
 			
 			<!-- 鎻愪氦鎸夐挳 -->
 			<view class="footer-btns">
-				<u-button class="cancel-btn" @click="goBack">鍙栨秷</u-button>
-				<u-button class="save-btn" type="primary" @click="sendForm" :loading="loading">淇濆瓨</u-button>
+				<van-button class="cancel-btn" @click="goBack">鍙栨秷</van-button>
+				<van-button class="save-btn" native-type="submit" form-type="submit" :loading="loading">淇濆瓨</van-button>
 			</view>
-		</u-form>
+		</van-form>
 
 		<!-- 绋庣巼閫夋嫨鍣� -->
-		<u-popup v-model="showTaxRate" mode="bottom">
-			<u-picker
-				v-model="taxRatePickerValue"
+		<van-popup v-model:show="showTaxRate" position="bottom">
+			<van-picker
+				:model-value="taxRatePickerValue"
 				:columns="taxRateOptions"
 				@confirm="onTaxRateConfirm"
 				@cancel="showTaxRate = false"
 			/>
-		</u-popup>
+		</van-popup>
 
 		<!-- 鏃ユ湡閫夋嫨鍣� -->
-		<u-popup v-model="showDate" mode="bottom">
-			<u-datetime-picker
+		<van-popup v-model:show="showDate" position="bottom">
+			<van-date-picker
 				v-model="currentDate"
 				title="閫夋嫨鏃ユ湡"
 				@confirm="onDateConfirm"
 				@cancel="showDate = false"
 			/>
-		</u-popup>
+		</van-popup>
 	</view>
 </template>
 
 <script setup>
-// 鏇挎崲 Vant 鐨� toast
-// import { showToast } from 'vant';
-
-// 鏇挎崲 toast 鏂规硶
-const showToast = (message) => {
-  uni.showToast({
-    title: message,
-    icon: 'none'
-  })
-}
-
 import { ref, computed, onMounted } from 'vue';
 import { onShow } from '@dcloudio/uni-app';
 import PageHeader from '@/components/PageHeader.vue';

--
Gitblit v1.9.3