my.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  1. <template>
  2. <view>
  3. <!-- 公共组件-每个页面必须引入 -->
  4. <public-module></public-module>
  5. <!-- 头部信息Start -->
  6. <view class="headers " :style="headerStyle">
  7. <view class="dis a-c j-c">
  8. <text>我的</text>
  9. <image @tap="tool" src="/static/image/my/Frame.png" mode=""></image>
  10. </view>
  11. </view>
  12. <view class="Personnel">
  13. <view class="dis a-c" @tap="openDetail">
  14. <image :src="avatar" class="avatar" mode=""></image>
  15. <view class="info">
  16. <view class="dis a-c">
  17. <text>{{userInfo.sysUser.name}}</text>
  18. <u-tag :text="userInfo.sysUser.status=='1'?'已认证':'未认证'" mode="dark"
  19. style="background: linear-gradient( 268deg, #FF8B2F 0%, #FF5A00 100%);" />
  20. </view>
  21. <text>你身边最贴心,最权威的保险咨询专家。</text>
  22. </view>
  23. </view>
  24. <view class="my-wallet">
  25. <view class="wallet-body dis f-c">
  26. <view class="dis a-c j-s route">
  27. <view class="flex-1 dis f-c a-c" @tap="accountTool('/pages/wallet/wallet')">
  28. <image src="/static/image/my/qianbao.png" mode=""></image>
  29. <text>钱包</text>
  30. </view>
  31. <view class="flex-1 dis f-c a-c" @tap="accountTool('/pages/wallet/bankCard')">
  32. <image src="/static/image/my/ka.png" mode=""></image>
  33. <text>银行卡</text>
  34. </view>
  35. <view class="flex-1 dis f-c a-c" @tap="accountTool()">
  36. <image src="/static/image/my/chongzhi.png" mode="">
  37. </image>
  38. <text>充值</text>
  39. </view>
  40. </view>
  41. </view>
  42. </view>
  43. </view>
  44. <view class="my-tools">
  45. <view class="header ">
  46. <text>我的工具</text>
  47. </view>
  48. <view class="order-body d-flex a-center">
  49. <!-- 因为swiper特性的关系,请指定swiper的高度 ,swiper的高度并不会被内容撑开-->
  50. <uni-swiper-dot :info="info" :current="current" field="content" :mode="mode" :dots-styles="dotsStyles">
  51. <swiper style="height:calc(324upx)" class="swiper" @change="change">
  52. <swiper-item class="swiper" v-for="(count,cindex) of toolsListLength" :key="count">
  53. <uni-grid :column="4" :show-border="false" :square="false" :highlight="false"
  54. @change="toTools($event,'toolsList')">
  55. <uni-grid-item class="" v-show="(index>=(cindex)*8) && (index<(cindex+1)*8)"
  56. v-for="(item ,index) in toolsList" :index="index" :key="item.text">
  57. <view class="grid-item-box dis a-c j-c f-c">
  58. <view class="icon iconfont" :class="item.icon">
  59. </view>
  60. <text class="text">{{item.text}}</text>
  61. <u-badge v-if="item.text=='客户管理'" size="mini" type="error" :count="InsureCount"
  62. :offset="[10, 10]"></u-badge>
  63. </view>
  64. </uni-grid-item>
  65. </uni-grid>
  66. </swiper-item>
  67. </swiper>
  68. </uni-swiper-dot>
  69. </view>
  70. </view>
  71. <!-- 我的工具End -->
  72. <!-- 售后管理Start -->
  73. <view class="my-tools">
  74. <view class="header d-flex a-center j-sb">
  75. <view>售后管理</view>
  76. </view>
  77. <view class="order-body d-flex a-center">
  78. <!-- 因为swiper特性的关系,请指定swiper的高度 ,swiper的高度并不会被内容撑开-->
  79. <swiper style="height:calc(162upx)" class="swiper" :indicator-dots="(serviceListLength!=1)?true:false">
  80. <swiper-item class="swiper dis a-c" v-for="(count,cindex) of serviceListLength" :key="count">
  81. <uni-grid :column="4" :show-border="false" :square="false" :highlight="false"
  82. @change="toTools($event,'serviceList')">
  83. <uni-grid-item v-show="(index>=(cindex)*8) && (index<(cindex+1)*8)"
  84. v-for="(item ,index) in serviceList" :index="index" :key="item.text">
  85. <view class="grid-item-box dis a-c f-c">
  86. <image :src="item.image" mode=""></image>
  87. <text class="text">{{item.text}}</text>
  88. </view>
  89. </uni-grid-item>
  90. </uni-grid>
  91. </swiper-item>
  92. </swiper>
  93. </view>
  94. </view>
  95. <!-- 售后管理End -->
  96. <!-- 我的关于Start -->
  97. <view class="my-tools">
  98. <view class="header d-flex a-center j-sb">
  99. <view>关于掌柜</view>
  100. </view>
  101. <view class="order-body d-flex a-center">
  102. <!-- 因为swiper特性的关系,请指定swiper的高度 ,swiper的高度并不会被内容撑开-->
  103. <swiper style="height:calc(162upx)" class="swiper" :indicator-dots="(aboutListLength!=1)?true:false">
  104. <swiper-item class="swiper dis a-c" v-for="(count,cindex) of aboutListLength" :key="count">
  105. <uni-grid :column="4" :show-border="false" :square="false" :highlight="false"
  106. @change="toTools($event,'aboutList')">
  107. <uni-grid-item class="d-flex a-center j-center"
  108. v-show="(index>=(cindex)*8) && (index<(cindex+1)*8)" v-for="(item ,index) in aboutList"
  109. :index="index" :key="item.text">
  110. <view class="grid-item-box d-flex a-center j-center flex-column">
  111. <image :src="item.image" mode=""></image>
  112. <text class="text">{{item.text}}</text>
  113. </view>
  114. </uni-grid-item>
  115. </uni-grid>
  116. </swiper-item>
  117. </swiper>
  118. </view>
  119. </view>
  120. <!-- 我的关于End -->
  121. <!-- 菜单Start -->
  122. <!-- <block v-for="(item,index) in menusList" :key="index">
  123. <my-list-item :item="item" :index="index"></my-list-item>
  124. </block> -->
  125. <!-- 菜单End -->
  126. <u-modal v-model="modalshow" :show-title="false">
  127. <view class="slot-content dis a-c j-c" style="padding: 20px;">
  128. <img :src="promoImage" alt="" style="width: 150px;height: 150px;" />
  129. </view>
  130. </u-modal>
  131. </view>
  132. </template>
  133. <script>
  134. import store from '@/store';
  135. import {
  136. mapState,
  137. mapMutations
  138. } from "vuex"
  139. import zPopup from '@/components/common/z-popup.vue'
  140. import {
  141. pathToBase64,
  142. base64ToPath
  143. } from '@/common/image-tools-base64.js';
  144. import myListItem from "@/components/modules/my/my-list-item.vue";
  145. import QR from "@/common/wxqrcode.js"
  146. export default {
  147. components: {
  148. zPopup,
  149. myListItem
  150. },
  151. data() {
  152. return {
  153. promoImage: "",
  154. modalshow: false,
  155. info: ["", ""],
  156. dotsStyles: {
  157. backgroundColor: '#E5E5E5',
  158. selectedBackgroundColor: '#0052FF',
  159. },
  160. current: 0,
  161. mode: 'default',
  162. headerStyle: {
  163. backgroundColor: '',
  164. backgroundImage: '',
  165. backgroundSize: '',
  166. backgroundPosition: '',
  167. boxShadow: ''
  168. // 其他样式属性...
  169. },
  170. showBackground: false,
  171. prevScrollTop: 0,
  172. popupShow: false, //头像是否展示
  173. mystatusText: "已认证",
  174. prodetIntroShow: true, //显示滚动公告
  175. avatar: "",
  176. orderTypeList: [{
  177. icon: 'icon-jixurenwu',
  178. orderstatus: 0,
  179. text: '报价中',
  180. badge: '0',
  181. type: "primary",
  182. orderStage: 0,
  183. iconColor: '#0696FF'
  184. },
  185. {
  186. icon: 'icon-hebaozhong',
  187. orderstatus: 1,
  188. text: '待核保',
  189. badge: '0',
  190. type: "success",
  191. orderStage: 1,
  192. iconColor: '#FFA22A'
  193. },
  194. {
  195. icon: 'icon-querenzhifu',
  196. orderstatus: 2,
  197. text: '待缴费',
  198. badge: '0',
  199. type: "error",
  200. orderStage: 2,
  201. },
  202. {
  203. icon: 'icon-peisong',
  204. orderstatus: 3,
  205. text: '已承保',
  206. badge: '0',
  207. type: "error",
  208. orderStage: 3,
  209. },
  210. ],
  211. toolsList: [{
  212. icon: 'icon-Frame-1',
  213. text: '闪电增员',
  214. url: '/pages/tools/addStaff/addStaff',
  215. },
  216. {
  217. icon: 'icon-Frame',
  218. text: '团队管理',
  219. url: '/pages/tools/team/team',
  220. },
  221. {
  222. icon: 'icon-Frame-2',
  223. text: '客户管理',
  224. url: '/pages/tools/customer/customer',
  225. },
  226. {
  227. icon: 'icon-Frame-3',
  228. text: '业绩管理',
  229. url: '/pages/tools/achievement/achievement',
  230. },
  231. {
  232. icon: 'icon-Frame-5',
  233. text: '报案服务',
  234. url: '/pages/tools/insuranceClaims/insuranceClaims',
  235. },
  236. {
  237. icon: 'icon-Frame-4',
  238. text: '掌柜秘书',
  239. url: '/pages/tools/messageReminder/messageReminder',
  240. },
  241. {
  242. icon: 'icon-Frame-6',
  243. text: '保单',
  244. url: '/pages/tools/policy/policy',
  245. },
  246. {
  247. icon: 'icon-Frame-7',
  248. text: '计算器',
  249. url: '/pages/tools/calculator/calculator',
  250. },
  251. {
  252. icon: 'icon-a-02',
  253. text: '海报管理',
  254. url: '/pages/tools/poster/poster',
  255. },
  256. {
  257. icon: 'icon-a-01',
  258. text: '优惠劵',
  259. url: '/pages/tools/coupon/coupon',
  260. },
  261. {
  262. icon: 'icon-a-03',
  263. text: '掌柜商城',
  264. },
  265. {
  266. icon: 'icon-a-04',
  267. text: '车险之家',
  268. url: "/pages/carInsure2/entry",
  269. }
  270. ],
  271. aboutList: [{
  272. image: '/static/image/my/Frame5.png',
  273. text: '常见问题',
  274. url: '/pages/set/question',
  275. },
  276. // { icon: 'icon-baodan',text: '意见反馈',url:'/pages/set/suggest',iconColor:'#DD525E'},
  277. {
  278. image: '/static/image/my/Frame6.png',
  279. text: '意见反馈',
  280. url: '',
  281. },
  282. {
  283. image: '/static/image/my/Frame7.png',
  284. text: '联系客服',
  285. tel: '4006333016',
  286. },
  287. {
  288. image: '/static/image/my/Frame8.png',
  289. text: '关于我们',
  290. url: '/pages/set/about',
  291. }
  292. ],
  293. serviceList: [{
  294. image: '/static/image/my/Frame1.png',
  295. text: '发票申请',
  296. popup: '此功能还未开放,有需要请联系客服',
  297. },
  298. {
  299. image: '/static/image/my/Frame2.png',
  300. text: '保单批改',
  301. popup: '此功能还未开放,有需要请联系客服',
  302. },
  303. {
  304. image: '/static/image/my/Frame3.png',
  305. text: '申请退保',
  306. popup: '此功能还未开放,有需要请联系客服',
  307. },
  308. {
  309. image: '/static/image/my/Frame4.png',
  310. text: '自助理赔',
  311. popup: '此功能还未开放,有需要请联系客服',
  312. }
  313. ],
  314. menusList: [{
  315. icon: "shangcheng",
  316. name: "掌柜商场",
  317. clicktype: "nothing",
  318. url: "",
  319. auth: true
  320. },
  321. {
  322. icon: "chexiandingdan",
  323. name: "车险之家",
  324. clicktype: "navigateTo",
  325. url: "/pages/carInsure/entry",
  326. auth: true
  327. }
  328. ],
  329. InsureCount: 0,
  330. }
  331. },
  332. computed: {
  333. ...mapState(['userInfo', "userCheckInfo", ]),
  334. toolsListLength() {
  335. // let length = Math.ceil(this.toolsList.length / 8);
  336. let list = ["1", "2"]
  337. return list;
  338. },
  339. aboutListLength() {
  340. return Math.ceil(this.aboutList.length / 4);
  341. },
  342. serviceListLength() {
  343. return Math.ceil(this.serviceList.length / 4);
  344. }
  345. },
  346. async onShow() {
  347. await this.getInsureCount();
  348. if (this.userInfo.sysUser.headSculpture) {
  349. this.avatar = this.$base.baseUrl + this.userInfo.sysUser.headSculpture;
  350. } else {
  351. this.avatar = "/static/image/my/avatar1.png"
  352. }
  353. if (this.userInfo.sysUser.status == '1') {
  354. this.mystatusText = "已认证";
  355. } else if (this.userStatus == '2') {
  356. this.mystatusText = "未认证";
  357. }
  358. },
  359. async onload() {
  360. await this.getInsureCount();
  361. },
  362. onPageScroll(e) {
  363. this.handleScroll(e);
  364. },
  365. mounted() {
  366. uni.pageScrollTo({
  367. scrollTop: 0,
  368. duration: 0
  369. });
  370. uni.$on('scroll', this.handleScroll);
  371. },
  372. destroyed() {
  373. uni.$off('scroll', this.handleScroll);
  374. },
  375. methods: {
  376. ...mapMutations(['setUserModules', 'setOrderType', 'setOrderStage']),
  377. //头部颜色变化js
  378. change(e) {
  379. this.current = e.detail.current;
  380. },
  381. async getInsureCount() {
  382. let res = await this.$http.post('/insurance/order/getExpirationInsureCount');
  383. if (res.code == '200') {
  384. this.InsureCount = res.data;
  385. }
  386. },
  387. handleScroll(e) {
  388. const scrollTop = e.scrollTop;
  389. if (scrollTop > this.prevScrollTop) {
  390. // 向下滚动
  391. this.showBackground = true; // 显示背景图
  392. } else if (scrollTop < 50) {
  393. // 在顶部附近,隐藏背景图
  394. this.showBackground = false;
  395. } else {
  396. // 向上滚动
  397. this.showBackground = true; // 显示背景图
  398. }
  399. this.headerStyle.backgroundColor = this.showBackground ? '#fff' : 'transparent';
  400. this.headerStyle.backgroundImage = this.showBackground ? 'url("/static/image/my/banner.png")' : '';
  401. this.headerStyle.backgroundSize = this.showBackground ? 'cover' : '';
  402. this.headerStyle.backgroundPosition = this.showBackground ? 'center' : '';
  403. this.prevScrollTop = scrollTop;
  404. },
  405. tool() {
  406. uni.navigateTo({
  407. url: "/pages/set/set"
  408. })
  409. },
  410. //去工具页面
  411. async toTools(e, listName) {
  412. if (this.userInfo.sysUser.status == '2') {
  413. return uni.showToast({
  414. icon: "none",
  415. title: '请先通过实名认证',
  416. duration: 1500
  417. })
  418. }
  419. if (!!this[listName][e.detail.index].url && (this[listName][e.detail.index].url ==
  420. '/pages/wallet/wallet')) {
  421. if ((!!this.userInfo.esmUserInternal) && (!!this.userInfo.esmUserInternal.accountno)) {
  422. this.navigate({
  423. url: this[listName][e.detail.index].url
  424. }, "navigateTo", true)
  425. } else {
  426. this.navigate({
  427. url: '/pages/wallet/bindBank',
  428. complete: () => {
  429. setTimeout(() => {
  430. uni.showToast({
  431. title: '请先绑定银行卡',
  432. duration: 3000,
  433. icon: "none"
  434. });
  435. }, 500);
  436. }
  437. }, "navigateTo", true)
  438. }
  439. } else if (this[listName][e.detail.index].url) {
  440. this.navigate({
  441. url: this[listName][e.detail.index].url
  442. }, "navigateTo", true)
  443. } else if (this[listName][e.detail.index].tel) {
  444. uni.makePhoneCall({
  445. phoneNumber: this[listName][e.detail.index].tel,
  446. })
  447. } else if (this[listName][e.detail.index].popup) {
  448. let res = await this.$http.get('/sys/qy/wechat/find/picture');
  449. if (res.code == '200') {
  450. this.promoImage = QR.createQrCodeImg(res.data.wechatPictureUrl, {
  451. size: parseInt(200) //二维码大小
  452. })
  453. this.modalshow = true;
  454. } else {
  455. uni.showModal({
  456. showCancel: false,
  457. content: this[listName][e.detail.index].popup,
  458. });
  459. }
  460. } else {
  461. uni.showToast({
  462. title: this[listName][e.detail.index].text + '更新中...',
  463. icon: 'none'
  464. })
  465. }
  466. },
  467. async accountTool(path) {
  468. if (path) {
  469. if (path == '/pages/wallet/bankCard') {
  470. let res = await this.$http.post('/userBank/getUserBankList', {
  471. auditStatus: '',
  472. });
  473. if (!res.data.length) {
  474. this.navigate({
  475. url: '/pages/wallet/bindBank',
  476. complete: () => {
  477. setTimeout(() => {
  478. uni.showToast({
  479. title: '请先绑定银行卡',
  480. duration: 3000,
  481. icon: "none"
  482. });
  483. }, 500);
  484. }
  485. }, "navigateTo", true)
  486. } else {
  487. this.navigate({
  488. url: path,
  489. }, "navigateTo", true)
  490. }
  491. } else {
  492. this.navigate({
  493. url: path,
  494. }, "navigateTo", true)
  495. }
  496. } else {
  497. uni.showToast({
  498. title: '功能待开发...',
  499. icon: "none"
  500. });
  501. }
  502. },
  503. // 去账单明细
  504. toBillDetails(type) {
  505. this.navigate({
  506. url: `/pages/wallet/billDetails${type}`,
  507. }, "navigateTo", true)
  508. },
  509. // 去账单明细
  510. toWallet(type) {
  511. this.navigate({
  512. url: "/pages/wallet/wallet"
  513. }, "navigateTo", true)
  514. },
  515. //跳转个人信息页面
  516. openDetail() {
  517. this.navigate({
  518. url: "/pages/user/userInfo"
  519. }, "navigateTo", false)
  520. },
  521. //跳转订单页面
  522. openOrder(e) {
  523. this.setOrderStage(this.orderTypeList[e].orderStage);
  524. this.navigate({
  525. url: "/pages/orders1/orders"
  526. }, "switchTab", true)
  527. }
  528. }
  529. }
  530. </script>
  531. <style lang="scss" scoped>
  532. @import '@/style/mixin.scss';
  533. page {
  534. background-color: #F8FAFE;
  535. }
  536. .headers {
  537. position: fixed;
  538. top: 0;
  539. left: 0;
  540. height: auto;
  541. width: 100%;
  542. z-index: 999999;
  543. padding: 16px;
  544. padding-top: 50px;
  545. >view {
  546. width: 100%;
  547. height: 100%;
  548. position: relative;
  549. }
  550. image {
  551. position: absolute;
  552. right: 0;
  553. width: 20px;
  554. height: 20px;
  555. }
  556. text {
  557. font-size: 18px;
  558. font-weight: bold;
  559. color: #000;
  560. }
  561. }
  562. .Personnel {
  563. height: auto;
  564. width: 100%;
  565. background: #fff;
  566. background-image: url("/static/image/my/banner.png");
  567. background-size: 100% 100%;
  568. padding: 110px 16px 10px 16px;
  569. .avatar {
  570. width: 60px;
  571. height: 60px;
  572. border-radius: 50%;
  573. }
  574. .info {
  575. margin-left: 10px;
  576. text {
  577. margin-right: 10px;
  578. color: #333333;
  579. font-size: 13px;
  580. }
  581. text:last-child {
  582. color: rgba(51, 51, 51, 0.8);
  583. font-size: 12px;
  584. }
  585. }
  586. }
  587. .my-tools {
  588. padding: 0 16px;
  589. .header {
  590. padding: 10px 0;
  591. font-size: 14px;
  592. color: #232832;
  593. font-weight: bold;
  594. }
  595. .order-body {
  596. background: #fff;
  597. box-shadow: 0px 4px 10px 0px #DAE3F4;
  598. border-radius: 6px;
  599. }
  600. }
  601. /* 产品介绍Start */
  602. .prodet-intro {
  603. width: 100%;
  604. height: 70upx;
  605. background-color: #333;
  606. color: #3ae;
  607. white-space: nowrap;
  608. border-top: 1upx solid #666;
  609. border-bottom: 1upx solid #666;
  610. box-sizing: border-box;
  611. }
  612. .prodet-intro>view:nth-of-type(1) {
  613. width: 60upx;
  614. height: 100%;
  615. flex-shrink: 1;
  616. padding-left: 20upx;
  617. font-size: 36upx;
  618. }
  619. .prodet-intro>view:nth-of-type(2) {
  620. overflow: hidden;
  621. line-height: 70upx;
  622. font-size: 24upx;
  623. }
  624. .prodet-intro>view:nth-of-type(3) {
  625. width: 60upx;
  626. padding-right: 20upx;
  627. flex-shrink: 1;
  628. height: 100%;
  629. font-size: 36upx;
  630. }
  631. .animate {
  632. padding-left: 40rpx;
  633. display: inline-block;
  634. white-space: nowrap;
  635. animation: 20s wordsLoop linear infinite normal;
  636. }
  637. @keyframes wordsLoop {
  638. 0% {
  639. transform: translateX(750rpx);
  640. -webkit-transform: translateX(750rpx);
  641. }
  642. 100% {
  643. transform: translateX(-100%);
  644. -webkit-transform: translateX(-100%);
  645. }
  646. }
  647. /* 产品介绍End */
  648. /* 个人信息Start */
  649. /* 个人信息End */
  650. /* 我的订单Start */
  651. .my-orders {
  652. display: flex;
  653. justify-content: center;
  654. align-items: center;
  655. }
  656. .my-orders,
  657. .wallet-body {
  658. position: relative;
  659. width: 95%;
  660. height: 180upx;
  661. background: #FFFFFF;
  662. border-radius: 20upx;
  663. box-shadow: 0upx 0upx 10upx #efeff4;
  664. overflow: hidden;
  665. }
  666. /* 我的订单End */
  667. /* 我的钱包Start */
  668. .my-wallet {
  669. .wallet-body {
  670. width: 100%;
  671. height: auto;
  672. padding: 8px 16px;
  673. background: #FFFFFF;
  674. box-shadow: 0px 4px 10px 0px #DAE3F4;
  675. border-radius: 6px;
  676. margin-top: 10px;
  677. .route {
  678. text {
  679. font-size: 12px;
  680. color: #333;
  681. font-weight: 400;
  682. }
  683. image {
  684. width: 45px;
  685. height: 40px;
  686. }
  687. }
  688. .money {
  689. padding: 8px 0;
  690. background-color: #F9F8FD;
  691. border-radius: 4px;
  692. margin-top: 8px;
  693. text {
  694. font-size: 12px;
  695. color: #333;
  696. font-weight: 400;
  697. }
  698. }
  699. }
  700. }
  701. /* 我的钱包End */
  702. /* 小的分项标题Start */
  703. /* 小的分项标题End */
  704. .grid-item-box {
  705. .icon {
  706. font-size: 26px;
  707. }
  708. .text {
  709. font-size: 12px;
  710. }
  711. image {
  712. width: 32px;
  713. height: 32px;
  714. }
  715. }
  716. .swiper {
  717. width: 100%;
  718. }
  719. .swiper-view .keep-out {
  720. width: 100%;
  721. height: 30upx;
  722. border-radius: 100% 100% 0 0;
  723. margin-top: -15upx;
  724. position: absolute;
  725. }
  726. .swiper-view .swiper {
  727. overflow: hidden;
  728. padding: 30upx 20upx 0;
  729. box-sizing: border-box;
  730. width: 100%;
  731. height: 200upx;
  732. }
  733. .swiper-view .swiper image {
  734. width: 100%;
  735. height: 200upx;
  736. }
  737. </style>