|
|
@@ -0,0 +1,596 @@
|
|
|
+<template>
|
|
|
+ <div class="page" @scroll="handleScroll">
|
|
|
+ <!-- 顶部返回按钮 -->
|
|
|
+ <div class="head">
|
|
|
+ <img @click="back" src="@/assets/images/back.png" class="arrow_img" />
|
|
|
+ <span>C2C</span>
|
|
|
+ </div>
|
|
|
+ <div class="box">
|
|
|
+ <div class="flex sb">
|
|
|
+ <div class="small_nav flex">
|
|
|
+ <span :class="[index == smallNavIndex ? 'small_nav_item nav_active' : 'small_nav_item']" v-for="(item, index) in smallNav" :key="index" @click="changeType(item, index)">{{ item.key }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <template>
|
|
|
+ <div class="list" v-if="list.length > 0">
|
|
|
+ <div class="list_item" v-for="(item, index) in list" :key="index">
|
|
|
+ <div class="flex pb">
|
|
|
+ <img :src="item.users.avatar" alt="" class="avatar" />
|
|
|
+ <span>{{ item.users.address.substring(0, 6) + '******' + item.users.address.substring(item.users.address.length - 5, item.users.address.length) }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="flex pb">
|
|
|
+ <svg width="12" height="22" viewBox="32 -2 50 96" xmlns="http://www.w3.org/2000/svg">
|
|
|
+ <path d="M70,35 C56,28 38,40 40,54 C40,64 50,74 70,66" fill="none" stroke="black" stroke-width="6" stroke-linecap="round" />
|
|
|
+ <line x1="52" y1="29" x2="52" y2="73" stroke="black" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ <line x1="63" y1="29" x2="63" y2="73" stroke="black" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ </svg>
|
|
|
+ <span class="price">{{ item.price }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="pb">
|
|
|
+ <span class="grey">{{ $t('lang431') }}</span>
|
|
|
+ <span>{{ item.stock - item.num }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="flex sb">
|
|
|
+ <div class="flex">
|
|
|
+ <span class="grey">{{ $t('lang432') }}</span>
|
|
|
+ <span class="flex">
|
|
|
+ {{ item.total_price }}
|
|
|
+ <svg width="12" height="22" viewBox="32 4 50 96" xmlns="http://www.w3.org/2000/svg">
|
|
|
+ <path d="M70,35 C56,28 38,40 40,54 C40,64 50,74 70,66" fill="none" stroke="black" stroke-width="6" stroke-linecap="round" />
|
|
|
+ <line x1="52" y1="29" x2="52" y2="73" stroke="black" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ <line x1="63" y1="29" x2="63" y2="73" stroke="black" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ </svg>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="buy" v-if="smallNavIndex == 0" @click="buy(item)">{{ $t('lang433') }}</div>
|
|
|
+ <div class="buy" v-else-if="smallNavIndex == 1" @click="buy(item)">{{ $t('lang426') }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bare" v-else>
|
|
|
+ <span>{{ $t('lang60') }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="btn_box" @click="navigatorTo('teacSell')" v-if="smallNavIndex == 0">
|
|
|
+ <div class="btn">{{ $t('lang408') }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="btn_box" @click="navigatorTo('teacBuy')" v-else-if="smallNavIndex == 1">
|
|
|
+ <div class="btn">{{ $t('lang349') }}</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ <van-popup v-model="buyPopop" round position="bottom">
|
|
|
+ <div class="area" v-if="smallNavIndex == 0">
|
|
|
+ <div class="title">{{ $t('lang409') }}</div>
|
|
|
+ <div class="popup_box">
|
|
|
+ <div class="f-r">
|
|
|
+ <span> {{ $t('lang422') }} </span>
|
|
|
+ <div class="d">
|
|
|
+ <van-field v-model="number" :placeholder="$t('lang119')" type="number" class="input" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="f-r">
|
|
|
+ <span> {{ $t('lang430') + ':' }} </span>
|
|
|
+ <span class="flex">
|
|
|
+ <svg width="12" height="22" viewBox="32 2 50 96" xmlns="http://www.w3.org/2000/svg">
|
|
|
+ <path d="M70,35 C56,28 38,40 40,54 C40,64 50,74 70,66" fill="none" stroke="#363636" stroke-width="6" stroke-linecap="round" />
|
|
|
+ <line x1="52" y1="29" x2="52" y2="73" stroke="#363636" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ <line x1="63" y1="29" x2="63" y2="73" stroke="#363636" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ </svg>
|
|
|
+ {{ (number * item.price).toFixed(2) }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="submit">
|
|
|
+ <van-button class="submit_btn" type="primary" @click="setTeacSellOrder">{{ $t('lang71') }}</van-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="area" v-else-if="smallNavIndex == 1">
|
|
|
+ <div class="title">{{ $t('lang424') }}</div>
|
|
|
+ <div class="popup_box">
|
|
|
+ <div class="f-r">
|
|
|
+ <span> {{ $t('lang429') + ':' }} </span>
|
|
|
+ <div class="d">
|
|
|
+ <van-field v-model="number" :placeholder="$t('lang119')" type="number" class="input" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="f-r">
|
|
|
+ <span> {{ $t('lang367') + `(${(configInfo.buy_serve_fee * 100).toFixed(2)}%):` }} </span>
|
|
|
+ <span class="flex">
|
|
|
+ <svg width="12" height="22" viewBox="32 1 50 96" xmlns="http://www.w3.org/2000/svg">
|
|
|
+ <path d="M70,35 C56,28 38,40 40,54 C40,64 50,74 70,66" fill="none" stroke="#363636" stroke-width="6" stroke-linecap="round" />
|
|
|
+ <line x1="52" y1="29" x2="52" y2="73" stroke="#363636" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ <line x1="63" y1="29" x2="63" y2="73" stroke="#363636" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ </svg>
|
|
|
+ {{ (number * item.price * configInfo.buy_serve_fee).toFixed(2) }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="f-r">
|
|
|
+ <span> {{ $t('lang366') + ':' }} </span>
|
|
|
+ <span class="flex">
|
|
|
+ <svg width="12" height="22" viewBox="32 1 50 96" xmlns="http://www.w3.org/2000/svg">
|
|
|
+ <path d="M70,35 C56,28 38,40 40,54 C40,64 50,74 70,66" fill="none" stroke="#363636" stroke-width="6" stroke-linecap="round" />
|
|
|
+ <line x1="52" y1="29" x2="52" y2="73" stroke="#363636" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ <line x1="63" y1="29" x2="63" y2="73" stroke="#363636" stroke-width="5.2" stroke-linecap="round" />
|
|
|
+ </svg>
|
|
|
+ {{ (number * item.price - number * item.price * configInfo.buy_serve_fee).toFixed(2) || 0 }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="submit">
|
|
|
+ <van-button class="submit_btn" type="primary" @click="setTeacBuyOrder">{{ $t('lang71') }}</van-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </van-popup>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+ <script>
|
|
|
+import { homeApi } from '@/api/index';
|
|
|
+import { Dialog, Notify, Toast } from 'vant';
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ loading: false,
|
|
|
+ number: '',
|
|
|
+ list: [],
|
|
|
+ smallNav: [
|
|
|
+ {
|
|
|
+ key: this.$t('lang407'),
|
|
|
+ value: 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: this.$t('lang345'),
|
|
|
+ value: 2,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ smallNavIndex: 0,
|
|
|
+ page: 1,
|
|
|
+ price: '', // 寄售金额
|
|
|
+ buyPopop: false,
|
|
|
+ item: {},
|
|
|
+ configInfo: {
|
|
|
+ sell_min_price: 0,
|
|
|
+ sell_min_num: 0,
|
|
|
+ sell_serve_fee: 0,
|
|
|
+ buy_min_price: 0,
|
|
|
+ buy_min_num: 0,
|
|
|
+ buy_serve_fee: 0,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.getTeacList();
|
|
|
+ this.getTeacConfig();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ back() {
|
|
|
+ this.$router.back();
|
|
|
+ },
|
|
|
+ getTeacList() {
|
|
|
+ homeApi.getTeacList({ type_id: this.smallNav[this.smallNavIndex].value }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.total = res.data.total;
|
|
|
+ if (this.list.length >= res.data.total) {
|
|
|
+ this.page = -1; // 重置为 -1,表示没有更多数据
|
|
|
+ } else {
|
|
|
+ this.list = [...this.list, ...res.data.data];
|
|
|
+ if (this.list.length >= res.data.total) {
|
|
|
+ this.page = -1; // 重置为 -1,表示没有更多数据
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getTeacConfig() {
|
|
|
+ homeApi.getTeacConfig({}).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.configInfo = res.data;
|
|
|
+ } else {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleScroll(event) {
|
|
|
+ const container = event.target;
|
|
|
+ const scrollTop = container.scrollTop; // 滚动距离
|
|
|
+ const scrollHeight = container.scrollHeight; // 内容总高度
|
|
|
+ const clientHeight = container.clientHeight; // 可视区域高度
|
|
|
+ // 判断是否滑动到底部
|
|
|
+ if (scrollTop + clientHeight >= scrollHeight - 10) {
|
|
|
+ console.log('Bottom');
|
|
|
+ if (this.page != -1) {
|
|
|
+ this.page++; // 页数加 1
|
|
|
+ this.getTeacList();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ buy(item) {
|
|
|
+ this.buyPopop = true;
|
|
|
+ this.item = item;
|
|
|
+ },
|
|
|
+ setTeacBuyOrder() {
|
|
|
+ let _this = this;
|
|
|
+ let params = {
|
|
|
+ num: this.number,
|
|
|
+ teac_id: this.item.id,
|
|
|
+ };
|
|
|
+ this.loading = true;
|
|
|
+ homeApi.setTeacBuyOrder(params).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ _this.loading = false;
|
|
|
+ _this.buyPopop = false;
|
|
|
+ _this.number = '';
|
|
|
+ _this.page = 1;
|
|
|
+ _this.list = [];
|
|
|
+ _this.getTeacList();
|
|
|
+ Toast({ message: _this.$t('lang152') });
|
|
|
+ // _this.$router.push('mine');
|
|
|
+ } else if (res.code == 15001) {
|
|
|
+ _this.loading = false;
|
|
|
+ // setTimeout(() => {
|
|
|
+ // _this.$router.push('recharge');
|
|
|
+ // }, 300);
|
|
|
+ } else {
|
|
|
+ _this.loading = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ setTeacSellOrder() {
|
|
|
+ let _this = this;
|
|
|
+ let params = {
|
|
|
+ num: this.number,
|
|
|
+ teac_id: this.item.id,
|
|
|
+ };
|
|
|
+ this.loading = true;
|
|
|
+ homeApi.setTeacSellOrder(params).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ _this.loading = false;
|
|
|
+ _this.buyPopop = false;
|
|
|
+ _this.number = '';
|
|
|
+ _this.page = 1;
|
|
|
+ _this.list = [];
|
|
|
+ _this.getTeacList();
|
|
|
+ Toast({ message: _this.$t('lang152') });
|
|
|
+ // _this.$router.push('mine');
|
|
|
+ } else if (res.code == 15001) {
|
|
|
+ _this.loading = false;
|
|
|
+ // setTimeout(() => {
|
|
|
+ // _this.$router.push('recharge');
|
|
|
+ // }, 300);
|
|
|
+ } else {
|
|
|
+ _this.loading = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ changeType(item, index) {
|
|
|
+ this.smallNavIndex = index;
|
|
|
+ this.page = 1;
|
|
|
+ this.list = [];
|
|
|
+ this.getTeacList();
|
|
|
+ },
|
|
|
+ navigatorTo(router) {
|
|
|
+ if (this.$route.name == router) return;
|
|
|
+ if (router != '') {
|
|
|
+ this.$router.push({ name: router });
|
|
|
+ } else {
|
|
|
+ this.$toast(this.$t('lang2'));
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="less" scoped>
|
|
|
+.page {
|
|
|
+ height: 100vh;
|
|
|
+ overflow: auto;
|
|
|
+}
|
|
|
+.head {
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ color: rgba(#000, 0.8);
|
|
|
+ letter-spacing: 1.5px;
|
|
|
+ font-weight: 550;
|
|
|
+ background: #fff;
|
|
|
+ padding: 14px 0;
|
|
|
+ z-index: 99;
|
|
|
+ .arrow_img {
|
|
|
+ position: absolute;
|
|
|
+ left: 20px;
|
|
|
+ width: 10px;
|
|
|
+ height: 16px;
|
|
|
+ // transform: translate(0, -50%);
|
|
|
+ }
|
|
|
+}
|
|
|
+.box {
|
|
|
+ color: #000;
|
|
|
+ font-size: 13px;
|
|
|
+ min-height: 90vh;
|
|
|
+ padding: 6px 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 14px;
|
|
|
+ margin: 56px 10px 120px;
|
|
|
+ background-color: #fff;
|
|
|
+
|
|
|
+ .flex {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ .sb {
|
|
|
+ justify-content: space-between;
|
|
|
+ }
|
|
|
+ .small_nav {
|
|
|
+ width: fit-content;
|
|
|
+ font-size: 11px;
|
|
|
+ padding: 2px;
|
|
|
+ border-radius: 20px;
|
|
|
+ margin-top: 6px;
|
|
|
+ background-color: #f5f5f5;
|
|
|
+ &_item {
|
|
|
+ color: #8b8b8b;
|
|
|
+ display: block;
|
|
|
+ text-align: center;
|
|
|
+ min-width: 26px;
|
|
|
+ padding: 4px 12px;
|
|
|
+ margin: 1px;
|
|
|
+ border-radius: 20px;
|
|
|
+ overflow: hidden; //超出的文本隐藏
|
|
|
+ text-overflow: ellipsis; //溢出用省略号显示
|
|
|
+ white-space: nowrap; //溢出不换行
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .nav_active {
|
|
|
+ color: #fff;
|
|
|
+ background-color: #29b286 !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .list {
|
|
|
+ &_item {
|
|
|
+ letter-spacing: 1px;
|
|
|
+ padding: 14px 0;
|
|
|
+ border-bottom: 1px solid rgba(#c7c7c7, 0.3);
|
|
|
+ &_name {
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 15px;
|
|
|
+ width: 160px;
|
|
|
+ overflow: hidden; /* 确保超出容器的文本被裁剪 */
|
|
|
+ white-space: nowrap; /* 确保文本在一行内显示 */
|
|
|
+ text-overflow: ellipsis; /* 使用省略号表示文本超出 */
|
|
|
+ }
|
|
|
+ .avatar {
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ border-radius: 50%;
|
|
|
+ margin-right: 8px;
|
|
|
+ }
|
|
|
+ .sn {
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 13px;
|
|
|
+ padding-top: 8px;
|
|
|
+ }
|
|
|
+ .price {
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 17px;
|
|
|
+ }
|
|
|
+ .van-icon {
|
|
|
+ margin-left: 12px;
|
|
|
+ }
|
|
|
+ .grey {
|
|
|
+ color: #888888;
|
|
|
+ font-size: 12px;
|
|
|
+ padding-right: 6px;
|
|
|
+ }
|
|
|
+ .pb {
|
|
|
+ padding-bottom: 10px;
|
|
|
+ }
|
|
|
+ .buy {
|
|
|
+ color: #fff;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 12px;
|
|
|
+ min-width: 26px;
|
|
|
+ padding: 4px 12px;
|
|
|
+ border-radius: 18px;
|
|
|
+ background-color: #29b286;
|
|
|
+ }
|
|
|
+ /deep/ .van-checkbox__icon .van-icon {
|
|
|
+ margin-right: 8px;
|
|
|
+ border-radius: 2px;
|
|
|
+ border-color: #29b286 !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .buy {
|
|
|
+ .price {
|
|
|
+ margin-left: -12px;
|
|
|
+ }
|
|
|
+ .wallet {
|
|
|
+ font-size: 11px;
|
|
|
+ color: #8b8b8b;
|
|
|
+ padding-top: 4px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .announcement {
|
|
|
+ padding-top: 10px;
|
|
|
+ &_item {
|
|
|
+ padding: 10px 0;
|
|
|
+ border-bottom: 1px solid rgba(#c7c7c7, 0.3);
|
|
|
+ margin-bottom: 8px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.van-tab {
|
|
|
+ flex: none;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #c5c5c5;
|
|
|
+ font-size: 13px;
|
|
|
+ letter-spacing: 0.5px;
|
|
|
+ margin-right: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.van-tabs__nav--line {
|
|
|
+ padding-bottom: 10px;
|
|
|
+ }
|
|
|
+ .btn_box {
|
|
|
+ position: fixed;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 80px;
|
|
|
+ padding: 16px 20px;
|
|
|
+ border-top: 1px solid rgba(#c7c7c7, 0.3);
|
|
|
+ background-color: #fff;
|
|
|
+ .btn {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ height: 100%;
|
|
|
+ box-sizing: border-box;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 15px;
|
|
|
+ text-align: center;
|
|
|
+ font-weight: 600;
|
|
|
+ letter-spacing: 1px;
|
|
|
+ padding: 12px 10px;
|
|
|
+ border-radius: 22px;
|
|
|
+ background-color: #29b286;
|
|
|
+ }
|
|
|
+ .submit {
|
|
|
+ width: 58%;
|
|
|
+ background-color: #17ab79;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .bare {
|
|
|
+ text-align: center;
|
|
|
+ font-size: 14px;
|
|
|
+ padding: 60px 14px;
|
|
|
+ color: #888;
|
|
|
+ }
|
|
|
+}
|
|
|
+.flex {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+.area {
|
|
|
+ color: #363636;
|
|
|
+ font-size: 13px;
|
|
|
+ padding: 20px 30px;
|
|
|
+ width: 100%;
|
|
|
+ box-sizing: border-box;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .title {
|
|
|
+ color: #000;
|
|
|
+ font-size: 15px;
|
|
|
+ text-align: center;
|
|
|
+ font-weight: bold;
|
|
|
+ // padding: 0 0 14px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .popup_box {
|
|
|
+ margin: 20px 0;
|
|
|
+ .f-r,
|
|
|
+ .f-s {
|
|
|
+ padding: 6px 0 15px;
|
|
|
+ letter-spacing: 1px;
|
|
|
+ }
|
|
|
+ .f-r span:first-child,
|
|
|
+ .f-s span:first-child {
|
|
|
+ padding-right: 8px;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+ .d {
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-end;
|
|
|
+ }
|
|
|
+ .input {
|
|
|
+ // width: 100%;
|
|
|
+ // border: 1px solid #29b286;
|
|
|
+ // border-radius: 20px;
|
|
|
+ width: 230px;
|
|
|
+ border-bottom: 0.5px solid rgba(27, 27, 27, 0.15);
|
|
|
+ }
|
|
|
+ .k {
|
|
|
+ padding-top: 6px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .van-cell {
|
|
|
+ padding: 0 !important;
|
|
|
+ }
|
|
|
+ .s {
|
|
|
+ font-size: 11px;
|
|
|
+ color: #999999;
|
|
|
+ width: 70%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .submit {
|
|
|
+ width: 100%;
|
|
|
+ // position: fixed;
|
|
|
+ bottom: 30px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ &_btn {
|
|
|
+ width: 100%;
|
|
|
+ height: 40px;
|
|
|
+ line-height: 40px;
|
|
|
+ font-size: 14px;
|
|
|
+ background-color: #29b286;
|
|
|
+ border: none;
|
|
|
+ white-space: nowrap;
|
|
|
+ border-radius: 30px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ::v-deep .van-field__control {
|
|
|
+ padding: 0 6px;
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+
|
|
|
+ ::v-deep .van-hairline--top-bottom::after,
|
|
|
+ ::v-deep.van-hairline-unset--top-bottom::after {
|
|
|
+ border: none;
|
|
|
+ }
|
|
|
+}
|
|
|
+::v-deep .van-overlay {
|
|
|
+ background-color: rgba(#000, 0.3);
|
|
|
+}
|
|
|
+::v-deep .van-cell {
|
|
|
+ padding: 10px 0 !important;
|
|
|
+}
|
|
|
+.f-sb {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+}
|
|
|
+.f-sa {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-around;
|
|
|
+}
|
|
|
+.f-sb-n {
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-end;
|
|
|
+ justify-content: space-between;
|
|
|
+}
|
|
|
+.f-col {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+}
|
|
|
+.f-r {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+.f {
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
+.f-s {
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-start;
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+
|