index.vue 35 KB

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