index.vue 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258
  1. <template>
  2. <view class="">
  3. <view class="headtop">
  4. <!-- 顶部 -->
  5. <view class="header" @click="binduser()">
  6. <view class="head_image">
  7. <image :src="avatar" style="border-radius: 50%;"></image>
  8. </view>
  9. <view class="head_name" v-if="userId">
  10. <view class="flex align-center justify-between">
  11. <view class="flex" style="color: #fff;">
  12. <view class="">{{nickName}}</view>
  13. <!-- v-if="shangxian=='否'" -->
  14. <view style="margin-left: 20rpx; padding: 8rpx 30rpx;background: #f56c6c;border-radius: 30rpx;">
  15. <view class="approve" v-if="checkCertification==2">已实名</view>
  16. <view class="approve" v-if="checkCertification == 1">实名审核中</view>
  17. <view class="flex align-center approve" v-if="checkCertification==3">
  18. <view class="" @click.stop="bindapprove">实名未通过</view>
  19. <view class="margin-left" style="color: red;">{{checkCertificationMessage}}</view>
  20. </view>
  21. <view class="approve" @click.stop="bindapprove"
  22. v-if="checkCertification==null||checkCertification==''">未实名</view>
  23. </view>
  24. </view>
  25. <!-- <view class="qrCodeImg">
  26. <image @click.stop="getMyQrCode()" src="../../static/my/quCodeIcon.png" mode=""></image>
  27. </view> -->
  28. </view>
  29. <view class="flex" style="padding: 15rpx 15rpx;display: flex; line-height: 50rpx;">
  30. <u-rate :allow-half="false" :disabled="true" active-color="#e6a23c" :is-fill="false" :value="3.5" style="margin-right: 15rpx;" />
  31. <view class="text-df margin-left" style="font-weight: 200;color: #fff;">信用分:{{creditScore}}分</view>
  32. </view>
  33. <view class="text-sm margin-left-sm margin-top-xs" style="font-weight: 200;color: #fff;">
  34. <text style="background: #00c18a; padding: 10rpx 20rpx;border-radius: 30rpx;">ID: {{userId}}</text>
  35. </view>
  36. </view>
  37. <view class="head_name" v-if="!userId" @click.stop="goLogin">
  38. 登录
  39. </view>
  40. </view>
  41. <view v-if="isOpenVip == '是' && shangxian=='否'" class="vip flex align-center justify-center">
  42. <view class="vip-box flex align-center justify-between" @click="navgo('/my/vip/vip')">
  43. <view class="vip-box-l flex align-center">
  44. <image src="../../static/my/vipIconMy.png" mode="widthFix"></image>
  45. {{vipEndTime?'尊享接单特权':'开通会员享接单特权'}}
  46. </view>
  47. <view class="vip-box-r flex align-center">
  48. {{vipEndTime?'立即续费':'立即开通'}}
  49. <u-icon name="arrow-right" color="#8b4a24" size="24"></u-icon>
  50. </view>
  51. </view>
  52. </view>
  53. <!-- 收入和订单 -->
  54. <view class="shouru" v-if="shangxian=='否'">
  55. <view class="user_box">
  56. <view class="box">
  57. <view class="user_name" @click="navgo('/pages/riderMy/myAccount/myAccount')">
  58. <!-- <view style="width: 6rpx;height: 28rpx;background: #FE3B27;"></view> -->
  59. <u-section title="信用分" :bold="true" :right="false" line-color="#FE3B27"></u-section>
  60. </view>
  61. <view class="user_price">{{creditScore ? creditScore : 0}}</view>
  62. <view class="user_tit ">当前信用分值</view>
  63. </view>
  64. <view class="box" @click="myOrders()">
  65. <view class="user_name">
  66. <!-- <view style="width: 6rpx;height: 28rpx;background: #009C66;"></view> -->
  67. <u-section title="订单统计" :right="false" line-color="#009C66"></u-section>
  68. </view>
  69. <view class="user_price">{{indent.indentCount?indent.indentCount:0}} <text>单</text></view>
  70. <view class="user_tit ">今日完成单量</view>
  71. </view>
  72. </view>
  73. </view>
  74. </view>
  75. <!-- 我的列表 -->
  76. <view class=" padding-tb bg-white " style="border-radius: 24rpx; margin: 0rpx 30rpx 30rpx 30rpx;">
  77. <view class="flex justify-between align-center padding-lr-sm">
  78. <view class="text-lg text-bold text-black">常用功能</view>
  79. </view>
  80. <view class="flex flex-wrap margin-top-sm">
  81. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/realName/authentication')">
  82. <image v-if="globalImages" :src="globalImages + 'images/my/shiming.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  83. <view class="text-sm">实名认证</view>
  84. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  85. </view>
  86. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/wallet/index')">
  87. <image v-if="globalImages" :src="globalImages + 'imgs/qianbao.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  88. <view class="text-sm">钱包</view>
  89. </view>
  90. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/jgOrder/statistics')">
  91. <image v-if="globalImages" :src="globalImages + 'imgs/tongji.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  92. <view class="text-sm">订单统计</view>
  93. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  94. </view>
  95. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/setting/index')">
  96. <image v-if="globalImages" :src="globalImages + 'imgs/fuli.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  97. <view class="text-sm">我的福利</view>
  98. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  99. </view>
  100. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/pages/riderMy/invitationUser')" v-if="shangxian=='否'">
  101. <image v-if="globalImages" :src="globalImages + 'imgs/haoyou.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  102. <view class="text-sm">邀请好友</view>
  103. </view>
  104. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/wallet/baozhengjin')">
  105. <image v-if="globalImages" :src="globalImages + 'imgs/baozhengjin.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  106. <view class="text-sm">保证金</view>
  107. </view>
  108. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/exchange/shoppingMall')">
  109. <image v-if="globalImages" :src="globalImages + 'images/my/duihuan.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  110. <view class="text-sm">兑换商城</view>
  111. </view>
  112. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/setting/xyf')">
  113. <image v-if="globalImages" :src="globalImages + 'imgs/mingxi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  114. <view class="text-sm">信用分明细</view>
  115. <view class="weinumber" style="right: 0rpx; top: -10rpx;" v-if="xxCount">{{xxCount}}</view>
  116. </view>
  117. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/setting/message')">
  118. <image v-if="globalImages" :src="globalImages + 'images/my/xiaoxi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  119. <view class="text-sm">消息中心</view>
  120. <view class="weinumber" style="right: 0rpx; top: -10rpx;" v-if="xxCount">{{xxCount}}</view>
  121. </view>
  122. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/setting/index')">
  123. <image v-if="globalImages" :src="globalImages + 'imgs/shezhi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  124. <view class="text-sm">设置</view>
  125. <view class="weinumber" style="right: 0rpx; top: -10rpx;" v-if="xxCount">{{xxCount}}</view>
  126. </view>
  127. </view>
  128. </view>
  129. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  130. <view class="flex justify-between align-center padding-lr-sm">
  131. <view class="text-lg text-bold text-black">运营管理</view>
  132. </view>
  133. <view class="flex flex-wrap margin-top-sm">
  134. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/mys/trip')">
  135. <image v-if="globalImages" :src="globalImages + 'imgs/xingcheng.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  136. <view class="text-sm">我的行程</view>
  137. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  138. </view>
  139. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/jgOrder/revenue')">
  140. <image v-if="globalImages" :src="globalImages + 'imgs/tongji (2).png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  141. <view class="text-sm">收入统计</view>
  142. <!-- <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view> -->
  143. </view>
  144. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/manage/message')" >
  145. <image v-if="globalImages" :src="globalImages + 'imgs/guanli.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  146. <view class="text-sm">车辆管理</view>
  147. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  148. </view>
  149. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/setting/logOff')">
  150. <image v-if="globalImages" :src="globalImages + 'imgs/zhaomu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  151. <view class="text-sm">招募车主</view>
  152. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  153. </view>
  154. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo()">
  155. <image v-if="globalImages" :src="globalImages + 'imgs/chezhu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  156. <view class="text-sm">成为车主</view>
  157. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  158. </view>
  159. </view>
  160. </view>
  161. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  162. <view class="flex justify-between align-center padding-lr-sm">
  163. <view class="text-lg text-bold text-black">安全服务</view>
  164. </view>
  165. <view class="flex flex-wrap margin-top-sm">
  166. <view class="text-center margin-tb-sm" style="width: 20%;">
  167. <image v-if="globalImages" :src="globalImages + 'imgs/zhongxin.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  168. <view class="text-sm">安全中心</view>
  169. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  170. </view>
  171. <view class="text-center margin-tb-sm" style="width: 20%;">
  172. <image v-if="globalImages" :src="globalImages + 'imgs/xvzhi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  173. <view class="text-sm">安全须知</view>
  174. <!-- <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view> -->
  175. </view>
  176. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/setting/index')">
  177. <image v-if="globalImages" :src="globalImages + 'imgs/lianxiren.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  178. <view class="text-sm">紧急联系人</view>
  179. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  180. </view>
  181. <view class="text-center margin-tb-sm" style="width: 20%;">
  182. <image v-if="globalImages" :src="globalImages + 'imgs/shuwu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  183. <view class="text-sm">失物招领</view>
  184. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  185. </view>
  186. <view class="text-center margin-tb-sm" style="width: 20%;" @click="navgo('/my/safety/video')">
  187. <image v-if="globalImages" :src="globalImages + 'imgs/kaoshi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  188. <view class="text-sm">安全考试</view>
  189. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  190. </view>
  191. </view>
  192. </view>
  193. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  194. <view class="flex justify-between align-center padding-lr-sm">
  195. <view class="text-lg text-bold text-black">出行服务</view>
  196. </view>
  197. <view class="flex flex-wrap margin-top-sm">
  198. <view class="text-center margin-tb-sm" style="width: 25%;">
  199. <image v-if="globalImages" :src="globalImages + 'images/my/zhinan.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  200. <view class="text-sm">使用指南</view>
  201. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  202. </view>
  203. <view class="text-center margin-tb-sm" style="width: 25%;" @click="navgo('/my/help/trainingList')">
  204. <image v-if="globalImages" :src="globalImages + 'images/my/wenda.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  205. <view class="text-sm">常见问答</view>
  206. <!-- <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view> -->
  207. </view>
  208. <view class="text-center margin-tb-sm" style="width: 25%;" @click="changekefu">
  209. <image v-if="globalImages" :src="globalImages + 'images/my/dianhua.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  210. <view class="text-sm">客服电话</view>
  211. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  212. </view>
  213. <view class="text-center margin-tb-sm" style="width: 25%;">
  214. <image v-if="globalImages" :src="globalImages + 'images/my/shoucang.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  215. <view class="text-sm">我的收藏</view>
  216. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  217. </view>
  218. </view>
  219. </view>
  220. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  221. <view class="flex justify-between align-center padding-lr-sm">
  222. <view class="text-lg text-bold text-black">关于顺风车</view>
  223. </view>
  224. <view class="flex flex-wrap margin-top-sm">
  225. <view class="text-center margin-tb-sm" style="width: 25%;">
  226. <image v-if="globalImages" :src="globalImages + 'imgs/women.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  227. <view class="text-sm">关于我们</view>
  228. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  229. </view>
  230. <view class="text-center margin-tb-sm" style="width: 25%;" @click="bindTo('/my/setting/xieyi')">
  231. <image v-if="globalImages" :src="globalImages + 'imgs/xieyi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  232. <view class="text-sm">服务协议</view>
  233. <!-- <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view> -->
  234. </view>
  235. <view class="text-center margin-tb-sm" style="width: 25%;" @click="bindTo('/my/feedback/feedback')">
  236. <image v-if="globalImages" :src="globalImages + 'imgs/fankui.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  237. <view class="text-sm">意见反馈</view>
  238. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  239. </view>
  240. <view class="text-center margin-tb-sm" style="width: 25%;" @click="bindTo('/my/setting/logOff')">
  241. <image v-if="globalImages" :src="globalImages + 'imgs/zhuxiao.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  242. <view class="text-sm">注销账号</view>
  243. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  244. </view>
  245. </view>
  246. </view>
  247. <view class="mylist ">
  248. <view class="mylist_title padding-lr">推荐工具</view>
  249. <view class="flex flex-wrap">
  250. <view class="list_box" @click="navgo('/my/renzheng/index')" v-if="shangxian=='否'">
  251. <image src="../../static/my/renz.png" mode="scaleToFill" class="list_img"></image>
  252. <view class="list_name">实名认证</view>
  253. </view>
  254. <view v-if="isBindung == '是' && shangxian=='否'" class="list_box" @click="navgo('/my/wallet/baozhengjin')">
  255. <image src="../../static/my/bzj.png" mode="scaleToFill" class="list_img"></image>
  256. <view class="list_name">保证金</view>
  257. </view>
  258. <view class="list_box" @click="navgo('/my/wallet/index')" v-if="shangxian=='否'">
  259. <image src="../../static/my/qianbao.png" mode="scaleToFill" class="list_img"></image>
  260. <view class="list_name">我的钱包</view>
  261. </view>
  262. <view class="list_box" @click="navgo('/pages/riderMy/invitationUser')" v-if="shangxian=='否'">
  263. <image src="../../static/my/share.png" mode="scaleToFill" class="list_img"></image>
  264. <view class="list_name">邀请好友</view>
  265. </view>
  266. <view class="list_box" @click="navgo('/my/team/team')" v-if="shangxian=='否'">
  267. <image src="../../static/my/team.png" mode="scaleToFill" class="list_img"></image>
  268. <view class="list_name">我的团队</view>
  269. </view>
  270. <view class="list_box" @click="changekefu">
  271. <image src="../../static/my/kefu.png" mode="scaleToFill" class="list_img"></image>
  272. <view class="list_name">联系客服</view>
  273. </view>
  274. <view class="list_box" @click="navgo('/my/setting/message')" style="position: relative;">
  275. <image src="/static/upload/xiaoxi.png" mode="scaleToFill" class="list_img"></image>
  276. <view class="list_name">我的消息</view>
  277. <view class="weinumber" v-if="xxCount">{{xxCount}}</view>
  278. </view>
  279. <!-- <view class="list_box" @click="navgo('/my/appeal/index')">
  280. <image src="../../static/my/shensu.png" mode="scaleToFill" class="list_img"></image>
  281. <view class="list_name">违规申诉</view>
  282. </view> -->
  283. <!-- <view class="list_box" @click="navgo('/my/evaluate/index')" v-if="shangxian=='否'">
  284. <image src="../../static/my/pj.png" mode="scaleToFill" class="list_img"></image>
  285. <view class="list_name">我的评价</view>
  286. </view> -->
  287. <view class="list_box" @click="navgo('/my/setting/xyf')">
  288. <image src="../../static/my/xyf.png" mode="scaleToFill" class="list_img"></image>
  289. <view class="list_name">信用分明细</view>
  290. </view>
  291. <!-- #ifndef H5 -->
  292. <view class="list_box" @click="navgo('/my/setting/jinji')">
  293. <image src="../../static/my/jg.png" mode="scaleToFill" class="list_img"
  294. style="width: 50rpx;height: 50rpx;"></image>
  295. <view class="list_name">紧急报警</view>
  296. </view>
  297. <!-- #endif -->
  298. <view class="list_box" @click="navgo('/my/help/trainingList')">
  299. <image src="../../static/my/hellp.png" mode="scaleToFill" class="list_img"></image>
  300. <view class="list_name">司机指南</view>
  301. </view>
  302. <view class="list_box" @click="navgo('/my/setting/index')">
  303. <image src="../../static/my/set.png" mode="scaleToFill" class="list_img"></image>
  304. <view class="list_name">系统设置</view>
  305. </view>
  306. </view>
  307. </view>
  308. <!-- 师傅二维码弹窗 -->
  309. <u-popup v-model="showQrcode" mode="center" closeable border-radius="14" width="600rpx">
  310. <view class="showQrcode-title">扫我下单</view>
  311. <view class="showQrcode-img">
  312. <image :src="qrCodeImg" mode="aspectFill"></image>
  313. </view>
  314. </u-popup>
  315. </view>
  316. </template>
  317. <script>
  318. import configdata from '../../common/config.js';
  319. import { waitForGlobalImages } from '@/utils/globalImageLoader'
  320. export default {
  321. onShareAppMessage(res) { //发送给朋友
  322. return {
  323. title: this.tuiguang,
  324. path: '/pages/index/index',
  325. imageUrl: this.tuiguangImg,
  326. }
  327. },
  328. onShareTimeline(res) { //分享到朋友圈
  329. return {
  330. title: this.tuiguang,
  331. path: '/pages/index/index',
  332. imageUrl: this.tuiguangImg,
  333. }
  334. },
  335. data() {
  336. return {
  337. xxCount: 0,
  338. showQrcode: false, //是否显示二维码
  339. tuiguang: '',
  340. tuiguangImg: '',
  341. show: false,
  342. title: '我的',
  343. information: {}, //个人信息
  344. daySr: '',
  345. orders: '',
  346. indent: {},
  347. avatar: '../../static/logo.png',
  348. nickName: '匿名',
  349. checkCertification: '',
  350. userId: '',
  351. token: '',
  352. shangxian: '是',
  353. checkCertificationMessage: '',
  354. checked: false,
  355. loading: false,
  356. // 中间变量,避免在watch中多次回调,造成无限循环
  357. controlStatus: false,
  358. creditScore: 0,
  359. arr: [],
  360. showModal1: true,
  361. qrCodeImg: '',
  362. isOpenVip: '否', //是否开启会员功能
  363. vipEndTime: '', //会员到期时间
  364. isBindung: '是', //是否启用保证金
  365. globalImages: ''
  366. }
  367. },
  368. onLoad() {
  369. waitForGlobalImages().then((path) => {
  370. console.log('✅ 全局图片路径:', path)
  371. this.globalImages = path
  372. })
  373. this.isOpenVip = uni.getStorageSync('isOpenVip')
  374. this.shangxian = uni.getStorageSync('shangxian')
  375. this.$Request.getT('/app/common/type/276').then(res => {
  376. if (res.code === 0) {
  377. uni.setStorageSync('tuiguang', res.data.value)
  378. this.tuiguang = res.data.value;
  379. }
  380. });
  381. this.$Request.getT('/app/common/type/277').then(res => {
  382. if (res.code === 0) {
  383. uni.setStorageSync('tuiguangImg', res.data.value)
  384. this.tuiguangImg = res.data.value;
  385. }
  386. });
  387. this.$Request.getT('/app/common/type/428').then(res => { //师傅端小程序订单状态通知 428
  388. if (res.code == 0) {
  389. if (res.data && res.data.value) {
  390. this.arr.push(res.data.value)
  391. }
  392. }
  393. })
  394. this.$Request.getT('/app/common/type/429').then(res => { //师傅端小程序新订单通知 429
  395. if (res.code == 0) {
  396. if (res.data && res.data.value) {
  397. this.arr.push(res.data.value)
  398. }
  399. }
  400. })
  401. },
  402. onShow() {
  403. this.isBindung = uni.getStorageSync('isBindung')
  404. this.token = this.$queue.getData('token');
  405. this.userId = this.$queue.getData('userId');
  406. if (this.token) {
  407. this.shouru()
  408. this.getUserInfo();
  409. this.getXXDetailNum();
  410. if (this.showModal1) {
  411. // #ifdef MP-WEIXIN
  412. this.openMsg()
  413. // #endif
  414. }
  415. } else {
  416. // this.goLogin();
  417. this.xxCount = 0;
  418. this.userId = ''
  419. this.creditScore = 0
  420. this.indent = []
  421. this.avatar = '../../static/logo.png'
  422. this.nickName = ''
  423. this.vipEndTime = ''
  424. }
  425. },
  426. methods: {
  427. bindTo(name) {
  428. let token = this.$queue.getData("token");
  429. if (token) {
  430. uni.navigateTo({
  431. url: name
  432. })
  433. }
  434. },
  435. //获取会员信息
  436. getVipInfo() {
  437. this.$Request.getT('/app/UserVip/selectUserVip').then(res => {
  438. if (res.code == 0) {
  439. if (res.data) {
  440. this.vipEndTime = res.data.endTime
  441. } else {
  442. this.vipEndTime = ''
  443. }
  444. }
  445. })
  446. },
  447. getXXDetailNum() {
  448. this.$Request.getT('/app/message/getRouteOrdersCount').then(res => {
  449. if (res.code == 0) {
  450. this.xxCount = res.data ? res.data : 0;
  451. }
  452. });
  453. },
  454. //获取师傅二维码
  455. getMyQrCode() {
  456. let that = this
  457. let userId = uni.getStorageSync('userId')
  458. uni.downloadFile({
  459. url: configdata.APIHOST + '/app/invite/riderQr?userId=' + userId,
  460. success(res) {
  461. that.qrCodeImg = res.tempFilePath
  462. that.showQrcode = true
  463. }
  464. })
  465. },
  466. // switch打开或者关闭时触发,值为true或者false
  467. change(status) {
  468. // #ifdef MP-WEIXIN
  469. if (uni.getStorageSync('sendMsg')) {
  470. uni.requestSubscribeMessage({
  471. tmplIds: this.arr,
  472. success(re) {
  473. // console.log(re,'**********')
  474. var datas = JSON.stringify(re);
  475. if (datas.indexOf("accept") != -1) {
  476. console.log(re)
  477. }
  478. },
  479. fail: (res) => {
  480. console.log(res)
  481. }
  482. })
  483. }
  484. // #endif
  485. if (this.checked == false) {
  486. if (this.controlStatus == true) {
  487. this.controlStatus = false;
  488. return;
  489. }
  490. // 重新打开switch,并让它处于加载中的状态
  491. this.checked = true;
  492. if (uni.getStorageSync('token')) {
  493. this.loading = true;
  494. this.getRestultFromServer();
  495. } else {
  496. uni.navigateTo({
  497. url: '/pages/login/login'
  498. })
  499. }
  500. // 模拟向后端发起请求
  501. } else if (this.checked == true) {
  502. if (this.controlStatus == true) {
  503. this.controlStatus = false;
  504. return;
  505. }
  506. // 重新关闭switch,并让它处于加载中的状态
  507. this.checked = false;
  508. // 模拟向后端发起请求
  509. if (uni.getStorageSync('token')) {
  510. this.loading = true;
  511. this.getRestultFromServer1();
  512. } else {
  513. uni.navigateTo({
  514. url: '/pages/login/login'
  515. })
  516. }
  517. }
  518. },
  519. getRestultFromServer() {
  520. this.controlStatus = true;
  521. // 后端允许用户关闭switch,设置checked为false,结束loading状态
  522. let that = this
  523. uni.showModal({
  524. title: '提示',
  525. content: '确定要下线吗',
  526. complete: function(ret) {
  527. if (ret.confirm) {
  528. console.log('用户点击确定');
  529. uni.showLoading({
  530. title: '修改中...',
  531. })
  532. that.$Request.postT("/app/user/updateLine").then(res => {
  533. uni.hideLoading();
  534. that.loading = false;
  535. that.controlStatus = false
  536. if (res.code === 0) {
  537. that.checked = false;
  538. that.getUserInfo();
  539. } else {
  540. that.$queue.showToast(res.msg)
  541. }
  542. });
  543. } else if (ret.cancel) {
  544. console.log('用户点击取消');
  545. that.checked = true;
  546. that.loading = false;
  547. that.controlStatus = false
  548. }
  549. },
  550. });
  551. },
  552. getRestultFromServer1() {
  553. // 通过定时器模拟向后端请求
  554. this.controlStatus = true;
  555. // 后端允许用户关闭switch,设置checked为false,结束loading状态
  556. let that = this
  557. uni.showModal({
  558. title: '提示',
  559. content: '确定要上线吗',
  560. complete: function(ret) {
  561. if (ret.confirm) {
  562. console.log('用户点击确定');
  563. uni.showLoading({
  564. title: '修改中...',
  565. })
  566. that.$Request.postT("/app/user/updateLine").then(res => {
  567. uni.hideLoading();
  568. that.loading = false;
  569. that.controlStatus = false
  570. if (res.code === 0) {
  571. that.checked = true;
  572. that.getUserInfo();
  573. } else {
  574. that.$queue.showToast(res.msg)
  575. }
  576. });
  577. } else if (ret.cancel) {
  578. that.loading = false;
  579. console.log('用户点击取消');
  580. that.checked = false;
  581. that.controlStatus = false
  582. }
  583. }
  584. });
  585. },
  586. //联系客服
  587. changekefu() {
  588. // #ifdef MP-WEIXIN
  589. if (uni.getStorageSync('sendMsg')) {
  590. uni.requestSubscribeMessage({
  591. tmplIds: this.arr,
  592. success(re) {
  593. // console.log(re,'**********')
  594. var datas = JSON.stringify(re);
  595. if (datas.indexOf("accept") != -1) {
  596. console.log(re)
  597. }
  598. },
  599. fail: (res) => {
  600. console.log(res)
  601. }
  602. })
  603. }
  604. // #endif
  605. let kefu = this.$queue.getData('kefu'); // 用户端联系方式 1 手机号 2企业微信
  606. let kefuPhone = this.$queue.getData('kefuPhone');
  607. if (kefu == 1) {
  608. uni.makePhoneCall({
  609. phoneNumber: kefuPhone //仅为示例
  610. });
  611. } else if (kefu == 2) {
  612. // #ifdef MP-WEIXIN
  613. let that = this
  614. try {
  615. wx.openCustomerServiceChat({
  616. extInfo: {
  617. url: that.$queue.getData('kefuUrl')
  618. },
  619. corpId: that.$queue.getData('kefuAppId'),
  620. success(res) {},
  621. fail(res) {
  622. console.error(res)
  623. }
  624. })
  625. } catch (error) {
  626. console.error("catchcatch" + error)
  627. uni.showToast({
  628. title: '请更新至微信最新版本'
  629. });
  630. }
  631. // #endif
  632. // #ifndef MP-WEIXIN
  633. let url = this.$queue.getData('kefuUrl');
  634. if (url.indexOf('/pages/') !== -1 || url.indexOf('/pageA/') !== -1 || url.indexOf('/my/') !== -1) {
  635. uni.navigateTo({
  636. url
  637. });
  638. } else {
  639. //#ifndef H5
  640. uni.navigateTo({
  641. url: '/pages/index/webView?url=' + url
  642. });
  643. //#endif
  644. //#ifdef H5
  645. window.location.href = url;
  646. //#endif
  647. }
  648. // #endif
  649. } else if (kefu == 3) {
  650. uni.navigateTo({
  651. url: '/my/kefu/index'
  652. });
  653. }
  654. },
  655. // 查看今日收入
  656. profit() {
  657. // #ifdef MP-WEIXIN
  658. if (uni.getStorageSync('sendMsg')) {
  659. uni.requestSubscribeMessage({
  660. tmplIds: this.arr,
  661. success(re) {
  662. // console.log(re,'**********')
  663. var datas = JSON.stringify(re);
  664. if (datas.indexOf("accept") != -1) {
  665. console.log(re)
  666. }
  667. },
  668. fail: (res) => {
  669. console.log(res)
  670. }
  671. })
  672. }
  673. // #endif
  674. if (!this.userId) {
  675. uni.navigateTo({
  676. url: '/pages/login/login'
  677. })
  678. return
  679. }
  680. uni.navigateTo({
  681. url: '/pages/riderMy/profit'
  682. })
  683. },
  684. // 查看订单统计
  685. myOrders() {
  686. // #ifdef MP-WEIXIN
  687. if (uni.getStorageSync('sendMsg')) {
  688. uni.requestSubscribeMessage({
  689. tmplIds: this.arr,
  690. success(re) {
  691. // console.log(re,'**********')
  692. var datas = JSON.stringify(re);
  693. if (datas.indexOf("accept") != -1) {
  694. console.log(re)
  695. }
  696. },
  697. fail: (res) => {
  698. console.log(res)
  699. }
  700. })
  701. }
  702. // #endif
  703. if (!this.userId) {
  704. uni.navigateTo({
  705. url: '/pages/login/login'
  706. })
  707. return
  708. }
  709. uni.navigateTo({
  710. url: '/pages/riderMy/order'
  711. })
  712. },
  713. bindapprove() {
  714. // #ifdef MP-WEIXIN
  715. if (uni.getStorageSync('sendMsg')) {
  716. uni.requestSubscribeMessage({
  717. tmplIds: this.arr,
  718. success(re) {
  719. // console.log(re,'**********')
  720. var datas = JSON.stringify(re);
  721. if (datas.indexOf("accept") != -1) {
  722. console.log(re)
  723. }
  724. },
  725. fail: (res) => {
  726. console.log(res)
  727. }
  728. })
  729. }
  730. // #endif
  731. uni.navigateTo({
  732. url: '/my/renzheng/index'
  733. })
  734. },
  735. navgo(e) {
  736. // #ifdef MP-WEIXIN
  737. if (uni.getStorageSync('sendMsg')) {
  738. uni.requestSubscribeMessage({
  739. tmplIds: this.arr,
  740. success(re) {
  741. // console.log(re,'**********')
  742. var datas = JSON.stringify(re);
  743. if (datas.indexOf("accept") != -1) {
  744. console.log(re)
  745. }
  746. },
  747. fail: (res) => {
  748. console.log(res)
  749. }
  750. })
  751. }
  752. // #endif
  753. let that = this
  754. if (that.token) {
  755. uni.navigateTo({
  756. url: e
  757. })
  758. } else {
  759. uni.navigateTo({
  760. url: '/pages/login/login'
  761. })
  762. }
  763. },
  764. binduser() {
  765. // #ifdef MP-WEIXIN
  766. if (uni.getStorageSync('sendMsg')) {
  767. uni.requestSubscribeMessage({
  768. tmplIds: this.arr,
  769. success(re) {
  770. // console.log(re,'**********')
  771. var datas = JSON.stringify(re);
  772. if (datas.indexOf("accept") != -1) {
  773. console.log(re)
  774. }
  775. },
  776. fail: (res) => {
  777. console.log(res)
  778. }
  779. })
  780. }
  781. // #endif
  782. let token = this.$queue.getData('token');
  783. if (!token) {
  784. uni.navigateTo({
  785. url: '/pages/login/login'
  786. })
  787. return;
  788. }
  789. uni.navigateTo({
  790. url: '/pages/riderMy/userinfo'
  791. });
  792. },
  793. // 获取个人信息
  794. getUserInfo() {
  795. let userId = this.$queue.getData('userId');
  796. this.$Request.getT("/app/user/selectUserDetails?userId=" + userId).then(res => {
  797. if (res.code == 0) {
  798. if (res.data.isVip && res.data.isVip == 1) {
  799. this.getVipInfo()
  800. } else {
  801. this.vipEndTime = ''
  802. }
  803. this.$nextTick(function() {
  804. this.avatar = res.data.avatar ? res.data.avatar : '../../static/logo.png'
  805. uni.setStorageSync('avatar', res.data.avatar)
  806. this.nickName = res.data.nickName
  807. uni.setStorageSync('nickName', res.data.nickName)
  808. this.creditScore = res.data.creditScore
  809. uni.setStorageSync('zhiFuBao', res.data.zhiFuBao)
  810. uni.setStorageSync('zhiFuBaoName', res.data.zhiFuBaoName)
  811. // console.log(this.checkCertification, '实名认证')
  812. this.userId = res.data.userId
  813. uni.setStorageSync('userId', res.data.userId)
  814. if (res.data.onLineFlag != 2) {
  815. this.checked = true
  816. } else {
  817. this.checked = false
  818. }
  819. })
  820. } else {
  821. this.$queue.logout();
  822. uni.showModal({
  823. showCancel: false,
  824. title: '登录失败',
  825. content: res.msg,
  826. });
  827. }
  828. });
  829. this.$Request.getT('/app/driver/selectDriverByUserId?userId=' + userId).then(res => {
  830. if (res.code == 0 && res.data) {
  831. this.checkCertification = res.data.status
  832. this.checkCertificationMessage = res.data.auditContent
  833. uni.setStorageSync('checkCertification', res.data.status)
  834. uni.setStorageSync('driverId', res.data.driverId)
  835. }
  836. })
  837. },
  838. // 今日收入、订单量
  839. shouru() {
  840. this.$Request.getT('/app/orders/findIncome').then(res => {
  841. if (res.code == 0) {
  842. // this.daySr = res.data.income
  843. // this.orders = res.data.indentCount
  844. this.indent = res.data
  845. }
  846. console.log('res', res)
  847. });
  848. },
  849. // 跳转去登录
  850. goLogin() {
  851. // this.$queue.setData('href', '/pages/my/index');
  852. uni.navigateTo({
  853. url: '/pages/login/login'
  854. });
  855. },
  856. //退出登录
  857. TuiLogin() {
  858. let that = this
  859. if (that.userId) {
  860. uni.showModal({
  861. title: '提示',
  862. content: '确认退出登录吗?',
  863. success: function(res) {
  864. if (res.confirm) {
  865. uni.removeStorageSync('userId')
  866. uni.removeStorageSync('token')
  867. uni.removeStorageSync('avatar')
  868. uni.removeStorageSync('nickName')
  869. uni.removeStorageSync('phone')
  870. uni.removeStorageSync('invitationCode')
  871. uni.removeStorageSync('inviterCode')
  872. uni.removeStorageSync('platform')
  873. uni.removeStorageSync('sex')
  874. uni.removeStorageSync('zhiFuBao')
  875. uni.removeStorageSync('zhiFuBaoName')
  876. uni.removeStorageSync('checkCertification')
  877. // uni.navigateBack()
  878. uni.redirectTo({
  879. url: '/pages/index/index'
  880. })
  881. } else if (res.cancel) {
  882. console.log('用户点击取消');
  883. }
  884. }
  885. });
  886. } else {
  887. uni.showModal({
  888. title: '提示',
  889. content: '您还未登录,请先登录',
  890. success: function(res) {
  891. if (res.confirm) {
  892. console.log('用户点击确定');
  893. uni.navigateTo({
  894. url: '/pages/login/login'
  895. })
  896. } else if (res.cancel) {
  897. console.log('用户点击取消');
  898. }
  899. }
  900. })
  901. }
  902. },
  903. // 开启订阅消息
  904. openMsg() {
  905. console.log('订阅消息')
  906. var that = this
  907. uni.getSetting({
  908. withSubscriptions: true, //是否获取用户订阅消息的订阅状态,默认false不返回
  909. success(ret) {
  910. console.log(ret.subscriptionsSetting, '------------------')
  911. // if (ret.subscriptionsSetting.itemSettings && Object.keys(ret.subscriptionsSetting.itemSettings).length == 2) {
  912. if (ret.subscriptionsSetting.itemSettings) {
  913. uni.setStorageSync('sendMsg', true)
  914. uni.openSetting({ // 打开设置页
  915. success(rea) {
  916. console.log(rea.authSetting)
  917. }
  918. });
  919. } else { // 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
  920. console.log(99999)
  921. uni.setStorageSync('sendMsg', false)
  922. uni.showModal({
  923. title: '提示',
  924. content: '为了更好的体验,请绑定消息推送',
  925. confirmText: '确定',
  926. cancelText: '取消',
  927. success: function(res) {
  928. if (res.confirm) {
  929. console.log(that.arr)
  930. wx.requestSubscribeMessage({
  931. tmplIds: that.arr,
  932. success(re) {
  933. console.log(JSON.stringify(re),
  934. '++++++++++++++')
  935. var datas = JSON.stringify(re);
  936. if (datas.indexOf("accept") != -1) {
  937. console.log(re)
  938. // uni.setStorageSync('sendMsg', true)
  939. }
  940. },
  941. fail: (res) => {
  942. console.log(res)
  943. }
  944. })
  945. // uni.setStorageSync('sendMsg', true)
  946. console.log('确认')
  947. that.showModal1 = false
  948. } else if (res.cancel) {
  949. console.log('取消')
  950. // uni.setStorageSync('sendMsg', false)
  951. that.showModal1 = true
  952. }
  953. }
  954. })
  955. }
  956. }
  957. })
  958. }
  959. }
  960. }
  961. </script>
  962. <style lang="scss">
  963. ::v-deep .u-title {
  964. color: #000000 !important;
  965. }
  966. ::v-deep .u-navbar-fixed {
  967. background: none !important;
  968. }
  969. page {
  970. background: #F5F5F5;
  971. }
  972. .vip {
  973. width: 100%;
  974. height: 110rpx;
  975. position: relative;
  976. margin-bottom: 20rpx;
  977. .vip-box {
  978. width: 700rpx;
  979. height: 100%;
  980. background: linear-gradient(to right, #ebd6a6, #f3e0c0);
  981. border-radius: 24rpx;
  982. padding: 0 30rpx;
  983. }
  984. .vip-box-l {
  985. color: #8b4a24;
  986. font-size: 30rpx;
  987. font-weight: 500;
  988. image {
  989. width: 40rpx;
  990. margin-right: 10rpx;
  991. }
  992. }
  993. .vip-box-r {
  994. color: #8b4a24;
  995. font-size: 26rpx;
  996. font-weight: 500;
  997. }
  998. }
  999. .weinumber {
  1000. width: 30upx;
  1001. height: 30upx;
  1002. background: red;
  1003. color: #fff;
  1004. display: flex;
  1005. align-items: center;
  1006. justify-content: center;
  1007. font-size: 24rpx;
  1008. border-radius: 35upx;
  1009. position: absolute;
  1010. top: 0upx;
  1011. right: 10upx;
  1012. z-index: 99;
  1013. }
  1014. .showQrcode-title {
  1015. width: 100%;
  1016. text-align: center;
  1017. font-size: 34rpx;
  1018. font-weight: bold;
  1019. margin-top: 24rpx;
  1020. }
  1021. .showQrcode-img {
  1022. width: 500rpx;
  1023. height: 500rpx;
  1024. margin: 30rpx auto;
  1025. margin-bottom: 40rpx;
  1026. image {
  1027. width: 100%;
  1028. height: 100%;
  1029. border-radius: 10rpx;
  1030. }
  1031. }
  1032. .headtop {
  1033. background: linear-gradient(0deg, #c7ffef 0%, #32d0a3 100%);
  1034. height: 400rpx;
  1035. // position: fixed;
  1036. // /* #ifdef H5 */
  1037. // top: 0rpx;
  1038. // padding-top: 30rpx;
  1039. // /* #endif */
  1040. // /* #ifndef H5 */
  1041. // top: 0rpx;
  1042. // /* #endif */
  1043. // left: 0;
  1044. // right: 0;
  1045. // z-index: 0;
  1046. }
  1047. /* 顶部 */
  1048. .header {
  1049. width: 100%;
  1050. height: 100%;
  1051. display: flex;
  1052. align-items: center;
  1053. /* #ifndef H5 */
  1054. // margin-top: 60rpx;
  1055. /* #endif */
  1056. }
  1057. .head_image {
  1058. flex: 1;
  1059. display: flex;
  1060. justify-content: center;
  1061. align-items: center;
  1062. }
  1063. .head_image image {
  1064. width: 90rpx;
  1065. height: 90rpx;
  1066. }
  1067. .head_name {
  1068. flex: 4;
  1069. position: relative;
  1070. font-size: 36rpx;
  1071. font-weight: bold;
  1072. color: #333333;
  1073. }
  1074. .qrCodeImg {
  1075. width: 60rpx;
  1076. height: 60rpx;
  1077. margin-right: 30rpx;
  1078. image {
  1079. width: 100%;
  1080. height: 100%;
  1081. border-radius: 50%;
  1082. }
  1083. }
  1084. .approve {
  1085. font-size: 24rpx;
  1086. font-weight: 500;
  1087. }
  1088. /* 用户信息 */
  1089. .shouru {
  1090. border-radius: 24rpx;
  1091. overflow: hidden;
  1092. width: 93%;
  1093. margin: 0 auto;
  1094. background: #ffffff;
  1095. position: relative;
  1096. z-index: 99;
  1097. }
  1098. .user_box {
  1099. display: flex;
  1100. height: 210rpx;
  1101. padding: 0 20rpx 0 30rpx;
  1102. }
  1103. .box {
  1104. flex: 1;
  1105. /* margin-left: 40rpx; */
  1106. margin-top: 40rpx;
  1107. }
  1108. .user_price {
  1109. font-size: 44rpx;
  1110. margin-top: 10rpx;
  1111. }
  1112. .user_price text {
  1113. font-size: 21rpx;
  1114. margin-left: 10rpx;
  1115. }
  1116. .user_tit {
  1117. color: #B3B3B3;
  1118. font-size: 21rpx;
  1119. margin-top: 10rpx;
  1120. }
  1121. ::v-deep .u-section__title {
  1122. font-weight: 500 !important;
  1123. color: #333333 !important;
  1124. font-size: 14px !important;
  1125. padding-left: 10px;
  1126. }
  1127. /* 我的列表 */
  1128. .mylist {
  1129. // width: 93%;
  1130. // margin: 0 auto;
  1131. margin: 30rpx;
  1132. background-color: #FFFFFF;
  1133. border-radius: 23rpx;
  1134. padding: 30rpx 0rpx;
  1135. position: relative;
  1136. z-index: 99;
  1137. }
  1138. .mylist_title {
  1139. font-family: PingFang SC;
  1140. font-weight: bold;
  1141. font-size: 32rpx;
  1142. color: #333333;
  1143. margin: 10rpx 0rpx 20rpx;
  1144. }
  1145. .list_box {
  1146. /* width: 90%; */
  1147. /* margin: 0 auto; */
  1148. // height: 95rpx;
  1149. width: 25%;
  1150. text-align: center;
  1151. margin-top: 20rpx;
  1152. margin-bottom: 20rpx;
  1153. }
  1154. .list_left {
  1155. flex: 1;
  1156. display: flex;
  1157. justify-content: left;
  1158. align-items: center;
  1159. }
  1160. .list_img {
  1161. width: 56rpx;
  1162. height: 56rpx;
  1163. // margin-right: 18rpx;
  1164. }
  1165. .list_name {
  1166. font-size: 25rpx;
  1167. letter-spacing: 2rpx;
  1168. }
  1169. .list_right {
  1170. width: 12rpx;
  1171. height: 20rpx;
  1172. }
  1173. .user_name {
  1174. display: flex;
  1175. align-items: center;
  1176. }
  1177. </style>