jiangping
2025-06-06 a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea
admin/src/views/finance/components/bullDetail.vue
@@ -1,30 +1,33 @@
<template>
  <GlobalWindow :title="'账单详情'" :visible.sync="visible" :confirm-working="isWorking" @close="close"
  <GlobalWindow :title="'账单详情'" :withFooter="false" :visible.sync="visible" :confirm-working="isWorking" @close="close"
    @confirm="confirm">
    <div style="width: 100%; position: sticky; top: 0; left: 0; z-index: 999; background: #ffffff;">
      <div class="home_title">
        <div class="left">
          <span class="mr10">付款方:{{info.customerName}}</span>
          <span class="mr10">{{info.billType === 0 ? '收款方' : '付款方'}}:{{info.customerName}}</span>
          <el-tag type="success" v-if="info.status === 0">开启</el-tag>
          <el-tag type="info" v-if="info.status === 1">关闭</el-tag>
        </div>
        <el-button plain type="primary" v-if="![1].includes(info.payStatus)" @click="$refs.flowingWater.open('创建收支流水', {
          billType: returnBillType(),
          billId: info.id,
          costType: info.costType,
          receivableFee: Math.abs(info.needReceivableFee),
          costTypeName: returnText(info.costType),
          contractCode: info.contractCode,
          contractId: info.contractId,
          startDate: info.startDate,
          endDate: info.endDate,
          multifileList: [],
          date: `${info.startDate} ~ ${info.endDate}`,
          companyId: info.companyId,
          companyName: info.companyName,
          actReceivableFee: Math.abs(info.needReceivableFee),
          needReceivableFeeCopy: info.needReceivableFee
        })">新建收支流水</el-button>
        <div style="display: flex; align-items: center;">
          <el-button @click="$refs.call.open('发送催缴通知', [info.id])" v-if="info.isOverdue === 1 && info.billType === 0">发送缴费通知</el-button>
          <el-button plain type="primary" v-if="![1].includes(info.payStatus)" @click="$refs.flowingWater.open('创建收支流水', {
            billType: returnBillType(),
            billId: info.id,
            costType: info.costType,
            receivableFee: Math.abs(info.needReceivableFee),
            costTypeName: returnText(info.costType),
            contractCode: info.contractCode,
            contractId: info.contractId,
            startDate: info.startDate,
            endDate: info.endDate,
            multifileList: [],
            date: `${info.startDate} ~ ${info.endDate}`,
            companyId: info.companyId,
            companyName: info.companyName,
            actReceivableFee: Math.abs(info.needReceivableFee),
            needReceivableFeeCopy: info.needReceivableFee
          })">新建收支流水</el-button>
        </div>
      </div>
      <div class="line"></div>
      <div class="main">
@@ -47,7 +50,10 @@
            <div class="val" style="margin-top: 10px;">{{info.actReceivableFee}}</div>
          </div>
          <div class="item" style="flex: 1;">
            <div class="la">需{{info.needReceivableFee > 0 ? '收' : '付'}}金额(元)</div>
            <template v-if="info.billType === 1">
              <div class="la">需付金额(元)</div>
            </template>
            <div class="la" v-else>需{{info.needReceivableFee > 0 ? '收' : '付'}}金额(元)</div>
            <div class="val" style="margin-top: 10px;">{{Math.abs(info.needReceivableFee)}}</div>
          </div>
          <div class="item" style="flex: 1;">
@@ -187,6 +193,8 @@
    <FlowingWater ref="flowingWater" @success="getDetails" @refresh="Refresh" />
    <!--  合同详情  -->
    <ContractDetail ref="ContractDetailRef" />
    <!--  发送缴费通知  -->
    <Call ref="call" />
  </GlobalWindow>
</template>
@@ -194,13 +202,15 @@
import GlobalWindow from '@/components/common/GlobalWindow'
import BaseOpera from '@/components/base/BaseOpera'
import FlowingWater from './flowingWater'
import Call from './call'
import ContractDetail from '../../contract/components/contractDetail'
import { getYwContractBillById } from '@/api/contract'
export default {
  components: {
    GlobalWindow,
    FlowingWater,
    ContractDetail
    ContractDetail,
    Call
  },
  extends: BaseOpera,
  data() {