<template> 
 | 
    <view> 
 | 
        <view class="status_bar"> 
 | 
            <!-- 这里是状态栏 --> 
 | 
        </view> 
 | 
        <uni-nav-bar left-icon="left" title="客户信息" @clickLeft="back" @clickRight="scan" :fixed="true" 
 | 
            :border="false" rightWidth="160rpx" leftWidth="160rpx" 
 | 
            > 
 | 
            <block slot="right"> 
 | 
                <view class="city"> 
 | 
                    <view> 
 | 
                        <text class="uni-nav-bar-text">{{user.username}}</text> 
 | 
                    </view> 
 | 
                    <uni-icons type="arrowdown" color="#333333" size="20" /> 
 | 
                </view> 
 | 
            </block> 
 | 
         </uni-nav-bar> 
 | 
        <!-- 搜索框 --> 
 | 
        <view class="search-bg"> 
 | 
            <u-search placeholder="客户代号/名称" v-model="keyword" :clearabled="true" @custom="search()" @search="search()"></u-search> 
 | 
        </view> 
 | 
        <view> 
 | 
            <!-- 客户列表 --> 
 | 
            <view class="c-list" @click="getDetails(item.id)" v-for="(item,index) in csmtrList" :key="index"> 
 | 
                <view class="titles"> 
 | 
                    <y-title :title="item.name"></y-title><view></view> 
 | 
                </view> 
 | 
                <view style="display: grid;grid-template-columns: 1fr 3fr;"> 
 | 
                    <view class="list-item1">客户代号</view><view class="list-item2">{{item.uuid}}</view> 
 | 
                    <view class="list-item1">详细地址</view><view class="list-item2">{{item.addr}}</view> 
 | 
                    <view class="list-item1">电话</view><view class="list-item2">{{item.tel}}</view> 
 | 
                    <view class="list-item1">备注</view><view class="list-item2">{{item.remarks  ? item.remarks : '--'}}</view> 
 | 
                    <view class="list-item1">客户类别</view><view class="list-item2">{{item.cstmrType$}}</view> 
 | 
                    <view class="list-item1">创建人</view><view class="list-item2">{{item.createBy$}}</view> 
 | 
                    <view class="list-item1">创建时间</view><view class="list-item2">{{item.createTime$}}</view> 
 | 
                </view> 
 | 
            </view> 
 | 
        </view> 
 | 
        <!-- <uni-load-more :status="status" :icon-size="16" :content-text="contentText" /> --> 
 | 
        <u-empty v-if="true" icon="../../../static/image/emptyList.png" v-show="csmtrList.length <= 0" /> 
 | 
         
 | 
        <view class="fxbtn"> 
 | 
            <uni-icons type="plusempty" color="#fff" @click="add()" ></uni-icons> 
 | 
        </view> 
 | 
         
 | 
         
 | 
        <!-- 接取窗口 --> 
 | 
        <view> 
 | 
            <uni-popup ref="inputDialog" type="dialog"> 
 | 
                <view class="popup"> 
 | 
                    <!-- 标题 --> 
 | 
                    <view class="desc">接取</view> 
 | 
                    <scroll-view scroll-y="true" style="height: 23vh;touch-action: none;"> 
 | 
                        <!-- <view style="display: flex;justify-content: center;margin: 8px;align-items: center;" v-for="item in csmtrs"> 
 | 
                            <checkbox style="flex: 1;display: flex;justify-content: flex-end;"></checkbox> 
 | 
                            <view style="flex: 4;">{{item.name}}</view> 
 | 
                        </view> --> 
 | 
                        <view class="u-demo-block__content" style="margin-left: 12rpx;"> 
 | 
                            <view class="u-page__radio-item"> 
 | 
                                <u-radio-group v-model="radiovalue2" placement="column" shape="square" > 
 | 
                                    <u-radio 
 | 
                                        :customStyle="{marginBottom: '8px'}" 
 | 
                                        v-for="(item, index) in csmtrs" 
 | 
                                        :key="index" 
 | 
                                        :label="item.name" 
 | 
                                        :name="item.name" 
 | 
                                    > 
 | 
                                    </u-radio> 
 | 
                                </u-radio-group> 
 | 
                            </view> 
 | 
                        </view> 
 | 
                    </scroll-view> 
 | 
                    <view class="btn"> 
 | 
                        <view class="btn-left" @click="close">取消</view> 
 | 
                        <view class="btn-right" @click="confirm">确认</view> 
 | 
                    </view> 
 | 
                     
 | 
                </view> 
 | 
            </uni-popup> 
 | 
        </view> 
 | 
        <view style="height: 10rpx;"></view> 
 | 
    </view> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
    import user from '@/pages/api/user/user.js' 
 | 
    export default {  
 | 
        data() { 
 | 
            return { 
 | 
                keyword: '', 
 | 
                user: { 
 | 
                    username: '', 
 | 
                    id: 0, 
 | 
                    type: 'user_id' 
 | 
                }, 
 | 
                falg: true, 
 | 
                csmtrList: [], 
 | 
                csmtrs: [], 
 | 
                last_id: '', 
 | 
                userid: 0, 
 | 
                reload: false, 
 | 
                status: 'more', 
 | 
                curr:2, 
 | 
                contentText: { 
 | 
                    contentdown: '上拉加载更多', 
 | 
                    contentrefresh: '加载中', 
 | 
                    contentnomore: '没有更多' 
 | 
                }, 
 | 
                radiovalue2: '', 
 | 
            } 
 | 
        }, 
 | 
        // 新建按钮事件 
 | 
        onNavigationBarButtonTap(e) { 
 | 
            uni.navigateTo({ 
 | 
                url:'/pages/business/cstmr/addCsmtr', 
 | 
            }) 
 | 
             
 | 
        }, 
 | 
        onShow() { 
 | 
            let that = this 
 | 
            uni.$on('isRefresh',function(data){ 
 | 
                that.user.username = data.title 
 | 
                that.user.id = data.id 
 | 
                that.user.type = data.key 
 | 
                that.falg = false 
 | 
            }) 
 | 
            if (this.falg) { 
 | 
                this.getDetail() 
 | 
            } 
 | 
            setTimeout(()=> { 
 | 
                this.getCsmtr1() 
 | 
            },50) 
 | 
             
 | 
        }, 
 | 
        onReachBottom() { 
 | 
            this.status = 'more'; 
 | 
            this.getCsmtr() 
 | 
        }, 
 | 
        methods: { 
 | 
            async getDetail() { 
 | 
                let res = await user.getDetail() 
 | 
                if (res.code === 200) { 
 | 
                    this.user.username = res.data.username 
 | 
                    this.user.id = res.data.id 
 | 
                } else if (res.code === 403) { 
 | 
                    this.backLogin(res) 
 | 
                } 
 | 
            }, 
 | 
            open() { 
 | 
                this.show = true  
 | 
            }, 
 | 
            add() { 
 | 
                let _this = this 
 | 
                uni.request({ 
 | 
                    url: `${_this.baseUrl}/cstmr2/all/get/kv`, 
 | 
                    header: {'token' : uni.getStorageSync('token')}, 
 | 
                    method: 'POST', 
 | 
                    success(res) { 
 | 
                        res = res.data 
 | 
                        if (res.data) { 
 | 
                            _this.csmtrs = res.data 
 | 
                        } 
 | 
                    } 
 | 
                }) 
 | 
                this.$refs.inputDialog.open() 
 | 
            }, 
 | 
            close() { 
 | 
                this.$refs.inputDialog.close() 
 | 
            }, 
 | 
            confirm() { 
 | 
                let _this = this 
 | 
                uni.request({ 
 | 
                    url: `${_this.baseUrl}/cstmr2/add/auth`, 
 | 
                    header: { 
 | 
                        'token' : uni.getStorageSync('token'), 
 | 
                        'content-type':'application/x-www-form-urlencoded', 
 | 
                        }, 
 | 
                    method: 'POST', 
 | 
                    data: {name: _this.radiovalue2}, 
 | 
                    success(res) { 
 | 
                        res = res.data 
 | 
                        if (res.code === 200) { 
 | 
                            _this.csmtrList = [] 
 | 
                            setTimeout(()=> { 
 | 
                                _this.getCsmtr1() 
 | 
                            },100) 
 | 
                        } 
 | 
                    } 
 | 
                }) 
 | 
                this.$refs.inputDialog.close() 
 | 
            }, 
 | 
            getUserTree() { 
 | 
                let _this = this 
 | 
                uni.request({ 
 | 
                    url: `${that.baseUrl}/dept/user/tree/auth`, 
 | 
                    method: 'POST', 
 | 
                    header: {'token' : uni.getStorageSync('token'),}, 
 | 
                }).then((res)=>{ 
 | 
                }) 
 | 
            }, 
 | 
            back() { 
 | 
                uni.navigateBack({ 
 | 
                }) 
 | 
            }, 
 | 
            scan() { 
 | 
                uni.navigateTo({ 
 | 
                    url: '/pages/authority/authority' 
 | 
                }) 
 | 
            }, 
 | 
            getCsmtr1(e) { 
 | 
                let that = this 
 | 
                that.csmtrList = [] 
 | 
                let param = {curr:1,limit:4,dept_id: 0,user_id: 67} 
 | 
                if (this.user.type == 'user_id') { 
 | 
                    param = {curr:1,limit:4,user_id: that.user.id} 
 | 
                } else { 
 | 
                    param = {curr:1,limit:4,dept_id: that.user.id} 
 | 
                } 
 | 
                uni.request({ 
 | 
                    url: that.baseUrl + '/cstmr2/page/auth', 
 | 
                    header: {'token' : uni.getStorageSync('token'),}, 
 | 
                    data: param, 
 | 
                    method:'GET', 
 | 
                    success(result) { 
 | 
                        if (result.statusCode ===  404) { 
 | 
                            uni.showToast({title: '请重新登录', icon: "none", position: 'top'}) 
 | 
                            return 
 | 
                        } 
 | 
                        var res = result.data 
 | 
                        if (res.code === 200) { 
 | 
                            let list = res.data.records 
 | 
                            that.csmtrList = that.reload ? list : that.csmtrList.concat(list); 
 | 
                            if (res.data.records.length == 0) { 
 | 
                                that.status = 'noMore' 
 | 
                            } 
 | 
                        } else if (res.code === 403) { 
 | 
                            uni.showToast({title: res.msg, icon: "none", position: 'top'}) 
 | 
                            setTimeout(() => { 
 | 
                                uni.reLaunch({ 
 | 
                                    url: '../../login/login' 
 | 
                                }); 
 | 
                            }, 1000); 
 | 
                        } else { 
 | 
                            uni.showToast({title: res.msg, icon: "none",position: 'top'}) 
 | 
                        } 
 | 
                    }, 
 | 
                    fail(result) { 
 | 
                        uni.showToast({title: '请求失败'}) 
 | 
                        setTimeout(() => { 
 | 
                            uni.reLaunch({ 
 | 
                                url: '../../login/login' 
 | 
                            }); 
 | 
                        }, 1000); 
 | 
                    }, 
 | 
                }) 
 | 
            }, 
 | 
            getCsmtr() { 
 | 
                let that = this 
 | 
                let param = {curr:that.curr,limit:4,dept_id: 0,user_id: 67} 
 | 
                if (this.user.type == 'user_id') { 
 | 
                    param = {curr:that.curr,limit:4,user_id: that.user.id} 
 | 
                } else { 
 | 
                    param = {curr:that.curr,limit:4,dept_id: that.user.id} 
 | 
                } 
 | 
                uni.request({ 
 | 
                    url: that.baseUrl + '/cstmr2/page/auth', 
 | 
                    header: {'token' : uni.getStorageSync('token'),}, 
 | 
                    data: param, 
 | 
                    method:'GET', 
 | 
                    success(result) { 
 | 
                        if (result.statusCode ===  404) { 
 | 
                            uni.showToast({title: '请重新登录', icon: "none", position: 'top'}) 
 | 
                            return 
 | 
                        } 
 | 
                        var res = result.data 
 | 
                        if (res.code === 200) { 
 | 
                            let list = res.data.records 
 | 
                            that.csmtrList = that.reload ? list : that.csmtrList.concat(list); 
 | 
                            that.curr = that.curr + 1 
 | 
                            if (res.data.records.length == 0) { 
 | 
                                that.status = 'noMore' 
 | 
                            } 
 | 
                        } else if (res.code === 403) { 
 | 
                            uni.showToast({title: res.msg, icon: "none", position: 'top'}) 
 | 
                            setTimeout(() => { 
 | 
                                uni.reLaunch({ 
 | 
                                    url: '../../login/login' 
 | 
                                }); 
 | 
                            }, 1000); 
 | 
                        } else { 
 | 
                            uni.showToast({title: res.msg, icon: "none",position: 'top'}) 
 | 
                        } 
 | 
                    }, 
 | 
                    fail(result) { 
 | 
                        uni.showToast({title: '请求失败'}) 
 | 
                        setTimeout(() => { 
 | 
                            uni.reLaunch({ 
 | 
                                url: '../../login/login' 
 | 
                            }); 
 | 
                        }, 1000); 
 | 
                    }, 
 | 
                }) 
 | 
            }, 
 | 
            getDetails(id) { 
 | 
                uni.navigateTo({ 
 | 
                    url: `/pages/business/cstmr/cstmrDetails?id=${id}&type=info` 
 | 
                }) 
 | 
            }, 
 | 
            // --- 
 | 
            search() { 
 | 
                 
 | 
            }, 
 | 
            backLogin(res) { 
 | 
                uni.showToast({title: res.msg, icon: "none", position: 'top'}) 
 | 
                setTimeout(() => { 
 | 
                    uni.reLaunch({ 
 | 
                        url: '../login/login' 
 | 
                    }); 
 | 
                }, 1000); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
</script> 
 | 
  
 | 
<style> 
 | 
    .status_bar { 
 | 
        height: var(--status-bar-height); 
 | 
        width: 100%; 
 | 
        background-color: #FFF; 
 | 
    } 
 | 
    .city { 
 | 
        display: flex; 
 | 
        align-items: center; 
 | 
    } 
 | 
    .uni-nav-bar-text { 
 | 
        font-size: 12px; 
 | 
    } 
 | 
    .c-list { 
 | 
        width: 96%; 
 | 
        min-height: 100rpx; 
 | 
        background-color: #fff; 
 | 
        border-radius: 10rpx; 
 | 
        margin: 20rpx 2% 0 2%; 
 | 
        /* display: flex; 
 | 
        flex-direction: column; */ 
 | 
        font-size: 24rpx; 
 | 
    } 
 | 
    /* 父view 换 scroll-view */ 
 | 
    .c-list:last-child { 
 | 
        margin-bottom: 20px; 
 | 
    } 
 | 
    .list-item1 { 
 | 
         
 | 
        height: 45rpx; 
 | 
        line-height: 45rpx; 
 | 
        color: #909399; 
 | 
        text-indent: 30rpx; 
 | 
    } 
 | 
    .list-item2 { 
 | 
        height: 45rpx; 
 | 
        line-height: 45rpx; 
 | 
        color: black; 
 | 
    } 
 | 
    .titles { 
 | 
        padding-left: 10rpx; 
 | 
        /* text-indent: 5rpx; */ 
 | 
        margin-top: 10rpx; 
 | 
    } 
 | 
    /* .title { 
 | 
        height: 60rpx; 
 | 
        line-height: 70rpx; 
 | 
        font-size: 28rpx; 
 | 
        font-weight: 900; 
 | 
        color: #303133; 
 | 
    } */ 
 | 
    .fxbtn { 
 | 
        position: fixed; 
 | 
        bottom: 50px; 
 | 
        right: 10px; 
 | 
        width: 40px; 
 | 
        height: 40px; 
 | 
        background-color: #46a7ff; 
 | 
        color: #FFF; 
 | 
        display: flex; 
 | 
        align-items: center; 
 | 
        justify-content: center; 
 | 
        border-radius: 50%; 
 | 
         
 | 
    } 
 | 
    .popup { 
 | 
        width: 80vw; 
 | 
        min-height: 100rpx; 
 | 
        background-color: #FFF; 
 | 
        border-radius: 25rpx; 
 | 
    } 
 | 
    .desc { 
 | 
        height: 100rpx; 
 | 
        line-height: 100rpx; 
 | 
        width: 100%; 
 | 
        color: #606266; 
 | 
        text-align: center; 
 | 
        font-size: 16px; 
 | 
    } 
 | 
    .btn { 
 | 
        display: flex; 
 | 
        height: 90rpx; 
 | 
        margin-top: 20rpx; 
 | 
        border-top: 1px solid #DCDFE6; 
 | 
        justify-content: center; 
 | 
        align-items: center; 
 | 
    } 
 | 
    .btn-left { 
 | 
        display: flex; 
 | 
        flex: 1; 
 | 
        height: 100%; 
 | 
        justify-content: center; 
 | 
        align-items: center; 
 | 
        color: #606266; 
 | 
        border-right: 1px solid #DCDFE6; 
 | 
    } 
 | 
    .btn-right { 
 | 
        display: flex; 
 | 
        flex: 1; 
 | 
        justify-content: center; 
 | 
        align-items: center; 
 | 
        color: #409EFF; 
 | 
    } 
 | 
</style> 
 |