feat: 优化
This commit is contained in:
@@ -67,6 +67,7 @@
|
||||
border-radius: 30rpx;
|
||||
padding: 30rpx;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
}
|
||||
|
||||
.data_msg {
|
||||
|
||||
@@ -1,43 +1,20 @@
|
||||
<template>
|
||||
<view class="choiceness_warp">
|
||||
<view class="choiceness_title">
|
||||
<up-image
|
||||
src="/static/common/jingxuan_left.png"
|
||||
width="24"
|
||||
height="8"
|
||||
bgColor="#f1f6ff00"
|
||||
></up-image>
|
||||
<up-image src="/static/common/jingxuan_left.png" width="24" height="8" bgColor="#f1f6ff00"></up-image>
|
||||
<view class="choiceness_title_msg">为您精选</view>
|
||||
<up-image
|
||||
src="/static/common/jingxuan_right.png"
|
||||
width="24"
|
||||
height="8"
|
||||
bgColor="#f1f6ff00"
|
||||
></up-image>
|
||||
<up-image src="/static/common/jingxuan_right.png" width="24" height="8" bgColor="#f1f6ff00"></up-image>
|
||||
</view>
|
||||
<view
|
||||
class="choiceness_product"
|
||||
:class="platformType ? '' : 'iosplatformType'"
|
||||
>
|
||||
<view
|
||||
v-for="item in productList"
|
||||
:key="item.id"
|
||||
class="choiceness_product_item"
|
||||
@click="jumpInfo(item)"
|
||||
>
|
||||
<up-image
|
||||
:src="item.url"
|
||||
width="100%"
|
||||
height="140"
|
||||
bgColor="#f1f6ff00"
|
||||
></up-image>
|
||||
<view class="choiceness_product" :class="platformType ? '' : 'iosplatformType'">
|
||||
<view v-for="item in productList" :key="item.id" class="choiceness_product_item" @click="jumpInfo(item)">
|
||||
<up-image :src="item.url" width="100%" height="140" bgColor="#f1f6ff00"></up-image>
|
||||
<view class="product_item_name">{{ item.title }}</view>
|
||||
<view class="product_item_price">
|
||||
<view class="price_">
|
||||
<text>¥</text>
|
||||
<text style="color: 36rpx">{{ item.price }}</text>
|
||||
</view>
|
||||
<view class="price_sell">已售{{ item.sales }}件</view>
|
||||
<view class="price_sell">全网销量{{ limit999(item.sales) }}件</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -56,13 +33,20 @@ export default {
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
/*#ifdef APP-PLUS*/
|
||||
/*#ifdef APP-PLUS*/
|
||||
const appUpdate = uni.getStorageSync("platform");
|
||||
this.platformType = appUpdate == "android" ? "ANDROID" : "IOS";
|
||||
/*#endif*/
|
||||
/*#endif*/
|
||||
this.getSearchList();
|
||||
},
|
||||
methods: {
|
||||
limit999(n) {
|
||||
const num = Number(n);
|
||||
if (isNaN(num) || num < 10000) {
|
||||
return n != null && n !== '' ? String(n) : '0';
|
||||
}
|
||||
return `${Math.floor(num / 10000)}万+`;
|
||||
},
|
||||
//
|
||||
jumpInfo(item) {
|
||||
uni.navigateTo({
|
||||
@@ -104,6 +88,7 @@ export default {
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
padding-bottom: calc(env(safe-area-inset-bottom) + 100rpx);
|
||||
|
||||
&.iosplatformType {
|
||||
padding-bottom: 100rpx;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
</view>
|
||||
|
||||
</scroll-view>
|
||||
<scroll-view :scroll-y="true" class="address-bottom-list" :scroll-into-view="scrollId">
|
||||
<scroll-view :scroll-y="true" class="address-bottom-list" :scroll-into-view="scrollId"
|
||||
:scroll-top="scrollTop">
|
||||
<view class="address-data-view" v-for="(item, index) in dataList" :key="index" :id="item.zi">
|
||||
<text class="text-32 text-gray text-bold">{{ item.zi }}</text>
|
||||
<view class="address-data-data" @click="onItem(item, xItem)" v-for="(xItem, xIndex) in item.data"
|
||||
@@ -45,6 +46,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
scrollId: '',
|
||||
scrollTop: 0,
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@@ -68,10 +70,23 @@ export default {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
watch: {
|
||||
dataList() {
|
||||
this.resetScroll();
|
||||
},
|
||||
curSelect() {
|
||||
this.resetScroll();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
resetScroll() {
|
||||
this.scrollId = '';
|
||||
this.scrollTop = this.scrollTop === 0 ? 0.01 : 0;
|
||||
this.$nextTick(() => {
|
||||
this.scrollTop = 0;
|
||||
});
|
||||
},
|
||||
onClose() {
|
||||
this.$emit('close')
|
||||
},
|
||||
@@ -83,6 +98,7 @@ export default {
|
||||
},
|
||||
onSelectItrm(item, index) {
|
||||
if (index != this.curSelect) {
|
||||
this.resetScroll();
|
||||
this.$emit('select', item, index);
|
||||
}
|
||||
},
|
||||
@@ -91,6 +107,7 @@ export default {
|
||||
Func.debounce(() => this.onItemOne(item, xItem), 150);
|
||||
},
|
||||
onItemOne(item, xItem) {
|
||||
this.resetScroll();
|
||||
this.$emit('itemSelect', item, xItem);
|
||||
}
|
||||
}
|
||||
@@ -127,8 +144,8 @@ export default {
|
||||
|
||||
.address-bottom-list {
|
||||
width: 100%;
|
||||
height: calc(100% - 88rpx - 88rpx - 32rpx);
|
||||
margin-top: 32rpx;
|
||||
height: calc(100% - 60rpx - 88rpx - 32rpx);
|
||||
margin-top: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow-y: auto;
|
||||
@@ -153,8 +170,8 @@ export default {
|
||||
|
||||
.address-select-view {
|
||||
width: 100%;
|
||||
height: 88rpx;
|
||||
min-height: 88rpx;
|
||||
height: 60rpx;
|
||||
min-height: 60rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
|
||||
+24
-13
@@ -22,9 +22,9 @@
|
||||
<view class="templ_img_item" v-for="item in uploadTemplList" :key="item.id">
|
||||
<up-image :src="item.url" width="100%" height="50" bgColor="#f1f6ff00"></up-image>
|
||||
<view class="templ_img_item_msg">
|
||||
<up-image :src="item.isOk ? '/static/common/ID_ok_1.png' : '/static/common/ID_error.png'" width="10"
|
||||
height="10" bgColor="#f1f6ff00"></up-image>
|
||||
<view class="templ_img_item_msg_title">{{ item.title }}</view>
|
||||
<up-image :src="item.isOk ? '/static/common/ID_ok_1.png' : '/static/common/ID_error.png'"
|
||||
width="10" height="10" bgColor="#f1f6ff00"></up-image>
|
||||
<view class="templ_img_item_msg_title">{{ item.title }}111</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -41,7 +41,7 @@ import { getStorageFun, TOKEN_NAME } from '@/utils/auth.js';
|
||||
|
||||
export default {
|
||||
name: "common_card",
|
||||
props:['Fimg','Bimg'],
|
||||
props: ['Fimg', 'Bimg'],
|
||||
data() {
|
||||
return {
|
||||
uploadTemplList: [
|
||||
@@ -54,7 +54,7 @@ export default {
|
||||
id: 2,
|
||||
title: "边框缺失",
|
||||
isOk: false,
|
||||
url: "https://static.tbmall.xin/static/ID_error_1.png",
|
||||
url: "https://static.tbmall.xin/static/ID_gq.png",
|
||||
}, {
|
||||
id: 3,
|
||||
title: "照片模糊",
|
||||
@@ -71,15 +71,15 @@ export default {
|
||||
fileListF: {},// 身份反面照片
|
||||
};
|
||||
},
|
||||
watch:{
|
||||
Fimg(p,r){
|
||||
if(p){
|
||||
this.fileListZ = {accessUrl:p};
|
||||
watch: {
|
||||
Fimg(p, r) {
|
||||
if (p) {
|
||||
this.fileListZ = { accessUrl: p };
|
||||
}
|
||||
},
|
||||
Bimg(p,r){
|
||||
if(p){
|
||||
this.fileListF = {accessUrl:p};
|
||||
Bimg(p, r) {
|
||||
if (p) {
|
||||
this.fileListF = { accessUrl: p };
|
||||
}
|
||||
},
|
||||
},
|
||||
@@ -176,4 +176,15 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style></style>
|
||||
<style scoped lang="scss">
|
||||
.data_common_warp {
|
||||
background: #FFFFFF;
|
||||
border-radius: 30rpx;
|
||||
padding: 30rpx;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 92rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -16,7 +16,7 @@
|
||||
<!-- 无优惠券 -->
|
||||
<view class="flex-r-lr price-line" v-else>
|
||||
<text class="text-28 text-zi text-bold">¥{{ obj.price }}</text>
|
||||
<text class="text-24 sold">已售{{ obj.sales }}件</text>
|
||||
<text class="text-24 sold">全网销量{{ limit999(obj.sales) }}件</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -32,6 +32,13 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
limit999(n) {
|
||||
const num = Number(n);
|
||||
if (isNaN(num) || num < 10000) {
|
||||
return n != null && n !== '' ? String(n) : '0';
|
||||
}
|
||||
return `${Math.floor(num / 10000)}万+`;
|
||||
},
|
||||
onClick() {
|
||||
this.$emit('ok', this.obj.id);
|
||||
}
|
||||
|
||||
@@ -24,32 +24,18 @@
|
||||
<text class="tab-text">{{ item.name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 限时秒杀标签 -->
|
||||
<!-- <view class="tab-list-container">
|
||||
<view class="tab-list" @click="onTab(index)" v-for="(item, index) in tabList" :key="index">
|
||||
<text class="text-28 text-space" :style="{
|
||||
color: curTab == index ? '#7A35F6' : '#666'
|
||||
}">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<view class="setting-view">
|
||||
<view class="name-box">
|
||||
<mescroll-uni ref="mescrollRef" @down="downCallback" @up="upCallback" :up="upOption" :down="downOption"
|
||||
@init="mescrollInit" :fixed="false">
|
||||
<!-- 原来单个 v-for 替换成两列 -->
|
||||
<view class="mescrollUniView" v-for="item in dataList" :key="item.id">
|
||||
<productSeckillCard :item="item" :actived-type="activedScekillType" :attributes="attributes" />
|
||||
<mescroll-uni ref="mescrollRef" top="710rpx" @down="downCallback" @up="upCallback" :up="upOption"
|
||||
:down="downOption" @init="mescrollInit">
|
||||
<view class="setting-view">
|
||||
<view class="name-box">
|
||||
<view class="mescrollUniView">
|
||||
<productSeckillCard v-for="item in dataList" :key="item.id" :item="item" :actived-type="activedScekillType" :attributes="attributes" />
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- #ifndef H5 || MP-WEIXIN-->
|
||||
<CustomTabBar :tabIndex="2" />
|
||||
<!-- #endif -->
|
||||
</mescroll-uni>
|
||||
<up-toast ref="uToastRef"></up-toast>
|
||||
</view>
|
||||
</template>
|
||||
@@ -238,14 +224,18 @@ export default {
|
||||
.content-two {
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.product_info_header_warp {
|
||||
position: relative;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 660rpx;
|
||||
z-index: 10;
|
||||
background-color: #fff;
|
||||
|
||||
.product_info_header_swiper {
|
||||
height: 660rpx !important;
|
||||
@@ -379,9 +369,10 @@ export default {
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
overflow-x: auto;
|
||||
position: absolute;
|
||||
position: fixed;
|
||||
top: 600rpx;
|
||||
left: 0;
|
||||
z-index: 11;
|
||||
|
||||
.tab-list-container {
|
||||
width: 100%;
|
||||
@@ -406,28 +397,14 @@ export default {
|
||||
}
|
||||
|
||||
.setting-view {
|
||||
margin-top: 0;
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
overflow-y: auto;
|
||||
padding: 0 32rpx;
|
||||
padding: 0 32rpx 20rpx;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
margin-top: 126rpx;
|
||||
|
||||
/* #ifndef H5 || MP-WEIXIN */
|
||||
margin-bottom: calc(100rpx + env(safe-area-inset-bottom));
|
||||
/* #endif */
|
||||
margin-top: 0;
|
||||
|
||||
.name-box {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
@@ -17,26 +17,25 @@
|
||||
|
||||
</view>
|
||||
|
||||
<view class="tab-view">
|
||||
<view class="tab-list" @click="onTab(index)" v-for="(item, index) in tabList" :key="index">
|
||||
<text class="text-28 text-space" :style="{
|
||||
color: curTab == index ? '#7A35F6' : '#666',
|
||||
}">{{ item.name }}</text>
|
||||
<view class="line" v-if="curTab == index"></view>
|
||||
<mescroll-uni ref="mescrollRef" top="660rpx" @down="downCallback" @up="upCallback" :up="upOption" :down="downOption"
|
||||
@init="mescrollInit">
|
||||
<view class="tab-view">
|
||||
<view class="tab-list" @click="onTab(index)" v-for="(item, index) in tabList" :key="index">
|
||||
<text class="text-28 text-space" :style="{
|
||||
color: curTab == index ? '#7A35F6' : '#666',
|
||||
}">{{ item.name }}</text>
|
||||
<view class="line" v-if="curTab == index"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="setting-view">
|
||||
<view class="name-box">
|
||||
<mescroll-uni ref="mescrollRef" @down="downCallback" @up="upCallback" :up="upOption" :down="downOption"
|
||||
@init="mescrollInit" :fixed="false">
|
||||
<!-- 原来单个 v-for 替换成两列 -->
|
||||
<view class="mescrollUniView" v-for="item in dataList" :key="item.id">
|
||||
<productSeckillCard :item="item" actived-type="newcomer" />
|
||||
<view class="setting-view">
|
||||
<view class="name-box">
|
||||
<view class="mescrollUniView">
|
||||
<productSeckillCard v-for="item in dataList" :key="item.id" :item="item" actived-type="newcomer" />
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
<!-- #ifndef H5 || MP-WEIXIN-->
|
||||
<CustomTabBar :tabIndex="2" />
|
||||
<!-- #endif -->
|
||||
@@ -193,14 +192,18 @@ export default {
|
||||
.content-two {
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.product_info_header_warp {
|
||||
position: relative;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 660rpx;
|
||||
z-index: 10;
|
||||
background-color: #fff;
|
||||
|
||||
.product_info_header_swiper {
|
||||
height: 660rpx !important;
|
||||
@@ -323,25 +326,12 @@ export default {
|
||||
.setting-view {
|
||||
margin-top: 40rpx;
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
overflow-y: auto;
|
||||
padding: 0 32rpx;
|
||||
padding: 0 32rpx 20rpx;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
|
||||
/* #ifndef H5 || MP-WEIXIN */
|
||||
margin-bottom: calc(100rpx + env(safe-area-inset-bottom));
|
||||
/* #endif */
|
||||
|
||||
.name-box {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
@@ -17,29 +17,16 @@
|
||||
|
||||
</view>
|
||||
|
||||
<!-- <view class="tab-view">
|
||||
<view class="tab-list" @click="onTab(index)" v-for="(item, index) in tabList" :key="index">
|
||||
<text class="text-28 text-space" :style="{
|
||||
color: curTab == index ? '#7A35F6' : '#666',
|
||||
}">{{ item.name }}</text>
|
||||
<view class="line" v-if="curTab == index"></view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="setting-view">
|
||||
<view class="name-box">
|
||||
<mescroll-uni ref="mescrollRef" @down="downCallback" @up="upCallback" :up="upOption" :down="downOption"
|
||||
@init="mescrollInit" :fixed="false">
|
||||
<!-- 原来单个 v-for 替换成两列 -->
|
||||
<view class="mescrollUniView" v-for="item in dataList" :key="item.id">
|
||||
<productSeckillCard :item="item" actived-type="super" />
|
||||
<mescroll-uni ref="mescrollRef" top="660rpx" @down="downCallback" @up="upCallback" :up="upOption"
|
||||
:down="downOption" @init="mescrollInit">
|
||||
<view class="setting-view">
|
||||
<view class="name-box">
|
||||
<view class="mescrollUniView">
|
||||
<productSeckillCard v-for="item in dataList" :key="item.id" :item="item" actived-type="super" />
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- #ifndef H5 || MP-WEIXIN-->
|
||||
<CustomTabBar :tabIndex="2" />
|
||||
<!-- #endif -->
|
||||
</mescroll-uni>
|
||||
<up-toast ref="uToastRef"></up-toast>
|
||||
</view>
|
||||
</template>
|
||||
@@ -175,14 +162,18 @@ export default {
|
||||
.content-two {
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.product_info_header_warp {
|
||||
position: relative;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 660rpx;
|
||||
z-index: 10;
|
||||
background-color: #fff;
|
||||
|
||||
.product_info_header_swiper {
|
||||
height: 660rpx !important;
|
||||
@@ -305,25 +296,12 @@ export default {
|
||||
.setting-view {
|
||||
margin-top: 40rpx;
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
overflow-y: auto;
|
||||
padding: 0 32rpx;
|
||||
padding: 0 32rpx 20rpx;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
|
||||
/* #ifndef H5 || MP-WEIXIN */
|
||||
margin-bottom: calc(100rpx + env(safe-area-inset-bottom));
|
||||
/* #endif */
|
||||
|
||||
.name-box {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
+236
-188
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="mine_warp" :class="platformType ? '' : 'iosplatformType'">
|
||||
<view class="mine_header">
|
||||
<view class="mine_header" :style="headerStyle">
|
||||
<view class="mine_login_data" v-if="currentUserData && Object.keys(currentUserData).length !== 0">
|
||||
<view class="mine_data">
|
||||
<up-image
|
||||
@@ -11,9 +11,8 @@
|
||||
<text style="margin-right: 20rpx">{{ currentUserData.nickname || '信任桥用户' }}</text>
|
||||
|
||||
<view class="level level-grade" @click="jumpToTrustBridge" v-if="currentUserData.agentName">
|
||||
<up-image src="/static/common/rz.png"
|
||||
style="margin-right: 8rpx; margin-top: 6rpx" shape="circle" width="13" height="13"
|
||||
bgColor="#f1f6ff00"></up-image>
|
||||
<up-image src="/static/common/rz.png" style="margin-right: 8rpx; margin-top: 6rpx"
|
||||
shape="circle" width="13" height="13" bgColor="#f1f6ff00"></up-image>
|
||||
<view>{{ currentUserData.agentName }}</view>
|
||||
</view>
|
||||
|
||||
@@ -84,7 +83,9 @@
|
||||
@click="jumpOrder(item)">
|
||||
<up-image :src="item.url" width="28" height="28" bgColor="#f1f6ff00"></up-image>
|
||||
<view>{{ item.title }}</view>
|
||||
<up-badge :absolute="true" :offset="[-9, 9]" max="99" :customStyle="{ width: '40rpx', height: '32rpx', borderRadius: '45% 45% 45% 0', display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 0 }" :value="statisticsObj[item.note]"></up-badge>
|
||||
<up-badge :absolute="true" :offset="[-9, 9]" max="99"
|
||||
:customStyle="{ width: '40rpx', height: '32rpx', borderRadius: '45% 45% 45% 0', display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 0 }"
|
||||
:value="statisticsObj[item.note]"></up-badge>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -413,9 +414,14 @@ export default {
|
||||
platformType: true,
|
||||
kefuUnreadCount: 0,
|
||||
kefuUnreadTimer: null,
|
||||
headerStyle: {},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.headerStyle = this.calcHeaderStyle();
|
||||
},
|
||||
onShow() {
|
||||
this.headerStyle = this.calcHeaderStyle();
|
||||
this.userData = getStorageFun(USER_DATA);
|
||||
/*#ifdef APP-PLUS*/
|
||||
uni.hideTabBar({
|
||||
@@ -435,8 +441,50 @@ export default {
|
||||
onUnload() {
|
||||
this.stopKefuUnreadPolling();
|
||||
},
|
||||
mounted() { },
|
||||
mounted() {
|
||||
this.headerStyle = this.calcHeaderStyle();
|
||||
},
|
||||
methods: {
|
||||
calcHeaderStyle() {
|
||||
let paddingTop = '90rpx';
|
||||
let paddingRight = '30rpx';
|
||||
|
||||
// #ifdef MP-WEIXIN || MP
|
||||
try {
|
||||
const menuButton = uni.getMenuButtonBoundingClientRect();
|
||||
const sysInfo = uni.getSystemInfoSync();
|
||||
if (menuButton && menuButton.top && menuButton.top > 0) {
|
||||
paddingTop = (menuButton.top + 2) + 'px';
|
||||
if (sysInfo && sysInfo.windowWidth && menuButton.left) {
|
||||
paddingRight = (sysInfo.windowWidth - menuButton.left + 10) + 'px';
|
||||
}
|
||||
} else {
|
||||
const statusBarHeight = (sysInfo && sysInfo.statusBarHeight) || 20;
|
||||
paddingTop = (statusBarHeight + 10) + 'px';
|
||||
paddingRight = '96px';
|
||||
}
|
||||
} catch (e) {
|
||||
paddingTop = '90rpx';
|
||||
paddingRight = '96px';
|
||||
}
|
||||
// #endif
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
try {
|
||||
const sysInfo = uni.getSystemInfoSync();
|
||||
if (sysInfo && sysInfo.statusBarHeight) {
|
||||
paddingTop = (sysInfo.statusBarHeight + 10) + 'px';
|
||||
}
|
||||
} catch (e) {
|
||||
paddingTop = '90rpx';
|
||||
}
|
||||
// #endif
|
||||
|
||||
return {
|
||||
paddingTop,
|
||||
paddingRight
|
||||
};
|
||||
},
|
||||
copyData,
|
||||
async refreshKefuUnreadCount() {
|
||||
const userId = this.currentUserData && this.currentUserData.id;
|
||||
@@ -587,298 +635,298 @@ export default {
|
||||
|
||||
<style lang="scss">
|
||||
.mine_warp {
|
||||
height: calc(100vh - env(safe-area-inset-bottom));
|
||||
overflow: auto;
|
||||
position: relative;
|
||||
background-color: $app-bj;
|
||||
height: calc(100vh - env(safe-area-inset-bottom));
|
||||
overflow: auto;
|
||||
position: relative;
|
||||
background-color: $app-bj;
|
||||
|
||||
&.iosplatformType {
|
||||
height: 100vh;
|
||||
&.iosplatformType {
|
||||
height: 100vh;
|
||||
|
||||
.mine_content_warp {
|
||||
padding-bottom: 100rpx !important;
|
||||
.mine_content_warp {
|
||||
padding-bottom: 100rpx !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mine_header {
|
||||
// height: 300rpx;
|
||||
background: linear-gradient(180deg,
|
||||
#f2ebff 0%,
|
||||
rgba(245, 245, 247, 0) 100%,
|
||||
#ffffff 100%);
|
||||
/* 将图片居中显示 */
|
||||
padding: 90rpx 20rpx 0;
|
||||
// height: 300rpx;
|
||||
background: linear-gradient(180deg,
|
||||
#f2ebff 0%,
|
||||
rgba(245, 245, 247, 0) 100%,
|
||||
#ffffff 100%);
|
||||
/* 将图片居中显示 */
|
||||
padding: 90rpx 20rpx 0;
|
||||
|
||||
.mine_login_data {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.mine_login_data {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.mine_content_warp {
|
||||
margin-top: 20rpx;
|
||||
margin-left: 30rpx;
|
||||
width: 690rpx;
|
||||
padding-bottom: calc(100rpx + env(safe-area-inset-bottom));
|
||||
margin-top: 20rpx;
|
||||
margin-left: 30rpx;
|
||||
width: 690rpx;
|
||||
padding-bottom: calc(100rpx + env(safe-area-inset-bottom));
|
||||
}
|
||||
|
||||
.mine_no_login_data {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.login_warp {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
font-weight: 500;
|
||||
font-size: 26rpx;
|
||||
color: #111111;
|
||||
}
|
||||
|
||||
.login_warp {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: 500;
|
||||
font-size: 26rpx;
|
||||
color: #111111;
|
||||
}
|
||||
}
|
||||
|
||||
.mine_data {
|
||||
display: flex;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.mine_info_not_login {
|
||||
font-weight: bold;
|
||||
font-size: 40rpx;
|
||||
color: #111111;
|
||||
font-weight: bold;
|
||||
font-size: 40rpx;
|
||||
color: #111111;
|
||||
}
|
||||
|
||||
.mine_info {
|
||||
margin-left: 20rpx;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.mine_info_name {
|
||||
font-weight: bold;
|
||||
font-size: 40rpx;
|
||||
color: #111111;
|
||||
display: flex;
|
||||
justify-content: start;
|
||||
align-items: center;
|
||||
|
||||
.grade_warp {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.level {
|
||||
border-radius: 8rpx;
|
||||
font-weight: bold;
|
||||
font-size: 40rpx;
|
||||
color: #111111;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
justify-content: start;
|
||||
align-items: center;
|
||||
padding: 0rpx 16rpx;
|
||||
font-size: 24rpx;
|
||||
height: 44rpx;
|
||||
|
||||
&.level-name {
|
||||
background: rgba(248, 185, 75, 0.15);
|
||||
color: #613700;
|
||||
margin-left: 10rpx;
|
||||
.grade_warp {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&.level-grade {
|
||||
background: rgba(248,185,75,0.15);
|
||||
color: #613700;
|
||||
.level {
|
||||
border-radius: 8rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 0rpx 16rpx;
|
||||
font-size: 24rpx;
|
||||
height: 44rpx;
|
||||
|
||||
&.level-name {
|
||||
background: rgba(248, 185, 75, 0.15);
|
||||
color: #613700;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
&.level-grade {
|
||||
background: rgba(248, 185, 75, 0.15);
|
||||
color: #613700;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.grade_key_warp {
|
||||
position: absolute;
|
||||
top: 0rpx;
|
||||
left: 30%;
|
||||
font-size: 24rpx;
|
||||
color: #ffffff;
|
||||
width: 100rpx;
|
||||
height: 44rpx;
|
||||
line-height: 50rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.grade_key_warp {
|
||||
position: absolute;
|
||||
top: 0rpx;
|
||||
left: 30%;
|
||||
font-size: 24rpx;
|
||||
color: #ffffff;
|
||||
width: 100rpx;
|
||||
height: 44rpx;
|
||||
line-height: 50rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.grade_key_warp1 {
|
||||
font-size: 24rpx;
|
||||
line-height: 48rpx;
|
||||
}
|
||||
.grade_key_warp1 {
|
||||
font-size: 24rpx;
|
||||
line-height: 48rpx;
|
||||
}
|
||||
|
||||
.grade_key_warp3 {
|
||||
font-size: 20rpx;
|
||||
}
|
||||
.grade_key_warp3 {
|
||||
font-size: 20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.mine_info_id {
|
||||
font-weight: 500;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
display: flex;
|
||||
margin-top: 10rpx;
|
||||
font-weight: 500;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
display: flex;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
/* 内容公共 start */
|
||||
.mine_content_comm_warp {
|
||||
background: #ffffff;
|
||||
box-shadow: 0rpx 0rpx 10rpx 0rpx #eeeeee;
|
||||
border-radius: 30rpx;
|
||||
padding: 30rpx;
|
||||
background: #ffffff;
|
||||
box-shadow: 0rpx 0rpx 10rpx 0rpx #eeeeee;
|
||||
border-radius: 30rpx;
|
||||
padding: 30rpx;
|
||||
}
|
||||
|
||||
.mine_fontsize_comm_warp {
|
||||
font-weight: 500;
|
||||
font-size: 24rpx;
|
||||
color: #222222;
|
||||
font-weight: 500;
|
||||
font-size: 24rpx;
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
.mine_top_comm_warp {
|
||||
margin-top: 30rpx;
|
||||
margin-top: 30rpx;
|
||||
|
||||
.settled_list {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
.settled_list {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
|
||||
.enter_item {
|
||||
width: 100%;
|
||||
margin-top: 10rpx;
|
||||
padding: 12rpx 0;
|
||||
box-sizing: border-box;
|
||||
|
||||
.enter_item_cell {
|
||||
display: flex;
|
||||
|
||||
.u-transition {
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
|
||||
.enter_item_text {
|
||||
margin-left: 10rpx;
|
||||
|
||||
.enter_remark {
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
.enter_item {
|
||||
width: 100%;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
padding: 12rpx 0;
|
||||
box-sizing: border-box;
|
||||
|
||||
.enter_item_cell {
|
||||
display: flex;
|
||||
|
||||
.u-transition {
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
|
||||
.enter_item_text {
|
||||
margin-left: 10rpx;
|
||||
|
||||
.enter_remark {
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 内容公共 end */
|
||||
|
||||
.mine_order_title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.mine_order_title_all {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 20rpx;
|
||||
color: #bbbbbb;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 20rpx;
|
||||
color: #bbbbbb;
|
||||
}
|
||||
|
||||
.mine_order_list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 40rpx 0 10rpx 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 40rpx 0 10rpx 0;
|
||||
}
|
||||
|
||||
.order_list_item {
|
||||
width: 25%;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
width: 25%;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
|
||||
}
|
||||
|
||||
.apply_list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.apply_item {
|
||||
width: 20%;
|
||||
text-align: center;
|
||||
width: 20%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.enter_list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.enter_item {
|
||||
width: 40%;
|
||||
background: #ffffff;
|
||||
border-radius: 30rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 12rpx 30rpx;
|
||||
align-items: center;
|
||||
width: 40%;
|
||||
background: #ffffff;
|
||||
border-radius: 30rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 12rpx 30rpx;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.enter_title {
|
||||
font-weight: bold;
|
||||
font-size: 26rpx;
|
||||
color: #333333;
|
||||
font-weight: bold;
|
||||
font-size: 26rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.enter_apply {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10rpx;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.enter_apply_title {
|
||||
margin-right: 10rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
||||
.mine_tool_title {
|
||||
font-weight: bold;
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
font-weight: bold;
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.tool_list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 10rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.tool_item {
|
||||
width: 25%;
|
||||
text-align: center;
|
||||
margin-top: 20rpx;
|
||||
display: flex;
|
||||
width: 25%;
|
||||
text-align: center;
|
||||
margin-top: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.tool-icon-wrap {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.kefu-unread-dot {
|
||||
position: absolute;
|
||||
top: -5rpx;
|
||||
right: -7rpx;
|
||||
width: 14rpx;
|
||||
height: 14rpx;
|
||||
border: 3rpx solid #ffffff;
|
||||
border-radius: 50%;
|
||||
background: #f04444;
|
||||
box-sizing: content-box;
|
||||
position: absolute;
|
||||
top: -5rpx;
|
||||
right: -7rpx;
|
||||
width: 14rpx;
|
||||
height: 14rpx;
|
||||
border: 3rpx solid #ffffff;
|
||||
border-radius: 50%;
|
||||
background: #f04444;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
::v-deep .u-modal__content {
|
||||
padding: 40rpx !important;
|
||||
padding: 40rpx !important;
|
||||
}
|
||||
</style>
|
||||
@@ -2,25 +2,27 @@
|
||||
<view class="authentication_warp">
|
||||
<Header :leftTitle="$t('authentication.title')" left-path-type="switchTab" left-path="/pages/mine/mine">
|
||||
</Header>
|
||||
<view class="data_common_warp">
|
||||
<view class="data_msg">请填写用户本人得相关信息</view>
|
||||
<view class="'add_form_item add_form_item_but'" v-for="item in formList" :key="item.id">
|
||||
<view class="add_form_title">{{ item.title }}</view>
|
||||
<up-input :placeholder="item.placeholder" border="surround" v-model="form[item.formName]"
|
||||
:customStyle="inputCss" :type="item.type"></up-input>
|
||||
</view>
|
||||
<view class="add_form_item">
|
||||
<view class="add_form_title">证件类型</view>
|
||||
<view class="cert_" @click="certShowCheck(true)">
|
||||
<view class="cert_title">{{ form.certName || '请选择' }}</view>
|
||||
<up-image src="/static/common/right.png" width="16" height="16" bgColor="#f1f6ff00"></up-image>
|
||||
<view class="content_warp">
|
||||
<view class="data_common_warp">
|
||||
<view class="data_msg">请填写用户本人得相关信息</view>
|
||||
<view class="'add_form_item add_form_item_but'" v-for="item in formList" :key="item.id">
|
||||
<view class="add_form_title">{{ item.title }}</view>
|
||||
<up-input :placeholder="item.placeholder" border="surround" v-model="form[item.formName]"
|
||||
:customStyle="inputCss" :type="item.type"></up-input>
|
||||
</view>
|
||||
<view class="add_form_item">
|
||||
<view class="add_form_title">证件类型</view>
|
||||
<view class="cert_" @click="certShowCheck(true)">
|
||||
<view class="cert_title">{{ form.certName || '请选择' }}</view>
|
||||
<up-image src="/static/common/right.png" width="16" height="16" bgColor="#f1f6ff00"></up-image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 证件照 -->
|
||||
<CommonCard @valueFunc="getValue" :Fimg="form.certFimg" :Bimg="form.certBimg" />
|
||||
</view>
|
||||
<!-- 证件照 -->
|
||||
<CommonCard @valueFunc="getValue" :Fimg="form.certFimg" :Bimg="form.certBimg" />
|
||||
<view class="add_but" @click="addAuthentication">
|
||||
{{userInfo && userInfo.certStatus ? '重新提交' : '提交'}}
|
||||
{{ userInfo && userInfo.certStatus ? '重新提交' : '提交' }}
|
||||
</view>
|
||||
<up-picker :show="certShow" :columns="[CERT_OPTION]" keyName="value" itemHeight="34" @confirm="certConfirm"
|
||||
@cancel="certShow = false" @close="certShow = false"></up-picker>
|
||||
@@ -31,7 +33,7 @@
|
||||
<script>
|
||||
import CommonCard from '@/components/common_card.vue';
|
||||
import Header from '@/components/header.vue';
|
||||
import { realNameAuthentication,getUserInfo } from '@/api/auth.js';
|
||||
import { realNameAuthentication, getUserInfo } from '@/api/auth.js';
|
||||
import { CERT_OPTION } from '@/utils/enumUtils.js';
|
||||
|
||||
export default {
|
||||
@@ -96,15 +98,15 @@ export default {
|
||||
],
|
||||
certShow: false,
|
||||
certOption: [],
|
||||
userInfo:null
|
||||
userInfo: null
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(){
|
||||
onLoad() {
|
||||
this.init();
|
||||
},
|
||||
methods: {
|
||||
init(){
|
||||
init() {
|
||||
this.getUserInfo();
|
||||
},
|
||||
async getUserInfo() {
|
||||
@@ -113,14 +115,14 @@ export default {
|
||||
const data = result.data;
|
||||
this.userInfo = result.data || {};
|
||||
this.form = {
|
||||
name:this.userInfo.name,
|
||||
certNo:this.userInfo.certNo,
|
||||
certType:this.userInfo.certType != null ? this.userInfo.certType : 1,
|
||||
certName: this.userInfo.certType == 2? '护照' :'居民身份证',
|
||||
certFimg:this.userInfo.certFimg,
|
||||
certBimg:this.userInfo.certBimg,
|
||||
}
|
||||
|
||||
name: this.userInfo.name,
|
||||
certNo: this.userInfo.certNo,
|
||||
certType: this.userInfo.certType != null ? this.userInfo.certType : 1,
|
||||
certName: this.userInfo.certType == 2 ? '护照' : '居民身份证',
|
||||
certFimg: this.userInfo.certFimg,
|
||||
certBimg: this.userInfo.certBimg,
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
async addAuthentication() {
|
||||
@@ -134,7 +136,7 @@ export default {
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!params.certType) {
|
||||
this.$refs.uToastRef.show({
|
||||
type: 'error',
|
||||
@@ -149,7 +151,7 @@ export default {
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(params.certNo)){
|
||||
if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(params.certNo)) {
|
||||
this.$refs.uToastRef.show({
|
||||
type: 'error',
|
||||
message: "请输入正确的证件号码",
|
||||
@@ -208,9 +210,17 @@ export default {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.authentication_warp {
|
||||
height: calc(100vh - 58rpx);
|
||||
height: 100%;
|
||||
// height: calc(100vh - 158rpx);
|
||||
background-color: $app-bj;
|
||||
padding: 30rpx;
|
||||
padding: 0 30rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.content_warp {
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
}
|
||||
|
||||
.cert_ {
|
||||
@@ -223,4 +233,9 @@ export default {
|
||||
color: #9e9e9ec7
|
||||
}
|
||||
}
|
||||
|
||||
.add_but {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -3,38 +3,22 @@
|
||||
<view class="eval-header">
|
||||
<view class="title">商品评价 ({{ totalCount }})</view>
|
||||
<view class="more" @click="goMore">
|
||||
<view class="rate"
|
||||
>查看全部
|
||||
<up-image
|
||||
src="/static/common/right.png"
|
||||
width="14"
|
||||
height="14"
|
||||
bgColor="#f1f6ff00"
|
||||
class="arrow"
|
||||
></up-image
|
||||
></view>
|
||||
<view class="rate">查看全部
|
||||
<up-image src="/static/common/right.png" width="14" height="14" bgColor="#f1f6ff00" class="arrow"></up-image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="eval-list">
|
||||
<view class="eval-item" v-for="(item, index) in list" :key="index">
|
||||
<view class="user-info">
|
||||
<view class="user-left">
|
||||
<image
|
||||
class="avatar"
|
||||
:src="item.userImage"
|
||||
mode="aspectFill"
|
||||
></image>
|
||||
<image class="avatar" :src="item.userImage" mode="aspectFill"></image>
|
||||
<text class="username">{{ item.userName }}</text>
|
||||
</view>
|
||||
<view class="user-right">
|
||||
<view class="stars">
|
||||
<text
|
||||
v-for="s in item.rating"
|
||||
:key="s"
|
||||
class="star-icon"
|
||||
:style="{ color: s <= item.rating ? '#7934F6' : '#e5e5e5' }"
|
||||
>★</text
|
||||
>
|
||||
<text v-for="s in item.rating" :key="s" class="star-icon"
|
||||
:style="{ color: s <= item.rating ? '#7934F6' : '#e5e5e5' }">★</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -109,6 +93,7 @@ export default {
|
||||
/* 自适应父级宽度,可根据页面情况调整 margin */
|
||||
margin: 20rpx auto;
|
||||
box-sizing: border-box;
|
||||
|
||||
}
|
||||
|
||||
/* 头部样式 */
|
||||
@@ -133,10 +118,12 @@ export default {
|
||||
|
||||
.rate {
|
||||
color: #999999;
|
||||
margin-right: 4rpx;
|
||||
display: flex;
|
||||
|
||||
.arrow {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-left: 4rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -185,6 +172,7 @@ export default {
|
||||
.user-right {
|
||||
.stars {
|
||||
display: flex;
|
||||
|
||||
.star-icon {
|
||||
font-size: 26rpx;
|
||||
margin-left: 6rpx;
|
||||
@@ -196,6 +184,7 @@ export default {
|
||||
/* 评价文字 */
|
||||
.eval-content {
|
||||
margin-bottom: 16rpx;
|
||||
|
||||
.text-desc {
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
下单送{{ orderInfo.contribution }}贡献值
|
||||
</view>
|
||||
<!-- 销量还需要改 -->
|
||||
<view>销量{{ limit999(orderInfo.sales) }}件</view>
|
||||
<view>全网销量{{ limit999(orderInfo.sales) }}件</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -497,7 +497,11 @@ export default {
|
||||
methods: {
|
||||
assembleAddress,
|
||||
limit999(n) {
|
||||
return n > 999 ? '999+' : String(n);
|
||||
const num = Number(n);
|
||||
if (isNaN(num) || num < 10000) {
|
||||
return n != null && n !== '' ? String(n) : '0';
|
||||
}
|
||||
return `${Math.floor(num / 10000)}万+`;
|
||||
},
|
||||
|
||||
onOpenApp() {
|
||||
|
||||
@@ -6,111 +6,114 @@
|
||||
<view class="top-view">
|
||||
<view class="top-left">
|
||||
<text class="text-bold text-52 text-white">
|
||||
{{amount}}
|
||||
{{ amount }}
|
||||
</text>
|
||||
<text class="text-20 text-white" style="font-weight: 100;">可用余额</text>
|
||||
</view>
|
||||
<view class="top-right">
|
||||
<text class="text-bold text-36 text-white">
|
||||
{{noAmount}}
|
||||
{{ noAmount }}
|
||||
</text>
|
||||
<text class="text-20 text-white" style="font-weight: 100;">不可用余额</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mid-view">
|
||||
<text class="text-gray text-32">{{type == 0 ? '提现' : '充值'}}方式</text>
|
||||
|
||||
<text class="text-gray text-32">{{ type == 0 ? '提现' : '充值' }}方式</text>
|
||||
|
||||
<view class="item-view" @click="onSelect('0')" v-if="!isWeb || type != 0">
|
||||
<image src="https://static.tbmall.xin/static/new/wx.png"></image>
|
||||
<text class="text-gray text-32 " style="margin-left:20rpx;">微信</text>
|
||||
<view class="right-icon-view" v-if="type == 1">
|
||||
<u-radio-group v-model="curSelect">
|
||||
<u-radio name="0" activeColor="#7934F6"></u-radio>
|
||||
<u-radio name="0" activeColor="#7934F6"></u-radio>
|
||||
</u-radio-group>
|
||||
</view>
|
||||
<view class="right-icon-view" v-else>
|
||||
<text class="text-32 text-gray" style="margin-right:12rpx" v-if="selectVal && curSelect == '0'">{{selectVal.name + '/' + selectVal.account}}</text>
|
||||
<u-icon size="14" name="arrow-right" color="#333" ></u-icon>
|
||||
<text class="text-32 text-gray" style="margin-right:12rpx"
|
||||
v-if="selectVal && curSelect == '0'">{{ selectVal.name + '/' + selectVal.account }}</text>
|
||||
<u-icon size="14" name="arrow-right" color="#333"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item-view" @click="onSelect('1')" style="border-width: 0;" >
|
||||
<view class="item-view" @click="onSelect('1')" style="border-width: 0;">
|
||||
<image src="https://static.tbmall.xin/static/new/zfb.png"></image>
|
||||
<text class="text-gray text-32 " style="margin-left:20rpx;">支付宝</text>
|
||||
<view class="right-icon-view" v-if="type == 1">
|
||||
<u-radio-group v-model="curSelect">
|
||||
<u-radio name="1" activeColor="#7934F6"></u-radio>
|
||||
<u-radio name="1" activeColor="#7934F6"></u-radio>
|
||||
</u-radio-group>
|
||||
</view>
|
||||
<view class="right-icon-view" v-else>
|
||||
<text class="text-32 text-gray" style="margin-right:12rpx" v-if="selectVal && curSelect == '1'">{{selectVal.name + '/' + selectVal.account}}</text>
|
||||
<u-icon size="14" name="arrow-right" color="#333" ></u-icon>
|
||||
<text class="text-32 text-gray" style="margin-right:12rpx"
|
||||
v-if="selectVal && curSelect == '1'">{{ selectVal.name + '/' + selectVal.account }}</text>
|
||||
<u-icon size="14" name="arrow-right" color="#333"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mid-view">
|
||||
<view class="flex-r-lr">
|
||||
<text class="text-gray text-32">{{type == 0 ? '提现' : '充值'}}金额</text>
|
||||
<text class="text-gray text-32">{{ type == 0 ? '提现' : '充值' }}金额</text>
|
||||
<text class="text-fu1 text-28" v-if="type == 0" style="font-weight:400">每日仅限提现1次</text>
|
||||
</view>
|
||||
|
||||
|
||||
<view class="input-view">
|
||||
<text class="text-52 text-zu text-bold">¥</text>
|
||||
<input style="background: #fff;margin-top:10rpx;"
|
||||
:placeholder="type == 0 ? '请输入提现金额(0.3-2000)' : '输入充值金额'"
|
||||
placeholder-style="color:#999;font-weight:400"
|
||||
@input="onInput"
|
||||
border="0" v-model="money" :customStyle="inputCss"></input>
|
||||
<input style="background: #fff;margin-top:10rpx;"
|
||||
:placeholder="type == 0 ? '请输入提现金额(0.3-2000)' : '输入充值金额'"
|
||||
placeholder-style="color:#999;font-weight:400" @input="onInput" border="0" v-model="money"
|
||||
:customStyle="inputCss"></input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zhu-view" v-if="selectVal">
|
||||
<u-icon size="12" style="margin-top:5rpx;margin-right:12rpx" name="error-circle" color="#7934F6"></u-icon>
|
||||
<text class="text-24 text-zi" style="font-weight: 400;">通过支付宝或微信提现时,将由支付宝/微信官方收取0.6%的费用,本平台不收取任何费用。</text>
|
||||
</view>
|
||||
|
||||
|
||||
<view class="zhu-view" v-if="selectVal">
|
||||
<u-icon size="12" style="margin-top:5rpx;margin-right:12rpx" name="error-circle"
|
||||
color="#7934F6"></u-icon>
|
||||
<text class="text-24 text-zi"
|
||||
style="font-weight: 400;">通过支付宝或微信提现时,将由支付宝/微信官方收取0.6%的费用,本平台不收取任何费用。</text>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="bottom-btn">
|
||||
<MyBtn :text="bottomText" @ok="onAdd"></MyBtn>
|
||||
</view>
|
||||
<SelectItem :itemData="dataList" @close="onClose" @ok="onOk" @add="onAddBack"
|
||||
:type="curSelect" :itemShow="selectShow"></SelectItem>
|
||||
<CodeItem @ti="onTi" @close="onClose" :codeShow="codeShow" :phone="userInfo ? userInfo.mobile :''"></CodeItem>
|
||||
<SelectItem :itemData="dataList" @close="onClose" @ok="onOk" @add="onAddBack" :type="curSelect"
|
||||
:itemShow="selectShow"></SelectItem>
|
||||
<CodeItem @ti="onTi" @close="onClose" :codeShow="codeShow" :phone="userInfo ? userInfo.mobile : ''"></CodeItem>
|
||||
<up-toast ref="uToastRef"></up-toast>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getWithdraw,sendWithdraw } from '@/api/common.js';
|
||||
import { getUserInfo,updateName,deleteAccount } from '@/api/auth.js';
|
||||
import { getWithdraw, sendWithdraw } from '@/api/common.js';
|
||||
import { getUserInfo, updateName, deleteAccount } from '@/api/auth.js';
|
||||
import Header from '@/components/common/header.vue';
|
||||
import TopSafe from '@/components/common/top-safe.nvue'
|
||||
import MyBtn from '@/components/common/my-btn.vue'
|
||||
import func from '@/utils/func.js';
|
||||
import SelectItem from './components/select-item.vue'
|
||||
import CodeItem from './components/code-item.vue'
|
||||
import {uniPlatform} from '@/components/common/global.js'
|
||||
import { recharge,getAcctBalance } from '@/api/finance.js';
|
||||
import { uniPlatform } from '@/components/common/global.js'
|
||||
import { recharge, getAcctBalance } from '@/api/finance.js';
|
||||
import { appWxpayFun, zfbPayFun } from '@/utils/payUtils.js'
|
||||
// #ifdef APP-PLUS
|
||||
import {requestMerchantTransfer} from "@/uni_modules/uni-requestMerchantTransfer"
|
||||
import { requestMerchantTransfer } from "@/uni_modules/uni-requestMerchantTransfer"
|
||||
// #endif
|
||||
|
||||
export default {
|
||||
components: { Header, TopSafe,MyBtn,SelectItem,CodeItem },
|
||||
components: { Header, TopSafe, MyBtn, SelectItem, CodeItem },
|
||||
data() {
|
||||
return {
|
||||
isWeb:false,
|
||||
topText:'',
|
||||
type:0,
|
||||
amount:'',
|
||||
money:'',
|
||||
noAmount:'',
|
||||
account:'',
|
||||
bottomText:'',
|
||||
curSelect:'0',
|
||||
selectShow:false,
|
||||
codeShow:false,
|
||||
name:'',
|
||||
isWeb: false,
|
||||
topText: '',
|
||||
type: 0,
|
||||
amount: '',
|
||||
money: '',
|
||||
noAmount: '',
|
||||
account: '',
|
||||
bottomText: '',
|
||||
curSelect: '0',
|
||||
selectShow: false,
|
||||
codeShow: false,
|
||||
name: '',
|
||||
inputCss: {
|
||||
"height": '80rpx',
|
||||
"background": "#F3F3F3FF",
|
||||
@@ -118,22 +121,22 @@ export default {
|
||||
"border": "0rpx",
|
||||
"padding-left": "12rpx",
|
||||
},
|
||||
dataList:[
|
||||
|
||||
dataList: [
|
||||
|
||||
],
|
||||
selectVal:null,
|
||||
userInfo:null,
|
||||
selectVal: null,
|
||||
userInfo: null,
|
||||
};
|
||||
},
|
||||
onShow(){
|
||||
if(uniPlatform == 'web'){
|
||||
onShow() {
|
||||
if (uniPlatform == 'web') {
|
||||
this.isWeb = true;
|
||||
}else{
|
||||
} else {
|
||||
this.isWeb = false;
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
if(option && option.type){
|
||||
if (option && option.type) {
|
||||
this.type = Number(option.type);
|
||||
this.init();
|
||||
}
|
||||
@@ -146,33 +149,33 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
onInput(e){
|
||||
onInput(e) {
|
||||
this.$nextTick(() => {
|
||||
this.money = func.checkInputPrice(e.detail.value);
|
||||
})
|
||||
},
|
||||
onOk(val){
|
||||
this.selectVal = this.dataList.filter(i=>i.id == val)[0];
|
||||
onOk(val) {
|
||||
this.selectVal = this.dataList.filter(i => i.id == val)[0];
|
||||
this.onClose();
|
||||
},
|
||||
onAddBack(){
|
||||
onAddBack() {
|
||||
this.onClose();
|
||||
uni.navigateTo({
|
||||
url:'/pages/rwa_package/account/index?id=' + this.curSelect
|
||||
url: '/pages/rwa_package/account/index?id=' + this.curSelect
|
||||
})
|
||||
},
|
||||
onClose(){
|
||||
onClose() {
|
||||
this.selectShow = false;
|
||||
this.codeShow = false;
|
||||
},
|
||||
getList(val){
|
||||
getList(val) {
|
||||
let params = {
|
||||
platform:this.curSelect == '0' ? 2 : 1
|
||||
platform: this.curSelect == '0' ? 2 : 1
|
||||
}
|
||||
getWithdraw(params).then(res=>{
|
||||
getWithdraw(params).then(res => {
|
||||
if (res.bizcode === 100) {
|
||||
this.dataList = res.data;
|
||||
this.dataList.forEach(item=>{
|
||||
this.dataList.forEach(item => {
|
||||
item.name = item.accountName;
|
||||
item.account = item.accountNumber;
|
||||
})
|
||||
@@ -186,9 +189,9 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelect(val){
|
||||
onSelect(val) {
|
||||
this.curSelect = val;
|
||||
if(this.type == 0){
|
||||
if (this.type == 0) {
|
||||
this.selectVal = null;
|
||||
this.getList();
|
||||
}
|
||||
@@ -199,8 +202,8 @@ export default {
|
||||
let data = [];
|
||||
if (resp && resp.bizcode === 100) {
|
||||
data = resp.data || [];
|
||||
data.forEach(item=>{
|
||||
if("balance" == item.categoty){
|
||||
data.forEach(item => {
|
||||
if ("balance" == item.categoty) {
|
||||
this.noAmount = item.lockAmount;
|
||||
this.amount = item.curAmount;
|
||||
}
|
||||
@@ -210,69 +213,69 @@ export default {
|
||||
this.balanceLoading = false;
|
||||
},
|
||||
init() {
|
||||
if(this.type == 0 ){
|
||||
if (this.type == 0) {
|
||||
this.topText = '现金余额提现';
|
||||
this.bottomText = '提现';
|
||||
}else if(this.type == 1){
|
||||
} else if (this.type == 1) {
|
||||
this.topText = '现金余额充值';
|
||||
this.bottomText = '充值';
|
||||
}
|
||||
this.userinfo();
|
||||
this.getAcctBalance();
|
||||
},
|
||||
onAdd(){
|
||||
if(this.type == 0){
|
||||
if(!this.money){
|
||||
onAdd() {
|
||||
if (this.type == 0) {
|
||||
if (!this.money) {
|
||||
this.$refs.uToastRef.show({
|
||||
type: "error",
|
||||
message: "请输入金额",
|
||||
type: "error",
|
||||
message: "请输入金额",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(Number(this.money) < 0.3){
|
||||
if (Number(this.money) < 0.3) {
|
||||
this.$refs.uToastRef.show({
|
||||
type: "error",
|
||||
message: "提现金额不能低于0.3元",
|
||||
type: "error",
|
||||
message: "提现金额不能低于0.3元",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(Number(this.money) > 2000){
|
||||
if (Number(this.money) > 2000) {
|
||||
this.$refs.uToastRef.show({
|
||||
type: "error",
|
||||
message: "提现金额不能大于2000元",
|
||||
type: "error",
|
||||
message: "提现金额不能大于2000元",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(Number(this.money)> Number(this.amount)){
|
||||
if (Number(this.money) > Number(this.amount)) {
|
||||
this.$refs.uToastRef.show({
|
||||
type: "error",
|
||||
message: "输入金额大于可用余额",
|
||||
type: "error",
|
||||
message: "输入金额大于可用余额",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(this.type == 0 && !this.selectVal){
|
||||
if (this.type == 0 && !this.selectVal) {
|
||||
this.$refs.uToastRef.show({
|
||||
type: "error",
|
||||
message: "请选择提现方式",
|
||||
type: "error",
|
||||
message: "请选择提现方式",
|
||||
});
|
||||
return;
|
||||
}
|
||||
console.log('onAdd',this.curSelect)
|
||||
console.log('onAdd', this.curSelect)
|
||||
this.codeShow = true;
|
||||
}else{
|
||||
if(!this.money){
|
||||
} else {
|
||||
if (!this.money) {
|
||||
this.$refs.uToastRef.show({
|
||||
type: "error",
|
||||
message: "请输入金额",
|
||||
type: "error",
|
||||
message: "请输入金额",
|
||||
});
|
||||
return;
|
||||
}
|
||||
let params = {
|
||||
amount:this.money,
|
||||
category:'balance',
|
||||
payway:this.curSelect == '0' ? 'wechat' : 'alipay'
|
||||
amount: this.money,
|
||||
category: 'balance',
|
||||
payway: this.curSelect == '0' ? 'wechat' : 'alipay'
|
||||
}
|
||||
recharge(params).then(result=>{
|
||||
recharge(params).then(result => {
|
||||
if (result && result.bizcode === 100) {
|
||||
const item = result.data;
|
||||
if (item.wechat && Object.keys(item.wechat).length !== 0) {
|
||||
@@ -284,12 +287,12 @@ export default {
|
||||
type: 'error',
|
||||
message: "充值失败",
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
async appWxpay(alipay, orderId, orderNum) {
|
||||
try {
|
||||
@@ -311,52 +314,52 @@ export default {
|
||||
console.error('支付失败', error);
|
||||
// 处理支付失败后的逻辑,如提示用户等
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
onTi(code){
|
||||
onTi(code) {
|
||||
let params = {
|
||||
verificationCode:code,
|
||||
bindId:this.selectVal.id,
|
||||
amount:Number(this.money),
|
||||
accountType:this.curSelect == '0' ? 1 : 2
|
||||
verificationCode: code,
|
||||
bindId: this.selectVal.id,
|
||||
amount: Number(this.money),
|
||||
accountType: this.curSelect == '0' ? 1 : 2
|
||||
}
|
||||
let _this = this;
|
||||
sendWithdraw(params).then(res=>{
|
||||
console.log('absc',res)
|
||||
sendWithdraw(params).then(res => {
|
||||
console.log('absc', res)
|
||||
if (res && res.bizcode == 100) {
|
||||
console.log('absc1111111111',res,this.curSelect)
|
||||
console.log('absc1111111111', res, this.curSelect)
|
||||
// data = resp.data || [];
|
||||
if(this.curSelect == '1'){
|
||||
|
||||
this.qing();
|
||||
if(res.data.alResponse.msg == 'Success'){
|
||||
if (this.curSelect == '1') {
|
||||
|
||||
this.qing();
|
||||
if (res.data.alResponse.msg == 'Success') {
|
||||
uni.navigateTo({
|
||||
url:'/pages/rwa_package/account/success?money=' + params.amount
|
||||
url: '/pages/rwa_package/account/success?money=' + params.amount
|
||||
})
|
||||
}else{
|
||||
setTimeout(()=>{
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
_this.$refs.uToastRef.show({
|
||||
type: 'error',
|
||||
message: res.data.alResponse.subMsg,
|
||||
});
|
||||
},400)
|
||||
|
||||
}, 400)
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
console.log('开始提现',res,this.curSelect)
|
||||
|
||||
} else {
|
||||
console.log('开始提现', res, this.curSelect)
|
||||
// #ifdef APP-PLUS
|
||||
requestMerchantTransfer({
|
||||
// uni.requestMerchantTransfer({
|
||||
// uni.requestMerchantTransfer({
|
||||
"mchId": "1725999656",
|
||||
"appId": "wx7a5902cd556d9396",
|
||||
"package": res.data.wxResponse.packageInfo,
|
||||
success: (res) => {
|
||||
this.qing();
|
||||
uni.navigateTo({
|
||||
url:'/pages/rwa_package/account/success?money=' + params.amount
|
||||
url: '/pages/rwa_package/account/success?money=' + params.amount
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
fail: (res) => {
|
||||
_this.$refs.uToastRef.show({
|
||||
@@ -364,17 +367,17 @@ export default {
|
||||
message: '提现失败',
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
})
|
||||
// #endif
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
qing(){
|
||||
qing() {
|
||||
this.money = '';
|
||||
this.curSelect = '0';
|
||||
this.selectVal = null;
|
||||
@@ -385,17 +388,18 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bottom-btn{
|
||||
.bottom-btn {
|
||||
width: 100%;
|
||||
margin-bottom:92rpx;
|
||||
margin-bottom: 92rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0 32rpx;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.setting-view {
|
||||
width: 100%;
|
||||
height: calc(100% - 88rpx - 92rpx - 88rpx - var(--status-bar-height));
|
||||
@@ -406,49 +410,54 @@ export default {
|
||||
padding: 0 32rpx;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
.top-view{
|
||||
width:100%;
|
||||
margin-top:40rpx;
|
||||
height:188rpx;
|
||||
min-height:188rpx;
|
||||
|
||||
.top-view {
|
||||
width: 100%;
|
||||
margin-top: 40rpx;
|
||||
height: 188rpx;
|
||||
min-height: 188rpx;
|
||||
display: flex;
|
||||
background:linear-gradient( 270deg, #B164FB 0%, #7934F6 100%);
|
||||
background: linear-gradient(270deg, #B164FB 0%, #7934F6 100%);
|
||||
padding: 36rpx 32rpx;
|
||||
box-sizing: border-box;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-radius: 16rpx;
|
||||
.top-left{
|
||||
|
||||
.top-left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height:108rpx;
|
||||
|
||||
|
||||
height: 108rpx;
|
||||
|
||||
|
||||
}
|
||||
.top-right{
|
||||
|
||||
.top-right {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: flex-end;
|
||||
height:108rpx;
|
||||
height: 108rpx;
|
||||
}
|
||||
}
|
||||
.zhu-view{
|
||||
width:100%;
|
||||
|
||||
.zhu-view {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
margin-top:32rpx;
|
||||
margin-top: 32rpx;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
padding: 16rpx;
|
||||
box-sizing: border-box;
|
||||
background: rgba(121, 52, 246, 0.05);
|
||||
border-radius:8rpx ;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
.mid-view{
|
||||
width:100%;
|
||||
|
||||
.mid-view {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow-y: auto;
|
||||
@@ -456,42 +465,45 @@ export default {
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
padding: 32rpx;
|
||||
padding-bottom:0 ;
|
||||
margin-top:24rpx;
|
||||
.item-view{
|
||||
width:100%;
|
||||
height:110rpx;
|
||||
min-height:110rpx;
|
||||
padding-bottom: 0;
|
||||
margin-top: 24rpx;
|
||||
|
||||
.item-view {
|
||||
width: 100%;
|
||||
height: 110rpx;
|
||||
min-height: 110rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
border-bottom: 2rpx solid #ececec;
|
||||
.right-icon-view{
|
||||
|
||||
.right-icon-view {
|
||||
position: absolute;
|
||||
right:0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
image{
|
||||
width:48rpx;
|
||||
height:48rpx;
|
||||
|
||||
image {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
}
|
||||
}
|
||||
.input-view{
|
||||
width:100%;
|
||||
height:100rpx;
|
||||
|
||||
.input-view {
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
border-radius: 20rpx;
|
||||
margin:32rpx 0 ;
|
||||
margin: 32rpx 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user