| | |
| | | <!-- 使用通用页面头部组件 --> |
| | | <PageHeader title="编辑来票台账" @back="goBack" /> |
| | | |
| | | <u-form @submit="submitForm" ref="formRef" label-width="120" input-align="right" error-message-align="right"> |
| | | <u-cell-group title="基本信息"> |
| | | <u-form-item label="采购合同号" border-bottom> |
| | | <u-input v-model="form.purchaseContractNumber" readonly /> |
| | | </u-form-item> |
| | | <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.taxInclusiveUnitPrice" readonly /> |
| | | </u-form-item> |
| | | <u-form-item label="创建时间" border-bottom> |
| | | <u-input v-model="form.createdAt" readonly /> |
| | | </u-form-item> |
| | | <u-form-item label="发票号" border-bottom> |
| | | <u-input v-model="form.invoiceNumber" placeholder="请输入" readonly /> |
| | | </u-form-item> |
| | | <u-form-item label="来票数" prop="ticketsNum" required border-bottom> |
| | | <u-input v-model="form.ticketsNum" type="number" placeholder="请输入" @change="inputTicketsNum"/> |
| | | </u-form-item> |
| | | <u-form-item label="本次来票金额(元)" prop="ticketsAmount" required border-bottom> |
| | | <u-input v-model="form.ticketsAmount" type="number" placeholder="请输入" @change="inputTicketsAmount"/> |
| | | </u-form-item> |
| | | <van-form @submit="submitForm" ref="formRef" label-width="120px" 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.purchaseContractNumber" label="采购合同号" readonly /> |
| | | <van-field v-model="form.salesContractNo" label="销售合同号" readonly /> |
| | | <van-field v-model="form.taxInclusiveUnitPrice" label="含税单价(元)" readonly /> |
| | | <van-field v-model="form.createdAt" label="创建时间" readonly /> |
| | | <van-field v-model="form.invoiceNumber" label="发票号" placeholder="请输入" readonly /> |
| | | <van-field v-model="form.ticketsNum" label="来票数" type="number" placeholder="请输入" required :rules="[{ required: true, message: '请输入来票数' }]" @change="inputTicketsNum"/> |
| | | <van-field v-model="form.ticketsAmount" label="本次来票金额(元)" type="number" placeholder="请输入" required :rules="[{ required: true, message: '请输入本次来票金额' }]" @change="inputTicketsAmount"/> |
| | | <view class="tip-text">未来票数:{{ formatAmount(form.futureTickets) }} 元</view> |
| | | </u-cell-group> |
| | | <!-- <van-field v-model="form.invoicePerson" label="未来票数" readonly />--> |
| | | </van-cell-group> |
| | | |
| | | <!-- <van-cell-group title="附件材料(仅支持 pdf)" inset>--> |
| | | <!-- <van-uploader--> |
| | | <!-- accept=".pdf"--> |
| | | <!-- multiple--> |
| | | <!-- :after-read="afterReadUpload"--> |
| | | <!-- :before-read="beforeReadPdf"--> |
| | | <!-- >--> |
| | | <!-- <van-button class="upload-btn" icon="plus" type="primary" block>上传文件</van-button>--> |
| | | <!-- </van-uploader>--> |
| | | <!-- <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>--> |
| | | <!-- </view>--> |
| | | <!-- </view>--> |
| | | <!-- </van-cell-group>--> |
| | | |
| | | <view class="footer-btns"> |
| | | <u-button class="cancel-btn" @click="goBack">取消</u-button> |
| | | <u-button class="save-btn" type="primary" @click="submitForm">保存</u-button> |
| | | <van-button class="cancel-btn" @click="goBack">取消</van-button> |
| | | <van-button class="save-btn" native-type="submit" form-type="submit">保存</van-button> |
| | | </view> |
| | | </u-form> |
| | | </van-form> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, onMounted } from 'vue' |
| | | // 替换 Vant 的 toast 方法 |
| | | // import { showToast, showLoadingToast, closeToast } from 'vant' |
| | | import { showToast, showLoadingToast, closeToast } from 'vant' |
| | | import dayjs from 'dayjs' |
| | | import useUserStore from '@/store/modules/user' |
| | | import { getToken } from '@/utils/auth' |
| | | import { invoiceLedgerSaveOrUpdate } from '@/api/salesManagement/invoiceLedger.js' |
| | | import config from '@/config.js' |
| | | import {getProductRecordById, updateRegistration} from "@/api/procurementManagement/procurementInvoiceLedger"; |
| | | |
| | | // 替换 toast 方法 |
| | | const showToast = (message) => { |
| | | uni.showToast({ |
| | | title: message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | const showLoadingToast = (message) => { |
| | | uni.showLoading({ |
| | | title: message || '加载中...' |
| | | }) |
| | | } |
| | | |
| | | const closeToast = () => { |
| | | uni.hideLoading() |
| | | } |
| | | |
| | | const userStore = useUserStore() |
| | | |