From 16217be9c85f95cb236e639da6e546bb38cdc53d Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 05 十二月 2024 14:45:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin/src/views/finance/components/bullDetail.vue |  133 +++++++++++++++++++++++++------------------
 1 files changed, 77 insertions(+), 56 deletions(-)

diff --git a/admin/src/views/finance/components/bullDetail.vue b/admin/src/views/finance/components/bullDetail.vue
index bfea17f..d08fee0 100644
--- a/admin/src/views/finance/components/bullDetail.vue
+++ b/admin/src/views/finance/components/bullDetail.vue
@@ -1,63 +1,68 @@
 <template>
   <GlobalWindow :title="'璐﹀崟璇︽儏'" :visible.sync="visible" :confirm-working="isWorking" @close="close"
     @confirm="confirm">
-    <div class="home_title">
-      <div class="left">
-        <span class="mr10">浠樻鏂癸細{{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 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>
+          <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>
-      <el-button plain type="primary" @click="$refs.flowingWater.open('鍒涘缓鏀舵敮娴佹按', {
-        billType: info.billType,
-        billId: info.id,
-        costType: info.costType,
-        receivableFee: 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: info.actReceivableFee
-      })">鏂板缓鏀舵敮娴佹按</el-button>
-    </div>
-    <div class="line"></div>
-    <div class="main">
-      <div class="list" style="background: rgba(0,0,0,0); padding: 0; margin-bottom: 0;">
-        <div class="item" style="flex: 1;">
-          <div class="la">缁撴竻鐘舵��</div>
-          <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 0">寰呮敹娆�</div>
-          <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 1">宸茬粨娓�</div>
-          <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 2">閮ㄥ垎缁撴竻</div>
-          <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 3">寰呬粯娆�</div>
-          <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 4">寰呴��娆�</div>
-          <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 5">宸插叧闂�</div>
-        </div>
-        <div class="item" style="flex: 1;">
-          <div class="la">搴攞{info.billType === 0 ? '鏀�' : '浠�'}}閲戦锛堝厓锛�</div>
-          <div class="val" style="margin-top: 10px;">{{info.receivableFee}}</div>
-        </div>
-        <div class="item" style="flex: 1;">
-          <div class="la">瀹瀧{info.billType === 0 ? '鏀�' : '浠�'}}閲戦锛堝厓锛�</div>
-          <div class="val" style="margin-top: 10px;">{{info.actReceivableFee}}</div>
-        </div>
-        <div class="item" style="flex: 1;">
-          <div class="la">闇�{{info.billType === 0 ? '鏀�' : '浠�'}}閲戦锛堝厓锛�</div>
-          <div class="val" style="margin-top: 10px;">{{info.needReceivableFee}}</div>
-        </div>
-        <div class="item" style="flex: 1;">
-          <div class="la">搴攞{info.billType === 0 ? '鏀�' : '浠�'}}鏃ユ湡</div>
-          <div class="val" style="margin-top: 10px;">{{info.planPayDate}}</div>
+      <div class="line"></div>
+      <div class="main">
+        <div class="list" style="background: rgba(0,0,0,0); padding: 0; margin-bottom: 0;">
+          <div class="item" style="flex: 1;">
+            <div class="la">缁撴竻鐘舵��</div>
+            <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 0">寰呮敹娆�</div>
+            <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 1">宸茬粨娓�</div>
+            <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 2">閮ㄥ垎缁撴竻</div>
+            <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 3">寰呬粯娆�</div>
+            <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 4">寰呴��娆�</div>
+            <div class="val" style="margin-top: 10px;" v-if="info.payStatus === 5">宸插叧闂�</div>
+          </div>
+          <div class="item" style="flex: 1;">
+            <div class="la">搴攞{info.billType === 0 ? '鏀�' : '浠�'}}閲戦锛堝厓锛�</div>
+            <div class="val" style="margin-top: 10px;">{{info.receivableFee}}</div>
+          </div>
+          <div class="item" style="flex: 1;">
+            <div class="la">瀹瀧{info.billType === 0 ? '鏀�' : '浠�'}}閲戦锛堝厓锛�</div>
+            <div class="val" style="margin-top: 10px;">{{info.actReceivableFee}}</div>
+          </div>
+          <div class="item" style="flex: 1;">
+            <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;">
+            <div class="la">搴攞{info.billType === 0 ? '鏀�' : '浠�'}}鏃ユ湡</div>
+            <div class="val" style="margin-top: 10px;">{{info.planPayDate}}</div>
+          </div>
         </div>
       </div>
-    </div>
-    <div class="tabs">
-      <div class="tab" :class="{ active: activeTabs == 0 }" @click="tabsClick(0)">鍩虹淇℃伅</div>
-<!--      <div class="tab" :class="{ active: activeTabs == 1 }" @click="tabsClick(1)">璐﹀崟鏄庣粏</div>-->
-      <div class="tab" :class="{ active: activeTabs == 2 }" @click="tabsClick(2)">鏀舵敮娴佹按</div>
+      <div class="tabs">
+        <div class="tab" :class="{ active: activeTabs == 0 }" @click="tabsClick(0)">鍩虹淇℃伅</div>
+        <div class="tab" :class="{ active: activeTabs == 2 }" @click="tabsClick(2)">鏀舵敮娴佹按</div>
+      </div>
     </div>
     <div class="main">
       <div class="title">鍩虹淇℃伅</div>
@@ -80,7 +85,7 @@
         </div>
         <div class="item">
           <div class="la">鍚堝悓缂栧彿</div>
-          <div class="val">{{info.contractCode}}</div>
+          <div class="val" style="color: #2080f7; cursor: pointer;" @click="handleDetail(info.contractId)">{{info.contractCode}}</div>
         </div>
         <div class="item">
           <div class="la">鍒涘缓鏃堕棿</div>
@@ -183,6 +188,8 @@
     </div>
     <!--  鍒涘缓娴佹按  -->
     <FlowingWater ref="flowingWater" @success="getDetails" @refresh="Refresh" />
+    <!--  鍚堝悓璇︽儏  -->
+    <ContractDetail ref="ContractDetailRef" />
   </GlobalWindow>
 </template>
 
@@ -190,11 +197,13 @@
 import GlobalWindow from '@/components/common/GlobalWindow'
 import BaseOpera from '@/components/base/BaseOpera'
 import FlowingWater from './flowingWater'
+import ContractDetail from '../../contract/components/contractDetail'
 import { getYwContractBillById } from '@/api/contract'
 export default {
   components: {
     GlobalWindow,
-    FlowingWater
+    FlowingWater,
+    ContractDetail
   },
   extends: BaseOpera,
   data() {
@@ -212,6 +221,9 @@
       this.id = id
       this.getDetails()
     },
+    handleDetail (id) {
+      this.$refs.ContractDetailRef.open('鍚堝悓璇︽儏', id)
+    },
     getDetails () {
       getYwContractBillById(this.id)
         .then(res => {
@@ -219,6 +231,15 @@
           this.visible = true
         })
     },
+    returnBillType () {
+      if (this.info.payStatus === 0) {
+        return 0
+      } else if (this.info.payStatus === 2) {
+        return this.info.billType
+      } else if ([3,4].includes(this.info.payStatus)) {
+        return 1
+      }
+    },
     Refresh () {
       this.$emit('success')
     },

--
Gitblit v1.9.3