diff --git a/components/region-select/index.vue b/components/region-select/index.vue
index 8b1b0d3..014e94a 100644
--- a/components/region-select/index.vue
+++ b/components/region-select/index.vue
@@ -70,14 +70,22 @@ export default {
res.data.regionStatus === 0 &&
!res.data.province
) {
- await this.loadAreaTree()
- this.popupVisible = true
+ this.open()
}
} catch (error) {
console.error('Failed to get region select info:', error)
}
},
methods: {
+ async open() {
+ return new Promise(async (resolve, reject) => {
+ if (this.areaTree.length === 0) {
+ await this.loadAreaTree()
+ }
+ this.popupVisible = true
+ resolve()
+ })
+ },
async loadAreaTree() {
try {
const res = await getRegionAreaTree()
diff --git a/pages/mine/index.vue b/pages/mine/index.vue
index fdb6b58..a8b66a9 100644
--- a/pages/mine/index.vue
+++ b/pages/mine/index.vue
@@ -223,26 +223,42 @@
收益区域
-
-
- {{ '省' }}
- {{
- regionInfo.provinceVal || '-'
- }}
+
+
+
+ {{ '省' }}
+ {{
+ regionInfo.provinceVal || '-'
+ }}
+
+
+ {{ '市' }}
+ {{
+ regionInfo.cityVal || '-'
+ }}
+
+
+ {{ '区' }}
+ {{
+ regionInfo.countyVal || '-'
+ }}
+
-
- {{ '市' }}
- {{
- regionInfo.cityVal || '-'
- }}
+
+
+
+
-
- {{ '区' }}
- {{
- regionInfo.countyVal || '-'
- }}
-
-
+
@@ -258,16 +274,30 @@
总业绩
- {{ totalSumPv || '0.00' }}
+
+ {{
+ formattedTotalSumPv.integer
+ }}
+ {{
+ formattedTotalSumPv.decimal
+ }}
+
小区业绩
- {{ smallAreaPv || '0.00' }}
+
+ {{
+ formattedSmallAreaPv.integer
+ }}
+ {{
+ formattedSmallAreaPv.decimal
+ }}
+
-
+
总盒数
- {{ totalBox || '0' }}
+
+ {{
+ formattedTotalBox.integer
+ }}
+ {{
+ formattedTotalBox.decimal
+ }}
+
小区盒数
- {{ smallAreaBox || '0' }}
+
+ {{
+ formattedSmallAreaBox.integer
+ }}
+ {{
+ formattedSmallAreaBox.decimal
+ }}
+
-
+
@@ -382,7 +426,7 @@
-
+
@@ -568,6 +612,38 @@ export default {
regionInfoVisible() {
return this.regionInfo?.regionStatus === 0
},
+ formattedTotalSumPv() {
+ const value = String(this.totalSumPv || '0.00')
+ const parts = value.split('.')
+ return {
+ integer: parts[0],
+ decimal: parts.length > 1 ? `.${parts[1]}` : '',
+ }
+ },
+ formattedSmallAreaPv() {
+ const value = String(this.smallAreaPv || '0.00')
+ const parts = value.split('.')
+ return {
+ integer: parts[0],
+ decimal: parts.length > 1 ? `.${parts[1]}` : '',
+ }
+ },
+ formattedTotalBox() {
+ const value = String(this.totalBox || '0')
+ const parts = value.split('.')
+ return {
+ integer: parts[0],
+ decimal: parts.length > 1 ? `.${parts[1]}` : '',
+ }
+ },
+ formattedSmallAreaBox() {
+ const value = String(this.smallAreaBox || '0')
+ const parts = value.split('.')
+ return {
+ integer: parts[0],
+ decimal: parts.length > 1 ? `.${parts[1]}` : '',
+ }
+ },
},
methods: {
@@ -578,6 +654,19 @@ export default {
}
})
},
+ openRegionSelect() {
+ uni.showLoading({
+ title: '加载中...',
+ })
+ this.$refs.regionSelect
+ ?.open()
+ .then(() => {
+ uni.hideLoading()
+ })
+ .catch(() => {
+ uni.hideLoading()
+ })
+ },
goYear() {
uni.navigateTo({
url: '/pages/mine/yearGift/index',
@@ -1399,6 +1488,7 @@ export default {
.stat-block:active {
transform: scale(0.98);
+ filter: brightness(1.1);
}
.stat-block.primary {
@@ -1430,25 +1520,49 @@ export default {
.stat-divider {
width: 2rpx;
height: 60rpx;
- background-color: rgba(255, 255, 255, 0.4);
+ background: linear-gradient(
+ to bottom,
+ rgba(255, 255, 255, 0.1),
+ rgba(255, 255, 255, 0.5),
+ rgba(255, 255, 255, 0.1)
+ );
}
.stat-label {
font-size: 24rpx;
- margin-top: 8rpx;
opacity: 0.9;
}
.stat-value {
- font-size: 34rpx;
- font-weight: 600;
- line-height: 1.2;
+ display: flex;
+ align-items: baseline;
+ line-height: 1;
+ margin-top: 8rpx;
word-break: break-all;
}
+.stat-value__integer {
+ font-size: 40rpx;
+ font-weight: 600;
+}
+
+.stat-value__decimal {
+ font-size: 28rpx;
+ font-weight: 500;
+ margin-left: 4rpx;
+}
+
.stat-more-arrow {
margin-left: 20rpx;
flex-shrink: 0;
+ width: 50rpx;
+ height: 50rpx;
+ border-radius: 50%;
+ background-color: rgba(255, 255, 255, 0.15);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.1);
}
@keyframes bling_shimmer {
@@ -1459,4 +1573,8 @@ export default {
transform: translateX(100%);
}
}
+
+.region-select-action {
+ padding: 30rpx 20rpx;
+}