diff --git a/commons/css/base/button.wxss b/commons/css/base/button.wxss
index 0d791e9..979e3e5 100644
--- a/commons/css/base/button.wxss
+++ b/commons/css/base/button.wxss
@@ -10,4 +10,8 @@
.btn-999::after{border:none;}
.btn-999-hover{background:#a7a6a6;}
.btn-999[disabled]{background:#999 !important;border:none !important;}
+.btn-no-border{border:none;}
+.btn-no-border::after{border:none;}
+.btn-no-border[disabled]{background:#ddd !important;border:none;color:#bbb;}
+.btn-no-bg{background:none;}
.btn-inset-shadow{box-shadow:inset 0rpx 0rpx 10rpx 5rpx rgba(0, 0, 0, .2);}
\ No newline at end of file
diff --git a/commons/css/thirdparty/iconfont.wxss b/commons/css/thirdparty/iconfont.wxss
index 392ce7f..4ea8d15 100644
--- a/commons/css/thirdparty/iconfont.wxss
+++ b/commons/css/thirdparty/iconfont.wxss
@@ -1,9 +1,9 @@
@font-face {
font-family: "iconfont"; /* Project id 2643717 */
src:
- url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
- url('iconfont.woff?t=1625471878419') format('woff'),
- url('iconfont.ttf?t=1625471878419') format('truetype');
+ url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
+ url('iconfont.woff?t=1625625026307') format('woff'),
+ url('iconfont.ttf?t=1625625026307') format('truetype');
}
.iconfont {
@@ -13,6 +13,14 @@
-moz-osx-font-smoothing: grayscale;
}
+.icon-fuxuansel:before {
+ content: "\e64d";
+}
+
+.icon-fuxuankuang:before {
+ content: "\e68e";
+}
+
.icon-zanting:before {
content: "\e6b1";
}
diff --git a/commons/js/config.js b/commons/js/config.js
index 4ce3499..bc9ae3e 100644
--- a/commons/js/config.js
+++ b/commons/js/config.js
@@ -27,8 +27,11 @@ api = {
appSeriesCars: "app/series/cars", //获取车型库
appSeriesAttrs: "app/series/attrs", //获取车型属性
appCustomersTabs: "app/customers/tabs", //获取tab
- appCustomers: "app/customers", //获取客户列表
+ appCustomers: "app/customers", //获取客户列表 /新建客户 /修改状态和到店次数、试驾次数 /获取客户详情
appCustomersFilter: "app/customers/filter", //获取列表筛选条件
+ appSmsCustomer: "app/sms/customer", //发短信
+ appCustomerlogs: "app/customerlogs", //获取日志
+ appCustomerData: "app/customers/data", //获取客户详细信息
}
diff --git a/commons/js/utils/apiQuery.js b/commons/js/utils/apiQuery.js
index 3011ba5..aadeb8e 100644
--- a/commons/js/utils/apiQuery.js
+++ b/commons/js/utils/apiQuery.js
@@ -117,7 +117,7 @@ apiQuery.getAppCustomersTabs = function (params) {
})
}
-//获取客户列表
+//获取客户列表 /获取客户详情
apiQuery.getAppCustomers = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCustomers, 2, params, "GET", resolve, reject)
@@ -131,4 +131,39 @@ apiQuery.getAppCustomersFilter = function (params) {
})
}
+//新建客户
+apiQuery.postAppCustomers = function (params) {
+ return new Promise(function (resolve, reject) {
+ HttpRequest(true, Config.api.appCustomers, 2, params, "POST", resolve, reject)
+ })
+}
+
+//修改状态和到店次数、试驾次数
+apiQuery.putAppCustomers = function (params) {
+ return new Promise(function (resolve, reject) {
+ HttpRequest(true, Config.api.appCustomers, 2, params, "PUT", resolve, reject)
+ })
+}
+
+//发短信
+apiQuery.postAppSmsCustomer = function (params) {
+ return new Promise(function (resolve, reject) {
+ HttpRequest(true, Config.api.appSmsCustomer, 2, params, "POST", resolve, reject)
+ })
+}
+
+//获取日志
+apiQuery.getAppCustomerlogs = function (params) {
+ return new Promise(function (resolve, reject) {
+ HttpRequest(false, Config.api.appCustomerlogs, 2, params, "GET", resolve, reject)
+ })
+}
+
+//获取客户详细信息
+apiQuery.getAppCustomerData = function (params) {
+ return new Promise(function (resolve, reject) {
+ HttpRequest(false, Config.api.appCustomerData, 2, params, "GET", resolve, reject)
+ })
+}
+
export default apiQuery;
\ No newline at end of file
diff --git a/pages/customer/addCard/index.js b/pages/customer/addCard/index.js
index a7a08bf..6efdcd9 100644
--- a/pages/customer/addCard/index.js
+++ b/pages/customer/addCard/index.js
@@ -1,56 +1,213 @@
-// pages/customer/addCard/index.js
+import _ from '../../../commons/js/commons'
+const app = getApp()
Page({
data: {
- c_time:'',
+ name:'',//名字
+ mobile:'',//手机号
+ car_id:'',//车型id
+ v_id:'',//车型级别id
+ color_id:'',//颜色id
+ b_s_id:'',//备选车型id
+ buy_time:'',//预计购车时间
+ modelIndex:-1,//品牌车型索引
+ spareIndex:-1,//备选车型索引
+ colorArray:[],//车型颜色列表
+ levelArray:[],//车型级别列表
+ colorIndex:-1,//车型颜色索引
+ levelIndex:-1,//车型级别索引
+ submitFlag:false,
},
//生命周期函数--监听页面加载
onLoad: function (options) {
+ this.getAppSeriesCars()
+ },
+
+ //获取车型库
+ getAppSeriesCars(){
+ _.apiQuery.getAppSeriesCars().then(res => {
+ if(res.data.length>0){
+ let modelArray = []
+ res.data.forEach(item => {
+ modelArray.push(item.title)
+ })
+ this.setData({
+ modelArray:modelArray,
+ modelList:res.data,
+ })
+ }
+ });
+ },
+
+ //获取车型属性 /颜色 /车型级别
+ getAppSeriesAttrs(){
+ let params1 = {};
+ params1['id'] = this.data.car_id;
+ params1['type'] = 0;
+ _.apiQuery.getAppSeriesAttrs(params1).then(res => {
+ if(res.data.total>0){
+ let colorArray = []
+ res.data.list.forEach(item => {
+ colorArray.push(item.title)
+ })
+ this.setData({
+ colorArray:colorArray,
+ colorList:res.data.list,
+ colorIndex:-1,
+ })
+ }
+ });
+
+ let params2 = {};
+ params2['id'] = this.data.car_id;
+ params2['type'] = 1;
+ _.apiQuery.getAppSeriesAttrs(params2).then(res => {
+ if(res.data.total>0){
+ let levelArray = []
+ res.data.list.forEach(item => {
+ levelArray.push(item.title)
+ })
+ this.setData({
+ levelArray:levelArray,
+ levelList:res.data.list,
+ levelIndex:-1,
+ })
+ }
+ });
},
//输入
inputTx(e) {
this.setData({
+ submitFlag:false,
[e.currentTarget.dataset.key]: e.detail.value
})
},
- putaddStaff() {
+ //选择车型
+ changeModel(e) {
+ let car_id = ''
+ if(e.detail.value >= 0){
+ car_id = this.data.modelList[e.detail.value].id
+ }
+ this.setData({
+ car_id:car_id,
+ modelIndex:e.detail.value,
+ })
+ if(car_id != ''){
+ this.getAppSeriesAttrs()
+ }
+ },
+
+ //车型级别
+ changeLevel(e) {
+ let v_id = ''
+ if(e.detail.value >= 0){
+ v_id = this.data.levelList[e.detail.value].id
+ }
+ this.setData({
+ v_id:v_id,
+ levelIndex:e.detail.value,
+ })
+ },
+
+ //车型颜色
+ changeColor(e) {
+ let color_id = ''
+ if(e.detail.value >= 0){
+ color_id = this.data.colorList[e.detail.value].id
+ }
+ this.setData({
+ color_id:color_id,
+ colorIndex:e.detail.value,
+ })
+ },
+
+ //备选车型
+ changeSpare(e) {
+ let b_s_id = ''
+ if(e.detail.value >= 0){
+ b_s_id = this.data.modelList[e.detail.value].id
+ }
+ this.setData({
+ b_s_id:b_s_id,
+ spareIndex:e.detail.value,
+ })
+ },
+
+ //预计购车时间
+ buyDate(e){
+ this.setData({
+ buy_time: e.detail.value,
+ })
+ },
+
+ //新建客户
+ postAppCustomers() {
let that = this
- if (that.data.uname == '' ) {
+ if (that.data.name == '' ) {
wx.showToast({
- title: '请输入员工姓名',
+ title: '请输入客户姓名',
icon: 'none'
})
} else if (!/^1[3456789]\d{9}$/.test(that.data.mobile)){
wx.showToast({
- title: '请输入正确的手机号',
+ title: '请输入客户手机号',
+ icon: 'none'
+ })
+ }else if(that.data.car_id == '' ){
+ wx.showToast({
+ title: '请选择品牌车型',
+ icon: 'none'
+ })
+ }else if(that.data.v_id == '' ){
+ wx.showToast({
+ title: '请选择车型级别',
+ icon: 'none'
+ })
+ }else if(that.data.color_id == '' ){
+ wx.showToast({
+ title: '请选择车型颜色',
icon: 'none'
})
} else{
that.setData({
submitFlag: true,
})
-
let params = {};
- params['id'] = this.data.id;
- params['uname'] = that.data.uname;
+ params['name'] = that.data.name;
params['mobile'] = that.data.mobile;
- params['role'] = that.data.role?1:0;
- _.apiQuery.putDxtEmployeesInfo(params).then(res => {
+ params['car_id'] = that.data.car_id;
+ params['v_id'] = that.data.v_id;
+ params['color_id'] = that.data.color_id;
+ if(this.data.b_s_id != ''){
+ params['b_s_id'] = this.data.b_s_id;
+ }
+ if(this.data.buy_time != ''){
+ params['buy_time'] = this.data.buy_time;
+ }
+ _.apiQuery.postAppCustomers(params).then(res => {
wx.showModal({
- title: '添加成功',
+ title: '创建成功',
content: '',
- confirmText: "继续添加",
- confirmColor: "#1282e1",
+ confirmText: "继续创建",
+ confirmColor: "#36afa2",
cancelText: "返回",
- cancelColor: "#000000",
+ cancelColor: "#666",
success(res) {
if (res.confirm) {
that.setData({
- uname:'',
+ name:'',
mobile:'',
- role:false,
+ car_id:'',
+ v_id:'',
+ color_id:'',
+ b_s_id:'',
+ buy_time:'',
+ modelIndex:-1,
+ spareIndex:-1,
+ colorIndex:-1,
+ levelIndex:-1,
submitFlag:false,
})
} else if (res.cancel) {
@@ -58,6 +215,14 @@ Page({
delta: 1
})
}
+
+ let pages = getCurrentPages();
+ let prevPage = null; //上一个页面
+ if (pages.length >= 2) {
+ prevPage = pages[pages.length - 2]; //上一个页面
+ prevPage.onPullDownRefresh()
+ }
+
}
})
}).catch(res=>{
diff --git a/pages/customer/addCard/index.wxml b/pages/customer/addCard/index.wxml
index 8e0fce7..83f9882 100644
--- a/pages/customer/addCard/index.wxml
+++ b/pages/customer/addCard/index.wxml
@@ -4,7 +4,7 @@
客户姓名
-
+
@@ -14,51 +14,51 @@
- 品牌
+ 品牌车型
-
- 请选择
- {{c_time}}
-
+
+ 请选择
+ {{modelArray[modelIndex]}}
+
- 车型
+ 车型级别
-
- 请选择
- {{c_time}}
-
+
+ {{colorArray.length == 0?'请先选择品牌车型':'请选择'}}
+ {{levelArray[levelIndex]}}
+
- 颜色
+ 车型颜色
-
- 请选择
- {{c_time}}
-
+
+ {{colorArray.length == 0?'请先选择品牌车型':'请选择'}}
+ {{colorArray[colorIndex]}}
+
备选车型
-
- 请选择
- {{c_time}}
-
+
+ 请选择
+ {{modelArray[spareIndex]}}
+
预计购车时间
-
- 请选择
- {{c_time}}
+
+ 请选择
+ {{buy_time}}
@@ -66,7 +66,7 @@
-
+
diff --git a/pages/customer/detail/index.js b/pages/customer/detail/index.js
index 1097800..1e031d6 100644
--- a/pages/customer/detail/index.js
+++ b/pages/customer/detail/index.js
@@ -1,3 +1,5 @@
+import _ from '../../../commons/js/commons'
+const app = getApp()
Page({
data: {
tabid:1,
@@ -6,70 +8,181 @@ Page({
{"id":1,"title":"跟进记录"},
{"id":2,"title":"智能标签"}
],
- statusid:0,
- status:[
- {
- "id":0,
- "title":"未见潜客",
- check:true,
- },
- {
- "id":1,
- "title":"到店潜客",
- check:false,
- },
- {
- "id":2,
- "title":"订单客户",
- },
- {
- "id":3,
- "title":"战败客户",
- },
- ],
- isShowSelectStatus:false,
- step:[
- {
- id:0,
- time:'2020.6.18 21:00',
- content:'通过XX海报加入客户',
- },
- {
- id:1,
- time:'2020.6.18 21:00',
- content:'店员 康康 交易完成 获得佣金 370元',
- },
- {
- id:2,
- time:'2020.6.18 21:00',
- content:'变更状态为已处理短信+1(16)',
- },
- {
- id:3,
- time:'2020.6.18 21:00',
- content:'店长 jimmy 获取佣金130元 ',
- },
- ],
+ logslist: [],//日志列表
+ pageNo: 1,
+ noData: false,
+ end: false,
+ load: true,
+ loading: false,
+ statistics:[],//统计数据
+ isShowMessage:false,//是否显示短信弹窗
+ a_num:'',//到店次数
+ t_num:'',//试驾次数
+ statuskey:-10,//状态值
+ stateList:[],//状态数组
+ isShowSelectStatus:false,//是否变更状态弹窗
},
onLoad(options) {
+ for (let key in options) {
+ this.setData({
+ [key]: options[key]
+ })
+ }
+
+ this.getAppCustomers()
+ this.getAppCustomerData()
+ this.getAppCustomerlogs()
+ this.getAppCustomersTabs()
+
},
onshow() {
},
+
+ //获取客户详情
+ getAppCustomers(){
+ let params = {};
+ params['id'] = this.data.id;
+ _.apiQuery.getAppCustomers(params).then(res=>{
+ this.setData({
+ detailinfo:res.data,
+ //statuskey:res.data.status,
+ })
+ })
+ },
+
+ //获取客户详细信息
+ getAppCustomerData(){
+ let params = {};
+ params['id'] = this.data.id;
+ _.apiQuery.getAppCustomerData(params).then(res=>{
+ this.setData({
+ baseinfo:res.data.baseinfo
+ })
+ })
+ },
+
+ //获取日志
+ getAppCustomerlogs(){
+ this.setData({
+ load: false,
+ loading: true,
+ })
+ let params = {};
+ params['page'] = this.data.pageNo;
+ params['size'] = 10;
+ params['id'] = this.data.id;
+ _.apiQuery.getAppCustomerlogs(params).then(res => {
+ this.setData({
+ statistics:res.data.statistics?res.data.statistics:this.data.statistics,
+ pageNo: this.data.pageNo + 1,
+ logslist: this.data.logslist.concat(res.data.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()
+ });
+ },
+
//切换tab
changeTab(e){
this.setData({
tabid: this.data.tab[e.currentTarget.dataset.index].id,
})
- //this.searchSubmit()
},
- //单选
- radioPicker(e){
- if(e.currentTarget.dataset.id != this.data.statusid){
+ //显示短信弹框
+ showMessage(e){
+ this.setData({
+ isShowMessage:true,
+ content:'',
+ })
+ },
+
+ //关闭短信弹框
+ hideMessage(e){
+ this.setData({
+ isShowMessage:false,
+ })
+ },
+
+ //输入
+ inputTx(e) {
+ this.setData({
+ submitFlag: false,
+ [e.currentTarget.dataset.key]: e.detail.value
+ })
+ },
+
+ //发短信
+ postAppSmsCustomer(){
+ if (this.data.submitFlag) return;
+ if (this.data.content == '') {
+ wx.showToast({
+ title: '请填写短信内容',
+ icon: 'none'
+ })
+ } else {
this.setData({
- isSubmiting: false,
- statusid:e.currentTarget.dataset.id,
+ submitFlag: true,
+ })
+ let params = {};
+ params['id'] = this.data.id;
+ params['content'] = this.data.content;
+ _.apiQuery.postAppSmsCustomer(params).then(res=>{
+ this.setData({
+ isShowMessage:false,
+ submitFlag:false,
+ content:'',
+ })
+ wx.showToast({
+ title: res.msg,
+ icon: 'none'
+ })
+
+ this.onPullDownRefresh()
+
+ })
+ }
+ },
+
+ //状态
+ getAppCustomersTabs() {
+ _.apiQuery.getAppCustomersTabs().then(res => {
+ this.setData({
+ stateList:res.data,
+ })
+ });
+ },
+
+ //选择状态
+ radioPicker(e){
+ if(e.currentTarget.dataset.key != this.data.statuskey){
+ this.setData({
+ statuskey:e.currentTarget.dataset.key,
+ })
+ }
+ },
+
+ //到店试驾
+ checkPicker(e){
+ if(e.currentTarget.dataset.pointer == 'daodian'){
+ this.setData({
+ a_num:this.data.a_num == 1?'':1,
+ })
+ }
+ if(e.currentTarget.dataset.pointer == 'shijia'){
+ this.setData({
+ t_num:this.data.t_num == 1?'':1,
})
}
},
@@ -77,15 +190,73 @@ Page({
//显示变更状态
showSelectStatus(){
this.setData({
+ a_num:'',//到店次数
+ t_num:'',//试驾次数
+ statuskey:-10,//状态值
isShowSelectStatus:true,
})
},
- //确认变更状态
- hideSelectStatus(){
+ //取消变更状态
+ cancelSelectStatus(){
this.setData({
isShowSelectStatus:false,
})
},
+ //修改状态和到店次数、试驾次数
+ putAppCustomers(e){
+ let params = {};
+ params['id'] = this.data.id;
+ if(this.data.statuskey != -10){
+ params['status'] = this.data.statuskey;
+ }
+ if(this.data.t_num != ''){
+ params['t_num'] = this.data.t_num;
+ }
+ if(this.data.a_num != ''){
+ params['a_num'] = this.data.a_num;
+ }
+ _.apiQuery.putAppCustomers(params).then(res=>{
+ this.setData({
+ isShowSelectStatus:false,
+ })
+ wx.showToast({
+ title: res.msg,
+ icon: 'none'
+ })
+
+ this.onPullDownRefresh()
+
+ })
+ },
+
+ //推送链接
+ pushLink(e){
+ if(e.currentTarget.dataset.url){
+ _.$router.openUrlScheme(e.currentTarget.dataset.url)
+ }
+ },
+
+ //页面相关事件处理函数--监听用户下拉动作
+ onPullDownRefresh(){
+ this.setData({
+ logslist: [],
+ pageNo: 1,
+ noData: false,
+ end: false,
+ load: true,
+ loading: false,
+ })
+ this.getAppCustomers()
+ this.getAppCustomerData()
+ this.getAppCustomerlogs()
+ },
+
+ //页面上拉触底事件的处理函数
+ onReachBottom(){
+ if (this.data.noData || this.data.end||!this.data.load) return;
+ this.getAppCustomerlogs()
+ },
+
})
\ No newline at end of file
diff --git a/pages/customer/detail/index.json b/pages/customer/detail/index.json
index 8835af0..22aefbc 100644
--- a/pages/customer/detail/index.json
+++ b/pages/customer/detail/index.json
@@ -1,3 +1,6 @@
{
- "usingComponents": {}
+ "navigationBarTitleText": "客户详情",
+ "usingComponents": {
+
+ }
}
\ No newline at end of file
diff --git a/pages/customer/detail/index.wxml b/pages/customer/detail/index.wxml
index 14725e0..03fb699 100644
--- a/pages/customer/detail/index.wxml
+++ b/pages/customer/detail/index.wxml
@@ -1,46 +1,39 @@
-
+
- 潜客
+ {{detailinfo.tip}}
- 林先生
- (*382)
-
+ {{detailinfo.name}}
+ ({{detailinfo.mobile}})
+
- H级客户
- H级客户
- H级客户
- H级客户
- ...
+
+ {{tag}}
+
+
+ ...
+
-
+
-
+
-
- 品牌车型
- 东风EX1
-
-
- 品牌车型
- 东风EX1
-
-
- 品牌车型
- 东风EX1
-
-
- 品牌车型
- 东风EX1
-
+
+
+ {{key}}
+ {{value}}
+
+
+
+
-
-
+
+
+
+
+
+ {{key}}
+ {{value}}
-
+
+
+
+
+ {{item.val}}
+ {{item.name}}
+
+
+
+
+
+
+ 用户跟踪
+
+
+
+
+
+ {{item.c_time}}
+ {{item.content}}
+
+
+
+
+
+
+
+
+
@@ -121,21 +94,49 @@
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
- 修改状态
-
-
-
-
- {{item.title}}
-
+ 变更状态
+
+
+
+
+ {{item.name}}
+
+
+
+ {{item.name}}
+
+
+
+
+ 到店 +1次
+
+
+
+ 试驾 +1次
+
+
+
-
- 确定
+
+
+
\ No newline at end of file
diff --git a/pages/customer/detail/index.wxss b/pages/customer/detail/index.wxss
index 58d6002..822bedc 100644
--- a/pages/customer/detail/index.wxss
+++ b/pages/customer/detail/index.wxss
@@ -45,4 +45,9 @@
top: 50%;
transform: translate(-50%,-50%);
border-radius: 100%;
+}
+
+.orderDtail-log .orderDtail-log-content{
+ position:relative;
+ top:-20rpx;
}
\ No newline at end of file
diff --git a/pages/customer/index.js b/pages/customer/index.js
index 7170a3a..7451b1c 100644
--- a/pages/customer/index.js
+++ b/pages/customer/index.js
@@ -3,29 +3,25 @@ import popularData from '../../commons/js/lib/popularData';
const app = getApp()
Page({
data: {
- key:'',
- list: [],
+ key:'',//tab状态值
+ list: [],//客户列表
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
flag:1,
- s_time:'',
- e_time:'',
- if_driver:'',
- level:'',
- s_id:'',
- v_id:'',
- cfrom:'',
- o_type:'',
-
-
- isShowMessage:false,
- isShowfilter:true,
-
- timeSlotIndex:-1,
- timeSlot:[
+ s_time:'',//开始时间
+ e_time:'',//结束时间
+ if_driver:'',//是否试驾
+ level:'',//客户顶级
+ s_id:'',//车型id
+ v_id:'',//车型级别id
+ cfrom:'',//客户来源
+ o_type:'',//排序类型
+ isShowfilter:false,//是否显示筛查
+ timeSlotIndex:-1,//常用时间索引
+ timeSlot:[//常用时间数组
{
title:'今天',
},
@@ -39,8 +35,8 @@ Page({
title:'近三十天',
},
],
- testDriveIndex:-1,
- testDrive:[
+ testDriveIndex:-1,//是否试驾索引
+ testDrive:[//是否试驾数组
{
title:'全部',
},
@@ -51,13 +47,14 @@ Page({
title:'否',
},
],
-
- sortList:['建卡日期','最近联系','特别关注',],
- sortListIndex:0,
-
- levelIndex:-1,
- modelIndex:-1,
- cfromlndex:-1,
+ sortList:['建卡日期','最近联系','特别关注',],//排序数组
+ sortListIndex:0,//排序索引
+ levelIndex:-1,//意向等级索引
+ modelIndex:-1,//品牌车型索引
+ cfromIndex:-1,//客户来源索引
+ isShowMessage:false,//是否显示短信弹窗
+ content:'',//短信内容
+ isRefresh:false,//判断返回是否需要刷新
},
onLoad(options) {
for (let key in options) {
@@ -68,7 +65,6 @@ Page({
this.getAppCustomersTabs()
this.getAppCustomersFilter()
this.getAppSeriesCars()
-
},
onShow(){
@@ -89,6 +85,14 @@ Page({
});
},
+ //切换tab
+ changeTab(e){
+ this.setData({
+ key: this.data.tab[e.currentTarget.dataset.index].key,
+ })
+ this.searchSubmit()
+ },
+
//获取列表筛选条件
getAppCustomersFilter(){
_.apiQuery.getAppCustomersFilter().then(res => {
@@ -174,6 +178,19 @@ Page({
});
},
+ //置顶操作
+ optTop(e){
+ let params = {};
+ params['id'] = this.data.list[e.currentTarget.dataset.index].id;
+ params['is_top'] = this.data.list[e.currentTarget.dataset.index].is_top==1?0:1;
+ _.apiQuery.putAppCustomers(params).then(res=>{
+ this.setData({
+ ['list['+e.currentTarget.dataset.index+'].is_top']:this.data.list[e.currentTarget.dataset.index].is_top==1?0:1,
+ })
+ })
+ },
+
+ //候取常用时间段
getDateLater(){
popularData.getDateLater(0,0).then(res => {
this.setData({
@@ -197,14 +214,6 @@ Page({
})
},
- //切换tab
- changeTab(e){
- this.setData({
- key: this.data.tab[e.currentTarget.dataset.index].key,
- })
- this.searchSubmit()
- },
-
//拨打客户电话Yx
call(e) {
let params = {};
@@ -411,7 +420,7 @@ Page({
testDriveIndex:-1,
levelIndex:-1,
modelIndex:-1,
- cfromlndex:-1,
+ cfromIndex:-1,
})
},
@@ -420,6 +429,7 @@ Page({
this.setData({
messageId:e.currentTarget.dataset.id,
isShowMessage:true,
+ content:'',
})
},
@@ -430,6 +440,43 @@ Page({
})
},
+ //输入
+ inputTx(e) {
+ this.setData({
+ submitFlag: false,
+ [e.currentTarget.dataset.key]: e.detail.value
+ })
+ },
+
+ //发短信
+ postAppSmsCustomer(){
+ if (this.data.submitFlag) return;
+ if (this.data.content == '') {
+ wx.showToast({
+ title: '请填写短信内容',
+ icon: 'none'
+ })
+ } else {
+ this.setData({
+ submitFlag: true,
+ })
+ let params = {};
+ params['id'] = this.data.messageId;
+ params['content'] = this.data.content;
+ _.apiQuery.postAppSmsCustomer(params).then(res=>{
+ this.setData({
+ isShowMessage:false,
+ submitFlag:false,
+ content:'',
+ })
+ wx.showToast({
+ title: res.msg,
+ icon: 'none'
+ })
+ })
+ }
+ },
+
//推送链接
pushLink(e){
if(e.currentTarget.dataset.url){
@@ -438,7 +485,7 @@ Page({
},
//页面相关事件处理函数--监听用户下拉动作
- onPullDownRefresh: function () {
+ onPullDownRefresh(){
this.setData({
list: [],
pageNo: 1,
@@ -452,7 +499,7 @@ Page({
},
//页面上拉触底事件的处理函数
- onReachBottom: function () {
+ onReachBottom(){
if (this.data.noData || this.data.end||!this.data.load) return;
this.setData({
flag: this.data.flag + 1
diff --git a/pages/customer/index.wxml b/pages/customer/index.wxml
index 215f5fc..dae7f4f 100644
--- a/pages/customer/index.wxml
+++ b/pages/customer/index.wxml
@@ -42,7 +42,7 @@
{{item.name}}
({{item.mobile}})
-
+
@@ -80,11 +80,11 @@
-
+
取消
- 确定
+ 确定
@@ -155,9 +155,9 @@
客户来源
-
- 请选择
- {{filter.cfrom[cfromlndex]}}
+
+ 请选择
+ {{filter.cfrom[cfromIndex]}}