option-list.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758
  1. <template>
  2. <v-page>
  3. <view class="d-flex flex-col">
  4. <view class="layout-main">
  5. <!-- 科创板 -->
  6. <view class="head_info m-t-xl" style="padding-bottom:60px">
  7. <van-tabs v-if="marketList.length" :active="infoActive" background="transparent" :border="false"
  8. animated class="tabs-border border-b">
  9. <van-tab v-for="parentItem in marketList" :key="parentItem.coin_name"
  10. :title="parentItem.coin_name" class="a">
  11. <view class="w-12/12 p-t-md">
  12. <view class="d-flex align-center p-l-md p-b-md">
  13. <view class="w-6/12 p-l-md d-flex justify-center">{{$t("base.g7")}}</view>
  14. <view class="w-3/12">{{$t("base.g8")}}</view>
  15. <view class="w-3/12 ">{{$t("base.g9")}}</view>
  16. </view>
  17. <view class="fn-center w-max">
  18. <v-link :to="{
  19. path: '/pages/exchange/index',
  20. query: { code: item.pair_name,type: 'bb' },
  21. }"
  22. class="m-b-md m-x-md rounded-sm bg-panel-7 box-shadow link-active d-flex align-center p-r-md p-y-md box-size"
  23. v-for="item in parentItem.collect
  24. ? collect
  25. : parentItem.marketInfoList" :key="item.pair_name">
  26. <view class="fn-18 w-2/12 d-flex align-center justify-center">
  27. <image class="d-block h-30 w-30" :src="item.coin_icon" alt=""
  28. mode="widthFix"></image>
  29. </view>
  30. <view class="color-light fn-left w-4/12">
  31. <view class="d-flex align-end fn-bold">{{
  32. item.pair_name
  33. }}</view>
  34. <view class="" style="font-size: 24rpx;">
  35. {{$t('base.f8')}}:{{Number(parseFloat(item.vol).toFixed(0)).toLocaleString('en-US')}}
  36. </view>
  37. </view>
  38. <view class="fn-left align-end color-light w-3/12">
  39. <view class="d-flex align-end fn-bold " style="margin-left: 23%;">{{
  40. item.close
  41. }}</view>
  42. </view>
  43. <view
  44. style=" margin-left: 10%; width:120rpx;height: 45rpx; border-radius: 5rpx;"
  45. :style="item.increase * 1 < 0 ? 'background-color: #df3f73;':'background-color:#1ec692'">
  46. <view class="fn-bold " style="margin-top: 4%; color:ivory ">
  47. {{ item.increaseStr }}
  48. </view>
  49. </view>
  50. </v-link>
  51. </view>
  52. </view>
  53. </van-tab>
  54. </van-tabs>
  55. </view>
  56. </view>
  57. <!-- 个人主页弹出层 -->
  58. <van-popup class="personalCenter-main colbg" :show="show" @close="show = false" position="left"
  59. custom-style="width:75%;height:100%">
  60. <view class="personalCenter-top">
  61. <view class="app-nav"></view>
  62. <view class="theme-switch m-r-md">
  63. <label class="v-switch border rounded-xs d-flex" @click="changtTheme">
  64. <view class="icon border" :class="
  65. theme == 'light'
  66. ? 'bg-gradient-green active'
  67. : 'bg-gradient-green'
  68. ">
  69. <view class="left color-light">{{
  70. $t("common.light")
  71. }}</view>
  72. <view class="right color-light">{{
  73. $t("common.dark")
  74. }}</view>
  75. </view>
  76. </label>
  77. </view>
  78. <view class="information p-l-md" @click="toAccountSettings">
  79. <view class="d-flex align-center">
  80. <img :src="logoMap.login_logo" class="h-50 w-50 d-block m-r-xs rounded-max flex-shrink" />
  81. <view class="inf-rig flex-fill">
  82. <span class="fn-10 color-light" v-if="isLogin">{{
  83. user.account
  84. }}</span>
  85. <span class="fn-lg color-light" v-else @click.stop>
  86. Hello,
  87. <v-link to="/pages/login/index" class="color-theme-1">{{ $t("base.b3") }}</v-link>
  88. </span>
  89. <span
  90. class="inf-rig-cent fn-sm color-default">UID:{{ isLogin ? user.user_id : "-" }}</span>
  91. <span v-if="isLogin" class="inf-rig-cent fn-sm color-default d-flex align-center">
  92. <span>{{$t('add.a5')}}:{{userAu.krediet}}</span>
  93. <image v-if="userAu.krediet>=100" :src="getDengJi(userAu.krediet)" mode="widthFix"
  94. style="width:100rpx;height:40rpx;"></image>
  95. </span>
  96. </view>
  97. </view>
  98. <v-link v-if="false" to="/pages/invite/level" style="padding: 3px 4px 6px"
  99. class="bg-panel-4 border border-r-0 rounded-tl-lg rounded-bl-lg border-buy"
  100. @click.native.stop>
  101. <span class="fn-xs color-buy">{{
  102. $t("base.e6")
  103. }}</span>
  104. </v-link>
  105. </view>
  106. </view>
  107. <view class="personalCenter-center border-b border-gray-5">
  108. <view class="d-flex justify-around">
  109. <v-link to="/pages/base/signIn" tag="div" class="d-flex w-3/12 flex-col align-center"
  110. style="padding-right:6rpx;overflow:hidden;word-break:break-all;">
  111. <img src="static/img/index/12.png" alt="" class="h-44" />
  112. <span class="fn-md color-light p-y-xs" style="text-align: center;">{{
  113. $t("base.e9")
  114. }}</span>
  115. </v-link>
  116. <v-link to="/pages/invite/index" tag="div" class="d-flex w-3/12 flex-col align-center"
  117. style="padding:0 6rpx;overflow:hidden;word-break:break-all;">
  118. <img src="static/img/index/1.png" alt="" class="h-44" />
  119. <span class="fn-md color-light p-y-xs" style="text-align: center;">{{
  120. $t("base.b7")
  121. }}</span>
  122. </v-link>
  123. <!-- <view @click="kefu" tag="div" class="d-flex w-3/12 flex-col align-center"
  124. style="padding:0 6rpx;overflow:hidden;word-break:break-all;">
  125. <img src="static/img/index/15.png" alt="" class="h-44" />
  126. <span class="fn-md color-light p-y-xs" style="text-align: center;">{{
  127. $t("common.service")
  128. }}</span>
  129. </view> -->
  130. <view @click="toShe" tag="div" class="d-flex w-3/12 flex-col align-center"
  131. style="padding:0 6rpx;overflow:hidden;word-break:break-all;">
  132. <img src="static/img/index/22.png" alt="" class="h-44" />
  133. <span class="fn-md color-light p-y-xs" style="text-align: center;">{{
  134. $t("add.a2")
  135. }}</span>
  136. </view>
  137. <!-- <v-link to="/pages/assets/recharge" tag="div" class="d-flex w-3/12 flex-col align-center" style="padding-right:6rpx;overflow:hidden;word-break:break-all;">
  138. <img src="static/img/index/2.png" alt="" class="h-44" />
  139. <span class="fn-md color-light p-y-xs">{{
  140. $t("base.b5")
  141. }}</span>
  142. </v-link>
  143. <v-link to="/pages/assets/draw" tag="div" class="d-flex w-3/12 flex-col align-center" style="overflow:hidden;word-break:break-all;">
  144. <img src="static/img/index/3.png" alt="" class="h-44" />
  145. <view class="fn-md color-light p-y-xs">{{
  146. $t("base.b6")
  147. }}</view>
  148. </v-link> -->
  149. <!-- //签到 -->
  150. <!-- <v-link tag="div" to="/pages/base/signIn" class="item">
  151. <view class="icon fn-22">
  152. <img class="h-54" src="static/img/index/12.png" />
  153. </view>
  154. <view class="fn-12">{{ $t("base.e9") }}</view>
  155. </v-link> -->
  156. </view>
  157. </view>
  158. <view class="personalCenter-bottom">
  159. <!-- <v-link
  160. to="/pages/otc/direct-recharge"
  161. tag="div"
  162. class="per-bot p-y-sm p-l-sm border-b d-flex align-center"
  163. >
  164. <img :src="$localImgUrl('Page9.png')" alt="" class="h-20 m-r-xs">
  165. <span class="color-light">{{ $t("common.direct-recharge-a1") }}</span>
  166. </v-link> -->
  167. <v-link to="/pages/commission/index" tag="div"
  168. class="per-bot p-y-sm p-l-sm border-b d-flex align-center">
  169. <img :src="$localImgUrl('Page1.png')" alt="" class="m-r-xs h-20" />
  170. <span class="color-light">{{ $t("base.c1") }}</span>
  171. </v-link>
  172. <v-link to="/pages/auth/index" tag="div" class="per-bot p-y-md p-l-sm border-b d-flex align-center">
  173. <img :src="$localImgUrl('Page2.png')" alt="" class="h-20 m-r-xs" />
  174. <span class="color-light">{{ $t("base.c2") }}</span>
  175. <span class="color-light" style="flex:1;font-size:20rpx;text-align: right;padding-right:10rpx;"
  176. v-if="userAu != ''">
  177. <text v-if="userAu.primary_status == 0 || userAu.status == 0"> {{$t('auth.a2')}}</text>
  178. <text v-else-if="userAu.status == 1 && userAu.primary_status == 1">{{$t('auth.a3')}}</text>
  179. </span>
  180. </v-link>
  181. <v-link to="/pages/safe/index" tag="div" class="per-bot p-y-md p-l-sm border-b d-flex align-center">
  182. <img :src="$localImgUrl('Page3.png')" alt="" class="h-20 m-r-xs" />
  183. <span class="color-light">{{ $t("base.c3") }}</span>
  184. </v-link>
  185. <v-link to="/pages/help/index" tag="div" class="per-bot p-y-md p-l-sm border-b d-flex align-center">
  186. <img :src="$localImgUrl('Page11.png')" alt="" class="h-20 m-r-xs" />
  187. <span class="color-light">{{ $t("base.g4") }}</span>
  188. </v-link>
  189. <v-link to="/pages/notice/index" tag="div"
  190. class="per-bot p-y-md p-l-sm border-b d-flex align-center">
  191. <img :src="$localImgUrl('Page4.png')" alt="" class="h-20 m-r-xs" />
  192. <span class="color-light">{{ $t("base.c4") }}</span>
  193. </v-link>
  194. <v-link to="/pages/assets/address-list" tag="div"
  195. class="per-bot p-y-md p-l-sm border-b d-flex align-center">
  196. <img :src="$localImgUrl('Page5.png')" alt="" class="h-20 m-r-xs" />
  197. <span class="color-light">{{ $t("base.c5") }}</span>
  198. <!-- <span class="color-light" style="flex:1;font-size:20rpx;padding-right:10rpx;text-align: right;">
  199. <text v-if="walletAdd != ''">{{$t("base.g5")}}</text>
  200. <text v-else>{{$t("base.h0")}}</text>
  201. </span> -->
  202. </v-link>
  203. <view class="per-bot p-y-md p-l-sm border-b d-flex align-center">
  204. <img :src="$localImgUrl('Page6.png')" alt="" class="h-20 m-r-xs" />
  205. <view class="">
  206. {{$t("base.g6")}}
  207. </view>
  208. <span class="color-light" style="flex:1;font-size:20rpx;padding-right:10rpx;text-align: right;">
  209. <i class="iconfont m-r-xs fn-sm">&#xe6e9;</i>
  210. <v-lang @change="
  211. marketList = [];
  212. indexData();
  213. "></v-lang>
  214. </span>
  215. </view>
  216. <v-link v-if="agreement.about" :to="{path:'/pages/about-us/about-us',query:{id:agreement.about.id}}"
  217. tag="div" class="per-bot p-y-md p-l-sm border-b d-flex align-center">
  218. <img :src="$localImgUrl('Page10.png')" alt="" class="h-20 m-r-xs" />
  219. <span class="color-light">{{ $t("base.g2") }}</span>
  220. <span class="color-light" style="flex:1;font-size:20rpx;padding-right:10rpx;text-align: right;">
  221. <text>{{ $t("base.g3") }}</text>
  222. </span>
  223. </v-link>
  224. <v-link to="/pages/accountSettings/accountSettings" tag="div"
  225. class="per-bot p-y-md p-l-sm border-b d-flex align-center">
  226. <van-icon name="user-circle-o" class="fn-20 m-r-xs" />
  227. <span class="color-light">{{ $t("base.c6") }}</span>
  228. </v-link>
  229. <!-- <v-link
  230. to="/pages/pledge/index"
  231. tag="div"
  232. class="per-bot p-y-md p-l-sm border-b d-flex align-center"
  233. >
  234. <img :src="$localImgUrl('Page7.png')" alt="" class="h-20 m-r-xs" />
  235. <span class="color-light">{{ $t("pledge.funcname") }}</span>
  236. </v-link> -->
  237. <view class="h-100"></view>
  238. </view>
  239. </van-popup>
  240. <van-toast id="van-toast" />
  241. </view>
  242. <ComFooter tab="option-list"></ComFooter>
  243. <!-- <com-footer tab="home"></com-footer> -->
  244. </v-page>
  245. </template>
  246. <script>
  247. import Home from "@/api/home";
  248. import Wallet from "@/api/wallet";
  249. import math from "@/utils/class/math.js";
  250. import app from "@/app";
  251. import Member from "@/api/member";
  252. import ComFooter from "./components/footer.vue";
  253. import {
  254. mapState,
  255. mapActions
  256. } from "vuex";
  257. export default {
  258. name: "option-list",
  259. // props: ["isShow"],
  260. components: {
  261. ComFooter,
  262. ...mapState({
  263. user: "user",
  264. }),
  265. },
  266. data() {
  267. return {
  268. infoActive: 0, // 详情选中
  269. marketList: [],
  270. home: {},
  271. notice: [],
  272. wap: "",
  273. indexList: [],
  274. createList: [],
  275. list: [],
  276. page: 1,
  277. tab: "kcb",
  278. show: false,
  279. checked: false,
  280. collect: [],
  281. app,
  282. first: true,
  283. isShow: false,
  284. userAu: '',
  285. walletAdd: '',
  286. agreement: {}
  287. };
  288. },
  289. onShow() {
  290. this.isShow = true;
  291. console.log(this.user)
  292. },
  293. onHide() {
  294. this.isShow = false;
  295. },
  296. computed: {
  297. ...mapState({
  298. ws: "ws",
  299. user: "user",
  300. wsState: "wsState",
  301. logoMap: "logoMap",
  302. theme: "theme",
  303. }),
  304. isLogin() {
  305. return Boolean(uni.getStorageSync("token"));
  306. },
  307. },
  308. watch: {
  309. isShow(n) {
  310. console.log(n)
  311. if (n) {
  312. this.ws.send({
  313. cmd: "sub",
  314. msg: "indexMarketList",
  315. });
  316. } else {
  317. this.ws.send({
  318. cmd: "unsub",
  319. msg: "indexMarketList",
  320. });
  321. }
  322. },
  323. },
  324. created() {
  325. this.clause()
  326. // console.log(this.theme)
  327. },
  328. methods: {
  329. getDengJi(val) {
  330. if (!val) return
  331. let img = 0
  332. if (val >= 110 && val <= 119) {
  333. img = 1
  334. } else if (val >= 120 && val <= 129) {
  335. img = 2
  336. } else if (val >= 130 && val <= 139) {
  337. img = 3
  338. } else if (val >= 140 && val <= 149) {
  339. img = 4
  340. } else if (val >= 150 && val <= 159) {
  341. img = 5
  342. } else if (val >= 160 && val <= 169) {
  343. img = 6
  344. } else if (val >= 170 && val <= 179) {
  345. img = 7
  346. } else if (val >= 180 && val <= 189) {
  347. img = 8
  348. } else if (val >= 190 && val <= 199) {
  349. img = 9
  350. } else if (val >= 200) {
  351. img = 10
  352. }
  353. return `/static/img/dengji/${img}.png`
  354. },
  355. ...mapActions({
  356. setTheme: "setTheme",
  357. }),
  358. toShe() {
  359. console.log('123456')
  360. window.location.href = 'https://t.me/GSR20'
  361. },
  362. handleSwiper(path) {
  363. //alert(path)
  364. uni.reLaunch({
  365. url: path,
  366. });
  367. },
  368. showToast() {
  369. uni.showToast({
  370. title: this.$t('base.h1'),
  371. icon: 'none'
  372. })
  373. },
  374. // 获取协议
  375. clause() {
  376. Member.clause().then((res) => {
  377. this.agreement = res.data;
  378. });
  379. },
  380. jump() {
  381. // window.location.href ='https://god1.top/pDZ569'
  382. window.open("https://god1.top/pDZ569", "_blank");
  383. },
  384. kefu(e) {
  385. let user_id = '';
  386. let avatar = '';
  387. let nickname = '';
  388. if (this.user.user_id > 0) {
  389. console.log(2);
  390. user_id = this.user.user_id;
  391. avatar = this.user.avatar;
  392. nickname = this.user.username;
  393. }
  394. // uni.navigateTo({
  395. // url:'/pages/assets/web-view'
  396. // })
  397. window.location.href = 'https://go.crisp.chat/chat/embed/?website_id=c6ffb47c-4db3-4d31-b84c-23c5b95f3255'
  398. // window.location.href = "http://kefu.bitkan.name/index/index/home?visiter_id=" + user_id +
  399. // "&visiter_name=" + nickname + "&avatar=" + avatar + "&business_id=24&groupid=0&special=51";
  400. },
  401. changtTheme() {
  402. if (this.theme == "light") {
  403. this.setTheme("dark");
  404. } else {
  405. this.setTheme("light");
  406. }
  407. },
  408. // 获取涨跌之前的价格
  409. getOldPrice(price, rate) {
  410. return math.multiple(math.division(price, 1 + rate * 1), rate, 2);
  411. },
  412. toAccountSettings() {
  413. this._router.push({
  414. path: "/pages/accountSettings/accountSettings",
  415. });
  416. },
  417. personalCenter() {
  418. this.show = true;
  419. },
  420. indexData() {
  421. let data = {};
  422. let ajax = Home.indexList(data, {
  423. loading: true
  424. });
  425. ajax.then((res) => {
  426. this.home = res.data.bannerList;
  427. this.notice = res.data.noticeList;
  428. this.indexList = res.data.brokenLine;
  429. this.marketList = res.data.marketList.filter(item => {
  430. return item.coin_name != 'BTC' && item.coin_name != 'ETH'
  431. });
  432. this.infoActive = 1;
  433. this.userAu = res.data.userAu;
  434. this.walletAdd = res.data.walletAdd;
  435. this.dunshift();
  436. this.getCollect();
  437. setTimeout(() => {
  438. this.first = false;
  439. }, 600);
  440. }).catch(() => {});
  441. },
  442. dunshift() {
  443. if (this.marketList.filter((item) => item.collect).length) return;
  444. this.marketList.unshift({
  445. coin_name: this.$t("base.c7"),
  446. collect: true,
  447. marketInfoList: [],
  448. });
  449. },
  450. // 获取自选交易列表
  451. getCollect(call) {
  452. if (!this.isLogin) return;
  453. Home.getCollect()
  454. .then((res) => {
  455. this.collect = res.data || [];
  456. call && call();
  457. })
  458. .catch(() => {});
  459. },
  460. // 是否为自选
  461. isCoolect(i) {
  462. return this.collect
  463. .map((item) => item.pair_name)
  464. .includes(i.pair_name);
  465. },
  466. // 替换自选数据
  467. replaceOptional() {
  468. let collect = this.collect.map((item) => item.pair_name);
  469. this.marketList.forEach((parentItem) => {
  470. parentItem.marketInfoList.forEach((item) => {
  471. let idx = collect.indexOf(item.pair_name);
  472. if (idx != -1) {
  473. this.collect.splice(idx, 1, item);
  474. }
  475. });
  476. });
  477. },
  478. // 添加自选
  479. option(item) {
  480. let data = {
  481. pair_name: item.pair_name,
  482. };
  483. Home.option(data)
  484. .then((res) => {
  485. this.getCollect();
  486. if (res.data) {
  487. this.$toast(this.$t("base.c8"));
  488. } else {
  489. this.$toast(this.$t("base.c9"));
  490. }
  491. })
  492. .catch(() => {});
  493. },
  494. // 链接socket
  495. indexMarketList() {
  496. this.ws.send({
  497. cmd: "sub",
  498. msg: "indexMarketList",
  499. });
  500. this.ws.on("message", (res) => {
  501. let {
  502. data,
  503. sub
  504. } = res;
  505. if (sub == "indexMarketList") {
  506. // console.log(data)
  507. this.marketList = data.filter(item => {
  508. return item.coin_name != 'BTC' && item.coin_name != 'ETH'
  509. });
  510. this.dunshift();
  511. this.replaceOptional();
  512. }
  513. });
  514. },
  515. // 创建充币地址
  516. createWalletAddress() {
  517. Wallet.createWalletAddress()
  518. .then(() => {})
  519. .catch(() => {});
  520. },
  521. },
  522. mounted() {
  523. this.indexData();
  524. this.indexMarketList();
  525. if (this.isLogin) {
  526. this.createWalletAddress();
  527. }
  528. },
  529. destroyed() {
  530. this.ws.send({
  531. cmd: "unsub",
  532. msg: "indexMarketList",
  533. });
  534. },
  535. };
  536. </script>
  537. <style lang="scss" scoped>
  538. .notice-more {
  539. color: var(--text-danger);
  540. }
  541. .router-link-active {
  542. color: $theme-1;
  543. }
  544. .a {
  545. margin-bottom: 30rpx;
  546. }
  547. .colbg {
  548. background-color: $bg;
  549. }
  550. .my-swipe {
  551. height: 150px;
  552. .van-image {
  553. padding: 0 18px;
  554. box-sizing: border-box;
  555. ::v-deep img.van-image__img {
  556. border-radius: 9px !important;
  557. }
  558. }
  559. }
  560. .notice-swipe {
  561. height: 24px;
  562. }
  563. // #ff4d5c
  564. .nav2 {
  565. display: grid;
  566. grid-template-columns: repeat(4, 25%);
  567. // grid-column-gap: 30rpx;
  568. grid-row-gap: 30rpx;
  569. justify-content: center;
  570. text-align: center;
  571. .color-gray-6 {
  572. color: #f8a12e;
  573. }
  574. // .item {
  575. // margin-right: 30rpx;
  576. // margin-bottom: 30rpx;
  577. // text-align: center;
  578. // &:nth-of-type(4n) {
  579. // margin-right: 0;
  580. // }
  581. // }
  582. }
  583. .stock-swipe {
  584. .stock-index {
  585. display: flex;
  586. flex-direction: column;
  587. align-items: center;
  588. position: relative;
  589. .stock-item-3 {
  590. padding: 3px 0;
  591. }
  592. }
  593. }
  594. .personalCenter-main {
  595. .personalCenter-top {
  596. box-sizing: border-box;
  597. .theme-switch {
  598. display: flex;
  599. justify-content: flex-end;
  600. padding: 30upx 0;
  601. .v-switch {
  602. $width: 50px;
  603. $icon-width: 20px;
  604. display: block;
  605. position: relative;
  606. height: 20px;
  607. width: $width;
  608. background: rgba($green, 0.2);
  609. overflow: hidden;
  610. .icon {
  611. position: absolute;
  612. top: 0;
  613. width: $icon-width;
  614. height: 20px;
  615. border-radius: inherit;
  616. transition: left 0.3s;
  617. .left,
  618. .right {
  619. position: absolute;
  620. width: $width;
  621. height: 100%;
  622. top: 0;
  623. box-sizing: border-box;
  624. text-align: center;
  625. &.left {
  626. right: 0;
  627. padding-right: $icon-width;
  628. }
  629. &.right {
  630. padding-left: $icon-width;
  631. left: 0;
  632. }
  633. }
  634. }
  635. .icon {
  636. left: 0;
  637. }
  638. .active.icon {
  639. left: $width - $icon-width;
  640. }
  641. }
  642. }
  643. .information {
  644. display: flex;
  645. align-items: flex-start;
  646. .inf-head-img {
  647. border-radius: 50%;
  648. margin-right: 4%;
  649. }
  650. .inf-rig {
  651. display: flex;
  652. flex-direction: column;
  653. letter-spacing: 1px;
  654. flex: 1;
  655. span:first-child {
  656. font-weight: 600;
  657. margin-bottom: 2px;
  658. }
  659. .inf-rig-cent {
  660. padding: 0 0 4px;
  661. }
  662. .vip-grade {
  663. display: flex;
  664. align-items: center;
  665. justify-content: flex-end;
  666. .progress-bar {
  667. width: 50%;
  668. }
  669. .progress-img {
  670. padding: 0 5px;
  671. }
  672. }
  673. }
  674. }
  675. }
  676. .personalCenter-center {
  677. padding: 20px 10px 10px;
  678. box-sizing: border-box;
  679. display: flex;
  680. flex-direction: column;
  681. justify-content: space-between;
  682. .personalCenter-bom {
  683. padding-top: 30px;
  684. .available-money {
  685. margin: 10px 0 0;
  686. height: 60%;
  687. background: rgba(100, 101, 102, 0.2);
  688. border-radius: 0 7px 7px 7px;
  689. align-items: center;
  690. padding: 6px 5px;
  691. }
  692. }
  693. }
  694. }
  695. .user-icon {
  696. font-size: 50px;
  697. }
  698. .epss-1 {
  699. overflow: hidden;
  700. text-overflow: ellipsis;
  701. }
  702. .fn-12 {
  703. // width: 65px;
  704. // max-height: 80px;
  705. word-wrap: break-word;
  706. word-break: keep-all;
  707. overflow: hidden;
  708. }
  709. </style>