财务部分统计补充

szh-new
lijingjia 2 months ago
parent a99cfb1839
commit f4c36dc26b

@ -87,6 +87,14 @@
<style lang="less">
.ds-approve-fee-table-p {
.ant-table-thead {
height: 26px;
span {
display: inline-block;
height: 26px;
line-height: 26px;
}
}
display: flex;
flex-direction: row;
.ds-form {

@ -19,6 +19,19 @@
<span v-else class="ds-orange-status"> {{ record.feeStatusText }}</span>
</template>
</template>
<template #footer>
<div class="main-statistic">
<span>申请金额合计</span>
<span class="box">
<span class="title">应收RMB:</span>
<span class="count">{{ state.payableCNY }}</span>
</span>
<span class="box">
<span class="title">应付USD:</span>
<span class="count">{{ state.payableUSD }}</span>
</span>
</div>
</template>
</BasicTable>
</div>
</template>
@ -51,12 +64,11 @@
feeHeight: {
type: Number,
default: 162
},
state: {
type: Object
}
})
const emit = defineEmits(['checkProfit'])
const checkProfit = () => {
return emit('checkProfit')
}
const data = ref([])
//
const tbWidth = ref(100)
@ -92,7 +104,7 @@
bordered: false,
showIndexColumn: true,
canResize: true,
resizeHeightOffset: 1,
resizeHeightOffset: 10,
immediate: false
})
emitter.on('showTodo', (v) => {
@ -134,10 +146,14 @@
tbWidth.value = 100
}
}
const statisticData = ref({})
watch(
() => props.id,
(v) => {
if (v) {
// GetApplicationStat({ id: v }).then(res => {
// statisticData.value = res.data
// })
reload()
} else {
setTableData([])
@ -175,5 +191,27 @@
font-size: 14px;
}
}
.main-statistic {
background: #ffffff;
margin-left: 20px;
font-size: 12px;
height: 34px;
display: flex;
align-items: center;
.title {
font-size: 12px;
font-weight: 600;
}
.count {
font-size: 12px;
font-weight: 600;
color: #257AFA;
}
.box {
background: #F5F9FC;
margin-left: 10px;
padding: 0 5px;
}
}
}
</style>

@ -42,12 +42,15 @@
</BasicTable>
<div class="fee-box">
<div class="orange-msg">
此付费客户存在应收费用{{ state.receivableTotal }}
此付费客户存在应收费用{{ state.recvByCustomer }}
</div>
<a-button class="file-btn" v-repeat type="link" @click="openFile">
<span class="iconfont icon-fujian1"></span>附件
</a-button>
<a-tabs v-model:activeKey="activeKey">
<a-tab-pane key="1" tab="付费申请信息">
<div>
<FeeTable :id="busId">
<FeeTable :id="busId" :state="state">
<Divider type="vertical" />
<a-table
id="fee-statistic"
@ -73,11 +76,9 @@
:id="busId"
/>
</a-tab-pane>
<a-button v-repeat type="link" @click="openFile">
<span class="iconfont icon-fujian1"></span>附件
</a-button>
</a-tabs>
</div>
<invoiceFile ref="invoiceFileRef"></invoiceFile>
</div>
</a-spin>
</template>
@ -87,7 +88,7 @@
import { formatParams } from '/@/hooks/web/common'
import { GetList, GetApplicationStat } from './api'
import { Divider } from 'ant-design-vue'
import { useModal } from '/@/components/Modal'
import invoiceFile from '/@/views/operation/invoiceIssue/detail/invoiceFile.vue'
import { columns, searchFormSchema } from './columns'
import { useMessage } from '/@/hooks/web/useMessage'
import FeeTable from './components/feeTable.vue'
@ -106,6 +107,7 @@
const res = await GetList(p)
if (res?.data?.length) state.BRowKeys = [res.data[0].id]
setSelectedRows([res.data[0]])
feeStatistic(res.data[0].id)
return new Promise((resolve) => {
resolve({ data: [...res.data], total: res.count })
})
@ -130,7 +132,9 @@
//
const state = reactive({
BRowKeys: [],
receivableTotal: 0,
recvByCustomer: 0,
payableCNY: 0,
payableUSD: 0,
totalItems: []
})
const activeKey = ref('1')
@ -188,14 +192,17 @@
customerId: row[0].customerId,
businessType: 1
}).then(res => {
if (res.data.receivableTotal) state.receivableTotal = (res.data.receivableTotal).toLocaleString()
if (res.data.recvByCustomer) state.recvByCustomer = (res.data.recvByCustomer).toLocaleString()
if (res.data.payableCNY) state.payableCNY = (res.data.payableCNY).toLocaleString()
if (res.data.payableUSD) state.payableUSD = (res.data.payableUSD).toLocaleString()
state.totalItems = res.data.totalItems
})
}
}
const invoiceFileRef = ref(null)
//
const openFile = () => {
// fileRef.value.init()
invoiceFileRef.value.init(busId.value)
}
// Y
// const clientY = ref()
@ -271,6 +278,12 @@
}
.fee-box {
position: relative;
.file-btn {
position: absolute;
top: 7px;
left: 195px;
z-index: 10;
}
.ant-table-title {
display: none;
}

@ -53,8 +53,6 @@
import { onMounted, ref, defineEmits, defineProps, watch, defineExpose } from 'vue'
import { BasicTable, useTable } from '/@/components/Table'
import { columns } from './applyInfoColumns'
//
import DsFile from "/@/components/File/index.vue"
import { Divider } from 'ant-design-vue'
import invoiceFile from '/@/views/operation/invoiceIssue/detail/invoiceFile.vue'
import { DeleteDetail } from '../../api'

@ -38,7 +38,7 @@
<div style="height: 48px;">
<a-button type="link" @click="save" style="margin: 8px -10px;">
<span class="iconfont icon-zengjiatianjiajiajian" :style="{ fontSize: '12px' }"></span>
加申请费用明细
加申请费用明细
</a-button>
</div>
<feeTable
@ -132,7 +132,7 @@
//
const pother = ref(0)
const loading = ref(false)
const [registerTable, { reload, getForm, getSelectRowKeys, getPaginationRef, getSelectRows, setSelectedRows, getDataSource }] = useTable({
const [registerTable, { reload, getForm, getSelectRows, setSelectedRows, getDataSource }] = useTable({
api: async (p) => {
const res = await GetBizList(p)
res.data.forEach((item, index) => {

Loading…
Cancel
Save