|
|
@@ -1,20 +1,9 @@
|
|
|
- <!--
|
|
|
+<!--
|
|
|
应用 Tab:全量功能入口
|
|
|
用途:按业务域分组展示门店功能;菜单写死在本页,不依赖 homeMenus 配置。
|
|
|
-->
|
|
|
<template>
|
|
|
<view class="app-content">
|
|
|
- <!-- 有待审核才出现:点进待审核 Tab;宫格「退款记录」始终进全部 -->
|
|
|
- <view v-if="pendingRefundCount > 0" class="refund-todo-wrap" @click="goPendingRefund">
|
|
|
- <view class="refund-todo-row">
|
|
|
- <view class="refund-todo-left">
|
|
|
- <text class="refund-todo-title">售后待审核</text>
|
|
|
- <text class="refund-todo-stat">有{{ pendingRefundCount }}笔待处理</text>
|
|
|
- </view>
|
|
|
- <text class="refund-todo-action">去处理</text>
|
|
|
- <text class="refund-todo-arrow">›</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
<view class="apply-content_box">
|
|
|
<view v-for="item in applyMenuList" :key="item.title" class="apply-list_box">
|
|
|
<view class="section-header">
|
|
|
@@ -51,15 +40,12 @@
|
|
|
import { mapGetters } from 'vuex'
|
|
|
import NotLogin from '@/components/not-login'
|
|
|
import { iconSrc } from '@/utils/iconSrc'
|
|
|
-import { refundList } from '@/api/refund'
|
|
|
|
|
|
export default {
|
|
|
name: 'apply',
|
|
|
components: { NotLogin },
|
|
|
data() {
|
|
|
return {
|
|
|
- /** 售后待审核条数,供应用页待办条;宫格入口不跟这个数跳转 */
|
|
|
- pendingRefundCount: 0,
|
|
|
/** 应用页菜单分组(按业务域拆细,避免单组入口过多) */
|
|
|
applyMenuList: [
|
|
|
{
|
|
|
@@ -185,30 +171,9 @@ export default {
|
|
|
computed: {
|
|
|
...mapGetters({ loginInfo: 'getLoginInfo', myShopInfo: 'getMyShopInfo' })
|
|
|
},
|
|
|
- onShow() {
|
|
|
- // 从售后详情返回时刷新待办条数量
|
|
|
- this.loadPendingRefundCount()
|
|
|
- },
|
|
|
methods: {
|
|
|
iconSrc,
|
|
|
init() {},
|
|
|
- /**
|
|
|
- * 拉取待审核售后条数,用于应用页待办条。
|
|
|
- * 参数与 freeRefundList 待审核 Tab 一致:近30天 + status=0,避免条上数量与列表对不上。
|
|
|
- */
|
|
|
- loadPendingRefundCount() {
|
|
|
- refundList({
|
|
|
- page: 1,
|
|
|
- useDefaultLast30: 1,
|
|
|
- refundSearchTime: 'last30Days',
|
|
|
- sameDay: -1,
|
|
|
- status: 0
|
|
|
- }).then(res => {
|
|
|
- if (res.code == 1 && res.data) {
|
|
|
- this.pendingRefundCount = Number(res.data.totalNum) || 0
|
|
|
- }
|
|
|
- }).catch(() => {})
|
|
|
- },
|
|
|
goItemKjKd() {
|
|
|
if (this.myShopInfo && Number(this.myShopInfo.defaultCustomId) > 0) {
|
|
|
this.$util.pageTo({ url: '/admin/billing/index2?customId=' + this.myShopInfo.defaultCustomId })
|
|
|
@@ -219,10 +184,6 @@ export default {
|
|
|
goItemKd() {
|
|
|
this.$util.pageTo({ url: '/admin/custom/selectCustom' })
|
|
|
},
|
|
|
- /** 待办条:只进待审核,和宫格「退款记录」进全部区分开 */
|
|
|
- goPendingRefund() {
|
|
|
- this.$util.pageTo({ url: '/admin/billing/freeRefundList?tab=pending' })
|
|
|
- },
|
|
|
/** 应用菜单跳转 */
|
|
|
goPage(item) {
|
|
|
if (item.action && typeof this[item.action] === 'function') {
|
|
|
@@ -235,10 +196,6 @@ export default {
|
|
|
}
|
|
|
this.$util.pageTo(item)
|
|
|
}
|
|
|
- },
|
|
|
- onPullDownRefresh() {
|
|
|
- this.loadPendingRefundCount()
|
|
|
- uni.stopPullDownRefresh()
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -250,51 +207,6 @@ export default {
|
|
|
padding-bottom: 28upx;
|
|
|
}
|
|
|
|
|
|
-/* 应用页顶待办条:有待审核才出现,点进待审核列表 */
|
|
|
-.refund-todo-wrap {
|
|
|
- margin: 20upx 12upx 0;
|
|
|
- border-radius: 18upx;
|
|
|
- overflow: hidden;
|
|
|
- box-shadow: 0 8upx 26upx rgba(20, 48, 36, 0.06);
|
|
|
-}
|
|
|
-.refund-todo-row {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- padding: 28upx 24upx;
|
|
|
- background: #fff7f0;
|
|
|
-}
|
|
|
-.refund-todo-left {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- flex: 1;
|
|
|
- min-width: 0;
|
|
|
- font-size: 32upx;
|
|
|
- color: #333;
|
|
|
-}
|
|
|
-.refund-todo-title {
|
|
|
- font-weight: bold;
|
|
|
- color: #d4380d;
|
|
|
-}
|
|
|
-.refund-todo-stat {
|
|
|
- color: #d4380d;
|
|
|
- margin-left: 20upx;
|
|
|
- font-size: 30upx;
|
|
|
-}
|
|
|
-.refund-todo-action {
|
|
|
- flex-shrink: 0;
|
|
|
- font-size: 28upx;
|
|
|
- color: #d4380d;
|
|
|
- font-weight: 700;
|
|
|
- margin-right: 8upx;
|
|
|
-}
|
|
|
-.refund-todo-arrow {
|
|
|
- flex-shrink: 0;
|
|
|
- font-size: 40upx;
|
|
|
- color: #d4380d;
|
|
|
- line-height: 1;
|
|
|
-}
|
|
|
-
|
|
|
.apply-content_box {
|
|
|
padding-top: 8upx;
|
|
|
padding-bottom: 20upx;
|