|
|
@ -5,11 +5,11 @@ import { storeToRefs } from "pinia" |
|
|
|
import { findMenuById, permissionMapping } from "@/utils/menuTreePermission.js" |
|
|
|
const adminStore = useAdminStore() |
|
|
|
const { adminData, menuTree } = storeToRefs(adminStore) |
|
|
|
import {onMounted, ref} from 'vue' |
|
|
|
import {ElMessage} from 'element-plus' |
|
|
|
import { onMounted, ref } from 'vue' |
|
|
|
import { ElMessage } from 'element-plus' |
|
|
|
import moment from 'moment' |
|
|
|
import API from '@/util/http.js' |
|
|
|
import {reverseMarketMapping} from "@/utils/marketMap.js"; |
|
|
|
import { reverseMarketMapping } from "@/utils/marketMap.js"; |
|
|
|
|
|
|
|
//新增员工数据复选框 |
|
|
|
const showEmployeeData = ref(false) |
|
|
@ -65,7 +65,7 @@ const sortOrder = ref('') |
|
|
|
// 搜索=========================================================================== |
|
|
|
// 搜索方法 |
|
|
|
const get = async function (val) { |
|
|
|
if(!findMenuById(menuTree.value, permissionMapping.coinCustomerMoney)){ |
|
|
|
if (!findMenuById(menuTree.value, permissionMapping.coinCustomerMoney)) { |
|
|
|
ElMessage.error('无此权限') |
|
|
|
return |
|
|
|
} |
|
|
@ -81,7 +81,7 @@ const get = async function (val) { |
|
|
|
console.log('搜索参数', getObj.value) |
|
|
|
|
|
|
|
// 发送POST请求 |
|
|
|
const requestData = {...getObj.value, user: {...user.value}};//控制台打印请求的参数 |
|
|
|
const requestData = { ...getObj.value, user: { ...user.value } };//控制台打印请求的参数 |
|
|
|
console.log('最终请求参数', JSON.stringify(requestData, null, 2)); // 打印格式化后的请求参数 |
|
|
|
//console.log('请求参数', requestData); |
|
|
|
// 检查markets数组中是否包含'总部'或'研发部' |
|
|
@ -102,7 +102,7 @@ const get = async function (val) { |
|
|
|
const result = await API({ |
|
|
|
url: '/goldDetail/getGold', |
|
|
|
method: 'post', |
|
|
|
data: {...getObj.value, user: {...user.value, flag: showEmployeeData.value? 0 : 1}} |
|
|
|
data: { ...getObj.value, user: { ...user.value, flag: showEmployeeData.value ? 0 : 1 } } |
|
|
|
}) |
|
|
|
console.log('响应数据', result) |
|
|
|
tableData.value = result.data.list |
|
|
@ -115,7 +115,7 @@ const get = async function (val) { |
|
|
|
data: { |
|
|
|
jwcode: user.value.jwcode, |
|
|
|
markets: user.value.markets, |
|
|
|
flag: showEmployeeData.value? 0 : 1 |
|
|
|
flag: showEmployeeData.value ? 0 : 1 |
|
|
|
} |
|
|
|
}) |
|
|
|
// 判断精网号是否存在,假设精网号不存在时 result.data.list 为空数组 |
|
|
@ -137,7 +137,7 @@ const get = async function (val) { |
|
|
|
// ElMessage.warning('精网号不存在,请检查输入') |
|
|
|
} |
|
|
|
// 判断合计数是否存在,不存在时 result.data.list 为空数组 |
|
|
|
else if(resultGoldTotal.data===0){ |
|
|
|
else if (resultGoldTotal.data === 0) { |
|
|
|
// 将表格数据设置为空数组 |
|
|
|
tableData.value = [] |
|
|
|
// 将合计数设置为 0 |
|
|
@ -242,11 +242,11 @@ const exportExcel = async function () { |
|
|
|
user: { |
|
|
|
jwcode: user.value.jwcode || '', |
|
|
|
markets: user.value.markets || [], |
|
|
|
flag: showEmployeeData.value? 0 : 1 |
|
|
|
flag: showEmployeeData.value ? 0 : 1 |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
const res = await API({url: '/goldDetail/exportGold', data: params}) |
|
|
|
const res = await API({ url: '/goldDetail/exportGold', data: params }) |
|
|
|
if (res.code === 200) { |
|
|
|
ElMessage.success('导出成功') |
|
|
|
} |
|
|
@ -268,7 +268,7 @@ const exportListLoading = ref(false) |
|
|
|
const getExportList = async () => { |
|
|
|
exportListLoading.value = true |
|
|
|
try { |
|
|
|
const result = await API({url: '/export/export'}) |
|
|
|
const result = await API({ url: '/export/export' }) |
|
|
|
if (result.code === 200) { |
|
|
|
const filteredData = result.data.filter(item => { |
|
|
|
return item.type === 1; //返回type為0即客户金币余额的数据 |
|
|
@ -382,22 +382,16 @@ const format3 = (num) => { |
|
|
|
</script> |
|
|
|
|
|
|
|
<template> |
|
|
|
<el-card style="margin-bottom: 1vh;"> |
|
|
|
<el-card class="card1" style="margin-bottom: 1vh;"> |
|
|
|
<div class="head-card"> |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text class="mx-1" size="large">精网号:</el-text> |
|
|
|
<el-input v-model="user.jwcode" style="width: 160px" placeholder="请输入精网号" clearable/> |
|
|
|
<el-input v-model="user.jwcode" style="width: 160px" placeholder="请输入精网号" clearable /> |
|
|
|
</div> |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-text class="mx-1" size="large">所属地区:</el-text> |
|
|
|
<el-cascader |
|
|
|
v-model="selectedMarketPath" |
|
|
|
:options="markets" |
|
|
|
placeholder="请选择所属地区" |
|
|
|
clearable |
|
|
|
style="width:180px" |
|
|
|
@change="handleMarketChange" |
|
|
|
/> |
|
|
|
<el-cascader v-model="selectedMarketPath" :options="markets" placeholder="请选择所属地区" clearable style="width:180px" |
|
|
|
@change="handleMarketChange" /> |
|
|
|
</div> |
|
|
|
<div class="head-card-element"> |
|
|
|
<el-checkbox v-model="showEmployeeData" @change="search()">员工数据</el-checkbox> |
|
|
@ -409,8 +403,8 @@ const format3 = (num) => { |
|
|
|
</div> |
|
|
|
<!-- </div> --> |
|
|
|
</el-card> |
|
|
|
<el-card> |
|
|
|
<div> |
|
|
|
<el-card class="card2"> |
|
|
|
<div class="goldStatistics"> |
|
|
|
金币总数:{{ format3(goldtotal || 0) }} |
|
|
|
永久金币:{{ format3(permanentGold || 0) }} |
|
|
|
免费金币:{{ format3(freeGold || 0) }} |
|
|
@ -427,9 +421,9 @@ const format3 = (num) => { |
|
|
|
}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="name" label="姓名" width="140"/> |
|
|
|
<el-table-column prop="jwcode" label="精网号" width="160"/> |
|
|
|
<el-table-column prop="market" label="所属地区" width="140"/> |
|
|
|
<el-table-column prop="name" label="姓名" width="140" /> |
|
|
|
<el-table-column prop="jwcode" label="精网号" width="160" /> |
|
|
|
<el-table-column prop="market" label="所属地区" width="140" /> |
|
|
|
<el-table-column prop="sumGold" label="金币总数" width="140" aligh="center"> |
|
|
|
<!-- <template #default="scope"> |
|
|
|
<span>{{ |
|
|
@ -460,7 +454,7 @@ const format3 = (num) => { |
|
|
|
<span>{{ (scope.row.currentTaskGold || 0) }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<!-- <el-table-column prop="rcoin" label="历史金币总额" width="150"> |
|
|
|
<!-- <el-table-column prop="rcoin" label="历史金币总额" width="150"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-popover trigger="hover" placement="left" width="150"> |
|
|
|
<template #default> |
|
|
@ -512,14 +506,13 @@ const format3 = (num) => { |
|
|
|
<!-- 分页 --> |
|
|
|
<div class="pagination" style="margin-top: 20px"> |
|
|
|
<el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total" |
|
|
|
@size-change="handlePageSizeChange" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange" |
|
|
|
@current-change="handleCurrentChange"></el-pagination> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
<el-dialog v-model="exportListVisible" title="导出列表" width="80%"> |
|
|
|
<el-table :data="exportList" style="width: 100% ;height: 60vh;" :loading="exportListLoading"> |
|
|
|
<el-table-column prop="fileName" label="文件名"/> |
|
|
|
<el-table-column prop="fileName" label="文件名" /> |
|
|
|
<el-table-column prop="state" label="状态"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-tag :type="getTagType(scope.row.state)" :effect="scope.row.state === 3 ? 'light' : 'plain'"> |
|
|
@ -551,6 +544,49 @@ const format3 = (num) => { |
|
|
|
</template> |
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
|
|
|
|
|
// 搜索的卡片样式 |
|
|
|
.card1 { |
|
|
|
background: #F3FAFE; |
|
|
|
} |
|
|
|
|
|
|
|
// 表单的卡片样式 |
|
|
|
.card2 { |
|
|
|
background: #E7F4FD; |
|
|
|
} |
|
|
|
|
|
|
|
// 新币总数等等 |
|
|
|
.goldStatistics { |
|
|
|
margin-left: 1vw; |
|
|
|
margin-bottom: 1vh; |
|
|
|
color: #000000; |
|
|
|
font-family: "PingFang SC"; |
|
|
|
font-size: 16px; |
|
|
|
font-style: normal; |
|
|
|
font-weight: 700; |
|
|
|
line-height: 20px; |
|
|
|
} |
|
|
|
|
|
|
|
// 表头背景等 |
|
|
|
:deep(.el-table__header-wrapper), |
|
|
|
:deep(.el-table__body-wrapper), |
|
|
|
:deep(.el-table__cell), |
|
|
|
/* 表格 */ |
|
|
|
:deep(.el-table__body td) { |
|
|
|
background-color: #F3FAFE !important; |
|
|
|
} |
|
|
|
|
|
|
|
/* 表头 */ |
|
|
|
:deep(.el-table__header th) { |
|
|
|
background-color: #F3FAFE !important; |
|
|
|
} |
|
|
|
|
|
|
|
/* 鼠标悬停 */ |
|
|
|
:deep(.el-table__row:hover > .el-table__cell) { |
|
|
|
background-color: #E5EBFE !important; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.pagination { |
|
|
|
display: flex; |
|
|
|
} |
|
|
|