user.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932
  1. <template>
  2. <view class="container">
  3. <view class="vheigh"></view>
  4. <view class="top-image"><image src="../../static/img/user-top.png" mode=""></image></view>
  5. <view class="" style="height: 150rpx;"></view>
  6. <view class="user-box">
  7. <view class="user-info flex">
  8. <image class="avatar" :src="userInfo.avatar" mode="" v-if="userInfo.avatar"></image>
  9. <image class="avatar" src="../../static/error/missing-face.png" mode="" v-else></image>
  10. <view class="user-name-id">
  11. <view class="user-name clamp2">{{ userInfo.nickname || '游客' }}</view>
  12. <view class="user-uid">{{ userInfo.phone || '' }}</view>
  13. </view>
  14. </view>
  15. <view class="money-box">
  16. <view class="main flex">
  17. <view class="oitem" @click="navTo('/pages/user/myHdq')">
  18. <view class="oitem-val">{{ userInfo.now_money || '0.00' }}</view>
  19. <view class="oitem-font">我的奖金</view>
  20. </view>
  21. <view class="jg"></view>
  22. <view class="oitem" @click="navTo('/pages/user/myLq')">
  23. <view class="oitem-val">{{ userInfo.brokerage_price || '0.00' }}</view>
  24. <view class="oitem-font">我的积分</view>
  25. </view>
  26. <view class="jg"></view>
  27. <view class="oitem" @click="navTo('/pages/user/myJf')">
  28. <view class="oitem-val">{{ userInfo.integral }}</view>
  29. <view class="oitem-font">消费券</view>
  30. </view>
  31. </view>
  32. </view>
  33. <view class="u-set" v-if="userInfo && (userInfo.diamond_member != 0 || userInfo.vip_member != 0)">
  34. <image src="../../static/icon/vip.png" mode="widthFix" class=""></image>
  35. <view class="u-set-tit">{{ userInfo.diamond_member != 0 ? '钻石VIP' : 'VIP' }}</view>
  36. </view>
  37. </view>
  38. <view class="main-box">
  39. <view class="title flex" @click="navTo('/pages/order/order?state=0')">
  40. <view class="title-left"><view class="title-font">我的订单</view></view>
  41. <view class="title-right-wrap">
  42. 全部
  43. <image class="title-right" src="../../static/icon/goto.png" mode=""></image>
  44. </view>
  45. </view>
  46. <view class="main flex">
  47. <view class="item" @click="navTo('/pages/order/order?state=0')">
  48. <image class="item-image" src="../../static/icon/i1.png" mode=""></image>
  49. <view class="item-font">待付款</view>
  50. </view>
  51. <view class="item" @click="navTo('/pages/order/order?state=1')">
  52. <image class="item-image" src="../../static/icon/i2.png" mode=""></image>
  53. <view class="item-font">待发货</view>
  54. </view>
  55. <view class="item" @click="navTo('/pages/order/order?state=2')">
  56. <image class="item-image" src="../../static/icon/i3.png" mode=""></image>
  57. <view class="item-font">待收货</view>
  58. </view>
  59. <view class="item" @click="navTo('/pages/order/order?state=3')">
  60. <image class="item-image" src="../../static/icon/i4.png" mode=""></image>
  61. <view class="item-font">已完成</view>
  62. </view>
  63. </view>
  64. </view>
  65. <view class="main-box">
  66. <view class="title flex">
  67. <view class="title-left"><view class="title-font">我的功能</view></view>
  68. </view>
  69. <view class="main flex">
  70. <view class="item" @click="navTo('/pages/activity/activity')">
  71. <image class="item-image" src="../../static/icon/u1.png" mode=""></image>
  72. <view class="item-font">升级礼包</view>
  73. </view>
  74. <view class="item" @click="navTo('/pages/user/myHdq')">
  75. <image class="item-image" src="../../static/icon/u2.png" mode=""></image>
  76. <view class="item-font">我的钱包</view>
  77. </view>
  78. <view class="item" @click="navTo('/pages/user/myTeam')">
  79. <image class="item-image" src="../../static/icon/u3.png" mode=""></image>
  80. <view class="item-font">我的推广</view>
  81. </view>
  82. <view class="item" @click="navTo('/pages/user/shareQrCode')">
  83. <image class="item-image" src="../../static/icon/u4.png" mode=""></image>
  84. <view class="item-font">邀请有礼</view>
  85. </view>
  86. <view class="item" @click="navTo('/pages/user/favorites')">
  87. <image class="item-image" src="../../static/icon/u5.png" mode=""></image>
  88. <view class="item-font">我的收藏</view>
  89. </view>
  90. <view class="item" @click="openKf()">
  91. <image class="item-image" src="../../static/icon/u6.png" mode=""></image>
  92. <view class="item-font">客服中心</view>
  93. </view>
  94. <view class="item" @click="navTo('/pages/set/address')">
  95. <image class="item-image" src="../../static/icon/u7.png" mode=""></image>
  96. <view class="item-font">收货地址</view>
  97. </view>
  98. <view class="item" @click="navTo('/pages/set/userinfo')">
  99. <image class="item-image" src="../../static/icon/u8.png" mode=""></image>
  100. <view class="item-font">设置</view>
  101. </view>
  102. </view>
  103. </view>
  104. <view class="" style="height: 20rpx;"></view>
  105. <uni-popup ref="popupkf" type="center">
  106. <view class="popup-box">
  107. <view class="img"><image src="../../static/img/img009.png" mode=""></image></view>
  108. <view class="mian">
  109. <view class="delivery">
  110. <view class="title">已经为您定制专属客服</view>
  111. <image src="../../static/img/img010.png" mode=""></image>
  112. </view>
  113. <view class="nocancel">客服VX:{{ text }}</view>
  114. <view class="comfirm-box">
  115. <view class="cancel" @click="cancel">取消</view>
  116. <view class="comfirm" @click="comfirm(text)">复制微信</view>
  117. </view>
  118. </view>
  119. </view>
  120. </uni-popup>
  121. </view>
  122. </template>
  123. <script>
  124. import { mapState, mapMutations } from 'vuex';
  125. import uniList from '@/components/uni-list/uni-list.vue';
  126. import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
  127. import { orderData, getUserInfo, check, getUser } from '@/api/user.js';
  128. import { saveUrl, interceptor } from '@/utils/loginUtils.js';
  129. let startY = 0,
  130. moveY = 0,
  131. pageAtTop = true;
  132. export default {
  133. components: {
  134. uniList,
  135. uniListItem
  136. },
  137. data() {
  138. return {
  139. current: 2,
  140. id: '', //是否已签到
  141. store_name: '',
  142. achievement: '',
  143. code: '',
  144. text: '' //客服微信
  145. };
  146. },
  147. onShow() {
  148. // 判断是否已经登录
  149. // if (this.hasLogin) {
  150. // this.loadBaseData();
  151. // }
  152. this.loadBaseData();
  153. },
  154. filters: {
  155. phone(e) {
  156. var subStr1 = e.substr(0, 3);
  157. var subStr2 = e.substr(e.length - 4, 4);
  158. var subStr = subStr1 + '...' + subStr2;
  159. e = subStr;
  160. return e;
  161. }
  162. },
  163. onReady() {
  164. // 初始化获取页面宽度
  165. uni.createSelectorQuery()
  166. .select('.container')
  167. .fields(
  168. {
  169. size: true
  170. },
  171. data => {
  172. // 计算最多下拉的高度
  173. this.userDowm = Math.floor((data.width / 750) * 185);
  174. // 计算最大触发修改高度事件
  175. this.userMaxDowm = Math.floor((data.width / 750) * 250);
  176. }
  177. )
  178. .exec();
  179. },
  180. computed: {
  181. ...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
  182. },
  183. methods: {
  184. ...mapMutations('user', ['setUserInfo']),
  185. qhx() {
  186. check({
  187. verify_code: this.code,
  188. is_confirm: 1 //1是核销,0是查看
  189. })
  190. .then(e => {
  191. this.$api.msg('核销成功');
  192. this.close();
  193. })
  194. .catch(e => {
  195. console.log(e);
  196. });
  197. },
  198. phone(e) {
  199. console.log(e, 'e++++');
  200. if (e.length > 10) {
  201. var subStr1 = e.substr(0, 3);
  202. var subStr2 = e.substr(e.length - 4, 4);
  203. var subStr = subStr1 + '...' + subStr2;
  204. e = subStr;
  205. return e;
  206. } else {
  207. return false;
  208. }
  209. },
  210. sao() {
  211. let obj = this;
  212. // #ifndef H5
  213. uni.scanCode({
  214. success(e) {
  215. obj.code = e.result;
  216. obj.$refs.popuphx.open();
  217. console.log(obj.$refs.popuphx);
  218. }
  219. });
  220. // #endif
  221. },
  222. comfirm(text) {
  223. console.log(text);
  224. const result = this.uniCopy(text);
  225. if (result === false) {
  226. uni.showToast({
  227. title: '不支持'
  228. });
  229. } else {
  230. uni.showToast({
  231. title: '复制成功',
  232. icon: 'none'
  233. });
  234. }
  235. this.$refs.popupkf.close();
  236. },
  237. uniCopy(content) {
  238. /**
  239. * 小程序端 和 app端的复制逻辑
  240. */
  241. //#ifndef H5
  242. uni.setClipboardData({
  243. data: content,
  244. success: function() {
  245. console.log('success');
  246. return true;
  247. }
  248. });
  249. //#endif
  250. /**
  251. * H5端的复制逻辑
  252. */
  253. // #ifdef H5
  254. if (!document.queryCommandSupported('copy')) {
  255. //为了兼容有些浏览器 queryCommandSupported 的判断
  256. // 不支持
  257. return false;
  258. }
  259. let textarea = document.createElement('textarea');
  260. textarea.value = content;
  261. textarea.readOnly = 'readOnly';
  262. document.body.appendChild(textarea);
  263. textarea.select(); // 选择对象
  264. textarea.setSelectionRange(0, content.length); //核心
  265. let result = document.execCommand('copy'); // 执行浏览器复制命令
  266. textarea.remove();
  267. return result;
  268. // #endif
  269. },
  270. // 加载初始数据
  271. loadBaseData() {
  272. getUserInfo({})
  273. .then(({ data }) => {
  274. console.log(data.nickname);
  275. this.setUserInfo(data);
  276. })
  277. .catch(e => {
  278. console.log(e);
  279. });
  280. },
  281. /**
  282. * 统一跳转接口,拦截未登录路由
  283. * navigator标签现在默认没有转场动画,所以用view
  284. */
  285. navTo(url) {
  286. console.log(url);
  287. if (!this.hasLogin) {
  288. // 保存地址
  289. saveUrl();
  290. // 登录拦截
  291. interceptor();
  292. } else {
  293. uni.navigateTo({
  294. url
  295. });
  296. }
  297. },
  298. close() {
  299. this.$refs.popuphx.close();
  300. this.code = '';
  301. },
  302. // 打开客服
  303. openKf() {
  304. this.$refs.popupkf.open();
  305. },
  306. // 关闭客服
  307. cancel() {
  308. this.$refs.popupkf.close();
  309. },
  310. // 打开绑定
  311. open() {
  312. this.$refs.gspass.open();
  313. },
  314. cast() {
  315. set_waiter({
  316. uid: this.id
  317. })
  318. .then(e => {
  319. this.$api.msg('绑定成功');
  320. this.$refs.gspass.close();
  321. this.id = '';
  322. })
  323. .catch(err => {
  324. this.$refs.gspass.close();
  325. this.id = '';
  326. });
  327. },
  328. cancelpass() {
  329. this.$refs.gspass.close();
  330. this.id = '';
  331. }
  332. }
  333. };
  334. </script>
  335. <style lang="scss">
  336. %flex-center {
  337. display: flex;
  338. flex-direction: column;
  339. justify-content: center;
  340. align-items: center;
  341. }
  342. %section {
  343. display: flex;
  344. justify-content: space-around;
  345. align-content: center;
  346. background: #fff;
  347. border-radius: 10rpx;
  348. }
  349. .container,
  350. page {
  351. min-height: 100%;
  352. height: auto;
  353. background-color: $page-color-base;
  354. }
  355. .vheigh {
  356. height: var(--status-bar-height);
  357. background-color: $base-color;
  358. }
  359. .top-image {
  360. position: absolute;
  361. top: 0;
  362. left: 0;
  363. right: 0;
  364. height: 300rpx;
  365. image {
  366. width: 100%;
  367. height: 100%;
  368. }
  369. }
  370. .popup-box {
  371. width: 522rpx;
  372. height: 605rpx;
  373. background-color: #ffffff;
  374. border-radius: 20rpx;
  375. position: relative;
  376. .img {
  377. position: relative;
  378. top: -56rpx;
  379. left: 0;
  380. width: 522rpx;
  381. height: 132rpx;
  382. display: flex;
  383. justify-content: center;
  384. image {
  385. border-radius: 20rpx 20rpx 0 0;
  386. width: 450rpx;
  387. height: 132rpx;
  388. }
  389. }
  390. .mian {
  391. margin-top: -44rpx;
  392. display: flex;
  393. flex-direction: column;
  394. align-items: center;
  395. // padding: 32rpx 32rpx;
  396. background-color: #ffffff;
  397. border-radius: 0 0 20rpx 20rpx;
  398. text-align: center;
  399. .delivery {
  400. font-size: 40rpx;
  401. color: #333333;
  402. display: flex;
  403. align-items: center;
  404. flex-direction: column;
  405. image {
  406. margin-top: 48rpx;
  407. width: 172rpx;
  408. height: 160rpx;
  409. }
  410. }
  411. .nocancel {
  412. font-size: 32rpx;
  413. color: #333333;
  414. margin-top: 14rpx;
  415. }
  416. .comfirm-box {
  417. margin-top: 52rpx;
  418. display: flex;
  419. // margin-bottom: 32rpx;
  420. // justify-content: space-around;
  421. .cancel {
  422. display: flex;
  423. align-items: center;
  424. justify-content: center;
  425. width: 197rpx;
  426. height: 74rpx;
  427. border: 1px solid #dcc786;
  428. border-radius: 38rpx;
  429. font-size: 32rpx;
  430. color: #605128;
  431. }
  432. .comfirm {
  433. margin-left: 32rpx;
  434. display: flex;
  435. align-items: center;
  436. justify-content: center;
  437. width: 197rpx;
  438. height: 74rpx;
  439. background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
  440. border-radius: 38px;
  441. font-size: 32rpx;
  442. color: #605128;
  443. }
  444. }
  445. }
  446. }
  447. .money-box {
  448. margin: 20rpx 0 0;
  449. width: 100%;
  450. background: #ffffff;
  451. }
  452. .main {
  453. flex-wrap: wrap;
  454. padding: 50rpx 0 30rpx;
  455. .jg {
  456. width: 1rpx;
  457. height: 32rpx;
  458. background: #333333;
  459. }
  460. .item {
  461. padding-bottom: 30rpx;
  462. width: 25%;
  463. display: flex;
  464. flex-direction: column;
  465. align-items: center;
  466. .item-image {
  467. height: 40rpx;
  468. width: 42rpx;
  469. }
  470. .item-font {
  471. margin-top: 20rpx;
  472. font-size: 24rpx;
  473. font-family: PingFang SC;
  474. font-weight: 500;
  475. color: #333333;
  476. }
  477. }
  478. .oitem {
  479. width: 33%;
  480. display: flex;
  481. flex-direction: column;
  482. align-items: center;
  483. .oitem-val {
  484. font-size: 36rpx;
  485. font-weight: bold;
  486. color: #333333;
  487. }
  488. .oitem-font {
  489. margin-top: 20rpx;
  490. font-size: 24rpx;
  491. font-family: PingFang SC;
  492. font-weight: 500;
  493. color: #333333;
  494. }
  495. }
  496. }
  497. .user-box {
  498. position: relative;
  499. z-index: 2;
  500. width: 690rpx;
  501. margin: 0 auto;
  502. /* #ifdef MP-WEIXIN */
  503. margin: -100rpx auto 0;
  504. /* #endif */
  505. background: #ffffff;
  506. box-shadow: 0px 4rpx 13rpx 0px rgba(229, 229, 229, 0.46);
  507. border-radius: 20rpx;
  508. display: flex;
  509. flex-direction: column;
  510. align-items: center;
  511. padding: 54rpx 0 30rpx;
  512. line-height: 1;
  513. position: relative;
  514. .u-set {
  515. position: absolute;
  516. top: 85rpx;
  517. right: 0rpx;
  518. width: 178rpx;
  519. height: 60rpx;
  520. image {
  521. width: 178rpx;
  522. position: relative;
  523. }
  524. .u-set-tit {
  525. position: absolute;
  526. width: 120rpx;
  527. height: 60rpx;
  528. text-align: center;
  529. top: 0;
  530. right: 0;
  531. font-size: 22rpx;
  532. padding-right: 10rpx;
  533. line-height: 60rpx;
  534. }
  535. }
  536. .user-info {
  537. justify-content: flex-start;
  538. width: 100%;
  539. padding-left: 40rpx;
  540. .avatar {
  541. border-radius: 50%;
  542. width: 132rpx;
  543. height: 132rpx;
  544. background-color: #eee;
  545. margin-right: 18rpx;
  546. }
  547. .user-uid {
  548. padding-top: 10rpx;
  549. font-size: 24rpx;
  550. font-weight: 500;
  551. color: #666666;
  552. }
  553. }
  554. .user-name {
  555. width: 300rpx;
  556. margin-top: 14rpx;
  557. font-size: 30rpx;
  558. font-family: PingFang SC;
  559. font-weight: bold;
  560. color: #333333;
  561. }
  562. .user-shop {
  563. margin-top: 10rpx;
  564. display: flex;
  565. justify-content: flex-start;
  566. align-items: center;
  567. .user-shop-item {
  568. position: relative;
  569. margin: 0 10rpx;
  570. width: 105rpx;
  571. height: 42rpx;
  572. .user-shop-icon {
  573. position: absolute;
  574. top: 0;
  575. left: 0;
  576. right: 0;
  577. width: 105rpx;
  578. height: 42rpx;
  579. }
  580. .user-shopname {
  581. padding-left: 18rpx;
  582. position: relative;
  583. z-index: 2;
  584. font-size: 20rpx;
  585. font-family: PingFang SC;
  586. font-weight: 500;
  587. color: #977843;
  588. line-height: 42rpx;
  589. text-align: center;
  590. }
  591. }
  592. }
  593. // .user-shop {
  594. // margin-top: 10rpx;
  595. // display: flex;
  596. // justify-content: center;
  597. // align-items: center;
  598. // .user-shop-icon {
  599. // width: 22rpx;
  600. // height: 22rpx;
  601. // }
  602. // .user-shopname {
  603. // margin-left: 6rpx;
  604. // font-size: 20rpx;
  605. // font-family: PingFang SC;
  606. // font-weight: 500;
  607. // color: #ff7e3e;
  608. // }
  609. // }
  610. .user-money {
  611. width: 100%;
  612. margin-top: 50rpx;
  613. justify-content: center;
  614. .user-money-item {
  615. width: 50%;
  616. display: flex;
  617. flex-direction: column;
  618. justify-content: center;
  619. align-items: center;
  620. .user-money-num {
  621. font-size: 36rpx;
  622. font-family: PingFang SC;
  623. font-weight: bold;
  624. color: #333333;
  625. }
  626. .user-money-font {
  627. margin-top: 20rpx;
  628. font-size: 22rpx;
  629. font-family: PingFang SC;
  630. font-weight: 500;
  631. color: #666666;
  632. }
  633. }
  634. .user-xian {
  635. width: 1px;
  636. height: 77rpx;
  637. background: #eeeeee;
  638. }
  639. }
  640. }
  641. .main-box {
  642. margin: 20rpx auto 0;
  643. width: 710rpx;
  644. background: #ffffff;
  645. box-shadow: 0px 4rpx 14rpx 0px rgba(229, 229, 229, 0.46);
  646. border-radius: 20rpx;
  647. .title {
  648. display: flex;
  649. justify-content: space-between;
  650. align-items: center;
  651. padding: 24rpx;
  652. // border-bottom: 1px solid #eeeeee;
  653. .title-left {
  654. display: flex;
  655. align-items: center;
  656. image {
  657. width: 35rpx;
  658. }
  659. .title-icon {
  660. width: 32rpx;
  661. height: 32rpx;
  662. }
  663. .title-font {
  664. margin-left: 20rpx;
  665. font-size: 28rpx;
  666. font-family: PingFang SC;
  667. font-weight: bold;
  668. color: #333333;
  669. }
  670. }
  671. .title-right-wrap {
  672. font-size: 26rpx;
  673. font-weight: 400;
  674. color: #666666;
  675. .title-right {
  676. margin-left: 10rpx;
  677. width: 14rpx;
  678. height: 24rpx;
  679. }
  680. }
  681. }
  682. }
  683. .tool-list {
  684. width: 690rpx;
  685. margin: 20rpx auto 0;
  686. background: #ffffff;
  687. box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
  688. border-radius: 20rpx;
  689. }
  690. .psw-wrapper {
  691. width: 548rpx;
  692. padding: 20rpx 0;
  693. background-color: #ffffff;
  694. border-radius: 15rpx 15rpx;
  695. .psw-title {
  696. width: 100%;
  697. font-size: 35rpx;
  698. padding: 0 0 40rpx;
  699. text-align: center;
  700. font-weight: 800;
  701. }
  702. .psw-content {
  703. width: 100%;
  704. font-size: 32rpx;
  705. text-align: center;
  706. }
  707. .psw-price {
  708. font-weight: bold;
  709. font-size: 68rpx;
  710. text-align: center;
  711. padding-top: 10rpx;
  712. }
  713. .psw-jg {
  714. height: 1px;
  715. width: 500rpx;
  716. background-color: #eee;
  717. margin: auto;
  718. }
  719. .psw-paytype {
  720. justify-content: space-between;
  721. padding: 10rpx 25rpx 30rpx;
  722. font-size: 26rpx;
  723. }
  724. .psw-ipt {
  725. display: block;
  726. background-color: #dce3ed;
  727. height: 90rpx;
  728. width: 464rpx;
  729. padding-left: 30rpx;
  730. margin: 0 auto;
  731. font-size: 80rpx;
  732. }
  733. .psw-btn text {
  734. display: inline-block;
  735. text-align: center;
  736. width: 50%;
  737. padding-top: 29rpx;
  738. font-size: 35rpx;
  739. }
  740. .psw-qd {
  741. color: #ff4c4c;
  742. }
  743. }
  744. .hx-wrapper {
  745. width: 536rpx;
  746. height: 630rpx;
  747. position: relative;
  748. // background-color: #fff;
  749. .hx-img {
  750. width: 536rpx;
  751. height: 281rpx;
  752. image {
  753. width: 536rpx;
  754. height: 281rpx;
  755. }
  756. }
  757. .hx-close {
  758. position: absolute;
  759. left: 243rpx;
  760. bottom: -80rpx;
  761. width: 52rpx;
  762. height: 52rpx;
  763. image {
  764. width: 52rpx;
  765. height: 52rpx;
  766. }
  767. }
  768. .hx-body {
  769. width: 536rpx;
  770. height: 349rpx;
  771. background-color: #fff;
  772. border-radius: 0 0 10rpx 10rpx;
  773. .hx-title {
  774. width: 536rpx;
  775. font-size: 36rpx;
  776. font-weight: 500;
  777. color: #333333;
  778. line-height: 1;
  779. padding-top: 42rpx;
  780. text-align: center;
  781. }
  782. input {
  783. width: 439rpx;
  784. height: 68rpx;
  785. background: #dbf3e9;
  786. border-radius: 10rpx;
  787. margin: 39rpx auto 0;
  788. padding-left: 26rpx;
  789. .hx-placeholder {
  790. font-size: 26rpx;
  791. font-weight: 500;
  792. color: #ff4c4c;
  793. }
  794. }
  795. .hx-btn {
  796. margin: 44rpx auto 0;
  797. width: 353rpx;
  798. height: 71rpx;
  799. background: #ff4c4c;
  800. border-radius: 34rpx;
  801. font-size: 36rpx;
  802. font-weight: 500;
  803. color: #f8f9f9;
  804. line-height: 71rpx;
  805. text-align: center;
  806. }
  807. }
  808. }
  809. .user-list {
  810. width: 691rpx;
  811. height: 104rpx;
  812. background: #ffffff;
  813. // box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
  814. // border-radius: 28rpx;
  815. margin: auto;
  816. padding: 0 25rpx;
  817. .left-img {
  818. width: 40rpx;
  819. height: 40rpx;
  820. }
  821. view {
  822. padding-left: 20rpx;
  823. flex-grow: 1;
  824. font-size: 29rpx;
  825. font-weight: bold;
  826. color: #5d5d5d;
  827. }
  828. .right-img {
  829. width: 13rpx;
  830. height: 23rpx;
  831. }
  832. }
  833. .user-list-wrap {
  834. margin: 20rpx auto;
  835. width: 710rpx;
  836. background: #ffffff;
  837. box-shadow: 0px 4rpx 13rpx 0px rgba(229, 229, 229, 0.46);
  838. border-radius: 20rpx;
  839. }
  840. .yexq {
  841. margin-top: 20rpx;
  842. width: 100%;
  843. font-size: 28rpx;
  844. font-weight: bold;
  845. color: #333333;
  846. justify-content: space-between;
  847. padding: 0 33rpx;
  848. image {
  849. margin-right: 10rpx;
  850. }
  851. .yexq-item {
  852. width: 50%;
  853. }
  854. .huer {
  855. justify-content: flex-start;
  856. }
  857. .qianger {
  858. justify-content: flex-end;
  859. }
  860. }
  861. </style>