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/sales/invoicingRegistration/add.vue | 303 ++++++++++++++++++++++++++++---------------------- 1 files changed, 169 insertions(+), 134 deletions(-) diff --git a/src/pages/sales/invoicingRegistration/add.vue b/src/pages/sales/invoicingRegistration/add.vue index 64c1931..1156f6e 100644 --- a/src/pages/sales/invoicingRegistration/add.vue +++ b/src/pages/sales/invoicingRegistration/add.vue @@ -4,63 +4,67 @@ <PageHeader title="鏂板寮�绁ㄧ櫥璁�" @back="goBack" /> <!-- 琛ㄥ崟鍐呭 --> - <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-form @submit="submitForm" ref="formRef" label-width="110" input-align="right" error-message-align="right"> <!-- 鍩烘湰淇℃伅 --> - <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> + <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> <!-- 浜у搧淇℃伅 --> <view class="product-section"> @@ -69,7 +73,7 @@ </view> <view v-if="productData.length === 0" class="empty-state"> - <van-empty description="鏆傛棤浜у搧鏁版嵁" /> + <u-empty text="鏆傛棤浜у搧鏁版嵁" /> </view> <view v-else class="product-list"> @@ -81,121 +85,152 @@ <!-- 浜у搧澶撮儴 --> <view class="product-header"> <view class="product-title"> - <van-icon name="description" color="#2979ff" size="15" /> + <u-icon name="file-text" color="#2979ff" size="15" /> <text class="product-productCategory">浜у搧 {{ index + 1 }}</text> </view> </view> <!-- 浜у搧淇℃伅琛ㄥ崟 --> <view class="product-form"> - <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.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.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.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.noInvoiceNum" - label="鏈紑绁ㄦ暟" - readonly - /> - <van-field - v-model="item.noInvoiceAmount" - label="鏈紑绁ㄩ噾棰�(鍏�)" - readonly - /> + <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> </view> </view> </view> </view> <!-- 鎻愪氦鎸夐挳 --> - <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> + <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> <!-- 鏃ユ湡閫夋嫨鍣� --> - <van-popup v-model:show="showIssueDatePicker" position="bottom"> - <van-date-picker + <u-popup v-model="showIssueDatePicker" mode="bottom"> + <u-datetime-picker v-model="currentIssueDate" title="閫夋嫨寮�绁ㄦ棩鏈�" @confirm="onIssueDateConfirm" @cancel="showIssueDatePicker = false" /> - </van-popup> + </u-popup> - <van-popup v-model:show="showCreateTimePicker" position="bottom"> - <van-date-picker + <u-popup v-model="showCreateTimePicker" mode="bottom"> + <u-datetime-picker v-model="currentCreateTime" title="閫夋嫨褰曞叆鏃ユ湡" @confirm="onCreateTimeConfirm" @cancel="showCreateTimePicker = false" /> - </van-popup> + </u-popup> </view> </template> <script setup> import { ref, reactive, onMounted } from 'vue' -import { showToast, showLoadingToast, closeToast } from 'vant' +// 鏇挎崲 Vant 鐨� toast 涓� uni 鍘熺敓鎴� uview-plus 鐨勬柟娉� +// 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