gaoluyang
6 天以前 7a0ffb0048adeda9ebfbca1d0b525eb224c173e3
src/pages/sales/receiptPayment/add.vue
@@ -4,105 +4,99 @@
    <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.salesContractNo"
            placeholder="自动填充"
            readonly
          />
        </u-form-item>
        <u-form-item label="客户名称" border-bottom>
          <u-input
            v-model="form.customerName"
            placeholder="自动填充"
            readonly
          />
        </u-form-item>
        <u-form-item label="发票号" border-bottom>
          <u-input
            v-model="form.invoiceNo"
            placeholder="自动填充"
            readonly
          />
        </u-form-item>
        <u-form-item label="发票金额(元)" border-bottom>
          <u-input
            v-model="form.invoiceTotal"
            placeholder="自动填充"
            readonly
          />
        </u-form-item>
        <u-form-item label="税率" border-bottom>
          <u-input
            v-model="form.taxRate"
            placeholder="自动填充"
            readonly
          />
        </u-form-item>
        <view class="tip-text">待回款金额:{{ currentNoReceiptAmount }} 元</view>
        <u-form-item label="本次回款金额" prop="receiptPaymentAmount" required border-bottom>
          <u-input
            v-model="form.receiptPaymentAmount"
            type="number"
            placeholder="请输入"
            @blur="changeNum"
            clearable
          />
        </u-form-item>
        <u-form-item label="回款形式" prop="receiptPaymentTypeName" required border-bottom>
          <u-input
            v-model="form.receiptPaymentTypeName"
            placeholder="请选择"
            readonly
            @click="showPaymentTypePicker"
          />
        </u-form-item>
        <u-form-item label="来款日期" prop="receiptPaymentDate" required border-bottom>
          <u-input
            v-model="form.receiptPaymentDate"
            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-cell-group>
      <van-cell-group title="基本信息" inset>
        <van-field
          v-model="form.salesContractNo"
          label="销售合同号"
          placeholder="自动填充"
          readonly
        />
        <van-field
          v-model="form.customerName"
          label="客户名称"
          placeholder="自动填充"
          readonly
        />
        <van-field
          v-model="form.invoiceNo"
          label="发票号"
          placeholder="自动填充"
          readonly
        />
        <van-field
          v-model="form.invoiceTotal"
          label="发票金额(元)"
          placeholder="自动填充"
          readonly
        />
        <van-field
          v-model="form.taxRate"
          label="税率"
          placeholder="自动填充"
          readonly
        />
            <view class="tip-text">待回款金额:{{ currentNoReceiptAmount }} 元</view>
        <van-field
          v-model="form.receiptPaymentAmount"
          label="本次回款金额"
          type="number"
          placeholder="请输入"
               @blur="changeNum"
          :rules="[{ required: true, message: '请输入回款金额' }]"
          clearable
        />
        <van-field
          v-model="form.receiptPaymentTypeName"
          label="回款形式"
          placeholder="请选择"
          readonly
          @click="showPaymentTypePicker"
          :rules="[{ required: true, message: '请选择回款形式' }]"
        />
            <van-field
               v-model="form.receiptPaymentDate"
               label="来款日期"
               placeholder="请选择"
               readonly
               @click="showDatePicker"
               :rules="[{ required: true, message: '请选择来款日期' }]"
            />
        <van-field
          v-model="form.registrant"
          label="登记人"
          placeholder="自动填充"
          readonly
        />
      </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>
@@ -110,24 +104,8 @@
import { ref, onMounted, computed } from 'vue'
import { receiptPaymentSaveOrUpdate, invoiceInfo } from '@/api/salesManagement/receiptPayment'
import useUserStore from '@/store/modules/user'
// 替换 Vant 的 toast 和 notify
// import { showToast, showNotify } from 'vant'
import { showToast, showNotify } from 'vant'
import { useDict } from '@/utils/dict'
// 替换 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()