Browse Source

发活动接口更换

message
douzhuo 2 years ago
parent
commit
2c1e4cf2be
5 changed files with 309 additions and 341 deletions
  1. +2
    -2
      manifest.json
  2. +302
    -332
      pages/center/consumer/consumerSearch.vue
  3. +3
    -5
      pages/center/prohibited/details.vue
  4. +1
    -1
      pages/center/prohibited/index.vue
  5. +1
    -1
      pages/center/records/index.vue

+ 2
- 2
manifest.json View File

@@ -1,5 +1,5 @@
{ {
"name" : "AI销讲助手",
"name" : "AI销",
"appid" : "__UNI__7A1611D", "appid" : "__UNI__7A1611D",
"description" : "AI销讲助手", "description" : "AI销讲助手",
"versionName" : "1.1.0", "versionName" : "1.1.0",
@@ -72,7 +72,7 @@
}, },
"quickapp" : {}, "quickapp" : {},
"mp-weixin" : { "mp-weixin" : {
"appid" : "wx83fec12ec03d9349",
"appid" : "wxd6dd7eae72606ca2",
"setting" : { "setting" : {
"urlCheck" : false, "urlCheck" : false,
"es6" : true, "es6" : true,


+ 302
- 332
pages/center/consumer/consumerSearch.vue View File

@@ -1,376 +1,346 @@
<template> <template>
<view class="box">
<view class="search-box">
<u-search
class="search-boxs"
placeholder="请输入"
v-model="keyword"
action-text="搜索"
:show-action="true"
@search="searchinfo"
@custom="searchinfo"
></u-search>
</view>
<!-- 搜索结果 -->
<view class="search-result" v-if="recordList.length > 0">
筛选结果:<text class="result-num">{{ recordList.length + 1 }}</text
>条
</view>
<view class="content">
<view
class="content-tips"
v-for="(item, index) in recordList"
:key="index"
@click="gotoDetail(item.id)"
>
<view class="content-first">
<view class="left">
<template v-if="item.level > 0">
<view class="img">{{ item.level | levelText }}</view>
</template>
<view class="test">{{ item.name }}</view>
</view>
<view class="right">
{{ item.fraction || "0" }}%
<image
class="right-img"
src="../../../static/images/arrow-right.png"
mode=""
></image>
</view>
</view>
<view class="box">
<view class="search-box">
<u-search class="search-boxs" placeholder="请输入" v-model="keyword" action-text="搜索" :show-action="true"
@search="searchinfo" @custom="searchinfo"></u-search>
</view>
<!-- 搜索结果 -->
<view class="search-result" v-if="recordList.length > 0">
筛选结果:<text class="result-num">{{ totalRecord }}</text>条
</view>
<view class="content">
<view class="content-tips" v-for="(item, index) in recordList" :key="index" @click="gotoDetail(item.id)">
<view class="content-first">
<view class="left">
<template v-if="item.level > 0">
<view class="img">{{ item.level | levelText }}</view>
</template>
<view class="test">{{ item.name }}</view>
</view>
<view class="right">
{{ item.fraction || "0" }}%
<image class="right-img" src="../../../static/images/arrow-right.png" mode=""></image>
</view>
</view>


<view class="content-sec">
<view class="content-sec-lab">
客户手机:<view class="content-sec-lab1">{{
<view class="content-sec">
<view class="content-sec-lab">
客户手机:<view class="content-sec-lab1">{{
item.phone | phoneText item.phone | phoneText
}}</view> }}</view>
</view>
</view>


<view class="content-sec-lab">
负责顾问:<view class="content-sec-lab1">{{ item.agentName }}</view>
</view>
<view class="content-sec-lab">
负责顾问:<view class="content-sec-lab1">{{ item.agentName }}</view>
</view>


<view class="content-sec-lab" style="line-height: 46rpx">
客户意向:
<text v-if="item.demand.cusSemanticWordsList == null">暂无</text>
<template v-else>
<block
v-for="(che, ind) in item.demand.cusSemanticWordsList"
:key="ind"
>
<view class="content-sec-tips">{{ che.name }}</view>
</block>
</template>
</view>
<view class="content-sec-lab" style="line-height: 46rpx">
客户意向:
<text v-if="item.demand.cusSemanticWordsList == null">暂无</text>
<template v-else>
<block v-for="(che, ind) in item.demand.cusSemanticWordsList" :key="ind">
<view class="content-sec-tips">{{ che.name }}</view>
</block>
</template>
</view>


<view class="content-sec-lab">
添加时间:<view class="content-sec-lab1">{{
<view class="content-sec-lab">
添加时间:<view class="content-sec-lab1">{{
item.createTime | formatTime item.createTime | formatTime
}}</view> }}</view>
</view>
<view class="content-sec-num">
<view class=""
>{{ item.visitRecord || "--" }}次到访 | {{ item.mm || "0"
}}<text style="font-size: 24rpx">min</text></view
>
</view>
</view>
</view>
</view>
<view class="content-sec-num">
<view class="">{{ item.visitRecord || "--" }}次到访 | {{ item.mm || "0"
}}<text style="font-size: 24rpx">min</text></view>
</view>
</view>
</view>


<template v-if="recordList.length == 0">
<view
style="width: 100%; height: 100%; display: flex; align-items: center"
>
<view style="width: 100%; height: 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="
<template v-if="recordList.length == 0">
<view style="width: 100%; height: 100%; display: flex; align-items: center">
<view style="width: 100%; height: 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; text-align: center;
width: 100%; width: 100%;
margin-top: 20rpx; margin-top: 20rpx;
color: #999999; color: #999999;
"
>暂无数据</view
>
</view>
</view>
</template>
</view>
</view>
">暂无数据</view>
</view>
</view>
</template>
</view>
</view>
</template> </template>


<script> <script>
export default {
data() {
return {
keyword: "",
recordList: [],
nextPage: 1,
totalRecord: "",
buildingID: "",
permissions: {
commonly1: false,
},
};
},
onShow() {
let newmenulist = uni.getStorageSync("weapp_session_Menu_data");
this.permissions.commonly1 = newmenulist.khgl_ck;
this.buildingID = uni.getStorageSync("buildingID").id;
this.nextPage = 1;
this.recordList = [];
},
onReachBottom() {
if (this.totalRecord == this.nextPage) {
uni.showToast({
icon: "none",
title: "到底了",
duration: 2000,
});
return;
} else {
this.nextPage += 1;
this.getMyCustom();
}
},
methods: {
// 客户详情
gotoDetail(id) {
if (this.permissions.commonly1 == true) {
uni.navigateTo({
url: `/pages/center/consumer/consumerDetail?id=${id}`,
});
}
},
searchinfo() {
this.nextPage = 1;
this.recordList = [];
this.getMyCustom();
},
getMyCustom() {
var parames = {
pageNum: this.nextPage,
pageSize: 10,
query: {
projectId: this.buildingID,
nameOrPhone: this.keyword,
},
};
this.$u.post("/customer/customerManagement", parames).then((data) => {
var list = data.results || [];
export default {
data() {
return {
keyword: "",
recordList: [],
nextPage: 1,
totalRecord: "",
buildingID: "",
permissions: {
commonly1: false,
},
};
},
onShow() {
let newmenulist = uni.getStorageSync("weapp_session_Menu_data");
this.permissions.commonly1 = newmenulist.khgl_ck;
this.buildingID = uni.getStorageSync("buildingID").id;
this.nextPage = 1;
this.recordList = [];
},
onReachBottom() {
if (this.totalRecord == this.nextPage) {
uni.showToast({
icon: "none",
title: "到底了",
duration: 2000,
});
return;
} else {
this.nextPage += 1;
this.getMyCustom();
}
},
methods: {
// 客户详情
gotoDetail(id) {
if (this.permissions.commonly1 == true) {
uni.navigateTo({
url: `/pages/center/consumer/consumerDetail?id=${id}`,
});
}
},
searchinfo() {
this.nextPage = 1;
this.recordList = [];
this.getMyCustom();
},
getMyCustom() {
var parames = {
pageNum: this.nextPage,
pageSize: 10,
query: {
projectId: this.buildingID,
nameOrPhone: this.keyword,
},
};
this.$u.post("/customer/customerManagement", parames).then((data) => {
var list = data.results || [];


list.forEach((item) => {
if (item.demand.cusSemanticWordsList != null) {
item.demand.cusSemanticWordsList.forEach((che) => {
if (che.isInterval == 0) {
che.name = che.name + che.unit + "-" + che.endName + che.unit;
}
});
}
});
this.recordList = [...this.recordList, ...list];
this.totalRecord = data.totalPage;
});
},
},
list.forEach((item) => {
if (item.demand.cusSemanticWordsList != null) {
item.demand.cusSemanticWordsList.forEach((che) => {
if (che.isInterval == 0) {
che.name = che.name + che.unit + "-" + che.endName + che.unit;
}
});
}
});
this.recordList = [...this.recordList, ...list];
this.totalRecord = data.totalRecord;
});
},
},


filters: {
// 筛选等级展示文字
levelText(level) {
let str = "";
switch (Number(level)) {
case 1:
str = "A";
break;
case 2:
str = "A";
break;
case 3:
str = "A";
break;
case 4:
str = "A";
break;
default:
str = "";
break;
}
return str;
},
filters: {
// 筛选等级展示文字
levelText(level) {
let str = "";
switch (Number(level)) {
case 1:
str = "A";
break;
case 2:
str = "A";
break;
case 3:
str = "A";
break;
case 4:
str = "A";
break;
default:
str = "";
break;
}
return str;
},


// 加密手机
phoneText(mobile) {
if (!mobile) return "--";
return mobile.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2");
},
// 加密手机
phoneText(mobile) {
if (!mobile) return "--";
return mobile.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2");
},


// 格式化时间
formatTime(time) {
if (!time) return;
return time.substring(5, time.length);
},
},
};
// 格式化时间
formatTime(time) {
if (!time) return;
return time.substring(5, time.length);
},
},
};
</script> </script>


<style lang="scss" scoped> <style lang="scss" scoped>
.box {
width: 100%;
min-height: calc(100vh - var(--window-top));
background: #f8f8f8;
.box {
width: 100%;
min-height: calc(100vh - var(--window-top));
background: #f8f8f8;


.search-box {
width: 100%;
height: 102rpx;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
.search-box {
width: 100%;
height: 102rpx;
background: #fff;
display: flex;
align-items: center;
justify-content: center;


.search-boxs {
width: 686rpx;
}
}
.search-boxs {
width: 686rpx;
}
}


.search-result {
width: 100%;
height: 78rpx;
display: flex;
align-items: center;
justify-content: center;
background: #f4f8fd;
.search-result {
width: 100%;
height: 78rpx;
display: flex;
align-items: center;
justify-content: center;
background: #f4f8fd;


.result-num {
font-size: 30rpx;
color: #2671e2;
}
}
}
.result-num {
font-size: 30rpx;
color: #2671e2;
}
}
}


.content {
padding: 0 0 20rpx 0;
.content {
padding: 0 0 20rpx 0;


.content-tips {
margin-top: 20rpx;
background: #fff;
.content-tips {
margin-top: 20rpx;
background: #fff;


.content-first {
padding: 19rpx 30rpx;
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
color: #292929;
height: 90rpx;
font-size: 30rpx;
.content-first {
padding: 19rpx 30rpx;
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
color: #292929;
height: 90rpx;
font-size: 30rpx;


.left {
display: flex;
align-items: center;
.left {
display: flex;
align-items: center;


.img {
width: 52rpx;
height: 52rpx;
border: 1px solid #e0e0e0;
border-radius: 50%;
text-align: center;
line-height: 50rpx;
margin-right: 20rpx;
}
.img {
width: 52rpx;
height: 52rpx;
border: 1px solid #e0e0e0;
border-radius: 50%;
text-align: center;
line-height: 50rpx;
margin-right: 20rpx;
}


.test {
font-weight: 500;
color: #333333;
}
}
.test {
font-weight: 500;
color: #333333;
}
}


.right {
display: flex;
align-items: center;
color: #2671e2;
font-size: 30rpx;
.right {
display: flex;
align-items: center;
color: #2671e2;
font-size: 30rpx;


.right-img {
margin: 5rpx 0 0 10rpx;
width: 14rpx;
height: 30rpx;
}
}
}
.right-img {
margin: 5rpx 0 0 10rpx;
width: 14rpx;
height: 30rpx;
}
}
}


.content-sec {
border-top: 1px solid #e0e0e0;
padding: 0 30rpx;
padding-bottom: 30rpx;
position: relative;
.content-sec {
border-top: 1px solid #e0e0e0;
padding: 0 30rpx;
padding-bottom: 30rpx;
position: relative;


.content-sec-lab {
margin-top: 30rpx;
display: flex;
font-size: 30rpx;
font-weight: 400;
color: #666666;
line-height: 46rpx;
.content-sec-lab {
margin-top: 30rpx;
display: flex;
font-size: 30rpx;
font-weight: 400;
color: #666666;
line-height: 46rpx;


.content-sec-lab1 {
color: #333333;
}
.content-sec-lab1 {
color: #333333;
}


.content-sec-tips {
max-width: 160rpx;
height: 46rpx;
background: #f2f2f2;
border-radius: 6rpx;
text-align: center;
line-height: 26rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 26rpx;
font-weight: 400;
color: #333333;
margin-right: 20rpx;
box-sizing: border-box;
padding: 10rpx 24rpx;
}
}
.content-sec-tips {
max-width: 160rpx;
height: 46rpx;
background: #f2f2f2;
border-radius: 6rpx;
text-align: center;
line-height: 26rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 26rpx;
font-weight: 400;
color: #333333;
margin-right: 20rpx;
box-sizing: border-box;
padding: 10rpx 24rpx;
}
}


.content-sec-num {
position: absolute;
bottom: 25rpx;
right: 30rpx;
padding: 3rpx 12rpx;
background: #f4f8fd;
border-radius: 6rpx;
color: #2671e2;
line-height: 45rpx;
text-align: center;
}
}
.content-sec-num {
position: absolute;
bottom: 25rpx;
right: 30rpx;
padding: 3rpx 12rpx;
background: #f4f8fd;
border-radius: 6rpx;
color: #2671e2;
line-height: 45rpx;
text-align: center;
}
}


.content-last {
display: flex;
border-top: 1px solid #e0e0e0;
// padding: 0 30rpx;
height: 78rpx;
.content-last {
display: flex;
border-top: 1px solid #e0e0e0;
// padding: 0 30rpx;
height: 78rpx;


.content-last-tab {
width: 33.4%;
text-align: center;
font-size: 30rpx;
font-weight: 400;
color: #333333;
line-height: 78rpx;
border-right: 1px solid #e0e0e0;
}
}
}
}
.content-last-tab {
width: 33.4%;
text-align: center;
font-size: 30rpx;
font-weight: 400;
color: #333333;
line-height: 78rpx;
border-right: 1px solid #e0e0e0;
}
}
}
}
</style> </style>

+ 3
- 5
pages/center/prohibited/details.vue View File

@@ -20,7 +20,7 @@
<view class="h-b-btm"> <view class="h-b-btm">
<view class="item"> <view class="item">
<image class="item-imgs" src="@/static/images/img/voice.png" mode=""></image> <image class="item-imgs" src="@/static/images/img/voice.png" mode=""></image>
{{ userlistobj.mm || '' }}m
{{ userlistobj.mm || '' }}min
</view> </view>
<view class="item hit"> <view class="item hit">
<image class="item-imgs" src="@/static/images/img/hit.png" mode=""></image> <image class="item-imgs" src="@/static/images/img/hit.png" mode=""></image>
@@ -83,9 +83,7 @@
:is-scroll="true"> :is-scroll="true">
</u-tabs-swiper> </u-tabs-swiper>
</view> </view>
<view v-if="permissions.bjgw" class="headpade">
<view class="biaoji" @tap="tagtap()">标记</view>
</view>

</view> </view>
</view> </view>
<scroll-view :scroll-top="scrollTop" lower-threshold='100px' @scrolltolower="ltolower()" <scroll-view :scroll-top="scrollTop" lower-threshold='100px' @scrolltolower="ltolower()"
@@ -739,7 +737,7 @@
method: "GET", method: "GET",
header: { header: {
'content-type': 'application/json', 'content-type': 'application/json',
'Access-Token': uni.getStorageSync('weapp_session_login_data').token
'Authorization': 'Bearer ' + uni.getStorageSync('weapp_session_login_data').token
}, },
success: (data) => { success: (data) => {
this.tablist = []; this.tablist = [];


+ 1
- 1
pages/center/prohibited/index.vue View File

@@ -367,7 +367,7 @@
projectId: this.buildingID, projectId: this.buildingID,
time: 1, time: 1,
staTime: this.staTime, staTime: this.staTime,
endtime: this.endtime,
endTime: this.endtime,
taboo: 1, taboo: 1,
dateType: dateType, dateType: dateType,
disposeStatus: this.orderBy, // 处理状态 disposeStatus: this.orderBy, // 处理状态


+ 1
- 1
pages/center/records/index.vue View File

@@ -57,7 +57,7 @@
<view v-if="item.receptionStatusName" style="margin-right: 6rpx;color: red;">{{item.receptionStatusName.slice(0, 2) || ''}}</view> <view v-if="item.receptionStatusName" style="margin-right: 6rpx;color: red;">{{item.receptionStatusName.slice(0, 2) || ''}}</view>
<text style="margin-right: 6rpx;" v-if="item.receptionStatusName"> |</text> <text style="margin-right: 6rpx;" v-if="item.receptionStatusName"> |</text>
<view v-if="methodsisshow"> <view v-if="methodsisshow">
<text style="margin-right: 6rpx;color: red;" v-if="item.taboo==1">违禁</text>
<text style="margin-right: 6rpx;color: red;" v-if="item.taboo==1">违禁接待</text>
<text style="margin-right: 6rpx;" v-if="item.taboo==1"> |</text> <text style="margin-right: 6rpx;" v-if="item.taboo==1"> |</text>
</view> </view>
<view v-if="item.validInvalidName" style="margin-right: 6rpx;">{{item.validInvalidName.slice(0, 2)||''}}</view> <view v-if="item.validInvalidName" style="margin-right: 6rpx;">{{item.validInvalidName.slice(0, 2)||''}}</view>


Loading…
Cancel
Save