index.vue 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909
  1. <template>
  2. <app-layout>
  3. <view v-if="status == 1">
  4. <!-- 用户信息开始 -->
  5. <view class="info" :style="{'background-image': 'url('+share_setting.pic_url_home_head + ')'}">
  6. <view class="user-info dir-left-nowrap cross-center">
  7. <image class="user-avatar box-grow-0" :src="userInfo.avatar"></image>
  8. <view class="box-grow-1 dir-top-nowrap main-center">
  9. <view class="user-name t-omit">
  10. {{name ? name:userInfo.nickname}}
  11. <text @click="route('/pages/share/edit/edit')" class="user-edit">[修改资料]</text>
  12. </view>
  13. <view class="mt-10 t-omit">ID:{{userInfo.options.user_id}}</view>
  14. <view class="mt-10 t-omit">{{custom_setting.words.parent_name.name}}:{{userInfo.identity.parent_name}}</view>
  15. <view class="mb-10 t-omit">{{custom_setting.words.parent_name.name}}微信号:{{userInfo.identity.parent_wechat}}
  16. <text @click.stop="copy(userInfo.identity.parent_wechat)" style="font-size: 20rpx">[复制]</text></view>
  17. <view v-if="index && index.level > 0">代理等级:{{index ? index.level_name : '无'}}</view>
  18. </view>
  19. <view class="box-grow-0" v-if="share_setting.is_show_share_level == 1"
  20. @click="$jump({url: '/pages/share/level/level', open_type: 'navigate'})">升级条件</view>
  21. <image class="box-grow-0 arrow-right" v-if="share_setting.is_show_share_level == 1"
  22. src="/static/image/icon/arrow-right-white.png"></image>
  23. </view>
  24. <view class="share-info">
  25. <view>{{custom_setting.words.can_be_presented.name}}</view>
  26. <view>
  27. <text style="font-family:DIN">{{index.money?index.money:0}}</text>元</view>
  28. </view>
  29. <view @click="route('/pages/share/cash/cash?money=' + index.money)">
  30. <view class="withdraw-btn">{{custom_setting.words.cash.name}}</view>
  31. </view>
  32. </view>
  33. <!-- 佣金情况开始 -->
  34. <view class="nav main-justify cross-center">
  35. <view class="nav-left">
  36. <view class="nav-title">{{custom_setting.words.already_presented.name}}</view>
  37. <view>{{index.cash_money?index.cash_money:0}}元</view>
  38. </view>
  39. <view>
  40. <view class="nav-title">{{custom_setting.words.order_money_un.name}}</view>
  41. <view>{{index.order_money_un?index.order_money_un:0}}元</view>
  42. </view>
  43. </view>
  44. <!-- 功能菜单开始 -->
  45. <view class="list dir-left-wrap">
  46. <!-- 分销佣金 -->
  47. <view class="list-item">
  48. <view @click="route('/pages/share/money/money')">
  49. <image :src="custom_setting.menus.money.icon"></image>
  50. <view>{{custom_setting.menus.money.name}}</view>
  51. <view>
  52. <text>{{index.total_money?index.total_money:0}}</text>元
  53. </view>
  54. </view>
  55. </view>
  56. <!-- 分销订单 -->
  57. <view class="list-item">
  58. <view @click="route('/pages/share/order/order')">
  59. <image :src="custom_setting.menus.order.icon"></image>
  60. <view>{{custom_setting.menus.order.name}}</view>
  61. <view>
  62. <text>{{index.order_money?index.order_money:0}}</text>元
  63. </view>
  64. </view>
  65. </view>
  66. <!-- 提现明细 -->
  67. <view class="list-item">
  68. <view @click="route('/pages/share/cash-detail/cash-detail')">
  69. <image :src="custom_setting.menus.cash.icon"></image>
  70. <view>{{custom_setting.menus.cash.name}}</view>
  71. <view>
  72. <text>{{index.total_cash?index.total_cash:0}}</text>元
  73. </view>
  74. </view>
  75. </view>
  76. <!-- 我的团队 -->
  77. <view class="list-item">
  78. <view @click="route('/pages/share/team/team')">
  79. <image :src="custom_setting.menus.team.icon"></image>
  80. <view>{{custom_setting.menus.team.name}}</view>
  81. <view>
  82. <text>{{index.team_count?index.team_count:0}}</text>人
  83. </view>
  84. </view>
  85. </view>
  86. <!-- 推广二维码 -->
  87. <view class="list-item">
  88. <view @click="route('/pages/share/qrcode/qrcode')">
  89. <image :src="custom_setting.menus.qrcode.icon"></image>
  90. <view>{{custom_setting.menus.qrcode.name}}</view>
  91. </view>
  92. </view>
  93. <!-- 数据中心 -->
  94. <view class="list-item">
  95. <view @click="route('/pages/share/summary/summary')">
  96. <image :src="custom_setting.menus.summary.icon"></image>
  97. <view>{{custom_setting.menus.summary.name}}</view>
  98. </view>
  99. </view>
  100. <!-- 团队分红 -->
  101. <view v-if="setting.is_bonus == 1" class="list-item">
  102. <view @click="route('/plugins/bonus/index/index')">
  103. <image src="https://t6.9026.com/web/statics/img/mall/fenhong.jpg"></image>
  104. <view>{{setting.form.entry_bonus?setting.form.entry_bonus:"团队分红"}}</view>
  105. </view>
  106. </view>
  107. <!-- 股东分红 -->
  108. <view v-if="stock.is_stock == 1" class="list-item">
  109. <view @click="route('/plugins/stock/index/index?name=' + share.name + '&mobile=' + share.mobile)">
  110. <image src="/static/image/share/img-stock-price.png"></image>
  111. <view>{{stock.form.entry_bonus?stock.form.entry_bonus:"股东分红"}}</view>
  112. </view>
  113. </view>
  114. <!-- 股东分红 -->
  115. <view v-if="region.is_region == 1" class="list-item">
  116. <view @click="route('/plugins/region/index/index?name=' + share.name + '&mobile=' + share.mobile)">
  117. <image src="/static/image/share/img-region-price.png"></image>
  118. <view>{{region.form.entry_bonus?region.form.entry_bonus:"区域代理"}}</view>
  119. </view>
  120. </view>
  121. </view>
  122. </view>
  123. <!-- 不是分销商 -->
  124. <view class="no-pass" v-else-if="status == 2">
  125. <image class="no-pass-img" src="./../image/icon-share-tip.png"></image>
  126. <view>您还不是{{custom_setting.words.share_name.name ? custom_setting.words.share_name.name : custom_setting.words.share_name.default}},请先提交申请!</view>
  127. <view v-if="share_setting.share_condition != '3'" @click="route('/pages/share/add/add?template_message=' + JSON.stringify(template_message))">
  128. <button :class="['no-pass-btn']" style="background-color: #F84469;">立即前往</button>
  129. </view>
  130. <view v-if="share_setting.share_condition == '3'" @click="toApply">
  131. <button :class="['no-pass-btn']">立即申请</button>
  132. </view>
  133. </view>
  134. <view v-else-if="status == 0">
  135. <image :src="share_setting.pic_url_status" class="add-bg"></image>
  136. <view class="thx">
  137. <image src="./../image/img-share-info.png"></image>
  138. <view>谢谢您的支持,请等待审核</view>
  139. </view>
  140. <view @click="route('/pages/index/index')">
  141. <view class="submit" style="margin:0">
  142. <button style="background-color:#F84469;">去商城逛逛</button>
  143. </view>
  144. </view>
  145. </view>
  146. <view class="status-3 dir-top-nowrap" v-else-if="status == 3">
  147. <image :src="share_setting.pic_url_status" class="add-bg"></image>
  148. <template v-if="share_setting.become_condition == 1">
  149. <view class="apply-status-3">
  150. <view class="dir-left-nowrap">
  151. <image class="money" src="./../image/money.png"></image>
  152. <view class="progress box-grow-0 cross-center">
  153. <view class="progress-content" :style="{left: `${percent}%`}">
  154. <view class="dir-top-nowrap cross-center" style="margin-left: -90%;">
  155. <view class="q-price">{{order_price}}</view>
  156. <view class="shuxian"></view>
  157. <image class="icon" src="./../image/progress.png"></image>
  158. </view>
  159. </view>
  160. <view style="width: 100%;">
  161. <progress :percent="percent" stroke-width="5" activeColor="#ff4544" backgroundColor="#e3e3e3" />
  162. </view>
  163. </view>
  164. <image class="money" src="./../image/money-active.png"></image>
  165. </view>
  166. <view class="dir-left-nowrap cross-center price">
  167. <view class="box-grow-0">¥0</view>
  168. <view class="progress box-grow-1"></view>
  169. <view class="box-grow-0">¥{{share_setting.auto_share_val}}</view>
  170. </view>
  171. <view class="content">单次消费满<text>¥{{share_setting.auto_share_val}}</text>可{{condition}}成为{{custom_setting.words.share_name.name ? custom_setting.words.share_name.name : custom_setting.words.share_name.default}}</view>
  172. <view class="content">您最高一次单次消费为<text>¥{{order_price}}</text></view>
  173. <view @click="$jump({url: '/pages/goods/list', open_type: 'navigate'})">
  174. <view class="submit">
  175. <button style="background-color:#F84469;">去商城逛逛</button>
  176. </view>
  177. </view>
  178. </view>
  179. </template>
  180. <template v-if="share_setting.become_condition == 4">
  181. <view class="apply-status-3">
  182. <view class="dir-left-nowrap">
  183. <image class="money" src="./../image/money.png"></image>
  184. <view class="progress box-grow-0 cross-center">
  185. <view class="progress-content" :style="{left: `${percent}%`}">
  186. <view class="dir-top-nowrap cross-center" style="margin-left: -90%;">
  187. <view class="q-price">{{order_price}}</view>
  188. <view class="shuxian"></view>
  189. <image class="icon" src="./../image/progress.png"></image>
  190. </view>
  191. </view>
  192. <view style="width: 100%;">
  193. <progress :percent="percent" stroke-width="5" activeColor="#ff4544" backgroundColor="#e3e3e3" />
  194. </view>
  195. </view>
  196. <image class="money" src="./../image/money-active.png"></image>
  197. </view>
  198. <view class="dir-left-nowrap cross-center price">
  199. <view class="box-grow-0">¥0</view>
  200. <view class="progress box-grow-1"></view>
  201. <view class="box-grow-0">¥{{share_setting.total_consume}}</view>
  202. </view>
  203. <view class="content">累计消费满<text>¥{{share_setting.total_consume}}</text>可{{condition}}成为{{custom_setting.words.share_name.name ? custom_setting.words.share_name.name : custom_setting.words.share_name.default}}</view>
  204. <view class="content">您累计消费为<text>¥{{order_price}}</text></view>
  205. <view @click="$jump({url: '/pages/goods/list', open_type: 'navigate'})">
  206. <view class="submit">
  207. <button style="background-color:#F84469;">去商城逛逛</button>
  208. </view>
  209. </view>
  210. </view>
  211. </template>
  212. <template v-else-if="share_setting.share_goods_status == 1">
  213. <view class="share-goods-status-1">
  214. <view class="content">购买<text>任意商品</text>可{{condition}}成为{{custom_setting.words.share_name.name ? custom_setting.words.share_name.name : custom_setting.words.share_name.default}}</view>
  215. <view @click="$jump({url: '/pages/goods/list', open_type: 'navigate'})">
  216. <view class="submit">
  217. <button style="background-color:#F84469;">去商城逛逛</button>
  218. </view>
  219. </view>
  220. </view>
  221. </template>
  222. <template v-else-if="share_setting.share_goods_status == 2">
  223. <view class="share-goods-status-1 box-grow-1 dir-top-nowrap">
  224. <view class="content">购买以下<text>指定商品</text>可{{condition}}成为{{custom_setting.words.share_name.name ? custom_setting.words.share_name.name : custom_setting.words.share_name.default}}</view>
  225. <view class="box-grow-1" style="background-color: #f7f7f7">
  226. <view class="dir-left-nowrap goods-title main-center cross-center">
  227. <view class="border"></view>
  228. <image src="/static/image/icon/icon-favorite.png"></image>
  229. <view>指定商品</view>
  230. <view class="border"></view>
  231. </view>
  232. <view>
  233. <u-ordinary-list :isShowAttr="true" :list="goods_list" :theme="getTheme" :list-style="2"></u-ordinary-list>
  234. </view>
  235. </view>
  236. </view>
  237. </template>
  238. <template v-else-if="share_setting.share_goods_status == 3">
  239. <view class="share-goods-status-1 box-grow-1 dir-top-nowrap">
  240. <view class="content">购买以下<text>指定分类商品</text>可{{condition}}成为{{custom_setting.words.share_name.name ? custom_setting.words.share_name.name : custom_setting.words.share_name.default}}</view>
  241. <view class="box-grow-1" style="background-color: #f7f7f7">
  242. <view class="dir-left-nowrap goods-title main-center cross-center">
  243. <view class="border"></view>
  244. <image src="/static/image/icon/icon-favorite.png"></image>
  245. <view>指定分类</view>
  246. <view class="border"></view>
  247. </view>
  248. <view class="dir-left-wrap cat-list">
  249. <block v-for="(item, index) in cat_list" :key="index">
  250. <view class="cat-item t-omit" @click="toGoods(item.value)">{{item.label}}</view>
  251. </block>
  252. </view>
  253. </view>
  254. </view>
  255. </template>
  256. </view>
  257. <view v-else-if="status == 4 || status == 5">
  258. <image :src="share_setting.pic_url_status" class="add-bg"></image>
  259. <view class="thx">
  260. <image class="warning" src="./../image/warning.png"></image>
  261. <template v-if="status == 4">
  262. <view class="apply-status-4">您的申请被拒绝</view>
  263. <view style="text-align: left">
  264. <text style="color: #999;">审核时间:</text>
  265. <text>{{share.apply_at}}</text>
  266. </view>
  267. <view style="text-align: left">
  268. <text style="color: #999;">拒绝理由:</text>
  269. <text>{{share.reason}}</text>
  270. </view>
  271. </template>
  272. <template v-if="status == 5">
  273. <view class="apply-status-4">您被解除{{custom_setting.words.share_name.name ? custom_setting.words.share_name.name : custom_setting.words.share_name.default}}身份</view>
  274. <view style="text-align: left">
  275. <text style="color: #999;">解除时间:</text>
  276. <text>{{share.deleted_at}}</text>
  277. </view>
  278. <view style="text-align: left">
  279. <text style="color: #999;">解除理由:</text>
  280. <text>{{share.reason}}</text>
  281. </view>
  282. </template>
  283. </view>
  284. <view @click="againApply" class="submit again-apply main-center" style="margin:0">
  285. <button>再次申请</button>
  286. </view>
  287. </view>
  288. <view class="dir-top-nowrap cross-center disabled" v-else-if="status == 6">
  289. <image src="./../image/disabled.png" class="disabled-img"></image>
  290. <view class="disabled-text">当前功能未开放</view>
  291. <view class="disabled-btn" @click="route('/pages/index/index')">去商城逛逛</view>
  292. </view>
  293. <view class="bg" v-if="apply">
  294. <view class="dialog">
  295. <view class="dialog-title">提示</view>
  296. <view class="dialog-msg">是否申请成为{{custom_setting.words.share_name.name ? custom_setting.words.share_name.name : custom_setting.words.share_name.default}}</view>
  297. <view class="dialog-btn main-center">
  298. <view @click="toApply" class="dialog-close">取消</view>
  299. <view class="line"></view>
  300. <view class="dialog-submit" @click="subscribe">确认</view>
  301. </view>
  302. </view>
  303. </view>
  304. </app-layout>
  305. </template>
  306. <script>
  307. import { mapGetters, mapState } from "vuex";
  308. import uOrdinaryList from '../../../components/page-component/u-goods-list/u-ordinary-list.vue';
  309. import order from "../../order/order.js";
  310. export default {
  311. components: {
  312. uOrdinaryList
  313. },
  314. data() {
  315. return {
  316. setting: null,
  317. status: -1,
  318. customize: [],
  319. name: null,
  320. first: false,
  321. page_loading: true,
  322. inApply: false,
  323. apply: false,
  324. template_message: null,
  325. index: [],
  326. order_price: null,
  327. goods_list: null,
  328. cat_list: null,
  329. share: null,
  330. stock: null,
  331. region: null,
  332. is_can_apply: false
  333. }
  334. },
  335. computed: {
  336. ...mapState({
  337. userInfo: state => state.user.info,
  338. custom_setting: state => state.mallConfig.share_setting_custom,
  339. share_setting: state => state.mallConfig.share_setting,
  340. mall: state => state.mallConfig.mall
  341. }),
  342. percent() {
  343. console.log(this.userInfo)
  344. if (this.order_price === null) {
  345. return 0;
  346. } else if (this.share_setting.become_condition == 1 ) {
  347. return parseFloat(this.order_price) / parseFloat(this.share_setting.auto_share_val) * 100;
  348. } else if (this.share_setting.become_condition == 4 ) {
  349. // TODO 未完成
  350. return parseFloat(this.order_price) / parseFloat(this.share_setting.total_consume) * 100;
  351. }
  352. },
  353. condition() {
  354. if (this.share_setting.share_condition == 3) {
  355. return '自动';
  356. } else {
  357. return '申请';
  358. }
  359. },
  360. ...mapGetters('mallConfig', {
  361. getTheme: 'getTheme'
  362. })
  363. },
  364. methods: {
  365. copy(str){
  366. order.copyText(str)
  367. },
  368. toApply() {
  369. this.apply = !this.apply;
  370. },
  371. route(url) {
  372. uni.navigateTo({
  373. url: url
  374. })
  375. },
  376. subscribe() {
  377. this.$subscribe(this.template_message).then(() => {
  378. this.submit();
  379. }).catch(() => {
  380. this.submit();
  381. });
  382. },
  383. submit() {
  384. let that = this;
  385. uni.showLoading({
  386. title: '提交中...'
  387. });
  388. if(that.inApply) {
  389. return false
  390. }
  391. that.inApply = true;
  392. that.$request({
  393. url: that.$api.share.apply,
  394. data: {
  395. name: that.userInfo.nickname,
  396. mobile: that.userInfo.mobile
  397. },
  398. method: 'post'
  399. }).then(response=>{
  400. that.inApply = false;
  401. uni.hideLoading();
  402. if(response.code === 0) {
  403. that.status = 0;
  404. if (that.share_setting.share_condition == '3') {
  405. that.status = 1;
  406. }
  407. that.apply = false;
  408. that.getStatus();
  409. }else {
  410. uni.showToast({
  411. title: response.msg,
  412. icon: 'none',
  413. duration: 1000
  414. });
  415. }
  416. }).catch(() => {
  417. uni.hideLoading();
  418. });
  419. },
  420. getList() {
  421. let that = this;
  422. that.$request({
  423. url: that.$api.share.index,
  424. }).then(response=>{
  425. that.$hideLoading();
  426. if(response.code === 0) {
  427. that.index = response.data.list;
  428. that.setting = response.data.bonus_setting.list;
  429. that.stock = response.data.stock_setting;
  430. that.region = response.data.region_setting;
  431. }else {
  432. uni.showToast({
  433. title: response.msg,
  434. icon: 'none',
  435. duration: 1000
  436. });
  437. }
  438. }).catch(() => {
  439. that.$hideLoading();
  440. });
  441. },
  442. getStatus() {
  443. let that = this;
  444. that.$request({
  445. url: that.$api.share.new_apply_status,
  446. }).then(response=>{
  447. that.first = true;
  448. if(response.code === 0) {
  449. that.template_message = response.data.template_message;
  450. that.status = response.data.status;
  451. that.share = response.data.share;
  452. that.order_price = response.data.orderPrice;
  453. that.goods_list = response.data.goodsList;
  454. that.cat_list = response.data.catList;
  455. that.is_can_apply = response.data.is_can_apply;
  456. if (that.status == 1) {
  457. that.getList();
  458. let name = response.data.share.name;
  459. if (that.share_setting.share_condition == '3') {
  460. name = that.userInfo.nickname
  461. }
  462. that.name = name;
  463. } else if (that.status == 2) {
  464. that.$hideLoading();
  465. if (this.share_setting.share_condition == '1' || this.share_setting.share_condition == 3) {
  466. that.apply = true;
  467. }
  468. }else {
  469. that.$hideLoading();
  470. }
  471. }else {
  472. that.$hideLoading();
  473. uni.showModal({
  474. content: response.msg,
  475. showCancel: false
  476. })
  477. }
  478. }).catch(() => {
  479. that.$hideLoading();
  480. that.$event.on(that.$const.EVENT_USER_LOGIN).then(()=>{
  481. that.$store.dispatch('user/info');
  482. that.getStatus();
  483. });
  484. });
  485. },
  486. againApply() {
  487. if (this.is_can_apply) {
  488. if (this.share_setting.share_condition == '1' || this.share_setting.share_condition == 3) {
  489. this.apply = true;
  490. } else {
  491. this.route('/pages/share/add/add?template_message=' + JSON.stringify(this.template_message));
  492. }
  493. } else {
  494. this.status = 3;
  495. }
  496. },
  497. toGoods(cat_id) {
  498. this.$jump({
  499. url: '/pages/goods/list?cat_id=' + cat_id,
  500. open_type: 'navigate'
  501. });
  502. }
  503. },
  504. onLoad() {
  505. if (this.$user.isLogin()) {
  506. this.$store.dispatch('user/refreshInfo');
  507. }
  508. this.$showLoading({
  509. type: 'global',
  510. text: '加载中...'
  511. });
  512. this.getStatus();
  513. },
  514. onShow() {
  515. let that = this;
  516. if(that.first) {
  517. that.getStatus();
  518. }
  519. }
  520. }
  521. </script>
  522. <style scoped lang="scss">
  523. .info {
  524. height: #{360rpx};
  525. background-color: #ff4544;
  526. width: 100%;
  527. padding: #{20rpx} #{25rpx} 0;
  528. color: #fff;
  529. font-size: #{28rpx};
  530. background-repeat: no-repeat;
  531. background-size: #{750rpx} #{360rpx};
  532. }
  533. .user-info {
  534. border-bottom: #{1rpx} solid #FFFFFF;
  535. padding-bottom: #{20rpx};
  536. .arrow-right {
  537. width: #{12rpx};
  538. height: #{22rpx};
  539. margin-left: #{12rpx};
  540. display: block;
  541. }
  542. .user-edit{
  543. font-size: #{28rpx};
  544. padding-left: #{10rpx};
  545. }
  546. }
  547. .user-avatar {
  548. width: #{120rpx};
  549. height: #{120rpx};
  550. border-radius: 50%;
  551. font-size: #{26rpx};
  552. margin-right: #{40rpx};
  553. }
  554. .user-name {
  555. font-size: #{36rpx};
  556. }
  557. .mtb-10 {
  558. margin: #{10rpx 0};
  559. }
  560. .share-info {
  561. float: left;
  562. margin-top: #{20rpx};
  563. font-size: #{28rpx};
  564. }
  565. .share-info text {
  566. font-size: #{46rpx};
  567. }
  568. .withdraw-btn {
  569. float: right;
  570. width: #{105rpx};
  571. border-radius: #{28rpx};
  572. height: #{56rpx};
  573. line-height: #{54rpx};
  574. font-size: #{28rpx};
  575. color: #fff;
  576. background-color: auto;
  577. text-align: center;
  578. border: #{2rpx} solid #fff;
  579. padding: 0;
  580. margin-top: #{48rpx};
  581. }
  582. .withdraw-btn::after {
  583. border: 0;
  584. }
  585. .nav {
  586. background-color: #fff;
  587. height: #{160rpx};
  588. padding: #{40rpx} 0;
  589. text-align: center;
  590. font-size: #{30rpx};
  591. color: #666;
  592. width: #{702rpx};
  593. margin: #{16rpx} auto 0;
  594. border-radius: #{10rpx};
  595. }
  596. .nav>view {
  597. width: 50%;
  598. text-align: center;
  599. }
  600. .nav-left {
  601. margin-left: #{-1rpx};
  602. border-right: #{1rpx} solid #bbb;
  603. }
  604. .nav-title {
  605. font-size: #{26rpx};
  606. color: #ff8f17;
  607. margin-bottom: #{10rpx};
  608. }
  609. .nav-left .nav-title {
  610. color: #22af19;
  611. }
  612. .list {
  613. margin: #{16rpx} auto 0;
  614. background-color: #fff;
  615. width: #{702rpx};
  616. border-radius: #{10rpx};
  617. }
  618. .list-item {
  619. height: #{220rpx};
  620. width: #{234rpx};
  621. text-align: center;
  622. padding-top: #{57rpx};
  623. font-size: #{24rpx};
  624. color: #666;
  625. }
  626. .list-item image {
  627. height: #{61rpx};
  628. width: #{61rpx};
  629. vertical-align: top;
  630. margin-top: #{-10rpx};
  631. margin-bottom: #{10rpx};
  632. }
  633. .list-item text {
  634. color: #ff6868;
  635. }
  636. .list-item.no-border {
  637. border-bottom: 0;
  638. }
  639. .no-pass {
  640. position: absolute;
  641. left: 0;
  642. right: 0;
  643. height: 100%;
  644. width: 100%;
  645. background-color: #fff;
  646. text-align: center;
  647. padding-top: #{150rpx};
  648. color: #666;
  649. font-size: #{30rpx};
  650. }
  651. .no-pass-img {
  652. height: #{240rpx};
  653. width: #{420rpx};
  654. margin-bottom: #{80rpx};
  655. }
  656. .no-pass-btn {
  657. height: #{80rpx};
  658. width: #{560rpx};
  659. border-radius: #{40rpx};
  660. margin: #{88rpx} auto 0;
  661. color: #fff;
  662. font-size: #{30rpx};
  663. line-height: #{80rpx};
  664. background: #ff4544;
  665. }
  666. .withdraw-btn:active {
  667. background-color: rgba(0, 0, 0, 0.2);
  668. }
  669. .add-bg {
  670. height: #{300rpx};
  671. width: 100%;
  672. display: block;
  673. margin-bottom: #{20rpx};
  674. background-color: #f7f7f7;
  675. }
  676. .thx {
  677. padding: #{100rpx};
  678. text-align: center;
  679. color: #666;
  680. font-size: #{30rpx};
  681. }
  682. .thx image {
  683. height: #{80rpx};
  684. width: #{80rpx};
  685. margin-bottom: #{50rpx};
  686. }
  687. .submit {
  688. background-color: #f7f7f7;
  689. margin: 0 #{-24rpx};
  690. padding: #{24rpx};
  691. }
  692. .submit button {
  693. color: #fff;
  694. font-size: #{30rpx};
  695. font-weight: bold;
  696. height: #{100rpx};
  697. border-radius: #{50rpx};
  698. line-height: #{100rpx};
  699. background: #ff4544;
  700. }
  701. .bg {
  702. position: fixed;
  703. top: 0;
  704. left: 0;
  705. height: 100%;
  706. width: 100%;
  707. background-color: rgba(0, 0, 0, .3);
  708. z-index: 10;
  709. }
  710. .dialog {
  711. position: fixed;
  712. top: #{400rpx};
  713. left: 0;
  714. right: 0;
  715. height: #{300rpx};
  716. width: #{640rpx};
  717. margin: 0 auto;
  718. z-index: 21;
  719. background-color: #fff;
  720. border-radius: 10px;
  721. text-align: center;
  722. font-size: #{30rpx};
  723. }
  724. .dialog-title {
  725. margin: #{40rpx} auto #{35rpx};
  726. }
  727. .dialog-btn {
  728. height: #{88rpx};
  729. width: #{640rpx};
  730. border-top: #{1rpx} solid #e2e2e2;
  731. line-height: #{88rpx};
  732. position: absolute;
  733. bottom: 0;
  734. left: 0;
  735. }
  736. .dialog-close,.dialog-submit {
  737. width: 50%;
  738. }
  739. .line {
  740. height: #{44rpx};
  741. margin-top: #{22rpx};
  742. width: #{1rpx};
  743. background-color: #e2e2e2;
  744. }
  745. .dialog-submit {
  746. color: #ff4544;
  747. }
  748. .apply-status-4 {
  749. border-bottom: #{1rpx solid #e2e2e2};
  750. padding-bottom: #{32rpx};
  751. margin-bottom: #{32rpx};
  752. font-size: $uni-font-size-import-one;
  753. color: #353535;
  754. }
  755. .thx image.warning {
  756. width: #{160rpx};
  757. height: #{160rpx};
  758. }
  759. .again-apply {
  760. button {
  761. width: #{320rpx};
  762. }
  763. }
  764. .status-3 {
  765. background-color: #ffffff;
  766. min-height: 100vh;
  767. .submit {
  768. background-color: #ffffff;
  769. margin-top: #{160rpx};
  770. margin-left: 0;
  771. margin-right: 0;
  772. }
  773. }
  774. .apply-status-3 {
  775. padding: #{0 24rpx};
  776. margin-top: #{57rpx};
  777. .money {
  778. width: #{125rpx};
  779. height: #{100rpx};
  780. display: block;
  781. }
  782. .progress {
  783. width: #{470rpx};
  784. border-radius: #{5rpx};
  785. position: relative;
  786. .progress-content {
  787. position: absolute;
  788. top: -10rpx;
  789. z-index: 10;
  790. text-align: center;
  791. font-size: $uni-font-size-weak-one;
  792. .shuxian {
  793. width: #{2rpx};
  794. height: #{13rpx};
  795. border: #{1rpx solid #eeeeee};
  796. }
  797. .icon {
  798. width: #{35rpx};
  799. height: #{35rpx};
  800. display: block;
  801. }
  802. .q-price {
  803. color: #ff4544;
  804. &:before {
  805. content: '¥';
  806. }
  807. }
  808. }
  809. }
  810. .price {
  811. text-align: center;
  812. color: #999999;
  813. margin-left: #{20rpx};
  814. view:last-child {
  815. color: #ff4544;
  816. }
  817. }
  818. .content {
  819. text-align: center;
  820. color: #353535;
  821. font-size: #{35rpx};
  822. margin-top: #{47rpx};
  823. text {
  824. color: #ff4544;
  825. font-size: #{45rpx};
  826. }
  827. }
  828. }
  829. .share-goods-status-1 {
  830. .content {
  831. text-align: center;
  832. color: #353535;
  833. font-size: #{35rpx};
  834. margin-top: #{60rpx};
  835. margin-bottom: #{80rpx};
  836. text {
  837. color: #ff4544;
  838. font-size: #{45rpx};
  839. }
  840. }
  841. .goods-title {
  842. color: #a6a6a6;
  843. margin-top: #{36rpx};
  844. margin-bottom: #{34rpx};
  845. .border {
  846. width: #{40rpx};
  847. border: #{1rpx solid #a6a6a6};
  848. &:first-child {
  849. margin-right: #{24rpx};
  850. }
  851. &:last-child {
  852. margin-left: #{24rpx};
  853. }
  854. }
  855. image {
  856. width: #{24rpx};
  857. height: #{24rpx};
  858. display: block;
  859. margin-right: #{12rpx};
  860. }
  861. }
  862. }
  863. .cat-list {
  864. padding: #{0 24rpx};
  865. .cat-item {
  866. width: #{221rpx};
  867. padding: #{10rpx 27rpx};
  868. font-size: $uni-font-size-general-one;
  869. border-radius: #{30rpx};
  870. border: #{2rpx solid #e2e2e2};
  871. background-color: #ffffff;
  872. margin-right: #{18rpx};
  873. margin-bottom: #{34rpx};
  874. text-align: center;
  875. }
  876. }
  877. .disabled {
  878. padding-top: #{156rpx};
  879. .disabled-img {
  880. width: #{240rpx};
  881. height: #{237rpx};
  882. display: block;
  883. }
  884. .disabled-text {
  885. font-size: $uni-font-size-general-two;
  886. color: #999999;
  887. margin-top: #{62rpx};
  888. }
  889. .disabled-btn {
  890. margin-top: #{80rpx};
  891. width: #{320rpx};
  892. height: #{80rpx};
  893. font-size: $uni-font-size-import-two;
  894. color: #ffffff;
  895. background: #ff4544;
  896. border-radius: #{40rpx};
  897. text-align: center;
  898. line-height: #{80rpx};
  899. }
  900. }
  901. </style>