提交 0d59a7de authored 作者: 何忠建's avatar 何忠建

分利看板数据联调

上级 8858a487
...@@ -2,6 +2,10 @@ import { getAction, deleteAction, putAction, postAction, httpAction } from '@/ap ...@@ -2,6 +2,10 @@ import { getAction, deleteAction, putAction, postAction, httpAction } from '@/ap
import Vue from 'vue' import Vue from 'vue'
import {UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" import {UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types"
// 统计数据
const getDataStatisticsApi = (params)=>getAction("/property-central/partners/partnersInfo/statistics",params);
const shareBoardApi = (params)=>getAction("/property-community/order/paymentOrder/shareBoard",params);
//商铺 //商铺
const partnersShopByDepId = (params)=>getAction("/property-central/partners/partnersShop/queryById",params); const partnersShopByDepId = (params)=>getAction("/property-central/partners/partnersShop/queryById",params);
const partnersShopAudit = (params)=>postAction("/property-central/partners/partnersShop/audit",params); const partnersShopAudit = (params)=>postAction("/property-central/partners/partnersShop/audit",params);
...@@ -14,9 +18,6 @@ const shareBenefitList = (params)=>getAction("/property-central/partners/shareBe ...@@ -14,9 +18,6 @@ const shareBenefitList = (params)=>getAction("/property-central/partners/shareBe
const shareBalanceByDepId = (params)=>getAction("/property-central/partners/shareBalance/queryById",params); const shareBalanceByDepId = (params)=>getAction("/property-central/partners/shareBalance/queryById",params);
const getShareruleApi = (params)=>getAction("/property-central/sharerule/settlementSet/queryById",params); const getShareruleApi = (params)=>getAction("/property-central/sharerule/settlementSet/queryById",params);
// 首页统计数据
const getDataStatisticsApi = (params)=>getAction("/property-central/partners/partnersInfo/statistics",params);
//角色管理 //角色管理
const addRole = (params)=>postAction("/sys/role/add",params); const addRole = (params)=>postAction("/sys/role/add",params);
const editRole = (params)=>putAction("/sys/role/edit",params); const editRole = (params)=>putAction("/sys/role/edit",params);
...@@ -121,6 +122,7 @@ export { ...@@ -121,6 +122,7 @@ export {
partnersShopOperateApi, partnersShopOperateApi,
getQrCode, getQrCode,
getDataStatisticsApi, getDataStatisticsApi,
shareBoardApi,
shareBenefitShopByDepId, shareBenefitShopByDepId,
shareBenefitList, shareBenefitList,
shareBalanceByDepId, shareBalanceByDepId,
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
} }
}, },
data() { data() {
return { padding: ['auto', 'auto', '40', '50'] } return { padding: ['auto', 'auto', '50', '50'] }
}, },
computed: { computed: {
scale() { scale() {
......
<template> <template>
<div class="page-header-index-wide"> <div class="page-header-index-wide">
<div class="query-box"> <div class="query-box">
<a-range-picker @change="onChangeData" /> <a-month-picker placeholder="选择日期" @change="onChange" />
<a-button type="primary" @click="searchQuery" style="margin-left: 20px;">查询</a-button> <a-button type="primary" @click="searchQuery" style="margin-left: 20px;">查询</a-button>
</div> </div>
<div class="data-box"> <div class="data-box">
<div class="statistics"> <div class="statistics">
<p style="color:#666;margin-bottom:5px;">绑定商铺数量</p> <p style="color:#666;margin-bottom:5px;">绑定商铺数量</p>
<p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">100</p> <p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">{{data.bindShops || 0}}</p>
</div> </div>
<div class="statistics"> <div class="statistics">
<p style="color:#666;margin-bottom:5px;">平台总小区数量</p> <p style="color:#666;margin-bottom:5px;">平台总小区数量</p>
<p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">100</p> <p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">{{data.bindCommunity || 0}}</p>
</div> </div>
<div class="statistics"> <div class="statistics">
<p style="color:#666;margin-bottom:5px;">平台总业主数量</p> <p style="color:#666;margin-bottom:5px;">平台总业主数量</p>
<p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">100</p> <p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">{{data.bindOwner || 0}}</p>
</div> </div>
<div class="statistics"> <div class="statistics">
<p style="color:#666;margin-bottom:5px;">合作伙伴分利</p> <p style="color:#666;margin-bottom:5px;">合作伙伴分利</p>
<p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">¥100.00</p> <p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">¥{{data.partnerShare || 0}}</p>
</div> </div>
<div class="statistics"> <div class="statistics">
<p style="color:#666;margin-bottom:5px;">新增订单数量</p> <p style="color:#666;margin-bottom:5px;">新增订单数量</p>
<p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">100</p> <p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">{{data.newOrderAmount || 0}}</p>
</div> </div>
<div class="statistics"> <div class="statistics">
<p style="color:#666;margin-bottom:5px;">总营收</p> <p style="color:#666;margin-bottom:5px;">总营收</p>
<p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">¥100.00</p> <p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">¥{{data.totalMoney || 0}}</p>
</div> </div>
<div class="statistics"> <div class="statistics">
<p style="color:#666;margin-bottom:5px;">本月营收</p> <p style="color:#666;margin-bottom:5px;">本月营收</p>
<p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">¥100.00</p> <p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">¥{{data.monthMoney || 0}}</p>
</div> </div>
<div class="statistics" style="margin-right: 0;"> <div class="statistics" style="margin-right: 0;">
<p style="color:#666;margin-bottom:5px;">今日营收</p> <p style="color:#666;margin-bottom:5px;">今日营收</p>
<p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">¥100.00</p> <p style="margin-bottom:0;color:#333;font-size:24px;line-height:1;">¥{{data.todayMoney || 0}}</p>
</div> </div>
</div> </div>
<a-row :gutter="24"> <a-row :gutter="24">
...@@ -47,11 +47,11 @@ ...@@ -47,11 +47,11 @@
<h3 class="box-title">最新成交订单</h3> <h3 class="box-title">最新成交订单</h3>
<div class="order"> <div class="order">
<div class="order-title"><span <div class="order-title"><span
style="width: 30%;">订单编号</span><span>提交时间</span><span>用户账号</span><span>订单金额</span></div> style="width: 30%;">订单编号</span><span>提交时间</span><span>买家名称</span><span>订单金额</span></div>
<vue-seamless-scroll :data="listData" class="seamless-warp" :class-option="defineScroll"> <vue-seamless-scroll :data="data.shareOrder" class="seamless-warp" :class-option="defineScroll">
<div v-for="(item, index) in listData" :key="index" class="item"> <div v-for="(item, index) in data.shareOrder" :key="index" class="item">
<span <span
style="width: 30%;">{{ item.num }}</span><span>{{ item.date }}</span><span>{{ item.account }}</span><span>{{ item.amount }}</span> style="width: 30%;">{{ item.order_num }}</span><span>{{ item.create_time }}</span><span>{{ item.buyer_name }}</span><span>¥{{ item.total_money }}</span>
</div> </div>
</vue-seamless-scroll> </vue-seamless-scroll>
</div> </div>
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
<a-col :sm="24" :md="12" :xl="12" :style="{ marginBottom: '20px' }"> <a-col :sm="24" :md="12" :xl="12" :style="{ marginBottom: '20px' }">
<div class="t-box"> <div class="t-box">
<h3 class="box-title">月成交金额</h3> <h3 class="box-title">月成交金额</h3>
<line-chart-multid :dataSource="dayData" :fields="dayFields" style="padding: 0;" /> <line-chart-multid :dataSource="dataList1" :fields="dayFields1" style="padding: 0;" />
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -69,14 +69,14 @@ ...@@ -69,14 +69,14 @@
<div class="t-box"> <div class="t-box">
<h3 class="box-title">月成交订单数量</h3> <h3 class="box-title">月成交订单数量</h3>
<div> <div>
<line-chart-multid :dataSource="dayData" :fields="dayFields" style="padding: 0;" /> <line-chart-multid :dataSource="dataList2" :fields="dayFields2" style="padding: 0;" />
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :sm="24" :md="12" :xl="12" :style="{ marginBottom: '20px' }"> <a-col :sm="24" :md="12" :xl="12" :style="{ marginBottom: '20px' }">
<div class="t-box"> <div class="t-box">
<h3 class="box-title">入驻商铺新增数量</h3> <h3 class="box-title">入驻商铺新增数量</h3>
<bar :dataSource="barData" style="padding: 0;" /> <bar :dataSource="dataList3" style="padding:0;" />
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -85,14 +85,14 @@ ...@@ -85,14 +85,14 @@
<div class="t-box"> <div class="t-box">
<h3 class="box-title">巡报订单数量</h3> <h3 class="box-title">巡报订单数量</h3>
<div> <div>
<line-chart-multid :dataSource="dayData1" :fields="dayFields1" style="padding: 0;" /> <line-chart-multid :dataSource="dataList4" :fields="dayFields4" style="padding: 0;" />
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :sm="24" :md="12" :xl="12" :style="{ marginBottom: '20px' }"> <a-col :sm="24" :md="12" :xl="12" :style="{ marginBottom: '20px' }">
<div class="t-box"> <div class="t-box">
<h3 class="box-title">巡报订单金额</h3> <h3 class="box-title">巡报订单金额</h3>
<line-chart-multid :dataSource="dayData1" :fields="dayFields1" style="padding: 0;" /> <line-chart-multid :dataSource="dataList5" :fields="dayFields5" style="padding: 0;" />
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
import Bar from '@/components/chart/Bar' import Bar from '@/components/chart/Bar'
import LineChartMultid from '@/components/chart/LineChartMultid' import LineChartMultid from '@/components/chart/LineChartMultid'
import vueSeamlessScroll from 'vue-seamless-scroll' import vueSeamlessScroll from 'vue-seamless-scroll'
import { getDataStatisticsApi, getLoginfo, getVisitInfo, auditPropertyApi } from '@/api/api' import { shareBoardApi } from '@/api/api'
export default { export default {
name: 'statistical', name: 'statistical',
components: { components: {
...@@ -114,105 +114,31 @@ export default { ...@@ -114,105 +114,31 @@ export default {
data() { data() {
return { return {
loading: true, loading: true,
payData: [], time: '',
barData: [], data: {},
dayFields: ['月成交订单数量'], dayFields1: ['月成交金额'],
dayData: [ dataList1: [],
{ type: '1月', 月成交订单数量: 71 }, dayFields2: ['月成交订单数量'],
{ type: '2月', 月成交订单数量: 61.9 }, dataList2: [],
{ type: '3月', 月成交订单数量: 19.5 }, dataList3: [],
{ type: '4月', 月成交订单数量: 141.5 }, dayFields4: ['巡报订单数量'],
{ type: '5月', 月成交订单数量: 118.4 }, dataList4: [],
{ type: '6月', 月成交订单数量: 211.5 }, dayFields5: ['巡报订单金额'],
{ type: '7月', 月成交订单数量: 251.2 }, dataList5: [],
{ type: '8月', 月成交订单数量: 216.5 },
{ type: '9月', 月成交订单数量: 213.3 },
{ type: '10月', 月成交订单数量: 181.3 },
{ type: '11月', 月成交订单数量: 131.9 },
{ type: '12月', 月成交订单数量: 91.6 },
],
listData: [
{
num: '201707196398345',
date: '2023-07-19',
account: '18000000000',
amount: '¥200.00',
},
{
num: '201707196398345',
date: '2023-07-19',
account: '18000000000',
amount: '¥200.00',
},
{
num: '201707196398345',
date: '2023-07-19',
account: '18000000000',
amount: '¥200.00',
},
{
num: '201707196398345',
date: '2023-07-19',
account: '18000000000',
amount: '¥200.00',
},
{
num: '201707196398345',
date: '2023-07-19',
account: '18000000000',
amount: '¥200.00',
},
{
num: '201707196398345',
date: '2023-07-19',
account: '18000000000',
amount: '¥200.00',
},
{
num: '201707196398345',
date: '2023-07-19',
account: '18000000000',
amount: '¥200.00',
},
{
num: '201707196398345',
date: '2023-07-19',
account: '18000000000',
amount: '¥200.00',
},
],
dayFields1: ['巡报订单数量'],
dayFields2: ['巡报订单金额'],
dayData1: [
{ type: '7月1日', 巡报订单数量: 171 },
{ type: '7月10日', 巡报订单数量: 161.9 },
{ type: '7月20日', 巡报订单数量: 119.5 },
{ type: '7月30日', 巡报订单数量: 141.5 },
{ type: '8月10日', 巡报订单数量: 118.4 },
{ type: '8月20日', 巡报订单数量: 211.5 },
{ type: '8月30日', 巡报订单数量: 251.2 },
{ type: '9月10日', 巡报订单数量: 216.5 },
{ type: '9月20日', 巡报订单数量: 213.3 },
{ type: '9月30日', 巡报订单数量: 81.3 },
],
} }
}, },
created() { created() {
setTimeout(() => { setTimeout(() => {
this.loading = !this.loading this.loading = !this.loading
}, 1000) }, 1000)
for (let i = 0; i < 12; i += 1) { this.getDataStatistics()
this.barData.push({
x: `${i + 1}月`,
y: i + 10,
})
}
}, },
computed: { computed: {
defineScroll() { defineScroll() {
return { return {
data: {},
step: 0.5, // 数值越大速度滚动越快 step: 0.5, // 数值越大速度滚动越快
limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.length limitMoveNum: 5, // 开始无缝滚动的数据量 this.dataList.length
hoverStop: true, // 是否开启鼠标悬停stop hoverStop: true, // 是否开启鼠标悬停stop
direction: 1, // 0向下 1向上 2向左 3向右 direction: 1, // 0向下 1向上 2向左 3向右
openWatch: true, // 开启数据实时监控刷新dom openWatch: true, // 开启数据实时监控刷新dom
...@@ -223,16 +149,58 @@ export default { ...@@ -223,16 +149,58 @@ export default {
}, },
}, },
methods: { methods: {
onChangeData(date, dateString) { async getDataStatistics() {
if (dateString.length > 0) { let { result } = await shareBoardApi({ platformType: 'partner', date: this.time })
this.queryParam.createTime_begin = dateString[0] if (result) {
this.queryParam.createTime_end = dateString[1] this.data = result
} else { this.dataList1 =
this.queryParam.createTime_begin = '' result.shareByMonth.map((item) => {
this.queryParam.createTime_end = '' return {
type: item.MONTH,
月成交金额: item.shareMoney,
}
}) || []
this.dataList2 =
result.orderCountByMonth.map((item) => {
return {
type: item.MONTH,
月成交订单数量: item.orderCount,
}
}) || []
this.dataList3 =
result.shopCountByMonth.map((item) => {
return {
x: item.MONTH,
y: item.shopCount,
}
}) || []
this.dataList4 =
result.shareList.map((item) => {
return {
type: item.st_date_day,
巡报订单数量: item.order_num,
}
}) || []
this.dataList5 =
result.shareList.map((item) => {
return {
type: item.st_date_day,
巡报订单金额: item.share_money,
}
}) || []
} }
}, },
searchQuery() {}, onChange(date, dateString) {
if (dateString) {
this.time = dateString.replace('-', '')
}else{
this.time = ''
this.getDataStatistics()
}
},
searchQuery() {
this.getDataStatistics()
},
}, },
} }
</script> </script>
...@@ -245,6 +213,8 @@ export default { ...@@ -245,6 +213,8 @@ export default {
background: #fff; background: #fff;
padding: 20px; padding: 20px;
margin-bottom: 20px; margin-bottom: 20px;
display: flex;
justify-content: flex-end;
} }
.data-box { .data-box {
display: flex; display: flex;
...@@ -302,8 +272,10 @@ export default { ...@@ -302,8 +272,10 @@ export default {
span { span {
width: 25%; width: 25%;
border-right: 1px solid #e8e8e8; border-right: 1px solid #e8e8e8;
border-top: 1px solid #e8e8e8; //border-top: 1px solid #e8e8e8;
border-bottom: 1px solid #e8e8e8;
text-align: center; text-align: center;
overflow: hidden;
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论