|
@@ -0,0 +1,404 @@
|
|
|
+<template>
|
|
|
+ <view class="container club clearfix">
|
|
|
+ <view class="club-search clearfix">
|
|
|
+ <view class="search-from name">
|
|
|
+ <text class="iconfont icon-iconfonticonfontsousuo1"></text>
|
|
|
+ <input class="input"
|
|
|
+ type="text"
|
|
|
+ confirm-type="search"
|
|
|
+ v-model="searchInputVal"
|
|
|
+ @input="onShowClose"
|
|
|
+ @confirm="initclubList()"
|
|
|
+ placeholder="机构名称/手机号"
|
|
|
+ maxlength="16"/>
|
|
|
+ <text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
|
|
|
+ </view>
|
|
|
+ <view class="search-btn">
|
|
|
+ <button class="search-btn" type="default" @click.stop="searchClubList">搜索</button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="club-main">
|
|
|
+ <view v-if="isEmpty" class="empty-container">
|
|
|
+ <image class="club-empty-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png" mode="aspectFit"></image>
|
|
|
+ <view class="txt">暂无机构数据</view>
|
|
|
+ </view>
|
|
|
+ <view v-else class="club-list">
|
|
|
+ <scroll-view scroll-y="true" >
|
|
|
+ <view class="list" v-for="(item, index) in clubList" :key="index">
|
|
|
+ <view class="list-logo">
|
|
|
+ <image :src="item.headpic ? item.headpic : 'https://static.caimei365.com/app/img/icon/icon-club@3x.png'" mode=""></image>
|
|
|
+ </view>
|
|
|
+ <view class="list-content">
|
|
|
+ <view class="list-name">{{item.userIdentity ===2 ? item.name : item.linkMan}}</view>
|
|
|
+ <view class="list-ntel">
|
|
|
+ <text class="list-link">{{item.linkMan ? item.linkMan : ''}}</text>
|
|
|
+ <text class="list-texl">{{item.contractMobile ? item.contractMobile : ''}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="list-opera">
|
|
|
+ <view class="btn yel" @click.stop="shareBindClub(item)">分享登录</view>
|
|
|
+ <!-- <button class="btn org" @click.stop="checkData(item)">修改资料</button> -->
|
|
|
+ <view class="btn gre" @click.stop="orderHistory(item)">删除</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!--加载loadding-->
|
|
|
+ <tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
|
|
|
+ <tui-nomore :visible="!pullUpOn" :backgroundColor="'#ffffff'" :text='nomoreText'></tui-nomore>
|
|
|
+ <!--加载loadding-->
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 分享弹窗 -->
|
|
|
+ <shareModel v-if="isShareModal" :orderID="shareClubUseId" @shareConfirm ='onShareAppMessage'></shareModel>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import authorize from '@/common/config/authorize.js'
|
|
|
+ import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
|
|
|
+ import tuiNomore from "@/components/tui-components/nomore/nomore"
|
|
|
+ import shareModel from '@/components/cm-module/modelAlert/shareModel.vue' //分享弹窗
|
|
|
+ export default {
|
|
|
+ components:{
|
|
|
+ tuiLoadmore,
|
|
|
+ tuiNomore,
|
|
|
+ shareModel
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ serviceProviderId:'',
|
|
|
+ isShowClose:false,
|
|
|
+ shareClubUseId:0,
|
|
|
+ searchInputVal:'',
|
|
|
+ isEmpty:false,
|
|
|
+ nomoreText: '上拉显示更多',
|
|
|
+ pageNum:1,
|
|
|
+ pageSize:10,
|
|
|
+ hasNextPage:false,
|
|
|
+ loadding: false,
|
|
|
+ pullUpOn: true,
|
|
|
+ pullFlag: true,
|
|
|
+ allowDataStatus:true,
|
|
|
+ wrapperHeight:'100%',
|
|
|
+ scrollHeight:'',
|
|
|
+ deleteAddressId:'',
|
|
|
+ currPage:'',//当前页面
|
|
|
+ prevPage:'',//上一个页面
|
|
|
+ tabCurrentIndex:0,
|
|
|
+ listStatus:1,
|
|
|
+ clubList:[],
|
|
|
+ isIphoneX:this.$store.state.isIphoneX,
|
|
|
+ isShareModal:false,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onLoad(){
|
|
|
+ this.setScrollHeight();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ setScrollHeight() {
|
|
|
+ // 窗口高度 - 底部距离
|
|
|
+ setTimeout(()=> {
|
|
|
+ const query = wx.createSelectorQuery().in(this);
|
|
|
+ query.selectAll('.add-btn').boundingClientRect();
|
|
|
+ query.exec(res => {
|
|
|
+ if(res[0][0]){
|
|
|
+ let winHeight = this.$api.getWindowHeight(),
|
|
|
+ eleTop = res[0][0].top - 1;
|
|
|
+ this.scrollHeight = eleTop;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }, 500)
|
|
|
+ },
|
|
|
+ searchClubList(){
|
|
|
+ this.pageNum=1
|
|
|
+ this.initclubList()
|
|
|
+ },
|
|
|
+ initclubList(){
|
|
|
+ let params = { searchWord:this.searchInputVal,pageNum:1,pageSize:this.pageSize }
|
|
|
+ this.SellerService.GetFindAllClubList(params).then(response =>{
|
|
|
+ let responseData = response.data
|
|
|
+ if(responseData.results&&responseData.results.length > 0){
|
|
|
+ this.isEmpty = false
|
|
|
+ this.hasNextPage = response.data.hasNextPage
|
|
|
+ this.clubList =responseData.results
|
|
|
+ this.pullFlag = false;
|
|
|
+ setTimeout(()=>{this.pullFlag = true;},500)
|
|
|
+ if(this.hasNextPage){
|
|
|
+ this.pullUpOn = false
|
|
|
+ this.nomoreText = '上拉显示更多'
|
|
|
+ }else{
|
|
|
+ this.pullUpOn = true
|
|
|
+ this.loadding = false
|
|
|
+ this.nomoreText = '已至底部'
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ this.isEmpty = true
|
|
|
+ }
|
|
|
+ }).catch(error =>{
|
|
|
+ this.$util.msg(error.msg,2000)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getOnReachBottomData(){
|
|
|
+ this.pageNum+=1
|
|
|
+ let params = {searchWord:this.searchInputVal,pageNum:this.pageNum,pageSize:this.pageSize }
|
|
|
+ this.SellerService.GetFindAllClubList(params).then(response =>{
|
|
|
+ let responseData = response.data
|
|
|
+ if(responseData.results&&responseData.results.length > 0){
|
|
|
+ this.hasNextPage = response.data.hasNextPage
|
|
|
+ this.clubList = this.clubList.concat(responseData.results)
|
|
|
+ this.pullFlag = false;// 防上拉暴滑
|
|
|
+ setTimeout(()=>{this.pullFlag = true;},500)
|
|
|
+ if(this.hasNextPage){
|
|
|
+ this.pullUpOn = false
|
|
|
+ this.nomoreText = '上拉显示更多'
|
|
|
+ }else{
|
|
|
+ this.pullUpOn = false
|
|
|
+ this.loadding = false
|
|
|
+ this.nomoreText = '已至底部'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }).catch(error =>{
|
|
|
+ this.$util.msg(error.msg,2000)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ shareBindClub(item){//分享登录
|
|
|
+ this.shareClubUseId = item.id
|
|
|
+ if(item.businessLicense){
|
|
|
+ this.shareIdentity = 2
|
|
|
+ }else{
|
|
|
+ this.shareIdentity = 4
|
|
|
+ }
|
|
|
+ this.isShareModal = true
|
|
|
+ },
|
|
|
+ onShowClose () {//输入框失去焦点时触发
|
|
|
+ if(this.searchInputVal != ''){
|
|
|
+ this.isShowClose = true
|
|
|
+ }else{
|
|
|
+ this.isShowClose = false
|
|
|
+ this.pageNum=1
|
|
|
+ this.initclubList()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ delInputText(){//清除输入框内容
|
|
|
+ this.searchInputVal = ''
|
|
|
+ this.isShowClose = false
|
|
|
+ this.pageNum=1
|
|
|
+ this.initclubList()
|
|
|
+ },
|
|
|
+ hidePhone(val){
|
|
|
+ let phone
|
|
|
+ if(val==null || val==""){
|
|
|
+ phone = ""
|
|
|
+ }else{
|
|
|
+ phone = this.$reg.hidePhone(val)
|
|
|
+ }
|
|
|
+ return phone
|
|
|
+ },
|
|
|
+ checkData (value){
|
|
|
+ let data;
|
|
|
+ if(value == null || value ==""){
|
|
|
+ data = ''
|
|
|
+ }else{
|
|
|
+ data = value
|
|
|
+ }
|
|
|
+ return data
|
|
|
+ },
|
|
|
+ desensitizationName(val){
|
|
|
+ let name = this.$reg.desensitizationName(val)
|
|
|
+ return name
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onShareAppMessage(res){//分享转发
|
|
|
+ this.isShareModal = false
|
|
|
+ if (res.from === 'button') {
|
|
|
+ // 来自页面内转发按钮
|
|
|
+ }
|
|
|
+ let path = `pages/login/binding?bindId=${this.shareClubUseId}&Identity=${this.shareIdentity}`
|
|
|
+ console.log(path)
|
|
|
+ return {
|
|
|
+ title: '您已注册采美365网,请点击登录',
|
|
|
+ path: path,
|
|
|
+ imageUrl:'https://static.caimei365.com/app/img/icon/icon-addShare@3x.png'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onReachBottom() {
|
|
|
+ if(this.hasNextPage){
|
|
|
+ this.loadding = true
|
|
|
+ this.pullUpOn = true
|
|
|
+ this.getOnReachBottomData()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ this.$api.getStorage().then(response =>{
|
|
|
+ this.serviceProviderId = response.serviceProviderId
|
|
|
+ this.pageNum = 1;
|
|
|
+ this.initclubList();
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang='scss'>
|
|
|
+ page {
|
|
|
+ height: auto;
|
|
|
+ }
|
|
|
+ page,.container{
|
|
|
+ /* padding-bottom: 120upx; */
|
|
|
+ background: #F7F7F7;
|
|
|
+ }
|
|
|
+ .container{
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+ .club-search{
|
|
|
+ height: 64rpx;
|
|
|
+ width: 702rpx;
|
|
|
+ padding: 24rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ z-index: 999;
|
|
|
+ .search-from{
|
|
|
+ width: 582rpx;
|
|
|
+ height: 64rpx;
|
|
|
+ background: #F7F7F7;
|
|
|
+ border-radius: 32rpx;
|
|
|
+ float: left;
|
|
|
+ position: relative;
|
|
|
+ .input{
|
|
|
+ width: 500rpx;
|
|
|
+ height: 64rpx;
|
|
|
+ float: left;
|
|
|
+ line-height: 64rpx;
|
|
|
+ color: $text-color;
|
|
|
+ font-size: $font-size-24;
|
|
|
+ }
|
|
|
+ .icon-iconfonticonfontsousuo1{
|
|
|
+ width: 64rpx;
|
|
|
+ height: 64rpx;
|
|
|
+ line-height: 64rpx;
|
|
|
+ text-align: center;
|
|
|
+ display: block;
|
|
|
+ font-size: $font-size-38;
|
|
|
+ float: left;
|
|
|
+ color: #999999;
|
|
|
+ }
|
|
|
+ .icon-shanchu1{
|
|
|
+ font-size: $font-size-32;
|
|
|
+ color: #999999;
|
|
|
+ position: absolute;
|
|
|
+ width: 64rpx;
|
|
|
+ height: 64rpx;
|
|
|
+ line-height: 64rpx;
|
|
|
+ text-align: center;
|
|
|
+ top: 0;
|
|
|
+ right: 0;
|
|
|
+ z-index: 10;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .search-btn{
|
|
|
+ width: 120rpx;
|
|
|
+ line-height: 64rpx;
|
|
|
+ text-align: center;
|
|
|
+ font-size: $font-size-28;
|
|
|
+ color: $color-system;
|
|
|
+ float: left;
|
|
|
+ background: #FFFFFF;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .club-main{
|
|
|
+ padding-top: 132rpx;
|
|
|
+ .list{
|
|
|
+ width: 100%;
|
|
|
+ height: 228rpx;
|
|
|
+ padding: 24rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #FFFFFF;
|
|
|
+ position: relative;
|
|
|
+ border-bottom: 1px solid #EBEBEB;
|
|
|
+ .list-logo{
|
|
|
+ width: 180rpx;
|
|
|
+ height: 180rpx;
|
|
|
+ float: left;
|
|
|
+ image{
|
|
|
+ width: 180rpx;
|
|
|
+ height: 180rpx;
|
|
|
+ border-radius: 8rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .list-content{
|
|
|
+ width: 498rpx;
|
|
|
+ height: 180rpx;
|
|
|
+ float: right;
|
|
|
+ .list-name{
|
|
|
+ width: 100%;
|
|
|
+ height: 50rpx;
|
|
|
+ float: left;
|
|
|
+ line-height: 50rpx;
|
|
|
+ text-align: left;
|
|
|
+ font-size: $font-size-26;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ .list-ntel{
|
|
|
+ width: 100%;
|
|
|
+ height: 50rpx;
|
|
|
+ float: left;
|
|
|
+ line-height: 50rpx;
|
|
|
+ text-align: left;
|
|
|
+ font-size: $font-size-26;
|
|
|
+ color: #666666;
|
|
|
+ .list-link{
|
|
|
+ display: inline-block;
|
|
|
+ float: left;
|
|
|
+ margin-right: 40rpx;
|
|
|
+ }
|
|
|
+ .list-texl{
|
|
|
+ display: inline-block;
|
|
|
+ float: left;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .list-opera{
|
|
|
+ width: 100%;
|
|
|
+ height: 60rpx;
|
|
|
+ display: flex;
|
|
|
+ color: #166CE1;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ float: left;
|
|
|
+ margin-top: 20rpx;
|
|
|
+ .btn{
|
|
|
+ width: 160rpx;
|
|
|
+ height: 60rpx;
|
|
|
+ line-height: 60rpx;
|
|
|
+ border-radius: 30rpx;
|
|
|
+ font-size: $font-size-24;
|
|
|
+ color: $text-color;
|
|
|
+ text-align: center;
|
|
|
+ margin:0 20rpx 0 0;
|
|
|
+ position: relative;
|
|
|
+ .opea-badge{
|
|
|
+ position: absolute;
|
|
|
+ right: -10rpx;
|
|
|
+ top: -20rpx;
|
|
|
+ }
|
|
|
+ &.org{
|
|
|
+ border: 1px solid #2769d5;
|
|
|
+ color: #2769d5;
|
|
|
+ }
|
|
|
+ &.gre{
|
|
|
+ border: 1px solid #e15616;
|
|
|
+ color: #e15616;
|
|
|
+ }
|
|
|
+ &.yel{
|
|
|
+ border: 1px solid #4ad04c;
|
|
|
+ color: #4ad04c;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|
|
|
+
|