Browse Source

11111111

Hongxilin
donghaolin 5 months ago
parent
commit
a33e30d73d
  1. 212
      vue/gold-system/src/views/audit/rechargeAudit.vue
  2. 50
      vue/gold-system/src/views/consume/addConsume.vue
  3. 208
      vue/gold-system/src/views/workspace/index.vue

212
vue/gold-system/src/views/audit/rechargeAudit.vue

@ -205,8 +205,8 @@ const adminReject = function () {
rechargeVo.value.status = 2;
getObj.value.pageNum = 1;
get();
console.log('adminReject');
}
console.log("adminReject");
};
//
const handleClick = function (tab, event) {
if (tab.props.name === "all") {
@ -215,7 +215,7 @@ const handleClick = function (tab, event) {
adminWait();
} else if (tab.props.name === "pass") {
adminPass();
} else if (tab.props.name === 'reject') {
} else if (tab.props.name === "reject") {
adminReject();
}
};
@ -270,6 +270,7 @@ const checkNumber = function () {
getObj.value.pageNum <= Math.ceil(total.value / getObj.value.pageSize)
) {
console.log("输入的数字合法");
get();
} else {
//
@ -399,26 +400,57 @@ onMounted(async function () {
<el-col :span="8">
<div class="head-card-element">
<el-text class="mx-1" size="large">活动名称</el-text>
<el-select v-model="rechargeVo.activityId" placeholder="请选择活动名称" size="large" style="width: 240px"
clearable>
<el-option v-for="item in activity" :key="item.activityId" :label="item.activityName"
:value="item.activityId" />
<el-select
v-model="rechargeVo.activityId"
placeholder="请选择活动名称"
size="large"
style="width: 240px"
clearable
>
<el-option
v-for="item in activity"
:key="item.activityId"
:label="item.activityName"
:value="item.activityId"
/>
</el-select>
</div>
</el-col>
<el-col :span="8">
<div class="head-card-element">
<el-text class="mx-1" size="large">充值方式</el-text>
<el-select v-model="rechargeVo.payWay" placeholder="请选择充值方式" size="large" style="width: 240px" clearable>
<el-option v-for="item in payWay" :key="item.value" :label="item.label" :value="item.value" />
<el-select
v-model="rechargeVo.payWay"
placeholder="请选择充值方式"
size="large"
style="width: 240px"
clearable
>
<el-option
v-for="item in payWay"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col>
<el-col :span="8">
<div class="head-card-element">
<el-text class="mx-1" size="large">所属地区</el-text>
<el-select v-model="rechargeVo.area" placeholder="请选择所属地区" size="large" style="width: 240px" clearable>
<el-option v-for="item in area" :key="item" :label="item" :value="item" />
<el-select
v-model="rechargeVo.area"
placeholder="请选择所属地区"
size="large"
style="width: 240px"
clearable
>
<el-option
v-for="item in area"
:key="item"
:label="item"
:value="item"
/>
</el-select>
</div>
</el-col>
@ -427,9 +459,16 @@ onMounted(async function () {
<el-col :span="21">
<div class="head-card-element">
<el-text class="mx-1" size="large">充值时间</el-text>
<el-date-picker v-model="getTime" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" />
<el-button style="margin-left: 10px" @click="getToday()"></el-button>
<el-date-picker
v-model="getTime"
type="datetimerange"
range-separator="至"
start-placeholder="起始时间"
end-placeholder="结束时间"
/>
<el-button style="margin-left: 10px" @click="getToday()"
></el-button
>
<el-button @click="getYesterday()"></el-button>
<el-button @click="get7Days()">近7天</el-button>
</div>
@ -447,7 +486,12 @@ onMounted(async function () {
<el-row>
<el-col>
<el-card>
<el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-click="handleClick">
<el-tabs
v-model="activeName"
type="card"
class="demo-tabs"
@tab-click="handleClick"
>
<el-tab-pane label="全部" name="all"></el-tab-pane>
<el-tab-pane label="待审核" name="wait"></el-tab-pane>
<el-tab-pane label="已通过" name="pass"></el-tab-pane>
@ -458,16 +502,41 @@ onMounted(async function () {
<el-table-column prop="username" label="姓名" width="100px" />
<el-table-column prop="jwcode" label="精网号" width="150px" />
<el-table-column prop="area" label="所属地区" width="100px" />
<el-table-column prop="activityName" label="活动名称" width="150px" />
<el-table-column prop="rechargeGold" label="充值金额" width="100px" />
<el-table-column prop="rechargeWay" label="充值方式" width="100px" />
<el-table-column
prop="activityName"
label="活动名称"
width="150px"
/>
<el-table-column
prop="rechargeGold"
label="充值金额"
width="100px"
/>
<el-table-column
prop="rechargeWay"
label="充值方式"
width="100px"
/>
<el-table-column prop="paidGold" label="充值金币" width="100px" />
<el-table-column prop="freeGold" label="免费金币" width="100px" />
<el-table-column prop="remark" label="备注" width="200px" show-overflow-tooltip />
<el-table-column
prop="remark"
label="备注"
width="200px"
show-overflow-tooltip
/>
<el-table-column prop="payWay" label="支付方式" width="100px" />
<el-table-column prop="rechargeVoucher" label="支付凭证" width="150px">
<el-table-column
prop="rechargeVoucher"
label="支付凭证"
width="150px"
>
<template #default="scope">
<el-image :src="scope.row.rechargeVoucher" alt="凭证" style="width: 50px; height: 50px" />
<el-image
:src="scope.row.rechargeVoucher"
alt="凭证"
style="width: 50px; height: 50px"
/>
</template>
</el-table-column>
<el-table-column prop="name" label="提交人" width="100px" />
@ -493,7 +562,12 @@ onMounted(async function () {
</span>
</template>
</el-table-column>
<el-table-column prop="reson" label="驳回理由" width="200px" show-overflow-tooltip />
<el-table-column
prop="reson"
label="驳回理由"
width="200px"
show-overflow-tooltip
/>
<el-table-column prop="rechargeTime" label="交款时间" width="200px">
<template #default="scope">
{{
@ -502,15 +576,29 @@ onMounted(async function () {
</template>
</el-table-column>
<el-table-column prop="createTime" label="提交时间" width="200px" />
<el-table-column fixed="right" prop="operation" label="操作" width="150px">
<el-table-column
fixed="right"
prop="operation"
label="操作"
width="150px"
>
<template #default="scope">
<div class="operation">
<el-popconfirm title="确定要通过此条记录吗?" @confirm="passConfirm">
<el-popconfirm
title="确定要通过此条记录吗?"
@confirm="passConfirm"
>
<template #reference>
<el-button :disabled="scope.row.status === 1 || scope.row.status === 2
<el-button
:disabled="
scope.row.status === 1 || scope.row.status === 2
? true
: false
" type="primary" text @click="pass(scope.row)">
"
type="primary"
text
@click="pass(scope.row)"
>
通过
</el-button>
</template>
@ -521,10 +609,16 @@ onMounted(async function () {
</el-button>
</template>
</el-popconfirm>
<el-button :disabled="scope.row.status === 1 || scope.row.status === 2
<el-button
:disabled="
scope.row.status === 1 || scope.row.status === 2
? true
: false
" type="primary" text @click="reject(scope.row)">
"
type="primary"
text
@click="reject(scope.row)"
>
驳回
</el-button>
</div>
@ -535,17 +629,42 @@ onMounted(async function () {
<!-- 分页 -->
<div class="pagination">
<el-pagination background :page-size="getObj.pageSize" layout="slot" :total="total">
<el-pagination
background
:page-size="getObj.pageSize"
layout="slot"
:total="total"
>
<div>{{ total }},每页</div>
<el-select v-model="getObj.pageSize" class="page-size" @change="get()" style="width: 80px">
<el-option v-for="item in [5, 6, 7, 8, 9, 10]" :key="item" :label="item" :value="item"></el-option>
<el-select
v-model="getObj.pageSize"
class="page-size"
@change="get()"
style="width: 80px"
>
<el-option
v-for="item in [5, 6, 7, 8, 9, 10]"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
<div></div>
</el-pagination>
<el-pagination background layout="prev, pager, next,slot" :page-size="getObj.pageSize" :total="total"
:current-page="getObj.pageNum" @current-change="get">
<el-pagination
background
layout="prev, pager, next,slot"
:page-size="getObj.pageSize"
:total="total"
:current-page="getObj.pageNum"
@current-change="get"
>
<div>跳至</div>
<el-input v-model="getObj.pageNum" style="width: 40px" @change="checkNumber" />
<el-input
v-model="getObj.pageNum"
style="width: 40px"
@change="checkNumber"
/>
<div></div>
</el-pagination>
</div>
@ -554,12 +673,29 @@ onMounted(async function () {
</el-row>
<!-- 驳回弹出框 -->
<el-dialog v-model="rejectVisible" title="驳回理由" width="500" :before-close="closeRejectVisible">
<el-dialog
v-model="rejectVisible"
title="驳回理由"
width="500"
:before-close="closeRejectVisible"
>
<template #footer>
<el-form :model="rejectObj" ref="Ref" :rules="rules" label-width="auto" style="max-width: 600px">
<el-form
:model="rejectObj"
ref="Ref"
:rules="rules"
label-width="auto"
style="max-width: 600px"
>
<el-form-item prop="reson" label="驳回理由:">
<el-input v-model="rejectObj.reson" maxlength="150" show-word-limit style="width: 350px" type="textarea"
placeholder="请输入内容" />
<el-input
v-model="rejectObj.reson"
maxlength="150"
show-word-limit
style="width: 350px"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
</el-form>

50
vue/gold-system/src/views/consume/addConsume.vue

@ -38,7 +38,7 @@ const add = async function () {
try {
// POST
const result = await API.post(
"http://192.168.8.93:10010/consume/add",
"http://192.168.8.147:10010/consume/add",
addConsume.value
);
if (result.code === 0) {
@ -182,34 +182,51 @@ getGoods();
const userGold = ref({});
const getUserGold = async function (jwcode) {
try {
const result = await API.post(
"http://192.168.8.93:10010/statistics/getMess/" + jwcode,
{}
);
if (result.code === 0) {
addConsume.value.jwcode = "";
ElMessage.error(result.msg);
return;
console.log("查询失败,请检查精网号是否正确");
}
// POST
const result = await API.post("http://192.168.8.93:10010/recharge/user", {
jwcode: jwcode,
});
//
console.log("请求成功", result);
//
userGold.value = result.data;
console.log("userGold", userGold.value);
//
userGold.value = result.data[0];
if (result.data.code === 0) {
ElMessage.error("查询失败,请检查精网号是否正确");
} else {
ElMessage.success("查询成功");
}
} catch (error) {
console.log("请求失败", error);
ElMessage.error("查询失败,请检查精网号是否正确");
//
}
};
function calculateCoins() {
if (
userGold.value.coreJb +
userGold.value.free6 +
userGold.value.free12 +
userGold.value.buyJb <
addConsume.value.allGold
) {
addConsume.value.allGold = 0;
addConsume.value.taskCoin = 0;
addConsume.value.freeCoin = 0;
addConsume.value.rechargeCoin = 0;
ElMessage.error("金币不足,请充值");
return;
} else {
// allGold
const originalAllGold = addConsume.value.allGold;
// todayTasktodayFree
const todayTask =
typeof userGold.value.todayTask === "number" ? userGold.value.todayTask : 0;
typeof userGold.value.coreJb === "number" ? userGold.value.coreJb : 0;
const todayFree =
typeof userGold.value.todayFree === "number" ? userGold.value.todayFree : 0;
typeof (userGold.value.free6 + userGold.value.free12) === "number"
? userGold.value.free6 + userGold.value.free12
: 0;
//
addConsume.value.taskCoin = Math.min(originalAllGold, todayTask);
@ -229,6 +246,7 @@ function calculateCoins() {
if (isNaN(addConsume.value.rechargeCoin)) addConsume.value.rechargeCoin = 0;
console.log("计算结果", addConsume.value);
}
}
</script>

208
vue/gold-system/src/views/workspace/index.vue

@ -37,7 +37,7 @@ const consumeMonthTask = ref([]);
//
const getAreaRankObj = ref({
updateType: "充值"
updateType: "充值",
});
const getMediumArea = ref([]);
const areaRank = ref([]);
@ -85,7 +85,6 @@ const list = ref([]);
//
const get = async function () {
try {
getAreaRank();
// POST
const result1 = await API.post(
@ -205,7 +204,6 @@ const get = async function () {
console.log("consumeTotalFree", consumeTotalFree.value);
console.log("consumeTotalTask", consumeTotalTask.value);
option3Data.value = [
{
value: Math.abs(statistics.value.rechargeSumCoin),
@ -280,11 +278,11 @@ const get = async function () {
item == ""
? (ERPData.value[index] = {
value: 0,
name: "第" + (index + 1) + "学科",
name: "第" + (index + 1) + "学科" + 0,
})
: (ERPData.value[index] = {
value: item[0],
name: "第" + (index + 1) + "学科",
name: "第" + (index + 1) + "学科" + item[0],
})
);
console.log("ERPData", ERPData.value);
@ -306,11 +304,11 @@ const get = async function () {
item == ""
? (HCData.value[index] = {
value: 0,
name: "第" + (index + 1) + "学科",
name: "第" + (index + 1) + "学科" + 0,
})
: (HCData.value[index] = {
value: item[0],
name: "第" + (index + 1) + "学科",
name: "第" + (index + 1) + "学科" + item[0],
})
);
console.log("HCData", HCData.value);
@ -332,11 +330,11 @@ const get = async function () {
item == ""
? (LinkData.value[index] = {
value: 0,
name: "第" + (index + 1) + "学科",
name: "第" + (index + 1) + "学科" + 0,
})
: (LinkData.value[index] = {
value: item[0],
name: "第" + (index + 1) + "学科",
name: "第" + (index + 1) + "学科" + item[0],
})
);
console.log("LinkData", LinkData.value);
@ -358,11 +356,11 @@ const get = async function () {
item == ""
? (goldData.value[index] = {
value: 0,
name: "第" + (index + 1) + "学科",
name: "第" + (index + 1) + "学科" + 0,
})
: (goldData.value[index] = {
value: item[0],
name: "第" + (index + 1) + "学科",
name: "第" + (index + 1) + "学科" + item[0],
})
);
console.log("goldData", goldData.value);
@ -441,30 +439,30 @@ const getAreaRank = async function () {
console.log("getMediumArea", getMediumArea.value);
if (getAreaRankObj.value.type == '充值金币') {
if (getAreaRankObj.value.type == "充值金币") {
areaRank.value = getMediumArea.value.map((item) => ({
value: Math.abs(item.rechargeSumCoin),
name: item.area + '-' + item.store,
name: item.area + "-" + item.store,
}));
} else if (getAreaRankObj.value.type == '免费金币') {
} else if (getAreaRankObj.value.type == "免费金币") {
areaRank.value = getMediumArea.value.map((item) => ({
value: Math.abs(item.freeSumCoin),
name: item.area + '-' + item.store,
name: item.area + "-" + item.store,
}));
} else if (getAreaRankObj.value.type == '任务金币') {
} else if (getAreaRankObj.value.type == "任务金币") {
areaRank.value = getMediumArea.value.map((item) => ({
value: Math.abs(item.taskSumCoin),
name: item.area + '-' + item.store,
name: item.area + "-" + item.store,
}));
} else {
areaRank.value = getMediumArea.value.map((item) => ({
value: Math.abs(item.totalRechargeSum),
name: item.area + '-' + item.store,
name: item.area + "-" + item.store,
}));
}
console.log("areaRank", areaRank.value);
}
};
//
@ -476,7 +474,7 @@ const findBsComponent = function (index) {
iconName = `bs.Bs${index + 1}Circle`; // index
}
return eval(iconName); //
}
};
//
const changeGoldType = function () {
console.log("changeGoldType", goldType.value);
@ -493,16 +491,15 @@ const changeGoldType = function () {
};
//
const handleChange = function () {
if (activeName.value == 'recharge') {
getAreaRankObj.value.updateType = '充值';
if (activeName.value == "recharge") {
getAreaRankObj.value.updateType = "充值";
} else {
getAreaRankObj.value.updateType = '消费';
getAreaRankObj.value.updateType = "消费";
}
getAreaRankObj.value.type = "";
goldType.value = "全部类型";
getAreaRank();
}
};
//
const changePlatform = function () {
console.log("changePlatform", platform.value);
@ -764,7 +761,7 @@ onMounted(async function () {
const option3 = {
tooltip: {
trigger: "item",
position: ['15%', '-3%']
position: ["15%", "-3%"],
},
legend: {
bottom: "-2%",
@ -800,7 +797,7 @@ onMounted(async function () {
const option4 = {
tooltip: {
trigger: "item",
position: ['15%', '-3%']
position: ["15%", "-3%"],
},
legend: {
bottom: "-2%",
@ -841,7 +838,7 @@ onMounted(async function () {
const option5 = {
tooltip: {
trigger: "item",
position: ['15%', '-3%']
position: ["15%", "-3%"],
},
legend: {
bottom: "-2%",
@ -909,26 +906,37 @@ onMounted(async function () {
<span v-if="getSumCoin.coinDifference > 0">
<div class="comparedWithYesterday">
<span>较前一天 {{ formatNum(getSumCoin.coinDifference) }}</span>
<span class="red-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="red-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
<span v-if="getSumCoin.coinDifference < 0">
<div class="comparedWithYesterday">
<span>较前一天 {{ formatNum(getSumCoin.coinDifference) }}</span>
<span class="green-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="green-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
<span v-if="getSumCoin.coinDifference == 0">
<div class="comparedWithYesterday">
<span>较前一天 {{ formatNum(getSumCoin.coinDifference) }}</span>
<span class="grey-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="grey-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
</p>
<template #footer>充值{{ formatNum(getSumCoin.todayRecharge) }} 免费{{
<template #footer
>充值{{ formatNum(getSumCoin.todayRecharge) }} 免费{{
formatNum(getSumCoin.todayFree)
}}
任务{{ formatNum(getSumCoin.todayTask) }}</template>
任务{{ formatNum(getSumCoin.todayTask) }}</template
>
</el-card>
</el-col>
<el-col :span="6">
@ -940,7 +948,8 @@ onMounted(async function () {
<p>
折合新币累计金额 {{ formatNum(Math.abs(statistics.totalSumCoin)) }}
</p>
<template #footer>昨日新增
<template #footer
>昨日新增
{{ formatNum(Math.abs(statistics.totalYesterdaySumCoin)) }}
其中充值
{{ formatNum(Math.abs(statistics.rechargeYesterdaySumCoin)) }}
@ -957,10 +966,12 @@ onMounted(async function () {
消费 {{ formatNum(Math.abs(getYearConsumeCoin.yearConsumeCoin)) }};
退款 {{ formatNum(Math.abs(getYearConsumeCoin.yearRefundCoin)) }}
</p>
<template #footer>昨日新增消耗
<template #footer
>昨日新增消耗
{{ formatNum(Math.abs(getDayConsumeCoin.daysumCoin)) }} ; 消费
{{ formatNum(Math.abs(getDayConsumeCoin.dayConsumeCoin)) }} ; 退款
{{ formatNum(Math.abs(getDayConsumeCoin.dayRefundCoin)) }}</template>
{{ formatNum(Math.abs(getDayConsumeCoin.dayRefundCoin)) }}</template
>
</el-card>
</el-col>
<el-col :span="6">
@ -973,53 +984,78 @@ onMounted(async function () {
<span v-if="statistics.weekOverWeekRate > 0">
<div class="comparedWithYesterday">
<span>周同比 {{ statistics.weekOverWeekRate }}%</span>
<span class="red-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="red-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
<span v-if="statistics.weekOverWeekRate < 0">
<div class="comparedWithYesterday">
<span>周同比 {{ statistics.weekOverWeekRate }}%</span>
<span class="green-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="green-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
<span v-if="statistics.weekOverWeekRate == 0">
<div class="comparedWithYesterday">
<span>周同比 {{ statistics.weekOverWeekRate }}%</span>
<span class="grey-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="grey-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span v-if="statistics.dayOverDayRate > 0">
<div class="comparedWithYesterday">
<span> 日环比{{ statistics.dayOverDayRate }}%</span>
<span class="red-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="red-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
<span v-if="statistics.dayOverDayRate < 0">
<div class="comparedWithYesterday">
<span> 日环比{{ statistics.dayOverDayRate }}%</span>
<span class="green-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="green-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
<span v-if="statistics.dayOverDayRate == 0">
<div class="comparedWithYesterday">
<span> 日环比{{ statistics.dayOverDayRate }}%</span>
<span class="grey-triangle" style="margin: 6px 0px 0px 7px"></span>
<span
class="grey-triangle"
style="margin: 6px 0px 0px 7px"
></span>
</div>
</span>
</p>
<template #footer>昨日充值人数
<template #footer
>昨日充值人数
{{ formatNum(Math.abs(statistics.rechargeCountYesterday)) }}
其中首充
{{ formatNum(Math.abs(statistics.firstRechargeCountYesterday)) }}
</template>
</template
>
</el-card>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col>
<el-card>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" @tab-change="handleChange">
<el-tabs
v-model="activeName"
class="demo-tabs"
@tab-click="handleClick"
@tab-change="handleChange"
>
<el-tab-pane label="金币充值" name="recharge">
<div>
合计充值金币
@ -1033,7 +1069,7 @@ onMounted(async function () {
</div>
<div class="bar">
<div id="recharge" style="width: 1150px; height: 400px"></div>
<div style="width: 100px;">
<div style="width: 100px">
<div class="goldCategory">
<span class="light-green-dot"></span>
<span>充值金币</span>
@ -1047,22 +1083,38 @@ onMounted(async function () {
<span>任务金币</span>
</div>
</div>
<div style="width: 310px;">
<div style="width: 310px">
<div class="ranking-header">
<span style="margin-right: 90px; width: 150px;">门店金币充值排名</span>
<el-select v-model="goldType" placeholder="请选择金币类型" size="small" style="width: 90px"
@change="changeGoldType">
<el-option v-for="item in gold" :key="item.value" :label="item.label" :value="item.value" />
<span style="margin-right: 90px; width: 150px"
>门店金币充值排名</span
>
<el-select
v-model="goldType"
placeholder="请选择金币类型"
size="small"
style="width: 90px"
@change="changeGoldType"
>
<el-option
v-for="item in gold"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<div>
<el-scrollbar height="360px">
<div v-for="(item, index) in areaRank" :key="item" class="ranking-item">
<div
v-for="(item, index) in areaRank"
:key="item"
class="ranking-item"
>
<!-- <component :is="findBsComponent(index)" /> -->
<span style="width: 15px; text-align: center;">{{ index + 1 }}</span>
<span style="margin-left: 10px">{{
item.name
<span style="width: 15px; text-align: center">{{
index + 1
}}</span>
<span style="margin-left: 10px">{{ item.name }}</span>
<span style="margin-left: auto">{{
formatNum(item.value)
}}</span>
@ -1089,7 +1141,7 @@ onMounted(async function () {
</div>
<div class="bar">
<div id="consume" style="width: 1150px; height: 400px"></div>
<div style="width: 100px;">
<div style="width: 100px">
<div class="goldCategory">
<span class="light-green-dot"></span>
<span>充值金币</span>
@ -1103,22 +1155,38 @@ onMounted(async function () {
<span>任务金币</span>
</div>
</div>
<div style="width: 310px;">
<div style="width: 310px">
<div class="ranking-header">
<span style="margin-right: 90px; width: 150px;">门店金币消费排名</span>
<el-select v-model="goldType" placeholder="请选择金币类型" size="small" style="width: 90px"
@change="changeGoldType">
<el-option v-for="item in gold" :key="item.value" :label="item.label" :value="item.value" />
<span style="margin-right: 90px; width: 150px"
>门店金币消费排名</span
>
<el-select
v-model="goldType"
placeholder="请选择金币类型"
size="small"
style="width: 90px"
@change="changeGoldType"
>
<el-option
v-for="item in gold"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<div>
<el-scrollbar height="360px">
<div v-for="(item, index) in areaRank" :key="item" class="ranking-item">
<div
v-for="(item, index) in areaRank"
:key="item"
class="ranking-item"
>
<!-- <component :is="findBsComponent(index)" /> -->
<span style="width: 15px; text-align: center;">{{ index + 1 }}</span>
<span style="margin-left: 10px">{{
item.name
<span style="width: 15px; text-align: center">{{
index + 1
}}</span>
<span style="margin-left: 10px">{{ item.name }}</span>
<span style="margin-left: auto">{{
formatNum(item.value)
}}</span>
@ -1152,8 +1220,14 @@ onMounted(async function () {
<template #header>
<div class="card-header" style="display: flex">
<span class="tail-head">四大学科类别占比</span>
<el-radio-group v-model="platform" fill="#ffffff" text-color="#409eff" size="small"
@change="changePlatform" style="margin-left: auto">
<el-radio-group
v-model="platform"
fill="#ffffff"
text-color="#409eff"
size="small"
@change="changePlatform"
style="margin-left: auto"
>
<el-radio-button label="全部平台" value="全部平台" />
<el-radio-button label="ERP" value="ERP" />
<el-radio-button label="HC" value="HC" />

Loading…
Cancel
Save