donghaolin 6 months ago
parent
commit
96d066adbc
  1. 4
      vue/gold-system/README.md
  2. 7
      vue/gold-system/index.html
  3. 26
      vue/gold-system/package-lock.json
  4. 1
      vue/gold-system/package.json
  5. 2
      vue/gold-system/src/views/index.vue
  6. 96
      vue/gold-system/src/views/managerecharge/activity.vue
  7. 143
      vue/gold-system/src/views/recharge/adminRecharge.vue
  8. 97
      vue/gold-system/src/views/recharge/allRecharge.vue
  9. 202
      vue/gold-system/src/views/usergold/index.vue
  10. 126
      vue/gold-system/src/views/workspace/index.vue

4
vue/gold-system/README.md

@ -16,4 +16,6 @@ npm install element-plus --save 下载element-plus组件
npm install @element-plus/icons-vue 下载element-plus图标库
npm install vue-icons-plus --save 下载外部图标库
npm install vue-icons-plus --save 下载外部图标库
npm install echarts 安装echarts组件

7
vue/gold-system/index.html

@ -11,3 +11,10 @@
<script type="module" src="/src/main.ts"></script>
</body>
</html>
<style>
html,body,#app{
height:100%;
margin: 0px;
padding: 0px;
}
</style>

26
vue/gold-system/package-lock.json

@ -10,6 +10,7 @@
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
"axios": "^1.7.8",
"echarts": "^5.5.1",
"element-plus": "^2.8.8",
"vue": "^3.5.12",
"vue-icons-plus": "^0.1.7",
@ -1159,6 +1160,16 @@
"node": ">=0.4.0"
}
},
"node_modules/echarts": {
"version": "5.5.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/echarts/-/echarts-5.5.1.tgz",
"integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "2.3.0",
"zrender": "5.6.0"
}
},
"node_modules/element-plus": {
"version": "2.8.8",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/element-plus/-/element-plus-2.8.8.tgz",
@ -1520,6 +1531,12 @@
"node": ">=0.10.0"
}
},
"node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
"license": "0BSD"
},
"node_modules/typescript": {
"version": "5.6.3",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/typescript/-/typescript-5.6.3.tgz",
@ -1663,6 +1680,15 @@
"peerDependencies": {
"typescript": ">=5.0.0"
}
},
"node_modules/zrender": {
"version": "5.6.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/zrender/-/zrender-5.6.0.tgz",
"integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
"license": "BSD-3-Clause",
"dependencies": {
"tslib": "2.3.0"
}
}
}
}

1
vue/gold-system/package.json

@ -11,6 +11,7 @@
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
"axios": "^1.7.8",
"echarts": "^5.5.1",
"element-plus": "^2.8.8",
"vue": "^3.5.12",
"vue-icons-plus": "^0.1.7",

2
vue/gold-system/src/views/index.vue

@ -124,7 +124,7 @@ const router = useRouter();
.el-aside {
background-color: #08193d;
height: 100vh;
min-height: 100vh;
width: 200px;
}

96
vue/gold-system/src/views/managerecharge/activity.vue

@ -1,66 +1,12 @@
<script setup>
import { ref, onMounted, reactive, computed } from "vue";
import ElementPlus from "element-plus";
import axios from 'axios';
//
//
const tableData = ref[{}];
const tableData = [
{
activityName: '这是活动名称',
startTime: '2023-12-22 00:00:00',
endTime: '2024-12-22 23:59:59',
rechargeRatio: '10:1',
status: '进行中',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称2',
startTime: '2023-12-22 00:00:00',
endTime: '2024-12-22 23:59:59',
rechargeRatio: '5:1',
status: '进行中',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称3',
startTime: '2024-12-22 00:00:00',
endTime: '2025-12-22 23:59:59',
rechargeRatio: '10:1',
status: '未开始',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称4',
startTime: '2024-12-22 00:00:00',
endTime: '2025-12-22 23:59:59',
rechargeRatio: '5:1',
status: '未开始',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称5',
startTime: '2023-01-01 00:00:00',
endTime: '2023-12-22 23:59:59',
rechargeRatio: '10:1',
status: '已结束',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称6',
startTime: '2023-01-01 00:00:00',
endTime: '2023-12-22 23:59:59',
rechargeRatio: '5:1',
status: '已结束',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
]
//
//
const getObj = ref({
page: 1,
size: 10,
@ -69,6 +15,9 @@ const getObj = ref({
const total = ref(100)
//
//
//
const addActivityVisible = ref(false)
//
@ -84,7 +33,8 @@ const addActicity = function () {
openAddActivityVisible();
}
const form = reactive({
//
const addObj = reactive({
activityName: '',
freeGold: '',
rechargeRatio: '',
@ -185,34 +135,34 @@ const Delete = function (index, row) {
<el-dialog v-model="addActivityVisible" title="新增活动" width="500" :before-close="closeAddActivityVisible">
<template #footer>
<el-form :model="form" label-width="auto" style="max-width: 600px">
<el-form :model="addObj" label-width="auto" style="max-width: 600px">
<el-form-item label="活动名称">
<el-input v-model="form.activityName" placeholder="请输入活动名称" />
<el-form-item label="活动名称:">
<el-input v-model="addObj.activityName" placeholder="请输入活动名称" style="width: 220px;"/>
</el-form-item>
<el-form-item label="免费金币">
<el-radio-group v-model="form.freeGold">
<el-form-item label="免费金币:">
<el-radio-group v-model="addObj.freeGold">
<el-radio value="0">无赠送</el-radio>
<el-radio value="1">有赠送</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="免费金币兑换比">
<el-input v-model="form.rechargeRatio" placeholder="请输入" style="width: 80px;" />1
<el-form-item label="免费金币兑换比:">
<el-input v-model="addObj.rechargeRatio" placeholder="请输入" style="width: 80px;" />1
<div style="color: grey;">(提示当前规则每10新币可兑换1免费金币)</div>
</el-form-item>
<el-form-item label="开始时间">
<el-time-picker v-model="form.startTime" />
<el-form-item label="开始时间:">
<el-time-picker v-model="addObj.startTime" />
</el-form-item>
<el-form-item label="结束时间">
<el-time-picker v-model="form.endTime" />
<el-form-item label="结束时间:">
<el-time-picker v-model="addObj.endTime" />
</el-form-item>
<el-form-item label="添加人">
<el-input v-model="form.adminName" disabled />
<el-form-item label="添加人:">
<el-input v-model="addObj.adminName" disabled style="width: 220px;"/>
</el-form-item>
</el-form>

143
vue/gold-system/src/views/recharge/adminRecharge.vue

@ -5,7 +5,7 @@ import { AiFillRead } from "vue-icons-plus/ai";
const tableData = [
{
userName: '梁凡',
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -22,7 +22,7 @@ const tableData = [
createTime: '2023-01-01 00:00:00',
},
{
userName: '梁凡',
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -37,8 +37,8 @@ const tableData = [
reason: '原因',
rechargeTime: '2023-12-22 00:00:00',
createTime: '2023-01-01 00:00:00',
},{
userName: '梁凡',
}, {
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -53,8 +53,8 @@ const tableData = [
reason: '原因',
rechargeTime: '2023-12-22 00:00:00',
createTime: '2023-01-01 00:00:00',
},{
userName: '梁凡',
}, {
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -69,8 +69,8 @@ const tableData = [
reason: '原因',
rechargeTime: '2023-12-22 00:00:00',
createTime: '2023-01-01 00:00:00',
},{
userName: '梁凡',
}, {
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -89,6 +89,31 @@ const tableData = [
]
//
const value = ref('')
const options = [
{
value: 'Option1',
label: 'Option1',
},
{
value: 'Option2',
label: 'Option2',
},
{
value: 'Option3',
label: 'Option3',
},
{
value: 'Option4',
label: 'Option4',
},
{
value: 'Option5',
label: 'Option5',
},
]
//
const getObj = ref({
page: 1,
@ -129,9 +154,9 @@ const handleClick = function (tab, event) {
}
const Delete = function (index, row) {
console.log(index, row)
}
const Delete = function (index, row) {
console.log(index, row)
}
</script>
@ -143,20 +168,29 @@ const handleClick = function (tab, event) {
<el-col :span="8">
<div class="head-card-element">
<el-text class="mx-1" size="large">活动名称</el-text>
<el-input v-model="input" style="width: 240px" clearable />
<el-select v-model="value" placeholder="请选择活动名称" size="large" style="width: 240px">
<el-option v-for="item in options" :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-input v-model="input" style="width: 240px" clearable />
<el-select v-model="value" placeholder="请选择充值方式" size="large" style="width: 240px">
<el-option v-for="item in options" :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-input v-model="input" style="width: 240px" placeholder="请输入活动名称" clearable />
<el-select v-model="value" placeholder="请选择所属地区" size="large" style="width: 240px">
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</div>
</el-col>
</el-row>
@ -185,24 +219,24 @@ const handleClick = function (tab, event) {
<el-col>
<el-card>
<el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="全部" name="all" @click="adminAll()"></el-tab-pane>
<el-tab-pane label="待审核" name="wait" @click="adminWait()"></el-tab-pane>
<el-tab-pane label="已通过" name="pass" @click="adminPass()"></el-tab-pane>
<el-tab-pane label="已驳回" name="reject" @click="adminReject()"></el-tab-pane>
<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>
<el-tab-pane label="已驳回" name="reject"></el-tab-pane>
</el-tabs>
<div>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="userName" label="姓名" width="100px"/>
<el-table-column prop="homilyId" 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="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="rechargeWay" label="支付方式" width="100px"/>
<el-table-column prop="rechargeVoucher" label="支付凭证" width="150px"/>
<el-table-column prop="adminName" label="提交人" width="100px"/>
<el-table-column prop="name" label="姓名" width="100px" />
<el-table-column prop="homilyId" 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="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="rechargeWay" label="支付方式" width="100px" />
<el-table-column prop="rechargeVoucher" label="支付凭证" width="150px" />
<el-table-column prop="adminName" label="提交人" width="100px" />
<el-table-column prop="status" label="状态" width="100px">
<template #default="scope">
<div class="status">
@ -219,9 +253,9 @@ const handleClick = function (tab, event) {
</div>
</template>
</el-table-column>
<el-table-column prop="reason" label="驳回理由" width="200px" show-overflow-tooltip/>
<el-table-column prop="rechargeTime" label="交款时间" width="200px"/>
<el-table-column prop="createTime" label="提交时间" width="200px"/>
<el-table-column prop="reason" label="驳回理由" width="200px" show-overflow-tooltip />
<el-table-column prop="rechargeTime" label="交款时间" width="200px" />
<el-table-column prop="createTime" label="提交时间" width="200px" />
<el-table-column fixed="right" prop="operation" label="操作" width="150px">
<template #default="scope">
<el-popconfirm title="确定将此条活动删除吗?">
@ -250,6 +284,51 @@ const handleClick = function (tab, event) {
</el-col>
</el-row>
<!-- 编辑弹窗 -->
<el-dialog v-model="editRechargeVisible" title="新增活动" width="500" :before-close="closeEditRechargeVisible">
<template #footer>
<el-form :model="editObj" label-width="auto" style="max-width: 600px">
<el-form-item label="活动名称:">
<el-input v-model="addObj.activityName" placeholder="请输入活动名称" style="width: 220px;"/>
</el-form-item>
<el-form-item label="免费金币:">
<el-radio-group v-model="addObj.freeGold">
<el-radio value="0">无赠送</el-radio>
<el-radio value="1">有赠送</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="免费金币兑换比:">
<el-input v-model="addObj.rechargeRatio" placeholder="请输入" style="width: 80px;" />1
<div style="color: grey;">(提示当前规则每10新币可兑换1免费金币)</div>
</el-form-item>
<el-form-item label="开始时间:">
<el-time-picker v-model="addObj.startTime" />
</el-form-item>
<el-form-item label="结束时间:">
<el-time-picker v-model="addObj.endTime" />
</el-form-item>
<el-form-item label="添加人:">
<el-input v-model="addObj.adminName" disabled style="width: 220px;"/>
</el-form-item>
</el-form>
<div class="dialog-footer">
<el-button @click="closeAddActivityVisible">取消</el-button>
<el-button type="primary" @click="closeAddActivityVisible">
提交
</el-button>
</div>
</template>
</el-dialog>
</template>
<style scoped>

97
vue/gold-system/src/views/recharge/allRecharge.vue

@ -5,7 +5,7 @@ import { AiFillRead } from "vue-icons-plus/ai";
const tableData = [
{
userName: '梁凡',
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -22,7 +22,7 @@ const tableData = [
createTime: '2023-01-01 00:00:00',
},
{
userName: '梁凡',
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -37,8 +37,8 @@ const tableData = [
reason: '原因',
rechargeTime: '2023-12-22 00:00:00',
createTime: '2023-01-01 00:00:00',
},{
userName: '梁凡',
}, {
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -53,8 +53,8 @@ const tableData = [
reason: '原因',
rechargeTime: '2023-12-22 00:00:00',
createTime: '2023-01-01 00:00:00',
},{
userName: '梁凡',
}, {
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -69,8 +69,8 @@ const tableData = [
reason: '原因',
rechargeTime: '2023-12-22 00:00:00',
createTime: '2023-01-01 00:00:00',
},{
userName: '梁凡',
}, {
name: '梁凡',
homilyId: '123456',
area: '北京',
activityName: '这是活动名称',
@ -89,6 +89,30 @@ const tableData = [
]
const value = ref('')
const options = [
{
value: 'Option1',
label: 'Option1',
},
{
value: 'Option2',
label: 'Option2',
},
{
value: 'Option3',
label: 'Option3',
},
{
value: 'Option4',
label: 'Option4',
},
{
value: 'Option5',
label: 'Option5',
},
]
//
const getObj = ref({
page: 1,
@ -129,9 +153,9 @@ const handleClick = function (tab, event) {
}
const Delete = function (index, row) {
console.log(index, row)
}
const Delete = function (index, row) {
console.log(index, row)
}
</script>
@ -143,20 +167,29 @@ const handleClick = function (tab, event) {
<el-col :span="8">
<div class="head-card-element">
<el-text class="mx-1" size="large">活动名称</el-text>
<el-input v-model="input" style="width: 240px" clearable />
<el-select v-model="value" placeholder="请选择活动名称" size="large" style="width: 240px">
<el-option v-for="item in options" :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-input v-model="input" style="width: 240px" clearable />
<el-select v-model="value" placeholder="请选择充值方式" size="large" style="width: 240px">
<el-option v-for="item in options" :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-input v-model="input" style="width: 240px" placeholder="请输入活动名称" clearable />
<el-select v-model="value" placeholder="请选择所属地区" size="large" style="width: 240px">
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</div>
</el-col>
</el-row>
@ -185,24 +218,24 @@ const handleClick = function (tab, event) {
<el-col>
<el-card>
<el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="全部" name="all" @click="adminAll()"></el-tab-pane>
<el-tab-pane label="待审核" name="wait" @click="adminWait()"></el-tab-pane>
<el-tab-pane label="已通过" name="pass" @click="adminPass()"></el-tab-pane>
<el-tab-pane label="已驳回" name="reject" @click="adminReject()"></el-tab-pane>
<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>
<el-tab-pane label="已驳回" name="reject"></el-tab-pane>
</el-tabs>
<div>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="userName" label="姓名" width="100px"/>
<el-table-column prop="homilyId" 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="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="rechargeWay" label="支付方式" width="100px"/>
<el-table-column prop="rechargeVoucher" label="支付凭证" width="150px"/>
<el-table-column prop="adminName" label="提交人" width="100px"/>
<el-table-column prop="name" label="姓名" width="100px" />
<el-table-column prop="homilyId" 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="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="rechargeWay" label="支付方式" width="100px" />
<el-table-column prop="rechargeVoucher" label="支付凭证" width="150px" />
<el-table-column prop="adminName" label="提交人" width="100px" />
<el-table-column prop="status" label="状态" width="100px">
<template #default="scope">
<div class="status">
@ -219,9 +252,9 @@ const handleClick = function (tab, event) {
</div>
</template>
</el-table-column>
<el-table-column prop="reason" label="驳回理由" width="200px" show-overflow-tooltip/>
<el-table-column prop="rechargeTime" label="交款时间" width="200px"/>
<el-table-column prop="createTime" label="提交时间" width="200px"/>
<el-table-column prop="reason" label="驳回理由" width="200px" show-overflow-tooltip />
<el-table-column prop="rechargeTime" label="交款时间" width="200px" />
<el-table-column prop="createTime" label="提交时间" width="200px" />
<el-table-column fixed="right" prop="operation" label="操作" width="150px">
<template #default="scope">
<el-popconfirm title="确定将此条活动删除吗?">

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

@ -1,13 +1,207 @@
<script setup>
import { ref, onMounted, reactive, computed } from "vue";
import ElementPlus from "element-plus";
const tableData = [
{
activityName: '这是活动名称',
startTime: '2023-12-22 00:00:00',
endTime: '2024-12-22 23:59:59',
rechargeRatio: '10:1',
status: '进行中',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称2',
startTime: '2023-12-22 00:00:00',
endTime: '2024-12-22 23:59:59',
rechargeRatio: '5:1',
status: '进行中',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称3',
startTime: '2024-12-22 00:00:00',
endTime: '2025-12-22 23:59:59',
rechargeRatio: '10:1',
status: '未开始',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称4',
startTime: '2024-12-22 00:00:00',
endTime: '2025-12-22 23:59:59',
rechargeRatio: '5:1',
status: '未开始',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称5',
startTime: '2023-01-01 00:00:00',
endTime: '2023-12-22 23:59:59',
rechargeRatio: '10:1',
status: '已结束',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
{
activityName: '这是活动名称6',
startTime: '2023-01-01 00:00:00',
endTime: '2023-12-22 23:59:59',
rechargeRatio: '5:1',
status: '已结束',
adminName: '张三',
createTime: '2023-01-01 00:00:00',
},
]
//
const value = ref('')
const options = [
{
value: 'Option1',
label: 'Option1',
},
{
value: 'Option2',
label: 'Option2',
},
{
value: 'Option3',
label: 'Option3',
},
{
value: 'Option4',
label: 'Option4',
},
{
value: 'Option5',
label: 'Option5',
},
]
//
const getObj = ref({
page: 1,
size: 10,
})
//
const total = ref(100)
//
const addActivityVisible = ref(false)
//
const openAddActivityVisible = function () {
addActivityVisible.value = true
}
//
const closeAddActivityVisible = function () {
addActivityVisible.value = false
}
//
const addActicity = function () {
openAddActivityVisible();
}
//
const addObj = reactive({
activityName: '',
freeGold: '',
rechargeRatio: '',
startTime: '',
endTime: '',
adminName: '',
})
const Delete = function (index, row) {
console.log(index, row)
}
</script>
<template>
<div>
<h1>User Gold</h1>
</div>
<el-row>
<el-col>
<el-card style="margin-bottom: 20px">
<div class="head-card">
<div class="head-card-element">
<el-text class="mx-1" size="large">精网号</el-text>
<el-input v-model="input" style="width: 240px" placeholder="请输入活动名称" clearable />
</div>
<div class="head-card-element">
<el-text class="mx-1" size="large">更新类型</el-text>
<el-select v-model="value" placeholder="请选择活动名称" size="large" style="width: 240px">
<el-option v-for="item in options" :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-time-picker v-model="value1" is-range range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" />
</div>
<div class="head-card-btn">
<el-button>重置</el-button>
<el-button type="primary">查询</el-button>
</div>
</div>
</el-card>
</el-col>
</el-row>
<el-row>
<el-col>
<el-card>
<div>
现有金币免费金币充值金币任务金币
</div>
<div>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="name" label="姓名" />
<el-table-column prop="homilyId" label="精网号" />
<el-table-column prop="area" label="所属地区" />
<el-table-column prop="gold" label="更新数量" />
<el-table-column prop="updateType" label="更新类型" />
<el-table-column prop="freeCoin" label="免费金币" />
<el-table-column prop="rechargeCoin" label="充值金币" />
<el-table-column prop="taskCoin" label="任务金币" />
<el-table-column prop="commitName" label="提交人" />
<el-table-column prop="createTime" label="更新时间" />
</el-table>
</div>
<!-- 分页 -->
<el-pagination background
layout="prev, pager, next" :total="total" />
</el-card>
</el-col>
</el-row>
</template>
<style scoped>
.status {
display: flex;
}
.head-card {
display: flex;
}
.head-card-element {
margin-right: 20px;
}
.head-card-btn {
margin-left: auto;
}
</style>

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

@ -1,13 +1,131 @@
<script setup>
import * as echarts from 'echarts';
import { ref, onMounted, reactive, computed } from "vue";
import { VscInfo } from 'vue-icons-plus/vsc'
//
const activeName = ref('recharge')
//
const platform = ref('all')
onMounted(function () {
// domecharts
var myChart = echarts.init(document.getElementById('main'));
//
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data: ['销量']
},
xAxis: {
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
},
yAxis: {},
series: [
{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}
]
};
// 使
myChart.setOption(option);
})
</script>
<template>
<div>
<h1>Workspace</h1>
</div>
<el-row :gutter="20">
<el-col :span="6">
<el-card>
<p>当前金币余量
</p>
<p>数据待填充</p>
<p>较前一天数据待填充</p>
<template #footer>充值 免费 任务</template>
</el-card>
</el-col>
<el-col :span="6">
<el-card>
<p>全年累计金币数</p>
<p>数据待填充</p>
<p>折合新币累计金额数据待填充</p>
<template #footer>昨日新增其中充值</template>
</el-card>
</el-col>
<el-col :span="6">
<el-card>
<p>全年累计消费金币数</p>
<p>数据待填充</p>
<p>消费退款</p>
<template #footer>昨日新增消耗消费退款</template>
</el-card>
</el-col>
<el-col :span="6">
<el-card>
<p>全年累计充值人数</p>
<p>数据待填充</p>
<p>周同比 % 日环比%</p>
<template #footer>昨日充值人数其中首充</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">
<el-tab-pane label="金币充值" name="recharge">
<div id="main" style="width: 600px;height:400px;"></div>
</el-tab-pane>
<el-tab-pane label="金币消费" name="consume">
<div>金币消费</div>
</el-tab-pane>
</el-tabs>
</el-card>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="16">
<el-card>
<template #header>
<div class="card-header">
<span>金币概览</span>
</div>
</template>
<p v-for="o in 4" :key="o" class="text item">{{ 'List item ' + o }}</p>
</el-card>
</el-col>
<el-col :span="8">
<el-card>
<template #header>
<div class="card-header" style="display: flex;">
<span>金币消耗类别占比</span>
<el-radio-group v-model="platform" fill="#ffffff" text-color="#409eff" size="small" style="margin-left: auto;">
<el-radio-button label="全部平台" value="all" />
<el-radio-button label="HC" value="hc" />
<el-radio-button label="Link" value="link" />
</el-radio-group>
</div>
</template>
<div>表格</div>
</el-card>
</el-col>
</el-row>
</template>
<style scoped>
.el-row{
margin-bottom: 20px;
}
.el-radio-button{
border: 1px solid grey;
}
</style>
Loading…
Cancel
Save