user.vue 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000
  1. <template>
  2. <view class="content">
  3. <view class="top-box">
  4. <view class="main-box">
  5. <view class="main-left">
  6. <view class="avatar">
  7. <image class="avatarimg" :src="userInfo.avatar || '/static/error/missing-face.png'" mode=""></image>
  8. <image v-if="userInfo.is_real == 1" class="real" src="../../static/img/real.png" mode=""></image>
  9. </view>
  10. <view class="info">
  11. <view class="userBox">
  12. <view class="username">{{ userInfo.nickname || '游客' }}</view>
  13. </view>
  14. <view class="phone">
  15. {{ userInfo.level_info ? userInfo.level_info.name : '普通用户' }}
  16. <view class="text" v-if="userInfo.company == 1">企业认证</view>
  17. </view>
  18. </view>
  19. </view>
  20. <view class="main-right" @click="navTo('/pages/set/set')"><image src="https://37shop.liuniu946.com/front/img/set.png" mode=""></image></view>
  21. </view>
  22. </view>
  23. <!-- 我的订单 -->
  24. <view class="my-order">
  25. <view class="tit">我的订单</view>
  26. <view class="order-list">
  27. <view class="list-item" @click="navTo('/pages/order/order?state=0')">
  28. <view class="item-top position-relative">
  29. <!-- <image src="https://37shop.liuniu946.com/front/img/img017.png" mode="" style="width: 42rpx;height: 38rpx;"></image> -->
  30. <image src="../../static/img/1.png" style="width: 42rpx;height: 38rpx;"></image>
  31. <view class="corner" v-if="orderInfo.unpaid_count > 0">
  32. <text>{{ orderInfo.unpaid_count }}</text>
  33. </view>
  34. </view>
  35. <view class="item-foot">待付款</view>
  36. </view>
  37. <view class="list-item" @click="navTo('/pages/order/order?state=1')">
  38. <view class="item-top position-relative">
  39. <image src="../../static/img/2.png" style="width: 42rpx;height: 38rpx;"></image>
  40. <view class="corner" v-if="orderInfo.unshipped_count > 0">
  41. <text>{{ orderInfo.unshipped_count }}</text>
  42. </view>
  43. </view>
  44. <view class="item-foot">待发货</view>
  45. </view>
  46. <view class="list-item" @click="navTo('/pages/order/order?state=2')">
  47. <view class="item-top position-relative">
  48. <image src="../../static/img/3.png" style="width: 42rpx;height: 38rpx;"></image>
  49. <view class="corner" v-if="orderInfo.received_count > 0">
  50. <text>{{ orderInfo.received_count }}</text>
  51. </view>
  52. </view>
  53. <view class="item-foot">待收货</view>
  54. </view>
  55. <view class="list-item" @click="navTo('/pages/order/order?state=3')">
  56. <view class="item-top position-relative">
  57. <image src="../../static/img/4.png" style="width: 42rpx;height: 38rpx;"></image>
  58. <view class="corner" v-if="orderInfo.evaluated_count > 0">
  59. <text>{{ orderInfo.evaluated_count }}</text>
  60. </view>
  61. </view>
  62. <view class="item-foot">待评价</view>
  63. </view>
  64. <view class="list-item" @click="navTo('/pages/order/order?state=5')">
  65. <view class="item-top position-relative">
  66. <image src="../../static/img/5.png" style="width: 42rpx;height: 38rpx;"></image>
  67. <view class="corner" v-if="orderInfo.evaluated_count > 0">
  68. <text>{{ orderInfo.evaluated_count }}</text>
  69. </view>
  70. </view>
  71. <view class="item-foot">退款售后</view>
  72. </view>
  73. </view>
  74. </view>
  75. <!-- 有奖说明 -->
  76. <view class="award-box"><image src="https://zhibo.liuniu946.com/img/user002.png" mode=""></image></view>
  77. <!-- 我的工具 -->
  78. <view class="my-gongju">
  79. <view class="title">我的工具</view>
  80. <view class="gonglu-box">
  81. <view class="box-top">
  82. <view class="list-item" @click="navTo('/pages/wallet/wallet')">
  83. <view class="item-top position-relative">
  84. <image src="https://zhibo.liuniu946.com/img/user016.png" mode="" style="width: 34rpx;height: 32rpx;"></image>
  85. </view>
  86. <view class="item-foot">我的余额</view>
  87. </view>
  88. <view class="list-item" @click="navTo('/pages/wallet/withdrawal')">
  89. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user014.png" mode="" style="width: 40rpx;height: 42rpx;"></image></view>
  90. <view class="item-foot">我的佣金</view>
  91. </view>
  92. <view class="list-item" @click="navTo('/pages/favorites/favorites')">
  93. <view class="item-top position-relative">
  94. <image src="https://zhibo.liuniu946.com/img/user013.png" mode="" style="width: 42rpx;height: 38rpx;"></image>
  95. <view class="corner" v-if="shouchang > 0">
  96. <text>{{ shouchang }}</text>
  97. </view>
  98. </view>
  99. <view class="item-foot">我的收藏</view>
  100. </view>
  101. <view class="list-item" @click="navTo('/pages/address/address')">
  102. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user015.png" mode="" style="width: 42rpx;height: 41rpx;"></image></view>
  103. <view class="item-foot">收货地址</view>
  104. </view>
  105. </view>
  106. <view class="box-top">
  107. <view class="list-item" @click="navTo('/pages/extension/extension')">
  108. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user011.png" mode="" style="width: 42rpx;height: 34rpx;"></image></view>
  109. <view class="item-foot">我的推广</view>
  110. </view>
  111. <view class="list-item" @click="navTo('/pages/user/share')">
  112. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user012.png" mode="" style="width: 42rpx;height: 38rpx;"></image></view>
  113. <view class="item-foot">推广海报</view>
  114. </view>
  115. <view class="list-item" @click="navTo('/pages/user/approve')" v-if="showBox">
  116. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/realName.png" mode="" style="width: 42rpx;height: 38rpx;"></image></view>
  117. <view class="item-foot">实名认证</view>
  118. </view>
  119. <!-- #ifdef MP-WEIXIN -->
  120. <button class="list-item" open-type="contact" style="border:none;width: 25%;margin-left: 0;height: 46px;">
  121. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/img29.png" mode="" style="width: 42rpx;height: 44rpx;"></image></view>
  122. <view class="item-foot">联系客服</view>
  123. </button>
  124. <!-- #endif -->
  125. <view class="list-item" @click="smsh()" v-if="userInfo.adminid">
  126. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/sao.png" mode="" style="width: 42rpx;height: 38rpx;"></image></view>
  127. <view class="item-foot">扫码核销</view>
  128. </view>
  129. </view>
  130. </view>
  131. </view>
  132. <view v-if="showBox && userInfo.is_wholesaler == 1" class="chain-box" @click="navTo('/pages/chainGoods/chainGoods')">
  133. <image src="https://zhibo.liuniu946.com/img/user001.png" mode=""></image>
  134. </view>
  135. <!-- 小店管理 -->
  136. <view class="management" v-if="showBox && showShop">
  137. <view class="title">小店管理</view>
  138. <view class="gonglu-box">
  139. <view class="box-top">
  140. <view class="list-item" @click="navTo('/pages/product/productGuanli')">
  141. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user003.png" mode="" style="width: 42rpx;height: 42rpx;"></image></view>
  142. <view class="item-foot">商品管理</view>
  143. </view>
  144. <view class="list-item" @click="navTo('/pages/order/order1')">
  145. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user004.png" mode="" style="width: 36rpx;height: 44rpx;"></image></view>
  146. <view class="item-foot">订单信息</view>
  147. </view>
  148. <view class="list-item" @click="navTo('/pages/shop/earnings')">
  149. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user005.png" mode="" style="width: 42rpx;height: 42rpx;"></image></view>
  150. <view class="item-foot">店铺收益</view>
  151. </view>
  152. </view>
  153. </view>
  154. </view>
  155. <!-- 我要申请 -->
  156. <view class="management" v-if="showBox">
  157. <view class="title">我要申请</view>
  158. <view class="gonglu-box">
  159. <view class="box-top">
  160. <view class="list-item" @click="navTo('/pages/anchor/commonVip')">
  161. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/vip.png" mode="" style="width: 45rpx;height: 42rpx;"></image></view>
  162. <view class="item-foot">付费会员</view>
  163. </view>
  164. <view class="list-item" @click="navTo('/pages/anchor/dredge')">
  165. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user006.png" mode="" style="width: 45rpx;height: 42rpx;"></image></view>
  166. <view class="item-foot">创业播主</view>
  167. </view>
  168. <view class="list-item" @click="navTo('/pages/anchor/anchorSelection')">
  169. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user007.png" mode="" style="width: 44rpx;height: 44rpx;"></image></view>
  170. <view class="item-foot">主播选品</view>
  171. </view>
  172. <view class="list-item" @click="navTo('/pages/freeShop/enterprise')">
  173. <view class="item-top position-relative">
  174. <image src="https://zhibo.liuniu946.com/img/qyrz.png" mode="" style="width: 46rpx;height: 40rpx;"></image>
  175. <view class="type" v-if="userInfo.company == 0" style="background: #ffaa00;"><text>审核中</text></view>
  176. <view class="type" v-if="userInfo.company == 1" style="background: #f7d2ca;"><text>通过</text></view>
  177. <view class="type" v-if="userInfo.company == 2" style="background: #5cb900;"><text>失败</text></view>
  178. </view>
  179. <view class="item-foot">企业认证</view>
  180. </view>
  181. </view>
  182. </view>
  183. </view>
  184. <!-- 申请小店 -->
  185. <view class="management" v-if="showBox">
  186. <view class="title">我要开通</view>
  187. <view class="gonglu-box">
  188. <view class="box-top">
  189. <view class="list-item" @click="navTo('/pages/freeShop/business')">
  190. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user009.png" mode="" style="width: 44rpx;height: 42rpx;"></image></view>
  191. <view class="item-foot">创业网店</view>
  192. </view>
  193. <view class="list-item" @click="navTo('/pages/freeShop/businessAnchor')">
  194. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user010.png" mode="" style="width: 46rpx;height: 40rpx;"></image></view>
  195. <view class="item-foot">创业播主网店</view>
  196. </view>
  197. <view class="list-item" @click="navTo('/pages/freeShop/anchor')">
  198. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/zhubo.png" mode="" style="width: 46rpx;height: 40rpx;"></image></view>
  199. <view class="item-foot">播主网店</view>
  200. </view>
  201. <view class="list-item" @click="navTo('/pages/freeShop/apply')">
  202. <view class="item-top"><image src="https://zhibo.liuniu946.com/img/user008.png" mode="" style="width: 42rpx;height: 42rpx;"></image></view>
  203. <view class="item-foot">免费网店</view>
  204. </view>
  205. </view>
  206. </view>
  207. </view>
  208. <uni-popup ref="popup" type="center">
  209. <view class="popup-box">
  210. <view class="img"><image src="https://37shop.liuniu946.com/front/img/img009.png" mode=""></image></view>
  211. <view class="mian">
  212. <view class="delivery">
  213. <view class="title">已经为您定制专属客服</view>
  214. <image src="https://37shop.liuniu946.com/front/img/img010.png" mode=""></image>
  215. </view>
  216. <view class="nocancel">客服VX:{{ text }}</view>
  217. <view class="comfirm-box">
  218. <view class="cancel" @click="cancel">取消</view>
  219. <view class="comfirm" @click="comfirm(text)">复制微信</view>
  220. </view>
  221. </view>
  222. </view>
  223. </uni-popup>
  224. <uni-popup ref="popuphx" class="agree-wrapper">
  225. <view class="hx-wrapper">
  226. <view class="hx-img"><image src="../../static/img/hxbg.png" mode=""></image></view>
  227. <view class="hx-body">
  228. <view class="hx-title">输入核销码核销</view>
  229. <input type="text" v-model="code" placeholder="请输入核销码" placeholder-class="hx-placeholder" />
  230. <view class="hx-btn" @click="qhx">立即核销</view>
  231. </view>
  232. <view class="hx-close" @click="close"><image src="../../static/img/close.png" mode=""></image></view>
  233. </view>
  234. </uni-popup>
  235. <view v-if="showTab">
  236. <u-tabbar v-if="mystore" v-model="current" :list="tabbar" active-color="#FF0000" inactive-color="#f19c99"></u-tabbar>
  237. <u-tabbar v-else v-model="current" :list="tabbar1" active-color="#FF0000" inactive-color="#f19c99"></u-tabbar>
  238. </view>
  239. </view>
  240. </template>
  241. <script>
  242. import { getSign } from '@/api/contract.js';
  243. import { mapState, mapMutations } from 'vuex';
  244. import uniCopy from '../../components/js_sdk/xb-copy/uni-copy.js';
  245. import { saveUrl, interceptor } from '@/utils/loginUtils.js';
  246. import uniPopup from '@/components/uni-popup/uni-popup.vue';
  247. import { orderData, userinfo, commission, orderVerific } from '@/api/user.js';
  248. import { extractBank } from '@/api/wallet.js';
  249. import { spread_people } from '@/api/team.js';
  250. import { tabbar, tabbar1 } from '@/utils/tabbar.js';
  251. import { getcollectList } from '@/api/favorite.js';
  252. export default {
  253. components: {
  254. uniPopup
  255. },
  256. data() {
  257. return {
  258. code: '', //核销码
  259. mystore: '',
  260. tabbar: tabbar,
  261. tabbar1: tabbar1,
  262. showBox: false,
  263. showShop: false,
  264. current: 0,
  265. levelList: [], // 等级
  266. withdrawal: '',
  267. spreadPeople: '',
  268. orderInfo: {
  269. complete_count: 0,
  270. received_count: 0,
  271. unshipped_count: 0,
  272. order_count: 0
  273. },
  274. shouchang: 0, //收藏数量
  275. text: 'ch1 25221',
  276. levelData: [],
  277. showTab: false, //判断刷新
  278. istrue: false,
  279. qiye: false
  280. };
  281. },
  282. computed: {
  283. ...mapState(['hasLogin', 'userInfo', 'baseURL', 'urlFile'])
  284. },
  285. onLoad() {
  286. const obj = this;
  287. console.log('是否是登陆状态?', this.hasLogin);
  288. getSign({}, 2, this.userInfo.uid)
  289. .then(src => {
  290. console.log('1111111', src);
  291. if ('sign' in src.data.user_info) {
  292. obj.istrue = true;
  293. }
  294. if (this.userInfo.level == 3 && !this.istrue) {
  295. uni.showModal({
  296. title: '友情提示',
  297. content: '您申请的主播选品审核已通过,是否前往签合同',
  298. success: e => {
  299. if (e.confirm) {
  300. uni.navigateTo({
  301. url: '/pages/contract/contract?type=2'
  302. });
  303. } else if (e.cancel) {
  304. }
  305. },
  306. fail: e => {
  307. console.log(e);
  308. }
  309. });
  310. }
  311. })
  312. .catch(err => {
  313. console.log(err);
  314. });
  315. },
  316. onHide() {
  317. this.showTab = false;
  318. },
  319. onShow() {
  320. const value = uni.getStorageSync('mystore');
  321. // if (value) {
  322. this.mystore = value;
  323. // }
  324. this.showTab = true;
  325. console.log('是否是登陆状态?', this.hasLogin);
  326. this.loadBaseData();
  327. // if (!this.hasLogin) {
  328. // uni.showModal({
  329. // title: '登录',
  330. // content: '您未登录,是否马上登陆?',
  331. // success: e => {
  332. // if (e.confirm) {
  333. // interceptor();
  334. // }
  335. // },
  336. // fail: e => {
  337. // console.log(e);
  338. // }
  339. // });
  340. // return;
  341. // }
  342. },
  343. methods: {
  344. ...mapMutations(['setUserInfo']),
  345. // 扫描支付
  346. smsh() {
  347. // #ifdef H5
  348. let wx = require('jweixin-module');
  349. wx.scanQRCode({
  350. needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  351. scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有
  352. success: function(res) {
  353. var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
  354. orderVerific({
  355. verify_code: this.code,
  356. is_confirm: 1
  357. })
  358. .then(res => {
  359. console.log(res, '++++++++++++++++++++++++++++++');
  360. this.$refs.popuphx.close();
  361. this.code = '';
  362. uni.showToast({
  363. title: '核销成功',
  364. duration: 2000
  365. });
  366. })
  367. .catch(err => {
  368. console.log('dddd');
  369. });
  370. }
  371. });
  372. // #endif
  373. // #ifndef H5
  374. uni.scanCode({
  375. success: res => {
  376. this.code = res.result;
  377. this.srhx();
  378. }
  379. });
  380. // #endif
  381. },
  382. qhx() {
  383. if (this.code == '') {
  384. return this.$api.msg('请输入核销码');
  385. }
  386. uni.showLoading({
  387. title: '核销中...',
  388. mask: true
  389. });
  390. orderVerific({
  391. verify_code: this.code,
  392. is_confirm: 1
  393. })
  394. .then(res => {
  395. uni.hideLoading();
  396. // this.$api.msg(res.msg)
  397. console.log(res, '++++++++++++++++++++++++++++++');
  398. this.$refs.popuphx.close();
  399. this.code = '';
  400. this.page = 1;
  401. this.loadingType = 'more';
  402. this.goodList = [];
  403. uni.showToast({
  404. title: '核销成功',
  405. duration: 2000
  406. });
  407. this.loadData();
  408. })
  409. .catch(err => {
  410. console.log('dddd');
  411. });
  412. },
  413. srhx() {
  414. this.$refs.popuphx.open();
  415. },
  416. close() {
  417. this.$refs.popuphx.close();
  418. },
  419. loadBaseData() {
  420. const obj = this;
  421. userinfo({})
  422. .then(({ data }) => {
  423. if (data.store_switch == '1') {
  424. this.showBox = true;
  425. }
  426. console.log(data);
  427. if ('store_info' in data) {
  428. this.showShop = true;
  429. }
  430. this.setUserInfo(data);
  431. orderData({})
  432. .then(({ data }) => {
  433. this.orderInfo = data;
  434. })
  435. .catch(e => {
  436. this.orderinfo = {};
  437. });
  438. //收藏数量
  439. getcollectList({
  440. page: '1',
  441. limit: '100000'
  442. })
  443. .then(function(e) {
  444. obj.shouchang = e.data.length;
  445. console.log(obj.shouchang);
  446. })
  447. .catch(function(e) {
  448. console.log(e);
  449. });
  450. // 提现金额
  451. extractBank({}).then(({ data }) => {
  452. console.log('data.broken_commission', data.broken_commission);
  453. this.withdrawal = data.brokerage_price;
  454. });
  455. // 推广人数
  456. spread_people({
  457. page: 1,
  458. limit: 10,
  459. keyword: '',
  460. sort: 'uid desc',
  461. grade: 1
  462. }).then(({ data }) => {
  463. let total = data.total;
  464. let totalLevel = data.totalLevel;
  465. console.log('data.broken_commission', data.broken_commission);
  466. this.withdrawal = data.brokerage_price;
  467. });
  468. })
  469. .catch(e => {
  470. console.log(e);
  471. });
  472. },
  473. /**
  474. * 统一跳转接口,拦截未登录路由
  475. * navigator标签现在默认没有转场动画,所以用view
  476. */
  477. navTo(url) {
  478. console.log('当前hasLogin状态', this.hasLogin);
  479. console.log(url);
  480. if (!this.hasLogin) {
  481. uni.showModal({
  482. title: '登录',
  483. content: '您未登录,是否马上登陆?',
  484. success: e => {
  485. if (e.confirm) {
  486. interceptor();
  487. }
  488. },
  489. fail: e => {
  490. console.log(e);
  491. }
  492. });
  493. return;
  494. }
  495. if (url == '/pages/user/approve') {
  496. if (this.userInfo.is_real == 1) {
  497. this.$api.msg('已完成实名认证');
  498. } else {
  499. uni.navigateTo({
  500. url
  501. });
  502. }
  503. } else {
  504. uni.navigateTo({
  505. url
  506. });
  507. }
  508. }
  509. }
  510. };
  511. </script>
  512. <style lang="scss">
  513. .top-box {
  514. width: 100%;
  515. height: 360rpx;
  516. padding-top: var(--status-bar-height);
  517. background-color: #ff0000;
  518. .main-box {
  519. background-color: #ff0000;
  520. width: 100%;
  521. height: 360rpx;
  522. display: flex;
  523. color: #ffffff;
  524. padding: 80rpx 35rpx 44rpx;
  525. justify-content: space-between;
  526. }
  527. .main-left {
  528. height: 120rpx;
  529. display: flex;
  530. .avatar {
  531. position: relative;
  532. width: 120rpx;
  533. height: 120rpx;
  534. .avatarimg {
  535. border-radius: 60rpx;
  536. width: 120rpx;
  537. height: 120rpx;
  538. }
  539. .real {
  540. position: absolute;
  541. bottom: 0;
  542. left: 10rpx;
  543. width: 100rpx;
  544. height: 30rpx;
  545. }
  546. }
  547. .info {
  548. margin-left: 24rpx;
  549. display: flex;
  550. flex-direction: column;
  551. justify-content: center;
  552. .userBox {
  553. display: flex;
  554. align-items: center;
  555. .username {
  556. font-size: 44rpx;
  557. }
  558. .levelBox {
  559. margin-left: 22rpx;
  560. margin-top: 12rpx;
  561. display: flex;
  562. align-items: center;
  563. image {
  564. width: 34rpx;
  565. height: 34rpx;
  566. margin-right: 6rpx;
  567. }
  568. }
  569. }
  570. .phone {
  571. margin-top: 12rpx;
  572. .text {
  573. display: inline-block;
  574. height: 40rpx;
  575. padding: 0 10rpx;
  576. background: linear-gradient(-35deg, #f8dd4f, #fbeb77);
  577. border-radius: 24rpx;
  578. display: inline-block;
  579. margin-left: 20rpx;
  580. }
  581. }
  582. }
  583. }
  584. .main-right {
  585. height: 120rpx;
  586. image {
  587. margin-top: 24rpx;
  588. width: 44rpx;
  589. height: 40rpx;
  590. }
  591. }
  592. }
  593. .center-box {
  594. width: 710rpx;
  595. height: 300rpx;
  596. margin: -100rpx auto 0;
  597. position: relative;
  598. image {
  599. width: 710rpx;
  600. height: 300rpx;
  601. }
  602. .center {
  603. position: absolute;
  604. left: 0;
  605. top: 0;
  606. width: 710rpx;
  607. height: 300rpx;
  608. .withdraw-box {
  609. display: flex;
  610. justify-content: space-between;
  611. padding: 34rpx 34rpx 44rpx;
  612. .withdraw-left {
  613. color: #ffffff;
  614. font-size: 26rpx;
  615. .num {
  616. font-size: 36rpx;
  617. }
  618. }
  619. .withdraw-right {
  620. width: 160rpx;
  621. height: 54rpx;
  622. background-color: #f7d2ca;
  623. display: flex;
  624. justify-content: center;
  625. align-items: center;
  626. border-radius: 27rpx;
  627. }
  628. }
  629. .per-info {
  630. width: 100%;
  631. display: flex;
  632. color: #ffffff;
  633. justify-content: space-around;
  634. .per-item {
  635. padding: 4rpx 0;
  636. width: 33.33%;
  637. display: flex;
  638. justify-content: center;
  639. align-items: center;
  640. display: flex;
  641. flex-direction: column;
  642. align-items: center;
  643. .num {
  644. margin-top: 20rpx;
  645. font-size: 36rpx;
  646. }
  647. }
  648. }
  649. }
  650. }
  651. .updates {
  652. margin-top: 18rpx;
  653. width: 100%;
  654. display: flex;
  655. justify-content: center;
  656. image {
  657. width: 710rpx;
  658. height: 90rpx;
  659. }
  660. }
  661. .my-order {
  662. width: 710rpx;
  663. height: 238rpx;
  664. background: #ffffff;
  665. box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
  666. border-radius: 20rpx;
  667. // margin: 20rpx auto 0;
  668. margin: -64rpx auto 0;
  669. .tit {
  670. padding-left: 20rpx;
  671. font-size: 30rpx;
  672. font-weight: bold;
  673. color: #666666;
  674. line-height: 80rpx;
  675. border-bottom: 1px solid #f5f5f5;
  676. }
  677. .order-list {
  678. display: flex;
  679. text-align: center;
  680. padding-top: 35rpx;
  681. .list-item {
  682. flex: 1;
  683. .item-top {
  684. width: 100%;
  685. height: 43rpx;
  686. margin-bottom: 20rpx;
  687. }
  688. .item-foot {
  689. font-size: 24rpx;
  690. font-weight: 500;
  691. color: #333333;
  692. line-height: 1;
  693. }
  694. }
  695. }
  696. }
  697. .award-box {
  698. width: 100%;
  699. padding: 24rpx 24rpx 0;
  700. image {
  701. width: 100%;
  702. height: 170rpx;
  703. }
  704. }
  705. .chain-box {
  706. width: 100%;
  707. padding: 12rpx 24rpx 0;
  708. image {
  709. width: 100%;
  710. height: 170rpx;
  711. }
  712. }
  713. .my-gongju {
  714. width: 710rpx;
  715. height: 382rpx;
  716. background: #ffffff;
  717. box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
  718. border-radius: 20rpx;
  719. margin: 12rpx auto;
  720. .title {
  721. padding-left: 20rpx;
  722. font-size: 30rpx;
  723. font-weight: bold;
  724. color: #666666;
  725. line-height: 80rpx;
  726. border-bottom: 1px solid #f5f5f5;
  727. }
  728. .gonglu-box {
  729. .box-top {
  730. display: flex;
  731. text-align: center;
  732. .list-item {
  733. // flex: 1;
  734. margin-top: 45rpx;
  735. display: flex;
  736. flex-direction: column;
  737. padding: 0;
  738. width: 25%;
  739. background: none;
  740. &::after {
  741. border: none;
  742. }
  743. .item-top {
  744. width: 100%;
  745. height: 43rpx;
  746. display: flex;
  747. align-items: center;
  748. justify-content: center;
  749. margin-bottom: 20rpx;
  750. }
  751. .item-foot {
  752. font-size: 24rpx;
  753. font-weight: 500;
  754. color: #333333;
  755. line-height: 1;
  756. }
  757. }
  758. }
  759. }
  760. }
  761. .management {
  762. width: 710rpx;
  763. height: 254rpx;
  764. background: #ffffff;
  765. box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
  766. border-radius: 20rpx;
  767. margin: 12rpx auto;
  768. .title {
  769. padding-left: 20rpx;
  770. font-size: 30rpx;
  771. font-weight: bold;
  772. color: #666666;
  773. line-height: 80rpx;
  774. border-bottom: 1px solid #f5f5f5;
  775. }
  776. .gonglu-box {
  777. .box-top {
  778. display: flex;
  779. text-align: center;
  780. .list-item {
  781. // flex: 1;
  782. margin-top: 45rpx;
  783. display: flex;
  784. flex-direction: column;
  785. padding: 0;
  786. width: 25%;
  787. background: none;
  788. &::after {
  789. border: none;
  790. }
  791. .item-top {
  792. width: 100%;
  793. height: 43rpx;
  794. display: flex;
  795. align-items: center;
  796. justify-content: center;
  797. margin-bottom: 26rpx;
  798. image {
  799. position: relative;
  800. z-index: 10;
  801. }
  802. .type {
  803. position: absolute;
  804. top: -15rpx;
  805. right: 20rpx;
  806. font-size: 20rpx;
  807. // background: #ff0000;
  808. color: #ffffff;
  809. padding: 0 6rpx;
  810. border-radius: 12rpx;
  811. }
  812. }
  813. .item-foot {
  814. font-size: 24rpx;
  815. font-weight: 500;
  816. color: #333333;
  817. line-height: 1;
  818. }
  819. }
  820. }
  821. }
  822. }
  823. .popup-box {
  824. width: 522rpx;
  825. height: 605rpx;
  826. background-color: #ffffff;
  827. border-radius: 20rpx;
  828. position: relative;
  829. .img {
  830. position: relative;
  831. top: -56rpx;
  832. left: 0;
  833. width: 522rpx;
  834. height: 132rpx;
  835. display: flex;
  836. justify-content: center;
  837. image {
  838. border-radius: 20rpx 20rpx 0 0;
  839. width: 450rpx;
  840. height: 132rpx;
  841. }
  842. }
  843. .mian {
  844. margin-top: -44rpx;
  845. display: flex;
  846. flex-direction: column;
  847. align-items: center;
  848. // padding: 32rpx 32rpx;
  849. background-color: #ffffff;
  850. border-radius: 0 0 20rpx 20rpx;
  851. text-align: center;
  852. .delivery {
  853. font-size: 40rpx;
  854. color: #333333;
  855. display: flex;
  856. align-items: center;
  857. flex-direction: column;
  858. .title {
  859. }
  860. image {
  861. margin-top: 48rpx;
  862. width: 172rpx;
  863. height: 160rpx;
  864. }
  865. }
  866. .nocancel {
  867. font-size: 32rpx;
  868. color: #333333;
  869. margin-top: 14rpx;
  870. }
  871. .comfirm-box {
  872. margin-top: 52rpx;
  873. display: flex;
  874. // margin-bottom: 32rpx;
  875. // justify-content: space-around;
  876. .cancel {
  877. display: flex;
  878. align-items: center;
  879. justify-content: center;
  880. width: 197rpx;
  881. height: 74rpx;
  882. border: 1px solid #dcc786;
  883. border-radius: 38rpx;
  884. font-size: 32rpx;
  885. color: #605128;
  886. }
  887. .comfirm {
  888. margin-left: 32rpx;
  889. display: flex;
  890. align-items: center;
  891. justify-content: center;
  892. width: 197rpx;
  893. height: 74rpx;
  894. background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
  895. border-radius: 38px;
  896. font-size: 32rpx;
  897. color: #605128;
  898. }
  899. }
  900. }
  901. }
  902. .hx-wrapper {
  903. width: 536rpx;
  904. height: 630rpx;
  905. position: relative;
  906. // background-color: #fff;
  907. .hx-img {
  908. width: 536rpx;
  909. height: 281rpx;
  910. image {
  911. width: 536rpx;
  912. height: 281rpx;
  913. }
  914. }
  915. .hx-close {
  916. position: absolute;
  917. left: 243rpx;
  918. bottom: -80rpx;
  919. width: 52rpx;
  920. height: 52rpx;
  921. image {
  922. width: 52rpx;
  923. height: 52rpx;
  924. }
  925. }
  926. .hx-body {
  927. width: 536rpx;
  928. height: 349rpx;
  929. background-color: #fff;
  930. border-radius: 0 0 10rpx 10rpx;
  931. .hx-title {
  932. width: 536rpx;
  933. font-size: 36rpx;
  934. font-weight: 500;
  935. color: #333333;
  936. line-height: 1;
  937. padding-top: 42rpx;
  938. text-align: center;
  939. }
  940. input {
  941. width: 439rpx;
  942. height: 68rpx;
  943. background: #eeddde;
  944. border-radius: 10rpx;
  945. margin: 39rpx auto 0;
  946. padding-left: 26rpx;
  947. .hx-placeholder {
  948. font-size: 26rpx;
  949. font-weight: 500;
  950. color: #901b21;
  951. }
  952. }
  953. .hx-btn {
  954. margin: 44rpx auto 0;
  955. width: 353rpx;
  956. height: 71rpx;
  957. background: #901b21;
  958. border-radius: 34rpx;
  959. font-size: 36rpx;
  960. font-weight: 500;
  961. color: #f8f9f9;
  962. line-height: 71rpx;
  963. text-align: center;
  964. }
  965. }
  966. }
  967. </style>