diff --git a/components/region-select/index.vue b/components/region-select/index.vue
index 014e94a..04d3d51 100644
--- a/components/region-select/index.vue
+++ b/components/region-select/index.vue
@@ -79,7 +79,7 @@ export default {
methods: {
async open() {
return new Promise(async (resolve, reject) => {
- if (this.areaTree.length === 0) {
+ if (this.areaTree?.length === 0) {
await this.loadAreaTree()
}
this.popupVisible = true
diff --git a/config/bonus.js b/config/bonus.js
index 4984744..4132071 100644
--- a/config/bonus.js
+++ b/config/bonus.js
@@ -20,3 +20,7 @@ export const nextRound = params =>
export const realTimeBonus = () =>
http.post('/bonus/api/bonus/query-current-bonus')
+
+//奖金明细列表
+export const queryBonusList = params =>
+ http.post('/bonus/api/bonus/query-bonus-first/', { params })
diff --git a/config/login.js b/config/login.js
index b1d4858..07318e8 100644
--- a/config/login.js
+++ b/config/login.js
@@ -53,10 +53,6 @@ export const updateData = data =>
export const queryBonusDetail = (data, data1) =>
http.post('/bonus/api/bonus/query-bonus-detail/' + data1, data)
-//首购收益
-export const queryBonusFirst = (data, data1) =>
- http.post('/bonus/api/bonus/query-bonus-first/' + data1, data)
-
//复购收益
export const queryBonusRepurchase = (data, data1) =>
http.post('/bonus/api/bonus/query-bonus-repurchase/' + data1, data)
diff --git a/pages.json b/pages.json
index 62d1951..f87a66e 100644
--- a/pages.json
+++ b/pages.json
@@ -302,6 +302,20 @@
"navigationBarBackgroundColor": "#fff"
}
},
+ {
+ "path": "pages/mine/marketDynamic/achievement-list",
+ "style": {
+ "navigationBarTitleText": "市场动态",
+ "navigationBarBackgroundColor": "#fff"
+ }
+ },
+ {
+ "path": "pages/mine/marketDynamic/box-list",
+ "style": {
+ "navigationBarTitleText": "市场盒数",
+ "navigationBarBackgroundColor": "#fff"
+ }
+ },
{
"path": "pages/shareRegist/success",
"style": {
diff --git a/pages/bonus/index.vue b/pages/bonus/index.vue
index 35ad318..ec5acc3 100644
--- a/pages/bonus/index.vue
+++ b/pages/bonus/index.vue
@@ -5,9 +5,7 @@
今日实发合计:
- {{
- formatAmount(todayTotal)
- }}{{ todayTotal }}
@@ -58,16 +56,12 @@
class="bonus-item"
>
{{ fieldName }}(¥)
- {{
- formatAmount(dailyBonus[fieldKey])
- }}
+ {{ dailyBonus[fieldKey] }}
@@ -100,7 +94,7 @@
// 注意: 后端API需要支持按日期范围查询奖金明细
// import { getBonusDetailsByDate, getTodayBonusTotal } from '@/config/bonus.js';
import dayjs from 'dayjs'
-
+import { queryBonusTotal, queryBonusList } from '@/config/bonus'
export default {
data() {
return {
@@ -119,26 +113,21 @@ export default {
pageSize: 10,
},
BONUS_FIELD_MAP: {
- levelGapIncome: '直推收益',
- peerIncome: '平级收益',
- regionalIncome: '区域收益',
- welfareLevelGapIncome: '福利级差收益',
- welfareDividendIncome: '福利分红收益',
- repeatConsumptionIncome: '重消收益',
+ retailRangeIncome: '直推收益',
+ retailSameLevelIncome: '平级收益',
+ retailAreaIncome: '区域收益',
+ // welfareLevelGapIncome: '福利级差收益',
+ // welfareDividendIncome: '福利分红收益',
+ backPoints: '重消收益',
},
}
},
onLoad() {
this.setDefaultDateRange()
this.handleSearch()
+ this.getBonusTotal()
},
methods: {
- formatAmount(amount) {
- if (typeof amount !== 'number') {
- return '0.00'
- }
- return amount.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ',')
- },
setDefaultDateRange() {
const end = new Date()
const start = new Date()
@@ -189,80 +178,34 @@ export default {
this.page.pageNum++
this.fetchBonusData()
},
- // 模拟数据获取
+ getBonusTotal() {
+ queryBonusTotal().then(res => {
+ this.todayTotal = res.data.todayTotal
+ })
+ },
async fetchBonusData() {
if (this.loading) return
this.loading = true
- // 模拟API调用延时
- await new Promise(resolve => setTimeout(resolve, 800))
-
- // TODO: 当后端API就绪时,替换下面的模拟数据逻辑
- // 实际调用:
- // try {
- // const params = { startDate: this.startDate, endDate: this.endDate, pageNum: this.page.pageNum, pageSize: this.page.pageSize };
- // const res = await getBonusDetailsByDate(params);
- // if (res.data.list.length < this.page.pageSize) {
- // this.hasMore = false;
- // }
- // this.bonusList = [...this.bonusList, ...res.data.list];
- // } catch (error) {
- // console.error("Failed to fetch bonus data:", error);
- // uni.showToast({ title: '数据加载失败', icon: 'none' });
- // } finally {
- // this.loading = false;
- // }
-
- // --- 模拟数据生成 ---
- this.todayTotal = Math.random() * 1000
- const mockData = []
- // 模拟 "没有更多数据"
- if (this.page.pageNum > 3) {
- this.hasMore = false
- this.loading = false
- return
- }
-
- if (this.startDate && this.endDate) {
- // 在模拟中,我们基于页码创建伪随机数据,而不是日期
- for (let i = 0; i < this.page.pageSize; i++) {
- const dayOffset = (this.page.pageNum - 1) * this.page.pageSize + i
- const date = dayjs(this.endDate).subtract(dayOffset, 'day')
- if (date.isBefore(dayjs(this.startDate))) {
- this.hasMore = false
- break
- }
-
- const bonusDetails = {
- levelGapIncome: Math.random() * 100,
- peerIncome: Math.random() * 200,
- regionalIncome: 0,
- welfareLevelGapIncome: 0,
- welfareDividendIncome: 0,
- repeatConsumptionIncome: Math.random() * 50,
- }
-
- const subtotal = Object.values(bonusDetails).reduce(
- (sum, value) => sum + value,
- 0
- )
-
- mockData.push({
- date: date.format('YYYY-MM-DD'),
- ...bonusDetails,
- subtotal: subtotal,
- })
+ try {
+ const params = {
+ startDate: this.startDate,
+ endDate: this.endDate,
+ pageNum: this.page.pageNum,
+ pageSize: this.page.pageSize,
}
+ const res = await queryBonusList(params)
+ console.log(res)
+ if (res.rows.length < this.page.pageSize) {
+ this.hasMore = false
+ }
+ this.bonusList = [...this.bonusList, ...res.rows]
+ } catch (error) {
+ console.error('Failed to fetch bonus data:', error)
+ uni.showToast({ title: '数据加载失败', icon: 'none' })
+ } finally {
+ this.loading = false
}
-
- if (mockData.length < this.page.pageSize) {
- this.hasMore = false
- }
-
- this.bonusList = [...this.bonusList, ...mockData]
- // --- 模拟数据结束 ---
-
- this.loading = false
},
},
}
diff --git a/pages/mine/index.vue b/pages/mine/index.vue
index a8b66a9..07b825f 100644
--- a/pages/mine/index.vue
+++ b/pages/mine/index.vue
@@ -269,7 +269,7 @@
@@ -302,7 +302,7 @@
@@ -746,7 +746,6 @@ export default {
}
},
getMarketDynamicBoxCount() {
- console.log('🌈ad', this.userInfo)
getMarketDynamicBoxCount({
pkBigMember: this.userInfo.memberCode,
}).then(res => {
diff --git a/pages/mine/marketDynamic/achievement-list.vue b/pages/mine/marketDynamic/achievement-list.vue
new file mode 100644
index 0000000..5ed4208
--- /dev/null
+++ b/pages/mine/marketDynamic/achievement-list.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+ {{ topMember.todayAchievement }}
+ 今日业绩
+
+
+ {{ topMember.yesterdayAchievement }}
+ 昨日业绩
+
+
+ {{ topMember.monthAchievement }}
+ 本月业绩
+
+
+ {{ topMember.lastMonthAchievement }}
+ 上月业绩
+
+
+
+
+
+
+
+
+
+
+ {{ item.todayAchievement }}
+ 今日业绩
+
+
+ {{ item.yesterdayAchievement }}
+ 昨日业绩
+
+
+ {{ item.monthAchievement }}
+ 本月业绩
+
+
+ {{ item.lastMonthAchievement }}
+ 上月业绩
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/mine/marketDynamic/box-list.vue b/pages/mine/marketDynamic/box-list.vue
new file mode 100644
index 0000000..a60e18d
--- /dev/null
+++ b/pages/mine/marketDynamic/box-list.vue
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+ {{ toInt(topMember.todayBox) }}
+ 今日盒数
+
+
+ {{ topMember.yesterdayBox }}
+ 昨日盒数
+
+
+ {{ topMember.monthBox }}
+ 本月盒数
+
+
+ {{ topMember.lastMonthBox }}
+ 上月盒数
+
+
+
+
+
+
+
+
+
+
+ {{ toInt(item.todayBox) }}
+ 今日盒数
+
+
+ {{ item.yesterdayBox }}
+ 昨日盒数
+
+
+ {{ item.monthBox }}
+ 本月盒数
+
+
+ {{ item.lastMonthBox }}
+ 上月盒数
+
+
+
+
+
+
+
+
+
+
+
+