This commit is contained in:
2023-07-10 11:28:24 +08:00
parent 823dd6d79b
commit 4094e7cc4b
272 changed files with 44008 additions and 7 deletions

271
public/Index.vue vendored Normal file
View File

@@ -0,0 +1,271 @@
<template>
<div>
<div class="a-row">
<!-- 基本信息 -->
<a-col :span="8">
<div class="block">
<div class="block-title">基本信息</div>
<div class="store">
<a-avatar :src="base_info.cover" class="store-avatar" :size="64" alt="LOGO" />
<div class="store-title nowrap">{{ base_info.name }} </div>
<div class="store-introduction ellipsis">{{ base_info.description }}</div>
</div>
</div>
</a-col>
<!-- 店铺数据 -->
<a-col :span="8">
<div class="block">
<div class="block-title">财务数据概况</div>
<div class="statistical">
<div class="statistical-item">
<h4>{{ shop.orders }}</h4>
<p>总销量()</p>
</div>
<div class="statistical-item">
<h4>{{ shop.business }}</h4>
<p>总营业额</p>
</div>
</div>
</div>
</a-col>
<!-- 订单状况 -->
<a-col :span="8">
<div class="block">
<div class="block-title">订单数据</div>
<div class="statistical">
<div class="statistical-item">
<h4>{{ orders.paid }}</h4>
<p>待发货</p>
</div>
<div class="statistical-item">
<h4>{{ orders.delivered }}</h4>
<p>待收货</p>
</div>
</div>
</div>
</a-col>
<!-- 今日统计 -->
<a-col :span="8">
<div class="block">
<div class="block-title">今日统计</div>
<div class="business">
<div class="business-item">
<a-avatar :size="40" style="backgroundColor:#e5f3fe; color: #0383fe" icon="pay-circle" />
<h4>{{ business.today }}</h4>
<p>营业额()</p>
</div>
<div class="business-item">
<a-avatar :size="40" style="backgroundColor:#f3f1fe; color: #876cfd" icon="unordered-list" />
<h4>{{ business.today_sold }}</h4>
<p>总销量()</p>
</div>
<div class="business-item">
<a-avatar :size="40" style="backgroundColor:#fff8e5; color: #ffbe17" icon="unordered-list" />
<h4>{{ business.people }}</h4>
<p>消费人数</p>
</div>
<div class="business-item">
</div>
</div>
</div>
</a-col>
<!-- 渠道订单情况 -->
<a-col :span="16">
<div class="block">
<div class="block-title">渠道订单情况</div>
<div class="business">
<div class="business-item">
<a-avatar :size="40" style="background-color: #e5f3fe; color: #0383fe" icon="pay-circle" />
<h4>{{ group.order.current_group_number }}</h4>
<p>购买本店铺商品单数()</p>
</div>
<div class="business-item">
<a-avatar :size="40" style="background-color: #f3f1fe; color: #876cfd" icon="unordered-list" />
<h4>{{ group.order.current_group_price }}</h4>
<p>购买本店铺商品总金额()</p>
</div>
<div class="business-item">
<a-avatar :size="40" style="background-color: #fff8e5; color: #ffbe17" icon="unordered-list" />
<h4>{{ group.order.other_group_number }}</h4>
<p>购买其他店铺商品单数()</p>
</div>
<div class="business-item">
<a-avatar :size="40" style="background-color: #ebf9ea; color: #41c941" icon="snippets" />
<h4>{{ group.order.other_group_price }}</h4>
<p>购买其他店铺商品总金额()</p>
</div>
</div>
</div>
</a-col>
<!-- 渠道货权信息 -->
<a-col :span="24">
<div class="block">
<div class="block-title">渠道货权信息</div>
<div class="statistical">
<div class="statistical-item statistical-item1">
<h4>{{ group.right.price }}</h4>
<p>当前货权价格</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.right.wheel }}</h4>
<p>当前货权第几轮</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.right.out_total }}</h4>
<p>货权出货总量</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.right.out_price }}</h4>
<p>货权出货总金额</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.right.buy_total }}</h4>
<p>认购货权总量</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.right.buy_price }}</h4>
<p>认购货权总金额</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.right.appointment_total }}</h4>
<p>带票货权总量</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.right.appointment_price }}</h4>
<p>带票货权总金额</p>
</div>
</div>
</div>
</a-col>
<!-- 渠道用户信息 -->
<a-col :span="24">
<div class="block">
<div class="block-title">渠道用户信息</div>
<div class="statistical">
<div class="statistical-item statistical-item1">
<h4>{{ group.user.total }}</h4>
<p>总用户</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.user.identity_1 }}</h4>
<p>普通用户</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.user.identity_2 }}</h4>
<p> 水感应大数据分析审核系统会员</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.user.identity_3 }}</h4>
<p>经纪人</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.user.identity_4 }}</h4>
<p>经纪公司</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.user.identity_5 }}</h4>
<p>代理商</p>
</div>
<div class="statistical-item statistical-item1">
<h4>{{ group.user.identity_6 }}</h4>
<p>分公司</p>
</div>
<!-- <div class="statistical-item statistical-item1">
<h4>{{ group.right.appointment_price }}</h4>
<p>带票货权总金额</p>
</div> -->
</div>
</div>
</a-col>
</div>
</div>
</template>
<script>
import { getStatistical } from '@/api/statistical'
import { timeFix } from '@/utils/util'
import EditShop from '@/views/home/modules/EditShop'
export default {
name: 'Home',
data () {
return {
timeFix: timeFix(),
base_info: {
cover: '',
description: '',
name: ''
},
business: {},
orders: {},
group: {},
ranking: [],
shop: {
today: '',
user: '',
total: '',
sold: '',
goods_up: ''
}
}
},
computed: {
currentUser () {
return {
name: this.$store.getters.nickname,
avatar: this.$store.getters.avatar
}
}
},
created () {
this.getInfo()
},
mounted () {
},
methods: {
getInfo () {
getStatistical().then(res => {
this.base_info = res.base_info
this.business = res.business
this.orders = res.orders
this.ranking = res.ranking
this.shop = res.shop
this.group = res.group
}).catch(err => {
this.$notification.error(err)
})
},
EditShop () {
this.$dialog(EditShop,
{
on: {
ok: () => {
this.getInfo()
}
}
},
{
title: '修改店铺信息',
width: 500,
maskClosable: true,
closable: true,
okText: '确认修改',
cancelText: '取消'
}
)
}
}
}
</script>
<style lang='less' scoped>
@import "Index.less";
</style>

BIN
public/favicon.ico vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

35
public/index.html vendored Normal file
View File

@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>logo.png">
<title> 水感应经销商管理后台 WaterFeel.Vip</title>
<style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style>
<!-- require cdn assets css -->
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
<link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" />
<% } %>
</head>
<body>
<noscript>
<strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app">
<div class="first-loading-wrp">
<h1> 水感应经销商管理后台</h1>
<div class="loading-wrp">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div>
<div style="display: flex; justify-content: center; align-items: center;"WaterFeel.manager Co.,Ltd.</div>
</div>
</div>
<!-- require cdn assets js -->
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
<script type="text/javascript" src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
<% } %>
<!-- built files will be auto injected -->
</body>
</html>

BIN
public/logo.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB