修改接口
This commit is contained in:
@@ -66,7 +66,9 @@
|
||||
"pages/storeData/subData/index",
|
||||
"pages/signup/code",
|
||||
"pages/signup/index",
|
||||
"pages/signup/status"
|
||||
"pages/signup/status",
|
||||
"pages/clues/index",
|
||||
"pages/clues/detail/index"
|
||||
],
|
||||
"echarts": [
|
||||
{
|
||||
@@ -92,14 +94,9 @@
|
||||
"lcb-channelTabBarNav": "/components/channel-tab-bar/index",
|
||||
"lcb-shopTabBarNav": "/components/shop-tab-bar/index",
|
||||
"lcb-backChannel": "/components/backChannel/index",
|
||||
"QYWXcontact": "plugin://contactPlugin/cell",
|
||||
"kefuSuccess": "/components/kefuSuccess/index"
|
||||
},
|
||||
"plugins": {
|
||||
"contactPlugin": {
|
||||
"version": "1.4.1",
|
||||
"provider": "wx104a1a20c3f81ec2"
|
||||
}
|
||||
},
|
||||
"navigateToMiniProgramAppIdList": [
|
||||
"wx98e64c11aac45966"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const env = "p";
|
||||
const env = "d";
|
||||
|
||||
const version = 1,
|
||||
|
||||
@@ -14,7 +14,7 @@ key = '71fd71173b776766a2ae1209d9a2c2ed';
|
||||
let api, baseUrl;
|
||||
|
||||
if (env == "d") {
|
||||
baseUrl = "https://liche-api-dev.xiaoyu.com/hd/";
|
||||
baseUrl = "https://api.ss.haodian.cn/hd/";
|
||||
} else if (env == "t") {
|
||||
baseUrl = "https://api.test.liche.cn/hd/";
|
||||
} else if (env == "p") {
|
||||
@@ -75,6 +75,7 @@ api = {
|
||||
appUserResetbiz: "app/user/resetbiz", //更新用户店铺id
|
||||
appXzStat: "app/xz/stat", //获取电话统计数据
|
||||
appCity: "app/city", //获取系统配置城市
|
||||
appCityLists: "app/city/lists", //获取城市列表
|
||||
|
||||
materialHomeTabs: "material/home/tabs", //推广素材_tab
|
||||
materialHomeLists: "material/home/lists", //推广素材_lists
|
||||
@@ -170,6 +171,8 @@ api = {
|
||||
|
||||
appResetgroupid:'app/user/resetgroupid', //切换角色
|
||||
|
||||
appClues: "app/clues", //获取线索列表 获取线索详情
|
||||
appCluesLogs: "app/clueslogs", //线索日志
|
||||
}
|
||||
|
||||
//远程图片存储地址
|
||||
|
||||
@@ -405,6 +405,13 @@ apiQuery.getAppCity = function(params){
|
||||
})
|
||||
}
|
||||
|
||||
//获取城市列表
|
||||
apiQuery.getAppCityLists = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appCityLists, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//推广素材_tab
|
||||
apiQuery.getMaterialHomeTabs = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
@@ -980,4 +987,23 @@ apiQuery.putAppResetgroupid = function (params) {
|
||||
})
|
||||
}
|
||||
|
||||
//获取线索列表
|
||||
apiQuery.getAppCluesList = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appClues, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取线索详情
|
||||
apiQuery.getAppCluesDetails = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appClues, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
//获取线索日志
|
||||
apiQuery.getAppCluesLogs = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appCluesLogs, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
export default apiQuery;
|
||||
+31
-52
@@ -62,7 +62,7 @@ Page({
|
||||
|
||||
onShow: function () {
|
||||
this.getHoursTip()
|
||||
this.getAppTransferRemind()
|
||||
//this.getAppTransferRemind()
|
||||
},
|
||||
|
||||
//生命周期函数--监听页面卸载
|
||||
@@ -138,53 +138,31 @@ Page({
|
||||
|
||||
//20240526 获取系统配置城市省市
|
||||
getAppArea(){
|
||||
let area_list = [{
|
||||
"name": "福建省",
|
||||
"id": 1,
|
||||
"propvince_id": "35",
|
||||
"children": [{
|
||||
"id":"19","city_id":"350900","name":"宁德市"},
|
||||
{"id":"18","city_id":"350700","name":"南平市"}]
|
||||
},{
|
||||
"name": "湖南省",
|
||||
"id": 1,
|
||||
"propvince_id": "36",
|
||||
"children": [{
|
||||
"city_id": "120900",
|
||||
"id": "20",
|
||||
"name": "长沙市",
|
||||
},{
|
||||
"city_id": "120000",
|
||||
"id": "21",
|
||||
"name": "湘潭市",
|
||||
}]
|
||||
}]
|
||||
|
||||
let area_id = [35,350900]
|
||||
|
||||
|
||||
let areaArr = []
|
||||
// let cur_index = []
|
||||
area_list.forEach((item,index) => {
|
||||
if(item.propvince_id==area_id[0]){
|
||||
item.children.forEach((it,idx)=>{
|
||||
if(it.city_id==area_id[1]){
|
||||
// cur_index = [item.propvince_id,it.city_id]
|
||||
this.setData({
|
||||
areaIndex: [index,idx]
|
||||
})
|
||||
areaArr = [area_list,area_list[index].children]
|
||||
return;
|
||||
}
|
||||
})
|
||||
}
|
||||
_.apiQuery.getAppCityLists().then(res => {
|
||||
let area_list = res.data.area_list
|
||||
let area_id = res.data.default_area_id
|
||||
let areaArr = []
|
||||
// let cur_index = []
|
||||
area_list.forEach((item,index) => {
|
||||
if(item.propvince_id==area_id[0]){
|
||||
item.children.forEach((it,idx)=>{
|
||||
if(it.city_id==area_id[1]){
|
||||
// cur_index = [item.propvince_id,it.city_id]
|
||||
this.setData({
|
||||
areaIndex: [index,idx]
|
||||
})
|
||||
areaArr = [area_list,area_list[index].children]
|
||||
return;
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
this.setData({
|
||||
area_id: area_id,
|
||||
area_list: area_list,
|
||||
areaArr: areaArr
|
||||
})
|
||||
});
|
||||
this.setData({
|
||||
area_id: area_id,
|
||||
area_list: area_list,
|
||||
areaArr: areaArr
|
||||
// cityList: res.data.list,
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
@@ -214,8 +192,10 @@ Page({
|
||||
//20240526选择地区
|
||||
changeArea(e){
|
||||
this.setData({
|
||||
city_id:this.data.area_list[e.detail.value[0]].children[e.detail.value[1]].city_id,
|
||||
areaIndex: e.detail.value,
|
||||
})
|
||||
})
|
||||
this.getAppUserBizs()
|
||||
},
|
||||
|
||||
//20240526地区联动
|
||||
@@ -227,10 +207,9 @@ Page({
|
||||
|
||||
multiIndex[columnIndex] = columnValue;
|
||||
|
||||
console.log(e)
|
||||
console.log(multiIndex)
|
||||
console.log(multiData)
|
||||
|
||||
// console.log(e)
|
||||
// console.log(multiIndex)
|
||||
// console.log(multiData)
|
||||
this.setData({
|
||||
areaArr: [
|
||||
multiData,
|
||||
|
||||
@@ -0,0 +1,252 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
const innerAudioContext = wx.createInnerAudioContext();
|
||||
let interval = null
|
||||
Page({
|
||||
data: {
|
||||
imgUrl:_.config.imgUrl,
|
||||
tabid:1,
|
||||
tab:[
|
||||
{"id":1,"title":"跟进记录",is_show_all:true}
|
||||
],
|
||||
logslist: [],//日志列表
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
currentIndex:'-1',//日志播放录音
|
||||
play: false,//日志播放录音
|
||||
|
||||
userInfo:'',
|
||||
},
|
||||
onLoad(options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCluesDetails()
|
||||
this.getAppCluesLogs()
|
||||
innerAudioContext.onEnded(() => {
|
||||
this.offaudio()
|
||||
})
|
||||
|
||||
},
|
||||
onshow() {
|
||||
|
||||
},
|
||||
|
||||
//生命周期函数--监听页面隐藏
|
||||
onHide: function () {
|
||||
this.offaudio()
|
||||
},
|
||||
|
||||
//生命周期函数--监听页面卸载
|
||||
onUnload: function () {
|
||||
this.offaudio()
|
||||
},
|
||||
|
||||
//获取用户信息
|
||||
getUserInfo(){
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//获取客户详情
|
||||
getAppCluesDetails(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCluesDetails(params).then(res=>{
|
||||
this.setData({
|
||||
detailinfo:res.data
|
||||
})
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
//获取日志
|
||||
getAppCluesLogs(){
|
||||
this.setData({
|
||||
load: false,
|
||||
loading: true,
|
||||
})
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = 10;
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCluesLogs(params).then(res => {
|
||||
|
||||
let list = res.data.list
|
||||
list.forEach(item => {
|
||||
if(item.record_url){
|
||||
item.alltime=this.format(item.second)
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
pageNo: this.data.pageNo + 1,
|
||||
logslist: this.data.logslist.concat(list),
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
if (res.data.total == 0) {
|
||||
this.setData({
|
||||
noData: true
|
||||
})
|
||||
} else if (this.data.logslist.length == res.data.total) {
|
||||
this.setData({
|
||||
end: true
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
});
|
||||
},
|
||||
//点击
|
||||
handle_slider_move_start(e){
|
||||
clearTimeout(interval)
|
||||
innerAudioContext.stop()
|
||||
this.setData({
|
||||
currentIndex:e.currentTarget.dataset.index,
|
||||
play:false,
|
||||
})
|
||||
},
|
||||
//推送链接
|
||||
pushLink(e){
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
//拖动中
|
||||
hanle_slider_changing(e){
|
||||
clearTimeout(interval)
|
||||
innerAudioContext.stop()
|
||||
this.setData({
|
||||
currentime:e.detail.value,
|
||||
currentx:this.format(parseInt(e.detail.value))
|
||||
})
|
||||
innerAudioContext.src = this.data.logslist[e.currentTarget.dataset.index].record_url
|
||||
},
|
||||
|
||||
//拖动结束
|
||||
hanle_slider_change(e){
|
||||
clearTimeout(interval)
|
||||
innerAudioContext.stop()
|
||||
this.setData({
|
||||
currentime:e.detail.value,
|
||||
currentx:this.format(parseInt(e.detail.value))
|
||||
})
|
||||
innerAudioContext.src = this.data.logslist[e.currentTarget.dataset.index].record_url
|
||||
innerAudioContext.seek(parseInt(this.data.currentime))
|
||||
},
|
||||
|
||||
//离开页面
|
||||
offaudio() {
|
||||
this.setData({
|
||||
currentIndex:'-1',
|
||||
play: false,
|
||||
currentime:0,
|
||||
currentx:'00:00'
|
||||
})
|
||||
innerAudioContext.stop()
|
||||
clearTimeout(interval)
|
||||
},
|
||||
|
||||
//操作录音
|
||||
audioPlay: function (e) {
|
||||
clearTimeout(interval)
|
||||
if(this.data.currentIndex != e.currentTarget.dataset.index){
|
||||
innerAudioContext.stop()
|
||||
this.setData({
|
||||
currentIndex:e.currentTarget.dataset.index,
|
||||
currentime:0,
|
||||
play:true,
|
||||
})
|
||||
innerAudioContext.src = this.data.logslist[e.currentTarget.dataset.index].record_url
|
||||
innerAudioContext.play()
|
||||
this.countDown()
|
||||
}else{
|
||||
if(this.data.play){
|
||||
this.setData({
|
||||
play:false,
|
||||
})
|
||||
innerAudioContext.pause()
|
||||
}else{
|
||||
this.setData({
|
||||
play:true,
|
||||
})
|
||||
innerAudioContext.play()
|
||||
this.countDown()
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
//播放录音时间
|
||||
countDown:function () {
|
||||
interval = setInterval(res => {
|
||||
this.setData({
|
||||
currentime:this.data.currentime + 1,
|
||||
currentx:this.format(this.data.currentime + 1)
|
||||
})
|
||||
}, 1000)
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage(e){
|
||||
if(e.currentTarget.dataset.type=='logs'){
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:this.data.logslist[e.currentTarget.dataset.index].imgs,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='gw_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.wxgrimg_url,
|
||||
urls:[this.data.wxgrimg_url],
|
||||
})
|
||||
}
|
||||
},
|
||||
//置顶操作
|
||||
optTop(e){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
params['is_top'] = this.data.detailinfo.is_top==1?0:1;
|
||||
_.apiQuery.putAppCustomers(params).then(res=>{
|
||||
|
||||
//刷新列表页
|
||||
let pages = getCurrentPages();
|
||||
let prevPage = null; //上一个页面
|
||||
if (pages.length >= 2) {
|
||||
prevPage = pages[pages.length - 2]; //上一个页面
|
||||
if(prevPage.route == 'pages/customer/index'||prevPage.route == 'pages/customer/filterList/index'){
|
||||
prevPage.onPullDownRefresh()
|
||||
}
|
||||
}
|
||||
|
||||
this.getAppCustomersDetails()
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
logslist: [],
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
this.getAppCustomersDetails()
|
||||
},
|
||||
|
||||
//页面上拉触底事件的处理函数
|
||||
onReachBottom(){
|
||||
if (this.data.noData || this.data.end||!this.data.load) return;
|
||||
this.getAppCustomerlogs()
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"navigationBarTitleText": "线索详情",
|
||||
"enablePullDownRefresh": true,
|
||||
"usingComponents": {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
<view class="container">
|
||||
<view class="inner40 pb0">
|
||||
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
|
||||
<view class="absolute top-0 left-0 ml40 bg-36afa2 pl10 pr10 font-22 color-fff">
|
||||
|
||||
</view>
|
||||
<view class="relative pr180">
|
||||
<view class="font-28">
|
||||
<text>
|
||||
{{detailinfo.name}}<text class="ml10 font-22 color-666">编号 {{detailinfo.id}}</text>
|
||||
</text>
|
||||
</view>
|
||||
<view class="mt10 text-nowrap font-28">
|
||||
<text>{{detailinfo.mobile}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<block wx:for="{{detailinfo.other_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
|
||||
<view class="mt25 fn-clear font-28">
|
||||
<view class="fn-fl color-333">{{key}}</view>
|
||||
<view class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pl30 pr30">
|
||||
<view class="fn-flex pl50 pr50 font-32 color-666 text-center">
|
||||
<block wx:for='{{tab}}' wx:key='list'>
|
||||
<view wx:if="{{item.is_show_all||(!item.is_show_all&&!optDefeat)}}" class="fn-flex-item pl20 pr20 tabmenu2 {{tabid == item.id?'active color-36afa2':''}}" data-index="{{index}}" bindtap="changeTab">
|
||||
<view class="relative">{{item.title}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="mt30 pb150" wx:if="{{tabid == 1}}">
|
||||
<view wx:if="{{!optDefeat}}" class="fn-flex text-center">
|
||||
<block wx:for="{{statistics}}" wx:key='index'>
|
||||
<view class="fn-flex-item ml15 mr15 pt20 pb20 bg-f3f6fc ulib-r10" style="background-color:{{item.color}}">
|
||||
<view class="font-32">{{item.val}}</view>
|
||||
<view class="font-22">{{item.name}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="pl15 pr15">
|
||||
<view class="relative mt40 overflowhidden">
|
||||
<view class="font-22 relative z-index-1">
|
||||
<i class="iconfont bg-fff icon-genzong mr10"></i>
|
||||
<text>用户跟踪</text>
|
||||
</view>
|
||||
<view class="orderDtail-log mt40 relative" wx:if="{{logslist.length>0}}">
|
||||
<block wx:for="{{logslist}}" wx:for-index="index" wx:key="index">
|
||||
<view class="orderDtail-log-item pl40 relative">
|
||||
<view class="orderDtail-log-content">
|
||||
<!-- 时间 -->
|
||||
<view class="font-22">
|
||||
<text class="color-999">{{item.c_time}}</text>
|
||||
</view>
|
||||
<!-- 内容 -->
|
||||
<view class="font-28 text-break" style="min-height:50rpx;">{{item.content}}</view>
|
||||
<!-- 录音 -->
|
||||
<view class="relative mt10 wp80 pt5 pb5 pl180 bg-e3f5f3 color-36afa2 font-30 ulib-r10" wx:if="{{!!item.record_url}}">
|
||||
<i bindtap="audioPlay" data-index="{{index}}" class="absolute box-middle left-0 ml20 iconfont {{play?'icon-zanting1':'icon-bofang'}}" wx:if="{{currentIndex==index}}"></i>
|
||||
<i bindtap="audioPlay" data-index="{{index}}" class="absolute box-middle left-0 ml20 iconfont icon-bofang" wx:else></i>
|
||||
<text class="absolute box-middle left-0 ml65 font-20">
|
||||
{{currentIndex==index?currentx:'00:00'}} / {{item.alltime}}
|
||||
</text>
|
||||
<slider bindtouchstart="handle_slider_move_start" bindchanging="hanle_slider_changing" bindchange="hanle_slider_change" data-index="{{index}}" min="0" step="0.000001" block-size="12" max="{{item.second}}" block-color="#5ec6bb" activeColor="#36afa2" backgroundColor="#d1eeeb" value="{{currentIndex==index?currentime:0}}" />
|
||||
</view>
|
||||
<!-- 图片 -->
|
||||
<view wx:if="{{item.imgs.length>0}}">
|
||||
<block wx:for="{{item.imgs}}" wx:for-item="img" wx:for-index="j" wx:key="j">
|
||||
<image bindtap="previewImage" data-type="logs" data-current="{{img}}" data-index="{{index}}" class='img-125x75 mr10 bds-2-eb ulib-r5' src='{{img}}' mode='aspectFill'></image>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<i class="absolute box-middle mt15 bg-fff line-height-11 font-22 color-999 iconfont icon-jiantou-up z-index-1" wx:if="{{index+1 != logslist.length}}"></i>
|
||||
<text class="absolute orderDtail-log-line2 z-index-0" wx:if="{{index != logslist.length-1}}"></text>
|
||||
<!-- <text class="absolute orderDtail-log-line z-index-0"></text> -->
|
||||
<text class="absolute orderDtail-log-dot z-index-1"></text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fixed left-0 bottom-0 right-0 bg-fff-op90 pl40 pr40 pt20 pb40 z-index-1">
|
||||
<view class="fn-flex text-center fn-flex-between">
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-r750" bindtap="pushLink" data-url="/pages/clues/index">返回列表</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
@@ -0,0 +1,87 @@
|
||||
.tabmenu2{display:inline-block;line-height:72rpx;}
|
||||
.tabmenu2.active view.relative{display:inline-block;}
|
||||
.tabmenu2.active view.relative::before{display:inline-block;position:absolute;bottom:0;left:50%;transform:translate(-50%,0);width:64rpx;height:4rpx;content:"";background-color:#36afa2;}
|
||||
|
||||
.width-25{width:25rpx;}
|
||||
|
||||
/* .orderDtail-log::before{
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 10rpx;
|
||||
bottom: 10rpx;
|
||||
background-color: #1a1a1a;
|
||||
width: 2rpx;
|
||||
left:10rpx;
|
||||
} */
|
||||
/* .orderDtail-log-item::before{
|
||||
content:'';
|
||||
position:absolute;
|
||||
top:8rpx;
|
||||
background-color: #1a1a1a;
|
||||
width:2rpx;
|
||||
height:1000rpx;
|
||||
left:10rpx;
|
||||
} */
|
||||
.orderDtail-log-item{
|
||||
padding-bottom: 40rpx;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.orderDtail-log-item:first-child{
|
||||
margin-top: 0;
|
||||
}
|
||||
.orderDtail-log-line{
|
||||
top: 8rpx;
|
||||
left:16rpx;
|
||||
width:2rpx;
|
||||
height:2rpx;
|
||||
}
|
||||
.orderDtail-log-line::before{
|
||||
content:'';
|
||||
position:absolute;
|
||||
left:0;
|
||||
bottom:8rpx;
|
||||
background-color: #1a1a1a;
|
||||
width:2rpx;
|
||||
height:1000rpx;
|
||||
}
|
||||
.orderDtail-log-line2{
|
||||
top:8rpx;
|
||||
bottom:-8rpx;
|
||||
left:16rpx;
|
||||
width:2rpx;
|
||||
background-color: #1a1a1a;
|
||||
}
|
||||
.orderDtail-log-dot{
|
||||
top: 8rpx;
|
||||
left:6rpx;
|
||||
width: 23rpx;
|
||||
height: 23rpx;
|
||||
border-radius: 100%;
|
||||
background-color: #fff;
|
||||
}
|
||||
.orderDtail-log-dot::before{
|
||||
width: 18rpx;
|
||||
height: 18rpx;
|
||||
background-color: #fff;
|
||||
}
|
||||
.orderDtail-log-dot::after{
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
background-color: #1a1a1a;
|
||||
}
|
||||
.orderDtail-log-dot::before,.orderDtail-log-dot::after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.orderDtail-log .orderDtail-log-content{
|
||||
position:relative;
|
||||
top:-20rpx;
|
||||
}
|
||||
.icon-jiantou-up{
|
||||
left:6rpx;
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
import _ from '../../commons/js/commons'
|
||||
import popularData from '../../commons/js/lib/popularData';
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
key:'',//tab状态值
|
||||
list: [],//客户列表
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
isfirstonShow: true,
|
||||
},
|
||||
onLoad(options) {
|
||||
this.getAppCluesList()
|
||||
},
|
||||
|
||||
onShow(){
|
||||
|
||||
},
|
||||
|
||||
//获取客户列表
|
||||
getAppCluesList(){
|
||||
this.setData({
|
||||
load: false,
|
||||
loading: true,
|
||||
})
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = 10;
|
||||
_.apiQuery.getAppCluesList(params).then(res => {
|
||||
this.setData({
|
||||
total: res.data.total,
|
||||
pageNo: this.data.pageNo + 1,
|
||||
list: this.data.list.concat(res.data.list),
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
if (res.data.total == 0) {
|
||||
this.setData({
|
||||
noData: true
|
||||
})
|
||||
} else if (this.data.list.length == res.data.total) {
|
||||
this.setData({
|
||||
end: true
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
});
|
||||
},
|
||||
|
||||
//推送链接
|
||||
pushLink(e){
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
list: [],
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
this.getAppCustomersDefeats()
|
||||
},
|
||||
|
||||
//页面上拉触底事件的处理函数
|
||||
onReachBottom(){
|
||||
if (this.data.noData || this.data.end||!this.data.load) return;
|
||||
this.getAppCustomersDefeats()
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"navigationBarTitleText": "线索池",
|
||||
"enablePullDownRefresh": true,
|
||||
"usingComponents": {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<view class="container">
|
||||
|
||||
<view class="mt20 pl30 pr30">
|
||||
<view class="mb20 font-28" wx:if="{{total>0}}">共<text class="pl5 pr5 color-f9394d">{{total}}</text>个</view>
|
||||
<block wx:for='{{list}}' wx:key='index'>
|
||||
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="/pages/clues/detail/index?id={{item.id}}&optDefeat=true">
|
||||
<view class="relative pr180">
|
||||
<view>
|
||||
<text class="font-32">{{item.name}}</text>
|
||||
<text class="font-28 color-666">({{item.mobile}})</text>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle font-24 color-666">详细信息<text class="iconfont icon-gengduo ml10"></text></view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
@@ -0,0 +1,4 @@
|
||||
.tip-radius{
|
||||
background-color:#fff5f6;
|
||||
border-radius:0 20rpx 20rpx 15rpx;
|
||||
}
|
||||
@@ -24,7 +24,6 @@ Page({
|
||||
status:0,//状态
|
||||
statuslist:[
|
||||
'未见客户',
|
||||
'到店客户',
|
||||
],
|
||||
|
||||
c_brands:[
|
||||
@@ -38,9 +37,7 @@ Page({
|
||||
{id:5, name:'零跑'},
|
||||
],
|
||||
|
||||
of_id:'',
|
||||
of2_id:'',
|
||||
of1Index:-1,
|
||||
of2Index:-1,
|
||||
|
||||
cityIndex:-1,
|
||||
@@ -180,9 +177,7 @@ Page({
|
||||
changeStatus(e) {
|
||||
if(this.data.status != e.detail.value){
|
||||
this.setData({
|
||||
of_id:'',
|
||||
of2_id:'',
|
||||
of1Index:-1,
|
||||
of2Index:-1,
|
||||
of2Arr:[],
|
||||
status:e.detail.value,
|
||||
@@ -294,24 +289,13 @@ Page({
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.c_brandArray.length>0&&that.data.c_brandIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择客户品牌归属',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.sources.length>0&&that.data.of_id == '' ) {
|
||||
|
||||
else if (that.data.of2Arr.length>0&&that.data.of2_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择客户来源',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.sources.length>0&&that.data.sources[that.data.of1Index].list.length>0&&that.data.of2_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择'+that.data.sources[that.data.of1Index].name+'类型',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.city_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择所在城市',
|
||||
@@ -370,9 +354,6 @@ Page({
|
||||
if(this.data.c_brandIndex != -1){
|
||||
params['c_brand'] = this.data.c_brandArray[this.data.c_brandIndex].id;
|
||||
}
|
||||
if(this.data.of_id != ''){
|
||||
params['of_id'] = this.data.of_id;
|
||||
}
|
||||
if(this.data.of2_id != ''){
|
||||
params['of2_id'] = this.data.of2_id;
|
||||
}
|
||||
@@ -423,11 +404,8 @@ Page({
|
||||
timeIndex:-1,//预计购车时间索引
|
||||
submitFlag:false,
|
||||
|
||||
|
||||
of_id:'',
|
||||
of2_id:'',
|
||||
of2Arr:[],
|
||||
of1Index:-1,
|
||||
of2Index:-1,
|
||||
})
|
||||
that.getAppCustomersTag()
|
||||
@@ -459,37 +437,22 @@ Page({
|
||||
let params = {};
|
||||
params['status'] = this.data.status;
|
||||
_.apiQuery.getAppCustomersOffline_sources(params).then(res => {
|
||||
let of1Arr = []
|
||||
res.data.sources.forEach(item => {
|
||||
of1Arr.push(item.name)
|
||||
let of2Arr = []
|
||||
res.data.forEach(item => {
|
||||
of2Arr.push(item['name'])
|
||||
})
|
||||
this.setData({
|
||||
of1Arr,
|
||||
sources:res.data.sources
|
||||
of2Arr:of2Arr,
|
||||
sources:res.data
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//客户来源
|
||||
changeOf1(e) {
|
||||
if(this.data.of1Index!=e.detail.value){
|
||||
let of2Arr = []
|
||||
this.data.sources[e.detail.value].list.forEach(item => {
|
||||
of2Arr.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
of2Arr,
|
||||
of2Index:-1,
|
||||
of_id:this.data.sources[e.detail.value].id,
|
||||
of1Index:e.detail.value,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
changeOf2(e) {
|
||||
if(this.data.of2Index!=e.detail.value){
|
||||
this.setData({
|
||||
of2_id:this.data.sources[this.data.of1Index].list[e.detail.value].id,
|
||||
of2_id:this.data.sources[e.detail.value].id,
|
||||
of2Index:e.detail.value,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="number" placeholder="请输入客户手机号" bindinput='inputTx' data-key="mobile" name='mobile' value='{{mobile}}' />
|
||||
</view>
|
||||
</view>
|
||||
<!--
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">品牌归属</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
@@ -32,7 +33,6 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<!--
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{brandIndex != -1}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">车系车型</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666 text-nowrap">
|
||||
@@ -73,21 +73,11 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view> -->
|
||||
<block wx:if="{{sources.length>0}}">
|
||||
<block wx:if="{{of2Arr.length>0}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">客户来源</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
|
||||
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
|
||||
<text wx:else>{{of1Arr[of1Index]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{of2Arr.length>0}}">
|
||||
<view class="absolute left-0 box-middle">{{sources[of1Index].name}}</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeOf2" value="{{of2Index}}" range="{{of2Arr}}">
|
||||
<picker bindchange="changeOf1" value="{{of2Index}}" range="{{of2Arr}}">
|
||||
<text class="color-ccc" wx:if="{{of2Index == -1}}">请选择</text>
|
||||
<text wx:else>{{of2Arr[of2Index]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
|
||||
@@ -89,7 +89,7 @@ Page({
|
||||
this.getTimePicker()
|
||||
|
||||
this.getUserInfo()
|
||||
|
||||
|
||||
},
|
||||
onshow() {
|
||||
|
||||
@@ -1027,7 +1027,7 @@ Page({
|
||||
icon: 'none'
|
||||
})
|
||||
|
||||
this.getAppCustomerlogsRefresh()()
|
||||
this.getAppCustomerlogsRefresh()
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
@@ -169,8 +169,12 @@
|
||||
<button bindtap="pushLink" data-url="/pages/customer/editCard/index?id={{id}}" class="inline-block btn-36afa2 font-22 color-fff ulib-r10" hover-class="btn-36afa2-hover"></button>
|
||||
</view> -->
|
||||
<view wx:if="{{optDefeat}}" class="fn-flex text-center fn-flex-between">
|
||||
<view ></view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-r750" bindtap="pushLink" data-url="/pages/customer/optDefeat/index">返回列表</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="putAppCustomersDefeats" data-type="0">
|
||||
战败
|
||||
</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="putAppCustomersDefeats" data-type="1">
|
||||
再战
|
||||
</view>
|
||||
</view>
|
||||
<view wx:else class="fn-flex text-center">
|
||||
<view class="fn-flex-item flexsize3 pt10 color-36afa2" bindtap="pushLink" data-url="/pages/customer/editCard/index?id={{id}}">
|
||||
@@ -205,7 +209,7 @@
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bts-2-36afa2 bls-2-36afa2 bbs-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">
|
||||
客户跟进
|
||||
</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750 {{detailinfo.generate_order||userInfo.group_id==2||userInfo.group_id==3||userInfo.group_id==4?'':'opacity-50'}}" bindtap="{{detailinfo.generate_order||userInfo.group_id==2||userInfo.group_id==3||userInfo.group_id==4?'pushLink':''}}" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}&complete_mobile={{detailinfo.complete_mobile}}">
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750 {{userInfo.group_id!=4&&detailinfo.status==1?'':'opacity-50'}}" bindtap="{{userInfo.group_id!=4&&detailinfo.status==1?'pushLink':''}}" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}&complete_mobile={{detailinfo.complete_mobile}}">
|
||||
生成订单
|
||||
</view>
|
||||
</block>
|
||||
@@ -251,6 +255,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<lcb-msg isShow="{{isShowNote}}">
|
||||
<view slot="content" class="pt20">
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex" wx:if="{{detailinfo.status ==3}}">
|
||||
@@ -262,10 +267,10 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex" wx:elif="{{detailinfo.status!=2}}">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0" wx:if="{{detailinfo.status==0}}">
|
||||
未见客户
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1" wx:if="{{detailinfo.status==2}}">
|
||||
到店客户
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 3?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="3">
|
||||
|
||||
@@ -28,9 +28,9 @@ Page({
|
||||
|
||||
submitFlag:false,
|
||||
|
||||
of_id:'',
|
||||
// of_id:'',
|
||||
of2_id:'',
|
||||
of1Index:-1,
|
||||
// of1Index:-1,
|
||||
of2Index:-1,
|
||||
c_brandIndex:-1,
|
||||
|
||||
@@ -62,7 +62,7 @@ Page({
|
||||
baseinfo:res.data.baseinfo,
|
||||
name:res.data.baseinfo.name.value?res.data.baseinfo.name.value:'',
|
||||
mobile:res.data.baseinfo.mobile.value?res.data.baseinfo.mobile.value:'',
|
||||
of_id:res.data.baseinfo.of_id.of_id?res.data.baseinfo.of_id.of_id:'',
|
||||
// of_id:res.data.baseinfo.of_id.of_id?res.data.baseinfo.of_id.of_id:'',
|
||||
of2_id:res.data.baseinfo.of_id.of2_id?res.data.baseinfo.of_id.of2_id:'',
|
||||
wxgr:res.data.baseinfo.wxgr,
|
||||
wxgrimg:res.data.baseinfo.wxgrimg,
|
||||
@@ -385,18 +385,12 @@ Page({
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.sources.length>0&&that.data.of_id == '' ) {
|
||||
else if (that.data.sources.length>0&&that.data.of2_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择客户来源',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.sources.length>0&&that.data.sources[that.data.of1Index].list.length>0&&that.data.of2_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择'+that.data.sources[that.data.of1Index].name+'类型',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.city_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择所在城市',
|
||||
@@ -454,9 +448,6 @@ Page({
|
||||
if(this.data.c_brandIndex != -1){
|
||||
params['c_brand'] = this.data.c_brandArray[this.data.c_brandIndex].id;
|
||||
}
|
||||
if(that.data.of_id != that.data.baseinfo.of_id.of_id){
|
||||
params['of_id'] = that.data.of_id;
|
||||
}
|
||||
if(that.data.of2_id != that.data.baseinfo.of_id.of2_id){
|
||||
params['of2_id'] = that.data.of2_id;
|
||||
}
|
||||
@@ -527,60 +518,31 @@ Page({
|
||||
//客户来源
|
||||
getAppCustomersOffline_sources(){
|
||||
_.apiQuery.getAppCustomersOffline_sources().then(res => {
|
||||
let of1Arr = []
|
||||
res.data.sources.forEach(item => {
|
||||
of1Arr.push(item.name)
|
||||
let of2Arr = []
|
||||
res.data.forEach(item => {
|
||||
of2Arr.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
of1Arr,
|
||||
sources:res.data.sources
|
||||
of2Arr,
|
||||
sources:res.data
|
||||
})
|
||||
if(this.data.of_id != ''){
|
||||
res.data.sources.forEach((item,index) => {
|
||||
if(item.id == this.data.of_id){
|
||||
if(this.data.of2_id != ''){
|
||||
res.data.forEach((item,index) => {
|
||||
if(item.id == this.data.of2_id){
|
||||
this.setData({
|
||||
of1Index:index,
|
||||
of2Index:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
if(this.data.of2Index != ''){
|
||||
let of2Arr = []
|
||||
res.data.sources[this.data.of1Index].list.forEach((item,index) => {
|
||||
of2Arr.push(item.name)
|
||||
if(item.id == this.data.of2_id){
|
||||
this.setData({
|
||||
of2Index:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
of2Arr,
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//客户来源
|
||||
changeOf1(e) {
|
||||
if(this.data.of1Index!=e.detail.value){
|
||||
let of2Arr = []
|
||||
this.data.sources[e.detail.value].list.forEach(item => {
|
||||
of2Arr.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
of2Arr,
|
||||
of2Index:-1,
|
||||
of_id:this.data.sources[e.detail.value].id,
|
||||
of1Index:e.detail.value,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
changeOf2(e) {
|
||||
if(this.data.of2Index!=e.detail.value){
|
||||
this.setData({
|
||||
of2_id:this.data.sources[this.data.of1Index].list[e.detail.value].id,
|
||||
of2_id:this.data.sources[e.detail.value].id,
|
||||
of2Index:e.detail.value,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="number" placeholder="请输入客户手机号" bindinput='inputTx' data-key="mobile" name='mobile' value='{{mobile}}' />
|
||||
</view>
|
||||
</view>
|
||||
<!--
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">品牌归属</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
@@ -23,7 +24,7 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">车辆品牌</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeBrand" value="{{brandIndex}}" range="{{brandArray}}">
|
||||
@@ -66,16 +67,6 @@
|
||||
<block wx:if="{{sources.length>0}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">客户来源</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
|
||||
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
|
||||
<text wx:else>{{of1Arr[of1Index]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{of2Arr.length>0}}">
|
||||
<view class="absolute left-0 box-middle">{{sources[of1Index].name}}</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeOf2" value="{{of2Index}}" range="{{of2Arr}}">
|
||||
<text class="color-ccc" wx:if="{{of2Index == -1}}">请选择</text>
|
||||
|
||||
@@ -117,7 +117,7 @@ Page({
|
||||
//销售顾问
|
||||
this.getAppUserAdmins()
|
||||
//客户来源
|
||||
this.getAppCustomersOffline_sources()
|
||||
// this.getAppCustomersOffline_sources()
|
||||
|
||||
this.getTimePicker()
|
||||
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
<view class="container">
|
||||
|
||||
<view class="mt20 pl30 pr30">
|
||||
<view class="mb20 font-28" wx:if="{{total>0}}">共<text class="pl5 pr5 color-f9394d">{{total}}</text>个</view>
|
||||
<block wx:for='{{list}}' wx:key='index'>
|
||||
<view class="inner30 relative ulib-r10 bds-1-eb mb30 overflowhidden" bindtap="pushLink" data-url="/pages/customer/detail/index?id={{item.id}}&optDefeat=true">
|
||||
<view class="relative pr180">
|
||||
<view>
|
||||
<text class="font-32">{{item.name}}</text>
|
||||
<text class="font-28 color-666">({{item.mobile}})</text>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle font-24 color-666">详细信息<text class="iconfont icon-gengduo ml10"></text></view>
|
||||
<view class="mt20 pl30 pr30">
|
||||
<view class="mb20 font-28" wx:if="{{total>0}}">共<text class="pl5 pr5 color-f9394d">{{total}}</text>个</view>
|
||||
<block wx:for='{{list}}' wx:key='index'>
|
||||
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="/pages/customer/detail/index?id={{item.id}}&optDefeat=true">
|
||||
<view class="relative pr180">
|
||||
<view>
|
||||
<text class="font-32">{{item.name}}</text>
|
||||
<text class="font-28 color-666">({{item.mobile}})</text>
|
||||
</view>
|
||||
<view class="mt15 pt5 pb5 pl20 pr20 font-22 color-f9394d tip-radius" wx:if="{{item.reason&&0}}">{{item.reason}}</view>
|
||||
<view class="absolute right-0 box-middle font-24 color-666">查看详情<text class="iconfont icon-gengduo ml10"></text></view>
|
||||
</view>
|
||||
</block>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
</view>
|
||||
<view class="mt15 pt5 pb5 pl20 pr20 font-22 color-f9394d tip-radius" wx:if="{{item.reason}}">{{item.reason}}</view>
|
||||
</view>
|
||||
</block>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
<view class="tit">
|
||||
<text>添加客服微信号</text>
|
||||
</view>
|
||||
<!--
|
||||
<view class="font-26 color-999 text-center mt15">分销问题,下单问题都可以加我哦</view>
|
||||
<view class="relative">
|
||||
<button class="btn-concat">去添加</button>
|
||||
@@ -48,6 +49,7 @@
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" bind:completemessage="completemessage" styleType='1' plugid='9280d952ecab1136d907a34b6799df97' />
|
||||
</view>
|
||||
</view>
|
||||
-->
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -108,7 +108,6 @@ Page({
|
||||
onShow: function () {
|
||||
|
||||
this.getHoursTip()
|
||||
|
||||
//确保bizID重置完成再执行
|
||||
if(this.data.isResetbiz){
|
||||
this.setData({
|
||||
@@ -118,10 +117,10 @@ Page({
|
||||
isShowGoods:false,
|
||||
});
|
||||
this.getAppUserCal()
|
||||
this.getAppTransferRemind()
|
||||
this.getAppInventoryRemind()
|
||||
this.getAppGoodsRemind()
|
||||
this.getAppStatisticsHcust()
|
||||
// this.getAppTransferRemind()
|
||||
// this.getAppInventoryRemind()
|
||||
// this.getAppGoodsRemind()
|
||||
// this.getAppStatisticsHcust()
|
||||
}
|
||||
|
||||
},
|
||||
@@ -159,10 +158,10 @@ Page({
|
||||
});
|
||||
this.getUserInfo()
|
||||
this.getAppUserCal()
|
||||
this.getAppTransferRemind()
|
||||
this.getAppInventoryRemind()
|
||||
this.getAppGoodsRemind()
|
||||
this.getAppStatisticsHcust()
|
||||
// this.getAppTransferRemind()
|
||||
// this.getAppInventoryRemind()
|
||||
// this.getAppGoodsRemind()
|
||||
// this.getAppStatisticsHcust()
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<view class="font-36">数据看板</view>
|
||||
<view class="fn-flex fn-flex-wrap pt20 pb10 text-center">
|
||||
<block wx:for="{{userCal.statistics}}" wx:key='index'>
|
||||
<view class="wp25 relative pt20 pb20 {{index>2?'bts-1-eb':''}} {{index%3==2?'':'brs-1-eb'}}" bindtap="pushLink" data-url="{{item.today.url}}">
|
||||
<view class="wp25 relative pt20 pb20 {{index>3?'bts-1-eb':''}} {{index%4<3?'brs-1-eb':''}}" bindtap="pushLink" data-url="{{item.today.url}}">
|
||||
<view class="text-bold"><text class="font-36">{{item.today.value}}</text><text class="font-28 color-666">/{{item.month.value}}</text></view>
|
||||
<view class="font-22"><text>{{item.today.title}}</text><text class="color-666">/{{item.month.title}}</text></view>
|
||||
</view>
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="absolute wp100 login-light img-fill-cover" style="background-image:url({{imgUrl}}/login/login-light.png?v=1);"></view>
|
||||
<!--
|
||||
<view class="absolute wp100 bottom-170 text-center font-28 color-999">
|
||||
<view class="absolute left-0 top-0 right-0 bottom-0 opacity-0 overflowhidden">
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" styleType='1' plugid='9280d952ecab1136d907a34b6799df97' />
|
||||
@@ -36,6 +37,7 @@
|
||||
</view>
|
||||
<i class="iconfont icon-kefu mr5"></i>联系小理
|
||||
</view>
|
||||
-->
|
||||
</view>
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
|
||||
+28
-28
@@ -1,29 +1,29 @@
|
||||
{
|
||||
"appid": "wx71095d4049de3ed1",
|
||||
"compileType": "miniprogram",
|
||||
"libVersion": "3.0.0",
|
||||
"packOptions": {
|
||||
"ignore": [],
|
||||
"include": []
|
||||
},
|
||||
"setting": {
|
||||
"coverView": true,
|
||||
"es6": true,
|
||||
"postcss": true,
|
||||
"minified": true,
|
||||
"enhance": true,
|
||||
"showShadowRootInWxmlPanel": true,
|
||||
"packNpmRelationList": [],
|
||||
"babelSetting": {
|
||||
"ignore": [],
|
||||
"disablePlugins": [],
|
||||
"outputPath": ""
|
||||
},
|
||||
"condition": false
|
||||
},
|
||||
"condition": {},
|
||||
"editorSetting": {
|
||||
"tabIndent": "insertSpaces",
|
||||
"tabSize": 2
|
||||
}
|
||||
{
|
||||
"appid": "wx4733380c110313ec",
|
||||
"compileType": "miniprogram",
|
||||
"libVersion": "3.0.0",
|
||||
"packOptions": {
|
||||
"ignore": [],
|
||||
"include": []
|
||||
},
|
||||
"setting": {
|
||||
"coverView": true,
|
||||
"es6": true,
|
||||
"postcss": true,
|
||||
"minified": true,
|
||||
"enhance": true,
|
||||
"showShadowRootInWxmlPanel": true,
|
||||
"packNpmRelationList": [],
|
||||
"babelSetting": {
|
||||
"ignore": [],
|
||||
"disablePlugins": [],
|
||||
"outputPath": ""
|
||||
},
|
||||
"condition": false
|
||||
},
|
||||
"condition": {},
|
||||
"editorSetting": {
|
||||
"tabIndent": "insertSpaces",
|
||||
"tabSize": 2
|
||||
}
|
||||
}
|
||||
+27
-26
@@ -1,27 +1,28 @@
|
||||
{
|
||||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||
"projectname": "XiaoChengXu-LiCheBao",
|
||||
"setting": {
|
||||
"compileHotReLoad": true
|
||||
},
|
||||
"condition": {
|
||||
"miniprogram": {
|
||||
"list": [
|
||||
{
|
||||
"name": "待跟进客户",
|
||||
"pathName": "pages/customer/filterList/index",
|
||||
"query": "status=1&visit=1&title=待跟进客户",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
},
|
||||
{
|
||||
"name": "建卡",
|
||||
"pathName": "pages/customer/addCard/index",
|
||||
"query": "status=0",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||
"projectname": "XiaoChengXu-LiCheBao",
|
||||
"setting": {
|
||||
"compileHotReLoad": true,
|
||||
"urlCheck": true
|
||||
},
|
||||
"condition": {
|
||||
"miniprogram": {
|
||||
"list": [
|
||||
{
|
||||
"name": "待跟进客户",
|
||||
"pathName": "pages/customer/filterList/index",
|
||||
"query": "status=1&visit=1&title=待跟进客户",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
},
|
||||
{
|
||||
"name": "建卡",
|
||||
"pathName": "pages/customer/addCard/index",
|
||||
"query": "status=0",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user