fix: 新功能开发完善。

This commit is contained in:
tianyongbao
2024-10-28 13:09:06 +08:00
parent df34762355
commit 66c776c753
48 changed files with 5845 additions and 1633 deletions

View File

@@ -1,117 +1,335 @@
<template>
<view class="work-container">
<!-- 宫格组件 -->
<uni-section title="健康管理" v-show="auth.hasPermi('health:person:list')" type="line"></uni-section>
<view class="grid-body">
<uni-grid :column="4" :showBorder="false">
<uni-grid-item v-for="(item, index) in healthGridList" :key="index" v-show="auth.hasPermi(item.permission)" @click="navigateTo(item.path)">
<view class="grid-item-box">
<uni-icons :type="item.icon" size="30"></uni-icons>
<text class="text">{{ item.text }}</text>
</view>
</uni-grid-item>
</uni-grid>
<view class="content">
<view class="text-area">
<text class="title"></text>
</view>
</view>
<div class="app-container" style="overflow: auto">
<div class="header-title" ref="searchHeightRef">&nbsp;&nbsp;&nbsp;&nbsp;健康总览</div>
<div class="header-con" ref="searchHeightRef">
<div class="item">
<img src="../../assets/one.png" alt="" />
<div class="info-sum">
<div class="title">成员数</div>
<div class="num">3<span></span></div>
</div>
</div>
<div class="item">
<img src="../../assets/ticketSum.png" alt="" />
<div class="info-sum">
<div class="title">档案数量</div>
<div class="num">5<span></span></div>
</div>
</div>
</div>
<div class="header-con" ref="searchHeightRef">
<div class="item">
<img src="../../assets/one.png" alt="" />
<div class="info-sum">
<div class="title">就医次数</div>
<div class="num">8<span></span></div>
</div>
</div>
<div class="item">
<img src="../../assets/ticketSum.png" alt="" />
<div class="info-sum">
<div class="title">用药次数</div>
<div class="num">100<span></span></div>
</div>
</div>
</div>
<div class="header-con" ref="searchHeightRef">
<div class="item">
<img src="../../assets/one.png" alt="" />
<div class="info-sum">
<div class="title">体温记录</div>
<div class="num">88<span></span></div>
</div>
</div>
<div class="item">
<img src="../../assets/ticketSum.png" alt="" />
<div class="info-sum">
<div class="title">体重身高记录</div>
<div class="num">100<span></span></div>
</div>
</div>
</div>
<div class="header-con" ref="searchHeightRef">
<div class="item">
<img src="../../assets/one.png" alt="" />
<div class="info-sum">
<div class="title">活动记录</div>
<div class="num">8<span></span></div>
</div>
</div>
<div class="item">
<img src="../../assets/ticketSum.png" alt="" />
<div class="info-sum">
<div class="title">药品数量</div>
<div class="num">10<span></span></div>
</div>
</div>
</div>
<div></div>
</div>
</view>
</template>
<script setup>
import { ref, onMounted } from 'vue';
import { getPosAccountsInfo, getInvestAccountsInfo, getCreditReportInfo, getLendAccountsInfo, getCreditAccountsInfo, getDebitAccountsInfo } from '@/api/invest/accountAnalysis.js'
import auth from "@/plugins/auth"; // 建议使用auth进行鉴权操作
//POS机信息
const posCount = ref(0) //POS机总数
const currentMonthAmount = ref(0) //当月刷卡金额
const currentMonthCommission = ref(0) //当月刷卡手续费
const currentMonthCount = ref(0) //当月刷卡次数
const currentYearAmount = ref(0) //当年刷卡金额
const currentYearCommission = ref(0) //当年刷卡手续费
const currentYearCount = ref(0) //当年刷卡次数
const accumulateAmount = ref(0) //累计刷卡金额
const accumulateCommission = ref(0) //累计刷卡手续费
const accumulateCount = ref(0) //累计刷卡次数
// 也可以使用下面的方式
import { ref } from "vue";
//投资账户信息
const stocksCount = ref(0) //股票账户
const futuresCount = ref(0) //期货账户
const currentMonthInvest = ref(0) //当月收益
const currentMonthIncome = ref(0) //当月盈利
const currentMonthExpenses = ref(0) //当月亏损
const futuresIncome = ref(0) //期货收益
const totalIncome = ref(0) //投资总收益
const stocksIncome = ref(0) //股票收益
const investBalance = ref(0) //投资账户余额
const healthGridList=ref([
{ path: '/pages/health/healthRecord/list', text: '健康档案', icon: 'wallet-filled', permission: 'health:healthRecord:list' },
{ path: '/pages/health/temperatureRecord/list', text: '体温记录', icon: 'wallet', permission: 'health:temperatureRecord:list' },
{ path: '/pages/health/doctorRecord/list', text: '就医记录', icon: 'upload', permission: 'health:doctorRecord:list' },
{ path: '/pages/health/marRecord/list', text: '用药记录', icon: 'shop-filled', permission: 'health:marRecord:list' },
{ path: '/pages/health/weightRecord/list', text: '体重记录', icon: 'calendar', permission: 'health:weightRecord:list' },
{ path: '/pages/health/person/list', text: '成员管理', icon: 'paperplane-filled', permission: 'health:person:list' }
])
function navigateTo(path) {
uni.navigateTo({
url: path
});
}
//储蓄账户信息
const debitCount = ref(0) //储蓄卡总数
const debitICount = ref(0) //I类储蓄卡总数
const debitIICount = ref(0) //II类储蓄卡总数
const debitOnlineCount = ref(0) //网络账户总数
const storedValueCardCount = ref(0) //储值卡总数
const otherDebitCount = ref(0) //其他账户数
const storedValueCardBalance = ref(0) //储值卡余额
const housingFundBalance = ref(0) //公积金余额
const medicalBalance = ref(0) //医保余额
const debitOnlineBalance = ref(0) //网络账户余额
const personalPensionBalance = ref(0) //个人养老金余额
const otherDebitBalance = ref(0) //其他余额
const debitBalance = ref(0) //储蓄卡余额
const debitTotalBalance = ref(0) //储蓄账户余额
//借贷账户信息
const peopleLendHistory = ref(0) //人情借贷余额
const peopleLendCount = ref(0) //人情账户
const onlineLendCount = ref(0) //贷款账户
const unclearedOnlineDebtCount = ref(0) //未结清贷款账户数
const unClearedOnlineDebt = ref(0) //未结清贷款本息
const unClearedOnlineDebtPrinciple = ref(0) //未结清贷款本金
const unClearedOnlineDebtInterest = ref(0) //未结清贷款利息
const clearedOnlineDebtCount = ref(0) //已结清贷款账户数
const clearedOnlineDebt = ref(0) //已结清贷款本息
const clearedOnlineDebtPrinciple = ref(0) //已结清贷款本金
const clearedOnlineDebtInterest = ref(0) //已结清贷款利息
const dueOnlineDebt = ref(0) //本月应还贷款
const repaidOnlineDebt = ref(0) //本月已还贷款
const leftOnlineDebt = ref(0) //本月剩余应还贷款
//信用卡信息
const creditInstallmentHistory = ref(0)
const creditCount = ref(0) //信用卡数量
const currentCreditBill = ref(0)
const creditInstallment = ref(0)
const creditLimit = ref(0) //信用卡额度
const lastSixMonthUsedLimit = ref(0) //近6月使用额度
const lastSixMonthUsedRate = ref(0) //近6月使用率
const lastMonthUsedLimit = ref(0) //上月已用额度
const lastMonthUsedRate = ref(0) //上月使用率
const creditBalance = ref(0) //信用卡余额
const creditAvailableLimit = ref(0) //信用卡可用额度
const creditBillRate = ref(0) //信用卡使用率
const unclearedCreditInstallmentCount = ref(0) //未结清分期数量
const unclearedCreditInstallment = ref(0) //未结清分期本息
const unclearedCreditInstallmentPrinciple = ref(0) //未结清分期本金
const unclearedCreditInstallmentInterest = ref(0) //未结清分期利息
const clearedCreditInstallmentCount = ref(0) //已结清分期数量
const clearedCreditInstallmentDebt = ref(0) //已结清分期本息
const clearedCreditInstallmentPrinciple = ref(0) //已结清分期本金
const clearedCreditInstallmentInterest = ref(0) //已结清分期利息
//征信报告信息
const lastOneMonths = ref(0) //近1月硬查询
const lastTwoMonths = ref(0) //近2月硬查询
const lastThreeMonths = ref(0) //近3月硬查询
const lastSixMonths = ref(0) //近6月硬查询
const lastOneYears = ref(0) //近1年硬查询
const lastTwoYears = ref(0) //近2年硬查询
const lastAllYears = ref(0) //所有硬查询
const lastSixMonthQueryCount = ref(0) //近6月个人查询
const lastSixMonthsAfterLoan = ref(0) //近6月贷后管理
const lastTwoYearsAfterLoan = ref(0) //近2年贷后管理
const totalAfterLoan = ref(0) //总贷后管理
const getInvestAccountsInfoData = () => {
getInvestAccountsInfo().then((res) => {
stocksCount.value = res.data.stocksCount
futuresCount.value = res.data.futuresCount
totalIncome.value = res.data.totalIncome
futuresIncome.value = res.data.futuresIncome
stocksIncome.value = res.data.stocksIncome
investBalance.value = res.data.investBalance
currentMonthInvest.value = res.data.currentMonthInvest
currentMonthIncome.value = res.data.currentMonthIncome
currentMonthExpenses.value = res.data.currentMonthExpenses
})
}
const getPosAccountsInfoData = () => {
getPosAccountsInfo().then((res) => {
posCount.value = res.data.posCount
currentMonthAmount.value = res.data.currentMonthAmount
currentMonthCommission.value = res.data.currentMonthCommission
currentMonthCount.value = res.data.currentMonthCount
currentYearAmount.value = res.data.currentYearAmount
currentYearCommission.value = res.data.currentYearCommission
currentYearCount.value = res.data.currentYearCount
accumulateAmount.value = res.data.accumulateAmount
accumulateCommission.value = res.data.accumulateCommission
accumulateCount.value = res.data.accumulateCount
})
}
const getCreditAccountsInfoData = () => {
getCreditAccountsInfo().then((res) => {
creditCount.value = res.data.creditCount
currentCreditBill.value = res.data.currentCreditBill
creditInstallment.value = res.data.creditInstallment
creditLimit.value = res.data.creditLimit
lastSixMonthUsedLimit.value = res.data.lastSixMonthUsedLimit
lastSixMonthUsedRate.value = res.data.lastSixMonthUsedRate
lastMonthUsedLimit.value = res.data.lastMonthUsedLimit
lastMonthUsedRate.value = res.data.lastMonthUsedRate
creditBalance.value = res.data.creditBalance
creditAvailableLimit.value = res.data.creditAvailableLimit
creditBillRate.value = res.data.creditBillRate
unclearedCreditInstallmentCount.value = res.data.unclearedCreditInstallmentCount
unclearedCreditInstallment.value = res.data.unclearedCreditInstallment
unclearedCreditInstallmentPrinciple.value = res.data.unclearedCreditInstallmentPrinciple
unclearedCreditInstallmentInterest.value = res.data.unclearedCreditInstallmentInterest
clearedCreditInstallmentCount.value = res.data.clearedCreditInstallmentCount
clearedCreditInstallmentDebt.value = res.data.clearedCreditInstallmentDebt
clearedCreditInstallmentPrinciple.value = res.data.clearedCreditInstallmentPrinciple
clearedCreditInstallmentInterest.value = res.data.clearedCreditInstallmentInterest
})
}
const getLendAccountsInfoData = () => {
getLendAccountsInfo().then((res) => {
peopleLendCount.value = res.data.peopleLendCount
onlineLendCount.value = res.data.onlineLendCount
unClearedOnlineDebt.value = res.data.unClearedOnlineDebt
creditInstallmentHistory.value = res.data.creditInstallmentHistory
peopleLendHistory.value = res.data.peopleLendHistory
unclearedOnlineDebtCount.value = res.data.unclearedOnlineDebtCount
clearedOnlineDebtCount.value = res.data.clearedOnlineDebtCount
clearedOnlineDebt.value = res.data.clearedOnlineDebt
dueOnlineDebt.value = res.data.dueOnlineDebt
repaidOnlineDebt.value = res.data.repaidOnlineDebt
leftOnlineDebt.value = res.data.leftOnlineDebt
unClearedOnlineDebtPrinciple.value = res.data.unClearedOnlineDebtPrinciple
unClearedOnlineDebtInterest.value = res.data.unClearedOnlineDebtInterest
clearedOnlineDebtPrinciple.value = res.data.clearedOnlineDebtPrinciple
clearedOnlineDebtInterest.value = res.data.clearedOnlineDebtInterest
})
}
const getCreditReportInfoData = () => {
getCreditReportInfo().then((res) => {
lastOneMonths.value = res.data.lastOneMonths
lastTwoMonths.value = res.data.lastTwoMonths
lastThreeMonths.value = res.data.lastThreeMonths
lastSixMonths.value = res.data.lastSixMonths
lastOneYears.value = res.data.lastOneYears
lastTwoYears.value = res.data.lastTwoYears
lastAllYears.value = res.data.lastAllYears
lastSixMonthQueryCount.value = res.data.lastSixMonthQueryCount
lastSixMonthsAfterLoan.value = res.data.lastSixMonthsAfterLoan
lastTwoYearsAfterLoan.value = res.data.lastTwoYearsAfterLoan
totalAfterLoan.value = res.data.totalAfterLoan
})
}
const getDebitAccountsInfoData = () => {
getDebitAccountsInfo().then((res) => {
debitCount.value = res.data.debitCount
debitICount.value = res.data.debitICount
debitIICount.value = res.data.debitIICount
debitOnlineCount.value = res.data.debitOnlineCount
storedValueCardCount.value = res.data.storedValueCardCount
debitBalance.value = res.data.debitBalance
debitTotalBalance.value = res.data.debitTotalBalance
debitOnlineBalance.value = res.data.debitOnlineBalance
storedValueCardBalance.value = res.data.storedValueCardBalance
housingFundBalance.value = res.data.housingFundBalance
medicalBalance.value = res.data.medicalBalance
personalPensionBalance.value = res.data.personalPensionBalance
otherDebitBalance.value = res.data.otherDebitBalance
otherDebitCount.value = res.data.otherDebitCount
})
}
onMounted(() => {
getInvestAccountsInfoData()
getPosAccountsInfoData()
getDebitAccountsInfoData()
getCreditAccountsInfoData()
getLendAccountsInfoData()
getCreditReportInfoData()
})
</script>
<style lang="scss">
/* #ifndef APP-NVUE */
page {
display: flex;
flex-direction: column;
box-sizing: border-box;
background-color: #fff;
min-height: 100%;
height: auto;
}
view {
font-size: 14px;
line-height: inherit;
}
/* #endif */
.text {
text-align: center;
font-size: 22rpx;
margin-top: 10rpx;
}
.grid-item-box {
flex: 1;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
align-items: center;
justify-content: center;
padding: 15px 0;
}
.uni-margin-wrap {
width: 690rpx;
<style lang="scss" scoped>
.app-container {
.header-con {
width: 100%;
;
}
.swiper {
height: 300rpx;
}
.swiper-box {
height: 150px;
}
.swiper-item {
/* #ifndef APP-NVUE */
height: 100px;
background-color: #ffffff;
margin-bottom: 5px;
display: flex;
/* #endif */
flex-direction: column;
justify-content: center;
justify-content: space-between;
align-items: center;
color: #fff;
height: 300rpx;
line-height: 300rpx;
}
@media screen and (min-width: 500px) {
.uni-swiper-dot-box {
width: 400px;
/* #ifndef APP-NVUE */
margin: 0 auto;
/* #endif */
margin-top: 8px;
.item {
width: 50%;
height: 100%;
display: flex;
position: relative;
align-items: center;
margin: 0px 5px 0px 5px;
.title {
margin-left: 5px;
color: rgb(133, 133, 148);
margin-bottom: 5px;
font-size: 14px;
}
.num {
margin-left: 5px;
font-weight: bold;
font-size: 14px;
}
}
.image {
width: 100%;
img {
height: 30px;
width: 30px;
}
}
.header-title {
width: 100%;
height: 30px;
background-color: #ffffff;
margin-bottom: 3px;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 16px;
}
}
</style>