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/sales/invoicingRegistration/add.vue | 303 ++++++++++++++++++++++---------------------------- 1 files changed, 134 insertions(+), 169 deletions(-) diff --git a/src/pages/sales/invoicingRegistration/add.vue b/src/pages/sales/invoicingRegistration/add.vue index 1156f6e..64c1931 100644 --- a/src/pages/sales/invoicingRegistration/add.vue +++ b/src/pages/sales/invoicingRegistration/add.vue @@ -4,67 +4,63 @@ <PageHeader title="鏂板寮�绁ㄧ櫥璁�" @back="goBack" /> <!-- 琛ㄥ崟鍐呭 --> - <u-form @submit="submitForm" ref="formRef" label-width="110" input-align="right" error-message-align="right"> + <van-form @submit="submitForm" 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="閿�鍞悎鍚屽彿" border-bottom> - <u-input - v-model="form.salesContractNo" - readonly - placeholder="鑷姩濉厖" - /> - </u-form-item> - <u-form-item label="瀹㈡埛鍚嶇О" border-bottom> - <u-input - v-model="form.customerName" - readonly - placeholder="鑷姩濉厖" - /> - </u-form-item> - <u-form-item label="涓氬姟鍛�" border-bottom> - <u-input - v-model="form.salesman" - readonly - placeholder="鑷姩濉厖" - /> - </u-form-item> - <u-form-item label="椤圭洰鍚嶇О" border-bottom> - <u-input - v-model="form.projectName" - readonly - placeholder="鑷姩濉厖" - /> - </u-form-item> - <u-form-item label="褰曞叆浜�" border-bottom> - <u-input - v-model="form.createUer" - readonly - placeholder="璇疯緭鍏ュ綍鍏ヤ汉" - /> - </u-form-item> - <u-form-item label="褰曞叆鏃ユ湡" border-bottom> - <u-input - v-model="form.createTime" - readonly - placeholder="璇烽�夋嫨褰曞叆鏃ユ湡" - @click="showCreateTimePicker = true" - /> - </u-form-item> - <u-form-item label="鍙戠エ鍙风爜" prop="invoiceNo" required border-bottom> - <u-input - v-model="form.invoiceNo" - placeholder="璇疯緭鍏ュ彂绁ㄥ彿鐮�" - /> - </u-form-item> - <u-form-item label="寮�绁ㄦ棩鏈�" prop="issueDate" required border-bottom> - <u-input - v-model="form.issueDate" - readonly - placeholder="璇烽�夋嫨寮�绁ㄦ棩鏈�" - @click="showIssueDatePicker = true" - /> - </u-form-item> - </u-cell-group> + <van-cell-group title="鍩烘湰淇℃伅" inset> + <van-field + v-model="form.salesContractNo" + label="閿�鍞悎鍚屽彿" + readonly + placeholder="鑷姩濉厖" + /> + <van-field + v-model="form.customerName" + label="瀹㈡埛鍚嶇О" + readonly + placeholder="鑷姩濉厖" + /> + <van-field + v-model="form.salesman" + label="涓氬姟鍛�" + readonly + placeholder="鑷姩濉厖" + /> + <van-field + v-model="form.projectName" + label="椤圭洰鍚嶇О" + readonly + placeholder="鑷姩濉厖" + /> + <van-field + v-model="form.createUer" + label="褰曞叆浜�" + readonly + placeholder="璇疯緭鍏ュ綍鍏ヤ汉" + /> + <van-field + v-model="form.createTime" + label="褰曞叆鏃ユ湡" + readonly + placeholder="璇烽�夋嫨褰曞叆鏃ユ湡" + @click="showCreateTimePicker = true" + /> + <van-field + v-model="form.invoiceNo" + label="鍙戠エ鍙风爜" + required + placeholder="璇疯緭鍏ュ彂绁ㄥ彿鐮�" + :rules="[{ required: true, message: '璇疯緭鍏ュ彂绁ㄥ彿鐮�' }]" + /> + <van-field + v-model="form.issueDate" + label="寮�绁ㄦ棩鏈�" + readonly + placeholder="璇烽�夋嫨寮�绁ㄦ棩鏈�" + required + @click="showIssueDatePicker = true" + :rules="[{ required: true, message: '璇烽�夋嫨寮�绁ㄦ棩鏈�' }]" + /> + </van-cell-group> <!-- 浜у搧淇℃伅 --> <view class="product-section"> @@ -73,7 +69,7 @@ </view> <view v-if="productData.length === 0" class="empty-state"> - <u-empty text="鏆傛棤浜у搧鏁版嵁" /> + <van-empty description="鏆傛棤浜у搧鏁版嵁" /> </view> <view v-else class="product-list"> @@ -85,151 +81,120 @@ <!-- 浜у搧澶撮儴 --> <view class="product-header"> <view class="product-title"> - <u-icon name="file-text" color="#2979ff" size="15" /> + <van-icon name="description" color="#2979ff" size="15" /> <text class="product-productCategory">浜у搧 {{ index + 1 }}</text> </view> </view> <!-- 浜у搧淇℃伅琛ㄥ崟 --> <view class="product-form"> - <u-form-item label="浜у搧澶х被" border-bottom> - <u-input - v-model="item.productCategory" - readonly - /> - </u-form-item> - <u-form-item label="瑙勬牸鍨嬪彿" border-bottom> - <u-input - v-model="item.specificationModel" - readonly - /> - </u-form-item> - <u-form-item label="鍗曚綅" border-bottom> - <u-input - v-model="item.unit" - readonly - /> - </u-form-item> - <u-form-item label="鏁伴噺" border-bottom> - <u-input - v-model="item.quantity" - readonly - /> - </u-form-item> - <u-form-item label="绋庣巼(%)" border-bottom> - <u-input - v-model="item.taxRate" - readonly - /> - </u-form-item> - <u-form-item label="鍚◣鍗曚环(鍏�)" border-bottom> - <u-input - v-model="item.taxInclusiveUnitPrice" - readonly - /> - </u-form-item> - <u-form-item label="鍚◣鎬讳环(鍏�)" border-bottom> - <u-input - v-model="item.taxInclusiveTotalPrice" - readonly - /> - </u-form-item> - <u-form-item label="涓嶅惈绋庢�讳环(鍏�)" border-bottom> - <u-input - v-model="item.taxExclusiveTotalPrice" - readonly - /> - </u-form-item> + <van-field + v-model="item.productCategory" + label="浜у搧澶х被" + readonly + /> + <van-field + v-model="item.specificationModel" + label="瑙勬牸鍨嬪彿" + readonly + /> + <van-field + v-model="item.unit" + label="鍗曚綅" + readonly + /> + <van-field + v-model="item.quantity" + label="鏁伴噺" + readonly + /> + <van-field + v-model="item.taxRate" + label="绋庣巼(%)" + readonly + /> + <van-field + v-model="item.taxInclusiveUnitPrice" + label="鍚◣鍗曚环(鍏�)" + readonly + /> + <van-field + v-model="item.taxInclusiveTotalPrice" + label="鍚◣鎬讳环(鍏�)" + readonly + /> + <van-field + v-model="item.taxExclusiveTotalPrice" + label="涓嶅惈绋庢�讳环(鍏�)" + readonly + /> <!-- 鏈寮�绁ㄤ俊鎭� --> - <u-form-item label="鏈寮�绁ㄦ暟" border-bottom> - <u-input - v-model="item.currentInvoiceNum" - type="number" - placeholder="璇疯緭鍏ュ紑绁ㄦ暟閲�" - @blur="invoiceNumBlur(item)" - /> - </u-form-item> - <u-form-item label="鏈寮�绁ㄩ噾棰�(鍏�)" border-bottom> - <u-input - v-model="item.currentInvoiceAmount" - type="number" - placeholder="璇疯緭鍏ュ紑绁ㄩ噾棰�" - @blur="invoiceAmountBlur(item)" - /> - </u-form-item> + <van-field + v-model="item.currentInvoiceNum" + label="鏈寮�绁ㄦ暟" + type="number" + placeholder="璇疯緭鍏ュ紑绁ㄦ暟閲�" + @blur="invoiceNumBlur(item)" + /> + <van-field + v-model="item.currentInvoiceAmount" + label="鏈寮�绁ㄩ噾棰�(鍏�)" + type="number" + placeholder="璇疯緭鍏ュ紑绁ㄩ噾棰�" + @blur="invoiceAmountBlur(item)" + /> <!-- 鏈紑绁ㄤ俊鎭� --> - <u-form-item label="鏈紑绁ㄦ暟" border-bottom> - <u-input - v-model="item.noInvoiceNum" - readonly - /> - </u-form-item> - <u-form-item label="鏈紑绁ㄩ噾棰�(鍏�)" border-bottom> - <u-input - v-model="item.noInvoiceAmount" - readonly - /> - </u-form-item> + <van-field + v-model="item.noInvoiceNum" + label="鏈紑绁ㄦ暟" + readonly + /> + <van-field + v-model="item.noInvoiceAmount" + label="鏈紑绁ㄩ噾棰�(鍏�)" + readonly + /> </view> </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> + <view class="footer-btns"> + <van-button class="cancel-btn" @click="goBack">鍙栨秷</van-button> + <van-button class="save-btn" native-type="submit" form-type="submit">淇濆瓨</van-button> + </view> + </van-form> <!-- 鏃ユ湡閫夋嫨鍣� --> - <u-popup v-model="showIssueDatePicker" mode="bottom"> - <u-datetime-picker + <van-popup v-model:show="showIssueDatePicker" position="bottom"> + <van-date-picker v-model="currentIssueDate" title="閫夋嫨寮�绁ㄦ棩鏈�" @confirm="onIssueDateConfirm" @cancel="showIssueDatePicker = false" /> - </u-popup> + </van-popup> - <u-popup v-model="showCreateTimePicker" mode="bottom"> - <u-datetime-picker + <van-popup v-model:show="showCreateTimePicker" position="bottom"> + <van-date-picker v-model="currentCreateTime" title="閫夋嫨褰曞叆鏃ユ湡" @confirm="onCreateTimeConfirm" @cancel="showCreateTimePicker = false" /> - </u-popup> + </van-popup> </view> </template> <script setup> import { ref, reactive, onMounted } from 'vue' -// 鏇挎崲 Vant 鐨� toast 涓� uni 鍘熺敓鎴� uview-plus 鐨勬柟娉� -// import { showToast, showLoadingToast, closeToast } from 'vant' +import { showToast, showLoadingToast, closeToast } from 'vant' import { invoiceRegistrationSave } from '@/api/salesManagement/invoiceRegistration' import useUserStore from '@/store/modules/user' import {getSalesLedgerWithProducts} from "@/api/salesManagement/salesLedger"; - -// 鏇挎崲 toast 鏂规硶 -const showToast = (message) => { - uni.showToast({ - title: message, - icon: 'none' - }) -} - -const showLoadingToast = (message) => { - uni.showLoading({ - title: message || '鍔犺浇涓�...' - }) -} - -const closeToast = () => { - uni.hideLoading() -} const userStore = useUserStore() const editData = ref(null); -- Gitblit v1.9.3