727 lines
18 KiB
JavaScript
727 lines
18 KiB
JavaScript
import _ from '../../../commons/js/commons'
|
|
const app = getApp()
|
|
Page({
|
|
data: {
|
|
name: '', //名字
|
|
mobile: '', //手机号
|
|
// v_id:'',//车辆版本id
|
|
// color_id:'',//颜色id
|
|
// b_s_id:'',//备选车型id
|
|
buy_time: '', //预计购车时间
|
|
// brandIndex:-1,//车辆品牌索引
|
|
// modelIndex:-1,//车系车型索引
|
|
// spareIndex:-1,//备选车型索引
|
|
// colorArray:[],//车身颜色列表
|
|
// levelArray:[],//车辆版本列表
|
|
// colorIndex:-1,//车身颜色索引
|
|
// levelIndex:-1,//车辆版本索引
|
|
timeArray: [], //预计购车时间列表
|
|
timeIndex: -1, //预计购车时间索引
|
|
|
|
submitFlag: false,
|
|
|
|
status: 0, //状态
|
|
statuslist: [
|
|
'未见客户',
|
|
],
|
|
|
|
c_brands: [
|
|
'综合', '东风纳米', '哪吒', '零跑'
|
|
],
|
|
|
|
c_brandArray: [
|
|
// {id:0, name:'综合'},
|
|
// {id:1, name:'东风纳米'},
|
|
// {id:4, name:'哪吒'},
|
|
// {id:5, name:'零跑'},
|
|
],
|
|
|
|
of2_id: '',
|
|
of2Index: -1,
|
|
|
|
provinceIndex: -1,
|
|
province_id: '',
|
|
cityIndex: -1,
|
|
city_id: '',
|
|
countyIndex: -1,
|
|
county_id: '',
|
|
c_brandIndex: -1,
|
|
|
|
isShowExist: false, //客户是否已存在
|
|
wxgr: 0, //是否添加个微
|
|
wxgrimg: '', //个微
|
|
wxgrimg_url: '', //个微
|
|
brand_name: '', //品牌名称
|
|
brand_id: 0,
|
|
brand_page_show: false,
|
|
brandIndex: -1, //车辆品牌索引
|
|
series_id: '', //车系id
|
|
modelArray: [],
|
|
modelIndex: -1, //车系车型索引
|
|
car_id: '', //车型id
|
|
carIndex: -1, //车型索引
|
|
carArray: [],
|
|
},
|
|
//生命周期函数--监听页面加载
|
|
onLoad: function (options) {
|
|
for (let key in options) {
|
|
this.setData({
|
|
[key]: options[key]
|
|
})
|
|
}
|
|
//获取车型品牌
|
|
// this.getAppSeriesBrands()
|
|
//获取列表筛选条件-时间
|
|
this.getAppCustomersFilter()
|
|
//客户来源
|
|
this.getAppCustomersOffline_sources()
|
|
//客户标签
|
|
this.getAppCustomersTag()
|
|
|
|
if (this.data.status == 1) {
|
|
this.setData({
|
|
buy_time: 3,
|
|
})
|
|
}
|
|
|
|
},
|
|
|
|
//获取车型品牌
|
|
getAppSeriesBrands() {
|
|
_.apiQuery.getAppSeriesBrands().then(res => {
|
|
if (res.data.list.length > 0) {
|
|
let brandArray = []
|
|
res.data.list.forEach(item => {
|
|
brandArray.push(item.name)
|
|
})
|
|
this.setData({
|
|
brandArray: brandArray,
|
|
brandList: res.data.list,
|
|
})
|
|
}
|
|
});
|
|
},
|
|
|
|
//获取车系车型
|
|
getAppSeries() {
|
|
let params = {};
|
|
params['brand_id'] = this.data.brand_id;
|
|
_.apiQuery.getAppSeries(params).then(res => {
|
|
if (res.data.list.length > 0) {
|
|
let modelArray = []
|
|
res.data.list.forEach(item => {
|
|
modelArray.push(item.name)
|
|
})
|
|
this.setData({
|
|
modelArray: modelArray,
|
|
modelList: res.data.list,
|
|
})
|
|
}
|
|
});
|
|
},
|
|
|
|
//获取车辆版本
|
|
getAppSeriesAttrslevel() {
|
|
let params = {};
|
|
params['id'] = this.data.car_id;
|
|
params['type'] = 0;
|
|
_.apiQuery.getAppSeriesAttrs(params).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,
|
|
})
|
|
}
|
|
});
|
|
},
|
|
|
|
//获取车身颜色
|
|
getAppSeriesAttrscolor() {
|
|
let params = {};
|
|
params['id'] = this.data.car_id;
|
|
params['type'] = 1;
|
|
params['v_id'] = this.data.v_id;
|
|
_.apiQuery.getAppSeriesAttrs(params).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,
|
|
})
|
|
}
|
|
});
|
|
},
|
|
|
|
//获取列表筛选条件-时间
|
|
getAppCustomersFilter() {
|
|
_.apiQuery.getAppCustomersFilter().then(res => {
|
|
let timeArray = []
|
|
res.data.buy_time.forEach(item => {
|
|
timeArray.push(item.name)
|
|
})
|
|
this.setData({
|
|
timeArray: timeArray,
|
|
timeList: res.data.buy_time,
|
|
timeIndex: -1,
|
|
})
|
|
});
|
|
},
|
|
|
|
//输入
|
|
inputTx(e) {
|
|
this.setData({
|
|
submitFlag: false,
|
|
[e.currentTarget.dataset.key]: e.detail.value
|
|
})
|
|
},
|
|
|
|
//选择状态
|
|
changeStatus(e) {
|
|
if (this.data.status != e.detail.value) {
|
|
this.setData({
|
|
of2_id: '',
|
|
of2Index: -1,
|
|
of2Arr: [],
|
|
status: e.detail.value,
|
|
buy_time: e.detail.value == 1 ? '3' : '',
|
|
})
|
|
this.getAppCustomersOffline_sources()
|
|
}
|
|
},
|
|
|
|
//选择品牌
|
|
changeBrand(e) {
|
|
if (this.data.brandIndex != e.detail.value && e.detail.value >= 0) {
|
|
this.setData({
|
|
brand_id: this.data.brandList[e.detail.value].id,
|
|
brandIndex: e.detail.value,
|
|
car_id: '', //车系id
|
|
v_id: '', //车辆版本id
|
|
color_id: '', //车身颜色id
|
|
incolor_id: '', //内饰颜色id
|
|
b_s_id: '', //备选车型id
|
|
modelIndex: -1, //车系车型索引
|
|
spareIndex: -1, //备选车型索引
|
|
colorArray: [], //车身颜色列表
|
|
levelArray: [], //车辆版本列表
|
|
interiorArray: [], //内饰颜色
|
|
colorIndex: -1, //车身颜色索引
|
|
levelIndex: -1, //车辆版本索引
|
|
interiorIndex: -1, //内饰颜色索引
|
|
})
|
|
this.getAppSeries()
|
|
}
|
|
},
|
|
|
|
//选择车系
|
|
changeModel(e) {
|
|
if (this.data.modelIndex != e.detail.value && e.detail.value >= 0) {
|
|
this.setData({
|
|
series_id: this.data.modelList[e.detail.value].id,
|
|
modelIndex: e.detail.value,
|
|
// car_id: '', //车辆版本id
|
|
// carArray: [], //车辆版本列表
|
|
// business_type: 0,
|
|
})
|
|
// this.getAppSeriesCarlevel()
|
|
}
|
|
},
|
|
//获取车辆版本
|
|
getAppSeriesCarlevel() {
|
|
let params = {};
|
|
params['series_id'] = this.data.series_id;
|
|
_.apiQuery.getAppSeriesCars(params).then(res => {
|
|
if (res.data.total > 0) {
|
|
let carArray = []
|
|
res.data.list.forEach(item => {
|
|
carArray.push(item.name)
|
|
})
|
|
this.setData({
|
|
carArray: carArray,
|
|
carList: res.data.list,
|
|
carIndex: -1,
|
|
})
|
|
}
|
|
});
|
|
},
|
|
//车辆版本
|
|
changeCar(e) {
|
|
if (this.data.levelIndex != e.detail.value && e.detail.value >= 0) {
|
|
this.setData({
|
|
car_id: this.data.carList[e.detail.value].id,
|
|
carIndex: e.detail.value,
|
|
})
|
|
}
|
|
},
|
|
|
|
//备选车型
|
|
changeSpare(e) {
|
|
if (this.data.spareIndex != e.detail.value && e.detail.value >= 0) {
|
|
this.setData({
|
|
b_s_id: this.data.modelList[e.detail.value].id,
|
|
spareIndex: e.detail.value,
|
|
})
|
|
}
|
|
},
|
|
|
|
//预计购车时间
|
|
changeTime(e) {
|
|
this.setData({
|
|
buy_time: this.data.timeList[e.detail.value].id,
|
|
timeIndex: e.detail.value,
|
|
})
|
|
},
|
|
|
|
//新建客户
|
|
postAppCustomers() {
|
|
let that = this
|
|
if (that.data.name == '') {
|
|
wx.showToast({
|
|
title: '请输入客户姓名',
|
|
icon: 'none'
|
|
})
|
|
} else if (!/^1[3456789]\d{9}$/.test(that.data.mobile)) {
|
|
wx.showToast({
|
|
title: '请输入正确的手机号码',
|
|
icon: 'none'
|
|
})
|
|
} else if (that.data.of2Arr.length > 0 && that.data.of2_id == '') {
|
|
wx.showToast({
|
|
title: '请选择客户来源',
|
|
icon: 'none'
|
|
})
|
|
} else if (that.data.province_id == '') {
|
|
wx.showToast({
|
|
title: '请选择所在省份',
|
|
icon: 'none'
|
|
})
|
|
} else if (that.data.city_id == '') {
|
|
wx.showToast({
|
|
title: '请选择所在城市',
|
|
icon: 'none'
|
|
})
|
|
} else if (that.data.county_id == '') {
|
|
wx.showToast({
|
|
title: '请选择所在地区',
|
|
icon: 'none'
|
|
})
|
|
} else if (that.data.buy_time == '') {
|
|
wx.showToast({
|
|
title: '请选择预计购车时间',
|
|
icon: 'none'
|
|
})
|
|
} else if (this.data.wxgr == 1 && this.data.wxgrimg == '') {
|
|
wx.showToast({
|
|
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['status'] = that.data.status;
|
|
params['name'] = that.data.name;
|
|
params['mobile'] = that.data.mobile;
|
|
// params['car_id'] = that.data.car_id;
|
|
// params['v_id'] = that.data.v_id;
|
|
// params['color_id'] = that.data.color_id;
|
|
params['tag'] = that.data.taglList;
|
|
// if(this.data.b_s_id != ''){
|
|
// params['b_s_id'] = this.data.b_s_id;
|
|
// }
|
|
if (this.data.c_brandIndex != -1) {
|
|
params['c_brand'] = this.data.c_brandArray[this.data.c_brandIndex].id;
|
|
}
|
|
if (this.data.of2_id != '') {
|
|
params['of2_id'] = this.data.of2_id;
|
|
}
|
|
params['wxgr'] = this.data.wxgr;
|
|
if (this.data.wxgr == 1) {
|
|
params['wxgrimg'] = this.data.wxgrimg;
|
|
}
|
|
params['province_id'] = this.data.province_id;
|
|
params['city_id'] = this.data.city_id;
|
|
params['county_id'] = this.data.county_id;
|
|
params['buy_time'] = this.data.buy_time;
|
|
params['brand_id'] = this.data.brand_id;
|
|
params['series_id'] = this.data.series_id;
|
|
params['car_id'] = this.data.car_id;
|
|
_.apiQuery.postAppCustomers(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.onPullDownRefresh()
|
|
}
|
|
}
|
|
|
|
wx.showModal({
|
|
title: '创建成功',
|
|
content: '',
|
|
confirmText: "继续创建",
|
|
confirmColor: "#36afa2",
|
|
cancelText: "返回",
|
|
cancelColor: "#666",
|
|
success(res) {
|
|
if (res.confirm) {
|
|
that.setData({
|
|
name: '', //名字
|
|
mobile: '', //手机号
|
|
// brand_id:'',//品牌
|
|
// car_id:'',//车系id
|
|
// v_id:'',//车辆版本id
|
|
// color_id:'',//颜色id
|
|
// b_s_id:'',//备选车型id
|
|
buy_time: '', //预计购车时间
|
|
// brandIndex:-1,//车辆品牌索引
|
|
// modelIndex:-1,//车系车型索引
|
|
// spareIndex:-1,//备选车型索引
|
|
// colorArray:[],//车身颜色列表
|
|
// levelArray:[],//车辆版本列表
|
|
// colorIndex:-1,//车身颜色索引
|
|
// levelIndex:-1,//车辆版本索引
|
|
timeIndex: -1, //预计购车时间索引
|
|
submitFlag: false,
|
|
|
|
of2_id: '',
|
|
of2Arr: [],
|
|
of2Index: -1,
|
|
})
|
|
that.getAppCustomersTag()
|
|
} else if (res.cancel) {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
}
|
|
|
|
}
|
|
})
|
|
}).catch(res => {
|
|
this.setData({
|
|
submitFlag: false,
|
|
})
|
|
if (res.data.id) {
|
|
wx.hideToast();
|
|
this.setData({
|
|
isShowExist: true,
|
|
exist: res,
|
|
})
|
|
}
|
|
});
|
|
}
|
|
},
|
|
|
|
//客户来源
|
|
getAppCustomersOffline_sources() {
|
|
let params = {};
|
|
params['status'] = this.data.status;
|
|
_.apiQuery.getAppCustomersOffline_sources(params).then(res => {
|
|
let of2Arr = []
|
|
res.data.forEach(item => {
|
|
of2Arr.push(item['name'])
|
|
})
|
|
this.setData({
|
|
of2Arr: of2Arr,
|
|
sources: res.data
|
|
})
|
|
});
|
|
},
|
|
|
|
//客户来源
|
|
changeOf1(e) {
|
|
if (this.data.of2Index != e.detail.value) {
|
|
this.setData({
|
|
of2_id: this.data.sources[e.detail.value].id,
|
|
of2Index: e.detail.value,
|
|
})
|
|
}
|
|
},
|
|
|
|
//客户标签
|
|
getAppCustomersTag() {
|
|
_.apiQuery.getAppCustomersTag().then(res => {
|
|
this.setData({
|
|
province_id: res.data.province_id,
|
|
city_id: res.data.city_id,
|
|
county_id: res.data.county_id,
|
|
taglList: res.data.tags && res.data.tags.length > 0 ? res.data.tags : [],
|
|
})
|
|
this.data.c_brandArray.forEach((item, index) => {
|
|
if (res.data.c_brand == item.id) {
|
|
this.setData({
|
|
c_brandIndex: index
|
|
})
|
|
}
|
|
})
|
|
//获取省份
|
|
this.getAppCityArea_province()
|
|
//获取城市
|
|
this.getAppCityArea_city()
|
|
//获取地区
|
|
this.getAppCityArea_county()
|
|
});
|
|
},
|
|
|
|
//单选
|
|
radioPicker(e) {
|
|
let taglList = this.data.taglList
|
|
taglList[e.currentTarget.dataset.i].list.forEach(item => {
|
|
item.checked = false
|
|
})
|
|
taglList[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked = true
|
|
this.setData({
|
|
taglList,
|
|
})
|
|
},
|
|
|
|
//多选
|
|
checkPicker(e) {
|
|
this.setData({
|
|
['taglList[' + e.currentTarget.dataset.i + '].list[' + e.currentTarget.dataset.j + '].checked']: !this.data.taglList[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
|
|
})
|
|
},
|
|
|
|
//获取省份
|
|
getAppCityArea_province() {
|
|
let params = {};
|
|
_.apiQuery.getAppCityArea(params).then(res => {
|
|
let provinceArr = []
|
|
let provinceIndex = -1
|
|
res.data.list.forEach((item, index) => {
|
|
provinceArr.push(item.name)
|
|
if (this.data.province_id == item.id) {
|
|
provinceIndex = index
|
|
}
|
|
})
|
|
this.setData({
|
|
provinceIndex,
|
|
provinceArr,
|
|
province: res.data.list
|
|
})
|
|
});
|
|
},
|
|
//获取城市
|
|
getAppCityArea_city() {
|
|
let params = {};
|
|
params['type'] = 'city';
|
|
params['pid'] = this.data.province_id;
|
|
_.apiQuery.getAppCityArea(params).then(res => {
|
|
let cityArr = []
|
|
let cityIndex = -1
|
|
res.data.list.forEach((item, index) => {
|
|
cityArr.push(item.name)
|
|
if (this.data.city_id == item.id) {
|
|
cityIndex = index
|
|
}
|
|
})
|
|
this.setData({
|
|
cityIndex,
|
|
cityArr,
|
|
city: res.data.list
|
|
})
|
|
});
|
|
},
|
|
|
|
//获取行政区
|
|
getAppCityArea_county() {
|
|
let params = {};
|
|
params['pid'] = this.data.city_id;
|
|
params['type'] = 'county';
|
|
_.apiQuery.getAppCityArea(params).then(res => {
|
|
let countyArr = []
|
|
let countyIndex = -1
|
|
res.data.list.forEach((item, index) => {
|
|
countyArr.push(item.name)
|
|
if (this.data.county_id == item.id) {
|
|
countyIndex = index
|
|
}
|
|
})
|
|
this.setData({
|
|
countyIndex,
|
|
countyArr,
|
|
county: res.data.list
|
|
})
|
|
});
|
|
},
|
|
|
|
//选择城市
|
|
changeCbrand(e) {
|
|
if (this.data.c_brandIndex != e.detail.value) {
|
|
this.setData({
|
|
c_brandIndex: e.detail.value,
|
|
})
|
|
}
|
|
},
|
|
//选择省份
|
|
changeProvince(e) {
|
|
if (this.data.provinceIndex != e.detail.value) {
|
|
this.setData({
|
|
provinceIndex: e.detail.value,
|
|
province_id: this.data.province[e.detail.value].id,
|
|
city_id: '',
|
|
cityIndex: -1,
|
|
|
|
countyIndex: -1,
|
|
county_id: '',
|
|
})
|
|
}
|
|
this.getAppCityArea_city()
|
|
},
|
|
//选择城市
|
|
changeCity(e) {
|
|
if (this.data.cityIndex != e.detail.value) {
|
|
this.setData({
|
|
cityIndex: e.detail.value,
|
|
city_id: this.data.city[e.detail.value].id,
|
|
})
|
|
this.getAppCityArea_county()
|
|
}
|
|
},
|
|
|
|
//选择地区
|
|
changeCounty(e) {
|
|
if (this.data.countyIndex != e.detail.value) {
|
|
this.setData({
|
|
countyIndex: e.detail.value,
|
|
county_id: this.data.county[e.detail.value].id,
|
|
})
|
|
}
|
|
},
|
|
|
|
//查看存在客户信息
|
|
viewDetails(e) {
|
|
wx.redirectTo({
|
|
url: '/pages/customer/detail/index?id=' + this.data.exist.data.id
|
|
})
|
|
},
|
|
|
|
//关闭客户已存在提示
|
|
colseExist() {
|
|
this.setData({
|
|
isShowExist: false,
|
|
})
|
|
},
|
|
|
|
//是否添加个微
|
|
switchWxgr: function (e) {
|
|
this.setData({
|
|
wxgr: e.detail.value ? 1 : 0
|
|
})
|
|
},
|
|
|
|
//选择图片
|
|
chooseImg(e) {
|
|
let that = this
|
|
|
|
//上传个微截图
|
|
if (e.currentTarget.dataset.type == 'gw_img') {
|
|
wx.chooseImage({
|
|
count: 1, // 默认9
|
|
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
|
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
|
success(res) {
|
|
wx.showLoading({
|
|
title: '上传中',
|
|
})
|
|
wx.uploadFile({
|
|
url: _.config.api.upImg,
|
|
filePath: res.tempFilePaths[0],
|
|
name: 'img',
|
|
formData: {
|
|
'app': 'liche'
|
|
},
|
|
success: (resp) => {
|
|
resp.data = JSON.parse(resp.data);
|
|
if (resp.data.code == 200) {
|
|
wx.hideLoading();
|
|
that.setData({
|
|
wxgrimg: resp.data.data.url,
|
|
wxgrimg_url: resp.data.data.full_url,
|
|
})
|
|
} else {
|
|
wx.hideLoading();
|
|
wx.showToast({
|
|
title: '上传失败',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
}
|
|
},
|
|
})
|
|
},
|
|
fail: res => {
|
|
wx.showToast({
|
|
title: '文件选择失败',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
}
|
|
})
|
|
}
|
|
|
|
},
|
|
|
|
//查看图片
|
|
previewImage(e) {
|
|
if (e.currentTarget.dataset.type == 'gw_img') {
|
|
wx.previewImage({
|
|
current: this.data.wxgrimg_url,
|
|
urls: [this.data.wxgrimg_url],
|
|
})
|
|
}
|
|
},
|
|
//显示选择品牌
|
|
bindShowBrand() {
|
|
this.setData({
|
|
brand_page_show: true
|
|
})
|
|
},
|
|
//获取品牌信息
|
|
getBrandData(e) {
|
|
console.log(e.detail)
|
|
if (e.detail.index > -1 && e.detail.item) {
|
|
this.setData({
|
|
brand_id: e.detail.item.id,
|
|
brand_name: e.detail.item.name,
|
|
brandIndex: e.detail.index,
|
|
series_id: '', //车系id
|
|
modelArray: [],
|
|
modelIndex: -1, //车系车型索引
|
|
car_id: '', //车系id
|
|
carArray: [], //车辆版本列表
|
|
carIndex: -1, //车辆版本索引
|
|
})
|
|
this.getAppSeries()
|
|
}
|
|
}
|
|
}) |