dxz1228 лет назад: 2
Родитель
Сommit
4290368e2f

+ 16 - 0
.hbuilderx/launch.json

@@ -0,0 +1,16 @@
1
+{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
2
+  // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
3
+    "version": "0.0",
4
+    "configurations": [{
5
+     	"default" : 
6
+     	{
7
+     		"launchtype" : "local"
8
+     	},
9
+     	"mp-weixin" : 
10
+     	{
11
+     		"launchtype" : "local"
12
+     	},
13
+     	"type" : "uniCloud"
14
+     }
15
+    ]
16
+}

+ 4 - 0
src/apis/model/userInfoModel.ts

@@ -11,6 +11,10 @@ export interface UserInfoModel{
11 11
     /** 用户id */
12 12
     uid: string
13 13
     /** 微信用户 id */
14
+    /** 市/县代理 */
15
+    area_manage_type:string
16
+    /**股东 id */
17
+    stockholder:number
14 18
     wechat_user_id: string
15 19
     /** 支付宝用户 id */
16 20
     ali_user_id: string

+ 1 - 0
src/config/app.ts

@@ -11,6 +11,7 @@ let httpApi = 'https://app.bjtdba.com'
11 11
 
12 12
 // let httpApi = 'http://192.168.1.77:8324'
13 13
 export const CDN_URL = 'https://cdn.bjtdba.com/chuxubao'
14
+export const CDM_URL = 'https://cdn.bjtdba.com/vod'
14 15
 
15 16
 // 聊天接口修改此字符 小程序聊天要求wss 例如:wss://mer.crmeb.net
16 17
 let wsApi = ''

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/pages.json


+ 5 - 5
src/pages/home/components/navs.vue

@@ -2,11 +2,11 @@
2 2
 import {getHomeQuickLink} from "~/apis/common";
3 3
 import {PLATFORM_NAME} from "~/apis/model/common.model";
4 4
 import {useDacangStore} from "~/stores/dacangStore";
5
-import {CDN_URL} from "~/config/app";
5
+import {CDN_URL,CDM_URL} from "~/config/app";
6 6
 
7 7
 const navList = ref([{
8
-  image: CDN_URL + '/static/home-nav/home_dacang_220614.png',
9
-  title: '精品大仓',
8
+  image: CDM_URL + '/image/2023-11-20/20231120155257975.png',
9
+  title: '精品商城',
10 10
   key: 'jingpin'
11 11
 }, {
12 12
   image: CDN_URL + '/static/home-nav/home_xianshimiaosha_220614.png',
@@ -69,8 +69,8 @@ const navList = ref([{
69 69
 //   categoryId: '576'
70 70
 // }, 
71 71
 {
72
-  image: CDN_URL + '/static/home-nav/vip_img.png',
73
-  title: '会员专区',
72
+  image: CDM_URL + '/image/2023-11-20/20231120155340358.png',
73
+  title: '一壶茶',
74 74
   key: 'member',
75 75
   // key: PLATFORM_NAME.DC,
76 76
   // categoryId: '567',

+ 199 - 135
src/pages/my-rules/index.vue

@@ -2,8 +2,8 @@
2 2
 // import CXBBasePage from "~/components/CXBBasePage/CXBBasePage.vue";
3 3
 import mpHtml from 'mp-html/dist/uni-app/components/mp-html/mp-html'
4 4
 
5
-import {encodePhone} from "../../utils";
6
-import {getAgentInfo, getRules, getUserInfo} from "~/apis/user";
5
+import { encodePhone } from "../../utils";
6
+import { getAgentInfo, getRules, getUserInfo } from "~/apis/user";
7 7
 
8 8
 const userStore = useUserStore()
9 9
 const ruleDetail = ref<{
@@ -19,119 +19,204 @@ const ruleDetail = ref<{
19 19
 const currentType = ref<any>([])
20 20
 
21 21
 const showUpgradeInfo = ref(false)
22
+// const userType = computed(() => {
23
+//   const userRichType = userStore.userInfo?.user_rich_type
24
+//   // console.log(userStore.userInfo)
25
+//   const bangfu = userStore.userInfo?.is_bangfu ? '帮扶中心 ' : ''
26
+//   // 创始人
27
+//   if (userRichType == 3) {
28
+//     if (bangfu) {
29
+//       return ['创始人', bangfu]
30
+//     }
31
+//     return ['创始人']
32
+//     // return [].push()
33
+//   }
34
+//   // 普通用户
35
+//   if (userRichType == 0) {
36
+//     if (bangfu) {
37
+//       return ['用户', bangfu]
38
+//     }
39
+//     return ['用户']
40
+//   }
41
+//   // 会员
42
+//   if (userRichType == 1) {
43
+//     if (bangfu) {
44
+//       return ['会员', bangfu]
45
+//     }
46
+//     return ['会员']
47
+
48
+//   }
49
+//   if (userRichType == 3) {
50
+//     if (bangfu) {
51
+//       return ['创始人', bangfu]
52
+//     }
53
+//     return ['创始人']
54
+//   }
55
+//   // 合伙人
56
+//   if (userRichType == 4) {
57
+//     // return '高级会员'
58
+//     if (bangfu) {
59
+//       return ['VIP', bangfu]
60
+//     }
61
+//     return ['VIP']
62
+//   }
63
+//   if (userRichType == 5) {
64
+//     if (bangfu) {
65
+//       return ['初始级合伙人', bangfu]
66
+//     }
67
+//     return ['初始级合伙人']
68
+//   }
69
+//   if (userRichType == 6) {
70
+//     if (bangfu) {
71
+//       return ['中级合伙人', bangfu]
72
+//     }
73
+//     return ['中级合伙人']
74
+//   }
75
+//   if (userRichType == 7) {
76
+//     if (bangfu) {
77
+//       return ['高级合伙人', bangfu]
78
+//     }
79
+//     return ['高级合伙人']
80
+//   }
81
+//   if (!userRichType) {
82
+//     if (bangfu) {
83
+//       return ['用户', bangfu]
84
+//     }
85
+//     return ['用户']
86
+//   }
87
+// })
88
+// /*
89
+// const userType = computed(() => {
90
+//   const userRichType = userStore.userInfo?.user_rich_type
91
+
92
+//   // 创始人
93
+//   if (userRichType == 3) {
94
+//     return '创始人'
95
+//   }
96
+//   // 普通用户
97
+//   if (userRichType == 0) {
98
+//     return '用户'
99
+//   }
100
+//   // 会员
101
+//   if (userRichType == 1) {
102
+//     return '会员'
103
+//   }
104
+//   if (userRichType == 3) {
105
+//     return '创始人'
106
+//   }
107
+//   // 合伙人
108
+//   if (userRichType == 4) {
109
+//     // return '合伙人(VIP)'
110
+//     return 'VIP'
111
+//   }
112
+//   if (userRichType == 5) {
113
+//     return '初始级合伙人'
114
+//   }
115
+//   if (userRichType == 6) {
116
+//     return '中级合伙人'
117
+//   }
118
+//   if (userRichType == 7) {
119
+//     return '高级合伙人'
120
+//   }
121
+//   if (!userRichType) {
122
+//     return '用户'
123
+//   }
124
+// })
125
+// */
126
+
127
+//0:普通用户 1:会员  3:创始人 4:高级会员  8合伙人 9联合创始人
22 128
 const userType = computed(() => {
23 129
   const userRichType = userStore.userInfo?.user_rich_type
24
-  // console.log(userStore.userInfo)
130
+  console.log('我是大哥',userStore.userInfo)
25 131
   const bangfu = userStore.userInfo?.is_bangfu ? '帮扶中心 ' : ''
26
-  // 创始人
27
-  if (userRichType == 3) {
28
-    if (bangfu) {
29
-      return ['创始人', bangfu]
30
-    }
31
-    return ['创始人']
32
-    // return [].push()
33
-  }
132
+  // console.log('我是帮扶',bangfu);
133
+  
34 134
   // 普通用户
35 135
   if (userRichType == 0) {
36
-    if (bangfu) {
37
-      return ['用户', bangfu]
38
-    }
39
-    return ['用户']
136
+    // if (bangfu) {
137
+    //   return ['../../static/img-hy/帮扶中心.png', bangfu]
138
+    // }
139
+    return ['../../static/img-hy/用户.png']
40 140
   }
41 141
   // 会员
42 142
   if (userRichType == 1) {
43
-    if (bangfu) {
44
-      return ['会员', bangfu]
45
-    }
46
-    return ['会员']
143
+    // if (bangfu) {
144
+    //   return ['../../static/img-hy/帮扶中心.png', bangfu]
145
+    // }
146
+    return ['../../static/img-hy/会员.png']
47 147
 
48 148
   }
149
+    // 创始人
49 150
   if (userRichType == 3) {
50
-    if (bangfu) {
51
-      return ['创始人', bangfu]
52
-    }
53
-    return ['创始人']
151
+    // if (bangfu) {
152
+    //   return ['../../static/img-hy/帮扶中心.png', bangfu]
153
+    // }
154
+    return ['../../static/img-hy/创始人.png']
54 155
   }
55 156
   // 合伙人
56 157
   if (userRichType == 4) {
57 158
     // return '高级会员'
58
-    if (bangfu) {
59
-      return ['VIP', bangfu]
60
-    }
61
-    return ['VIP']
62
-  }
63
-  if (userRichType == 5) {
64
-    if (bangfu) {
65
-      return ['初始级合伙人', bangfu]
66
-    }
67
-    return ['初始级合伙人']
159
+    // if (bangfu) {
160
+    //   return ['../../static/img-hy/帮扶中心.png', bangfu]
161
+    // }
162
+    return ['../../static/img-hy/高级会员.png']
68 163
   }
69
-  if (userRichType == 6) {
70
-    if (bangfu) {
71
-      return ['中级合伙人', bangfu]
72
-    }
73
-    return ['中级合伙人']
164
+  if (userRichType == 8) {
165
+    // if (bangfu) {
166
+    //   return ['../../static/img-hy/帮扶中心.png', bangfu]
167
+    // }
168
+    return ['../../static/img-hy/合伙人.png']
74 169
   }
75
-  if (userRichType == 7) {
76
-    if (bangfu) {
77
-      return ['高级合伙人', bangfu]
78
-    }
79
-    return ['高级合伙人']
170
+  if (userRichType == 9) {
171
+    // if (bangfu) {
172
+    //   return ['../../static/img-hy/帮扶中心.png', bangfu]
173
+    // }
174
+    return ['../../static/img-hy/联合创始人.png']
80 175
   }
81 176
   if (!userRichType) {
82
-    if (bangfu) {
83
-      return ['用户', bangfu]
84
-    }
85
-    return ['用户']
177
+    // if (bangfu) {
178
+    //   return ['../../static/img-hy/帮扶中心.png', bangfu]
179
+    // }
180
+    return ['']
86 181
   }
87 182
 })
88
-/*
89
-const userType = computed(() => {
90
-  const userRichType = userStore.userInfo?.user_rich_type
91
-
92
-  // 创始人
93
-  if (userRichType == 3) {
94
-    return '创始人'
95
-  }
183
+//0:普通用户 1:股东
184
+const AlholderType = computed(() => {
185
+  const stockholder = userStore.userInfo?.stockholder
186
+  console.log('我是stockholder',userStore.userInfo.stockholder)
96 187
   // 普通用户
97
-  if (userRichType == 0) {
98
-    return '用户'
99
-  }
100
-  // 会员
101
-  if (userRichType == 1) {
102
-    return '会员'
188
+  if (stockholder == 0) {
189
+    return ['']
103 190
   }
104
-  if (userRichType == 3) {
105
-    return '创始人'
106
-  }
107
-  // 合伙人
108
-  if (userRichType == 4) {
109
-    // return '合伙人(VIP)'
110
-    return 'VIP'
191
+  // 股东
192
+  if (stockholder == 1) {
193
+    return ['../../static/img-hy/股东.png']
111 194
   }
112
-  if (userRichType == 5) {
113
-    return '初始级合伙人'
114
-  }
115
-  if (userRichType == 6) {
116
-    return '中级合伙人'
195
+  
196
+})
197
+// '':普通用户 district-区/县代 city-市代',
198
+const areaType = computed(() => {
199
+  const areamanage = userStore.userInfo?.area_manage_type
200
+  console.log('我是area_manage_type',userStore.userInfo.area_manage_type)
201
+  // 县/区代理
202
+  if (areamanage == 'district') {
203
+    return ['../../static/img-hy/区/县代理.png']
117 204
   }
118
-  if (userRichType == 7) {
119
-    return '高级合伙人'
205
+  // 市代理
206
+  if (areamanage == 'city') {
207
+    return ['../../static/img-hy/市级代理.png']
120 208
   }
121
-  if (!userRichType) {
122
-    return '用户'
209
+  //普通用户
210
+  if(!areamanage){
211
+    return['']
123 212
   }
213
+  
124 214
 })
125
-*/
126 215
 
127 216
 
128
-onLoad(async (option) => {
129
-  // console.log(option)
130
-  if (option && option.userType) {
131
-    currentType.value = [option.userType]
132
-  } else {
133
-    currentType.value = userType
134
-  }
217
+
218
+onLoad(async () => {
219
+
135 220
   await userStore.getUserInfo()
136 221
   await userStore.getUserYanglaoJin()
137 222
 })
@@ -229,10 +314,8 @@ function handleToVipPage() {
229 314
     <div class="flex flex-col gap-4 relative px-3 pb-safe">
230 315
       <div class="pt-5 ">
231 316
         <div class="flex gap-2 mb-2 text-white mb-6">
232
-          <image v-if="userStore.userInfo && userStore.userInfo.avatar" :src="userStore.userInfo.avatar"
233
-                 mode="widthFix"
234
-                 class="w-9 h-9 rounded-full"
235
-          ></image>
317
+          <image v-if="userStore.userInfo && userStore.userInfo.avatar" :src="userStore.userInfo.avatar" mode="widthFix"
318
+            class="w-9 h-9 rounded-full"></image>
236 319
 
237 320
           <div class="flex">
238 321
             <div class="flex flex-col">
@@ -246,51 +329,38 @@ function handleToVipPage() {
246 329
               </div>
247 330
             </div>
248 331
             <div class="flex gap-1 items-center px-1">
249
-              <div
250
-                  v-for="(item, index) in currentType"
251
-                  :key="index"
252
-                  class="flex rounded-full border border-solid border-1px border-yellow text-[12px] text-white w-12 h-5 justify-center items-center w-fit px-1">
253
-                {{ item }}
332
+              <div class="flex rounded-full  text-[12px] text-white w-12 h-5 justify-center items-center w-fit px-1">
333
+                <image class="vip_img" :src="userType" v-if="userType"></image>
334
+                <image class="vip_img" :src="AlholderType" v-if="AlholderType
335
+                  "></image>
336
+                <image class="vip_img" :src="areaType" v-if="areaType"></image>
254 337
               </div>
255 338
             </div>
256
-<!--            <div-->
257
-<!--                class="flex rounded-full border border-solid border-1px border-yellow text-[12px] text-white w-12 h-5 justify-center items-center w-fit px-1">-->
258
-<!--              {{ userType }}-->
259
-<!--            </div>-->
339
+            <!--            <div-->
340
+            <!--                class="flex rounded-full border border-solid border-1px border-yellow text-[12px] text-white w-12 h-5 justify-center items-center w-fit px-1">-->
341
+            <!--              {{ userType }}-->
342
+            <!--            </div>-->
260 343
           </div>
261 344
 
262 345
 
263 346
         </div>
264 347
         <div class="bg-white rounded flex flex-col gap-6 py-4 text-xl">
265
-          <div
266
-              v-if="userStore.userInfo"
267
-              class="flex flex-wrap">
268
-            <div
269
-                @tap="handleShowAnnuityDetail"
270
-                class="w-1/3 flex flex-col justify-center items-center"
271
-            >
348
+          <div v-if="userStore.userInfo" class="flex flex-wrap">
349
+            <div @tap="handleShowAnnuityDetail" class="w-1/3 flex flex-col justify-center items-center">
272 350
               <div>{{ userStore.yanglao.all_yanglao }}</div>
273 351
               <div class="text-xs">养老金</div>
274 352
             </div>
275
-            <div
276
-                @tap="handleShowMyInvitation"
277
-                class="w-1/3  flex flex-col justify-center items-center">
353
+            <div @tap="handleShowMyInvitation" class="w-1/3  flex flex-col justify-center items-center">
278 354
               <div>{{ agentInfo.brokerage_price ? agentInfo.brokerage_price : '0' }}</div>
279 355
               <div class="text-xs">我的佣金</div>
280 356
             </div>
281
-            <div
282
-                @tap="handleShowMyIntegral"
283
-                class="w-1/3  flex flex-col justify-center items-center">
357
+            <div @tap="handleShowMyIntegral" class="w-1/3  flex flex-col justify-center items-center">
284 358
               <div>{{ userStore.userInfo.score }}</div>
285 359
               <div class="text-xs">我的积分</div>
286 360
             </div>
287 361
           </div>
288
-          <div
289
-              v-if="userStore.userInfo"
290
-              class="flex">
291
-            <div
292
-                @click="handleToRedIntegral"
293
-                class="w-1/2 flex flex-col justify-center items-center">
362
+          <div v-if="userStore.userInfo" class="flex">
363
+            <div @click="handleToRedIntegral" class="w-1/2 flex flex-col justify-center items-center">
294 364
               <div>{{ userStore.userInfo.red }}</div>
295 365
               <div class="text-xs">红积分提现</div>
296 366
             </div>
@@ -304,22 +374,14 @@ function handleToVipPage() {
304 374
 
305 375
       </div>
306 376
 
307
-      <div
308
-          v-if="ruleDetail && ruleDetail.content && !showUpgradeInfo"
309
-          class="p-3 bg-white text-sm text-gray-500"
310
-      >
377
+      <div v-if="ruleDetail && ruleDetail.content && !showUpgradeInfo" class="p-3 bg-white text-sm text-gray-500">
311 378
         <mpHtml :content="ruleDetail.content"></mpHtml>
312 379
       </div>
313
-      <div
314
-          v-else
315
-          class="p-3 bg-white text-sm text-gray-500"
316
-      >
380
+      <div v-else class="p-3 bg-white text-sm text-gray-500">
317 381
         <mpHtml :content="ruleDetail.content" v-if="ruleDetail && ruleDetail.content"></mpHtml>
318 382
 
319 383
         <div class="flex justify-center items-center">
320
-          <nut-button
321
-              @click="handleToVipPage"
322
-              type="primary" size="small">立即开通</nut-button>
384
+          <nut-button @click="handleToVipPage" type="primary" size="small">立即开通</nut-button>
323 385
 
324 386
         </div>
325 387
       </div>
@@ -330,10 +392,8 @@ function handleToVipPage() {
330 392
         <div class="font-bold">还有更多奖励权益</div>
331 393
         <div class="flex justify-end">
332 394
 
333
-          <div
334
-              @click="handleUserUpgrade"
335
-              class="text-[12px] border border-solid border-1px rounded px-1 border-gray text-gray-600"
336
-          >了解更多奖励</div>
395
+          <div @click="handleUserUpgrade"
396
+            class="text-[12px] border border-solid border-1px rounded px-1 border-gray text-gray-600">了解更多奖励</div>
337 397
         </div>
338 398
       </div>
339 399
 
@@ -341,8 +401,6 @@ function handleToVipPage() {
341 401
 
342 402
     </div>
343 403
   </div>
344
-
345
-
346 404
 </template>
347 405
 
348 406
 <route lang="yaml">
@@ -355,7 +413,13 @@ style:
355 413
 </route>
356 414
 
357 415
 <style>
358
-page{
416
+page {
359 417
   background: #f5f5f5;
360 418
 }
419
+
420
+.vip_img {
421
+  width: 48px;
422
+  height: 24px;
423
+  margin-left: 2px;
424
+}
361 425
 </style>

+ 83 - 56
src/pages/user/index.vue

@@ -235,70 +235,72 @@ function handleShowMyAllOrder(tab?: number) {
235 235
 const userType = computed(() => {
236 236
   const userRichType = userStore.userInfo?.user_rich_type
237 237
   // console.log(userStore.userInfo)
238
-  const bangfu = userStore.userInfo?.is_bangfu ? '帮扶中心 ' : ''
239
-  // 创始人
240
-  if (userRichType == 3) {
241
-    if (bangfu) {
242
-      return ['创始人', bangfu]
243
-    }
244
-    return ['创始人']
245
-    // return [].push()
246
-  }
247 238
   // 普通用户
248 239
   if (userRichType == 0) {
249
-    if (bangfu) {
250
-      return ['用户', bangfu]
251
-    }
252
-    return ['用户']
240
+    
241
+    return ['../../static/img-hy/用户.png']
253 242
   }
254 243
   // 会员
255 244
   if (userRichType == 1) {
256
-    if (bangfu) {
257
-      return ['会员', bangfu]
258
-    }
259
-    return ['会员']
245
+    
246
+    return ['../../static/img-hy/会员.png']
260 247
 
261 248
   }
262 249
   if (userRichType == 3) {
263
-    if (bangfu) {
264
-      return ['创始人', bangfu]
265
-    }
266
-    return ['创始人']
250
+   
251
+    return ['../../static/img-hy/创始人.png']
267 252
   }
268
-  // 合伙人
253
+  // 高级会员
269 254
   if (userRichType == 4) {
270
-    // return '高级会员'
271
-    if (bangfu) {
272
-      return ['VIP', bangfu]
273
-    }
274
-    return ['VIP']
275
-  }
276
-  if (userRichType == 5) {
277
-    if (bangfu) {
278
-      return ['初始级合伙人', bangfu]
279
-    }
280
-    return ['初始级合伙人']
255
+    
256
+    return ['../../static/img-hy/高级会员.png']
281 257
   }
282
-  if (userRichType == 6) {
283
-    if (bangfu) {
284
-      return ['中级合伙人', bangfu]
285
-    }
286
-    return ['中级合伙人']
258
+  if (userRichType == 8) {
259
+    
260
+    return ['../../static/img-hy/合伙人.png']
287 261
   }
288
-  if (userRichType == 7) {
289
-    if (bangfu) {
290
-      return ['高级合伙人', bangfu]
291
-    }
292
-    return ['高级合伙人']
262
+  if (userRichType == 9) {
263
+   
264
+    return ['../../static/img-hy/联合创始人.png']
293 265
   }
294 266
   if (!userRichType) {
295
-    if (bangfu) {
296
-      return ['用户', bangfu]
297
-    }
298
-    return ['用户']
267
+   
268
+    return ['']
269
+  }
270
+})
271
+
272
+//0:普通用户 1:股东
273
+const AlholderType = computed(() => {
274
+  const stockholder = userStore.userInfo?.stockholder
275
+  // 普通用户
276
+  if (stockholder == 0) {
277
+    return ['']
278
+  }
279
+  // 股东
280
+  if (stockholder == 1) {
281
+    return ['../../static/img-hy/股东.png']
282
+  }
283
+  
284
+})
285
+// '':普通用户 district-区/县代 city-市代',
286
+const areaType = computed(() => {
287
+  const areamanage = userStore.userInfo?.area_manage_type
288
+  // 县/区代理
289
+  if (areamanage == 'district') {
290
+    return ['../../static/img-hy/区/县代理.png']
291
+  }
292
+  // 市代理
293
+  if (areamanage == 'city') {
294
+    return ['../../static/img-hy/市级代理.png']
299 295
   }
296
+  //普通用户
297
+  if(!areamanage){
298
+    return['']
299
+  }
300
+  
300 301
 })
301 302
 
303
+
302 304
 function handleToRedIntegral() {
303 305
   uni.navigateTo({
304 306
     url: '/pages/red-integral/index'
@@ -333,9 +335,9 @@ function handleShowMyProfile() {
333 335
   })
334 336
 }
335 337
 
336
-function handleShowMyRulePage(item) {
338
+function handleShowMyRulePage() {
337 339
   uni.navigateTo({
338
-    url: `/pages/my-rules/index?userType=${item}`
340
+    url: `/pages/my-rules/index`
339 341
   })
340 342
 }
341 343
 </script>
@@ -357,24 +359,39 @@ function handleShowMyRulePage(item) {
357 359
               mode="widthFix"
358 360
               class="w-9 h-9 rounded-full"
359 361
           />
360
-          <div class="flex">
361
-            <div class="flex flex-col">
362
+          <div class="flex flex-col">
363
+            <div class="flex">
362 364
               <div class="text-sm">
363 365
                 <div class="text-sm" v-if="userStore.userInfo">
364 366
                   {{ userStore.userInfo.nickname ? userStore.userInfo.nickname : '登录' }}
365 367
                 </div>
366 368
               </div>
367
-              <div class="text-xs" v-if="userStore.userInfo && userStore.userInfo.phone">
369
+              <div class="text-sm flex-height " v-if="userStore.userInfo && userStore.userInfo.phone">
368 370
                 {{ encodePhone(userStore.userInfo.phone) }}
369 371
               </div>
370 372
             </div>
371
-            <div class="flex gap-1 items-center px-1">
373
+            <div class="btm flex gap-1 px-1">
374
+              <!-- 用户 -->
372 375
             <div
373 376
                 v-for="(item, index) in userType"
374 377
                 :key="index"
375
-                @click="handleShowMyRulePage(item)"
376
-                class="flex rounded-full border border-solid border-1px border-yellow text-[12px] text-white w-12 h-5 justify-center items-center w-fit px-1">
377
-              {{ item }}
378
+                @click="handleShowMyRulePage()"
379
+                class="flex rounded-full  text-[12px] text-white w-12 h-5  w-fit px-1">
380
+                <image class="vip_img"  :src="item" v-show="userType" ></image>
381
+            </div>
382
+            <!-- 市县代理 -->
383
+            <div
384
+                v-for="(item, index) in AlholderType"
385
+                :key="index"
386
+                class="flex rounded-full  text-[12px] text-white w-12 h-5  w-fit px-1">
387
+                <image class="vip_img"  :src="item" v-show="AlholderType" ></image>
388
+            </div>
389
+            <!-- 股东 -->
390
+            <div
391
+                v-for="(item, index) in areaType"
392
+                :key="index"
393
+                class="flex rounded-full  text-[12px] text-white w-12 h-5   w-fit px-1">
394
+                <image class="vip_img"  :src="item" v-show="areaType" ></image>
378 395
             </div>
379 396
             </div>
380 397
           </div>
@@ -539,6 +556,16 @@ function handleShowMyRulePage(item) {
539 556
 page {
540 557
   background-color: #f8f8f8;
541 558
 }
559
+.flex-height{
560
+  margin-left: 3px;
561
+}
562
+.btm{
563
+  margin-top:1px ;
564
+}
565
+.vip_img{
566
+  width:58px;
567
+  height: 29px;
568
+}
542 569
 </style>
543 570
 <route lang="yaml">
544 571
 style:

+ 85 - 98
src/pages/vip/index.vue

@@ -1,124 +1,111 @@
1 1
 <template>
2
-<!--  <CXBBasePage :show="true" title="">-->
3
-
4
-    <div class="flex flex-col gap-3 ">
5
-      <div
6
-          class="overflow-hidden fixed top-0 w-full z-10"
7
-      >
8
-        <nut-searchbar
9
-            v-model="state.keyword" @search="loadList('reload')" @clear="loadList('reload')">
10
-          <!--      <template v-slot:leftout>-->
11
-          <!--        <div @tap="navBack">-->
12
-          <!--          <nut-icon name="left"></nut-icon>-->
13
-          <!--        </div>-->
14
-          <!--      </template>-->
15
-          <template v-slot:rightout>
16
-            <div @tap="loadList('reload')">
17
-              搜索
18
-            </div>
19
-          </template>
20
-        </nut-searchbar>
21
-      </div>
22
-<!--      <image :src="homeBanner" mode="widthFix" class="h-10 w-full "></image>-->
23
-
24
-      <div class="w-screen h-65">
25
-        <swiper
26
-            v-if="state.banners"
27
-            :indicator-dots="state.indicatorDots"
28
-            indicator-active-color="#e93323"
29
-            :autoplay="state.autoplay"
30
-            :circular="state.circular"
31
-            :interval="state.interval"
32
-            :duration="state.duration"
33
-            class="w-full h-full"
34
-        >
35
-          <swiper-item v-for="(item, index) in state.banners" :key="index">
36
-            <image :src="item.pic" class="!w-full !h-full" mode="aspectFill"/>
37
-          </swiper-item>
38
-        </swiper>
39
-      </div>
2
+  <!--  <CXBBasePage :show="true" title="">-->
3
+
4
+  <div class="flex flex-col gap-3 ">
5
+    <div style="background-color: transparent" class="overflow-hidden fixed top-0 w-full z-10">
6
+      <nut-searchbar v-model="state.keyword" @search="loadList('reload')" @clear="loadList('reload')">
7
+        <!--      <template v-slot:leftout>-->
8
+        <!--        <div @tap="navBack">-->
9
+        <!--          <nut-icon name="left"></nut-icon>-->
10
+        <!--        </div>-->
11
+        <!--      </template>-->
12
+        <template v-slot:rightout>
13
+          <div @tap="loadList('reload')">
14
+            搜索
15
+          </div>
16
+        </template>
17
+      </nut-searchbar>
18
+    </div>
19
+    <div></div>
20
+    <!--      <image :src="homeBanner" mode="widthFix" class="h-10 w-full "></image>-->
21
+
22
+    <div class="w-screen h-45">
23
+      <swiper v-if="state.banners" :indicator-dots="state.indicatorDots" indicator-active-color="#e93323"
24
+        :autoplay="state.autoplay" :circular="state.circular" :interval="state.interval" :duration="state.duration"
25
+        class="w-full h-full">
26
+        <swiper-item v-for="(item, index) in state.banners" :key="index">
27
+          <image :src="item.pic" class="!w-full !h-full" mode="	aspectFit" />
28
+        </swiper-item>
29
+      </swiper>
30
+    </div>
40 31
 
41
-      <div class="flex px-3">
42
-        会员专区
43
-      </div>
44
-      <div  class="px-3" v-if="list && list.length > 0">
45
-        <grid-view type="masonry" cross-axis-count="2" 	cross-axis-gap="10px" main-axis-gap="10px">
46
-          <div v-for="(item, index) in list"
47
-               :key="index"
48
-               @click="handleItemClick(item)"
49
-          >
50
-            <div
51
-                class="bg-white rounded-lg"
52
-            >
53
-              <image :src="item.image" mode="widthFix" 	:fade-in="true" class="rounded-t-lg  !w-full aspect-square"></image>
54
-
55
-              <div class="text-sm p-2 flex flex-col gap-1">
56
-                <div class="line-clamp-1">
57
-                  {{item.store_name}}
58
-                </div>
59
-                <div class="border border-solid border-1 border-red rounded flex text-xs items-center text-[#FE0032] w-fit">
60
-                  <image src="https://cdn.bjtdba.com/vod/image/2023-09-15/20230915160858609.png"
61
-                         mode="widthFix" class="!w-8 "></image>
62
-                  <div class="px-2 flex items-center jusitify-center">
63
-                    <div>
64
-                      养老金 ¥{{item.yanglao}}
65
-                    </div>
32
+    <div class="flex px-3">
33
+      会员专区
34
+    </div>
35
+    <div class="px-3" v-if="list && list.length > 0">
36
+      <grid-view type="masonry" cross-axis-count="2" cross-axis-gap="10px" main-axis-gap="10px">
37
+        <div v-for="(item, index) in list" :key="index" @click="handleItemClick(item)">
38
+          <div class="bg-white rounded-lg">
39
+            <image :src="item.image" mode="widthFix" :fade-in="true" class="rounded-t-lg  !w-full aspect-square"></image>
40
+
41
+            <div class="text-sm p-2 flex flex-col gap-1">
42
+              <div class="line-clamp-1">
43
+                {{ item.store_name }}
44
+              </div>
45
+              <div class="border border-solid border-1 border-red rounded flex text-xs items-center text-[#FE0032] w-fit">
46
+                <image src="https://cdn.bjtdba.com/vod/image/2023-09-15/20230915160858609.png" mode="widthFix"
47
+                  class="!w-8 "></image>
48
+                <div class="px-2 flex items-center jusitify-center">
49
+                  <div>
50
+                    养老金 ¥{{ item.yanglao }}
66 51
                   </div>
67 52
                 </div>
68
-                <div class="flex flex-row items-center gap-2">
69
-                  <div class="flex text-[#FE0032] font-bold text-lg">
70
-                    <div>
71
-                      ¥
72
-                    </div>
73
-                    <div>
74
-                      {{ item.price }}
75
-                    </div>
76
-
53
+              </div>
54
+              <div class="flex flex-row items-center gap-2">
55
+                <div class="flex text-[#FE0032] font-bold text-lg">
56
+                  <div>
57
+                    ¥
77 58
                   </div>
78
-
79
-                  <div class="bg-[#202020] text-[#FFDD99] rounded-t-lg rounded-br-lg text-10px leading-none px-1 flex items-center justify-center h-4">
80
-
81
-                    <div>
82
-                      大仓
83
-                    </div>
59
+                  <div>
60
+                    {{ item.price }}
84 61
                   </div>
85 62
 
86 63
                 </div>
87 64
 
88
-                <div class="line-through text-xs font-bold flex ">
65
+                <div
66
+                  class="bg-[#202020] text-[#FFDD99] rounded-t-lg rounded-br-lg text-10px leading-none px-1 flex items-center justify-center h-4">
67
+
89 68
                   <div>
90
-                    ¥ {{item.ot_price}}
69
+                    大仓
91 70
                   </div>
92 71
                 </div>
72
+
93 73
               </div>
94
-            </div>
95 74
 
75
+              <div class="line-through text-xs font-bold flex ">
76
+                <div>
77
+                  ¥ {{ item.ot_price }}
78
+                </div>
79
+              </div>
80
+            </div>
96 81
           </div>
97
-        </grid-view>
98
-        <div class="pb-safe flex justify-center items-center text-[12px] text-gray-500" >
99
-          <div v-if="state.status === 'loading'">
100
-            加载中...
101
-          </div>
102
-          <div v-if="state.status === 'noMore'">
103
-            没有更多了~
104
-          </div>
82
+
83
+        </div>
84
+      </grid-view>
85
+      <div class="pb-safe flex justify-center items-center text-[12px] text-gray-500">
86
+        <div v-if="state.status === 'loading'">
87
+          加载中...
88
+        </div>
89
+        <div v-if="state.status === 'noMore'">
90
+          没有更多了~
105 91
         </div>
106 92
       </div>
107
-      <CXBEmpty v-else/>
108 93
     </div>
94
+    <CXBEmpty v-else />
95
+  </div>
109 96
 
110
-<!--  </CXBBasePage>-->
97
+  <!--  </CXBBasePage>-->
111 98
 </template>
112 99
 
113 100
 <script setup lang="ts">
114 101
 import CXBBasePage from "~/components/CXBBasePage/CXBBasePage.vue";
115 102
 import FSearch from "~/components/FSearch/FSearch.vue";
116
-import {computed} from "vue";
117
-import {getVipAreaList} from "~/apis/merchant";
118
-import {CDN_URL} from "~/config/app";
103
+import { computed } from "vue";
104
+import { getVipAreaList } from "~/apis/merchant";
105
+import { CDN_URL } from "~/config/app";
119 106
 import CXBEmpty from "~/components/CXBEmpty/CXBEmpty.vue";
120
-import {getHomeBanner, getProductShare} from "~/apis/common";
121
-import {useUserStore} from "~/stores/userStore";
107
+import { getHomeBanner, getProductShare } from "~/apis/common";
108
+import { useUserStore } from "~/stores/userStore";
122 109
 import Cache from "~/utils/cache";
123 110
 
124 111
 const homeBanner = CDN_URL + '/static/assets/home-banner.png'
@@ -139,7 +126,7 @@ const state = reactive({
139 126
   totalPage: 1,
140 127
   banners: [],
141 128
 
142
-  keyword: '' ,
129
+  keyword: '',
143 130
   status: 'noMore',
144 131
   indicatorDots: true,
145 132
   circular: true,
@@ -255,7 +242,7 @@ onPullDownRefresh(() => {
255 242
 
256 243
 <route lang="yaml">
257 244
 style:
258
-  navigationBarTitleText: 储蓄保会员
245
+  navigationBarTitleText: 一壶茶会员中心
259 246
   enablePullDownRefresh: true
260 247
 </route>
261 248
 <style>

BIN
src/static/img-hy/VIP .png


BIN
src/static/img-hy/会员.png


BIN
src/static/img-hy/创始人.png


BIN
src/static/img-hy/区/县代理.png


BIN
src/static/img-hy/合伙人.png


BIN
src/static/img-hy/市级代理.png


BIN
src/static/img-hy/帮扶中心.png


BIN
src/static/img-hy/用户.png


BIN
src/static/img-hy/联合创始人.png


BIN
src/static/img-hy/股东.png


BIN
src/static/img-hy/高级会员.png