manageIndex.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767
  1. <template>
  2. <view class="content containers" style="height: 100%;">
  3. <view class="bg" v-if="!viewload"></view>
  4. <view class="cont-box" v-if="!viewload">
  5. <view class="user-cont" @click="navTo('/pages_managedata/userInfo')">
  6. <view class="user-box" v-if="user!=null">
  7. <view class="left">
  8. <u-avatar :src="user.avatar" size="50"></u-avatar>
  9. <!-- <image class="img" :src="user.avatar" mode="aspectFill"></image> -->
  10. <view class="user">
  11. <view class="username">{{user.nickName}}</view>
  12. <view class="account">{{user.email}}</view>
  13. </view>
  14. </view>
  15. <view class="right">
  16. <image :src="imgPath+'/app/images/right_arrow.png'"></image>
  17. </view>
  18. </view>
  19. <view class="justify-between align-center">
  20. <view class="company" v-if="user!=null">
  21. <!-- <image :src="imgPath+'/app/images/icon_comp.png'"></image> -->
  22. <view class="base-color-6">公司:</view>
  23. <view class="name">{{user.companyName||'暂无数据'}}</view>
  24. </view>
  25. <view class="company" v-if="user!=null">
  26. <view class="base-color-6">部门:</view>
  27. <view class="name">{{user.dept.deptName||'无'}}</view>
  28. </view>
  29. </view>
  30. <view class="justify-between align-center">
  31. <view class="company" v-if="user!=null">
  32. <view class="base-color-6">岗位:</view>
  33. <view class="name">{{user.postname||'无'}}</view>
  34. </view>
  35. <view class="company" v-if="user!=null">
  36. <view class="base-color-6">角色:</view>
  37. <view class="name">{{user.rolesname||'无'}}</view>
  38. </view>
  39. </view>
  40. </view>
  41. <view class="bgf radius15 p30 justify-between align-center mb40" v-if="balance">
  42. <view class="fs24">红包剩余金额</view>
  43. <view class="fs40 bold">{{balance.toFixed(2)}}</view>
  44. </view>
  45. <view class="menu-box" >
  46. <view class="title-box">
  47. <image class="icon" :src="imgPath+'/app/manergevip/chang.png'"></image>
  48. <view class="title">常用功能</view>
  49. </view>
  50. <view class="line"></view>
  51. <view class="menus" v-if="user!=null">
  52. <view class="menu-item" @click="navTo('/pages_managedata/managedetail')">
  53. <image :src="imgPath+'/app/images/menu_info.png'"></image>
  54. <view class="m-name">销售管理</view>
  55. </view>
  56. <view class="menu-item" @click="navTo('/pages_managedata/users')" v-if="user.userType=='00'">
  57. <image :src="imgPath+'/app/manergevip/qudao.png'"></image>
  58. <view class="m-name">审核销售</view>
  59. </view>
  60. <view class="menu-item" @click="handleShare" v-if="user.userType=='00'">
  61. <image :src="imgPath+'/app/manergevip/share-manage.png'"></image>
  62. <view class="m-name">邀请销售</view>
  63. </view>
  64. <view class="menu-item" @click="navTo('/pages_managedata/lableSetup')">
  65. <image :src="imgPath+'/app/images/changeLable.png'"></image>
  66. <view class="m-name">标签设置</view>
  67. </view>
  68. </view>
  69. </view>
  70. <view class="menu-box">
  71. <view class="title-box">
  72. <image class="icon" :src="imgPath+'/app/manergevip/qita.png'"></image>
  73. <view class="title">其它工具</view>
  74. </view>
  75. <view class="line"></view>
  76. <view class="menus">
  77. <view class="menu-item" @click="navTo('/pages_index/voice')">
  78. <!-- <image :src="imgPath+'/app/manergevip/about.png'"></image> -->
  79. <u-icon name="mic" size="28"></u-icon>
  80. <view class="m-name">声音录制</view>
  81. </view>
  82. <view class="menu-item" @click="navTo('/pages_index/voiceList')">
  83. <!-- <image :src="imgPath+'/app/manergevip/about.png'"></image> -->
  84. <u-icon name="mic" size="28"></u-icon>
  85. <view class="m-name">声音采集</view>
  86. </view>
  87. <view class="menu-item" @click="navTo('/pages_managedata/about')">
  88. <image :src="imgPath+'/app/manergevip/about.png'"></image>
  89. <view class="m-name">关于我们</view>
  90. </view>
  91. <view class="menu-item" @click="navTo('/pages_managedata/editUser')">
  92. <image :src="imgPath+'/app/manergevip/setup.png'"></image>
  93. <view class="m-name">设置</view>
  94. </view>
  95. <!-- <view class="menu-item" @click="navTo('/pages_course/exportlist/exportlist')">
  96. <u-icon name="attach" color="#2979ff" size="28"></u-icon>
  97. <view class="m-name">导出列表</view>
  98. </view> -->
  99. </view>
  100. </view>
  101. <view class="btn-box">
  102. <view class="sub-btn" @click="showLogout()">退出登录</view>
  103. </view>
  104. </view>
  105. <!-- 分享弹窗 -->
  106. <u-popup :show="showShare" :closeOnClickOverlay="true" :round='20' @close="closeShare" @open="openShare">
  107. <view class="sharePop x-ac">
  108. <!--#ifdef MP-WEIXIN-->
  109. <view class="sharePop-item y-f" @click="shareimg">
  110. <image :src="imgPath+'/app/images/card_icon.png'" mode="aspectFill"
  111. style="width: 80rpx; height: 80rpx;margin-top: 20rpx;"></image>
  112. <view style="font-weight: bold;margin-bottom: 4px;">生成卡片</view>
  113. <view style="font-size: 12px;color: #888;">指导分享轻松转发</view>
  114. <button open-type="share" class="share">分享课程</button>
  115. </view>
  116. <!--#endif-->
  117. <!-- <view class="sharePop-item y-f" @click="buildimg">
  118. <image :src="imgPath+'/app/images/poster_icon.png'" mode="aspectFill"></image>
  119. <view style="font-weight: bold;margin-bottom: 4px;">生成海报</view>
  120. <view style="font-size: 12px;color: #888;">保存海报美观宣传</view>
  121. </view> -->
  122. <!--#ifdef H5-->
  123. <view class="sharePop-item y-f" @click="shareSale">
  124. <image :src="imgPath+'/app/images/link_icon.png'" mode="aspectFill"></image>
  125. <view style="font-weight: bold;margin-bottom: 4px;">复制链接</view>
  126. <view style="font-size: 12px;color: #888;">生成链接一键复制</view>
  127. </view>
  128. <!--#endif-->
  129. </view>
  130. </u-popup>
  131. <!-- 长按保存海报 -->
  132. <u-popup :show="setImg" @close="closeimg" :round="12">
  133. <view class="w100 h500">
  134. <image :src="codeLink.url" class="codeimg w660" mode="widthFix"></image>
  135. </view>
  136. <view class="justify-around mtb40">
  137. <view class="column justify-center align-center" @click="downimg">
  138. <image :src="imgPath+'/app/image/downicon.png'" class="w80 h80"></image>
  139. <view class="mt10">长按图片保存</view>
  140. </view>
  141. </view>
  142. </u-popup>
  143. <!-- 设置链接有效时长弹窗 -->
  144. <!-- <u-modal :show="setTimeShow" content='content' class="model" @confirm="confirmTime">
  145. <view class="setTimebox">
  146. <view class="timetip">不传默认以系统参数为准</view>
  147. <view class="x-f">
  148. <text style="margin-right: 20px;">链接有效时长(分钟)</text>
  149. <u-input fontSize="14px" placeholder="链接有效时长" border="none" v-model="time" maxlength="5"></u-input>
  150. </view>
  151. </view>
  152. </u-modal> -->
  153. <!-- 卡片分享引导 -->
  154. <u-overlay :show="showzhidao" @click="showzhidao = false" style="z-index: 9999;">
  155. <view class="point-box">
  156. <view class="imgshe">
  157. <image :src="imgPath+'/app/image/point.png'" class="w300 h300"></image>
  158. </view>
  159. <view class="column colorf fs32 xu-box fs40 align-center justify-center">
  160. <view class="justify-center">点击右上角
  161. <image :src="imgPath+'/app/image/wxmore.png'" class="w50 h50 mlr10"></image>
  162. </view>
  163. <view class="mt20">选择 “转发给朋友”</view>
  164. <view style="color: #cbcbcb;" class="fs28 mt40">点击任意位置关闭弹窗</view>
  165. </view>
  166. </view>
  167. </u-overlay>
  168. <u-modal :show="show" title="提示" :showCancelButton="true" @cancel="hideLogout()" @confirm="logout()"
  169. content='确认退出吗?'></u-modal>
  170. <u-loading-page :loading="viewload" iconSize="32" loadingColor="#3c9cff" fontSize="20"
  171. :loading-text="loadingtext"></u-loading-page>
  172. </view>
  173. </template>
  174. <script>
  175. import {
  176. getCompanyUser
  177. } from '@/api/manageCompany.js'
  178. // import {
  179. // sharecourselink,
  180. // buildCode,
  181. // getSDK,
  182. // becomeVipuser,
  183. // becomeVipuserImg
  184. // } from '@/api/courseManage'
  185. // import wx from 'weixin-js-sdk'
  186. export default {
  187. data() {
  188. return {
  189. viewload: true,
  190. loadingtext: "数据加载中...",
  191. show: false,
  192. user: null,
  193. showShare: false,
  194. copyLinks: '',
  195. setTimeShow: false,
  196. time: '',
  197. setImg: false,
  198. codeLink: '',
  199. showzhidao: false,
  200. imgs: this.$store.state.imgpath + '/app/image/logo.png',
  201. balance: 0
  202. }
  203. },
  204. onShow() {
  205. console.log(this.imgs)
  206. },
  207. onShareAppMessage() {
  208. return {
  209. title: this.$store.state.logoname + '小程序的' + this.user.nickName + '邀请您成为销售', // 分享卡片标题
  210. path: '/pages_course/course/becomeSale?id=' + this.user.companyId, // 目标页面路径
  211. // 携带参数:将当前页面的数据拼接到路径中
  212. imageUrl: this.user.avatar || this.imgs, // 分享卡片封面图(可选)
  213. success: (res) => {
  214. console.log("分享成功", res);
  215. },
  216. fail: (err) => {
  217. console.log("分享失败", err);
  218. },
  219. }
  220. },
  221. computed: {
  222. imgPath() {
  223. return this.$store.state.imgpath
  224. }
  225. },
  226. mounted() {
  227. this.getCompanyUsers()
  228. },
  229. methods: {
  230. shareSale() {
  231. const fullUrl = location.href;
  232. const Path = fullUrl.split('/#')[0] || '';
  233. setTimeout(() => {
  234. uni.setClipboardData({
  235. data: Path + '/#/pages_course/course/becomeSale?id=' + this.user.companyId+'&companyUserId='+this.user.userId,
  236. success: () => {
  237. uni.showToast({
  238. title: '邀请链接已复制',
  239. icon: 'none',
  240. duration: 2000
  241. });
  242. // this.setTimeShow = !this.setTimeShow
  243. this.showShare = false
  244. // console.log(res)
  245. },
  246. fail: () => {
  247. uni.showToast({
  248. title: '复制失败',
  249. icon: 'none'
  250. });
  251. }
  252. });
  253. }, 100)
  254. },
  255. // 获取jssdk
  256. getjssdklist() {
  257. const param = {
  258. url: window.location.href.split('#')[0] // 注意去除 hash
  259. }
  260. getSDK(param).then(res => {
  261. wx.config({
  262. debug: false,
  263. appId: res.data.appId, // 必填,公众号的唯一标识
  264. timestamp: res.data.timestamp, // 必填,生成签名的时间戳
  265. nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
  266. signature: res.data.signature, // 必填,签名
  267. jsApiList: ["updateAppMessageShareData",
  268. "onMenuShareAppMessage",
  269. ] // 必填,需要使用的JS接口列表
  270. });
  271. })
  272. },
  273. shareimg() {
  274. //分享好友
  275. let self = this
  276. // 配置--配置全局
  277. wx.ready(function() { //需在用户可能点击分享按钮前就先调用
  278. wx.updateAppMessageShareData({
  279. title: self.user.userName + "邀请您成为销售", // 分享标题
  280. desc: self.user.deptName, // 分享描述
  281. link: self.copyLinks,
  282. imgUrl: self.codeLink.url || self.imgs, // 分享图标
  283. success: function(res) {
  284. self.showzhidao = true
  285. self.setImg = false
  286. self.showShare = false
  287. // 设置成功
  288. uni.showToast({
  289. title: '卡片已生成',
  290. icon: 'none',
  291. duration: 1000
  292. });
  293. },
  294. fail: function(err) {
  295. // console.log(err);
  296. uni.showToast({
  297. title: '卡片生成失败,请重试',
  298. icon: 'none',
  299. duration: 2000
  300. })
  301. }
  302. })
  303. });
  304. },
  305. handleShare() {
  306. this.showShare = true
  307. const pages = '/pages_course/becomeSale?id=' + this.user.companyId+'&companyUserId='+this.user.userId
  308. this.$emit('childsales', pages);
  309. // this.getjssdklist()
  310. // this.getlink('preload'); // 提前加载链接
  311. },
  312. //设置链接时长
  313. confirmTime() {
  314. this.setTimeShow = false
  315. this.showShare = false
  316. this.getlink('preload')
  317. this.copyLink()
  318. },
  319. closeimg() {
  320. this.setImg = false
  321. this.showShare = false
  322. },
  323. buildimg() {
  324. //生成海报
  325. this.setImg = !this.setImg
  326. this.getshareimg()
  327. },
  328. getshareimg() {
  329. //生成海报
  330. uni.showLoading({
  331. title: '正在生成中...'
  332. })
  333. const param = {
  334. code: '',
  335. companyId: this.user.companyId,
  336. companyUserId: this.user.userId
  337. }
  338. becomeVipuserImg(param).then(res => {
  339. if (res.code == 200) {
  340. this.codeLink = res.data
  341. this.getlink()
  342. // console.log(res)
  343. } else {
  344. uni.showToast({
  345. title: res.msg,
  346. icon: 'none',
  347. duration: 2000
  348. });
  349. }
  350. })
  351. },
  352. getlink(type) {
  353. //生成链接
  354. const param = {
  355. companyId: this.user.companyId,
  356. companyUserId: this.user.userId,
  357. tagids: '',
  358. limitTime: this.time
  359. }
  360. becomeVipuser(param).then(res => {
  361. if (res.code == 200) {
  362. this.copyLinks = res.data
  363. if (this.copyLinks.startsWith('http://')) {
  364. this.copyLinks = this.copyLinks.replace('http://', 'https://');
  365. }
  366. // console.log(this.copyLinks,'分享链接')
  367. } else {}
  368. })
  369. },
  370. copyLink() {
  371. console.log(this.showShare)
  372. setTimeout(() => {
  373. uni.setClipboardData({
  374. data: this.copyLinks,
  375. success: () => {
  376. uni.showToast({
  377. title: '链接已复制',
  378. icon: 'none',
  379. duration: 2000
  380. });
  381. // this.setTimeShow = !this.setTimeShow
  382. this.showShare = false
  383. },
  384. fail: () => {
  385. uni.showToast({
  386. title: '复制失败',
  387. icon: 'none'
  388. });
  389. }
  390. });
  391. }, 100)
  392. },
  393. closeShare() {
  394. this.showShare = false
  395. },
  396. openShare() {
  397. // this.showShare = false
  398. },
  399. showLogout() {
  400. this.show = true;
  401. },
  402. hideLogout() {
  403. this.show = false;
  404. },
  405. logout() {
  406. uni.removeStorageSync('ManageToken')
  407. // 条件编译判断平台,设置不同登录页路径
  408. let loginPage = '';
  409. // #ifdef H5
  410. loginPage = '/pages/auth/login';
  411. // #endif
  412. // #ifdef MP-WEIXIN
  413. loginPage = '/pages_manage/login';
  414. // #endif
  415. uni.navigateTo({
  416. url: loginPage,
  417. })
  418. },
  419. navTo(url) {
  420. uni.navigateTo({
  421. url
  422. })
  423. },
  424. getCompanyUsers() {
  425. var data = {};
  426. getCompanyUser(data).then(res => {
  427. if (res.code == 200) {
  428. this.viewload = false
  429. console.log(res)
  430. this.user = res.user;
  431. this.balance = res.balance
  432. if (res.user.posts) {
  433. this.user.postname = res.user.posts.map(item => item.postName).join(",")
  434. }
  435. if (res.user.roles) {
  436. this.user.rolesname = res.user.roles.map(item => item.roleName).join(",")
  437. }
  438. if (this.user.avatar) {
  439. this.user.avatar = uni.getStorageSync('requestPath') + res.user.avatar
  440. } else {
  441. this.user.avatar == '';
  442. }
  443. console.log('头像', this.user.avatar)
  444. } else {
  445. }
  446. });
  447. },
  448. }
  449. }
  450. </script>
  451. <style scoped lang="scss">
  452. page {
  453. height: 100%;
  454. background: #f6f6f6;
  455. }
  456. .share {
  457. display: inline-block;
  458. position: absolute;
  459. top: 0;
  460. left: 0;
  461. width: 100%;
  462. height: 100%;
  463. opacity: 0;
  464. }
  465. .containers {
  466. font-family: PingFang SC, PingFang SC;
  467. font-weight: 400;
  468. font-size: 14px;
  469. color: #222222;
  470. height: 100%;
  471. overflow: hidden;
  472. }
  473. .imgshe {
  474. display: flex;
  475. flex-direction: row-reverse
  476. }
  477. .point-box {
  478. height: 100%;
  479. width: 100%;
  480. .xu-box {
  481. border: #f5f5f5 4rpx dashed;
  482. padding: 20rpx 20rpx;
  483. }
  484. }
  485. .setTimebox {
  486. font-family: PingFang SC, PingFang SC;
  487. font-weight: 400;
  488. font-size: 14px;
  489. width: fit-content;
  490. height: fit-content;
  491. }
  492. .codeimg {
  493. position: absolute;
  494. z-index: 9999;
  495. left: 40rpx;
  496. top: 40rpx;
  497. }
  498. .timetip {
  499. font-family: PingFang SC, PingFang SC;
  500. font-weight: 400;
  501. font-size: 14px;
  502. color: #2979ff;
  503. text-align: center;
  504. margin-bottom: 5px;
  505. }
  506. .content {
  507. position: relative;
  508. height: 100vh;
  509. width: 100%;
  510. .bg {
  511. width: 100%;
  512. height: 550upx;
  513. position: absolute;
  514. top: 0;
  515. left: 0;
  516. z-index: 1;
  517. background: linear-gradient(to bottom, #dae9ff, #e1e1fd);
  518. // background: linear-gradient(to bottom, #8bbfff, #1773ff);
  519. border-radius: 0rpx 0rpx 60rpx 60rpx;
  520. }
  521. .cont-box {
  522. position: relative;
  523. z-index: 2;
  524. padding: 30rpx 30rpx 200rpx;
  525. padding-bottom:400rpx;
  526. .user-cont {
  527. // box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.05);
  528. // padding: 30rpx;
  529. // background-color: #fff;
  530. border-radius: 15rpx;
  531. .user-box {
  532. width: 100%;
  533. display: flex;
  534. align-items: center;
  535. justify-content: flex-start;
  536. .left {
  537. flex: 1;
  538. display: flex;
  539. align-items: center;
  540. justify-content: flex-start;
  541. image {
  542. border-radius: 50%;
  543. width: 120rpx;
  544. height: 120rpx;
  545. }
  546. .user {
  547. margin-left: 20rpx;
  548. width: calc(100% - 140rpx);
  549. display: flex;
  550. flex-direction: column;
  551. align-items: flex-start;
  552. justify-content: flex-start;
  553. .username {
  554. font-size: 38rpx;
  555. font-family: PingFang SC;
  556. color: #111;
  557. font-weight: bold;
  558. }
  559. .account {
  560. padding: 5rpx 0rpx;
  561. border-radius: 30rpx;
  562. margin-top: 20rpx;
  563. font-size: 24rpx;
  564. font-family: PingFang SC;
  565. color: #515151;
  566. }
  567. }
  568. }
  569. .right {
  570. image {
  571. width: 15rpx;
  572. height: 30rpx;
  573. }
  574. }
  575. }
  576. .company {
  577. margin-top: 20rpx;
  578. display: flex;
  579. align-items: center;
  580. justify-content: flex-start;
  581. image {
  582. width: 40rpx;
  583. height: 40rpx;
  584. }
  585. .name {
  586. margin-left: 15rpx;
  587. font-size: 28rpx;
  588. color: #111;
  589. }
  590. }
  591. }
  592. .menu-box {
  593. box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
  594. // width: 100%;
  595. margin-top: 30rpx;
  596. padding: 30rpx;
  597. background-color: #fff;
  598. border-radius: 15rpx;
  599. .title-box {
  600. display: flex;
  601. align-items: center;
  602. justify-content: flex-start;
  603. .icon {
  604. width: 40rpx;
  605. height: 40rpx;
  606. }
  607. .title {
  608. margin-left: 10rpx;
  609. font-size: 28rpx;
  610. font-family: PingFang SC;
  611. color: #111;
  612. }
  613. }
  614. .line {
  615. margin-top: 15rpx;
  616. height: 0.5rpx;
  617. width: 100%;
  618. background-color: #efefef;
  619. }
  620. .menus {
  621. margin-top: 30rpx;
  622. display: flex;
  623. align-items: center;
  624. justify-content: flex-start;
  625. flex-wrap: wrap;
  626. }
  627. .menu-item {
  628. display: flex;
  629. flex-direction: column;
  630. align-items: center;
  631. justify-content: center;
  632. width: 25%;
  633. margin-bottom: 20rpx;
  634. image {
  635. width: 60rpx;
  636. height: 60rpx;
  637. }
  638. .m-name {
  639. margin-top: 10rpx;
  640. font-size: 24rpx;
  641. font-family: PingFang SC;
  642. color: #111;
  643. }
  644. }
  645. }
  646. .menu-box1 {
  647. width: 100%;
  648. margin-top: 30rpx;
  649. padding: 0rpx 30rpx;
  650. background-color: #fff;
  651. border-radius: 15rpx;
  652. .menu-item {
  653. width: 100%;
  654. display: flex;
  655. align-items: center;
  656. justify-content: flex-start;
  657. line-height: 100rpx;
  658. .left {
  659. flex: 1;
  660. display: flex;
  661. align-items: center;
  662. justify-content: flex-start;
  663. image {
  664. width: 30rpx;
  665. height: 30rpx;
  666. }
  667. .label {
  668. margin-left: 10rpx;
  669. }
  670. }
  671. .right {
  672. image {
  673. width: 10rpx;
  674. height: 15rpx;
  675. }
  676. }
  677. }
  678. }
  679. }
  680. }
  681. .btn-box {
  682. margin: 30rpx 0rpx 30rpx;
  683. display: flex;
  684. align-items: center;
  685. justify-content: center;
  686. .sub-btn {
  687. // box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.05);
  688. border: 1rpx solid #f8f8f8;
  689. background: #FFFFFF;
  690. width: 100%;
  691. height: 88upx;
  692. line-height: 88upx;
  693. text-align: center;
  694. font-size: 30upx;
  695. font-family: PingFang SC;
  696. color: #2979ff;
  697. }
  698. }
  699. .sharePop {
  700. background-color: #fff;
  701. padding: 20px 0;
  702. border-radius: 20px 20px 0 0;
  703. &-item {
  704. padding: 0 10px;
  705. box-sizing: border-box;
  706. font-family: PingFang SC, PingFang SC;
  707. font-weight: 400;
  708. font-size: 14px;
  709. display: inline-flex !important;
  710. image {
  711. height: 48px;
  712. width: 48px;
  713. margin-bottom: 10px;
  714. }
  715. }
  716. }
  717. </style>