@@ -3,7 +3,7 @@ const CLUB_SCOPE_KEY = 'admin_club_scope';
|
|||||||
const CLUB_CONTEXT_KEY = 'admin_club_context';
|
const CLUB_CONTEXT_KEY = 'admin_club_context';
|
||||||
const MENU_ACCESS_KEY = 'kefu_menu_access';
|
const MENU_ACCESS_KEY = 'kefu_menu_access';
|
||||||
const MENU_SESSION_KEY = 'kefu_menu_session_v';
|
const MENU_SESSION_KEY = 'kefu_menu_session_v';
|
||||||
const MENU_SESSION_VERSION = '14';
|
const MENU_SESSION_VERSION = '15';
|
||||||
const DEFAULT_CLUB_ID = 'xq';
|
const DEFAULT_CLUB_ID = 'xq';
|
||||||
|
|
||||||
let menuAccessInflight = null;
|
let menuAccessInflight = null;
|
||||||
|
|||||||
@@ -143,11 +143,18 @@ import { ElMessage } from 'element-plus'
|
|||||||
import { Refresh } from '@element-plus/icons-vue'
|
import { Refresh } from '@element-plus/icons-vue'
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
import ClubScopeHint from '@/components/ClubScopeHint.vue'
|
import ClubScopeHint from '@/components/ClubScopeHint.vue'
|
||||||
|
import {
|
||||||
|
canShowMenuPage,
|
||||||
|
clearMenuAccess,
|
||||||
|
ensureMenuAccess,
|
||||||
|
JITUAN_API,
|
||||||
|
} from '@/utils/club-context'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const hasPermission = ref(true)
|
const hasPermission = ref(true)
|
||||||
|
const menuRetried = ref(false)
|
||||||
|
|
||||||
const PAGE_SIZE = 20
|
const PAGE_SIZE = 20
|
||||||
const pageNum = ref(1)
|
const pageNum = ref(1)
|
||||||
@@ -216,13 +223,18 @@ const fetchOrderTypes = async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 商家订单列表接口(改动的接口)
|
// 商家订单列表接口
|
||||||
const fetchOrders = async () => {
|
const fetchOrders = async () => {
|
||||||
|
if (!canShowMenuPage('order.merchant')) {
|
||||||
|
hasPermission.value = false
|
||||||
|
return
|
||||||
|
}
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
try {
|
||||||
const username = localStorage.getItem('username')
|
const phone = localStorage.getItem('username')
|
||||||
const params = {
|
const params = {
|
||||||
username,
|
phone,
|
||||||
|
username: phone,
|
||||||
page: pageNum.value,
|
page: pageNum.value,
|
||||||
pageSize: pageSize.value,
|
pageSize: pageSize.value,
|
||||||
zhuangtai: currentStatus.value === 'all' ? undefined : currentStatus.value,
|
zhuangtai: currentStatus.value === 'all' ? undefined : currentStatus.value,
|
||||||
@@ -240,7 +252,7 @@ const fetchOrders = async () => {
|
|||||||
}
|
}
|
||||||
Object.keys(params).forEach(key => params[key] === undefined && delete params[key])
|
Object.keys(params).forEach(key => params[key] === undefined && delete params[key])
|
||||||
|
|
||||||
const res = await request.post('/yonghu/kfhqsjddlb', params)
|
const res = await request.post('/yonghu/kfhqsjddlb', params, { skipErrorToast: true })
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
const data = res.data
|
const data = res.data
|
||||||
orderList.value = data.list || []
|
orderList.value = data.list || []
|
||||||
@@ -258,8 +270,19 @@ const fetchOrders = async () => {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
} else if (res.code === 403) {
|
} else if (res.code === 403) {
|
||||||
|
if (!menuRetried.value) {
|
||||||
|
menuRetried.value = true
|
||||||
|
clearMenuAccess()
|
||||||
|
await ensureMenuAccess(async () => {
|
||||||
|
const r = await request.get(JITUAN_API.menuAccess)
|
||||||
|
return r.code === 0 ? r.data : null
|
||||||
|
})
|
||||||
|
if (canShowMenuPage('order.merchant')) {
|
||||||
|
await fetchOrders()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
hasPermission.value = false
|
hasPermission.value = false
|
||||||
ElMessage.error(res.msg || '您无权访问此页面')
|
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error(res.msg || '获取订单列表失败')
|
ElMessage.error(res.msg || '获取订单列表失败')
|
||||||
}
|
}
|
||||||
@@ -362,6 +385,8 @@ const getStatusType = (code) => {
|
|||||||
watch(() => route.query, () => { restoreFromQuery(); fetchOrders() }, { deep: true })
|
watch(() => route.query, () => { restoreFromQuery(); fetchOrders() }, { deep: true })
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
hasPermission.value = canShowMenuPage('order.merchant')
|
||||||
|
if (!hasPermission.value) return
|
||||||
restoreFromQuery()
|
restoreFromQuery()
|
||||||
fetchOrderTypes()
|
fetchOrderTypes()
|
||||||
fetchOrders()
|
fetchOrders()
|
||||||
|
|||||||
Reference in New Issue
Block a user