<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>
|