<template>
  <!-- 收费查询-账单查询 -->
  <div class="white_bg burt-container custom-info">
    <Goback title="理赔件详情" />
    <!-- form -->
    <a-form-model ref="form" layout="vertical" :model="form">
      <a-row :gutter="30">
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="保险公司">
            <a-select
              v-model="form.payorCode"
              placeholder="请选择保险公司"
              allow-clear
              showSearch
              :disabled="!isEdit"
              optionFilterProp="label"
            >
              <a-select-option
                v-for="item in companyOptions"
                :key="item.id"
                :value="item.payorCode"
                :label="item.longName"
              >
                {{ item.longName }}
              </a-select-option>
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="寄送状态">
            <a-select
              v-model="form.sendSts"
              placeholder="请选择寄送状态"
              allow-clear
              :disabled="!isEdit"
            >
              <a-select-option value="1">已寄送</a-select-option>
              <a-select-option value="2">未寄送</a-select-option>
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="快递公司">
            <a-select
              v-model="form.sendCompany"
              placeholder="请选择快递公司"
              showSearch
              allow-clear
              :disabled="!isEdit"
            >
              <a-select-option
                v-for="item in expressList"
                :key="item.id"
                :value="item.descCh"
                >{{ item.descCh }}</a-select-option
              >
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="快递单号">
            <a-input
              v-model="form.trackingNo"
              placeholder="请输入快递单号"
              allow-clear
              :disabled="!isEdit"
            />
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="寄送方式">
            <a-select
              v-model="form.sendMode"
              placeholder="请选择寄送方式"
              allow-clear
              :disabled="!isEdit"
            >
              <a-select-option value="快递">快递</a-select-option>
              <a-select-option value="邮件">邮件</a-select-option>
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="寄送日期">
            <a-date-picker
              format="YYYY年MM月DD日"
              v-model="form.sendDate"
              placeholder="选择日期"
            />
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="寄送地址">
            <a-input
              v-model="form.sendAddress"
              placeholder="请输入寄送地址"
              allow-clear
              :disabled="!isEdit"
            />
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="寄送邮箱">
            <a-input
              v-model="form.sendEmail"
              placeholder="请输入寄送邮箱"
              allow-clear
              :disabled="!isEdit"
            />
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="寄送备注">
            <a-textarea
              v-model="form.sendRemark"
              placeholder="请输入寄送备注"
              :auto-size="{ minRows: 2, maxRows: 5 }"
              allow-clear
              :disabled="!isEdit"
            />
          </a-form-model-item>
        </a-col>
        <a-col :sm="24" class="none-label" v-if="isEdit">
          <div class="btn-div flex">
            <span></span>
            <a-form-model-item label="button">
              <a-button
                class="mar-left10"
                type="primary"
                @click.stop="addNewCharge(true)"
              >
                <Icon
                  :name="sendBatchNo ? 'ssibaocun' : 'ssiadd'"
                  :size="14"
                />{{ sendBatchNo ? '保存寄送' : '新建寄送' }}</a-button
              >
            </a-form-model-item>
          </div>
        </a-col>
      </a-row>
    </a-form-model>
    <a-form-model ref="form" layout="vertical" :model="searchForm">
      <a-row :gutter="30">
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="账单日期">
            <a-range-picker
              format="YYYY-MM-DD"
              value-format="YYYY-MM-DD"
              v-model="searchForm.visitTimeStart"
              :placeholder="['选择账单开始日期', '选择账单结束日期']"
            />
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="病历号">
            <a-input
              v-model="searchForm.mrnNo"
              placeholder="请输入病历号"
              allow-clear
            />
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="客户名称">
            <a-input
              v-model="searchForm.patientName"
              placeholder="请输入客户名称"
              allow-clear
            />
          </a-form-model-item>
        </a-col>
      </a-row>
      <a-row :gutter="30">
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="账单编号">
            <a-input
              v-model="searchForm.receiptNo"
              placeholder="请输入账单编号"
              allow-clear
            />
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="状态">
            <a-select
              v-model="searchForm.rStatus"
              placeholder="请选择状态"
              allow-clear
            >
              <a-select-option
                :key="item.code"
                :value="item.code"
                v-for="item in statusOptions"
                >{{ item.name }}</a-select-option
              >
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="8" :sm="12">
          <a-form-model-item label="就诊日期">
            <a-range-picker
              format="YYYY-MM-DD"
              value-format="YYYY-MM-DD"
              v-model="searchForm.admissionDateStart"
              :placeholder="['选择开始日期', '选择结束日期']"
            />
          </a-form-model-item>
        </a-col>
      </a-row>
      <a-row :gutter="30">
        <a-col :sm="24" class="none-label">
          <div class="btn-div flex">
            <div class="total-div flex">
              <div>
                <span>总账单数:</span>
                <span class="blue-text">{{
                  totalListNum + selectedRowKeys.length
                }}</span>
                条
                <span :style="{ color: 'red' }" v-if="invalidNum > 0"
                  >(无效{{ invalidNum }} 条)</span
                >
              </div>
              <div>
                <span>理赔金额合计:</span>
                <span class="blue-text">¥{{ totalAmount }}</span>
                <span :style="{ color: 'red' }" v-if="invalidActualAmount > 0"
                  >(无效{{ invalidActualAmount }}元)</span
                >
              </div>
              <a-button
                v-if="isEditNewBill"
                size="small"
                type="primary"
                @click="checkAll"
                >全选</a-button
              >
            </div>
            <a-form-model-item label="button">
              <a-button type="primary" @click="handlerSearch">
                <Icon name="ssisearch_active" :size="14" />查询
              </a-button>
              <a-button class="mar-left10" type="primary" @click="exportEvt">
                <Icon name="ssidaochu" :size="14" />导出
              </a-button>
              <a-button
                class="mar-left10"
                type="primary"
                @click.stop="addNewBill"
                v-if="isEdit"
              >
                <Icon
                  :name="isEditNewBill ? 'ssibaocun' : 'ssiadd'"
                  :size="14"
                />{{ isEditNewBill ? '保存账单' : '添加账单' }}</a-button
              >
            </a-form-model-item>
          </div>
        </a-col>
      </a-row>
    </a-form-model>

    <!-- table -->
    <a-table
      :columns="columns"
      :data-source="dataList"
      :scroll="{ x: true }"
      :pagination="false"
      :row-selection="
        isEditNewBill
          ? { selectedRowKeys: selectedRowKeys, onChange: onSelectChange }
          : null
      "
    >
      <template slot="sendDate" slot-scope="text">
        {{ text ? moment(text).format('YYYY-MM-DD') : '' }}
      </template>
      <template slot="sendSts" slot-scope="text">
        {{ text == 1 ? '已寄送' : '未寄送' }}
      </template>
      <template slot="status" slot-scope="text">
        <span :style="{ color: text == 2 ? 'red' : '' }">{{
          text == 1 ? '有效' : text == 2 ? '无效' : ''
        }}</span>
      </template>
      <template slot="operation" slot-scope="text, record">
        <!-- <a-button type="link" @click.stop="editEvt(record)">修改</a-button> -->
        <a-button type="link" class="danger" @click.stop="delRecord(record)"
          >删除</a-button
        >
      </template>
    </a-table>
    <!--分页-->
    <BurtPagination :pagination="pagination" @pageChange="getPageData" />

    <a-modal
      title="编辑"
      :visible="dialogShow"
      width="700px"
      :maskClosable="false"
      okText="确定"
      cancelText="取消"
      @ok="handleEditOK"
      @cancel="dialogShow = false"
    >
      <a-form-model ref="editForm" :model="editFormObj" :rules="editRules">
        <a-row :gutter="30">
          <a-col :lg="12" :xs="24">
            <a-form-model-item label="保险公司" prop="payorCode">
              <a-select
                v-model="editFormObj.payorCode"
                placeholder="请选择保险公司"
                allowClear
              >
                <a-select-option
                  v-for="item in companyOptions"
                  :key="item.id"
                  :value="item.payorCode"
                >
                  {{ item.longName }}
                </a-select-option>
              </a-select>
            </a-form-model-item>
          </a-col>
          <a-col :lg="12" :sm="24">
            <a-form-model-item label="寄送状态" prop="sendSts">
              <a-select
                v-model="editFormObj.sendSts"
                placeholder="请选择寄送状态"
                allowClear
              >
                <a-select-option :value="1">已寄送</a-select-option>
                <a-select-option :value="2">未寄送</a-select-option>
              </a-select>
            </a-form-model-item>
          </a-col>
          <a-col :lg="12" :sm="24">
            <a-form-model-item label="寄送日期" prop="sendDate">
              <a-date-picker
                format="YYYY年MM月DD日"
                v-model="editFormObj.sendDate"
                placeholder="选择日期"
              />
            </a-form-model-item>
          </a-col>
          <a-col :lg="12" :xs="24">
            <a-form-model-item label="快递单号" prop="trackingNo">
              <a-input
                v-model.trim="editFormObj.trackingNo"
                placeholder="快递单号"
              />
            </a-form-model-item>
          </a-col>
        </a-row>
        <a-row :gutter="30">
          <a-col :lg="12" :xs="24">
            <a-form-model-item label="寄送备注" prop="sendRemark">
              <a-textarea
                v-model.trim="editFormObj.sendRemark"
                placeholder="寄送备注"
              />
            </a-form-model-item>
          </a-col>
        </a-row>
      </a-form-model>
    </a-modal>
  </div>
</template>

<script>
import Goback from '@/components/Customers/goback'
import BurtPagination from '@/components/Customers/pagation'
import moment from 'moment'
import Big from 'big.js'
// import { numValid } from "@/utils/index"

export default {
  data() {
    return {
      loading: false,
      dialogShow: false,
      isEdit: false,
      sendBatchNo: '', //寄送批号
      form: {
        payorCode: '',
        sendSts: '',
        sendMode: '',
        sendDate: '',
        sendCompany: '',
        trackingNo: '',
        sendAddress: '',
        sendEmail: '',
        sendRemark: ''
      },
      searchForm: {},
      searchData: {},
      companyOptions: [], //保险公司
      expressList: [], //快递列表
      selectedRowKeys: [], // Check here to configure the default column
      dataList: [],
      cacheDataList: {},
      isEditNewBill: false, //是否在新建账单
      pagination: {
        pageNum: 1,
        pageSize: 500,
        total: 0
      },
      editFormObj: {
        payorCode: '',
        sendSts: '',
        sendDate: '',
        trackingNo: '',
        sendRemark: ''
      },
      editRules: {
        sendDate: [
          { required: true, message: '请选择寄送日期', trigger: 'change' }
        ],
        trackingNo: [
          { required: true, message: '请输入寄送单号', trigger: 'blur' }
        ]
      },
      statusOptions: [
        {
          name: '无效',
          code: 2
        },
        {
          name: '有效',
          code: 1
        }
      ],
      totalActualAmount: 0,
      totalListNum: 0,
      selectActualAmount: 0,
      invalidNum: 0,
      invalidActualAmount: 0
    }
  },
  components: {
    Goback,
    BurtPagination
  },
  computed: {
    totalAmount() {
      console.log(
        this.totalActualAmount,
        this.selectActualAmount,
        Number(this.totalActualAmount * 100) + this.selectActualAmount * 100
      )
      if (this.isEditNewBill) {
        return Big(this.totalActualAmount).plus(this.selectActualAmount)
      } else {
        return this.totalActualAmount
      }
    },
    columns() {
      const base = [
        {
          title: '账单日期',
          dataIndex: 'receiptDate',
          width: 120,
          fixed: 'left',
          scopedSlots: { customRender: 'receiptDate' }
        },
        {
          title: '状态',
          dataIndex: 'status',
          key: 'status',
          align: 'center',
          fixed: 'left',
          width: 60,
          scopedSlots: { customRender: 'status' }
        },
        {
          title: '客户姓名',
          dataIndex: 'patientName',
          fixed: 'left',
          width: 120
        },
        {
          title: '就诊日期',
          dataIndex: 'admissionDate',
          fixed: 'left',
          width: 120
        },
        {
          title: '病历号',
          dataIndex: 'mrnNo',
          key: 'mrnNo',
          align: 'center',
          width: 136
        },
        {
          title: '保险公司',
          dataIndex: 'payorName',
          ellipsis: true,
          width: 250
        },
        { title: '保险卡号', dataIndex: 'memberCardNo', width: 140 },
        { title: '客户生日', dataIndex: 'birthday', width: 120 },
        {
          title: '就诊医生',
          dataIndex: 'doctorName',
          width: 100,
          align: 'center'
        },
        {
          title: '应收金额',
          dataIndex: 'chargeAmount',
          width: 100,
          align: 'center'
        },
        {
          title: '折扣金额',
          dataIndex: 'discountAmount',
          width: 100,
          align: 'center'
        },
        {
          title: '减免金额',
          dataIndex: 'reduceAmount',
          width: 100,
          align: 'center'
        },
        {
          title: '客户自付',
          dataIndex: 'selfpaidAmount',
          width: 100,
          align: 'center'
        },
        {
          title: '理赔金额',
          dataIndex: 'actualAmount',
          width: 100,
          align: 'center'
        },
        {
          title: '账单编号',
          dataIndex: 'receiptNo',
          key: 'receiptNo',
          align: 'center'
        }
      ]
      if (this.sendBatchNo && !this.isEditNewBill && this.isEdit) {
        // 编辑状态下已经保存的数据才可进行操作
        return base.concat([
          {
            title: '操作',
            key: 'operation',
            width: '100px',
            fixed: 'right',
            scopedSlots: { customRender: 'operation' }
          }
        ])
      }
      return base
    }
  },
  created() {
    const { sendBatchNo, isEdit } = this.$route.query
    this.sendBatchNo = sendBatchNo
    this.isEdit = isEdit
    this._getCompanyOptions()
    this.getRefcdByRefgrp()
    if (this.sendBatchNo) {
      let jisongDataDetail = localStorage.getItem('jisongDataDetail')
      this.form = jisongDataDetail ? JSON.parse(jisongDataDetail) : {}
      this.getData()
    }
  },
  methods: {
    moment,
    onSelectChange(selectedRowKeys) {
      let arr = []
      this.selectActualAmount = 0
      for (let i = 0; i < selectedRowKeys.length; i++) {
        let idx = selectedRowKeys[i]
        if (this.dataList[idx].sendBatchNo) {
          this.$msg.destroy()
          this.$message.warning('寄送批号已存在')
        } else {
          arr.push(idx)
          if (idx.status == 2) {
            this.invalidNum++
            this.invalidActualAmount = Big(this.invalidActualAmount).plus(
              this.dataList[idx].actualAmount
            )
          }
          this.selectActualAmount = Big(this.selectActualAmount).plus(
            this.dataList[idx].actualAmount
          )
        }
      }
      this.selectedRowKeys = arr
    },
    // 全选
    checkAll() {
      this.$apis
        .queryNoSendReceipList({
          pageNum: 1,
          pageSize: this.pagination.total,
          payorCode: this.form.payorCode,
          ...this.searchData
        })
        .then((res) => {
          if (res.returnCode == '0000') {
            const dataList = res.content.list || []
            const selectedRowKeys = dataList.map((item, index) => index)
            this.onSelectChange(selectedRowKeys)
            const index = Math.ceil(dataList.length / this.pagination.pageSize)
            for (let i = 1; i < index + 1; i++) {
              this.cacheDataList[i] = dataList.slice(
                (i - 1) * this.pagination.pageSize,
                i * this.pagination.pageSize
              )
            }
          } else {
            this.$message.error(res.returnMsg)
          }
        })
    },
    // 分页回调
    getPageData(pager) {
      console.log(pager, 1111)
      if (pager) {
        this.pagination = {
          ...this.pagination,
          ...pager
        }
      }
      if (this.isEditNewBill) {
        // 新增时添加了账单信息 那分页也应该是调账单信息接口
        this._getNewBillList()
      } else {
        this.getData()
      }
    },
    // 获取列表数据
    getData() {
      this.selectedRowKeys = []
      let filter = {
        pageNum: this.pagination.pageNum,
        pageSize: this.pagination.pageSize,
        sendBatchNo: this.sendBatchNo || undefined,
        ...this.searchData
      }
      this.$apis.querySendReceipList(filter).then((res) => {
        if (res.returnCode == '0000') {
          let content = res.content || {}
          this.pagination.total = content.total || 0
          this.dataList = content.list || []
          this.cacheDataList[filter.pageNum] = this.dataList
          this.getTotal()
        } else {
          this.$message.error(res.returnMsg)
        }
      })
    },
    // 计算总保费
    getTotal() {
      let totalNum = 0
      let totalMoney = 0
      let invalidNum = 0
      let invalidActualAmount = 0
      if (this.dataList.length > 0) {
        this.dataList.forEach((item) => {
          totalNum++
          totalMoney = Big(totalMoney).plus(item.actualAmount)
          if (item.status == 2) {
            invalidNum++
            invalidActualAmount = Big(invalidActualAmount).plus(
              item.actualAmount
            )
          }
        })
      }
      this.totalActualAmount = totalMoney
      this.totalListNum = totalNum
      this.invalidNum = invalidNum
      this.invalidActualAmount = invalidActualAmount
    },
    // 获取保险公司下拉选项
    _getCompanyOptions() {
      this.$apis.getCompanyOptions().then((res) => {
        this.companyOptions = res.content || []
      })
    },
    // 获取快递列表
    getRefcdByRefgrp() {
      this.$apis
        .getRefcdByRefgrp({
          modid: 'CI',
          refgrp: 'SEND_COMPANY'
        })
        .then((res) => {
          this.expressList = res.content || []
        })
    },
    //查看
    detailEvt(record) {
      const { receiptNo } = record
      this.$router.push({
        name: 'chargeQueryDetail',
        query: { receiptNo }
      })
    },
    editEvt(record) {
      this.editFormObj = {
        ciReceiptSendVos: [
          {
            id: record.id,
            receiptNo: record.receiptNo
          }
        ],
        payorCode: record.payorCode || '',
        sendSts: Number(record.sendSts) || '',
        sendDate: record.sendDate || '',
        trackingNo: record.trackingNo || '',
        sendRemark: record.sendRemark || ''
      }
      this.dialogShow = true
    },
    //编辑保存
    handleEditOK() {
      this.$refs.editForm.validate((valid) => {
        if (valid) {
          this.$apis
            .saceReceipSendInfo({
              ...this.editFormObj,
              sendDate: moment(this.editFormObj.sendDate).format(
                'YYYY-MM-DD 00:00:00'
              )
            })
            .then((res) => {
              if (res.returnCode == '0000') {
                this.$message.success('编辑成功')
                this.dialogShow = false
                this.getData()
              } else {
                this.$message.error(res.returnMsg)
              }
            })
        }
      })
    },
    handlerSearch() {
      this.pagination.pageNum = 1
      let visitTimeStart = this.searchForm.visitTimeStart || []
      let admissionDateStart = this.searchForm.admissionDateStart || []
      this.searchData = this.$lodash.cloneDeep({
        ...this.searchForm,
        admissionDateStart: admissionDateStart[0]
          ? admissionDateStart[0] + ' 00:00:00'
          : undefined,
        admissionDateEnd: admissionDateStart[1]
          ? admissionDateStart[1] + ' 23:59:59'
          : undefined,
        visitTimeEnd: visitTimeStart[1]
          ? visitTimeStart[1] + ' 23:59:59'
          : undefined,
        visitTimeStart: visitTimeStart[0]
          ? visitTimeStart[0] + ' 00:00:00'
          : undefined
      })
      if (this.isEditNewBill) {
        // 新增时添加了账单信息 那分页也应该是调账单信息接口
        this._getNewBillList()
      } else {
        this.getData()
      }
    },
    //删除
    delRecord(data) {
      this.$modal.confirm({
        title: '删除',
        content: '确定删除该条记录?',
        okText: '确定',
        cancelText: '取消',
        onOk: () => {
          this.$apis
            .deleteSendReceipt({
              ciReceiptSendVos: [{ receiptNo: data.receiptNo }],
              sendBatchNo: this.sendBatchNo
            })
            .then((res) => {
              if (res.returnCode == '0000') {
                this.$message.success('删除成功')
                this.getData()
                // this.dataList.splice(index, 1);
              } else {
                this.$message.error(res.returnMsg)
              }
            })
        }
      })
    },
    //导出
    exportEvt() {
      let visitTimeStart = this.searchForm.visitTimeStart || []
      let api = ''

      if (!this.isEditNewBill) {
        // 新增时添加了账单信息 那分页也应该是调账单信息接口
        api = this.$apis.sendReceipListExport
      } else {
        api = this.$apis.noSendReceipListExport
      }
      api({
        sendBatchNo: this.sendBatchNo || undefined,
        ...this.searchForm,
        payorCode: this.form.payorCode || undefined,
        visitTimeEnd: visitTimeStart[1]
          ? visitTimeStart[1] + ' 23:59:59'
          : undefined,
        visitTimeStart: visitTimeStart[0]
          ? visitTimeStart[0] + ' 00:00:00'
          : undefined
      }).then((res) => {
        let blob = new Blob([res.data], {
          type: 'application/vnd.ms-excel;charset=utf-8'
        })
        let url = window.URL.createObjectURL(blob)
        let aLink = document.createElement('a')
        aLink.style.display = 'none'
        aLink.href = url
        aLink.setAttribute(
          'download',
          !this.isEditNewBill ? '寄送账单.xls' : '未寄送账单.xls'
        )
        document.body.appendChild(aLink)
        aLink.click()
        document.body.removeChild(aLink)
        window.URL.revokeObjectURL(url)
      })
    },
    //添加账单
    addNewBill() {
      if (this.isEditNewBill) {
        //保存
        this.addNewCharge().then(() => {
          this.isEditNewBill = false
        })
      } else {
        //查询所有未加入的账单
        this.pagination.pageNum = 1
        this.isEditNewBill = true
        this.cacheDataList = {}
        if (this.isEditNewBill) {
          // 新增时添加了账单信息 那分页也应该是调账单信息接口
          this._getNewBillList()
        } else {
          this.getData()
        }
      }
    },
    _getNewBillList() {
      this.$apis
        .queryNoSendReceipList({
          pageNum: this.pagination.pageNum,
          pageSize: this.pagination.pageSize,
          payorCode: this.form.payorCode,
          ...this.searchData
        })
        .then((res) => {
          if (res.returnCode == '0000') {
            // this.selectedRowKeys = [];
            let content = res.content || {}
            this.pagination.total = content.total || 0
            this.dataList = content.list || []
            this.cacheDataList[this.pagination.pageNum] = this.dataList
          } else {
            this.$message.error(res.returnMsg)
          }
        })
    },
    checkBeforeSave() {
      if (!this.form.trackingNo) {
        this.$message.warning('请输入快递单号')
        return false
      }
      if (!this.form.sendDate) {
        this.$message.warning('请选择寄送日期')
        return false
      }
      let allData = []
      for (let i in this.cacheDataList) {
        allData = allData.concat(this.cacheDataList[i])
      }
      let ciReceiptSendVos = []
      if (this.isEditNewBill) {
        ciReceiptSendVos = []
        allData.forEach((item, index) => {
          if (this.selectedRowKeys.indexOf(index) != -1) {
            ciReceiptSendVos.push({
              id: item.id,
              receiptNo: item.receiptNo,
              selfpaidAmount: item.selfpaidAmount
            })
          }
        })
      } else {
        ciReceiptSendVos = allData.map((item) => {
          return {
            id: item.id,
            receiptNo: item.receiptNo,
            selfpaidAmount: item.selfpaidAmount
          }
        })
      }
      // for(let i = 0; i < ciReceiptSendVos.length; i ++) {
      //     const selfpaidAmount = ciReceiptSendVos[i].selfpaidAmount
      //     if(selfpaidAmount && !numValid.test(selfpaidAmount)){
      //         this.$message.warning("请输入正确的客户自付金额");
      //         return false;
      //     }
      // }
      return {
        ...this.form,
        ciReceiptSendVos: ciReceiptSendVos,
        sendDate: moment(this.form.sendDate).format('YYYY-MM-DD 00:00:00'),
        sendBatchNo: this.sendBatchNo || undefined
      }
    },
    //新建/保存寄送
    addNewCharge(flag = false) {
      return new Promise((resolve, reject) => {
        let formData = this.checkBeforeSave()
        if (!formData) {
          reject()
          return false
        }
        this.$apis.saceReceipSendInfo(formData).then((res) => {
          if (res.returnCode == '0000') {
            this.sendBatchNo = res.content
            this.$message.success('成功')
            // this.selectedRowKeys = [];
            this.cacheDataList = {}
            if (flag) {
              this.isEditNewBill = false
              this.getData()
              return true
            }
            if (!this.isEditNewBill) {
              // 新增时添加了账单信息 那分页也应该是调账单信息接口
              this._getNewBillList()
            } else {
              this.getData()
            }
            resolve()
          } else {
            this.$message.error(res.returnMsg)
            reject()
          }
        })
      })
    }
  }
}
</script>
<style lang="less" scoped>
.none-label {
  text-align: right;
  .ant-form-item-label {
    opacity: 0;
  }
}
.ant-btn .icon-class {
  .mg-r(10);
}
.btn-div {
  justify-content: space-between;
}
.total-div {
  gap: 20px;
  div span:first-child {
    font-weight: bold;
    font-family: PingFangSC-Medium, PingFang SC;
    font-size: 14px;
  }
}
</style>