|
- <template>
- <view class="box">
- <!-- 选择器 -->
- <view class="boxtittab">
- <view class="tabbox" @click="taptimeisshow">
- {{ timeText }}
- <u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
- </view>
- <view class="tabbox" @click="tapsoltishow">
- {{ sortText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
- </view>
- <view class="tabbox" @click="selectshow = true">
- {{ adviserText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
- </view>
- </view>
-
- <!-- 筛选后的数量 -->
- <view class="count" v-if="recordList.length > 0">
- 筛选结果:<text>{{totalRecords}} </text>条
- </view>
-
- <view class="content">
- <view v-if="recordList.length==0"
- style="width: 100%;height: 100%;display: flex;align-items: center;background: #FFFFFF;">
- <view style="width: 100%;padding-top: 200rpx;">
- <view style="width: 100%;text-align: center;">
- <image style="width: 220rpx;height: 200rpx;"
- src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image>
- </view>
- <view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
- </view>
- </view>
- <view v-if="recordList.length!=0" class="content-tips" v-for="(item,index) in recordList" :key='index'
- @click="tapThevisiting(item)">
- <view class="content-first">
- <view class="left">
- <!-- <view class="img">{{item.agentName.slice(0,1)}}</view> -->
- <view class="name">{{item.agentName}}</view>
- <view class="status" v-if="item.replaceReception==1">代接待</view>
- </view>
- <view class="right">
- <view class=""></view>
- </view>
- </view>
- <view class="content-sec">
- <view class="left">
- <view class="cus">客户:{{item.name || '--'}} |</view>
- <view class="arriveNum">{{item.visitRecord || "--"}}次到访</view>
- </view>
-
- </view>
- <view class="content-last">
- {{item.createTime}} | {{item.mm || '0'}} min
- </view>
- </view>
- </view>
-
-
- <!-- 选择顾问的选择框 -->
- <u-select v-model="selectshow" :list="freeList" @confirm="actionSelectCallback"></u-select>
- <u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
- <u-popup v-model="timeshow" mode="bottom">
- <view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(5, '接待时间')">
- 全部</view>
- <view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(0, '今天')">
- 今天</view>
- <view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(1, '昨天')">
- 昨天</view>
- <view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2, '近7天')">
- 近7天</view>
- <view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3, '近30天')">
- 近30天</view>
- <view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(4)">
- 自定义</view>
- </u-popup>
- <u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select>
- </view>
- </template>
-
- <script>
- export default {
- data() {
- return {
- // 筛选文字描述
- timeText: '接待时间',
- sortText: '排序',
- adviserText: '顾问',
- //
- orderBylist: [
- // {label:'全部',value:'0'},
- {
- label: '创建时间倒序',
- value: '1'
- },
- {
- label: '创建时间正序',
- value: '2'
- },
- {
- label: '接待时间倒序',
- value: '3'
- },
- {
- label: '接待时间正序',
- value: '4'
- },
- ],
- activeTotal: 5,
- selectshow: false,
- totalTimeShow: false,
- screen: {
- agentId: '', //顾问id
- record: '0',
- },
- totalRecords: '',
- freeList: [], //顾问
- recordList: [],
- buildingID: '',
- nextPage: 1,
- totalRecord: "",
- staTime: '',
- endtime: '',
- isnorefresh: '',
- activeTotal2: 0,
- timeshow: false,
- soltishow: false,
- orderBy: '',
- userInfo: {}
-
- }
- },
- onLoad(options) {
- this.isnorefresh = options.refresh;
- if (options.activeTotal) {
- this.activeTotal = options.activeTotal
- }
- if (options.staTime) {
- this.staTime = options.staTime;
- this.endtime = options.endtime;
- }
- },
- onShow() {
- this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
- if (this.isnorefresh == 'refresh') {
- this.buildingID = uni.getStorageSync('buildingID').id;
- this.recordList = [];
- this.nextPage = 1;
- this.getMyCustom()
- this.getFreeList();
- this.isnorefresh = '';
- }
- },
- onPullDownRefresh(){
- this.getMyCustom()
- setTimeout(function () {
- uni.stopPullDownRefresh();
- }, 1000);
- },
- onReachBottom() {
- if (this.totalRecord == this.nextPage) {
- uni.showToast({
- icon: 'none',
- title: '到底了',
- duration: 2000
- });
- return
- } else {
- this.nextPage += 1;
- this.getMyCustom();
- }
- },
- methods: {
- tapsoltishow() {
- this.soltishow = true;
- },
-
- taptimeisshow() {
- this.timeshow = true;
- },
- //选择标签
- selectCallback2(e) {
- this.orderBy = e[0].value;
- this.sortText = e[0].label
- this.nextPage = 1;
- this.recordList = [];
- this.getMyCustom();
- },
- //时间选择
- tabtimetap(index, text) {
- if (text) this.timeText = text
- this.timeshow = false;
- if (index == 4) {
- this.totalTimeShow = true;
- } else {
- this.activeTotal = index;
- this.staTime = '';
- this.endtime = '';
- this.nextPage = 1;
- this.recordList = [];
- this.getMyCustom();
- }
- },
- //自定义时间
- totalTimeChange(e) {
- this.staTime = e.startDate;
- this.endtime = e.endDate;
- this.activeTotal = 4;
- this.nextPage = 1;
- this.recordList = [];
- this.timeText = `${e.startDate}-${e.endDate}`
- this.getMyCustom();
- },
- tapThevisiting(item) {
- if (item.status == 0) {
- uni.showToast({
- icon: "none",
- title: "排队中"
- })
- return
- } else {
- const parames = {
- pageNum: 1,
- pageSize: 100,
- query: {
- customerId: item.id,
- }
- }
- var item = {
- bg: 0,
- customerId: item.id,
- }
- uni.setStorageSync("searchobj", item); //写入缓存
- this.$u.post("/corpus/findByPage", parames).then(res => {
- if (res == null) {
- uni.showToast({
- icon: "none",
- title: "暂无音频"
- })
- return
- } else {
- let newobj = res[0];
- if (res[0].merge == 0) {
- uni.navigateTo({
- url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"2"}`
- })
- } else {
- uni.navigateTo({
- url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"1"}`
- })
- }
- }
- })
- }
-
- },
- getMyCustom() {
- let dateType = 0;
- let orderBy = 0;
- if (this.activeTotal == 5) {
- dateType = null;
- } else if (this.activeTotal == 4) {
- dateType = null;
- } else {
- dateType = this.activeTotal;
- }
-
- if (this.orderBy == 0) {
- orderBy = null;
- } else {
- orderBy = this.orderBy;
- }
- var parames = {
- pageNum: this.nextPage,
- pageSize: 10,
- query: {
- projectId: this.buildingID,
- time: 1,
- staDate: this.staTime,
- endDate: this.endtime,
- taboo: 1,
- dateType: dateType,
- orderBy: orderBy
- }
- };
- if (this.screen.agentId) {
- parames.query.agentId = this.screen.agentId
- }
-
- this.$u.post("/customer/findbypage", parames).then(data => {
- var list = data.results || [];
- this.recordList = [...this.recordList, ...list];
- this.totalRecord = data.totalPage;
- this.totalRecords = data.totalRecord;
- })
- },
- //获取顾问列表
- getFreeList() {
- this.$u.get("/zkAgentPool/freeList?itemId=" + this.buildingID).then(res => {
- this.freeList = res;
- this.freeList.forEach(item => {
- item.label = item.name;
- item.value = item.agentId
- })
- })
- },
- //顾问确认
- actionSelectCallback(e) {
- this.screen.agentId = e[0].value;
- this.adviserText = e[0].label
- this.recordList = [];
- this.nextPage = 1;
- this.selectshow = false;
- this.getMyCustom();
- },
-
-
-
-
-
- },
- }
- </script>
-
- <style lang="scss" scoped>
- .box {
- width: 100%;
- height: 100%;
- background: #F8F8F8;
- }
-
- .timeview {
- height: 80rpx;
- line-height: 80rpx;
- width: 100%;
- text-align: center;
- border-bottom: 1px solid #F8F8F8;
- }
-
- //时间切换的样式
- .boxtittab {
- position: sticky;
- top: var(--window-top);
- width: 100;
- height: 92rpx;
- background: #FFFFFF;
- border: 1px solid #E0E0E0;
- display: flex;
- align-items: center;
-
- .tabbox {
- flex: 1;
- height: 100%;
- text-align: center;
- line-height: 92rpx;
- color: #666666;
- font-size: 28rpx;
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- /* 将对象作为弹性伸缩盒子模型显示 */
- -webkit-line-clamp: 1;
- /* 控制最多显示几行 */
- -webkit-box-orient: vertical;
- /* 设置或检索伸缩盒对象的子元素的排列方式 */
- }
- }
-
- .search-box {
- width: 100%;
- height: 102rpx;
- background: #FFFFFF;
- display: flex;
- align-items: center;
- justify-content: center;
-
- .search {
- width: 94%;
- height: 70rpx;
- display: flex;
- align-items: center;
- background: #F8F8F8;
- border-radius: 33rpx;
-
- .search-img {
- width: 26rpx;
- height: 30rpx;
- margin-left: 20rpx;
-
- .search-img1 {
- width: 100%;
- height: 100%;
- margin-top: 2rpx;
- }
- }
-
- .search-text {
- font-size: 28rpx;
- font-weight: 400;
- color: #999999;
- margin-left: 10rpx;
- }
- }
-
- .search-screen {
- width: 40rpx;
- height: 40rpx;
- margin-left: 30rpx;
-
- .search-screen1 {
- width: 100%;
- height: 100%;
- }
- }
- }
-
-
- .count {
- width: 100%;
- height: 90rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- background-color: #FBE4E4;
-
- text {
- color: #F71616;
- }
- }
-
- .content {
- .content-tips {
- background: #fff;
- padding: 0 20rpx;
- box-sizing: border-box;
- overflow: hidden;
- margin-top: 20rpx;
-
- .content-first {
- margin-top: 19rpx;
- display: flex;
- justify-content: space-between;
-
- .left {
- display: flex;
-
- .img {
- width: 52rpx;
- height: 52rpx;
- background: #FFFFFF;
- border: 1px solid #C9C9C9;
- border-radius: 50%;
- text-align: center;
- line-height: 52rpx;
- }
-
- .name {
- font-weight: 600;
- color: #333333;
- // margin-left: 20rpx;
- margin-top: 11rpx;
- }
-
- .status {
- width: 110rpx;
- height: 42rpx;
- background: #FFF9F5;
- border-radius: 4rpx;
- font-size: 26rpx;
- font-weight: 400;
- color: #EC8D49;
- line-height: 42rpx;
- text-align: center;
- margin-left: 19rpx;
- margin-top: 11rpx;
- }
- }
-
- .right {
- display: flex;
- margin-top: 11rpx;
-
- .point {
- width: 12rpx;
- height: 12rpx;
- background: #2B6EFF;
- border-radius: 50%;
- margin-right: 9rpx;
- margin-top: 16rpx;
-
- }
- }
- }
-
-
- .content-sec {
- display: flex;
- justify-content: space-between;
- margin-top: 19rpx;
-
- .left {
- display: flex;
-
- .cus {
- font-size: 30rpx;
- font-weight: 400;
- color: #666666;
- // line-height: 30rpx;
- }
-
- .arriveNum {
- font-size: 30rpx;
- font-weight: 400;
- // line-height: 30rpx;
- margin-left: 10rpx;
- }
- }
-
- .right {
- width: 120rpx;
- height: 46rpx;
- background: #F4F8FD;
- border-radius: 6rpx;
- text-align: center;
- line-height: 46rpx;
- font-weight: 400;
- color: #2671E2;
- }
- }
-
- .content-last {
- // margin: 30rpx 0;
- font-size: 30rpx;
- font-weight: 400;
- color: #666666;
- line-height: 30rpx;
- margin-top: 22rpx;
- margin-bottom: 30rpx;
- }
-
- }
- }
-
- // 这是弹出层
- .screen {
- // box-sizing: border-box;
- // padding: 0 30rpx;
- position: absolute;
-
- .screen-counselor {
- display: flex;
- height: 106rpx;
- // padding: 40rpx 30rpx 36rpx 30rpx;
- padding: 0 30rpx;
- box-sizing: border-box;
- border-bottom: 1px solid #EEEEEE;
-
- .screen-text {
- margin: 40rpx 0 36rpx 0;
- font-size: 30rpx;
- font-weight: 400;
- color: #333333;
- line-height: 30rpx;
- }
-
- .screen-sel {
- display: flex;
- justify-content: space-between;
- width: 500rpx;
- margin-left: 60rpx;
-
- .screen-sel-img {
- margin: 40rpx 0 36rpx 0;
- width: 14rpx;
- height: 30rpx;
- }
-
- .screen-inp {
- margin-top: 20rpx;
- }
- }
- }
-
- .screen-record {
- height: 192rpx;
- // width: 100%;
- overflow: hidden;
- padding: 0 30rpx;
- box-sizing: border-box;
- border-bottom: 1px solid #EEEEEE;
-
- .screen-record-text {
- margin-top: 36rpx;
- font-size: 30rpx;
- font-weight: 400;
- color: #333333;
- line-height: 30rpx;
- }
-
- .screen-record-tab {
- margin-top: 30rpx;
- display: flex;
-
- // justify-content: space-around;
- .screen-record-chose {
- width: 156rpx;
- height: 60rpx;
- background: #2671E2;
- border-radius: 4rpx;
- border: 1px solid #2671E2;
- text-align: center;
- line-height: 60rpx;
- margin-right: 22rpx;
- color: #FFFFFF;
- }
-
- .screen-record-nochose {
- width: 156rpx;
- height: 60rpx;
- background: #FFFFFF;
- border-radius: 4rpx;
- border: 1px solid #C9C9C9;
- text-align: center;
- line-height: 60rpx;
- margin-right: 22rpx;
- }
-
- }
- }
-
- .screen-foot {
- width: 100%;
- height: 100rpx;
- display: flex;
-
- .screen-foot-reset {
- width: 50%;
- text-align: center;
- height: 100rpx;
- line-height: 100rpx;
- font-size: 30rpx;
- font-weight: 400;
- color: #666666;
- }
-
- .screen-foot-sure {
- width: 50%;
- text-align: center;
- line-height: 100rpx;
- height: 100rpx;
- font-size: 30rpx;
- font-weight: 400;
- color: #FFFFFF;
- background: #2671E2;
- }
- }
- }
- </style>
|