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