From adeb8b768926ed50a3fb0857f366d6a0308d2cc0 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期五, 29 八月 2025 17:45:57 +0800 Subject: [PATCH] 修改组件 --- src/pages/sales/invoiceLedger/detail.vue | 97 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 66 insertions(+), 31 deletions(-) diff --git a/src/pages/sales/invoiceLedger/detail.vue b/src/pages/sales/invoiceLedger/detail.vue index d8913d3..84a888a 100644 --- a/src/pages/sales/invoiceLedger/detail.vue +++ b/src/pages/sales/invoiceLedger/detail.vue @@ -1,56 +1,91 @@ <template> - <view class="account-detail"> + <view class="invoice-detail"> <!-- 浣跨敤閫氱敤椤甸潰澶撮儴缁勪欢 --> - <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"> - <van-cell-group title="鍩烘湰淇℃伅" inset> - <van-field v-model="form.salesContractNo" label="閿�鍞悎鍚屽彿" readonly /> - <van-field v-model="form.customerName" label="瀹㈡埛鍚嶇О" readonly /> - <van-field v-model="form.invoiceNo" label="鍙戠エ鍙�" placeholder="璇疯緭鍏�" required :rules="[{ required: true, message: '璇疯緭鍏ュ彂绁ㄥ彿' }]" /> - <van-field v-model="form.invoiceTotal" label="鍙戠エ閲戦(鍏�)" type="number" placeholder="璇疯緭鍏�" required :rules="[{ required: true, message: '璇疯緭鍏ュ彂绁ㄩ噾棰�' }]" /> - <view class="tip-text" v-if="form.taxInclusiveTotalPrice">鍚堝悓鎬婚锛歿{ formatAmount(form.taxInclusiveTotalPrice) }} 鍏�</view> - <van-field v-model="form.invoicePerson" label="寮�绁ㄤ汉" readonly /> - <van-field v-model="form.invoiceDate" label="寮�绁ㄦ棩鏈�" readonly placeholder="璇烽�夋嫨" @click="showInvoiceDatePicker = true" required :rules="[{ required: true, message: '璇烽�夋嫨寮�绁ㄦ棩鏈�' }]" /> - </van-cell-group> - - <van-cell-group title="闄勪欢鏉愭枡锛堜粎鏀寔 pdf锛�" inset> - <van-uploader + <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="閿�鍞悎鍚屽彿" border-bottom> + <u-input v-model="form.salesContractNo" readonly /> + </u-form-item> + <u-form-item label="瀹㈡埛鍚嶇О" border-bottom> + <u-input v-model="form.customerName" readonly /> + </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="invoiceTotal" required border-bottom> + <u-input v-model="form.invoiceTotal" type="number" placeholder="璇疯緭鍏�" /> + </u-form-item> + <u-form-item label="寮�绁ㄤ汉" border-bottom> + <u-input v-model="form.invoicePerson" readonly /> + </u-form-item> + <u-form-item label="寮�绁ㄦ棩鏈�" prop="invoiceDate" required border-bottom> + <u-input v-model="form.invoiceDate" readonly placeholder="璇烽�夋嫨" @click="showInvoiceDatePicker = true" /> + </u-form-item> + </u-cell-group> + + <u-cell-group title="闄勪欢鏉愭枡锛堜粎鏀寔 pdf锛�"> + <u-upload accept=".pdf" multiple - :after-read="afterReadUpload" - :before-read="beforeReadPdf" + :afterRead="afterReadUpload" + :beforeRead="beforeReadPdf" > - <van-button class="upload-btn" icon="plus" type="primary" block>涓婁紶鏂囦欢</van-button> - </van-uploader> + <u-button class="upload-btn" type="primary"> + <u-icon name="plus" size="14" /> + 涓婁紶鏂囦欢 + </u-button> + </u-upload> <view class="uploaded-list" v-if="fileList.length"> <view class="uploaded-item" v-for="(f, idx) in fileList" :key="idx"> <text class="file-name">{{ f.name || getFileNameFromUrl(f.url) }}</text> - <van-button size="mini" type="danger" plain @click="removeUploaded(idx)">绉婚櫎</van-button> + <u-button size="mini" type="error" plain @click="removeUploaded(idx)">绉婚櫎</u-button> </view> </view> - </van-cell-group> - + </u-cell-group> + + <!-- 鎻愪氦鎸夐挳 --> <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> + <u-button class="cancel-btn" @click="goBack">鍙栨秷</u-button> + <u-button class="save-btn" type="primary" @click="submitForm">淇濆瓨</u-button> </view> - </van-form> + </u-form> - <van-popup v-model:show="showInvoiceDatePicker" position="bottom"> - <van-date-picker - v-model="currentInvoiceDate" + <!-- 寮�绁ㄦ棩鏈熼�夋嫨鍣� --> + <u-popup v-model="showInvoiceDatePicker" mode="bottom"> + <u-datetime-picker + v-model="invoiceDateValue" title="閫夋嫨寮�绁ㄦ棩鏈�" @confirm="onInvoiceDateConfirm" @cancel="showInvoiceDatePicker = false" /> - </van-popup> + </u-popup> </view> </template> <script setup> + +// 鏇挎崲 toast 鏂规硶 +const showToast = (message) => { + uni.showToast({ + title: message, + icon: 'none' + }) +} + +const showLoadingToast = (message) => { + uni.showLoading({ + title: message || '鍔犺浇涓�...' + }) +} + +const closeToast = () => { + uni.hideLoading() +} + import { ref, onMounted } from 'vue' -import { showToast, showLoadingToast, closeToast } from 'vant' import dayjs from 'dayjs' import useUserStore from '@/store/modules/user' import { getToken } from '@/utils/auth' -- Gitblit v1.9.3