3 Commits

Author SHA1 Message Date
ZhangYong 60cd27eb6d 金币审核 3 weeks ago
ZhangYong 2143865f8e 金币审核 3 weeks ago
ZhangYong 14b78d0fdc 权限初版 3 weeks ago
  1. 2
      src/utils/menuTreePermission.js
  2. 20
      src/views/audit/bean/beanAudit.vue
  3. 16
      src/views/audit/gold/audit.vue
  4. 75
      src/views/audit/gold/rechargeAudit.vue
  5. 87
      src/views/audit/gold/refundAudit.vue
  6. 8
      src/views/consume/bean/beanConsume.vue
  7. 6
      src/views/consume/gold/coinConsume.vue
  8. 8
      src/views/managerecharge/rate.vue
  9. 6
      src/views/recharge/bean/beanRecharge.vue
  10. 4
      src/views/recharge/gold/coinRecharge.vue

2
src/utils/menuTreePermission.js

@ -50,7 +50,7 @@ export const permissionMapping = {
refundWaitReject:41, // 退款审核驳回 refundWaitReject:41, // 退款审核驳回
beanWait:42, // 金豆审核待审核 beanWait:42, // 金豆审核待审核
beanWaitThough:43, // 金豆审核已通过
beanThrough:43, // 金豆审核已通过
beanReject:44, // 金豆审核已驳回 beanReject:44, // 金豆审核已驳回
beanWaitShow:45, // 金豆审核待审核查看 beanWaitShow:45, // 金豆审核待审核查看
beanWaitThough:46, // 金豆审核通过 beanWaitThough:46, // 金豆审核通过

20
src/views/audit/bean/beanAudit.vue

@ -132,6 +132,26 @@ const reason = ref('')
const rejectRow = ref({ const rejectRow = ref({
id: null id: null
})// })//
//
const hasbeanWait = ref(false) // beanWait:42
const hasbeanThrough = ref(false) // beanThrough:43
const hasbeanReject = ref(false) // beanReject:44
const hasbeanWaitShow = ref(false) // beanWaitShow:45
const hasbeanWaitThough = ref(false) // beanWaitThough:46
const hasbeanWaitReject = ref(false) // beanWaitReject:47
//
const initPermissions = () => {
if (!menuTree.value || !menuTree.value.length) return;
// 2.
hasbeanWait.value = hasMenuPermission(menuTree.value, permissionMapping.hasbeanWait);
hasbeanThrough.value = hasMenuPermission(menuTree.value, permissionMapping.hasbeanThrough);
hasbeanReject.value = hasMenuPermission(menuTree.value, permissionMapping.hasbeanReject);
hasbeanWaitShow.value = hasMenuPermission(menuTree.value, permissionMapping.hasbeanWaitShow);
hasbeanWaitThough.value = hasMenuPermission(menuTree.value, permissionMapping.hasbeanWaitThough);
hasbeanWaitReject.value = hasMenuPermission(menuTree.value, permissionMapping.hasbeanWaitReject);
};
const clicked = ref(false) const clicked = ref(false)
// //
const STATUS = { const STATUS = {

16
src/views/audit/gold/audit.vue

@ -22,6 +22,7 @@ import { useRouter, useRoute } from 'vue-router';
import { storeToRefs } from 'pinia'; import { storeToRefs } from 'pinia';
import { useAdminStore } from '@/store/index.js'; import { useAdminStore } from '@/store/index.js';
import { hasMenuPermission, permissionMapping } from "@/utils/menuTreePermission.js"; import { hasMenuPermission, permissionMapping } from "@/utils/menuTreePermission.js";
import { ElMessage } from 'element-plus';
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
@ -33,6 +34,17 @@ const hasRecharge = ref(false);
const hasRefund = ref(false); const hasRefund = ref(false);
// //
const navigateTo = (name) => { const navigateTo = (name) => {
if(name == 'rechargeAudit'){
if(!hasRecharge){
ElMessage.error('您暂无充值审核操作权限')
return;
}
}else if(name = 'refundAudit'){
if(!hasRefund){
ElMessage.error('您暂无退款审核操作权限')
return;
}
}
activeTab.value = name; activeTab.value = name;
router.push({ name }); router.push({ name });
}; };
@ -42,8 +54,8 @@ const navigateTo = (name) => {
const initPermissions = () => { const initPermissions = () => {
if (!menuTree.value || !menuTree.value.length) return; if (!menuTree.value || !menuTree.value.length) return;
hasRecharge.value = hasMenuPermission(menuTree.value, permissionMapping.Recharge_Audit);
hasRefund.value = hasMenuPermission(menuTree.value, permissionMapping.Refund_Audit);
hasRecharge.value = hasMenuPermission(menuTree.value, permissionMapping.rechargeAudit);
hasRefund.value = hasMenuPermission(menuTree.value, permissionMapping.refundAudit);
}; };
// //

75
src/views/audit/gold/rechargeAudit.vue

@ -176,7 +176,7 @@ import { storeToRefs } from "pinia";
const adminStore = useAdminStore(); const adminStore = useAdminStore();
const { adminData, menuTree } = storeToRefs(adminStore); const { adminData, menuTree } = storeToRefs(adminStore);
import { findMenuById, permissionMapping } from "@/utils/menuTreePermission.js"
import { permissionMapping, hasMenuPermission } from "@/utils/menuTreePermission.js"
import dayjs from "dayjs"; import dayjs from "dayjs";
const defaultTime = [ const defaultTime = [
@ -221,6 +221,29 @@ const getObj = ref({
pageNum: 1, pageNum: 1,
pageSize: 50 pageSize: 50
}) })
//
const hasrechargeThrough = ref(false) //
const hasrechargeReject = ref(false) //
const hasrechargeWait = ref(false) //
const hasrechargeWaitShow = ref(false) //
const hasrechargeWaitThough = ref(false) //
const hasrechargeWaitReject = ref(false) //
//
const initPermissions = () => {
if (!menuTree.value || !menuTree.value.length) return;
hasrechargeThrough.value = hasMenuPermission(menuTree.value, permissionMapping.rechargeThrough);
hasrechargeReject.value = hasMenuPermission(menuTree.value, permissionMapping.rechargeReject);
hasrechargeWait.value = hasMenuPermission(menuTree.value, permissionMapping.rechargeWait);
hasrechargeWaitShow.value = hasMenuPermission(menuTree.value, permissionMapping.rechargeWaitShow);
hasrechargeWaitThough.value = hasMenuPermission(menuTree.value, permissionMapping.rechargeWaitThough);
hasrechargeWaitReject.value = hasMenuPermission(menuTree.value, permissionMapping.hasrechargeWaitReject);
console.log(hasrechargeWaitThough.value)
console.log(hasrechargeWaitReject.value)
};
// //
const payModel = [ const payModel = [
{ {
@ -282,6 +305,11 @@ const rules = reactive({
}) })
// //
const getRecharge = async function (val) { const getRecharge = async function (val) {
if (!hasrechargeWaitShow) {
ElMessage.error('暂无权限')
return
}
try { try {
if (getTime.value && getTime.value.length === 2) { if (getTime.value && getTime.value.length === 2) {
rechargeAudit.value.startTime = formatTime(getTime.value[0]) rechargeAudit.value.startTime = formatTime(getTime.value[0])
@ -320,9 +348,13 @@ const getRecharge = async function (val) {
} catch (error) { } catch (error) {
console.log('请求失败', error) console.log('请求失败', error)
} }
} }
const getStats = async () => { const getStats = async () => {
if (!hasrechargeWaitShow) {
return
}
try { try {
const params = { const params = {
pageNum: getObj.value.pageNum, pageNum: getObj.value.pageNum,
@ -446,10 +478,22 @@ const adminReject = async function () {
const handleClick = function (tab, event) { const handleClick = function (tab, event) {
activeName.value = tab.props.name activeName.value = tab.props.name
if (tab.props.name === 'wait') { if (tab.props.name === 'wait') {
if(!hasrechargeWait){
ElMessage.error('暂无权限')
return
}
adminWait() adminWait()
} else if (tab.props.name === 'pass') { } else if (tab.props.name === 'pass') {
if(!hasrechargeThrough){
ElMessage.error('暂无权限')
return
}
adminPass() adminPass()
} else if (tab.props.name === 'reject') { } else if (tab.props.name === 'reject') {
if(!hasrechargeReject){
ElMessage.error('暂无权限')
return
}
adminReject() adminReject()
} }
} }
@ -477,8 +521,11 @@ const handlePagination = (type, val) => {
const clicked = ref(false); const clicked = ref(false);
// //
const handleApprove = async (row) => { const handleApprove = async (row) => {
if(!hasrechargeWaitThough){
ElMessage.error('暂无权限')
return
}
clicked.value = true clicked.value = true
if (findMenuById(menuTree.value, permissionMapping.Recharge_Approval)) {
try { try {
const params = { const params = {
orderCode: row.orderCode, orderCode: row.orderCode,
@ -495,27 +542,27 @@ const handleApprove = async (row) => {
console.error('审核通过失败', error) console.error('审核通过失败', error)
ElMessage.error('操作失败') ElMessage.error('操作失败')
} }
} else {
clicked.value = false
ElMessage.error('无权限')
}
} }
const showRejectDialog = (row) => { const showRejectDialog = (row) => {
if(!hasrechargeWaitReject){
ElMessage.error('暂无权限')
return
}
currentRecord.value = row currentRecord.value = row
rejectReason.value = '' rejectReason.value = ''
if (findMenuById(menuTree.value, permissionMapping.Recharge_Approval)) {
rejectDialogVisible.value = true rejectDialogVisible.value = true
} else {
ElMessage.error('无权限')
}
} }
// //
const cancelClicked = ref(false) const cancelClicked = ref(false)
// //
const handleReject = async () => { const handleReject = async () => {
if(!hasrechargeWaitReject){
ElMessage.error('暂无权限')
return
}
cancelClicked.value = true cancelClicked.value = true
if (findMenuById(menuTree.value, permissionMapping.Recharge_Approval)) {
if (!rejectReason.value.trim()) { if (!rejectReason.value.trim()) {
ElMessage.warning('请输入驳回理由') ElMessage.warning('请输入驳回理由')
@ -539,10 +586,6 @@ const handleReject = async () => {
console.error('驳回操作失败', error) console.error('驳回操作失败', error)
ElMessage.error('操作失败') ElMessage.error('操作失败')
} }
} else {
ElMessage.error('无权限')
cancelClicked.value = false
}
} }
// //
const handleSortChange = (column) => { const handleSortChange = (column) => {
@ -657,6 +700,8 @@ onMounted(async function () {
await getRecharge() await getRecharge()
console.log("看看通信来的用户身份", adminData.value) console.log("看看通信来的用户身份", adminData.value)
await getStats() await getStats()
initPermissions()
}) })
</script> </script>

87
src/views/audit/gold/refundAudit.vue

@ -21,8 +21,8 @@
</div> </div>
<div class="selectRow"> <div class="selectRow">
<el-text class="text" size="large">所属地区</el-text> <el-text class="text" size="large">所属地区</el-text>
<el-cascader class="selectContent" style="width: 12vw;" v-model="selectedMarketPath" :options="market" placeholder="请选择所属地区"
clearable @change="handleMarketChange" />
<el-cascader class="selectContent" style="width: 12vw;" v-model="selectedMarketPath" :options="market"
placeholder="请选择所属地区" clearable @change="handleMarketChange" />
</div> </div>
</div> </div>
</el-col> </el-col>
@ -169,9 +169,8 @@ import API from '@/util/http.js'
import moment from 'moment' import moment from 'moment'
import { useAdminStore } from "@/store/index.js"; import { useAdminStore } from "@/store/index.js";
import { storeToRefs } from "pinia"; import { storeToRefs } from "pinia";
import { findMenuById, permissionMapping } from "@/utils/menuTreePermission.js"
import dayjs from "dayjs"; import dayjs from "dayjs";
import { permissionMapping, hasMenuPermission } from "@/utils/menuTreePermission.js"
const adminStore = useAdminStore(); const adminStore = useAdminStore();
const { adminData, menuTree } = storeToRefs(adminStore); const { adminData, menuTree } = storeToRefs(adminStore);
const defaultTime = [ const defaultTime = [
@ -232,6 +231,28 @@ const activeName = ref('wait')
const sortField = ref('') const sortField = ref('')
const sortOrder = ref('') const sortOrder = ref('')
const market = ref("") const market = ref("")
//退
const hasrefundThrough = ref(false) // 退
const hasrefundReject = ref(false) // 退
const hasrefundWait = ref(false) // 退
const hasrefundWaitShow = ref(false) // 退
const hasrefundWaitThough = ref(false) // 退
const hasrefundWaitReject = ref(false) // 退
//
const initPermissions = () => {
if (!menuTree.value || !menuTree.value.length) return;
// 退
hasrefundThrough.value = hasMenuPermission(menuTree.value, permissionMapping.refundThrough);
hasrefundReject.value = hasMenuPermission(menuTree.value, permissionMapping.refundReject);
hasrefundWait.value = hasMenuPermission(menuTree.value, permissionMapping.refundWait);
hasrefundWaitShow.value = hasMenuPermission(menuTree.value, permissionMapping.refundWaitShow);
hasrefundWaitThough.value = hasMenuPermission(menuTree.value, permissionMapping.refundWaitThough);
hasrefundWaitReject.value = hasMenuPermission(menuTree.value, permissionMapping.refundWaitReject);
console.log('退款权限赋值完成');
};
// //
const handleSortChange = (column) => { const handleSortChange = (column) => {
if (column.prop === 'sumGold') { if (column.prop === 'sumGold') {
@ -256,6 +277,10 @@ const handleSortChange = (column) => {
} }
// //
const showRejectDialog = (row) => { const showRejectDialog = (row) => {
if (!hasrefundWaitReject) {
ElMessage.error('暂无权限')
return
}
scopeValue.value = row scopeValue.value = row
rejectReason.value = '' rejectReason.value = ''
rejectDialogVisible.value = true rejectDialogVisible.value = true
@ -272,6 +297,10 @@ const getRefundGoods = async () => {
// //
const get = async function (val) { const get = async function (val) {
if (!hasrefundWaitShow) {
ElMessage.error('暂无权限')
return
}
try { try {
if (typeof val === 'number') { if (typeof val === 'number') {
pagination.value.pageNum = val pagination.value.pageNum = val
@ -319,8 +348,11 @@ const get = async function (val) {
const clicked = ref(false); const clicked = ref(false);
// //
const handleApprove = async (row) => { const handleApprove = async (row) => {
if (!hasrefundWaitThough) {
ElMessage.error('暂无权限')
return
}
clicked.value = true clicked.value = true
if (findMenuById(menuTree.value, permissionMapping.Refund_Approval)) {
try { try {
const params = { const params = {
orderCode: row.orderCode, orderCode: row.orderCode,
@ -337,17 +369,17 @@ const handleApprove = async (row) => {
console.error('审核通过失败', error) console.error('审核通过失败', error)
ElMessage.error('操作失败') ElMessage.error('操作失败')
} }
} else {
ElMessage.warning('没有权限')
clicked.value = false
}
} }
// //
const cancelClicked = ref(false) const cancelClicked = ref(false)
// //
const handleReject = async () => { const handleReject = async () => {
if (!hasrefundWaitReject) {
ElMessage.error('暂无权限')
return
}
cancelClicked.value = true cancelClicked.value = true
if (findMenuById(menuTree.value, permissionMapping.Refund_Approval)) {
if (!rejectReason.value.trim()) { if (!rejectReason.value.trim()) {
ElMessage.warning('请输入驳回理由') ElMessage.warning('请输入驳回理由')
@ -371,13 +403,12 @@ const handleReject = async () => {
console.error('驳回失败', error) console.error('驳回失败', error)
ElMessage.error('操作失败') ElMessage.error('操作失败')
} }
} else {
ElMessage.warning('没有权限')
cancelClicked.value = false
}
} }
const getStats = async () => { const getStats = async () => {
if (!hasrefundWaitShow) {
return
}
try { try {
const params = { const params = {
pageNum: pagination.value.pageNum, pageNum: pagination.value.pageNum,
@ -473,26 +504,27 @@ const get7Days = function () {
const handleClick = function (tab, event) { const handleClick = function (tab, event) {
activeName.value = tab.props.name activeName.value = tab.props.name
if (tab.props.name === 'wait') { if (tab.props.name === 'wait') {
console.log(hasrefundWait.value);
if (!hasrefundWait) {
ElMessage.error('暂无权限')
return
}
adminWait() adminWait()
} else if (tab.props.name === 'pass') { } else if (tab.props.name === 'pass') {
if (hasrefundThrough.value) {
ElMessage.error('暂无权限')
return
}
adminPass() adminPass()
} else if (tab.props.name === 'reject') { } else if (tab.props.name === 'reject') {
adminReject()
if (!hasrefundReject) {
ElMessage.error('暂无权限')
return
} }
}
//
const getCurrentStatus = () => {
switch (activeName.value) {
case 'wait':
return STATUS.PENDING
case 'pass':
return STATUS.APPROVED
case 'reject':
return STATUS.REJECTED
default:
return ''
adminReject()
} }
} }
// //
const adminWait = async function () { const adminWait = async function () {
checkTab.value = 'pending' checkTab.value = 'pending'
@ -584,6 +616,7 @@ onMounted(async () => {
await getMarket() await getMarket()
await get() await get()
await getStats() await getStats()
initPermissions()
}) })
</script> </script>

8
src/views/consume/bean/beanConsume.vue

@ -68,10 +68,10 @@ const navigateTo = (name) => {
const initPermissions = () => { const initPermissions = () => {
if (!menuTree.value || !menuTree.value.length) return; if (!menuTree.value || !menuTree.value.length) return;
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.Submit_Golden_Bean_Consumption);
hasLive.value = hasMenuPermission(menuTree.value, permissionMapping.View_Golden_Bean_Live_Consumption_Details);
hasFan.value = hasMenuPermission(menuTree.value, permissionMapping.View_Golden_Bean_Fan_Consumption_Details);
hasArticleVideo.value = hasMenuPermission(menuTree.value, permissionMapping.View_Golden_Bean_Article_Video_Consumption_Details);
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.addBeanConsume);
hasLive.value = hasMenuPermission(menuTree.value, permissionMapping.beanZBDetail);
hasFan.value = hasMenuPermission(menuTree.value, permissionMapping.beanTFDetail);
hasArticleVideo.value = hasMenuPermission(menuTree.value, permissionMapping.beanSPWZDetail);
}; };
// //

6
src/views/consume/gold/coinConsume.vue

@ -42,8 +42,8 @@ const navigateTo = (name) => {
// //
const initPermissions = () => { const initPermissions = () => {
if (!menuTree.value || !menuTree.value.length) return; if (!menuTree.value || !menuTree.value.length) return;
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.Submit_Gold_Coin_Consumption);
hasDetail.value = hasMenuPermission(menuTree.value, permissionMapping.View_Gold_Coin_Consumption_Details);
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.addCoinConsume);
hasDetail.value = hasMenuPermission(menuTree.value, permissionMapping.coinConsumeDetail);
}; };
// //
@ -51,7 +51,7 @@ const getDefaultAuditRoute = () => {
initPermissions(); initPermissions();
if (hasDetail.value) return 'coinConsumeDetail'; if (hasDetail.value) return 'coinConsumeDetail';
if (hasAdd.value) return 'addCoinConsume'; if (hasAdd.value) return 'addCoinConsume';
return 'addCoinConsume';
return 'coinConsumeDetail';
}; };
// //

8
src/views/managerecharge/rate.vue

@ -122,10 +122,10 @@ const getEditData = async function (row) {
} }
} }
const editRole = ref(true) const editRole = ref(true)
editRole.value = findMenuById(menuTree.value, permissionMapping.Exchange_Rate_Modification)
editRole.value = findMenuById(menuTree.value, permissionMapping.rateEdit)
// //
const editRate = async function () { const editRate = async function () {
if (findMenuById(menuTree.value, permissionMapping.Exchange_Rate_Modification)) {
if (findMenuById(menuTree.value, permissionMapping.rateEdit)) {
// //
rateEdit.value.num = parseFloat(rateEdit.value.num); rateEdit.value.num = parseFloat(rateEdit.value.num);
try { try {
@ -265,9 +265,9 @@ onMounted(async function () {
<span>{{ formatDate(scope.row.updateTime) }}</span> <span>{{ formatDate(scope.row.updateTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" :span="3" v-if="editRole">
<el-table-column label="操作" :span="3">
<template #default="scope"> <template #default="scope">
<el-button type="text" @click="() => {
<el-button :disabled="!editRole" type="text" @click="() => {
regeEdit = true regeEdit = true
getEditData(scope.row) getEditData(scope.row)
}">编辑 }">编辑

6
src/views/recharge/bean/beanRecharge.vue

@ -46,9 +46,9 @@ const navigateTo = (name) => {
const initPermissions = () => { const initPermissions = () => {
if (!menuTree.value || !menuTree.value.length) return; if (!menuTree.value || !menuTree.value.length) return;
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.Submit_Golden_Bean_Recharge);
hasSystem.value = hasMenuPermission(menuTree.value, permissionMapping.View_Golden_Bean_System_Recharge_Details);
hasOnline.value = hasMenuPermission(menuTree.value, permissionMapping.View_Golden_Bean_Online_Recharge_Details);
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.addBeanRecharge);
hasSystem.value = hasMenuPermission(menuTree.value, permissionMapping.beanSystemRecharge);
hasOnline.value = hasMenuPermission(menuTree.value, permissionMapping.beanOnlineRecharge);
}; };
// //

4
src/views/recharge/gold/coinRecharge.vue

@ -40,8 +40,8 @@ const navigateTo = (name) => {
const initPermissions = () => { const initPermissions = () => {
if (!menuTree.value || !menuTree.value.length) return; if (!menuTree.value || !menuTree.value.length) return;
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.Submit_Gold_Coin_Recharge);
hasDetail.value = hasMenuPermission(menuTree.value, permissionMapping.View_Gold_Coin_Recharge_Details);
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.addCoinRecharge);
hasDetail.value = hasMenuPermission(menuTree.value, permissionMapping.coinRechargeDetail);
}; };
// //

Loading…
Cancel
Save