my.vue 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017
  1. <template>
  2. <view class="my-page">
  3. <!-- 自定义导航栏 -->
  4. <view class="custom-navbar" :style="{ paddingTop: statusBarHeight + 'px' }">
  5. <view class="navbar-content">
  6. <view class="back-btn">
  7. <!-- <image src="@/static/icons/back.png" class="back-icon"></image> -->
  8. </view>
  9. <view class="title">我的</view>
  10. </view>
  11. </view>
  12. <!-- 页面内容 -->
  13. <view class="page-content">
  14. <view>
  15. <view class="head" style="background: linear-gradient(to bottom, #ffb289, #fff); padding-top: 30rpx;position: relative;">
  16. <view class="flex align-center justify-between padding-lr">
  17. <view class="flex align-center justify-center" @tap="binduser()">
  18. <image :src="image_url" style="width: 100rpx;height: 100rpx;border-radius: 100rpx;"></image>
  19. <view>
  20. <view class="text-lg text-bold margin-left-sm">{{ mobile ? mobile : '登录' }} <text style="background: #f56c6c; margin-left: 20rpx; font-size: 24rpx; padding: 10rpx 20rpx;border-radius: 30rpx;font-weight: 200;color: #fff;">未实名</text></view>
  21. <view style="padding: 15rpx 15rpx;display: flex; line-height: 50rpx;">
  22. <u-rate :allow-half="false" :disabled="true" active-color="#fe6b01" :is-fill="false" :value="3.5" style="margin-right: 15rpx;" /> <text>信用分: 86</text>
  23. </view>
  24. <view class="text-sm margin-left-sm margin-top-xs" style="font-weight: 200;color: #fff;"
  25. v-if="mobile">
  26. <text style="background: #fe6b01; padding: 10rpx 20rpx;border-radius: 30rpx;">ID: {{userId}}</text>
  27. </view>
  28. </view>
  29. </view>
  30. <view style="position: absolute;top: 32rpx; right: 75rpx; height: 100%;" v-if="mobile">
  31. <image @click="goNav('/my/setting/message')" v-if="globalImages" :src="globalImages + 'images/my/msg.png'"
  32. style="width: 44rpx;height: 43rpx;margin-right: 20rpx;" mode=""></image>
  33. <view class="weinumber" style="right: 0rpx; top: -10rpx;" v-if="xxCount">{{xxCount}}</view>
  34. </view>
  35. <view style="position: absolute;top: 32rpx; right: 5rpx; height: 100%;" v-if="mobile">
  36. <image @click="goNav('/my/setting/message')" v-if="globalImages" :src="globalImages + 'images/my/shezhi.png'"
  37. style="width: 44rpx;height: 43rpx;margin-right: 20rpx;" mode=""></image>
  38. <view class="weinumber" style="right: 0rpx; top: -10rpx;" v-if="xxCount">{{xxCount}}</view>
  39. </view>
  40. </view>
  41. <!-- <view class="vip">
  42. <view class="flex align-center">
  43. <image src="../../static/image/my/huiyuan.png" style="width: 66rpx;height: 60rpx;"></image>
  44. <view class="text-bold margin-left-xs" style="color: #512C19;font-size: 30rox;">钻石会员卡享3大权益</view>
  45. </view>
  46. <view class="flex align-center" @click="goNav('/my/vip/index')">
  47. <view class="margin-right-xs">立即开通</view>
  48. <image src="../../static/image/my/vipright.png" style="width: 11rpx;height: 20rpx;"></image>
  49. </view>
  50. </view> -->
  51. <!-- v-if="xcxSelect!='否'" -->
  52. <view class="tabbox margin-top">
  53. <view class="leftbox" @click="goNav('/my/wallet/index')">
  54. <view>我的钱包</view>
  55. <view class="tit">余额:¥{{money?money:'0'}}</view>
  56. <view class="image">
  57. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/money.png'" style="width: 139rpx;height: 124rpx;"></image>
  58. </view>
  59. </view>
  60. <view class="rightbox" @click="goNav('/my/youhui/index')">
  61. <view>我的优惠券</view>
  62. <view class="tit">{{couponCount?couponCount:'0'}}张优惠券</view>
  63. <view class="image">
  64. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/youhui.png'" style="width: 140rpx;height:96rpx;"></image>
  65. </view>
  66. </view>
  67. </view>
  68. </view>
  69. <!-- 列表 -->
  70. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  71. <view class="flex justify-between align-center padding-lr-sm">
  72. <view class="text-lg text-bold text-black">我的订单</view>
  73. <!-- <text>立即查看</text> -->
  74. <!-- <view class="flex text-gray" @click="goSwt(0)">
  75. <u-icon name="arrow-right" width='11rpx' height='18rpx' color="#1A1A1A"></u-icon>
  76. </view> -->
  77. </view>
  78. <view class="margin-tb"></view>
  79. <view class="flex justify-around">
  80. <view class="text-center" @click="goSwt(2)" style="position: relative;">
  81. <image v-if="globalImages" :src="globalImages + 'images/my/order1.png'" style="width: 52rpx;height: 52rpx;" mode=""></image>
  82. <view class="text-sm">待接单</view>
  83. <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view>
  84. </view>
  85. <view class="text-center" @click="goSwt(3)" style="position: relative;">
  86. <image v-if="globalImages" :src="globalImages + 'images/my/order2.png'" style="width: 52rpx;height: 52rpx;" mode=""></image>
  87. <view class="text-sm">已接单</view>
  88. <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view>
  89. </view>
  90. <view class="text-center" @click="goSwt(4)" style="position: relative;">
  91. <image v-if="globalImages" :src="globalImages + 'images/my/order3.png'" style="width: 52rpx;height: 52rpx;" 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" @click="goSwt(1)" style="position: relative;">
  96. <image v-if="globalImages" :src="globalImages + 'images/my/order4.png'" style="width: 52rpx;height: 52rpx;" 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" @click="goSwt(5)">
  101. <image v-if="globalImages" :src="globalImages + 'images/my/order5.png'" style="width: 52rpx;height: 52rpx;" mode=""></image>
  102. <view class="text-sm">已完成</view>
  103. </view>
  104. </view>
  105. </view>
  106. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  107. <view class="flex justify-between align-center padding-lr-sm">
  108. <view class="text-lg text-bold text-black">常用功能</view>
  109. </view>
  110. <view class="flex flex-wrap margin-top-sm">
  111. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/realName/authentication')">
  112. <image v-if="globalImages" :src="globalImages + 'images/my/shiming.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  113. <view class="text-sm">实名认证</view>
  114. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  115. </view>
  116. <!-- <view class="text-center margin-tb-sm" style="width: 25%;">
  117. <image v-if="globalImages" :src="globalImages + 'images/my/fuli.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  118. <view class="text-sm">我的福利</view>
  119. <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view>
  120. </view> -->
  121. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/pages/my/invitationUser')">
  122. <image v-if="globalImages" :src="globalImages + 'images/my/yaoqing.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  123. <view class="text-sm">邀请好友</view>
  124. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  125. </view>
  126. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/setting/index')">
  127. <image v-if="globalImages" :src="globalImages + 'images/my/shezhis.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  128. <view class="text-sm">设置</view>
  129. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  130. </view>
  131. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/classes/PassengerList')">
  132. <image v-if="globalImages" :src="globalImages + 'images/my/chengcheren.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  133. <view class="text-sm">乘车人</view>
  134. </view>
  135. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/exchange/shoppingMall')">
  136. <image v-if="globalImages" :src="globalImages + 'images/my/duihuan.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  137. <view class="text-sm">兑换商城</view>
  138. </view>
  139. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/echarts/setting/xyf')">
  140. <image v-if="globalImages" :src="globalImages + 'images/my/xinyong.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  141. <view class="text-sm">信用分明细</view>
  142. </view>
  143. <view class="text-center margin-tb-sm" style="width: 25%;" v-if="mobile" @click="goNav('/my/setting/message')">
  144. <image v-if="globalImages" :src="globalImages + 'images/my/xiaoxi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  145. <view class="text-sm">消息中心</view>
  146. <view class="weinumber" style="right: 0rpx; top: -10rpx;" v-if="xxCount">{{xxCount}}</view>
  147. </view>
  148. </view>
  149. </view>
  150. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  151. <view class="flex justify-between align-center padding-lr-sm">
  152. <view class="text-lg text-bold text-black">安全服务</view>
  153. </view>
  154. <view class="flex flex-wrap margin-top-sm">
  155. <view class="text-center margin-tb-sm" style="width: 25%;">
  156. <image v-if="globalImages" :src="globalImages + 'images/my/anqvans.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  157. <view class="text-sm">安全中心</view>
  158. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  159. </view>
  160. <view class="text-center margin-tb-sm" style="width: 25%;">
  161. <image v-if="globalImages" :src="globalImages + 'images/my/xvzhi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  162. <view class="text-sm">安全须知</view>
  163. <!-- <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view> -->
  164. </view>
  165. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/setting/index')">
  166. <image v-if="globalImages" :src="globalImages + 'images/my/jinji.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  167. <view class="text-sm">紧急联系人</view>
  168. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  169. </view>
  170. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/setting/LostandFound')">
  171. <image v-if="globalImages" :src="globalImages + 'images/my/shiwu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  172. <view class="text-sm">失物招领</view>
  173. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  174. </view>
  175. </view>
  176. </view>
  177. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  178. <view class="flex justify-between align-center padding-lr-sm">
  179. <view class="text-lg text-bold text-black">出行服务</view>
  180. </view>
  181. <view class="flex flex-wrap margin-top-sm">
  182. <view class="text-center margin-tb-sm" style="width: 25%;">
  183. <image v-if="globalImages" :src="globalImages + 'images/my/zhinan.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  184. <view class="text-sm">使用指南</view>
  185. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  186. </view>
  187. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/help/trainingList')">
  188. <image v-if="globalImages" :src="globalImages + 'images/my/wenda.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  189. <view class="text-sm">常见问答</view>
  190. <!-- <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view> -->
  191. </view>
  192. <view class="text-center margin-tb-sm" style="width: 25%;" @click="changekefu">
  193. <image v-if="globalImages" :src="globalImages + 'images/my/dianhua.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  194. <view class="text-sm">客服电话</view>
  195. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  196. </view>
  197. <!-- <view class="text-center margin-tb-sm" style="width: 25%;">
  198. <image v-if="globalImages" :src="globalImages + 'images/my/shoucang.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  199. <view class="text-sm">我的收藏</view>
  200. <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view>
  201. </view> -->
  202. </view>
  203. </view>
  204. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  205. <view class="flex justify-between align-center padding-lr-sm">
  206. <view class="text-lg text-bold text-black">合作加盟</view>
  207. </view>
  208. <view class="flex flex-wrap margin-top-sm">
  209. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/setting/recruit')">
  210. <image v-if="globalImages" :src="globalImages + 'images/my/zhaomu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  211. <view class="text-sm">招募车主</view>
  212. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  213. </view>
  214. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goRider()">
  215. <image v-if="globalImages" :src="globalImages + 'images/my/chengwei.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  216. <view class="text-sm">成为车主</view>
  217. <!-- <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view> -->
  218. </view>
  219. </view>
  220. </view>
  221. <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  222. <view class="flex justify-between align-center padding-lr-sm">
  223. <view class="text-lg text-bold text-black">关于顺风车</view>
  224. </view>
  225. <view class="flex flex-wrap margin-top-sm">
  226. <view class="text-center margin-tb-sm" style="width: 25%;">
  227. <image v-if="globalImages" :src="globalImages + 'images/my/guanyu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  228. <view class="text-sm">关于我们</view>
  229. <!-- <view class="weinumber" v-if="order&&order.djdOrders">{{order.djdOrders}}</view> -->
  230. </view>
  231. <view class="text-center margin-tb-sm" style="width: 25%;" @click="bindTo('/my/setting/xieyi')">
  232. <image v-if="globalImages" :src="globalImages + 'images/my/fuwu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  233. <view class="text-sm">服务协议</view>
  234. <!-- <view class="weinumber" v-if="order&&order.yjdOrders">{{order.yjdOrders}}</view> -->
  235. </view>
  236. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/feedback/feedback')"
  237. v-if="xcxSelect!='否'">
  238. <image v-if="globalImages" :src="globalImages + 'images/my/yijian.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  239. <view class="text-sm">意见反馈</view>
  240. <!-- <view class="weinumber" v-if="order&&order.jxzOrders">{{order.jxzOrders}}</view> -->
  241. </view>
  242. <view class="text-center margin-tb-sm" style="width: 25%;" @click="bindTo('/my/setting/logOff')">
  243. <image v-if="globalImages" :src="globalImages + 'images/my/zhuxiao.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  244. <view class="text-sm">注销账号</view>
  245. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  246. </view>
  247. <view class="text-center margin-tb-sm" style="width: 25%;" @click="bindOut()">
  248. <image v-if="globalImages" :src="globalImages + 'images/my/zhuxiao.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  249. <view class="text-sm">退出登录</view>
  250. <!-- <view class="weinumber" v-if="order&&order.dzfOrders">{{order.dzfOrders}}</view> -->
  251. </view>
  252. </view>
  253. </view>
  254. <!-- <view class="margin padding-tb bg-white " style="border-radius: 24rpx;">
  255. <view class="flex justify-between align-center padding-lr-sm">
  256. <view class="text-lg text-bold text-black">推荐工具</view>
  257. </view>
  258. <view class="flex flex-wrap margin-top-sm">
  259. <view class="text-center margin-tb-sm" style="width: 25%;" @click="changekefu">
  260. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/kefu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  261. <view class="text-sm">客服中心</view>
  262. </view>
  263. <view class="text-center margin-tb-sm" style="width: 25%;"
  264. @click="divideScale!=null && divideScale!=0?goNav('/pageA/extension/team'):goNav('/pageA/extension/extension')">
  265. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/fx.png'" style="width: 46rpx;height: 46rpx;" mode=""></image>
  266. <view class="text-sm">我的分销</view>
  267. </view>
  268. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goRider()">
  269. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/ruzhu.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  270. <view class="text-sm">司机入驻</view>
  271. </view>
  272. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/pages/my/invitationUser')">
  273. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/share.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  274. <view class="text-sm ">分享好友</view>
  275. </view>
  276. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/echarts/setting/xyf')">
  277. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/xyf.png'" style="width: 46rpx;height: 46rpx;" mode=""></image>
  278. <view class="text-sm">信用分明细</view>
  279. </view> -->
  280. <!-- #ifndef H5 -->
  281. <!-- <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/setting/jinji')">
  282. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/jg.png'" style="width: 46rpx;height: 46rpx;" mode=""></image>
  283. <view class="text-sm">紧急报警</view>
  284. </view> -->
  285. <!-- #endif -->
  286. <!-- v-if="xcxSelect!='否'" -->
  287. <!-- <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/pageA/extension/team')"
  288. >
  289. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/team.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  290. <view class="text-sm" style="margin-top: 2rpx;">我的团队</view>
  291. </view> -->
  292. <!-- v-if="FPxcxSelect!='否'" -->
  293. <!-- <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/pageA/invoice/invoice')"
  294. >
  295. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/fapiao.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  296. <view class="text-sm">申请发票</view>
  297. </view>
  298. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/help/trainingList')">
  299. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/yijian.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  300. <view class="text-sm">帮助中心</view>
  301. </view> -->
  302. <!-- v-if="xcxSelect!='否'" -->
  303. <!-- <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/feedback/feedback')"
  304. >
  305. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/help.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  306. <view class="text-sm">意见反馈</view>
  307. </view>
  308. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/my/setting/index')">
  309. <image v-if="globalImages" :src="globalImages + 'images/static/image/my/set.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  310. <view class="text-sm">系统设置</view>
  311. </view>
  312. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/pageA/attract/attract')"> -->
  313. <!-- <image src="../../static/image/my/5.png" style="width: 55rpx;height: 55rpx;" mode=""></image> -->
  314. <!-- <view class="text-sm">成为代理商</view>
  315. </view>
  316. <view class="text-center margin-tb-sm" style="width: 25%;" @click="goNav('/pageA/address/address')"> -->
  317. <!-- <image src="../../static/image/my/9.png" style="width: 55rpx;height: 55rpx;" mode=""></image> -->
  318. <!-- <view class="text-sm">地址管理</view>
  319. </view>
  320. </view>
  321. </view> -->
  322. <view class="margin" v-if="divideScale==0" @click="goNav(bgurl)">
  323. <image :src="bgImg" mode="scaleToFill" style="width:100%;height:246upx;"></image>
  324. </view>
  325. </view>
  326. </view>
  327. </view>
  328. </template>
  329. <script>
  330. import { waitForGlobalImages } from '@/utils/globalImageLoader'
  331. export default {
  332. data() {
  333. return {
  334. xxCount: 0,
  335. userId: '',
  336. divideScale: '',
  337. image_url: '../../static/image/logo.png',
  338. mobile: '',
  339. checkCertification: -1,
  340. arr: [],
  341. showModal: true,
  342. xcxSelect: '是',
  343. tuiguang: '',
  344. tuiguangImg: '',
  345. appID: '',
  346. bgImg: '',
  347. bgurl: '',
  348. order: [], //订单角标
  349. timer: '',
  350. isLogin: false,
  351. couponCount: 0,
  352. money: 0,
  353. checkCertification: 0,
  354. creditScore: 0,
  355. FPxcxSelect: '否',
  356. statusBarHeight: 20, // 默认状态栏高度
  357. globalImages: ''
  358. }
  359. },
  360. onLoad() {
  361. waitForGlobalImages().then((path) => {
  362. console.log('✅ 全局图片路径:', path)
  363. this.globalImages = path
  364. })
  365. const sysInfo = uni.getSystemInfoSync();
  366. this.statusBarHeight = sysInfo.statusBarHeight || 20;
  367. this.xcxSelect = uni.getStorageSync('xcxSelect')
  368. // this.$Request.getT('/app/common/type/310').then(res => { // 我的页面活动图片 310
  369. // if (res.code === 0) {
  370. // this.bgImg = res.data.value;
  371. // }
  372. // });
  373. // this.$Request.getT('/app/common/type/311').then(res => { // 我的页面活动跳转地址 311
  374. // if (res.code === 0) {
  375. // this.bgurl = res.data.value;
  376. // }
  377. // });
  378. // let token = this.$queue.getData("token");
  379. // if (token) {
  380. this.getZiZhi()
  381. this.$Request.getT('/app/common/type/248').then(res => { //跑腿师傅端微信小程序APPID 248
  382. if (res.code === 0) {
  383. this.appID = res.data.value;
  384. }
  385. });
  386. this.$Request.getT('/app/common/type/22').then(res => { //师傅端域名配置 22
  387. if (res.code === 0 && res.data && res.data.value) {
  388. this.url = res.data.value;
  389. }
  390. });
  391. // this.timer = setInterval(() => {
  392. // }, 3000);
  393. // }
  394. },
  395. onHide() {
  396. // clearInterval(this.timer)
  397. },
  398. onShow() {
  399. this.$Request.getT('/app/common/type/427').then(res => { //订单状态通知 427
  400. if (res.code == 0) {
  401. if (res.data && res.data.value) {
  402. this.arr.push(res.data.value)
  403. }
  404. }
  405. })
  406. this.FPxcxSelect = this.$queue.getData('FPxcxSelect')
  407. let token = this.$queue.getData("token");
  408. if (token) {
  409. this.isLogin = true
  410. this.getXXDetailNum();
  411. this.getUserInfo();
  412. this.ordernumber() //订单角标
  413. if (this.showModal) {
  414. // #ifdef MP-WEIXIN
  415. this.openMsg()
  416. // #endif
  417. }
  418. } else {
  419. this.xxCount = 0;
  420. this.image_url = '../../static/image/logo.png';
  421. this.mobile = '';
  422. this.userId = '';
  423. this.order = []
  424. this.couponCount = 0
  425. this.money = 0
  426. this.isLogin = false
  427. this.checkCertification = 0
  428. this.creditScore = 0
  429. }
  430. },
  431. onShareAppMessage(res) { //发送给朋友
  432. return {
  433. title: this.tuiguang,
  434. path: '/pages/index/index',
  435. imageUrl: this.tuiguangImg,
  436. }
  437. },
  438. onShareTimeline(res) { //分享到朋友圈
  439. return {
  440. title: this.tuiguang,
  441. path: '/pages/index/index',
  442. imageUrl: this.tuiguangImg,
  443. }
  444. },
  445. methods: {
  446. // 退出登录
  447. bindOut() {
  448. uni.showModal({
  449. title: '退出登录',
  450. content: '是否退出登录',
  451. success: function(res) {
  452. if (res.confirm) {
  453. uni.setStorageSync('weixinPhone', false)
  454. uni.removeStorageSync('sendDataList')
  455. uni.removeStorageSync('sessionkey')
  456. uni.removeStorageSync("image_url")
  457. uni.removeStorageSync("userId")
  458. uni.removeStorageSync("status")
  459. uni.removeStorageSync("nickName")
  460. uni.removeStorageSync("token")
  461. uni.removeStorageSync("mobile")
  462. // uni.showModal({
  463. // showCancel: false,
  464. // title: '退出登录',
  465. // content: res.msg,
  466. // });
  467. uni.navigateBack()
  468. // uni.navigateBack({
  469. // success: () => {
  470. // let page = getCurrentPages().pop(); //跳转页面成功之后
  471. // if (page) {
  472. // let e = {};
  473. // page.onShow(); //执行上个页面的方法
  474. // };
  475. // }
  476. // })
  477. // console.log('用户点击确定');
  478. } else if (res.cancel) {
  479. console.log('用户点击取消');
  480. }
  481. }
  482. });
  483. },
  484. // 用户注销 协议
  485. bindTo(name) {
  486. let token = this.$queue.getData("token");
  487. if (token) {
  488. uni.navigateTo({
  489. url: name
  490. })
  491. }
  492. },
  493. getXXDetailNum() {
  494. this.$Request.getT('/app/message/getUserMessageCount').then(res => {
  495. if (res.code == 0) {
  496. this.xxCount = res.data ? res.data : 0;
  497. }
  498. });
  499. },
  500. // 开启订阅消息
  501. openMsg() {
  502. var that = this
  503. wx.getSetting({
  504. withSubscriptions: true, //是否获取用户订阅消息的订阅状态,默认false不返回
  505. success(ret) {
  506. if (ret.subscriptionsSetting.itemSettings) {
  507. uni.setStorageSync('sendorderMsg', true)
  508. uni.openSetting({ // 打开设置页
  509. success(rea) {
  510. console.log(rea.authSetting)
  511. }
  512. });
  513. } else { // 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
  514. uni.setStorageSync('sendorderMsg', false)
  515. uni.showModal({
  516. title: '提示',
  517. content: '为了更好的体验,请绑定消息推送',
  518. confirmText: '确定',
  519. cancelText: '取消',
  520. success: function(res) {
  521. if (res.confirm) {
  522. uni.requestSubscribeMessage({
  523. tmplIds: that.arr,
  524. success(re) {
  525. var datas = JSON.stringify(re);
  526. if (datas.indexOf("accept") != -1) {
  527. console.log(re)
  528. }
  529. },
  530. fail: (res) => {
  531. console.log(res)
  532. }
  533. })
  534. that.showModal = false
  535. } else if (res.cancel) {
  536. that.showModal = true
  537. }
  538. }
  539. })
  540. }
  541. }
  542. })
  543. },
  544. ordernumber() {
  545. this.$Request.getT('/app/orders/getOrderSubscript').then(res => {
  546. if (res.code === 0) {
  547. // djdOrders: 0
  548. // dzfOrders: 0
  549. // jxzOrders: 0
  550. // yddOrders: 0
  551. // yjdOrders: 0
  552. // yqxOrders: 0
  553. //状态 1待支付 2待接单 3已接单 4进行中 5已抵达 6已取消
  554. this.order = res.data
  555. }
  556. uni.hideLoading()
  557. });
  558. },
  559. //联系客服
  560. changekefu() {
  561. let kefu = this.$queue.getData('kefu'); // 用户端联系方式 1 手机号 2企业微信
  562. let kefuPhone = this.$queue.getData('kefuPhone');
  563. if (kefu == 1) {
  564. uni.makePhoneCall({
  565. phoneNumber: kefuPhone //仅为示例
  566. });
  567. } else if (kefu == 2) {
  568. // #ifdef MP-WEIXIN
  569. let that = this
  570. try {
  571. wx.openCustomerServiceChat({
  572. extInfo: {
  573. url: that.$queue.getData('kefuUrl')
  574. },
  575. corpId: that.$queue.getData('kefuAppId'),
  576. success(res) {},
  577. fail(res) {
  578. console.error(res)
  579. }
  580. })
  581. } catch (error) {
  582. console.error("catchcatch" + error)
  583. uni.showToast({
  584. title: '请更新至微信最新版本'
  585. });
  586. }
  587. // #endif
  588. // #ifndef MP-WEIXIN
  589. let url = this.$queue.getData('kefuUrl');
  590. if (url.indexOf('/pages/') !== -1 || url.indexOf('/pageA/') !== -1 || url.indexOf('/my/') !== -1) {
  591. uni.navigateTo({
  592. url
  593. });
  594. } else {
  595. //#ifndef H5
  596. uni.navigateTo({
  597. url: '/pages/index/webView?url=' + url
  598. });
  599. //#endif
  600. //#ifdef H5
  601. window.location.href = url;
  602. //#endif
  603. }
  604. // #endif
  605. } else if (kefu == 3) {
  606. uni.navigateTo({
  607. url: '/my/kefu/index'
  608. });
  609. }
  610. },
  611. // 分享文案和图片
  612. getZiZhi() {
  613. this.$Request.getT('/app/common/type/276').then(res => {
  614. if (res.code === 0) {
  615. this.tuiguang = res.data.value;
  616. }
  617. });
  618. this.$Request.getT('/app/common/type/277').then(res => {
  619. if (res.code === 0) {
  620. this.tuiguangImg = res.data.value;
  621. }
  622. });
  623. },
  624. goSwt(e) {
  625. uni.setStorageSync('current', e)
  626. setTimeout(function() {
  627. uni.switchTab({
  628. url: '/pages/order/order',
  629. })
  630. }, 10)
  631. },
  632. goRider() { //司机入驻
  633. let that = this
  634. let token = that.$queue.getData("token");
  635. if (token) {
  636. // #ifdef MP-WEIXIN
  637. uni.navigateToMiniProgram({
  638. appId: that.appID,
  639. path: '/pages/index/index',
  640. extraData: {
  641. 'data1': 'test'
  642. },
  643. success(res) {
  644. // 打开成功
  645. console.log("打开成功")
  646. }
  647. })
  648. // #endif
  649. // #ifdef H5
  650. window.location.href = that.url;
  651. // #endif
  652. // #ifdef APP
  653. plus.runtime.openURL(that.url);
  654. // #endif
  655. } else {
  656. that.bindlogin();
  657. }
  658. },
  659. goNav(url) {
  660. // #ifdef MP-WEIXIN
  661. if (uni.getStorageSync('sendorderMsg')) {
  662. uni.requestSubscribeMessage({
  663. tmplIds: this.arr,
  664. success(re) {
  665. // console.log(re,'**********')
  666. var datas = JSON.stringify(re);
  667. if (datas.indexOf("accept") != -1) {
  668. console.log(re)
  669. }
  670. },
  671. fail: (res) => {
  672. console.log(res)
  673. }
  674. })
  675. }
  676. // #endif
  677. let token = this.$queue.getData("token");
  678. if (token) {
  679. uni.navigateTo({
  680. url: url
  681. })
  682. } else {
  683. this.bindlogin();
  684. }
  685. },
  686. getUserInfo() {
  687. this.$Request.getT('/app/user/selectUserById').then(res => {
  688. console.log(res)
  689. if (res.code == 0) {
  690. if (parseInt(res.data.checkCertification)) {
  691. this.checkCertification = parseInt(res.data.checkCertification)
  692. } else {
  693. this.checkCertification = -1;
  694. }
  695. // this.money = res.data.money
  696. this.creditScore = res.data.creditScore
  697. this.userId = res.data.userId;
  698. this.$queue.setData("userId", res.data.userId);
  699. this.$queue.setData("mobile", res.data.phone);
  700. this.$queue.setData("invitationCode", res.data.invitationCode ? res.data.invitationCode :
  701. '0');
  702. this.$queue.setData("status", res.data.status);
  703. this.$queue.setData("nickName", res.data.nickName ? res.data.nickName : res
  704. .data.userName);
  705. this.image_url = res.data.avatar ? res.data.avatar : '../../static/image/logo.png';
  706. this.$queue.setData("image_url", this.image_url);
  707. this.mobile = res.data.nickName ? res.data.nickName : res.data.userName
  708. this.divideScale = res.data.divideScale
  709. }
  710. });
  711. this.$Request.getT('/app/couponUser/getMyCouponList?page=1&limit=10&status=0').then(res => {
  712. console.log(res)
  713. if (res.code === 0 && res.data) {
  714. this.couponCount = res.data.total
  715. }
  716. });
  717. this.$Request.getT('/app/userMoney/selectMyMoney').then(res => {
  718. if (res.code == 0) {
  719. if (res.data) {
  720. this.money = res.data.money
  721. }
  722. }
  723. });
  724. },
  725. bindlogin() {
  726. let token = this.$queue.getData("token");
  727. if (!token) {
  728. uni.navigateTo({
  729. url: './register'
  730. })
  731. }
  732. },
  733. bindapprove() {
  734. let token = this.$queue.getData("token");
  735. if (token) {
  736. uni.navigateTo({
  737. url: '/pages/my/approve/approve'
  738. })
  739. } else {
  740. this.bindlogin();
  741. }
  742. },
  743. binduser() {
  744. let token = this.$queue.getData('token');
  745. if (!token) {
  746. this.bindlogin();
  747. return;
  748. }
  749. uni.navigateTo({
  750. url: '/pages/my/userinfo'
  751. });
  752. },
  753. }
  754. }
  755. </script>
  756. <style lang="less">
  757. .my-page {
  758. height: 100%;
  759. background: #f5f5f5;
  760. }
  761. /* 自定义导航栏整体容器 */
  762. .custom-navbar {
  763. width: 100%;
  764. background: linear-gradient(to bottom, #f98e55, #ffb289);
  765. position: fixed;
  766. top: 0;
  767. left: 0;
  768. z-index: 999;
  769. }
  770. /* 导航栏内容区域 */
  771. .navbar-content {
  772. height: 88rpx;
  773. display: flex;
  774. align-items: center;
  775. justify-content: center;
  776. position: relative;
  777. }
  778. /* 返回按钮 */
  779. .back-btn {
  780. position: absolute;
  781. left: 32rpx;
  782. top: 0;
  783. bottom: 0;
  784. display: flex;
  785. align-items: center;
  786. }
  787. .back-icon {
  788. width: 48rpx;
  789. height: 48rpx;
  790. }
  791. /* 标题 */
  792. .title {
  793. font-size: 34rpx;
  794. color: #fff;
  795. font-weight: 500;
  796. }
  797. /* 页面内容要往下偏移导航栏高度 */
  798. .page-content {
  799. padding-top: calc(88rpx + 92rpx); /* 导航栏 + 状态栏 */
  800. }
  801. page {
  802. background: #F5F5F5;
  803. }
  804. .btn {
  805. font-size: 28upx;
  806. /* width: 95%; */
  807. text-align: center;
  808. background: #FFFFFF;
  809. margin-top: 6rpx;
  810. }
  811. .head {
  812. background: #ffffff;
  813. /* #ifdef H5 */
  814. padding-top: 50rpx;
  815. /* #endif */
  816. }
  817. .head_image image {
  818. width: 90rpx;
  819. height: 90rpx;
  820. }
  821. .head_name {
  822. flex: 4;
  823. position: relative;
  824. }
  825. .name {
  826. position: absolute;
  827. top: 75rpx;
  828. font-size: 32rpx;
  829. font-weight: bold;
  830. }
  831. .approve {
  832. position: absolute;
  833. top: 100rpx;
  834. font-size: 24rpx;
  835. color: #999999;
  836. }
  837. /* 列表 */
  838. .use_list {
  839. width: 100%;
  840. background: #ffffff;
  841. margin-top: 20rpx;
  842. }
  843. .list_box {
  844. width: 90%;
  845. margin: 0 auto;
  846. display: flex;
  847. height: 110rpx;
  848. }
  849. .box_left {
  850. flex: 1;
  851. display: flex;
  852. justify-content: left;
  853. align-items: center;
  854. }
  855. .box_right {
  856. flex: 1;
  857. display: flex;
  858. justify-content: flex-end;
  859. align-items: center;
  860. color: #808080;
  861. }
  862. .use_name {
  863. margin-left: 30rpx;
  864. font-size: 32rpx;
  865. }
  866. .use_image image {
  867. width: 50rpx;
  868. height: 50rpx;
  869. }
  870. .weinumber {
  871. width: 30upx;
  872. height: 30upx;
  873. background: red;
  874. color: #fff;
  875. display: flex;
  876. align-items: center;
  877. justify-content: center;
  878. font-size: 24rpx;
  879. border-radius: 35upx;
  880. position: absolute;
  881. top: 0upx;
  882. right: -10upx;
  883. z-index: 99;
  884. }
  885. .vip {
  886. margin: 50rpx 30rpx 30rpx;
  887. height: 110rpx;
  888. background: linear-gradient(95deg, #FFE9BC 0%, #F5D49A 99%);
  889. border-radius: 22rpx;
  890. padding: 0 30rpx;
  891. display: flex;
  892. align-items: center;
  893. justify-content: space-between;
  894. color: #512C19;
  895. }
  896. .tabbox {
  897. display: flex;
  898. justify-content: space-between;
  899. padding: 0rpx 30rpx 0rpx;
  900. .leftbox {
  901. width: 333rpx;
  902. height: 170rpx;
  903. background: #ffffff;
  904. border-radius: 24rpx;
  905. font-size: 32rpx;
  906. font-family: PingFang SC;
  907. font-weight: bold;
  908. // color: #346EF6;
  909. position: relative;
  910. padding: 30rpx 30rpx;
  911. .tit {
  912. font-size: 26rpx;
  913. font-family: PingFang SC;
  914. font-weight: 400;
  915. // color: #346EF6;
  916. margin-top: 17rpx;
  917. position: relative;
  918. z-index: 999;
  919. }
  920. .image {
  921. position: absolute;
  922. bottom: 9rpx;
  923. right: 0;
  924. z-index: 9;
  925. }
  926. }
  927. .rightbox {
  928. width: 333rpx;
  929. height: 170rpx;
  930. background: #fff;
  931. border-radius: 24rpx;
  932. font-size: 32rpx;
  933. font-family: PingFang SC;
  934. font-weight: bold;
  935. // color: #FF6956;
  936. position: relative;
  937. padding: 30rpx 30rpx;
  938. .tit {
  939. font-size: 26rpx;
  940. font-family: PingFang SC;
  941. font-weight: 400;
  942. // color: #FF6956;
  943. margin-top: 17rpx;
  944. }
  945. .image {
  946. position: absolute;
  947. bottom: 37rpx;
  948. right: 14rpx;
  949. z-index: 9;
  950. }
  951. }
  952. }
  953. </style>