fix: 统计功能,统一优化。

This commit is contained in:
tianyongbao
2024-10-24 19:14:15 +08:00
parent a79af70ca1
commit a3c3d7969a
14 changed files with 118 additions and 18 deletions

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="账户类型" prop="type">
<el-select v-model="queryParams.dataType" placeholder="请选择账户类型" clearable>
<el-select v-model="queryParams.dataType" placeholder="请选择账户类型" @change="handleChange" clearable>
<el-option v-for="dict in account_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@@ -151,6 +151,10 @@ const data = reactive({
})
const { queryParams, rules } = toRefs(data)
const handleChange = (id) => {
queryParams.value.dataType = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
const start = end

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="信用卡" prop="id">
<el-select v-model="queryParams.id" placeholder="请选择信用卡" clearable>
<el-select v-model="queryParams.id" placeholder="请选择信用卡" @change="handleCreditChange" clearable>
<el-option v-for="creditCard in creditCardList" :key="creditCard.id" :label="creditCard.nameCode" :value="creditCard.id" />
</el-select>
</el-form-item>
@@ -175,6 +175,12 @@ const data = reactive({
})
const { queryParams, queryCreditCardParams, rules } = toRefs(data)
const handleCreditChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2)
const start = dayjs(end).add(-11, 'months')

View File

@@ -296,7 +296,7 @@ function handleQuery() {
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm('queryRef')
queryParams.value.billState = '1'
queryParams.value.billState = null
handleQuery()
}

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="信用卡" style="width: 480px" prop="id">
<el-select v-model="queryParams.id" placeholder="请选择信用卡" clearable>
<el-select v-model="queryParams.id" placeholder="请选择信用卡" @change="handleChange" clearable>
<el-option v-for="account in accountsList" :key="account.id" :label="account.nameCodeAvailableLimit" :value="account.id" />
</el-select>
</el-form-item>
@@ -276,6 +276,12 @@ const data = reactive({
})
const { queryParams, queryAcccountsParams, rules } = toRefs(data)
const handleChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
const start = dayjs(end).add(-7, 'day')

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="信用卡" prop="bankCardLendId">
<el-select v-model="queryParams.id" placeholder="请选择信用卡" clearable>
<el-select v-model="queryParams.id" placeholder="请选择信用卡" @change="handleCreditChange" clearable>
<el-option v-for="creditCard in creditCardList" :key="creditCard.id" :label="creditCard.nameCode" :value="creditCard.id" />
</el-select>
</el-form-item>
@@ -213,6 +213,12 @@ const data = reactive({
})
const { queryParams, queryCreditCardParams, rules } = toRefs(data)
const handleCreditChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const start = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-01'
// 当前月份的结束日期

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="信用卡" prop="bankCardLendId">
<el-select v-model="queryParams.id" placeholder="信用卡" clearable>
<el-select v-model="queryParams.id" placeholder="信用卡" @change="handleCreditChange" clearable>
<el-option v-for="creditCard in creditCardList" :key="creditCard.id" :label="creditCard.nameCode" :value="creditCard.id" />
</el-select>
</el-form-item>
@@ -197,6 +197,11 @@ const data = reactive({
})
const { queryParams, queryCreditCardParams, rules } = toRefs(data)
const handleCreditChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2)
const start = dayjs(end).add(-239, 'months')

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="记账账户" style="width: 480px" prop="id">
<el-select v-model="queryParams.id" placeholder="请选择记账账户" clearable>
<el-select v-model="queryParams.id" placeholder="请选择记账账户" @change="handleChange" clearable>
<el-option v-for="account in accountsList" :key="account.id" :label="account.nameCodeAvailableLimit" :value="account.id" />
</el-select>
</el-form-item>
@@ -290,6 +290,10 @@ const data = reactive({
})
const { queryParams, queryAcccountsParams, rules } = toRefs(data)
const handleChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
const start = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-01'

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="储蓄账户" style="width: 480px" prop="id">
<el-select v-model="queryParams.id" placeholder="请选择储蓄账户" clearable>
<el-select v-model="queryParams.id" placeholder="请选择储蓄账户" @change="handleChange" clearable>
<el-option v-for="account in accountsList" :key="account.id" :label="account.nameCodeAvailableLimit" :value="account.id" />
</el-select>
</el-form-item>
@@ -276,6 +276,10 @@ const data = reactive({
})
const { queryParams, queryAcccountsParams, rules } = toRefs(data)
const handleChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
const start = dayjs(end).add(-7, 'day')

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="期货账户" prop="futureStocksId">
<el-select v-model="queryParams.id" placeholder="请选择期货账户" clearable>
<el-select v-model="queryParams.id" placeholder="请选择期货账户" @change="handleChange" clearable>
<el-option v-for="futureStocks in futureStocksList" :key="futureStocks.id" :label="futureStocks.nameCode" :value="futureStocks.id" />
</el-select>
</el-form-item>
@@ -197,6 +197,11 @@ const data = reactive({
})
const { queryParams, queryFutureStocksListParams, rules } = toRefs(data)
const handleChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2)
const start = dayjs(end).add(-59, 'months')

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="投资账户" style="width: 480px" prop="id">
<el-select v-model="queryParams.id" placeholder="请选择投资账户" clearable>
<el-select v-model="queryParams.id" placeholder="请选择投资账户" @change="handleChange" clearable>
<el-option v-for="account in accountsList" :key="account.id" :label="account.nameCodeAvailableLimit" :value="account.id" />
</el-select>
</el-form-item>
@@ -67,6 +67,28 @@
</div>
</div>
</div>
<div class="right-con">
<div class="img">
<img src="@/assets/images/average.png" alt="" />
</div>
<div class="item-wrap">
<div class="title">交易次数</div>
<div>
<span class="num">{{ account.count }}</span> <span class="unit"></span>
</div>
</div>
</div>
<div class="right-con">
<div class="img">
<img src="@/assets/images/average.png" alt="" />
</div>
<div class="item-wrap">
<div class="title">平均收益</div>
<div>
<span class="num">{{ account.average }}</span> <span class="unit"></span>
</div>
</div>
</div>
<div class="right-con">
<div class="img">
<img src="@/assets/images/average.png" alt="" />
@@ -94,13 +116,13 @@
<img src="@/assets/images/average.png" alt="" />
</div>
<div class="item-wrap">
<div class="title">盈利笔数</div>
<div class="title">交易笔数</div>
<div>
<span class="num">{{ account.incomeCount }}</span> <span class="unit"></span>
<span class="num">{{ account.incomeCount + account.expensesCount }}</span> <span class="unit"></span>
</div>
</div>
</div>
<div class="right-con">
<!-- <div class="right-con">
<div class="img">
<img src="@/assets/images/average.png" alt="" />
</div>
@@ -110,7 +132,7 @@
<span class="num">{{ account.expensesCount }}</span> <span class="unit"></span>
</div>
</div>
</div>
</div> -->
</div>
<div class="title-con" style="margin-top: 18px">
<div class="title">投资账户收益统计</div>
@@ -209,6 +231,11 @@ const data = reactive({
})
const { queryParams, queryAcccountsParams, rules } = toRefs(data)
const handleChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
const start = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-01'
@@ -238,6 +265,14 @@ function formatMultiLineData(data) {
return data.replace(/<br\/>/g, '<br/>')
}
}
function average() {
if (account.tableAccountsList.length > 0) {
return parseFloat(account.amount / account.tableAccountsList.length).toFixed(2)
} else {
return 0
}
}
const disabledDateFun = (time) => {
const arr = [0, 30, 365, 365 * 5]
const days = arr[queryParams.value.type]
@@ -304,6 +339,12 @@ function getList() {
getAcccountsDealAnalysis(params).then((response) => {
loading.value = false
account.value = { ...response.data }
account.value.count = response.data.tableAccountsList.length
if (response.data.tableAccountsList.length > 0) {
account.value.average = parseFloat(account.value.amount / response.data.tableAccountsList.length).toFixed(2)
} else {
account.value.average = 0
}
account.value.acccountsList.map((item) => {
return {
name: item.time,

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="贷款机构" prop="bankCardLendId">
<el-select v-model="queryParams.id" placeholder="请选择贷款机构" clearable>
<el-select v-model="queryParams.id" placeholder="请选择贷款机构" @change="handleCreditChange" clearable>
<el-option v-for="creditCard in creditCardList" :key="creditCard.id" :label="creditCard.nameCode" :value="creditCard.id" />
</el-select>
</el-form-item>
@@ -214,6 +214,11 @@ const data = reactive({
})
const { queryParams, queryCreditCardParams, rules } = toRefs(data)
const handleCreditChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const start = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-01'
// 当前月份的结束日期

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="贷款机构" prop="bankCardLendId">
<el-select v-model="queryParams.id" placeholder="请选择贷款机构" clearable>
<el-select v-model="queryParams.id" placeholder="请选择贷款机构" @change="handleCreditChange" clearable>
<el-option v-for="creditCard in creditCardList" :key="creditCard.id" :label="creditCard.nameCode" :value="creditCard.id" />
</el-select>
</el-form-item>
@@ -198,6 +198,12 @@ const data = reactive({
})
const { queryParams, queryCreditCardParams, rules } = toRefs(data)
const handleCreditChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2)
const start = dayjs(end).add(-239, 'months')

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="POS机" style="width: 500px" prop="id">
<el-select v-model="queryParams.id" placeholder="请选择POS机" clearable>
<el-select v-model="queryParams.id" placeholder="请选择POS机" @change="handleChange" clearable>
<el-option v-for="pos in posMachineList" :key="pos.id" :label="pos.nameMerchantName" :value="pos.id" />
</el-select>
</el-form-item>
@@ -193,6 +193,10 @@ const data = reactive({
})
const { queryParams, queryPosMachineParams, rules } = toRefs(data)
const handleChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)
const start = dayjs(end).add(-1, 'months')

View File

@@ -4,7 +4,7 @@
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules" label-width="100px">
<el-form-item label="股票账户" prop="futureStocksId">
<el-select v-model="queryParams.id" placeholder="请选择股票账户" clearable>
<el-select v-model="queryParams.id" placeholder="请选择股票账户" @change="handleChange" clearable>
<el-option v-for="futureStocks in futureStocksList" :key="futureStocks.id" :label="futureStocks.nameCode" :value="futureStocks.id" />
</el-select>
</el-form-item>
@@ -198,6 +198,10 @@ const data = reactive({
})
const { queryParams, queryFutureStocksListParams, rules } = toRefs(data)
const handleChange = (id) => {
queryParams.value.id = id
getList()
}
const today = new Date()
const end = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2)
const start = dayjs(end).add(-59, 'months')