index.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873
  1. <template>
  2. <view class="content">
  3. <!-- 我的 -->
  4. <image class="top-bg"
  5. src="https://ceres.zkthink.com/static/img/user/topBg.png"></image>
  6. <view class="page-content">
  7. <view class="user-info-box"
  8. @click="gologin"
  9. v-if="JSON.stringify(item) =='{}' ">
  10. <image class="user-image"
  11. src="https://ceres.zkthink.com/static/img/user/morentouxiang.png"
  12. mode="widthFix"></image>
  13. <view class="user-info">
  14. <view class="user-logoin-title">点击登录</view>
  15. <view class="user-logoin-lable">登录后享受更多权益~</view>
  16. </view>
  17. <image class="user-info-right"
  18. src="https://ceres.zkthink.com/static/img/user/back.png"></image>
  19. <view class="notice">
  20. <view class="messNum"
  21. v-if="useritem.notRead>0">{{ useritem.notRead }}
  22. </view>
  23. </view>
  24. </view>
  25. <view class="user-info-box"
  26. v-else>
  27. <image class="user-image"
  28. @click="goinfo"
  29. v-if="useritem.headImage"
  30. :src="useritem.headImage"
  31. mode="widthFix"
  32. style="border-radius: 50%;"></image>
  33. <image class="user-image"
  34. v-else
  35. src="https://ceres.zkthink.com/static/img/user/morentouxiang.png"
  36. mode="widthFix">
  37. </image>
  38. <view class="user-info">
  39. <view class="user-logoin-title"
  40. v-if="useritem.name">{{ useritem.name }}
  41. </view>
  42. <view class="experience flex-items"
  43. @click="goToMemberCenter">
  44. <label>成长值</label>
  45. <view class="experienceValue">{{ useritem.growth || 0 }} / {{ useritem.nextLevelGrowth || 0 }}</view>
  46. </view>
  47. </view>
  48. <view class="notice"
  49. @click="toMessage">
  50. <view class="messNum"
  51. v-if="useritem.notRead>0">{{ useritem.notRead > 99 ? '99+' : useritem.notRead }}
  52. </view>
  53. </view>
  54. </view>
  55. <view class="order-box">
  56. <view class="order-item"
  57. @click="orderTap(1)">
  58. <image class="order-item-image"
  59. src="https://ceres.zkthink.com/static/img/user/daifukuan1.png"
  60. mode="widthFix">
  61. </image>
  62. <view class="order-item-text">待付款</view>
  63. <view class="quan"
  64. v-if="useritem.waitPayOrderCount>0">
  65. {{ useritem.waitPayOrderCount }}
  66. </view>
  67. </view>
  68. <view class="order-item"
  69. @click="orderTap(2)">
  70. <image class="order-item-image"
  71. src="https://ceres.zkthink.com/static/img/user/daifahuo1.png"
  72. mode="widthFix">
  73. </image>
  74. <view class="order-item-text">待发货</view>
  75. <view class="quan"
  76. v-if="useritem.waitSendOrderCount>0">
  77. {{ useritem.waitSendOrderCount }}
  78. </view>
  79. </view>
  80. <view class="order-item"
  81. @click="orderTap(3)">
  82. <image class="order-item-image"
  83. src="https://ceres.zkthink.com/static/img/user/daishouhuo.png"
  84. mode="widthFix">
  85. </image>
  86. <view class="order-item-text">待收货</view>
  87. <view class="quan"
  88. v-if="useritem.waitReceiveOrderCount>0">
  89. {{ useritem.waitReceiveOrderCount }}
  90. </view>
  91. </view>
  92. <view class="order-item"
  93. @click="orderTap(0)">
  94. <image class="order-item-image"
  95. src="https://ceres.zkthink.com/static/img/user/dingdan.png"
  96. mode="widthFix"></image>
  97. <view class="order-item-text">全部订单</view>
  98. </view>
  99. </view>
  100. <!-- <view class="item-btn mt20" @click="toMessage">-->
  101. <!-- <image class="item-btn-icon" src="https://ceres.zkthink.com/static/images/mymessageIcon.png" mode="widthFix"></image>-->
  102. <!-- <view class="item-btn-text flex-row-plus flex-items">-->
  103. <!-- <label>消息中心</label>-->
  104. <!-- <view class="messNum" v-if="useritem.notRead>0">{{useritem.notRead}}</view>-->
  105. <!-- </view>-->
  106. <!-- <image class="item-btn-right" src="https://ceres.zkthink.com/static/img/user/arrow.png" mode="widthFix"></image>-->
  107. <!-- </view>-->
  108. <view class="itemBox">
  109. <view class="item-btn"
  110. @click="toCollection">
  111. <image class="item-btn-icon"
  112. src="https://ceres.zkthink.com/static/img/user/mycollectionIcon.png"
  113. mode="widthFix">
  114. </image>
  115. <view class="item-btn-text">我的收藏</view>
  116. </view>
  117. <view class="item-btn"
  118. @click="toQuestion">
  119. <image class="item-btn-icon"
  120. src="https://ceres.zkthink.com/static/img/user/myQuestionIcon.png"
  121. mode="widthFix">
  122. </image>
  123. <view class="item-btn-text">我的问答</view>
  124. </view>
  125. <view class="item-btn"
  126. @click="toFootprint">
  127. <image class="item-btn-icon"
  128. src="https://ceres.zkthink.com/static/img/user/myfootprintIcon.png"
  129. mode="widthFix">
  130. </image>
  131. <view class="item-btn-text">浏览足迹</view>
  132. </view>
  133. <view class="item-btn"
  134. @click="gouserEvaluate">
  135. <image class="item-btn-icon"
  136. src="https://ceres.zkthink.com/static/img/user/pingjia.png"
  137. mode="widthFix"></image>
  138. <view class="item-btn-text">我的评价</view>
  139. </view>
  140. <view class="item-btn"
  141. @click="memberAccountClick">
  142. <image class="item-btn-icon"
  143. src="https://ceres.zkthink.com/static/img/user/account.png"
  144. mode="widthFix"></image>
  145. <view class="item-btn-text">我的账户</view>
  146. </view>
  147. <view class="item-btn"
  148. @click="couponClick">
  149. <image class="item-btn-icon"
  150. src="https://ceres.zkthink.com/static/img/user/kaquan.png"
  151. mode="widthFix"></image>
  152. <view class="item-btn-text">我的卡券</view>
  153. </view>
  154. <view class="item-btn"
  155. @click="godistribution">
  156. <image class="item-btn-icon"
  157. src="https://ceres.zkthink.com/static/img/user/fenxiao.png"
  158. mode="widthFix"></image>
  159. <view class="item-btn-text">分销中心</view>
  160. </view>
  161. <view class="item-btn"
  162. @click="applySettle">
  163. <image class="item-btn-icon"
  164. src="https://ceres.zkthink.com/static/img/user/Settled.png"
  165. mode="widthFix"></image>
  166. <view class="item-btn-text">商家入驻</view>
  167. </view>
  168. </view>
  169. <view class="itemBox">
  170. <view class="item-btn"
  171. @click="addressClick">
  172. <image class="item-btn-icon"
  173. src="https://ceres.zkthink.com/static/img/user/dizhi1.png"
  174. mode="widthFix"></image>
  175. <view class="item-btn-text">地址管理</view>
  176. </view>
  177. <view class="item-btn"
  178. @click="goafterSale">
  179. <image class="item-btn-icon"
  180. src="https://ceres.zkthink.com/static/img/user/shouhou.png"
  181. mode="widthFix"></image>
  182. <view class="item-btn-text">我的售后</view>
  183. </view>
  184. <view class="item-btn"
  185. @click="goToMemberCenter">
  186. <image class="item-btn-icon"
  187. src="https://ceres.zkthink.com/static/img/user/VIP.png"
  188. mode="widthFix"></image>
  189. <view class="item-btn-text">会员中心</view>
  190. </view>
  191. <view class="item-btn"
  192. @click="goBankcard">
  193. <image class="item-btn-icon"
  194. src="https://ceres.zkthink.com/static/img/user/kaquan.png"
  195. mode="widthFix"></image>
  196. <view class="item-btn-text">银行卡</view>
  197. </view>
  198. <view class="item-btn"
  199. @click="goIntegral">
  200. <image class="item-btn-icon"
  201. src="https://ceres.zkthink.com/static/img/user/myIntegral.png"
  202. mode="widthFix"></image>
  203. <view class="item-btn-text">我的积分</view>
  204. </view>
  205. <view class="item-btn"
  206. @click="goSign">
  207. <image class="item-btn-icon"
  208. src="https://ceres.zkthink.com/static/img/user/signIcon.png"
  209. mode="widthFix"></image>
  210. <view class="item-btn-text">签到</view>
  211. </view>
  212. <view class="item-btn"
  213. @click="goCouponList">
  214. <image class="item-btn-icon"
  215. src="https://ceres.zkthink.com/static/img/user/userCouponIcon.png"
  216. mode="widthFix"></image>
  217. <view class="item-btn-text">优惠券</view>
  218. </view>
  219. <!-- <view class="item-btn">
  220. <image class="item-btn-icon" src="https://ceres.zkthink.com/static/img/user/service.png" mode="widthFix"></image>
  221. <view class="item-btn-text">平台客服</view>
  222. </view> -->
  223. <!-- <button open-type="contact"
  224. class="item-btn btnNone">
  225. <image class="item-btn-icon"
  226. src="https://ceres.zkthink.com/static/img/user/service.png"
  227. mode="widthFix"></image>
  228. <view class="item-btn-text">平台客服</view>
  229. </button>-->
  230. <view @click="flyToService"
  231. class="item-btn btnNone">
  232. <image class="item-btn-icon"
  233. src="https://ceres.zkthink.com/static/img/user/service.png"
  234. mode="widthFix"></image>
  235. <view class="item-btn-text">平台客服</view>
  236. </view>
  237. <!-- <view class="item-btn" @click="toSuccess">
  238. <image class="item-btn-icon" src="https://ceres.zkthink.com/static/img/user/userCouponIcon.png" mode="widthFix"></image>
  239. <view class="item-btn-text">成功测试</view>
  240. </view> -->
  241. <!-- <view class="item-btn" @click="goWxShop">-->
  242. <!-- <image class="item-btn-icon" src="https://ceres.zkthink.com/static/img/user/kaquan.png" mode="widthFix"></image>-->
  243. <!-- <view class="item-btn-text">测试</view>-->
  244. <!-- </view>-->
  245. </view>
  246. </view>
  247. <view class="copyright">
  248. <text>中科鑫智 版权所有</text>
  249. <text>粤ICP备19086489号-3</text>
  250. </view>
  251. <Loading v-if="false"></Loading>
  252. </view>
  253. </template>
  254. <script>
  255. import Loading from "@/components/Loading"
  256. const NET = require('../../../utils/request')
  257. const API = require('../../../config/api')
  258. const SECRET = require('../../../utils/secret')
  259. export default {
  260. components:{Loading},
  261. data() {
  262. return {
  263. item: {},
  264. useritem: {},
  265. isLoading: false,
  266. corpId: null,
  267. serviceURL: null,
  268. }
  269. },
  270. onLoad() {
  271. this.getServiceUrl()
  272. },
  273. onShow() {
  274. if (uni.getStorageSync('storage_key')) {
  275. this.item = uni.getStorageSync('storage_key');
  276. }
  277. this.GetUser()
  278. },
  279. methods: {
  280. // goWxShop() {
  281. // uni.navigateTo({
  282. // url: `plugin-private://wxf0713a10bbae8732/pages/productDetail/productDetail?productId=59656518`,
  283. // })
  284. // },
  285. // 测试
  286. // toSuccess() {
  287. // uni.navigateTo({
  288. // url: '../../../pages_category_page1/goodsModule/evaSuccessful'
  289. // // url: '../../../pages_category_page1/orderModule/paySuccessful'
  290. // })
  291. // },
  292. toMessage() {
  293. if (JSON.stringify(this.item) == '{}') {
  294. uni.navigateTo({
  295. url: '../../../pages_category_page2/userModule/login'
  296. })
  297. } else {
  298. uni.navigateTo({
  299. url: '../../../pages_category_page2/userModule/messageCenter'
  300. })
  301. }
  302. },
  303. toCollection() {
  304. if (JSON.stringify(this.item) == '{}') {
  305. uni.navigateTo({
  306. url: '../../../pages_category_page2/userModule/login'
  307. })
  308. } else {
  309. uni.navigateTo({
  310. url: '../../../pages_category_page2/userModule/collection'
  311. })
  312. }
  313. },
  314. toQuestion() {
  315. if (JSON.stringify(this.item) == '{}') {
  316. uni.navigateTo({
  317. url: '../../../pages_category_page2/userModule/login'
  318. })
  319. } else {
  320. uni.navigateTo({
  321. url: '../../../pages_category_page2/userModule/questionList'
  322. })
  323. }
  324. },
  325. toFootprint() {
  326. if (JSON.stringify(this.item) == '{}') {
  327. uni.navigateTo({
  328. url: '../../../pages_category_page2/userModule/login'
  329. })
  330. } else {
  331. uni.navigateTo({
  332. url: '../../../pages_category_page2/userModule/footprintList'
  333. })
  334. }
  335. },
  336. GetUser() {
  337. NET.request(API.GetUser, {}, 'GET').then(res => {
  338. this.useritem = res.data
  339. uni.setStorageSync('storage_userInfo', this.useritem);
  340. }).catch(res => {
  341. })
  342. },
  343. // 个人信息 登录页面
  344. gologin() {
  345. uni.navigateTo({
  346. url: '../../../pages_category_page2/userModule/login'
  347. })
  348. },
  349. goinfo() {
  350. uni.navigateTo({
  351. url: '../../../pages_category_page2/userModule/personalDetails'
  352. })
  353. },
  354. // 我的评论
  355. gouserEvaluate() {
  356. if (JSON.stringify(this.item) == '{}') {
  357. uni.navigateTo({
  358. url: '../../../pages_category_page2/userModule/login'
  359. })
  360. } else {
  361. uni.navigateTo({
  362. url: '../../../pages_category_page1/goodsModule/userEvaluate'
  363. })
  364. }
  365. },
  366. // 分销中心
  367. godistribution() {
  368. if (JSON.stringify(this.item) == '{}') {
  369. uni.navigateTo({
  370. url: '../../../pages_category_page2/userModule/login'
  371. })
  372. } else {
  373. uni.navigateTo({
  374. url: '../../../pages_category_page1/distributionModule/index'
  375. })
  376. }
  377. },
  378. goToMemberCenter() {
  379. uni.navigateTo({
  380. url: '../../../pages_category_page1/memberCenter/index'
  381. })
  382. },
  383. applySettle() {
  384. const res = uni.getStorageSync('storage_key');
  385. let token = SECRET.Encrypt(res.token)
  386. let username = this.useritem.name
  387. let test = SECRET.Decrypt(token)
  388. // #ifdef H5
  389. console.log('h5 test')
  390. window.open(API.SettledMerchantPrefix + `/#/?username=${username}&user=${token}`)
  391. // #endif
  392. // #ifdef APP-PLUS
  393. plus.runtime.openURL(API.SettledMerchantPrefix + `/#/?username=${username}&user=${token}`, function (e) {
  394. console.log(e);
  395. })
  396. // #endif
  397. // #ifdef MP-WEIXIN
  398. var url = API.SettledMerchantPrefix
  399. uni.navigateTo({
  400. url: `../../../pages_category_page1/linkOthers/index?url=${url}&username=${username}&user=${token}`
  401. // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址
  402. // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url)
  403. // url:'../../../pages_category_page2/userModule/coupon'
  404. })
  405. // #endif
  406. // #ifdef MP-ALIPAY
  407. var url = API.SettledMerchantPrefix
  408. uni.navigateTo({
  409. url: `../../../pages_category_page1/linkOthers/index?url=${url}&username=${username}&user=${token}`
  410. // 此处的链接为小程序上面新建的webview页面路径,参数url为要跳转外链的地址
  411. // url: '../../../pages_category_page1/linkOthers/index?url=' + encodeURIComponent(url)
  412. // url:'../../../pages_category_page2/userModule/coupon'
  413. })
  414. // #endif
  415. },
  416. //我的账户
  417. memberAccountClick() {
  418. if (JSON.stringify(this.item) == '{}') {
  419. uni.navigateTo({
  420. url: '../../../pages_category_page2/userModule/login'
  421. })
  422. } else {
  423. uni.navigateTo({
  424. url: '../../../pages_category_page2/userModule/memberAccount'
  425. })
  426. }
  427. },
  428. //我的优惠券
  429. couponClick() {
  430. if (JSON.stringify(this.item) == '{}') {
  431. uni.navigateTo({
  432. url: '../../../pages_category_page2/userModule/login'
  433. })
  434. } else {
  435. uni.navigateTo({
  436. url: '../../../pages_category_page2/userModule/coupon'
  437. })
  438. }
  439. },
  440. // 地址管理
  441. addressClick() {
  442. if (JSON.stringify(this.item) == '{}') {
  443. uni.navigateTo({
  444. url: '../../../pages_category_page2/userModule/login'
  445. })
  446. } else {
  447. uni.navigateTo({
  448. url: '../../../pages_category_page2/userModule/address'
  449. })
  450. }
  451. },
  452. // 我的售后
  453. goafterSale() {
  454. if (JSON.stringify(this.item) == '{}') {
  455. uni.navigateTo({
  456. url: '../../../pages_category_page2/userModule/login'
  457. })
  458. } else {
  459. uni.navigateTo({
  460. url: '../../../pages_category_page2/orderModule/afterSale'
  461. })
  462. }
  463. },
  464. // 我的银行卡
  465. goBankcard() {
  466. if (JSON.stringify(this.item) == '{}') {
  467. uni.navigateTo({
  468. url: '../../../pages_category_page2/userModule/login'
  469. })
  470. } else {
  471. uni.navigateTo({
  472. url: '../../../pages_category_page2/userModule/bankcard'
  473. })
  474. }
  475. },
  476. // 我的积分
  477. goIntegral() {
  478. if (JSON.stringify(this.item) == '{}') {
  479. uni.navigateTo({
  480. url: '../../../pages_category_page2/userModule/login'
  481. })
  482. } else {
  483. uni.navigateTo({
  484. url: '../../../pages_category_page1/integral/index'
  485. })
  486. }
  487. },
  488. // 签到
  489. goSign() {
  490. if (JSON.stringify(this.item) == '{}') {
  491. uni.navigateTo({
  492. url: '../../../pages_category_page2/userModule/login'
  493. })
  494. } else {
  495. uni.navigateTo({
  496. url: '../../../pages_category_page1/integral/sign'
  497. })
  498. }
  499. },
  500. goCouponList() {
  501. if (JSON.stringify(this.item) == '{}') {
  502. uni.navigateTo({
  503. url: '../../../pages_category_page2/userModule/login'
  504. })
  505. } else {
  506. uni.navigateTo({
  507. url: '../../../pages_category_page1/coupon/list'
  508. })
  509. }
  510. },
  511. //判断是否是分销员
  512. getApplyState() {
  513. NET.request(API.HasApply, {
  514. tenantCode: this.currentId
  515. }, 'POST').then(res => {
  516. uni.hideLoading()
  517. this.slist = res.data
  518. }).catch(res => {
  519. uni.hideLoading()
  520. })
  521. },
  522. orderTap(type) {
  523. if (JSON.stringify(this.item) == '{}') {
  524. uni.navigateTo({
  525. url: '../../../pages_category_page2/userModule/login'
  526. })
  527. } else {
  528. uni.navigateTo({
  529. url: '../../../pages_category_page1/orderModule/index?type=' + type
  530. })
  531. }
  532. },
  533. getServiceUrl() {
  534. const shopids = uni.getStorageSync('service_shopids') || []
  535. const corpIds = uni.getStorageSync('service_corpIds') || []
  536. const urls = uni.getStorageSync('service_urls') || []
  537. this.isLoading = true
  538. const id = null
  539. NET.request(API.CustomerService, {
  540. }, 'get').then(res => {
  541. if (res.code === '' && res.data.corpId && res.data.url) {
  542. shopids.push(this.shopId)
  543. corpIds.push(res.data.corpId)
  544. urls.push(res.data.url)
  545. uni.setStorageSync('service_shopids', shopids);
  546. uni.setStorageSync('service_corpIds', corpIds);
  547. uni.setStorageSync('service_urls', urls);
  548. this.corpId = res.data.corpId
  549. this.serviceURL = res.data.url
  550. if (this.serviceURL) {
  551. this.hasService = true
  552. }
  553. }
  554. this.isLoading = false
  555. }).catch(err => {
  556. console.log(err)
  557. this.isLoading = false
  558. })
  559. },
  560. flyToService() {
  561. let self = this
  562. // #ifdef MP-WEIXIN
  563. console.log(self.serviceURL, self.corpId)
  564. if (!self.serviceURL || !self.corpId) {
  565. self.hasService = false
  566. return
  567. }
  568. wx.openCustomerServiceChat({
  569. extInfo: {
  570. url: self.serviceURL
  571. },
  572. corpId: self.corpId, // 企业ID
  573. success(res) {
  574. },
  575. fail(err) {
  576. }
  577. })
  578. // #endif
  579. // #ifdef APP-PLUS
  580. try {
  581. let sweixin = null
  582. plus.share.getServices(res=>{
  583. sweixin = res.find(i => i.id === 'weixin')
  584. if(sweixin){
  585. sweixin.openCustomerServiceChat({
  586. corpid: self.corpId,
  587. url: self.serviceURL,
  588. },success=>{
  589. console.log("success",JSON.stringify(success))
  590. },err=>{
  591. console.log("error",JSON.stringify(err))
  592. })
  593. }else{
  594. plus.nativeUI.alert('当前环境不支持微信操作!')
  595. }
  596. },function(err){
  597. console.log(err)
  598. uni.showToast({title: "获取服务失败,不支持该操作。"+JSON.stringify(e), icon: 'error'})
  599. })
  600. } catch (err) {
  601. console.log(err)
  602. uni.showToast({title: "调用失败,不支持该操作。"+JSON.stringify(err), icon: 'error'})
  603. }
  604. /*plus.runtime.openURL(self.serviceURL, function(res) {
  605. uni.showToast({
  606. title: JSON.stringify(res),
  607. icon: "success"
  608. })
  609. })*/
  610. // #endif
  611. },
  612. }
  613. }
  614. </script>
  615. <style lang='scss'>
  616. page {
  617. background: #f8f8f8;
  618. }
  619. .content {
  620. height: 100%;
  621. position: relative;
  622. padding-bottom: 150rpx;
  623. .itemBox {
  624. display: flex;
  625. flex-flow: wrap;
  626. padding-top: 30rpx;
  627. background: #FFFFFF;
  628. width: 690rpx;
  629. margin: 30rpx auto 0 auto;
  630. }
  631. /* background-color: #f8f8f8; */
  632. .top-bg {
  633. width: 100%;
  634. height: 400rpx;
  635. margin-top: -50rpx;
  636. }
  637. .page-content {
  638. width: 100%;
  639. height: 100%;
  640. display: flex;
  641. flex-direction: column;
  642. z-index: 10;
  643. margin-top: -320upx;
  644. .user-info-box {
  645. width: 100%;
  646. box-sizing: border-box;
  647. padding: 30upx;
  648. display: flex;
  649. flex-direction: row;
  650. align-items: center;
  651. position: relative;
  652. .notice {
  653. width: 60rpx;
  654. height: 60rpx;
  655. position: absolute;
  656. top: 0;
  657. right: 50rpx;
  658. background: url("https://ceres.zkthink.com/static/images/notice.png") no-repeat center center;
  659. background-size: contain;
  660. .messNum {
  661. background: #C83732;
  662. border-radius: 50%;
  663. color: #FFFFFF;
  664. text-align: center;
  665. margin: 0rpx 0 0 30rpx;
  666. width: 30rpx;
  667. height: 30rpx;
  668. line-height: 30rpx;
  669. font-size: 20rpx;
  670. }
  671. }
  672. .user-image {
  673. width: 126upx;
  674. height: 126upx;
  675. }
  676. .user-info {
  677. flex: 1;
  678. display: flex;
  679. flex-direction: column;
  680. padding-left: 20upx;
  681. box-sizing: border-box;
  682. z-index: 10;
  683. .user-logoin-title {
  684. font-size: 36upx;
  685. font-weight: 500;
  686. color: rgba(255, 255, 255, 1);
  687. }
  688. .user-logoin-lable {
  689. font-size: 24upx;
  690. font-weight: 400;
  691. color: rgba(255, 255, 255, 1);
  692. margin-top: 20upx;
  693. }
  694. .experience {
  695. label {
  696. font-size: 26rpx;
  697. color: #FFFFFF;
  698. opacity: 0.7;
  699. }
  700. .experienceValue {
  701. width: auto;
  702. padding: 0 28rpx;
  703. height: 40rpx;
  704. font-weight: 400;
  705. color: #FFFFFF;
  706. border-radius: 25rpx;
  707. line-height: 40rpx;
  708. border: 2rpx solid rgba(0, 0, 0, 0);
  709. background: linear-gradient(88deg, #C5AA7B 0%, #F5DEB2 100%);
  710. font-size: 20rpx;
  711. margin-left: 20rpx;
  712. }
  713. }
  714. }
  715. .user-info-right {
  716. width: 30upx;
  717. height: 30upx;
  718. }
  719. }
  720. .order-box {
  721. width: 690upx;
  722. height: 196upx !important;
  723. background: rgba(255, 255, 255, 1);
  724. box-shadow: 0px 0px 10upx 0px rgba(51, 51, 51, 0.1);
  725. display: flex;
  726. flex-direction: row;
  727. align-items: center;
  728. margin-left: 30upx;
  729. z-index: 10;
  730. .order-item {
  731. flex: 1;
  732. display: flex;
  733. flex-direction: column;
  734. align-items: center;
  735. justify-content: center;
  736. position: relative;
  737. .quan {
  738. position: absolute;
  739. right: 40upx;
  740. top: 10upx;
  741. border: 1px solid red;
  742. color: #FFFFFF;
  743. background-color: red;
  744. border-radius: 50%;
  745. font-size: 16rpx;
  746. width: 30upx;
  747. height: 30upx;
  748. line-height: 30upx;
  749. text-align: center;
  750. }
  751. .order-item-image {
  752. width: 90upx;
  753. height: 90upx;
  754. }
  755. .order-item-text {
  756. font-size: 28upx;
  757. margin-top: 10upx;
  758. font-weight: 500;
  759. color: rgba(102, 102, 102, 1);
  760. }
  761. }
  762. }
  763. .item-btn {
  764. width: 25%;
  765. box-sizing: border-box;
  766. background-color: #fff;
  767. text-align: center;
  768. margin-bottom: 40rpx;
  769. .item-btn-icon {
  770. width: 90upx;
  771. height: 90upx !important;
  772. }
  773. .item-btn-text {
  774. font-size: 28upx;
  775. font-weight: 500;
  776. flex: 1;
  777. color: rgba(102, 102, 102, 1);
  778. }
  779. .messNum {
  780. margin-left: 10rpx;
  781. font-size: 16rpx;
  782. background-color: red;
  783. color: #FFFFFF;
  784. width: 30rpx;
  785. height: 30rpx;
  786. border-radius: 50%;
  787. margin-top: -5rpx;
  788. line-height: 30rpx;
  789. text-align: center;
  790. }
  791. .item-btn-right {
  792. width: 24upx;
  793. height: 24upx;
  794. }
  795. }
  796. .btnNone {
  797. margin: 0;
  798. padding: 0;
  799. line-height: normal;
  800. &::after {
  801. display: none;
  802. }
  803. }
  804. .mt20 {
  805. margin-top: 20upx;
  806. }
  807. .mt1 {
  808. margin-top: 1upx;
  809. }
  810. }
  811. .copyright {
  812. text-align: center;
  813. padding: 30rpx 0 20rpx;
  814. position: absolute;
  815. bottom: 0;
  816. left: 0;
  817. width: 100%;
  818. text {
  819. display: block;
  820. font-size: 20rpx;
  821. line-height: 30rpx;
  822. color: #C5CACF;
  823. }
  824. }
  825. }
  826. </style>