Procházet zdrojové kódy

Merge branch 'master' of http://git.zthymaoyi.com/wangchao/businessCard

# Conflicts:
#	xiaochengxu/pages/cardHolder/search.vue
#	xiaochengxu/pages/circle/search.vue
高敬炎 před 2 roky
rodič
revize
ddff81aaec

binární
xiaochengxu/components/Card/bgc4.png


+ 11 - 9
xiaochengxu/pages/cardHolder/cardHolder.vue

@@ -9,17 +9,15 @@
 			</u-navbar>
 			<view class="content1 flex-row-center">
 				<view class="search flex justify-space-between align-item-center flex-between" @click="search">
-					<view class="left align-item-center flex">
+					<view class="left flex">
 						<uni-icons type="search" size="24" color="#9199af"></uni-icons>
 						<text class="search-val"> {{searchVal?searchVal:'搜索名片'}}</text>
-						<!-- <uni-icons type="closeempty" size="24" @click.native.stop="delSearchVal" v-if="searchVal">
-						</uni-icons> -->
 					</view>
 
 					<view class="right">
 						<image style='width:32rpx;height:32rpx;' v-if="searchVal" @click.native.stop="delSearchVal"
 							src="../../static/imgs/card/searchdel.png" mode="widthFix"></image>
-						<uni-icons type="mic" size="24" @click.native.stop="micOpen" color="#9199af"></uni-icons>
+						<uni-icons type="mic" size="24" @click.native.stop="micOpen" color="#9199af" style="margin-left: 20rpx;"></uni-icons>
 					</view>
 				</view>
 				<view class="col flex">
@@ -245,7 +243,7 @@
 			</view>
 
 		</view>
-		<u-picker :show="isShowType" :columns="typeColumns" keyName="circleName" :title="type == 2?'修改分类':'选择分类'"
+		<u-picker :immediateChange ="true" :show="isShowType" :columns="typeColumns" keyName="circleName" :title="type == 2?'修改分类':'选择分类'"
 			@close="isShowType=false" @cancel="isShowType=false" closeOnClickOverlay @confirm="typeConfirm"></u-picker>
 		<u-toast ref="uToast"></u-toast>
 		<u-modal :show="delShow" title="提示" confirmText='确定' showCancelButton='true' @cancel="delShow=false"
@@ -367,6 +365,7 @@
 				userInfo: {head:'',nickname:''},
 				downOption: {
 					auto: false,
+					textColor:'#bbb'
 				},
 				upOption: {
 					page: {
@@ -376,7 +375,9 @@
 					noMoreSize: 1,
 					empty: {
 						tip: '暂无相关数据'
-					}
+					},
+					textNoMore:'没有更多了~',
+					textColor:'#bbb'
 				},
 				params: {
 					encryptedData: '',
@@ -1329,17 +1330,18 @@
 			margin-right: 20rpx;
 		}
 		.left{
-			width:82%;
+			width:80%;
 			text{
 				    height: 46rpx;
 				    white-space: nowrap;
 				    overflow: scroll;
 					position: relative;
-					    top: -3px;
+					margin-left: 20rpx;
 			}
 		}
 		.right{
-			width:14%;
+			// width:14%;
+			margin-right:20rpx
 		}
 	}
 

+ 410 - 40
xiaochengxu/pages/cardHolder/scanCodeAddCard.vue

@@ -1,9 +1,175 @@
 <template>
 	<view>
 		<view class="card-wrap">
-			<card :obj="cardInfo" :styleList="bottomStyle" page="scanCodeAddCard"></card>
-			<view class="row-text">
-				<text>默</text>
+			<!-- <card :obj="cardInfo" :styleList="bottomStyle" page="scanCodeAddCard"></card> -->
+			<view class="card-list-cardInfo relative"
+				:style="cardInfo.currentBackground?'background: url('+cardInfo.currentBackground+');background-size:100% 100%':''">
+				<view class="card-content style1" v-if="cardInfo.cuttentTemplate==1">
+					<view class="left">
+						<u--image :showLoading="true" :src="cardInfo.headSculpture" width="66px" height="66px"
+							shape="circle"></u--image>
+					</view>
+					<view class="right">
+						<view class="row1">
+							<text class="name">{{cardInfo.name}}</text>
+							<text class="post">{{cardInfo.post}}</text>
+						</view>
+						<view class="row2">
+							{{cardInfo.companyName}}
+						</view>
+						<view class="row3 flex" @click="toMap(cardInfo)">
+							<u--image :showLoading="true" :src="'/static/imgs/card/address'+cardInfo.icon+'.png'"
+								width="13px" height="16px"></u--image>
+							<view class='icon-text'>{{ cardInfo.province }}{{ cardInfo.city }}{{ cardInfo.area }}</view>
+						</view>
+						<view @click="freeTell(cardInfo)" class="row4 flex">
+							<u--image :showLoading="true" :src="'/static/imgs/card/phone'+cardInfo.icon+'.png'"
+								width="12px" height="13px"></u--image>
+							<view class='icon-text'>{{ cardInfo.phone }}</view>
+						</view>
+						<view @click='remarkEdit(cardInfo)' class="row2 flex" style="color: #808080">
+							<u--image :showLoading="true" :src="'/static/imgs/card/remark'+cardInfo.icon+'.png'"
+								width="10px" height="12px"></u--image>
+							<view class='icon-text' style="color: #808080;">{{cardInfo.remark?cardInfo.remark:'单击添加备注'}}
+							</view>
+						</view>
+					</view>
+					<u-checkbox-group v-if='islongPress' placement="column" @change="checkboxChange($event,index)">
+						<u-checkbox iconColor='#4977FC' activeColor="#fff" :name='index+1' :checked='cardInfo.checked'
+							:customStyle="{marginBottom: '8px'}">
+						</u-checkbox>
+					</u-checkbox-group>
+				</view>
+				<view class="card-content style1 flex-between" v-if="cardInfo.cuttentTemplate==2">
+					<view class="right">
+						<view class="row1">
+							<text class="name">{{cardInfo.name}}</text>
+							<text class="post">{{cardInfo.post}}</text>
+						</view>
+						<view class="row2">
+							{{cardInfo.companyName}}
+						</view>
+						<view @click="toMap(cardInfo)" class="row3 flex">
+							<u--image :showLoading="true" :src="'/static/imgs/card/address'+cardInfo.icon+'.png'"
+								width="13px" height="16px"></u--image>
+							<view class='icon-text'>{{ cardInfo.province }}{{ cardInfo.city }}{{ cardInfo.area }}</view>
+						</view>
+						<view @click="freeTell(cardInfo)" class="row4 flex">
+							<u--image :showLoading="true" :src="'/static/imgs/card/phone'+cardInfo.icon+'.png'"
+								width="12px" height="13px"></u--image>
+							<view class='icon-text'>{{ cardInfo.phone }}</view>
+						</view>
+						<view @click='remarkEdit(cardInfo)' class="row2 flex" style="color: #808080">
+							<u--image :showLoading="true" :src="'/static/imgs/card/remark'+cardInfo.icon+'.png'"
+								width="10px" height="12px"></u--image>
+							<view class='icon-text' style="color: #808080;">{{cardInfo.remark?cardInfo.remark:'单击添加备注'}}
+							</view>
+						</view>
+					</view>
+					<view class="left">
+						<u--image :showLoading="true" :src="cardInfo.headSculpture" width="66px" height="66px"
+							shape="circle" v-if="cardInfo.headSculpture"></u--image>
+						<u--image :showLoading="true" src="/static/imgs/card/defaulthead.png" width="66px" height="66px"
+							shape="circle" v-else></u--image>
+					</view>
+					<u-checkbox-group v-if='islongPress' placement="column" @change="checkboxChange($event,index)">
+						<u-checkbox iconColor='#4977FC' activeColor="#fff" :name='index+1' :checked='cardInfo.checked'
+							:customStyle="{marginBottom: '8px'}">
+						</u-checkbox>
+					</u-checkbox-group>
+				</view>
+				<view class="card-content style2" v-if="cardInfo.cuttentTemplate==3">
+					<view class="top">
+						<u--image :showLoading="true" :src="cardInfo.headSculpture" width="66px" height="66px"
+							shape="circle" v-if="cardInfo.headSculpture"></u--image>
+						<u--image :showLoading="true" src="/static/imgs/card/defaulthead.png" width="66px" height="66px"
+							shape="circle" v-else></u--image>
+					</view>
+					<view class="bottom flex">
+						<view class="left">
+							<view class="row1">
+								<text class="name">{{cardInfo.name}}</text>
+								<text class="post">{{cardInfo.post}}</text>
+							</view>
+							<view class="row2">
+								{{cardInfo.companyName}}
+							</view>
+						</view>
+						<view class="right">
+							<view @click="toMap(cardInfo)" class="row1 flex">
+								<u--image :showLoading="true" :src="'/static/imgs/card/address'+cardInfo.icon+'.png'"
+									width="13px" height="16px"></u--image>
+								<view class='icon-text'>{{ cardInfo.province }}{{ cardInfo.city }}{{ cardInfo.area }}
+								</view>
+							</view>
+							<view @click="freeTell(cardInfo)" class="row2 flex">
+								<u--image :showLoading="true" :src="'/static/imgs/card/phone'+cardInfo.icon+'.png'"
+									width="12px" height="13px"></u--image>
+								<view class='icon-text'>{{ cardInfo.phone }}</view>
+							</view>
+							<view @click='remarkEdit(cardInfo)' class="row2 flex" style="color: #808080">
+								<u--image :showLoading="true" :src="'/static/imgs/card/remark'+cardInfo.icon+'.png'"
+									width="10px" height="12px"></u--image>
+								<view class='icon-text' style="color: #808080;">
+									{{cardInfo.remark?cardInfo.remark:'单击添加备注'}}
+								</view>
+							</view>
+						</view>
+					</view>
+					<u-checkbox-group v-if='islongPress' placement="column" @change="checkboxChange($event,index)">
+						<u-checkbox iconColor='#4977FC' activeColor="#fff" :name='index+1' :checked='cardInfo.checked'
+							:customStyle="{marginBottom: '8px'}">
+						</u-checkbox>
+					</u-checkbox-group>
+				</view>
+				<view class="card-content style2" v-if="cardInfo.cuttentTemplate==4">
+					<view class="top">
+						<view class="row1">
+							<text class="name">{{cardInfo.name}}</text>
+							<text class="post">{{cardInfo.post}}</text>
+						</view>
+						<view class="row2">
+							{{cardInfo.companyName}}
+						</view>
+
+					</view>
+					<view class="bottom flex">
+						<view class="left">
+							<u--image :showLoading="true" :src="cardInfo.headSculpture" width="66px" height="66px"
+								shape="circle" v-if="cardInfo.headSculpture"></u--image>
+							<u--image :showLoading="true" src="/static/imgs/card/defaulthead.png" width="66px"
+								height="66px" shape="circle" v-else></u--image>
+						</view>
+						<view class="right">
+							<view @click="toMap(cardInfo)" class="row1 flex">
+								<u--image :showLoading="true" :src="'/static/imgs/card/address'+cardInfo.icon+'.png'"
+									width="13px" height="16px"></u--image>
+								<view class='icon-text'>{{ cardInfo.province }}{{ cardInfo.city }}{{ cardInfo.area }}
+								</view>
+							</view>
+							<view @click="freeTell(cardInfo)" class="row2 flex">
+								<u--image :showLoading="true" :src="'/static/imgs/card/phone'+cardInfo.icon+'.png'"
+									width="12px" height="13px"></u--image>
+								<view class='icon-text'>{{ cardInfo.phone }}</view>
+							</view>
+							<view @click='remarkEdit(cardInfo)' class="row2 flex" style="color: #808080">
+								<u--image :showLoading="true" :src="'/static/imgs/card/remark'+cardInfo.icon+'.png'"
+									width="10px" height="12px"></u--image>
+								<view :style='cardInfo.remark?"color:#000;":"color:#808080;"' class='icon-text'>
+									{{cardInfo.remark?cardInfo.remark:'单击添加备注'}}
+								</view>
+							</view>
+						</view>
+					</view>
+					<u-checkbox-group v-if='islongPress' placement="column" @change="checkboxChange($event,index)">
+						<u-checkbox iconColor='#4977FC' activeColor="#fff" :name='index+1' :checked='cardInfo.checked'
+							:customStyle="{marginBottom: '8px'}">
+						</u-checkbox>
+					</u-checkbox-group>
+				</view>
+				<view class="car-bottom flex">
+						<text style="color: #fff;font-size: 36rpx;font-weight: 700;margin-left: 40rpx;">{{value?value:'默'}}</text>
+				</view>
 			</view>
 		</view>
 		<view class="title">
@@ -35,15 +201,17 @@
 				</view>
 			</view>
 		</view>
-		<u-picker keyName="cardBusiness" title="选择名片" @close="show1=false" @cancel="show1=false" closeOnClickOverlay
-			@confirm="cardConfirm" :show="show1" :columns="cardList"></u-picker>
-		<u-picker keyName="circleName" title="选择分类" @close="show=false" @cancel="show=false" closeOnClickOverlay
-			@confirm="typeConfirm" :show="show" :columns="columns"></u-picker>
-			<view class="bottom-btn">
-				<u-button @click='cancel' text="取消" type="primary" :plain="true" color="#18254C" :customStyle="btnStyle"></u-button>
-				<u-button @click='$u.debounce(save, 500)' text="保存" type="primary" color="#18254C" :customStyle="btnStyle"></u-button>
-			</view>
-		
+		<u-picker :immediateChange="true" keyName="cardBusiness" title="选择名片" @close="show1=false" @cancel="show1=false"
+			closeOnClickOverlay @confirm="cardConfirm" :show="show1" :columns="cardList"></u-picker>
+		<u-picker :immediateChange="true" keyName="circleName" title="选择分类" @close="show=false" @cancel="show=false"
+			closeOnClickOverlay @confirm="typeConfirm" :show="show" :columns="columns"></u-picker>
+		<view class="bottom-btn">
+			<u-button @click='cancel' text="取消" type="primary" :plain="true" color="#18254C"
+				:customStyle="btnStyle"></u-button>
+			<u-button @click='$u.debounce(save, 500)' text="保存" type="primary" color="#18254C"
+				:customStyle="btnStyle"></u-button>
+		</view>
+
 		<u-toast ref="uToast"></u-toast>
 	</view>
 </template>
@@ -56,15 +224,16 @@
 		},
 		data() {
 			return {
-				btnStyle:{
-					// width:'calc(50% - 80rpx)'
+				value: '',
+				btnStyle: {
+					width:'calc(50% - 80rpx)'
 				},
 				bottomStyle: [
 					"position:absolute;left: 0;width:24vw;height:0;border-bottom:80rpx solid red;border-right:80rpx solid transparent;border-radius:0 0 0 20rpx",
 					"position: absolute;right: -40rpx;width: 58vw;height: 0;border-top: 80rpx solid green;border-left: 80rpx solid transparent;border-radius: 0 0 10px 0"
 				],
 				id: '',
-				commonId:'',
+				commonId: '',
 				cardInfo: {},
 				show: false,
 				show1: false,
@@ -89,7 +258,7 @@
 		},
 		onLoad(options) {
 			this.id = options.id.indexOf(",") ? options.id.split(",")[0] : options.id
-			this.commonId=options.id.indexOf(",") ? options.id.split(",")[1] :''
+			this.commonId = options.id.indexOf(",") ? options.id.split(",")[1] : ''
 			this.getList()
 		},
 		onShow() {
@@ -112,14 +281,14 @@
 					})
 				}, failres => {
 					uni.showToast({
-						icon:"none",
+						icon: "none",
 						title: failres.errmsg,
 						duration: 3000
 					});
 					uni.hideLoading()
 				}).then(res => {
 					uni.showToast({
-						icon:"success",
+						icon: "success",
 						title: '保存成功!',
 						duration: 2000
 					});
@@ -144,6 +313,7 @@
 			typeConfirm(e) {
 				console.log(e)
 				this.cardInfo.classify = e.value[0].circleName
+				this.value = e.value[0].circleName.substring(0,1)
 				this.show = false
 			},
 			getList() {
@@ -152,30 +322,30 @@
 				}, failres => {
 					console.log('res+++++', failres.errmsg)
 					uni.showToast({
-					  icon:"none",
-					  title: failres.errmsg,
-					  duration: 3000
+						icon: "none",
+						title: failres.errmsg,
+						duration: 3000
 					});
 					uni.hideLoading()
 				}).then(res => {
-					console.log(res,"this.cardInfo")
+					console.log(res, "this.cardInfo")
 					this.cardInfo = res.data
-					this.cardInfo.cardBusiness=''
+					this.cardInfo.cardBusiness = ''
 					// this.cardInfo.cardCommonId = res.data.commonId
 					console.log(res)
 				})
-				console.log(uni.getStorageSync("userInfo").id,111111)
+				console.log(uni.getStorageSync("userInfo").id, 111111)
 				this.$request.baseRequest('admin.unimall.cardManagementInfo', 'list', {
 					commonId: uni.getStorageSync("userInfo").id
 				}, failres => {
 					uni.showToast({
-					  icon:"none",
-					  title: failres.errmsg,
-					  duration: 3000
+						icon: "none",
+						title: failres.errmsg,
+						duration: 3000
 					});
 					uni.hideLoading()
 				}).then(res => {
-					this.cardList = [res.data.items]
+					this.cardList = [res.data.cardInfos]
 				})
 				this.$request.baseRequest('admin.unimall.cardClassifyInfo', 'list', {
 					page: 1,
@@ -184,15 +354,15 @@
 				}, failres => {
 					console.log('res+++++', failres.errmsg)
 					uni.showToast({
-					  icon:"none",
-					  title: failres.errmsg,
-					  duration: 3000
+						icon: "none",
+						title: failres.errmsg,
+						duration: 3000
 					});
 				}).then(res => {
 					this.columns = [res.data.items]
 					console.log(this.columns)
 				})
-				
+
 
 			}
 		}
@@ -201,32 +371,225 @@
 
 <style scoped lang="scss">
 	.card-wrap {
-		position: relative;
+		margin: 0 20rpx;
+		background: #f5f5f5;
+		// height: 1000px;
+		border-radius: 30rpx;
+
+		.style1 {
+			display: flex;
+			padding: 20rpx 30rpx;
+			width: 85%;
+			margin-bottom: 90rpx;
+
+			.left {
+				width: 132rpx;
+				height: 132rpx;
+				border-radius: 50%;
+			}
+
+			.right {
+				margin-left: 40rpx;
+
+				.row1 {
+					.name {
+						font-size: 38rpx;
+						font-weight: bold;
+						color: #040000;
+						margin-right: 20rpx;
+					}
+
+					.post {
+						font-size: 26rpx;
+						font-weight: 500;
+						color: #666666;
+					}
+				}
+
+				.row2 {
+					font-size: 24rpx;
+					font-weight: bold;
+					color: #323333;
+				}
+
+				.row3 {
+					margin-top: 30rpx;
+					font-size: 24rpx;
+					font-weight: 500;
+					color: #323333;
+
+				}
+
+				.row2,
+				.row4 {
+					margin-top: 10rpx;
+				}
+			}
+		}
+
+		.style2 {
+			padding: 15rpx;
+			margin-bottom: 80rpx;
+
+			.top {
+				.row1 {
+					.name {
+						font-size: 38rpx;
+						font-weight: bold;
+						color: #040000;
+						margin-right: 20rpx;
+					}
+
+					.post {
+						font-size: 26rpx;
+						font-weight: 500;
+						color: #666666;
+					}
+				}
+
+				.row2 {
+					margin-top: 10rpx;
+					font-size: 24rpx;
+					font-weight: bold;
+					color: #323333;
+				}
+			}
+
+			.bottom {
+				margin-top: 20rpx;
+
+				.left {
+					margin-right: 40rpx;
 
-		.row-text {
+					.row1 {
+						.name {
+							font-size: 38rpx;
+							font-weight: bold;
+							color: #040000;
+							margin-right: 20rpx;
+						}
+
+						.post {
+							font-size: 26rpx;
+							font-weight: 500;
+							color: #666666;
+						}
+					}
+
+					.row2 {
+						margin-top: 10rpx;
+						font-size: 26rpx;
+						font-weight: bold;
+						color: #323333;
+					}
+
+				}
+
+				.right {
+
+					.row1,
+					.row2 {
+						font-size: 24rpx;
+						font-weight: 500;
+						color: #323333;
+					}
+
+					.row2,
+					.row4 {
+						margin-top: 10rpx;
+					}
+				}
+			}
+
+		}
+
+
+	}
+	.car-bottom {
 			position: absolute;
-			bottom: 20px;
-			left: 110rpx;
+			bottom: 63rpx;
+			left: 20rpx;
+			bottom: 24rpx;
+			width: 94.9%;
+			background: url("../../static/imgs/card/bgc4.png") no-repeat center;
+			background-size: cover;
+			height: 80rpx;
+
+			// width: calc(100% - 40rpx);
+			.left {
+				// top: -40rpx;
+				position: absolute;
+				padding: 20rpx 0;
+				width: 70vw;
+				height: 80rpx;
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				justify-content: space-evenly;
+				left: 0px;
+
+				// background-size: 100% 100%;
+				overflow-y: hidden;
+			}
+		}
+	.card-list-item {
+		width: calc(100%);
+		// left:-20rpx;
+		position: relative;
+		border-radius: 30rpx;
+		padding: 40rpx;
+		box-sizing: border-box;
+
+	
+
+		.left {
+			width: 30%;
+
+			.top {
+
+				margin-bottom: 20rpx;
+			}
+
+			.img {
+				width: 80%;
+			}
+
+			.bottom {}
+		}
+
+		.right {
+			.row1 {
+				.line {
+					width: 1px;
+					height: 20px;
+					margin: 0 20rpx;
+					background: black;
+				}
+			}
 		}
 	}
-	.title{
+
+	.title {
 		font-size: 32rpx;
 		font-weight: bold;
 		color: #19191A;
 		margin-left: 20rpx;
 	}
-	.form-style{
+
+	.form-style {
 		background: #fff;
 		padding: 20rpx;
 		margin: 20rpx;
 		box-sizing: border-box;
 		border-radius: 20rpx;
-		.row{
+
+		.row {
 			display: flex;
 			justify-content: space-between;
 		}
 	}
-	.bottom-btn{
+
+	.bottom-btn {
 		position: fixed;
 		bottom: 40rpx;
 		display: flex;
@@ -235,4 +598,11 @@
 		width: 100vw;
 		height: auto;
 	}
+
+	.card-list-cardInfo {
+		padding: 40rpx;
+	}
+	.icon-text{
+		margin-left: 20rpx;
+	}
 </style>

+ 3 - 4
xiaochengxu/pages/cardHolder/search.vue

@@ -16,7 +16,6 @@
 							<text class="text">{{longPress == '1' ? '按住说出姓名' : '松开自动识别'}}</text>
 						</view>
 					</view>
-					<!-- 语音音阶动画 -->
 					<view class="prompt-layer prompt-layer-1" v-if="longPress == '2'">
 						<view class="prompt-loader">
 							<view class="em" v-for="(item,index) in 15" :key="index"></view>
@@ -41,7 +40,8 @@
 		},
 		data() {
 			return {
-				duration: 3000, //录音最大值ms 60000/1分钟
+
+				duration: 2000, //录音最大值ms 60000/1分钟
 				tempFilePath: '', //音频路径
 				playStatus: 0, //录音播放状态 0:未播放 1:正在播放
 				longPress: '1',
@@ -97,7 +97,6 @@
 				})
 			},
 			touchendBtn() {
-				debugger
 				console.log("录音结束")
 				let that = this
 				this.longPress = '1'; 
@@ -372,7 +371,7 @@
 
 	/deep/.u-popup__content {
 		padding-bottom: 100rpx;
-		background: linear-gradient(180deg, rgba(204, 204, 204, 0.95) 0%, rgba(203, 203, 203, 0.01) 100%) !important;
+		// background: linear-gradient(180deg, rgba(204, 204, 204, 0.95) 0%, rgba(203, 203, 203, 0.01) 100%) !important;
 		border-radius: 50% 50% 0 0;
 	}
 

+ 64 - 31
xiaochengxu/pages/circle/circle.vue

@@ -27,22 +27,59 @@
 					<uni-icons type="personadd-filled" size="30" @click="toCreateCircle"></uni-icons>
 				</view> -->
 			</view>
-			<view class="" v-for="(item,index) in circleList" :key="index">
-				<view class="flex title" v-if="item.name">
+			<view class="wd-list">
+				<view v-for="(item,index) in circleList1" :key="index">
+					<view class="flex title" v-if="item.name">
+						<view class="line"></view>
+						<view class="text-title">
+							{{item.name}}
+						</view>
+					</view>
+					<view class="row-tiem flex" v-if="!item.name" @click="toDetail(item.id)">
+						<view class="left">
+							<image :src="item.circleHead?item.circleHead:'../../static/imgs/mySet/ewm.png'" mode="aspectFill" class="img"></image>
+						</view>
+						<view class="right">
+							<view class="top">{{item.circleName}}({{item.cardNum}}人)</view>
+							<view style='flex-wrap: wrap;' class="bottom flex">
+								<view v-for="item1 in item.circleLabelArray" class="text">
+									{{item1}}
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="content2 flex flex-between">
+			
+				<view class="left flex title">
 					<view class="line"></view>
 					<view class="text-title">
-						{{item.name}}
+						推荐圈子
 					</view>
 				</view>
-				<view class="row-tiem flex" v-if="!item.name" @click="toDetail(item.id)">
-					<view class="left">
-						<image :src="item.circleHead?item.circleHead:'../../static/imgs/mySet/ewm.png'" mode="aspectFill" class="img"></image>
+				<!-- <view class="right">
+					<uni-icons type="personadd-filled" size="30" @click="toCreateCircle"></uni-icons>
+				</view> -->
+			</view>
+			<view class="tj-list">
+				<view v-for="(item,index) in circleList" :key="index">
+					<view class="flex title" v-if="item.name">
+						<view class="line"></view>
+						<view class="text-title">
+							{{item.name}}
+						</view>
 					</view>
-					<view class="right">
-						<view class="top">{{item.circleName}}({{item.cardNum}}人)</view>
-						<view style='flex-wrap: wrap;' class="bottom flex">
-							<view v-for="item1 in item.circleLabelArray" class="text">
-								{{item1}}
+					<view class="row-tiem flex" v-if="!item.name" @click="toDetail(item.id)">
+						<view class="left">
+							<image :src="item.circleHead?item.circleHead:'../../static/imgs/mySet/ewm.png'" mode="aspectFill" class="img"></image>
+						</view>
+						<view class="right">
+							<view class="top">{{item.circleName}}({{item.cardNum}}人)</view>
+							<view style='flex-wrap: wrap;' class="bottom flex">
+								<view v-for="item1 in item.circleLabelArray" class="text">
+									{{item1}}
+								</view>
 							</view>
 						</view>
 					</view>
@@ -72,6 +109,7 @@
 				userInfo: {},
 				canReset: false,
 				cardList:[],
+				circleList1:[]
 			};
 		},
 		onLoad() {
@@ -163,8 +201,7 @@
 					this.mescroll.endByPage(curPageLen, totalPage);
 					console.log(res.data)
 					// this.makeData(res.data)
-					if (page.num == 1) this.circleList = []; //如果是第一页需手动置空列表
-					this.circleList = this.circleList.concat(curPageData); //追加新数据
+					//追加新数据
 					for (let i = 0; i < this.circleList.length; i++) {
 						if(this.circleList[i].circleLabel){
 							if(this.circleList[i].circleLabel.split(',').length>=3){
@@ -176,22 +213,12 @@
 							}
 						}
 					}
-					for (let i = 0; i < this.circleList.length; i++) {
-						if (this.circleList[i].addedFlag == 0) {
-							if (i == 0) {
-								this.circleList.unshift({
-									name: '推荐圈子'
-								});
-							} else {
-								this.circleList.splice(i, 0, {
-									name: '推荐圈子'
-								})
-							}
-
-							console.log(this.circleList)
-							return
-						}
-					}
+					
+					if (page.num == 1) this.circleList1 = []; this.circleList = []; //如果是第一页需手动置空列表
+					var tjarr=curPageData.filter((item)=>{return item.addedFlag==0})
+					var wdarr=curPageData.filter((item)=>{return item.addedFlag==1})
+					this.circleList1 = this.circleList1.concat(wdarr); 
+					this.circleList = this.circleList.concat(tjarr); 
 					
 				})
 			},
@@ -290,9 +317,9 @@
 	}
 
 	.row-tiem {
-		background: #fff;
+		// background: #fff;
 		padding: 24rpx;
-		margin: 0 34rpx;
+		// margin: 0 34rpx;
 		align-items: unset;
 
 		.img {
@@ -338,4 +365,10 @@
 		right: 26rpx;
 		height: auto;
 	}
+	.wd-list,.tj-list{
+		border-radius: 20rpx;
+		background:#fff;
+		margin: 0 34rpx;
+	}
+
 </style>

+ 1 - 1
xiaochengxu/pages/circle/createCirclce.vue

@@ -40,7 +40,7 @@
 		<view class="">
 			<button type="default" @click="submit" class="submit">提交</button>
 		</view>
-		<u-picker keyName="cardBusiness" title="选择名片" @close="show=false"
+		<u-picker :immediateChange ="true" keyName="cardBusiness" title="选择名片" @close="show=false"
 			@cancel="show=false" closeOnClickOverlay @confirm="cardConfirm" :show="show" :columns="cardList"></u-picker>
 		<u-toast ref="uToast"></u-toast>
 	</view>

+ 14 - 2
xiaochengxu/pages/circle/detail.vue

@@ -40,7 +40,7 @@
 			</view>
 		</view>
 		<view  class="relative" style='top:150px;'>
-			<mescroll-uni height='1200' ref="mescrollRef" @init="mescrollInit" @up="upCallback" @down="downCallback" >
+			<mescroll-uni height='1200' :up="upOption" ref="mescrollRef" @init="mescrollInit" @up="upCallback" @down="downCallback" >
 			<view class="content3" v-for="(item,index) in changeCardList"
 				:style="item.currentBackground?'background:url('+item.currentBackground+');background-size:100% 100%':''"
 				:key="index">
@@ -81,7 +81,7 @@
 		</mescroll-uni>
 		</view>
 		
-		<u-picker @cancel="isShowCard=false" :show="isShowCard" :columns="cardList" keyName="cardBusiness"
+		<u-picker :immediateChange ="true" @cancel="isShowCard=false" :show="isShowCard" :columns="cardList" keyName="cardBusiness"
 			@confirm="cardConfirm"></u-picker>
 		<u-toast ref="uToast"></u-toast>
 		<u-modal :show="show" :content='content' @confirm="$u.debounce(joinCircle, 500)" showCancelButton
@@ -100,6 +100,18 @@
 		mixins: [MescrollMixin], // 使用mixin
 		data() {
 			return {
+				upOption: {
+					page: {
+						size: 10 // 每页数据的数量,默认10
+					},
+					auto: false,
+					noMoreSize: 1,
+					empty: {
+						tip: '暂无相关数据'
+					},
+					textNoMore:'没有更多了~',
+					textColor:'#bbb'
+				},
 				selectIndex: 0,
 				isShowChangeCard: false,
 				show1:false,

+ 2 - 2
xiaochengxu/pages/circle/search.vue

@@ -42,7 +42,7 @@
 				color_border: "#00aaff",
 				cirlce_search_list_hot: [],
 				store_key: 'circle_search_list',
-				duration: 3000, //录音最大值ms 60000/1分钟
+				duration: 2000, //录音最大值ms 60000/1分钟
 				tempFilePath: '', //音频路径
 				playStatus: 0, //录音播放状态 0:未播放 1:正在播放
 				longPress: '1',
@@ -367,7 +367,7 @@
 
 	/deep/.u-popup__content {
 		padding-bottom: 100rpx;
-		background: linear-gradient(180deg, rgba(204, 204, 204, 0.95) 0%, rgba(203, 203, 203, 0.01) 100%) !important;
+		// background: linear-gradient(180deg, rgba(204, 204, 204, 0.95) 0%, rgba(203, 203, 203, 0.01) 100%) !important;
 		border-radius: 50% 50% 0 0;
 	}
 

+ 1 - 1
xiaochengxu/pages/mySet/lookCard.vue

@@ -23,7 +23,7 @@
 			
 		</view>
 		<u-toast ref="uToast"></u-toast>
-		<u-picker @cancel='show=false' @confirm='pickerConfirm' title='识别类型' :show="show" :columns="columns"></u-picker>
+		<u-picker :immediateChange ="true" @cancel='show=false' @confirm='pickerConfirm' title='识别类型' :show="show" :columns="columns"></u-picker>
 	</view>
 </template>
 

+ 1 - 1
xiaochengxu/pages/mySet/myCard.vue

@@ -86,7 +86,7 @@
 			</mescroll-body>
 		</view>
 	
-		<u-picker @cancel='show=false' @confirm='pickerConfirm' title='识别类型' :show="show" :columns="columns"></u-picker>
+		<u-picker :immediateChange ="true" @cancel='show=false' @confirm='pickerConfirm' title='识别类型' :show="show" :columns="columns"></u-picker>
 		<u-popup :show="popupshow" :closeOnClickOverlay='true' :overlayOpacity='0.4' @close='handleHiddenShare'
 			:round="10" mode="bottom">
 			<view>

+ 3 - 0
xiaochengxu/pages/mySet/myHome.vue

@@ -392,6 +392,9 @@
 		border-radius: 0px 0px 20rpx 20rpx;
 	}
 	.content1{
+		.row{
+			padding-bottom: 20rpx;
+		}
 		margin: 0rpx 0 120rpx 0;
 		background-color: #fff;
 		border-radius: 20rpx 20rpx 0 0;

+ 3 - 3
xiaochengxu/pages/mySet/mySet.vue

@@ -33,10 +33,10 @@
 		<u-popup :show="isShowCode" @close="isShowCode=false" mode="center" :round='10'>
 			<image :src="selectCode" mode="widthFix" style="height: auto;"></image>
 		</u-popup>
-		<u-picker keyName="cardBusiness" :confirmType='"share"' :confirmText='"分享"' title="选择名片" @cancel="show=false"
+		<u-picker :immediateChange ="true" keyName="cardBusiness" :confirmType='"share"' :confirmText='"分享"' title="选择名片" @cancel="show=false"
 			closeOnClickOverlay @change="cardChange" :show="show" :columns="cardList"></u-picker>
-		<u-picker keyName="cardBusiness" confirmText='确定' title="选择名片" @cancel="show1=false" closeOnClickOverlay
-			@confirm="cardConfirm" :show="show1" :columns="cardList"></u-picker>
+		<u-picker :immediateChange ="true" keyName="cardBusiness" confirmText='确定' title="选择名片" @cancel="show1=false" closeOnClickOverlay
+			@confirm="cardConfirm" :show="show1" :columns="cardList" ></u-picker>
 		<poster :data="canvasData" background-color="#FFF" :width='750' :height='420' @on-success="posterSuccess"
 			ref="poster" @on-error="posterError"></poster>
 		<u-toast ref="uToast"></u-toast>

binární
xiaochengxu/static/imgs/card/bgc4.png


+ 1 - 1
xiaochengxu/uni_modules/d-search-log/components/d-search-log/d-search-log.vue

@@ -257,7 +257,7 @@
 		display: flex;
 		flex-direction: column;
 		align-items: center;
-		padding: 10rpx 0;
+		padding: 20rpx;
 		.dSLComVueTop {
 			width: 90%;
 			height: 100rpx;