From a2107782b73b26a07252d6a1ee507e3fd1a366c2 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 08 一月 2025 18:26:44 +0800
Subject: [PATCH] 页面
---
admin/src/views/finance/components/bullDetail.vue | 249 ++++++++++++++++++++++++++++++-------------------
1 files changed, 151 insertions(+), 98 deletions(-)
diff --git a/admin/src/views/finance/components/bullDetail.vue b/admin/src/views/finance/components/bullDetail.vue
index 2f99054..ac60691 100644
--- a/admin/src/views/finance/components/bullDetail.vue
+++ b/admin/src/views/finance/components/bullDetail.vue
@@ -1,85 +1,111 @@
<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 class="home_title">
- <div class="left">
- <span class="mr10">浠樻鏂癸細xxx</span>
- <el-tag type="success">status</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.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>
- <el-button plain type="primary" @click="$refs.flowingWater.open('鍒涘缓鏀舵敮娴佹按')">鏂板缓鏀舵敮娴佹按</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;">宸茬粨娓�</div>
- </div>
- <div class="item" style="flex: 1;">
- <div class="la">搴旀敹閲戦锛堝厓锛�</div>
- <div class="val" style="margin-top: 10px;">1,000.00</div>
- </div>
- <div class="item" style="flex: 1;">
- <div class="la">瀹炴敹閲戦锛堝厓锛�</div>
- <div class="val" style="margin-top: 10px;">1,000.00</div>
- </div>
- <div class="item" style="flex: 1;">
- <div class="la">闇�浠橀噾棰濓紙鍏冿級</div>
- <div class="val" style="margin-top: 10px;">1,000.00</div>
- </div>
- <div class="item" style="flex: 1;">
- <div class="la">搴旀敹鏃ユ湡</div>
- <div class="val" style="margin-top: 10px;">2024-11-16</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>
<div class="list" style="background: rgba(0,0,0,0); padding: 0;">
<div class="item">
- <div class="la">璐﹀崟绫诲瀷</div>
- <div class="val">绉熼噾</div>
+ <div class="la">璐圭敤绫诲瀷</div>
+ <div class="val">{{returnText(info.costType)}}</div>
</div>
<div class="item">
<div class="la">璁¤垂鍛ㄦ湡</div>
- <div class="val">2024-11-17 ~ 2025-11-17</div>
+ <div class="val">{{info.startDate}} ~ {{info.endDate}}</div>
</div>
<div class="item">
<div class="la">璐﹀崟閲戦(鍏�)</div>
- <div class="val">10000.00</div>
+ <div class="val">{{info.totleFee}}</div>
</div>
<div class="item">
<div class="la">璐﹀崟缂栧彿</div>
- <div class="val">ZD20241117-0002</div>
+ <div class="val">{{info.code}}</div>
</div>
<div class="item">
<div class="la">鍚堝悓缂栧彿</div>
- <div class="val">202411-0017</div>
+ <div class="val" style="color: #2080f7; cursor: pointer;" @click="handleDetail(info.contractId)">{{info.contractCode}}</div>
</div>
<div class="item">
<div class="la">鍒涘缓鏃堕棿</div>
- <div class="val">2024-11-16 15:17:01</div>
+ <div class="val">{{info.createDate}}</div>
</div>
<div class="item">
<div class="la">浠樻鏂�</div>
- <div class="val">XX鍏徃</div>
+ <div class="val">{{info.customerName}}</div>
</div>
<div class="item">
<div class="la">缁忓姙浜�</div>
- <div class="val">寮犱笁</div>
+ <div class="val">{{info.realname}}</div>
</div>
<div class="item">
<div class="la">鎵�灞炲叕鍙�</div>
- <div class="val">XXX鏈夐檺鍏徃</div>
+ <div class="val">{{info.companyName}}</div>
</div>
<div class="item">
<div class="la">璐﹀崟澶囨敞</div>
- <div class="val">杩欐槸澶囨敞鍐呭</div>
+ <div class="val">{{info.remark}}</div>
</div>
<div class="item"></div>
<div class="item"></div>
@@ -87,102 +113,83 @@
<div class="title">鎴挎簮淇℃伅</div>
<div class="list" style="background: rgba(0,0,0,0); padding: 0;">
<el-table
- :data="tableData"
+ :data="info.ywContractRoomList"
border
style="width: 100%">
<el-table-column
- prop="date"
+ prop="projectName"
label="椤圭洰鍚嶇О">
</el-table-column>
<el-table-column
- prop="name"
+ prop="floorName"
label="妤煎畤鍚嶇О">
</el-table-column>
<el-table-column
- prop="address"
label="妤煎眰/鎴垮彿">
+ <template slot-scope="{row}">
+ {{row.buildingName}}/{{row.roomName}}
+ </template>
</el-table-column>
<el-table-column
- prop="address"
label="闈㈢Н">
- </el-table-column>
- </el-table>
- </div>
- <div class="title">璐﹀崟鏄庣粏</div>
- <div class="list" style="background: rgba(0,0,0,0); padding: 0;">
- <el-table
- :data="tableData"
- border
- style="width: 100%">
- <el-table-column
- prop="date"
- label="璐圭敤绫诲瀷">
- </el-table-column>
- <el-table-column
- prop="name"
- label="搴旀敹/浠橀噾棰�">
- </el-table-column>
- <el-table-column
- prop="address"
- label="瀹炴敹閲戦">
- </el-table-column>
- <el-table-column
- prop="address"
- label="闇�鏀堕噾棰�">
- </el-table-column>
- <el-table-column
- prop="address"
- label="璁¤垂鍛ㄦ湡">
- </el-table-column>
- <el-table-column
- prop="address"
- label="搴旀敹/浠樻棩鏈�">
- </el-table-column>
- <el-table-column
- prop="address"
- label="澶囨敞">
+ <template slot-scope="{row}">
+ {{row.area}}銕�
+ </template>
</el-table-column>
</el-table>
</div>
<div class="title">鏀舵敮娴佹按</div>
<div class="list" style="background: rgba(0,0,0,0); padding: 0;">
<el-table
- :data="tableData"
+ :data="info.ywContractRevenueList"
border
style="width: 100%">
<el-table-column
- prop="date"
label="娴佹按绫诲瀷">
+ <template slot-scope="{row}">
+ <span v-if="row.revenueType === 0">鏀跺叆</span>
+ <span v-if="row.revenueType === 1">鏀嚭</span>
+ </template>
</el-table-column>
<el-table-column
- prop="name"
+ prop="customerName"
label="瀵规柟鍗曚綅鍚嶇О">
</el-table-column>
<el-table-column
- prop="address"
label="璐圭敤绫诲瀷">
+ <template slot-scope="{row}">
+ <span v-if="row.payType === 0">鐜伴噾</span>
+ <span v-if="row.payType === 1">缃戦摱杞处</span>
+ <span v-if="row.payType === 2">POS鏈�</span>
+ <span v-if="row.payType === 3">鏀粯瀹�</span>
+ <span v-if="row.payType === 4">寰俊</span>
+ <span v-if="row.payType === 5">杞处鏀エ</span>
+ <span v-if="row.payType === 6">鍏朵粬</span>
+ </template>
</el-table-column>
<el-table-column
- prop="address"
+ prop="actPayDate"
label="鍏ヨ处鏃ユ湡">
</el-table-column>
<el-table-column
- prop="address"
+ prop="actReceivableFee"
label="鍙戠敓棰�">
</el-table-column>
<el-table-column
- prop="address"
+ prop="createDate"
label="鍒涘缓鏃堕棿">
</el-table-column>
<el-table-column
- prop="address"
+ prop="remark"
label="澶囨敞">
</el-table-column>
</el-table>
</div>
</div>
<!-- 鍒涘缓娴佹按 -->
- <FlowingWater ref="flowingWater" />
+ <FlowingWater ref="flowingWater" @success="getDetails" @refresh="Refresh" />
+ <!-- 鍚堝悓璇︽儏 -->
+ <ContractDetail ref="ContractDetailRef" />
</GlobalWindow>
</template>
@@ -190,10 +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() {
@@ -206,11 +216,54 @@
}
},
methods: {
+ open (title, id) {
+ this.title = title
+ this.id = id
+ this.getDetails()
+ },
+ handleDetail (id) {
+ this.$refs.ContractDetailRef.open('鍚堝悓璇︽儏', id)
+ },
+ getDetails () {
+ getYwContractBillById(this.id)
+ .then(res => {
+ this.info = res
+ 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')
+ },
tabsClick(val) {
this.activeTabs = val
},
- getDetail() {
-
+ returnText (e) {
+ if (e === 0) {
+ return '绉熻祦璐�'
+ } else if (e === 1) {
+ return '鐗╀笟璐�'
+ } else if (e === 2) {
+ return '绉熻祦鎶奸噾'
+ } else if (e === 3) {
+ return '鐗╀笟鎶奸噾'
+ } else if (e === 4) {
+ return '姘寸數璐�'
+ } else if (e === 5) {
+ return '鏉傞」璐�'
+ } else if (e === 6) {
+ return '鍏朵粬'
+ } else if (e === 7) {
+ return '淇濊瘉閲�'
+ }
}
}
}
--
Gitblit v1.9.3