|
@ -11,10 +11,6 @@ |
|
|
@click="navigateTo('coinRefundDetail')" :disabled="!hasDetail"> |
|
|
@click="navigateTo('coinRefundDetail')" :disabled="!hasDetail"> |
|
|
金币退款明细 |
|
|
金币退款明细 |
|
|
</el-button> |
|
|
</el-button> |
|
|
<el-button :type="activeTab === 'addNewCoinRefund' ? 'primary' : 'default'" @click="navigateTo('addNewCoinRefund')" |
|
|
|
|
|
:disabled="!hasAdd"> |
|
|
|
|
|
金币退款 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</el-button-group> |
|
|
</el-button-group> |
|
|
<!-- 渲染子路由组件 --> |
|
|
<!-- 渲染子路由组件 --> |
|
|
</div> |
|
|
</div> |
|
@ -24,25 +20,24 @@ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script setup> |
|
|
<script setup> |
|
|
import { onMounted, ref, watch } from 'vue'; |
|
|
|
|
|
import { useRoute, useRouter } from 'vue-router'; |
|
|
|
|
|
import { storeToRefs } from "pinia"; |
|
|
|
|
|
import { useAdminStore } from "@/store/index.js"; |
|
|
|
|
|
import { hasMenuPermission, permissionMapping } from "@/utils/menuTreePermission.js"; |
|
|
|
|
|
|
|
|
import {onMounted, ref, watch} from 'vue'; |
|
|
|
|
|
import {useRoute, useRouter} from 'vue-router'; |
|
|
|
|
|
import {storeToRefs} from "pinia"; |
|
|
|
|
|
import {useAdminStore} from "@/store/index.js"; |
|
|
|
|
|
import {hasMenuPermission, permissionMapping} from "@/utils/menuTreePermission.js"; |
|
|
|
|
|
|
|
|
const router = useRouter(); |
|
|
const router = useRouter(); |
|
|
const route = useRoute(); |
|
|
const route = useRoute(); |
|
|
const adminStore = useAdminStore(); |
|
|
const adminStore = useAdminStore(); |
|
|
const { menuTree } = storeToRefs(adminStore); |
|
|
|
|
|
|
|
|
const {menuTree} = storeToRefs(adminStore); |
|
|
|
|
|
|
|
|
const activeTab = ref(''); |
|
|
const activeTab = ref(''); |
|
|
const hasAdd = ref(false); |
|
|
const hasAdd = ref(false); |
|
|
const hasDetail = ref(false); |
|
|
const hasDetail = ref(false); |
|
|
const hasNewAdd = ref(false); |
|
|
|
|
|
// 导航方法 |
|
|
// 导航方法 |
|
|
const navigateTo = (name) => { |
|
|
const navigateTo = (name) => { |
|
|
activeTab.value = name; |
|
|
activeTab.value = name; |
|
|
router.push({ name }); |
|
|
|
|
|
|
|
|
router.push({name}); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -52,7 +47,6 @@ const initPermissions = () => { |
|
|
|
|
|
|
|
|
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.Submit_Gold_Coin_Refund); |
|
|
hasAdd.value = hasMenuPermission(menuTree.value, permissionMapping.Submit_Gold_Coin_Refund); |
|
|
hasDetail.value = hasMenuPermission(menuTree.value, permissionMapping.View_Gold_Coin_Refund_Details); |
|
|
hasDetail.value = hasMenuPermission(menuTree.value, permissionMapping.View_Gold_Coin_Refund_Details); |
|
|
hasNewAdd.value = hasMenuPermission(menuTree.value, permissionMapping.Submit_Gold_Coin_RefundS); |
|
|
|
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
// 默认跳转逻辑 |
|
|
// 默认跳转逻辑 |
|
@ -60,14 +54,13 @@ const getDefaultAuditRoute = () => { |
|
|
initPermissions(); |
|
|
initPermissions(); |
|
|
if (hasAdd.value) return 'addCoinRefund'; |
|
|
if (hasAdd.value) return 'addCoinRefund'; |
|
|
if (hasDetail.value) return 'coinRefundDetail'; |
|
|
if (hasDetail.value) return 'coinRefundDetail'; |
|
|
if(hasNewAdd.value) return 'addNewCoinRefund'; |
|
|
|
|
|
return 'addCoinRefund'; |
|
|
return 'addCoinRefund'; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
// 监听路由变化更新标签状态 |
|
|
// 监听路由变化更新标签状态 |
|
|
watch(() => route.name, (newName) => { |
|
|
watch(() => route.name, (newName) => { |
|
|
initPermissions() |
|
|
initPermissions() |
|
|
if (newName === 'addCoinRefund' || newName === 'coinRefundDetail' || newName === 'addNewCoinRefund') { |
|
|
|
|
|
|
|
|
if (newName === 'addCoinRefund' || newName === 'coinRefundDetail') { |
|
|
activeTab.value = newName; |
|
|
activeTab.value = newName; |
|
|
} else if (newName === 'coinRefund') { |
|
|
} else if (newName === 'coinRefund') { |
|
|
// 每次访问 /coinConsume 都进行默认跳转 |
|
|
// 每次访问 /coinConsume 都进行默认跳转 |
|
@ -84,7 +77,7 @@ onMounted(() => { |
|
|
navigateTo(defaultRoute); |
|
|
navigateTo(defaultRoute); |
|
|
} else { |
|
|
} else { |
|
|
// 非父路由初始化当前标签状态 |
|
|
// 非父路由初始化当前标签状态 |
|
|
if (route.name === 'addCoinRefund' || route.name === 'coinRefundDetail' || route.name === 'addNewCoinRefund') { |
|
|
|
|
|
|
|
|
if (route.name === 'addCoinRefund' || route.name === 'coinRefundDetail') { |
|
|
activeTab.value = route.name; |
|
|
activeTab.value = route.name; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|