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

---
 src/pages/procurementManagement/invoiceEntry/add.vue |  138 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 138 insertions(+), 0 deletions(-)

diff --git a/src/pages/procurementManagement/invoiceEntry/add.vue b/src/pages/procurementManagement/invoiceEntry/add.vue
index 2fdcb2b..54a3ede 100644
--- a/src/pages/procurementManagement/invoiceEntry/add.vue
+++ b/src/pages/procurementManagement/invoiceEntry/add.vue
@@ -540,3 +540,141 @@
   }
 }
 </style>
+
+<template>
+	<view class="invoice-add">
+		<!-- 浣跨敤閫氱敤椤甸潰澶撮儴缁勪欢 -->
+		<PageHeader title="鏂板鍙戠エ" @back="goBack" />
+		
+		<!-- 琛ㄥ崟鍐呭 -->
+		<u-form @submit="submitForm" ref="formRef" label-width="110" input-align="right" error-message-align="right">
+			<!-- 鍩烘湰淇℃伅 -->
+			<u-cell-group title="鍩烘湰淇℃伅">
+				<u-form-item label="閲囪喘鍚堝悓鍙�" prop="contractNo" required border-bottom>
+					<u-input v-model="form.contractNo" placeholder="璇疯緭鍏ラ噰璐悎鍚屽彿" clearable />
+				</u-form-item>
+				<u-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName" required border-bottom>
+					<u-input v-model="form.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" clearable />
+				</u-form-item>
+				<u-form-item label="鍙戠エ鍙�" prop="invoiceNo" required border-bottom>
+					<u-input v-model="form.invoiceNo" placeholder="璇疯緭鍏ュ彂绁ㄥ彿" clearable />
+				</u-form-item>
+				<u-form-item label="鍙戠エ閲戦" prop="invoiceAmount" required border-bottom>
+					<u-input v-model="form.invoiceAmount" type="number" placeholder="璇疯緭鍏ュ彂绁ㄩ噾棰�" clearable />
+				</u-form-item>
+				<u-form-item label="绋庣巼" prop="taxRate" required border-bottom>
+					<u-input v-model="form.taxRate" placeholder="璇疯緭鍏ョ◣鐜�" clearable />
+				</u-form-item>
+				<u-form-item label="寮�绁ㄦ棩鏈�" prop="issueDate" required border-bottom>
+					<u-input v-model="form.issueDate" placeholder="璇烽�夋嫨寮�绁ㄦ棩鏈�" readonly @click="showIssueDatePicker = true" clearable />
+				</u-form-item>
+				<u-form-item label="褰曞叆浜�" border-bottom>
+					<u-input v-model="form.recorder" placeholder="鑷姩濉厖" readonly />
+				</u-form-item>
+				<u-form-item label="鍒涘缓鏃堕棿" border-bottom>
+					<u-input v-model="form.createTime" placeholder="璇烽�夋嫨鍒涘缓鏃堕棿" readonly @click="showCreateTimePicker = true" clearable />
+				</u-form-item>
+			</u-cell-group>
+			
+			<!-- 浜у搧淇℃伅 -->
+			<view class="product-section" v-if="!productData || productData.length === 0">
+				<u-empty description="鏆傛棤浜у搧鏁版嵁" />
+			</view>
+			
+			<!-- 浜у搧鍒楄〃 -->
+			<view class="product-list" v-if="productData && productData.length > 0">
+				<view class="product-card" v-for="(product, idx) in productData" :key="idx">
+					<view class="product-header">
+						<view class="product-title">
+							<u-icon name="file-text" color="#2979ff" size="15" />
+							<text class="product-name">浜у搧 {{ idx + 1 }}</text>
+						</view>
+					</view>
+					
+					<!-- 浜у搧淇℃伅琛ㄥ崟 -->
+					<view class="product-form">
+						<u-form-item label="浜у搧鍚嶇О" border-bottom>
+							<u-input v-model="product.productName" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
+						</u-form-item>
+						<u-form-item label="瑙勬牸鍨嬪彿" border-bottom>
+							<u-input v-model="product.specification" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
+						</u-form-item>
+						<u-form-item label="鍗曚綅" border-bottom>
+							<u-input v-model="product.unit" placeholder="璇疯緭鍏ュ崟浣�" />
+						</u-form-item>
+						<u-form-item label="鏁伴噺" border-bottom>
+							<u-input v-model="product.quantity" type="number" placeholder="璇疯緭鍏ユ暟閲�" />
+						</u-form-item>
+						<u-form-item label="鍗曚环" border-bottom>
+							<u-input v-model="product.unitPrice" type="number" placeholder="璇疯緭鍏ュ崟浠�" />
+						</u-form-item>
+						<u-form-item label="閲戦" border-bottom>
+							<u-input v-model="product.amount" type="number" placeholder="璇疯緭鍏ラ噾棰�" />
+						</u-form-item>
+						<u-form-item label="绋庣巼" border-bottom>
+							<u-input v-model="product.taxRate" placeholder="璇疯緭鍏ョ◣鐜�" />
+						</u-form-item>
+						<u-form-item label="绋庨" border-bottom>
+							<u-input v-model="product.taxAmount" type="number" placeholder="璇疯緭鍏ョ◣棰�" />
+						</u-form-item>
+						<u-form-item label="鍚◣閲戦" border-bottom>
+							<u-input v-model="product.totalAmount" type="number" placeholder="璇疯緭鍏ュ惈绋庨噾棰�" />
+						</u-form-item>
+						<u-form-item label="澶囨敞" border-bottom>
+							<u-textarea v-model="product.remark" placeholder="璇疯緭鍏ュ娉�" :maxlength="200" count :autoHeight="true" />
+						</u-form-item>
+					</view>
+				</view>
+			</view>
+			
+			<!-- 鎻愪氦鎸夐挳 -->
+			<view class="footer-btns">
+				<u-button class="cancel-btn" @click="goBack">鍙栨秷</u-button>
+				<u-button class="save-btn" type="primary" @click="submitForm">淇濆瓨</u-button>
+			</view>
+		</u-form>
+
+		<!-- 寮�绁ㄦ棩鏈熼�夋嫨鍣� -->
+		<u-popup v-model="showIssueDatePicker" mode="bottom">
+			<u-datetime-picker
+				v-model="issueDateValue"
+				title="閫夋嫨寮�绁ㄦ棩鏈�"
+				@confirm="onIssueDateConfirm"
+				@cancel="showIssueDatePicker = false"
+			/>
+		</u-popup>
+
+		<!-- 鍒涘缓鏃堕棿閫夋嫨鍣� -->
+		<u-popup v-model="showCreateTimePicker" mode="bottom">
+			<u-datetime-picker
+				v-model="createTimeValue"
+				title="閫夋嫨鍒涘缓鏃堕棿"
+				@confirm="onCreateTimeConfirm"
+				@cancel="showCreateTimePicker = false"
+			/>
+		</u-popup>
+	</view>
+</template>
+
+<script setup>
+// 鏇挎崲 Vant 鐨� toast 鏂规硶
+// import { showToast, showLoadingToast, closeToast } from 'vant'
+
+// 鏇挎崲 toast 鏂规硶
+const showToast = (message) => {
+  uni.showToast({
+    title: message,
+    icon: 'none'
+  })
+}
+
+const showLoadingToast = (message) => {
+  uni.showLoading({
+    title: message || '鍔犺浇涓�...'
+  })
+}
+
+const closeToast = () => {
+  uni.hideLoading()
+}
+</script>

--
Gitblit v1.9.3