donghaolin 5 months ago
parent
commit
7ecb3edff5
  1. 2
      vue/gold-system/package.json
  2. 97
      vue/gold-system/src/views/usergold/index.vue
  3. 57
      vue/gold-system/src/views/workspace/index.vue

2
vue/gold-system/package.json

@ -4,7 +4,7 @@
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"dev": "vite --host 0.0.0.0",
"build": "vue-tsc -b && vite build",
"preview": "vite preview",
"serve": "vite - service serve --host 0.0.0.0 --port 8080"

97
vue/gold-system/src/views/usergold/index.vue

@ -175,6 +175,35 @@ const get7Days = function () {
get();
};
//
const checkNumber = function () {
if (typeof parseInt(getObj.value.pageNum) === "number") {
console.log(
"总共有多少页" + Math.ceil(total.value / getObj.value.pageSize)
);
if (
getObj.value.pageNum > 0 &&
getObj.value.pageNum <= Math.ceil(total.value / getObj.value.pageSize)
) {
console.log("输入的数字合法");
get();
} else {
//
ElMessage({
type: "error",
message: "请检查输入内容",
});
}
} else {
//
ElMessage({
type: "error",
message: "请检查输入内容",
});
}
};
//
onMounted(async function () {
await get();
@ -188,38 +217,18 @@ onMounted(async function () {
<div class="head-card">
<div class="head-card-element">
<el-text class="mx-1" size="large">精网号</el-text>
<el-input
v-model="detail.jwcode"
style="width: 240px"
placeholder="请输入精网号"
clearable
/>
<el-input v-model="detail.jwcode" style="width: 240px" placeholder="请输入精网号" clearable />
</div>
<div class="head-card-element">
<el-text class="mx-1" size="large">更新类型</el-text>
<el-select
v-model="detail.updateType"
placeholder="请选择更新类型"
size="large"
style="width: 240px"
>
<el-option
v-for="item in updateType"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-select v-model="detail.updateType" placeholder="请选择更新类型" size="large" style="width: 240px">
<el-option v-for="item in updateType" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div class="head-card-element">
<el-text class="mx-1" size="large">更新时间</el-text>
<el-date-picker
v-model="getTime"
type="daterange"
range-separator="至"
start-placeholder="起始时间"
end-placeholder="结束时间"
/>
<el-date-picker v-model="getTime" type="daterange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" />
</div>
<div class="head-card-btn">
<el-button @click="reset()">重置</el-button>
@ -263,42 +272,17 @@ 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>
@ -311,6 +295,7 @@ onMounted(async function () {
.pagination {
display: flex;
}
.status {
display: flex;
}

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

@ -6,6 +6,8 @@ import { Bs1CircleFill, Bs2CircleFill, Bs3CircleFill, Bs4Circle, Bs5Circle, Bs6C
import axios, { all } from 'axios';
//
//
const loading = ref(true)
//
const getSumCoin = ref({});
const statistics = ref({});
@ -136,13 +138,13 @@ const get = async function () {
payMonthRecharge.value = getMediuPayCoin.value.map(item => Math.abs(item.rechargeSumCoin)).reverse();
payMonthFree.value = getMediuPayCoin.value.map(item => Math.abs(item.freeSumCoin)).reverse();
payMonthTask.value = getMediuPayCoin.value.map(item => Math.abs(item.taskSumCoin)).reverse();
payMonthRecharge.value.forEach((number)=>{
payMonthRecharge.value.forEach((number) => {
payTotalRecharge.value += number
})
payMonthFree.value.forEach((number)=>{
payMonthFree.value.forEach((number) => {
payTotalFree.value += number
})
payMonthTask.value.forEach((number)=>{
payMonthTask.value.forEach((number) => {
payTotalTask.value += number
})
console.log('payMonthCategory', payMonthCategory.value);
@ -157,13 +159,13 @@ const get = async function () {
consumeMonthRecharge.value = getMediuConsumeCoin.value.map(item => Math.abs(item.rechargeSumCoin)).reverse();
consumeMonthFree.value = getMediuConsumeCoin.value.map(item => Math.abs(item.freeSumCoin)).reverse();
consumeMonthTask.value = getMediuConsumeCoin.value.map(item => Math.abs(item.taskSumCoin)).reverse();
consumeMonthRecharge.value.forEach((number)=>{
consumeMonthRecharge.value.forEach((number) => {
consumeTotalRecharge.value += number
})
consumeMonthFree.value.forEach((number)=>{
consumeMonthFree.value.forEach((number) => {
consumeTotalFree.value += number
})
consumeMonthTask.value.forEach((number)=>{
consumeMonthTask.value.forEach((number) => {
consumeTotalTask.value += number
})
console.log('consumeMonthCategory', consumeMonthCategory.value);
@ -293,6 +295,9 @@ const get = async function () {
{ value: (Number(ERPData.value[2].value) + Number(HCData.value[2].value) + Number(LinkData.value[2].value) + Number(goldData.value[2].value)), name: '第3学科' },
{ value: (Number(ERPData.value[3].value) + Number(HCData.value[3].value) + Number(LinkData.value[3].value) + Number(goldData.value[3].value)), name: '第4学科' },
]
loading.value = false;
console.log('allData', allData.value);
} catch (error) {
console.log('请求失败', error);
@ -608,7 +613,7 @@ onMounted(async function () {
{
name: '全年累计金币数(个)\n' + statistics.value.totalSumCoin,
type: 'pie',
radius: ['80%', '60%'],
radius: ['60%', '80%'],
avoidLabelOverlap: false,
label: {
show: true,
@ -646,7 +651,7 @@ onMounted(async function () {
{
name: '全年累计消耗金币数(个)\n' + getYearConsumeCoin.value.yearsumCoin,
type: 'pie',
radius: ['80%', '60%'],
radius: ['60%', '80%'],
avoidLabelOverlap: false,
label: {
show: true,
@ -684,7 +689,7 @@ onMounted(async function () {
{
name: '当前金币余量(个)\n' + getSumCoin.value.todayTotalCoin,
type: 'pie',
radius: ['80%', '60%'],
radius: ['60%', '80%'],
avoidLabelOverlap: false,
label: {
show: true,
@ -728,6 +733,7 @@ onMounted(async function () {
</script>
<template>
<div v-loading="loading">
<el-row :gutter="20">
<el-col :span="6">
<el-card>
@ -756,7 +762,8 @@ onMounted(async function () {
</div>
</span>
</p>
<template #footer>充值{{ formatNum(getSumCoin.todayRecharge) }} 免费{{ formatNum(getSumCoin.todayFree) }}
<template #footer>充值{{ formatNum(getSumCoin.todayRecharge) }} 免费{{ formatNum(getSumCoin.todayFree)
}}
任务{{ formatNum(getSumCoin.todayTask) }}</template>
</el-card>
</el-col>
@ -958,47 +965,56 @@ onMounted(async function () {
<div class="ranking-item" v-if="areaSizeConsume >= 1">
<Bs1CircleFill />
<span style="margin-left: 10px;">{{ ConsumeRank[0].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[0].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[0].value)
}}</span>
</div>
<div class="ranking-item" v-if="areaSizeConsume >= 2">
<Bs2CircleFill />
<span style="margin-left: 10px;">{{ ConsumeRank[1].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[1].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[1].value)
}}</span>
</div>
<div class="ranking-item" v-if="areaSizeConsume >= 3">
<Bs3CircleFill />
<span style="margin-left: 10px;">{{ ConsumeRank[2].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[2].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[2].value)
}}</span>
</div>
<div class="ranking-item" v-if="areaSizeConsume >= 4">
<Bs4Circle />
<span style="margin-left: 10px;">{{ ConsumeRank[3].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[3].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[3].value)
}}</span>
</div>
<div class="ranking-item" v-if="areaSizeConsume >= 5">
<Bs5Circle />
<span style="margin-left: 10px;">{{ ConsumeRank[4].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[4].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[4].value)
}}</span>
</div>
<div class="ranking-item" v-if="areaSizeConsume >= 6">
<Bs6Circle />
<span style="margin-left: 10px;">{{ ConsumeRank[5].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[5].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[5].value)
}}</span>
</div>
<div class="ranking-item" v-if="areaSizeConsume >= 7">
<Bs7Circle />
<span style="margin-left: 10px;">{{ ConsumeRank[6].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[6].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[6].value)
}}</span>
</div>
<div class="ranking-item" v-if="areaSizeConsume >= 8">
<Bs8Circle />
<span style="margin-left: 10px;">{{ ConsumeRank[7].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[7].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[7].value)
}}</span>
</div>
<div class="ranking-item" v-if="areaSizeConsume >= 9">
<Bs9Circle />
<span style="margin-left: 10px;">{{ ConsumeRank[8].name }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[8].value) }}</span>
<span style="margin-left: auto;">{{ formatNum(ConsumeRank[8].value)
}}</span>
</div>
</div>
@ -1059,6 +1075,7 @@ onMounted(async function () {
</el-card>
</el-col>
</el-row>
</div>
</template>
<style scoped>
@ -1067,7 +1084,7 @@ onMounted(async function () {
font-weight: bold;
}
.mid-head-font{
.mid-head-font {
font-weight: bold;
color: #5eb7ff;
}

Loading…
Cancel
Save