gaoluyang
6 天以前 7a0ffb0048adeda9ebfbca1d0b525eb224c173e3
src/pages/sales/invoiceLedger/detail.vue
@@ -1,93 +1,56 @@
<template>
   <view class="invoice-detail">
   <view class="account-detail">
      <!-- 使用通用页面头部组件 -->
      <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
      <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
               accept=".pdf"
               multiple
               :afterRead="afterReadUpload"
               :beforeRead="beforeReadPdf"
               :after-read="afterReadUpload"
               :before-read="beforeReadPdf"
            >
               <u-button class="upload-btn" type="primary">
                  <u-icon name="plus" size="14" />
                  上传文件
               </u-button>
            </u-upload>
               <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>
                  <u-button size="mini" type="error" plain @click="removeUploaded(idx)">移除</u-button>
                  <van-button size="mini" type="danger" plain @click="removeUploaded(idx)">移除</van-button>
               </view>
            </view>
         </u-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>
         </view>
      </u-form>
         </van-cell-group>
      <!-- 开票日期选择器 -->
      <u-popup v-model="showInvoiceDatePicker" mode="bottom">
         <u-datetime-picker
            v-model="invoiceDateValue"
         <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>
         </view>
      </van-form>
      <van-popup v-model:show="showInvoiceDatePicker" position="bottom">
         <van-date-picker
            v-model="currentInvoiceDate"
            title="选择开票日期"
            @confirm="onInvoiceDateConfirm"
            @cancel="showInvoiceDatePicker = false"
         />
      </u-popup>
      </van-popup>
   </view>
</template>
<script setup>
// 替换 Vant 的 toast 方法
// import { showToast, showLoadingToast, closeToast } from 'vant'
// 替换 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'