gaoluyang
6 天以前 adeb8b768926ed50a3fb0857f366d6a0308d2cc0
src/pages/procurementManagement/paymentEntry/add.vue
@@ -4,116 +4,136 @@
    <PageHeader title="新增付款" @back="onClickLeft" />
    
    <!-- 表单内容 -->
    <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-form @submit="onSubmit" ref="formRef" label-width="110" input-align="right" error-message-align="right">
      <!-- 基本信息 -->
      <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>
      <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>
      
      <!-- 提交按钮 -->
      <view class="footer-btns">
        <van-button class="cancel-btn" @click="onClickLeft">取消</van-button>
        <van-button class="save-btn" native-type="submit" form-type="submit" :loading="loading">保存</van-button>
        <u-button class="cancel-btn" @click="onClickLeft">取消</u-button>
        <u-button class="save-btn" type="primary" @click="onSubmit" :loading="loading">保存</u-button>
      </view>
    </van-form>
    </u-form>
    <!-- 付款方式选择器 -->
    <van-popup v-model:show="showPaymentType" position="bottom">
      <van-picker
            :model-value="pickerValue"
    <u-popup v-model="showPaymentType" mode="bottom">
      <u-picker
        v-model="pickerValue"
        :columns="receipt_payment_type"
        @confirm="onPaymentTypeConfirm"
        @cancel="showPaymentType = false"
      />
    </van-popup>
    </u-popup>
    <!-- 日期选择器 -->
    <van-popup v-model:show="showDate" position="bottom">
      <van-date-picker
    <u-popup v-model="showDate" mode="bottom">
      <u-datetime-picker
        v-model="currentDate"
        title="选择日期"
        @confirm="onDateConfirm"
        @cancel="showDate = false"
      />
    </van-popup>
    </u-popup>
  </view>
</template>
<script setup>
import { ref, onMounted, computed } from 'vue'
import useUserStore from '@/store/modules/user'
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()
// 表单引用