This commit is contained in:
LiJianZhao 2025-04-29 16:24:50 +08:00
parent e3885ac598
commit 7d16df6d1d
5 changed files with 129 additions and 146 deletions

View File

@ -4,34 +4,29 @@ import {onMounted, ref} from "vue";
import {getThisWeek} from "@/utils/dateUtils.ts";
import {post} from "@/utils/request.ts";
// onMounted(() => {
// getRevenueOverview()
// })
onMounted(() => {
getRevenueOverview()
})
const payTypeRevenue = ref<any>([
{
name: '医保支付',
totalRevenue: 0,
background: '#F0F4FD'
},
{
name: '微信支付',
totalRevenue: 0,
background: '#ECF8FE'
},
{
name: '支付宝',
totalRevenue: 0,
background: '#FFF5EC'
},
{
name: '现金支付',
totalRevenue: 0,
background: '#FFEEEE'
},
{
name: '其他支付',
totalRevenue: 0,
background: '#E5F9FF'
}
]);
const background = ref<any>([
@ -41,14 +36,14 @@ const background = ref<any>([
'#FFEEEE',
'#E5F9FF'
]);
// const getRevenueOverview = () => {
// const thisWeek = getThisWeek();
// post("statistics/getRevenueOverview", {beginTime: thisWeek.start, endTime: thisWeek.end}).then((res: any) => {
// if (res.payTypeRevenue.length === 0) return
// payTypeRevenue.value = res.payTypeRevenue
// })
//
// }
const getRevenueOverview = () => {
const thisWeek = getThisWeek();
post("statistics/getRevenueOverview", {beginTime: thisWeek.start, endTime: thisWeek.end}).then((res: any) => {
if (res.payTypeRevenue.length === 0) return
payTypeRevenue.value = res.payTypeRevenue
})
}
</script>
<template>

View File

@ -2,13 +2,13 @@
<div class="container">
<div class="content">
<div class="title">
<el-date-picker
v-model="dateArray"
type="daterange"
range-separator="~"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
<!-- <el-date-picker-->
<!-- v-model="dateArray"-->
<!-- type="daterange"-->
<!-- range-separator="~"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- />-->
</div>
<div class="content-box">
<el-table :data="list" style="width: 100%" :summary-method="getSummaries" show-summary>

View File

@ -2,65 +2,65 @@
<div class="container">
<div class="content">
<div class="title">
<el-date-picker
v-model="date"
type="daterange"
range-separator="~"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
<el-select
v-model="salesPerson"
placeholder="销售人"
style="width: 100px;margin: 0 10px"
>
<el-option
v-for="item in salesPersonOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-select v-model="type" placeholder="类型" style="width: 100px">
<el-option
v-for="item in typeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-select v-model="source" placeholder="开单来源" style="width: 100px;margin-left: 10px">
<el-option
v-for="item in sourceOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-select
v-model="chargeMan"
placeholder="收费员"
style="width: 100px;margin-left: 10px"
>
<el-option
v-for="item in chargeManOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-select
v-model="pay"
placeholder="支付方式"
style="width: 100px;margin-left: 10px"
>
<el-option
v-for="item in payOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<!-- <el-date-picker-->
<!-- v-model="date"-->
<!-- type="daterange"-->
<!-- range-separator="~"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- />-->
<!-- <el-select-->
<!-- v-model="salesPerson"-->
<!-- placeholder="销售人"-->
<!-- style="width: 100px;margin: 0 10px"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in salesPersonOptions"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- <el-select v-model="type" placeholder="类型" style="width: 100px">-->
<!-- <el-option-->
<!-- v-for="item in typeOptions"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- <el-select v-model="source" placeholder="开单来源" style="width: 100px;margin-left: 10px">-->
<!-- <el-option-->
<!-- v-for="item in sourceOptions"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- <el-select-->
<!-- v-model="chargeMan"-->
<!-- placeholder="收费员"-->
<!-- style="width: 100px;margin-left: 10px"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in chargeManOptions"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- <el-select-->
<!-- v-model="pay"-->
<!-- placeholder="支付方式"-->
<!-- style="width: 100px;margin-left: 10px"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in payOptions"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
</div>
<div class="content-box">
<el-table :data="tableData" style="width: 100%">

View File

@ -2,37 +2,37 @@
<div class="container">
<div class="content">
<div class="title">
<el-date-picker
v-model="value2"
type="daterange"
range-separator="~"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
<el-select
v-model="chargeMan"
placeholder="收费员"
style="width: 100px;margin-left: 10px"
>
<el-option
v-for="item in chargeManOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<!-- <el-date-picker-->
<!-- v-model="date"-->
<!-- type="daterange"-->
<!-- range-separator="~"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- />-->
<!-- <el-select-->
<!-- v-model="chargeMan"-->
<!-- placeholder="收费员"-->
<!-- style="width: 100px;margin-left: 10px"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in chargeManOptions"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
</div>
<div class="content-box">
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="name" label="收费员" align="center"/>
<el-table-column label="营业收入/总金额" align="center">
<el-table-column prop="salePersonName" label="收费员" align="center"/>
<el-table-column prop="totalIncome" label="营业收入/总金额" align="center">
</el-table-column>
<el-table-column label="支付方式" align="center">
<el-table-column prop="name" label="医保" align="center"/>
<el-table-column prop="name" label="微信" align="center"/>
<el-table-column prop="name" label="支付宝" align="center"/>
<el-table-column prop="name" label="现金" align="center"/>
<el-table-column prop="name" label="其他" align="center"/>
<el-table-column prop="socialIncome" label="医保" align="center"/>
<el-table-column prop="wechatIncome" label="微信" align="center"/>
<el-table-column prop="aliPayIncome" label="支付宝" align="center"/>
<el-table-column prop="cashIncome" label="现金" align="center"/>
<el-table-column prop="otherIncome" label="其他" align="center"/>
</el-table-column>
<el-table-column label="收费人次" align="center">
</el-table-column>
@ -42,38 +42,26 @@
</div>
</template>
<script setup lang="ts">
import {ref} from 'vue'
import {onMounted, ref} from 'vue'
import {dateEquals} from "element-plus";
import {post} from "@/utils/request.ts";
const tableData = ref<any>([]);
const date = ref<any>([]);
const chargeMan = ref<any>('');
const chargeManOptions = ref<any>([]);
const getSalePersonCharge = () => {
post("statistics/salePerson").then((res:any)=>{
tableData.value = res
})
}
onMounted(()=>{
getSalePersonCharge()
})
const tableData = [
{
date: '2016-05-03',
name: 'Tom',
state: 'California',
city: 'Los Angeles',
address: 'No. 189, Grove St, Los Angeles',
zip: 'CA 90036',
}
]
const value2 = ref([])
const chargeMan = ref('')
const chargeManOptions = [
{
value: '1',
label: '张三',
},
{
value: '2',
label: '李四',
},
{
value: '3',
label: '王五',
},
{
value: '4',
label: '赵六',
}
]
</script>
<style scoped lang="scss">
.title {

View File

@ -36,24 +36,24 @@
<div class="revenue-content-item-text">
<div class="num">{{ data.totalOrderCount || 0 }}<span class="unit color1"></span></div>
<div class="name color1">消费人次</div>
<div class="text">日均{{ (data.totalOrderCount / averageNum).toFixed(0) || 0 }}</div>
<div class="text">日均{{ (data.totalOrderCount / averageNum).toFixed(0) || 0 }}</div>
</div>
<img class="image" src="/static/images/overView/2.png" alt="">
</div>
<div class="revenue-content-item">
<div class="revenue-content-item-text">
<div class="num">{{ data.vipRevenue || 0 }}<span class="unit color2"></span></div>
<div class="name color2">患者贡献收入</div>
<div class="text">日均{{ (data.vipRevenue / averageNum).toFixed(2) || 0 }}</div>
<div class="num">{{ data.socialRevenue || 0 }}<span class="unit color2"></span></div>
<div class="name color2">医保收入</div>
<div class="text">日均{{ (data.socialRevenue / averageNum).toFixed(2) || 0 }}</div>
<div class="text"><span>本金0.00&nbsp;&nbsp;赠金0.00</span></div>
</div>
<img class="image" src="/static/images/overView/3.png" alt="">
</div>
<div class="revenue-content-item">
<div class="revenue-content-item-text">
<div class="num">{{ data.vipOrderCount || 0 }}<span class="unit color3"></span></div>
<div class="name color3">患者消费人次</div>
<div class="text">日均{{ (data.vipOrderCount / averageNum).toFixed(0) || 0 }}</div>
<div class="num">{{ data.socialOrderCount || 0 }}<span class="unit color3"></span></div>
<div class="name color3">医保消费人次</div>
<div class="text">日均{{ (data.socialOrderCount / averageNum).toFixed(0) || 0 }}</div>
</div>
<img class="image" src="/static/images/overView/4.png" alt="">
</div>