user.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113
  1. <template>
  2. <view class="container">
  3. <!-- <view class="vheigh"></view> -->
  4. <view class="" style="height: 100rpx;"></view>
  5. <view class="user-box">
  6. <!-- <view class="u-level" v-if="userInfo && userInfo.zero_level_name && userInfo.zero_level > 0">
  7. {{userInfo.zero_level_name}}
  8. </view> -->
  9. <view class="user-info flex">
  10. <image class="avatar" :src="userInfo.avatar" mode="" v-if="userInfo.avatar"
  11. @click="navTo('/pages/set/userinfo')"></image>
  12. <image class="avatar" src="../../static/error/missing-face.png" mode="" v-else
  13. @click="navTo('/pages/set/userinfo')"></image>
  14. <!-- <image class="user-shop-icon" v-if="userInfo && userInfo.level" :src="showLevel(userInfo.level)"
  15. mode=""></image> -->
  16. <view class="user-name" v-if="userInfo && userInfo.uid" style="color: #fdbc36;width: 500px;">
  17. {{userInfo.level?showLevel(userInfo.level):""}}
  18. </view>
  19. <!-- {{userInfo.level && userInfo.zero_level_name && userInfo.zero_level > 0 ?' - ': ''}}{{ userInfo.zero_level_name && userInfo.zero_level > 0?userInfo.zero_level_name:''}} -->
  20. <view class="user-name clamp2">{{ userInfo.nickname || '游客'}}</view>
  21. <!-- <view class="user-id" v-if="userInfo && userInfo.uid">
  22. {{showLevel(userInfo.level)}}
  23. </view> -->
  24. </view>
  25. </image>
  26. </view>
  27. <view class="main-box">
  28. <view class="main flex">
  29. <view class="oitem oitem1" @click="navTo('/pages/user/award')">
  30. <view class="val">
  31. {{userInfo.brokerage_price || '0'}}
  32. </view>
  33. <view class="oitem-font">我的奖金</view>
  34. </view>
  35. <view class="oitem oitem1" @click="navTo('/pages/user/yue')">
  36. <view class="val">
  37. {{userInfo.now_money || '0'}}
  38. </view>
  39. <view class="oitem-font">我的余额</view>
  40. </view>
  41. <view class="oitem oitem1" @click="navTo('/pages/user/team')">
  42. <view class="val">
  43. {{userInfo.spread_count || '0'}}
  44. </view>
  45. <view class="oitem-font">我的推广</view>
  46. </view>
  47. </view>
  48. </view>
  49. <view class="main-box">
  50. <view class="title flex" @click="navTo('/pages/order/order?state=0')">
  51. <view class="title-left">
  52. <view class="title-font">我的订单</view>
  53. </view>
  54. <image class="title-right" src="../../static/icon/back.png" mode=""></image>
  55. </view>
  56. <view class="main flex">
  57. <view class="oitem" @click="navTo('/pages/order/order?state=0')">
  58. <image class="oitem-image" src="../../static/user/o1.png" mode=""></image>
  59. <view class="oitem-font">待付款</view>
  60. </view>
  61. <view class="oitem" @click="navTo('/pages/order/order?state=1')">
  62. <image class="oitem-image" src="../../static/user/o2.png" mode=""></image>
  63. <view class="oitem-font">待发货</view>
  64. </view>
  65. <view class="oitem" @click="navTo('/pages/order/order?state=2')">
  66. <image class="oitem-image" src="../../static/user/o3.png" mode=""></image>
  67. <view class="oitem-font">待收货</view>
  68. </view>
  69. <view class="oitem" @click="navTo('/pages/order/order?state=3')">
  70. <image class="oitem-image" src="../../static/user/o4.png" mode=""></image>
  71. <view class="oitem-font">已完成</view>
  72. </view>
  73. </view>
  74. </view>
  75. <!-- <view class="main-box">
  76. <view class="title flex" @click="navTo('/pages/order/order?state=0')">
  77. <view class="title-left">
  78. <view class="title-font">推广收益</view>
  79. </view>
  80. </view>
  81. <view class="main flex">
  82. <view class="oitem oitem1" @click="navTo('/pages/user/sz?type=6')">
  83. <view class="oitem-font oitem-font1">
  84. <image src="../../static/user/t1.png" mode=""></image> 分红点数
  85. </view>
  86. <view class="val">
  87. {{userInfo.dividend_points*1 || '0'}}
  88. </view>
  89. </view>
  90. <view class="oitem oitem1 oitem-font1" @click="navTo('/pages/user/sz?type=7')">
  91. <view class="oitem-font oitem-font1">
  92. <image src="../../static/user/t2.png" mode=""></image> 分红额度
  93. </view>
  94. <view class="val">
  95. {{userInfo.dividend_amount*1 || '0'}}
  96. </view>
  97. </view>
  98. <view class="oitem oitem1" @click="navTo('/pages/order/order?state=2')">
  99. <view class="oitem-font oitem-font1">
  100. <image src="../../static/user/t3.png" mode=""></image> 已分红
  101. </view>
  102. <view class="val">
  103. {{userInfo.use_cooperation_amount}}
  104. </view>
  105. </view>
  106. </view>
  107. </view> -->
  108. <view class="main-box">
  109. <view class="title flex" @click="navTo('/pages/order/order?state=0')">
  110. <view class="title-left">
  111. <view class="title-font">更多功能</view>
  112. </view>
  113. <image class="title-right" src="../../static/icon/back.png" mode=""></image>
  114. </view>
  115. <view class="main flex">
  116. <!-- #ifdef APP-PLUS -->
  117. <!-- <view class="oitem" @click="gorz" v-if="!isSh && userInfo && userInfo.uid && userInfo.is_real != 2">
  118. <image class="oitem-image" src="../../static/user/m9.png" mode=""></image>
  119. <view class="oitem-font">实名认证</view>
  120. </view> -->
  121. <!-- #endif -->
  122. <!-- #ifdef H5 -->
  123. <!-- <view class="oitem" @click="gorz" v-if="userInfo && userInfo.uid && userInfo.is_real != 2">
  124. <image class="oitem-image" src="../../static/user/m9.png" mode=""></image>
  125. <view class="oitem-font">实名认证</view>
  126. </view> -->
  127. <!-- #endif -->
  128. <!-- <view class="oitem" @click="navTo('/pages/order/dfOrder?state=0')">
  129. <image class="oitem-image" src="../../static/user/m1.png" mode=""></image>
  130. <view class="oitem-font">代付订单</view>
  131. </view> -->
  132. <!-- <view class="oitem" @click="smsh"> -->
  133. <view class="oitem" v-if="userInfo && userInfo.uid && userInfo.adminid" @click="smsh">
  134. <image class="oitem-image" src="../../static/user/m2.png" mode=""></image>
  135. <view class="oitem-font">扫码核销</view>
  136. </view>
  137. <view class="oitem" @click="navTo('/pages/user/team')">
  138. <image class="oitem-image" src="../../static/user/m3.png" mode=""></image>
  139. <view class="oitem-font">我的邀请</view>
  140. </view>
  141. <view class="oitem" @click="navTo('/pages/user/shareQrCode')">
  142. <image class="oitem-image" src="../../static/user/m4.png" mode=""></image>
  143. <view class="oitem-font">邀请好友</view>
  144. </view>
  145. <view class="oitem" @click="navTo('/pages/set/address')">
  146. <image class="oitem-image" src="../../static/user/m5.png" mode=""></image>
  147. <view class="oitem-font">收货地址</view>
  148. </view>
  149. <view class="oitem" @click="openPp('popupkf')">
  150. <image class="oitem-image" src="../../static/user/m6.png" mode=""></image>
  151. <view class="oitem-font">联系客服</view>
  152. </view>
  153. <view class="oitem" @click="navTo('/pages/set/userinfo')">
  154. <image class="oitem-image" src="../../static/user/m7.png" mode=""></image>
  155. <view class="oitem-font">设置</view>
  156. </view>
  157. <!-- <view class="oitem" @click="navTo('/pages/user/quanyi')">
  158. <image class="oitem-image" src="../../static/user/m8.png" mode=""></image>
  159. <view class="oitem-font">我的权益</view>
  160. </view> -->
  161. </view>
  162. </view>
  163. <!-- <view class="user-list flex" @click="smsh" v-if="userInfo && userInfo.uid && userInfo.adminid">
  164. <image src="../../static/icon/scend.png" mode="" class="left-img"></image>
  165. <view class="">
  166. 扫码核销
  167. </view>
  168. <image src="../../static/icon/back.png" mode="" class="right-img"></image>
  169. </view> -->
  170. <view class="" style="height: 20rpx;">
  171. </view>
  172. <uni-popup ref="popupkf" type="center">
  173. <view class="popup-box">
  174. <view class="img">
  175. <image src="../../static/img/img009.png" mode=""></image>
  176. </view>
  177. <view class="mian">
  178. <view class="delivery">
  179. <view class="title">已经为您定制专属客服</view>
  180. <image src="../../static/img/img010.png" mode=""></image>
  181. </view>
  182. <view class="nocancel">客服VX:{{ text }}</view>
  183. <view class="comfirm-box">
  184. <view class="cancel" @click="closePp('popupkf')">取消</view>
  185. <view class="comfirm" @click="comfirm(text)">复制微信</view>
  186. </view>
  187. </view>
  188. </view>
  189. </uni-popup>
  190. <!-- 核销弹窗 -->
  191. <!-- <uni-popup ref="popuphx" class="agree-wrapper">
  192. <view class="hx-wrapper">
  193. <view class="hx-img">
  194. <image src="../../static/img/hxbg1.png" mode=""></image>
  195. </view>
  196. <view class="hx-body">
  197. <view class="hx-title">
  198. 扫码核销
  199. </view>
  200. <input type="text" v-model="hxcode" placeholder="请输入核销码" placeholder-class="hx-placeholder" />
  201. <view class="hx-btn" @click="qhx">
  202. 立即核销
  203. </view>
  204. </view>
  205. <view class="hx-close" @click="close">
  206. <image src="../../static/icon/close.png" mode=""></image>
  207. </view>
  208. </view>
  209. </uni-popup> -->
  210. <!-- <uni-popup ref="popupdf" class="agree-wrapper">
  211. <view class="df-wrap">
  212. <view class="tit">
  213. 请输入代付码
  214. </view>
  215. <input type="text" v-model="dfcode" placeholder="请输入代付码" />
  216. <view class="btn" @click="goDf">
  217. 确认
  218. </view>
  219. <image src="../../static/user/close.png" mode="" class="close" @click="closePp('popupdf')"></image>
  220. </view>
  221. </uni-popup> -->
  222. <!-- #ifdef APP -->
  223. <yk-authpup ref="CAMERA" type="top" @changeAuth="changeAuth" permissionID="CAMERA"></yk-authpup>
  224. <!-- #endif -->
  225. </view>
  226. </template>
  227. <script>
  228. import ykAuthpup from "@/components/yk-authpup/yk-authpup";
  229. import {
  230. orderVerific
  231. } from '@/api/index.js'
  232. import {
  233. toScanCode
  234. } from '@/components/scan.js'
  235. // #ifdef H5
  236. import weixinObj from "@/plugin/jweixin-module/index.js";
  237. // #endif
  238. import {
  239. mapState,
  240. mapMutations
  241. } from 'vuex';
  242. import uniList from '@/components/uni-list/uni-list.vue';
  243. import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
  244. import {
  245. orderData,
  246. getUserInfo,
  247. check,
  248. getLevelList
  249. } from '@/api/user.js';
  250. import {
  251. saveUrl,
  252. interceptor
  253. } from '@/utils/loginUtils.js';
  254. import {
  255. createPaying,
  256. payingPay
  257. } from '@/api/order.js'
  258. let startY = 0,
  259. moveY = 0,
  260. pageAtTop = true;
  261. export default {
  262. components: {
  263. uniList,
  264. uniListItem,
  265. ykAuthpup
  266. },
  267. data() {
  268. return {
  269. isSh: true,
  270. listList: [], //等级列表
  271. current: 2,
  272. id: '', //是否已签到
  273. store_name: '',
  274. achievement: '',
  275. code: '',
  276. levelList: [],
  277. text: '', //客服微信
  278. hxcode: '', //核销码
  279. hxLoading: false,
  280. dfcode: '' //代付码
  281. };
  282. },
  283. onShow() {
  284. // 判断是否已经登录
  285. // if (this.hasLogin) {
  286. // this.loadBaseData();
  287. // }
  288. this.loadBaseData();
  289. // #ifdef APP-PLUS
  290. this.getSh()
  291. // #endif
  292. },
  293. filters: {
  294. phone(e) {
  295. var subStr1 = e.substr(0, 3);
  296. var subStr2 = e.substr(e.length - 4, 4);
  297. var subStr = subStr1 + '...' + subStr2;
  298. e = subStr;
  299. return e;
  300. }
  301. },
  302. onReady() {
  303. // 初始化获取页面宽度
  304. uni.createSelectorQuery()
  305. .select('.container')
  306. .fields({
  307. size: true
  308. },
  309. data => {
  310. // 计算最多下拉的高度
  311. this.userDowm = Math.floor((data.width / 750) * 185);
  312. // 计算最大触发修改高度事件
  313. this.userMaxDowm = Math.floor((data.width / 750) * 250);
  314. }
  315. )
  316. .exec();
  317. },
  318. computed: {
  319. ...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
  320. },
  321. methods: {
  322. ...mapMutations('user', ['setUserInfo']),
  323. getSh() {
  324. let that = this
  325. const getUpAppUrl = this.$store.state.baseURL + '/api/version'
  326. function compareVersions(version1, version2) {
  327. const v1 = version1.split('.');
  328. const v2 = version2.split('.');
  329. for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
  330. const num1 = parseInt(v1[i] || 0);
  331. const num2 = parseInt(v2[i] || 0);
  332. if (num1 < num2) {
  333. return -1;
  334. } else if (num1 > num2) {
  335. return 1;
  336. }
  337. }
  338. return 0;
  339. }
  340. uni.request({
  341. url: getUpAppUrl,
  342. method: 'GET',
  343. data: {},
  344. success: res => {
  345. let r = res.data.data;
  346. plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
  347. // 保存线上版本号
  348. //{"app_down":"www.baidu.com","app_version":"1.0.1"} , app
  349. let version = r.app_down;
  350. // 获取线上版本
  351. const arr = r.app_version.split('.');
  352. console.log(arr, 'app_version');
  353. // 获取当前系统
  354. const arr1 = wgtinfo.version.split('.');
  355. console.log();
  356. if (compareVersions(wgtinfo.version, r.app_version) <= 0) {
  357. console.log('zhe ');
  358. that.isSh = false
  359. } else {
  360. console.log('审核');
  361. that.isSh = true
  362. }
  363. });
  364. },
  365. });
  366. },
  367. openAuth() {
  368. this.$refs['CAMERA'].open()
  369. },
  370. changeAuth() {
  371. this.smsh()
  372. },
  373. gorz() {
  374. if (!this.hasLogin) {
  375. saveUrl();
  376. interceptor();
  377. } else {
  378. // uni.navigateTo({
  379. // url
  380. // });
  381. if (this.userInfo.is_real == 0) {
  382. this.navTo('/pages/user/smrz')
  383. } else if (this.userInfo.is_real == 1) {
  384. uni.showModal({
  385. title: "提示",
  386. content: '您提交的资料正在审核中,请耐心等待审核'
  387. })
  388. }
  389. }
  390. },
  391. getLevelList() {
  392. getLevelList().then(res => {
  393. console.log(res);
  394. this.listList = res.data.list
  395. })
  396. },
  397. showLevel(val) {
  398. let data = this.listList.find(item => item.grade == val)
  399. console.log(data);
  400. if (data) {
  401. // return data.icon
  402. return data.name
  403. } else {
  404. return ''
  405. }
  406. },
  407. close() {
  408. this.hxcode = ''
  409. this.$refs.popuphx.close()
  410. },
  411. qhx() {
  412. let that = this
  413. if (that.hxLoading) {
  414. return
  415. }
  416. if (that.hxcode == '') {
  417. return that.$api.msg('请输入核销码')
  418. }
  419. that.hxLoading = true
  420. orderVerific({
  421. verify_code: that.hxcode,
  422. is_confirm: 1
  423. }).then(res => {
  424. uni.showToast({
  425. title: '核销成功',
  426. mask: true,
  427. duration: 1500
  428. });
  429. that.close()
  430. that.hxLoading = false
  431. }).catch(err => [
  432. that.hxLoading = false
  433. ])
  434. },
  435. smsh() {
  436. let that = this
  437. // #ifdef H5
  438. toScanCode({
  439. onlyFromCamera: true // 只允许通过相机扫码
  440. }).then(res => {
  441. that.hxcode = res
  442. that.$refs.popuphx.open()
  443. }).catch(err => {
  444. console.log(err, 'err');
  445. that.$refs.popuphx.open()
  446. })
  447. // #endif
  448. // #ifndef H5
  449. uni.scanCode({
  450. success: (res) => {
  451. that.hxcode = res.result
  452. that.$refs.popuphx.open()
  453. }
  454. })
  455. // #endif
  456. },
  457. sao() {
  458. let obj = this;
  459. // #ifndef H5
  460. uni.scanCode({
  461. success(e) {
  462. obj.code = e.result;
  463. obj.$refs.popuphx.open();
  464. }
  465. });
  466. // #endif
  467. },
  468. comfirm(text) {
  469. console.log(text);
  470. const result = this.uniCopy(text);
  471. if (result === false) {
  472. uni.showToast({
  473. title: '不支持'
  474. });
  475. } else {
  476. uni.showToast({
  477. title: '复制成功',
  478. icon: 'none'
  479. });
  480. }
  481. this.$refs.popupkf.close();
  482. },
  483. uniCopy(content) {
  484. /**
  485. * 小程序端 和 app端的复制逻辑
  486. */
  487. //#ifndef H5
  488. uni.setClipboardData({
  489. data: content,
  490. success: function() {
  491. console.log('success');
  492. return true;
  493. }
  494. });
  495. //#endif
  496. /**
  497. * H5端的复制逻辑
  498. */
  499. // #ifdef H5
  500. if (!document.queryCommandSupported('copy')) {
  501. //为了兼容有些浏览器 queryCommandSupported 的判断
  502. // 不支持
  503. return false;
  504. }
  505. let textarea = document.createElement('textarea');
  506. textarea.value = content;
  507. textarea.readOnly = 'readOnly';
  508. document.body.appendChild(textarea);
  509. textarea.select(); // 选择对象
  510. textarea.setSelectionRange(0, content.length); //核心
  511. let result = document.execCommand('copy'); // 执行浏览器复制命令
  512. textarea.remove();
  513. return result;
  514. // #endif
  515. },
  516. // 加载初始数据
  517. loadBaseData() {
  518. const obj = this
  519. getUserInfo({})
  520. .then(({
  521. data
  522. }) => {
  523. obj.setUserInfo(data);
  524. obj.getLevelList()
  525. })
  526. .catch(e => {
  527. console.log(e);
  528. });
  529. },
  530. /**
  531. * 统一跳转接口,拦截未登录路由
  532. * navigator标签现在默认没有转场动画,所以用view
  533. */
  534. navTo(url) {
  535. console.log(url);
  536. if (!this.hasLogin) {
  537. // 保存地址
  538. saveUrl();
  539. // 登录拦截
  540. interceptor();
  541. } else {
  542. uni.navigateTo({
  543. url
  544. });
  545. }
  546. },
  547. openPp(name) {
  548. this.$refs[name].open();
  549. },
  550. closePp(name) {
  551. this.$refs[name].close();
  552. },
  553. goDf() {
  554. let that = this
  555. if (that.dfcode == '') {
  556. return that.$api.msg('请输入代付码')
  557. }
  558. createPaying({
  559. uni: that.dfcode
  560. }).then(res => {
  561. console.log(res);
  562. uni.navigateTo({
  563. url: '/pages/money/payt?uni=' + that.dfcode
  564. })
  565. })
  566. },
  567. }
  568. };
  569. </script>
  570. <style lang="scss">
  571. %flex-center {
  572. display: flex;
  573. flex-direction: column;
  574. justify-content: center;
  575. align-items: center;
  576. }
  577. %section {
  578. display: flex;
  579. justify-content: space-around;
  580. align-content: center;
  581. background: #fff;
  582. border-radius: 10rpx;
  583. }
  584. .container,
  585. page {
  586. min-height: 100%;
  587. height: auto;
  588. background-color: $page-color-base;
  589. }
  590. .container {
  591. background-image: url('https://xmyl.qiniu1314.com/static/image/u-bg.png');
  592. background-size: 750rpx 695rpx;
  593. background-repeat: no-repeat;
  594. }
  595. .vheigh {
  596. height: var(--status-bar-height);
  597. background-color: $base-color;
  598. }
  599. .top-image {
  600. position: absolute;
  601. top: 0;
  602. left: 0;
  603. right: 0;
  604. height: 228rpx;
  605. image {
  606. width: 100%;
  607. height: 100%;
  608. }
  609. }
  610. .popup-box {
  611. width: 522rpx;
  612. height: 605rpx;
  613. background-color: #ffffff;
  614. border-radius: 20rpx;
  615. position: relative;
  616. .img {
  617. position: relative;
  618. top: -56rpx;
  619. left: 0;
  620. width: 522rpx;
  621. height: 132rpx;
  622. display: flex;
  623. justify-content: center;
  624. image {
  625. border-radius: 20rpx 20rpx 0 0;
  626. width: 450rpx;
  627. height: 132rpx;
  628. }
  629. }
  630. .mian {
  631. margin-top: -44rpx;
  632. display: flex;
  633. flex-direction: column;
  634. align-items: center;
  635. // padding: 32rpx 32rpx;
  636. background-color: #ffffff;
  637. border-radius: 0 0 20rpx 20rpx;
  638. text-align: center;
  639. .delivery {
  640. font-size: 40rpx;
  641. color: #333333;
  642. display: flex;
  643. align-items: center;
  644. flex-direction: column;
  645. image {
  646. margin-top: 48rpx;
  647. width: 172rpx;
  648. height: 160rpx;
  649. }
  650. }
  651. .nocancel {
  652. font-size: 32rpx;
  653. color: #333333;
  654. margin-top: 14rpx;
  655. }
  656. .comfirm-box {
  657. margin-top: 52rpx;
  658. display: flex;
  659. // margin-bottom: 32rpx;
  660. // justify-content: space-around;
  661. .cancel {
  662. display: flex;
  663. align-items: center;
  664. justify-content: center;
  665. width: 197rpx;
  666. height: 74rpx;
  667. border: 1px solid #dcc786;
  668. border-radius: 38rpx;
  669. font-size: 32rpx;
  670. color: #605128;
  671. }
  672. .comfirm {
  673. margin-left: 32rpx;
  674. display: flex;
  675. align-items: center;
  676. justify-content: center;
  677. width: 197rpx;
  678. height: 74rpx;
  679. background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
  680. border-radius: 38px;
  681. font-size: 32rpx;
  682. color: #605128;
  683. }
  684. }
  685. }
  686. }
  687. .user-box {
  688. position: relative;
  689. z-index: 2;
  690. width: 690rpx;
  691. margin: 0 auto;
  692. /* #ifdef MP-WEIXIN */
  693. margin: -100rpx auto 0;
  694. /* #endif */
  695. // background: #ffffff;
  696. // box-shadow: 0px 4rpx 13rpx 0px rgba(229, 229, 229, 0.46);
  697. border-radius: 20rpx;
  698. display: flex;
  699. flex-direction: column;
  700. align-items: center;
  701. padding: 54rpx 0 30rpx;
  702. line-height: 1;
  703. position: relative;
  704. .u-set {
  705. position: absolute;
  706. top: 85rpx;
  707. right: 40rpx;
  708. width: 44rpx;
  709. height: 44rpx;
  710. }
  711. .user-info {
  712. flex-direction: column;
  713. justify-content: flex-start;
  714. width: 100%;
  715. // padding-left: 40rpx;
  716. color: #fff;
  717. .avatar {
  718. border-radius: 50%;
  719. width: 132rpx;
  720. height: 132rpx;
  721. background-color: #eee;
  722. }
  723. }
  724. .user-name {
  725. text-align: center;
  726. width: 300rpx;
  727. margin-top: 14rpx;
  728. // font-size: 30rpx;
  729. font-size: $ltl-size-big;
  730. font-weight: bold;
  731. color: #fff;
  732. }
  733. .user-id {
  734. text-align: center;
  735. font-size: 28rpx;
  736. // padding: 10rpx 0;
  737. width: 300rpx;
  738. height: 32rpx;
  739. margin: auto;
  740. }
  741. .user-shop-icon {
  742. display: block;
  743. margin: auto;
  744. width: 128rpx;
  745. height: 32rpx;
  746. }
  747. }
  748. .main-box {
  749. margin: 20rpx auto 0;
  750. width: 710rpx;
  751. background: #ffffff;
  752. box-shadow: 0px 4rpx 14rpx 0px rgba(229, 229, 229, 0.46);
  753. border-radius: 20rpx;
  754. .title {
  755. display: flex;
  756. justify-content: space-between;
  757. align-items: center;
  758. padding: 24rpx;
  759. border-bottom: 1px solid #eeeeee;
  760. .title-left {
  761. display: flex;
  762. align-items: center;
  763. .title-icon {
  764. width: 32rpx;
  765. height: 32rpx;
  766. }
  767. .title-font {
  768. margin-left: 20rpx;
  769. font-size: 30rpx;
  770. font-family: PingFang SC;
  771. font-weight: bold;
  772. color: #333333;
  773. }
  774. }
  775. .title-right {
  776. width: 14rpx;
  777. height: 24rpx;
  778. }
  779. }
  780. .main {
  781. padding: 20rpx 0;
  782. flex-wrap: wrap;
  783. justify-content: flex-start;
  784. .oitem1 {
  785. border-right: 1px solid #eee;
  786. flex-grow: 1;
  787. .oitem-font {
  788. image {
  789. width: 28rpx;
  790. height: 28rpx;
  791. vertical-align: top;
  792. margin-right: 10rpx;
  793. }
  794. }
  795. .oitem-font1 {
  796. padding-bottom: 20rpx;
  797. }
  798. &:last-of-type {
  799. border-right: none;
  800. }
  801. }
  802. .oitem {
  803. width: 25%;
  804. display: flex;
  805. flex-direction: column;
  806. align-items: center;
  807. margin: 30rpx 0 20rpx;
  808. .oitem-image {
  809. height: 40rpx;
  810. width: 42rpx;
  811. }
  812. .zc {
  813. width: 90rpx;
  814. height: 88rpx;
  815. }
  816. .val {
  817. font-weight: bold;
  818. font-size: 36rpx;
  819. color: #333333;
  820. }
  821. .zc-t {
  822. margin-top: 0 !important;
  823. }
  824. .oitem-font {
  825. margin-top: 20rpx;
  826. font-size: 24rpx;
  827. font-weight: 500;
  828. color: #333333;
  829. }
  830. }
  831. }
  832. }
  833. .tool-list {
  834. width: 690rpx;
  835. margin: 20rpx auto 0;
  836. background: #ffffff;
  837. box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
  838. border-radius: 20rpx;
  839. }
  840. .psw-wrapper {
  841. width: 548rpx;
  842. padding: 20rpx 0;
  843. background-color: #ffffff;
  844. border-radius: 15rpx 15rpx;
  845. .psw-title {
  846. width: 100%;
  847. font-size: 35rpx;
  848. padding: 0 0 40rpx;
  849. text-align: center;
  850. font-weight: 800;
  851. }
  852. .psw-content {
  853. width: 100%;
  854. font-size: 32rpx;
  855. text-align: center;
  856. }
  857. .psw-price {
  858. font-weight: bold;
  859. font-size: 68rpx;
  860. text-align: center;
  861. padding-top: 10rpx;
  862. }
  863. .psw-jg {
  864. height: 1px;
  865. width: 500rpx;
  866. background-color: #eee;
  867. margin: auto;
  868. }
  869. .psw-paytype {
  870. justify-content: space-between;
  871. padding: 10rpx 25rpx 30rpx;
  872. font-size: 26rpx;
  873. }
  874. .psw-ipt {
  875. display: block;
  876. background-color: #dce3ed;
  877. height: 90rpx;
  878. width: 464rpx;
  879. padding-left: 30rpx;
  880. margin: 0 auto;
  881. font-size: 80rpx;
  882. }
  883. .psw-btn text {
  884. display: inline-block;
  885. text-align: center;
  886. width: 50%;
  887. padding-top: 29rpx;
  888. font-size: 35rpx;
  889. }
  890. .psw-qd {
  891. color: #ff4c4c;
  892. }
  893. }
  894. .hx-wrapper {
  895. width: 536rpx;
  896. height: 630rpx;
  897. position: relative;
  898. // background-color: #fff;
  899. .hx-img {
  900. width: 536rpx;
  901. height: 281rpx;
  902. image {
  903. width: 536rpx;
  904. height: 281rpx;
  905. }
  906. }
  907. .hx-close {
  908. position: absolute;
  909. left: 243rpx;
  910. bottom: -80rpx;
  911. width: 52rpx;
  912. height: 52rpx;
  913. image {
  914. width: 52rpx;
  915. height: 52rpx;
  916. }
  917. }
  918. .hx-body {
  919. width: 536rpx;
  920. height: 349rpx;
  921. background-color: #fff;
  922. border-radius: 0 0 10rpx 10rpx;
  923. .hx-title {
  924. width: 536rpx;
  925. font-size: 36rpx;
  926. font-weight: 500;
  927. color: #333333;
  928. line-height: 1;
  929. padding-top: 42rpx;
  930. text-align: center;
  931. }
  932. input {
  933. width: 439rpx;
  934. height: 68rpx;
  935. background: #eee;
  936. border-radius: 10rpx;
  937. margin: 39rpx auto 0;
  938. padding-left: 26rpx;
  939. .hx-placeholder {
  940. font-size: 26rpx;
  941. font-weight: 500;
  942. color: $base-color;
  943. }
  944. }
  945. .hx-btn {
  946. margin: 44rpx auto 0;
  947. width: 353rpx;
  948. height: 71rpx;
  949. background: $base-color;
  950. border-radius: 34rpx;
  951. font-size: 36rpx;
  952. font-weight: 500;
  953. color: #f8f9f9;
  954. line-height: 71rpx;
  955. text-align: center;
  956. }
  957. }
  958. }
  959. .sqdl {
  960. display: block;
  961. width: 689rpx;
  962. margin: 20rpx auto 20rpx;
  963. }
  964. .df-wrap {
  965. width: 750rpx;
  966. height: 469rpx;
  967. background: #FFFFFF;
  968. border-radius: 16rpx;
  969. text-align: center;
  970. padding-top: 43rpx;
  971. position: relative;
  972. .tit {
  973. font-weight: bold;
  974. font-size: 36rpx;
  975. color: #262626;
  976. }
  977. input {
  978. height: 80rpx;
  979. font-weight: bold;
  980. font-size: 36rpx;
  981. color: #262626;
  982. width: 531rpx;
  983. border-bottom: 1px solid #EBEBED;
  984. margin: 80rpx auto 64rpx;
  985. }
  986. .btn {
  987. width: 640rpx;
  988. line-height: 96rpx;
  989. background: #FF6F0F;
  990. border-radius: 48rpx;
  991. font-size: 38rpx;
  992. color: #FFFFFF;
  993. margin: auto;
  994. }
  995. .close {
  996. position: absolute;
  997. right: 52rpx;
  998. top: 46rpx;
  999. width: 28rpx;
  1000. height: 28rpx;
  1001. }
  1002. }
  1003. .oitem2 {
  1004. flex-grow: 1;
  1005. }
  1006. .u-level {
  1007. position: absolute;
  1008. top: 0;
  1009. right: -30rpx;
  1010. // width: 175rpx;
  1011. height: 55rpx;
  1012. font-weight: bold;
  1013. // background-image: url('../../static/user/level.png');
  1014. // background-size: 100% 100%;
  1015. font-size: 30rpx;
  1016. color: #FFFFFF;
  1017. text-align: right;
  1018. padding: 20rpx 5rpx 0 0;
  1019. // background: linear-gradient(0deg, red 0%, #ffc049 100%);
  1020. // -webkit-background-clip: text;
  1021. // -webkit-text-fill-color: transparent;
  1022. color: #fff;
  1023. }
  1024. </style>