Browse Source

fix and feat isshowemployeedata and roleMarket's optimized

zhangrenyuan/feature-20250817091555-金币优化^2
zhangrenyuan 17 hours ago
parent
commit
6a776e79e7
  1. 2
      src/views/consume/bean/articleVideo.vue
  2. 25
      src/views/consume/gold/coinConsumeDetail.vue
  3. 15
      src/views/permissions/rolePermission.vue
  4. 41
      src/views/recharge/gold/coinRechargeDetail.vue
  5. 21
      src/views/refund/gold/coinRefundDetail.vue
  6. 16
      src/views/usergold/gold/clientCountBalance.vue
  7. 22
      src/views/usergold/gold/clientCountDetail.vue

2
src/views/consume/bean/articleVideo.vue

@ -595,4 +595,4 @@ const getTagText = (state) => {
display: flex;
margin-top: 20px;
}
</style>
</style>

25
src/views/consume/gold/coinConsumeDetail.vue

@ -36,6 +36,10 @@ const defaultTime = [
/*
====================数据=================================
*/
//
const showEmployeeData = ref(false)
//
const adminData = ref({})
//
@ -205,7 +209,8 @@ const ConsumeSelectBy = async function (val) {
consumeUser: {
...consumeUser.value,
sortField: sortField.value,
sortOrder: sortOrder.value
sortOrder: sortOrder.value,
flag: showEmployeeData.value ? 0 : 1 // flag
}
}
})
@ -214,7 +219,7 @@ const ConsumeSelectBy = async function (val) {
//
// detail.value
const detailWithoutSort = {...consumeUser.value}
const detailWithoutSort = {...consumeUser.value,flag: showEmployeeData.value ? 0 : 1}
delete detailWithoutSort.sortField
delete detailWithoutSort.sortOrder
@ -226,6 +231,7 @@ const ConsumeSelectBy = async function (val) {
totalGoldSearch.value.market = consumeUser.value.market
totalGoldSearch.value.goodsName = consumeUser.value.goodsName
totalGoldSearch.value.jwcode = consumeUser.value.jwcode
totalGoldSearch.value.flag = showEmployeeData.value ? 1 : 0 // flag
//
const resultTotalGold = await request({
// url: '/consume/statsGold',
@ -431,7 +437,9 @@ const exportExcel = async function () {
endTime: consumeUser.value.endTime || '',
goodsName: consumeUser.value.goodsName || '',
sortField: sortField.value || '',
sortOrder: sortOrder.value || ''
sortOrder: sortOrder.value || '',
flag: showEmployeeData.value ? 0 : 1 // flag
}
}
const res = await API({url: '/export/exportConsume', data: params})
@ -572,7 +580,7 @@ const getMarket = async function () {
<el-input v-model="consumeUser.jwcode" placeholder="请输入精网号" style="width: 150px" clearable/>
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1" size="large">商品名称</el-text>
<el-select v-model="consumeUser.goodsName" placeholder="请选择商品名称" style="width: 180px"
@ -582,7 +590,7 @@ const getMarket = async function () {
</el-select>
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<el-text class="mx-1" size="large">所属地区</el-text>
<el-cascader
v-model="selectedMarketPath"
@ -593,7 +601,7 @@ const getMarket = async function () {
@change="handleMarketChange"
/>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1" size="large">消耗平台</el-text>
<el-select v-model="consumeUser.payPlatform" placeholder="请选择消耗平台"
@ -603,6 +611,11 @@ const getMarket = async function () {
</el-select>
</div>
</el-col>
<el-col :span="3">
<div class="head-card-element">
<el-checkbox v-model="showEmployeeData" @click="search()">员工数据</el-checkbox>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="24">

15
src/views/permissions/rolePermission.vue

@ -344,11 +344,11 @@ const getLists = async function () {
addRole.value.market = ''
} else {
addRoleMarket.value = [];
addRole.value.market = ''
addRole.value.market = ''
}
} else {
ElMessage.error('该上级角色无属地区')
console.log('该上级角色无属地区');
ElMessage.error('该上级角色无属地区')
console.log('该上级角色无属地区');
}
console.log('addRoleMarket.value', addRoleMarket.value);
@ -629,7 +629,7 @@ const Rolerules = reactive({
{min: 2, max: 20, message: '角色名称长度应在2-20个字符之间', trigger: 'blur'}
],
market: [
{required: true, message: '请选择属地区', trigger: 'change'}
{required: true, message: '请选择属地区', trigger: 'change'}
],
grade: [
{required: true, message: '请输入优先级', trigger: 'blur'},
@ -768,10 +768,11 @@ onMounted(async function () {
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="market" label="属地区:" required>
<el-select v-model="addRole.market" placeholder="请选择属地区" style="width: 220px" clearable >
<el-form-item prop="market" label="属地区:" required>
<el-select v-model="addRole.market" placeholder="请选择属地区" style="width: 220px" clearable >
<el-option v-for="item in addRoleMarket" :key="item" :label="item" :value="item"/>
</el-select>
<text>(此地区无实际意义仅用于各分部负责人查看其地区角色)</text>
</el-form-item>
<el-form-item prop="checkedKeys" label="权限列表:" required>
<el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id"
@ -814,7 +815,7 @@ onMounted(async function () {
</el-input>
</el-form-item>
<el-form-item prop="market" label="地区" required>
<el-input v-model="permissionEditRoleObj.market" placeholder="请输入属地区" style="width: 220px" disabled/>
<el-input v-model="permissionEditRoleObj.market" placeholder="请输入属地区" style="width: 220px" disabled/>
</el-form-item>
<el-form-item prop="checkedKeys" label="权限列表:" required>
<el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id" ref="treeRef"

41
src/views/recharge/gold/coinRechargeDetail.vue

@ -6,6 +6,9 @@ import API from '@/util/http.js'
import { reverseMarketMapping } from '@/utils/marketMap.js';
import dayjs from "dayjs";
//
const showEmployeeData = ref(false)
const trimJwCode = () => {
if (rechargeUser.value.jwcode) {
rechargeUser.value.jwcode = rechargeUser.value.jwcode.replace(/\s/g, '');
@ -333,19 +336,15 @@ const get = async function (val) {
url: '/recharge/selectBy',
data: {
...getObj.value,
rechargeUser: { ...rechargeUser.value }
rechargeUser: { ...rechargeUser.value, flag: showEmployeeData.value ? 0 : 1 }//flag
}
})
// rechargeUser.value
const detailWithoutSort = ref({
market: rechargeUser.value.market,
activity: rechargeUser.value.activity,
adminId: rechargeUser.value.adminId,
startTime: rechargeUser.value.startTime,
endTime: rechargeUser.value.endTime,
jwcode: rechargeUser.value.jwcode,
goodsName: rechargeUser.value.goodsName,
payPlatform: rechargeUser.value.payPlatform
const detailWithoutSort = ref({
...rechargeUser.value,
sortField: undefined,
sortOrder: undefined,
flag: showEmployeeData.value ? 1 : 0 // flag
})
const resultTotalGold = await API({
url: '/recharge/statsGold',
@ -489,13 +488,9 @@ const handleSortChange = (column) => {
const exportExcel = async function () {
const params = {
rechargeUser: {
jwcode: rechargeUser.value.jwcode || '',
market: rechargeUser.value.market || '',
payPlatform: rechargeUser.value.payPlatform || '',
activity: rechargeUser.value.activity || '',
startTime: rechargeUser.value.startTime || '',
endTime: rechargeUser.value.endTime || ''
rechargeUser: {
...rechargeUser.value,
flag: showEmployeeData.value ? 0 : 1
},
page: getObj.value.pageNum,
size: total.value
@ -601,7 +596,7 @@ const getTagText = (state) => {
<el-input v-model="rechargeUser.jwcode" placeholder="请输入精网号" style="width: 150px" clearable />
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1" size="large">活动名称</el-text>
<el-select v-model="rechargeUser.activity" placeholder="请选择活动名称" style="width: 180px" clearable>
@ -609,14 +604,14 @@ const getTagText = (state) => {
</el-select>
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1" size="large">所属地区</el-text>
<el-cascader v-model="selectedMarketPath" :options="market" placeholder="请选择所属地区" clearable
style="width:180px" @change="handleMarketChange" />
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1" size="large">充值方式</el-text>
<el-select v-model="rechargeUser.payPlatform" placeholder="请选择充值方式" style="width: 180px" clearable>
@ -624,7 +619,11 @@ const getTagText = (state) => {
</el-select>
</div>
</el-col>
<el-col :span="3">
<div class="head-card-element">
<el-checkbox v-model="showEmployeeData" @click="search()">员工数据</el-checkbox>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="24">

21
src/views/refund/gold/coinRefundDetail.vue

@ -8,6 +8,9 @@ import request from '@/util/http.js'
import { reverseMarketMapping } from "@/utils/marketMap.js";
import dayjs from "dayjs";
const showEmployeeData = ref(false)
const defaultTime = [
new Date(2000, 1, 1, 0, 0, 0),
new Date(2000, 2, 1, 23, 59, 59),
@ -157,11 +160,13 @@ const getSelectBy = async function (val) {
url: '/refund/selectBy',
data: {
...getObj.value,
refundUser: { ...refundUser.value }
refundUser: { ...refundUser.value, flag: showEmployeeData.value ? 0 : 1 }
}
})
// refundUser.value
const detailWithoutSort = { ...refundUser.value }
const detailWithoutSort = { ...refundUser.value,
flag: showEmployeeData.value ? 1 : 0
}
delete detailWithoutSort.sortField
delete detailWithoutSort.sortOrder
@ -368,6 +373,7 @@ const exportExcel = async function () {
startTime: refundUser.value.startTime || '',
endTime: refundUser.value.endTime || '',
goodsName: refundUser.value.goodsName || '',
flag: showEmployeeData.value ? 0 : 1
},
page: getObj.pageNum,
size: total.value
@ -520,7 +526,7 @@ const getMarket = async function () {
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1">商品名称</el-text>
<el-select v-model="refundUser.goodsName" placeholder="请选择商品名称" style="width: 180px" clearable>
@ -528,12 +534,12 @@ const getMarket = async function () {
</el-select>
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<el-text class="mx-1" size="large">所属地区</el-text>
<el-cascader v-model="selectedMarketPath" :options="market" placeholder="请选择所属地区" clearable
style="width:180px" @change="handleMarketChange" />
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1">退款类型</el-text>
<el-select v-model="refundUser.refundType" placeholder="请选择退款类型" style="width: 180px" clearable>
@ -542,6 +548,11 @@ const getMarket = async function () {
</el-select>
</div>
</el-col>
<el-col :span="3">
<div class="head-card-element">
<el-checkbox v-model="showEmployeeData" @click="search()">员工数据</el-checkbox>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="24">

16
src/views/usergold/gold/clientCountBalance.vue

@ -6,6 +6,10 @@ import moment from 'moment'
import API from '@/util/http.js'
import {reverseMarketMapping} from "@/utils/marketMap.js";
//
const showEmployeeData = ref(false)
//
//
const adminData = ref({})
@ -104,7 +108,7 @@ const get = async function (val) {
const result = await API({
url: '/goldDetail/getGold',
method: 'post',
data: {...getObj.value, user: {...user.value}}
data: {...getObj.value, user: {...user.value, UserFlag: showEmployeeData.value? 0 : 1}}
})
console.log('响应数据', result)
tableData.value = result.data.list
@ -116,7 +120,8 @@ const get = async function (val) {
url: '/goldDetail/goldTotal',
data: {
jwcode: user.value.jwcode,
markets: user.value.markets
markets: user.value.markets,
UserFlag: showEmployeeData.value? 1 : 0
}
})
// result.data.list
@ -244,8 +249,10 @@ const exportExcel = async function () {
const params = {
user: {
jwcode: user.value.jwcode || '',
markets: user.value.markets || []
markets: user.value.markets || [],
UserFlag: showEmployeeData.value? 0 : 1
}
}
const res = await API({url: '/goldDetail/exportGold', data: params})
if (res.code === 200) {
@ -402,6 +409,9 @@ const format3 = (num) => {
@change="handleMarketChange"
/>
</div>
<div class="head-card-element">
<el-checkbox v-model="showEmployeeData" @click="search()">员工数据</el-checkbox>
</div>
<el-button type="primary" @click="search()">查询</el-button>
<el-button @click="reset" type="success">重置</el-button>

22
src/views/usergold/gold/clientCountDetail.vue

@ -7,6 +7,10 @@ import API from '@/util/http.js'
import {reverseMarketMapping} from "../../../utils/marketMap.js";
import dayjs from "dayjs";
//
const showEmployeeData = ref(false)
//
const activeTimeRange = ref('')
const defaultTime = [
@ -166,7 +170,7 @@ const get = async function (val) {
const result = await API({
url: '/goldDetail/getGoldDetail',
method: 'post',
data: {...getObj.value, goldDetail: {...goldDetail.value}}
data: {...getObj.value, goldDetail: {...goldDetail.value, UserFlag: showEmployeeData.value? 0 : 1}}
})
console.log('响应数据', result)
tableData.value = result.data.list
@ -187,7 +191,7 @@ const get = async function (val) {
url: '/goldDetail/getTotal',
method: 'post',
data: {
goldDetail: {...goldDetail.value},
goldDetail: {...goldDetail.value, UserFlag: showEmployeeData.value? 1 : 0},
/* jwcode: goldDetail.value.jwcode || '',
payPlatform: goldDetail.value.payPlatform || '',
type: goldDetail.value.type || '',
@ -328,7 +332,8 @@ const exportExcel = async function () {
startTime: goldDetail.value.startTime || '',
endTime: goldDetail.value.endTime || '',
sortField: goldDetail.value.sortField || '',
sortOrder: goldDetail.value.sortOrder || ''
sortOrder: goldDetail.value.sortOrder || '',
UserFlag: showEmployeeData.value ? 0 : 1 // UserFlag
},
}
@ -500,7 +505,7 @@ const format3 = (num) => {
<el-input v-model="goldDetail.jwcode" style="width: 150px" placeholder="请输入精网号" clearable/>
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1" size="large">平台信息</el-text>
<el-select v-model="goldDetail.payPlatform" placeholder="请选择平台信息" style="width: 160px" clearable
@ -509,7 +514,7 @@ const format3 = (num) => {
</el-select>
</div>
</el-col>
<el-col :span="7">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1" size="large">数量更新类型</el-text>
<el-select v-model="goldDetail.type" placeholder="请选择更新类型" style="width: 160px" clearable>
@ -517,7 +522,7 @@ const format3 = (num) => {
</el-select>
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="head-card-element">
<el-text class="mx-1" size="large">所属地区</el-text>
<el-cascader
@ -530,6 +535,11 @@ const format3 = (num) => {
/>
</div>
</el-col>
<el-col :span="3">
<div class="head-card-element">
<el-checkbox v-model="showEmployeeData" @click="search()">员工数据</el-checkbox>
</div>
</el-col>
</el-row>
<div class="head-card-element">

Loading…
Cancel
Save