| | |
| | | <PageHeader title="新增付款" @back="onClickLeft" /> |
| | | |
| | | <!-- 表单内容 --> |
| | | <u-form @submit="onSubmit" ref="formRef" label-width="110" input-align="right" error-message-align="right"> |
| | | <van-form @submit="onSubmit" 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.purchaseContractNumber" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | </u-form-item> |
| | | <u-form-item label="销售合同号" border-bottom> |
| | | <u-input |
| | | v-model="form.salesContractNo" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | </u-form-item> |
| | | <u-form-item label="供应商名称" border-bottom> |
| | | <u-input |
| | | v-model="form.supplierName" |
| | | placeholder="自动填充" |
| | | 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="发票金额(元)" border-bottom> |
| | | <u-input |
| | | v-model="form.invoiceAmount" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | </u-form-item> |
| | | <view class="tip-text">待付款金额:{{ currentNoReceiptAmount }} 元</view> |
| | | <u-form-item label="本次付款金额" prop="currentPaymentAmount" required border-bottom> |
| | | <u-input |
| | | v-model="form.currentPaymentAmount" |
| | | type="number" |
| | | placeholder="请输入" |
| | | @blur="changeNum" |
| | | clearable |
| | | /> |
| | | </u-form-item> |
| | | <u-form-item label="付款形式" prop="paymentMethod" required border-bottom> |
| | | <u-input |
| | | v-model="form.paymentMethod" |
| | | placeholder="请选择" |
| | | readonly |
| | | @click="showPaymentTypePicker" |
| | | /> |
| | | </u-form-item> |
| | | <u-form-item label="付款日期" prop="paymentDate" required border-bottom> |
| | | <u-input |
| | | v-model="form.paymentDate" |
| | | placeholder="请选择" |
| | | readonly |
| | | @click="showDatePicker" |
| | | /> |
| | | </u-form-item> |
| | | <u-form-item label="登记人" border-bottom> |
| | | <u-input |
| | | v-model="form.registrant" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | </u-form-item> |
| | | <u-form-item label="登记日期" prop="registrationtDate" required border-bottom> |
| | | <u-input |
| | | v-model="form.registrationtDate" |
| | | placeholder="请选择" |
| | | readonly |
| | | /> |
| | | </u-form-item> |
| | | </u-cell-group> |
| | | <van-cell-group title="基本信息" inset> |
| | | <van-field |
| | | v-model="form.purchaseContractNumber" |
| | | label="采购合同号" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | <van-field |
| | | v-model="form.salesContractNo" |
| | | label="销售合同号" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | <van-field |
| | | v-model="form.supplierName" |
| | | label="供应商名称" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | <van-field |
| | | v-model="form.invoiceNumber" |
| | | label="发票号" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | <van-field |
| | | v-model="form.invoiceAmount" |
| | | label="发票金额(元)" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | <view class="tip-text">待付款金额:{{ currentNoReceiptAmount }} 元</view> |
| | | <van-field |
| | | v-model="form.currentPaymentAmount" |
| | | label="本次付款金额" |
| | | type="number" |
| | | placeholder="请输入" |
| | | @blur="changeNum" |
| | | :rules="[{ required: true, message: '请输入付款金额' }]" |
| | | clearable |
| | | /> |
| | | <van-field |
| | | v-model="form.paymentMethod" |
| | | label="付款形式" |
| | | placeholder="请选择" |
| | | readonly |
| | | @click="showPaymentTypePicker" |
| | | :rules="[{ required: true, message: '请选择付款形式' }]" |
| | | /> |
| | | <van-field |
| | | v-model="form.paymentDate" |
| | | label="付款日期" |
| | | placeholder="请选择" |
| | | readonly |
| | | @click="showDatePicker" |
| | | :rules="[{ required: true, message: '请选择来款日期' }]" |
| | | /> |
| | | <van-field |
| | | v-model="form.registrant" |
| | | label="登记人" |
| | | placeholder="自动填充" |
| | | readonly |
| | | /> |
| | | <van-field |
| | | v-model="form.registrationtDate" |
| | | label="登记日期" |
| | | placeholder="请选择" |
| | | readonly |
| | | :rules="[{ required: true, message: '请选择来款日期' }]" |
| | | /> |
| | | </van-cell-group> |
| | | |
| | | <!-- 提交按钮 --> |
| | | <view class="footer-btns"> |
| | | <u-button class="cancel-btn" @click="onClickLeft">取消</u-button> |
| | | <u-button class="save-btn" type="primary" @click="onSubmit" :loading="loading">保存</u-button> |
| | | <van-button class="cancel-btn" @click="onClickLeft">取消</van-button> |
| | | <van-button class="save-btn" native-type="submit" form-type="submit" :loading="loading">保存</van-button> |
| | | </view> |
| | | </u-form> |
| | | </van-form> |
| | | |
| | | <!-- 付款方式选择器 --> |
| | | <u-popup v-model="showPaymentType" mode="bottom"> |
| | | <u-picker |
| | | v-model="pickerValue" |
| | | <van-popup v-model:show="showPaymentType" position="bottom"> |
| | | <van-picker |
| | | :model-value="pickerValue" |
| | | :columns="receipt_payment_type" |
| | | @confirm="onPaymentTypeConfirm" |
| | | @cancel="showPaymentType = false" |
| | | /> |
| | | </u-popup> |
| | | </van-popup> |
| | | |
| | | <!-- 日期选择器 --> |
| | | <u-popup v-model="showDate" mode="bottom"> |
| | | <u-datetime-picker |
| | | <van-popup v-model:show="showDate" position="bottom"> |
| | | <van-date-picker |
| | | v-model="currentDate" |
| | | title="选择日期" |
| | | @confirm="onDateConfirm" |
| | | @cancel="showDate = false" |
| | | /> |
| | | </u-popup> |
| | | </van-popup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, onMounted, computed } from 'vue' |
| | | import useUserStore from '@/store/modules/user' |
| | | // 替换 Vant 的 toast 和 notify |
| | | // import { showToast, showNotify } from 'vant' |
| | | import { showToast, showNotify } from 'vant' |
| | | import { useDict } from '@/utils/dict' |
| | | import {paymentRegistrationAdd} from "@/api/procurementManagement/paymentEntry"; |
| | | |
| | | // 替换 toast 和 notify 方法 |
| | | const showToast = (message) => { |
| | | uni.showToast({ |
| | | title: message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | const showNotify = ({ type, message }) => { |
| | | uni.showToast({ |
| | | title: message, |
| | | icon: type === 'warning' ? 'none' : 'success' |
| | | }) |
| | | } |
| | | |
| | | const userStore = useUserStore() |
| | | |