123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903 |
- const app = getApp();
- const webSocket = require('../../utils/websocket.js');
- Page({
- data: {
- multiArray: [], // 地址-数据
- step: 0, // 地址
- multiIndex: [0, 0, 0], // 地址-下标
- CityRecord: '', //城市记录
- areaRecord: '', //区域记录
- CityRecordid: [], //下标记录
- UsedRecord: false, //是否初次
- provincename:'', // 省
- cityname: '', // 市
- areaname: '', // 区
- heightid: 0,
- heightArray: [], // 身高-数据
- heightindex: [0, 0], // 身高-下标
- Ageid: 0,
- AgeArray: [], // 年龄-数据
- AgeIndex: [0, 0], // 年龄-下标
- MarriageArray: [], // 婚史-数据
- Marriageindex: '', // 婚史-下标
- EducationArray: [], // 学历-数据
- Educationindex: '', // 学历-下标
- nickname: '',//ID
- sex: 0, // 性别
- age: 0, // 年龄
- height: 0, // 身高
- province: 0, // 省
- city: 0, // 市
- area: 0, // 区
- education: 0, // 学历
- marry: 0, // 婚史
- income:0,
- // income: '', // 收入
- // occupation: '', // 职业
- // home: '', //列表信息
- // tab: [true, true, true, true],
- home: [], //定义列表信息数组
- // tabTxt: ['性别', '年龄', '婚史', '特色'],//tab文案
- page: 1,//当前页码
- limit: 10,//获取条数
- morehide: false, //暂无更多信息显示隐藏
- moreTxt: '',
- },
- onLoad: function (options) {
-
- webSocket.connectSocket();
- },
- onShow: function (options) {
- var that = this;
- that.setData({
- page: 1,//当前页码
- })
- getApp().showLoading(); //提示加载中
-
- // console.log(app.globalData.height);
- // console.log(app.globalData.marry);
- // console.log(app.globalData.education);
- // console.log(app.globalData.income);
- var _Selection = app.globalData.Selection // 是否选中 1选中 0没选中
- // console.log(_Selection);
- var _income = app.globalData.income // 收入
- that.setData({
- UsedRecord: false,
- CityRecord: '',
- areaRecord:'',
- multiIndex: [0, 0, 0], // 地址-下标
- step: 0,
- })
- if (app.globalData.income){
- that.setData({
- income: _income,
- })
- } else if (app.globalData.income == 0 && _Selection == 1) { //判断筛选页面 是否清空数据 同时 是否选中,而不是返回
- that.setData({
- income: _income,
- })
- }
- // console.log(that.data.provincename);
- // console.log(that.data.cityname);
- // console.log(that.data.areaname);
- var _province = app.globalData.province // 省
- var _city = app.globalData.city // 市
- var _area = app.globalData.area // 区
- if (_province && _city && _area) {
- that.setData({
- province: _province,
- city: _city,
- area: _area,
- })
- // console.log(_province);
- // console.log(_city);
- // console.log(_area);
- } else if (_city == 0 && _Selection == 1) { //判断筛选页面 是否清空数据 同时 是否选中,而不是返回
- that.setData({
- province: _province,
- city: _city,
- area: _area,
- })
- }
- var _provincename = app.globalData.provincename // 省
- var _cityname = app.globalData.cityname // 市
- var _areaname = app.globalData.areaname // 区
-
- if (_provincename && _cityname && _areaname) {
- that.setData({
- provincename: _provincename,
- cityname: _cityname,
- areaname: _areaname,
- step : 0,
- })
- // console.log(_provincename);
- // console.log(_cityname);
- // console.log(_areaname);
- } else if (_cityname == 0 && _Selection == 1) { //判断筛选页面 是否清空数据 同时 是否选中,而不是返回
- that.setData({
- provincename: _provincename,
- cityname: _cityname,
- areaname: _areaname,
- step: 0,
- })
- }
- // that.setData({
- // // nickname: that.options.nickname, //姓名
- // age: that.options.age, // 年龄
- // height: that.options.height, // 身高
- // // province: that.options.province, // 市
- // // city: that.options.city, // 市
- // // area: that.options.area, // 区
- // education: that.options.education, // 学历
- // income: that.options.income, // 收入
- // });
-
-
- // 年龄 ajax
- let Age_url = 'public/paramsgather?type=age';
- let Age_data = {};
- if (app.globalData.age){ //判断 是否从筛选页面传来的参数
- // console.log(app.globalData.age);
- var _age = app.globalData.age // 年龄
- var agenewArry = _age.split("-"); //转成数组
- var _age_min = agenewArry[0]
- var _age_max = agenewArry[1]
- // console.log(_age_min)
- // console.log(_age_max)
- that.setData({
- Ageid: 0,
- age: _age
- })
- } else if (app.globalData.age == 0 && _Selection == 1) { //判断筛选页面 是否清空数据 同时 是否选中,而不是返回
- var _age = app.globalData.age // 年龄
- that.setData({
- age: _age,
- Ageid :0,
- AgeIndex: ['', '']
- })
- }
- app.postRequest(Age_url, Age_data, function (res) { // 年龄 ajax
- if (res.code == 201) {
- if (app.globalData.age){
- for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
- if (res.data[i] == _age_min) { var _min = i; }
- if (res.data[i] == _age_max) { var _max = i; }
- that.setData({
- AgeIndex: [_min, _max]
- })
- }
- }
- let dictObject = res.data; //对象不能直接使用 以下转成数组
- // 对象转成数组
- var createArr = []
- for (let i in dictObject) {
- createArr.push(dictObject[i] + "岁");
- }
- that.setData({
- AgeArray: [createArr, createArr],
- })
- // console.log(createArr);
- }
- })
-
- // 身高 ajax
- let height_url = 'public/paramsgather?type=height';
- let height_data = {
- pid: '0'
- };
- if (app.globalData.height) { //判断 是否从筛选页面传来的参数
- // console.log(app.globalData.height);
- var _height = app.globalData.height // 身高
- var heightnewArry = _height.split("-"); //转成数组
- var heightSmall = heightnewArry[0]
- var heightlarge = heightnewArry[1]
- // console.log(heightSmall)
- // console.log(heightlarge)
- that.setData({
- height: _height,
- heightid:0
- })
- } else if (app.globalData.height == 0 && _Selection == 1) { //判断筛选页面 是否清空数据 同时 是否选中,而不是返回
- var _height = app.globalData.height // 身高
- that.setData({
- height: _height,
- heightid: 0,
- heightindex: ['', ''], // 身高-下标
- })
- }
- app.postRequest(height_url, height_data, function (res) { // 身高 ajax
- if (res.code == 201) {
- if (app.globalData.height) {
- for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
- // console.log(res.data[i])
- if (res.data[i] == heightSmall) { var _min = i; }
- if (res.data[i] == heightlarge) { var _max = i; }
- that.setData({
- heightindex: [_min, _max]
- })
- }
- }
- let dictObject = res.data; //对象不能直接使用 以下转成数组
- // 对象转成数组
- var createArr = []
- for (let i in dictObject) {
- createArr.push(dictObject[i] + "cm");
- }
- // console.log(createArr);
- that.setData({
- heightArray: [createArr, createArr],
- })
- }
- })
- // 婚史 ajax
- let Marriage_url = 'public/paramsgather?type=marriage';
- let Marriage_data = {};
- if (app.globalData.marry) { //判断 是否从筛选页面传来的参数
- // console.log(app.globalData.marry);
- var _marry = app.globalData.marry // 婚姻
- that.setData({
- marry: _marry
- })
- } else if (app.globalData.marry == 0 && _Selection == 1) { //判断筛选页面 是否清空数据 同时 是否选中,而不是返回
- var _marry = app.globalData.marry // 婚姻
- that.setData({
- marry: _marry,
- Marriageindex: "", // 身高-下标
- })
- }
- app.postRequest(Marriage_url, Marriage_data, function (res) { // 婚史 ajax
- if (res.code == 201) {
- if (app.globalData.marry) {
- for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
- if (i == _marry) {
- that.setData({
- Marriageindex: i,
- })
- }
- }
- }
- that.setData({
- MarriageArray: res.data
- })
- }
- })
- // 学历 ajax
- let Education_url = 'public/paramsgather?type=xueli';
- let Education_data = {};
- if (app.globalData.education) { //判断 是否从筛选页面传来的参数
- // console.log(app.globalData.marry);
- var _education = app.globalData.education // 学历
- that.setData({
- education: _education
- })
- } else if (app.globalData.education == 0 && _Selection == 1) { //判断筛选页面 是否清空数据 同时 是否选中,而不是返回
- var _education = app.globalData.education // 学历
- that.setData({
- education: _education,
- Educationindex: "", // 学历-下标
- })
- }
- app.postRequest(Education_url, Education_data, function (res) { // 学历 ajax
- if (res.code == 201) {
- if (app.globalData.education) {
- for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
- if (res.data[i].id == _education) {
- that.setData({
- Educationindex: i,
- })
- }
- }
- }
- that.setData({
- EducationArray: res.data
- })
- }
- })
-
- that.getProvince(); //地址 ajax
- that.list();
- },
- // 会员编码
- getPhone: function (e) {
- var nickname = e.detail.value;
- console.log(nickname);
- this.setData({
- nickname: nickname
- });
- },
- // 会员编码查询
- Code: function (e) {
- var that = this;
- // 判断会员编码是否存在
- if (that.data.nickname){
- that.showLoading(); //提示加载中
- // 列表信息
- let home_url = 'circle/friend/home';
- let home_data = {
- page: that.data.page,
- limit: that.data.limit,
- number: that.data.nickname, // 性别
- };
- app.postRequest(home_url, home_data, function (res) {
- if (res.code == 201) {
- // console.log(res.data);
- that.setData({
- home: res.data,
- })
- that.cancelLoading(); //数据加载完关闭
- return;
- }
- that.cancelLoading(); //数据加载完关闭
- that.setData({
- home_code: res.code,
- morehide: true,
- moreTxt: '暂无更多数据。'
- })
-
- })
- }else{
- var fail = '请输入会员编号' //调用提示框
- getApp().Tips(fail)
- }
-
- },
- heightEvent: function (e) { // 身高
- var that = this;
- // console.log(this);
- // console.log(e);
- // console.log(this.data.heightArray[e.detail.value]);
- // console.log('picker发送选择改变,携带值为', e.detail.value)
- var heightSmall = this.data.heightArray[0][e.detail.value[0]].substring(0, 3);
- var heightlarge = this.data.heightArray[1][e.detail.value[1]].substring(0, 3);
- var heightdata = heightSmall + '-' + heightlarge;
- // console.log(heightdata)
- this.setData({
- heightindex: e.detail.value,
- height: heightdata,
- heightid: 1,
- })
- that.list();
- },
- // 年龄双选
- AgeEvent: function (e) {
- var that = this;
- // console.log('picker发送选择改变,携带值为', e.detail.value)
- var Small = this.data.AgeArray[0][e.detail.value[0]].substring(0, 2);
- var large = this.data.AgeArray[1][e.detail.value[1]].substring(0, 2);
- var Agedata = Small + '-' + large;
- // console.log(Agedata);
- this.setData({
- AgeIndex: e.detail.value,
- age: Agedata,
- Ageid: 1,
- page:1,
- })
- that.list(); //调用筛选
- },
- MarriageEvent: function (e) { // 婚史 单项选择器
- var that = this;
- // console.log(this);
- // console.log(e);
- // console.log(this.data.MarriageArray[e.detail.value]);
- // console.log('picker发送选择改变,携带值为', e.detail.value)
- this.setData({
- Marriageindex: e.detail.value,
- marry: e.detail.value,
- page: 1,
- })
- that.list(); //调用筛选
- },
- EducationEvent: function (e) { // 学历 单项选择器
- var that = this;
- // console.log(this);
- // console.log(e);
- // console.log(this.data.EducationArray[e.detail.value].id);
- // console.log('picker发送选择改变,携带值为', e.detail.value)
- this.setData({
- Educationindex: e.detail.value,
- education: this.data.EducationArray[e.detail.value].id,
- page: 1,
- })
- that.list(); //调用筛选
- },
- // 列表切换
- // filterTab: function (e) {
- // var data = [true, true, true, true], qhid = e.currentTarget.dataset.qhid;
- // // console.log(e.currentTarget.dataset.qhid);
- // data[qhid] = !this.data.tab[qhid];
- // // console.log(!this.data.tab[qhid]);
- // this.setData({
- // tab: data,
- // })
- // },
- getProvince() { // 多项选择器
- let _this = this;
- let d_url = 'public/citypid';
- app.postRequest(d_url, { pid: '0' }, function (res) {
- if (res.code == '201') {
- var provinceList = res.data;
- var provinceArr = [];
- provinceArr = _this.mapArray(res.data);
- _this.setData({
- multiArray: [provinceArr, [], []],
- provinceList,
- provinceArr,
- })
- // console.log(provinceList);
- // console.log(provinceArr);
- // console.log(_this.data.CityRecord)
- // 方便取消事件调用 getProvince 判断 如果选择过城市 传选择过的城市
- if (_this.data.CityRecord) {
- // console.log('有');
- var defaultCode = _this.data.CityRecord
- if (defaultCode) {
- _this.setData({
- currnetProvinceKey: defaultCode
- })
- _this.getCity(defaultCode)
- }
- } else { //如果没有选择过 , 传第一个城市
- // console.log('无');
- var defaultCode = provinceList[0]['area_id']
- if (defaultCode) {
- _this.setData({
- currnetProvinceKey: defaultCode
- })
- _this.getCity(defaultCode)
- }
- }
- }
- })
- },
- getCity(codes) {
- // 多项选择
- let _this = this;
- let d_url = 'public/citypid';
- app.postRequest(d_url, { pid: codes }, function (res) {
- var cityList = res.data;
- var cityArr = [];
- if (res.code == '201') {
- cityArr = _this.mapArray(res.data);
- _this.setData({
- multiArray: [_this.data.provinceArr, cityArr, []],
- cityArr,
- cityList
- })
- // 方便取消事件调用 getProvince 判断 如果选择过城市 传选择过的城市
- if (_this.data.areaRecord && _this.data.cancelID == false) {
- // console.log('有');
- var defaultCode = _this.data.areaRecord
- // console.log(_this.data.areaRecord);
- if (defaultCode) {
- _this.setData({
- currnetProvinceKey: defaultCode
- })
- _this.getArea(defaultCode)
- }
- } else { //如果没有选择过 , 传第一个城市
- // console.log('无');
- var defaultCode = cityList[0]['area_id']
- // console.log(defaultCode);
- if (defaultCode) {
- _this.setData({
- currnetProvinceKey: defaultCode
- })
- _this.getArea(defaultCode)
- }
- }
- }
- })
- },
- getArea(codes) {
- // 多项选择
- let _this = this;
- let d_url = 'public/citypid';
- app.postRequest(d_url, { pid: codes }, function (res) {
- var areaList = res.data;
- var areaArr = [];
- if (res.code == '201') {
- areaArr = _this.mapArray(res.data);
- }
- // console.log(areaList);
- // console.log(areaArr);
- _this.setData({
- multiArray: [_this.data.provinceArr, _this.data.cityArr, areaArr],
- areaList,
- areaArr,
- })
- _this.setData({
- cancelID: true,
- })
- })
- },
- mapArray: function (data) {
- let cityArray = []
- if (data) {
- for (let i = 0; i < data.length; i++) {
- if (data[i].area_name) {
- cityArray[i] = data[i].area_name;
- }
- }
- }
- return cityArray;
- },
- columnchange(e) { // 滚动选择器 触发的事件
- var column = e.detail.column // 当前改变的列
- // console.log(column);
- // console.log(this.data.multiIndex);
- // console.log(JSON.parse(JSON.stringify(this.data.multiIndex)));
- var data = {
- multiIndex: this.data.multiIndex,
- multiArray: this.data.multiArray
- }
- data.multiIndex[column] = e.detail.value; // 第几列改变了就是对应multiIndex的第几个,更新它
- switch (column) { // 处理不同的逻辑
- case 0: // 第一列更改 就是省级的更改
- var currentProvinceKey = this.data.provinceList[e.detail.value].area_id
- if (currentProvinceKey != this.data.currnetProvinceKey) { // 判断当前的key是不是真正的更新了
- this.getCity(currentProvinceKey) // 获取当前key下面的市级数据
- }
- data.multiIndex[1] = 0 // 将市默认选择第一个
- break;
- case 1: // 市发生变化
- var currentCitykey = this.data.cityList[e.detail.value].area_id
- if (currentCitykey != this.data.currnetCityKey) { // 同样判断
- this.getArea(currentCitykey) // 获取门店
- }
- data.multiIndex[2] = 0
- break;
- }
- this.setData(data) // 更新数据
- // console.log(this.data.step)
- },
- pickchange(e) {
- var that =this;
- // console.log(that.data.multiIndex);
- // console.log(that.data.provinceList[e.detail.value[0]].area_id);
- // console.log(that.data.cityList[e.detail.value[1]].area_id);
- // console.log(that.data.areaList[e.detail.value[2]].area_id);
- that.setData({
- step: 1, // 更新,用来选择用户选中的门店
- multiIndex: e.detail.value, // 更新下标字段
- province: that.data.provinceList[e.detail.value[0]].area_id, // 市
- city: that.data.cityList[e.detail.value[1]].area_id, // 市
- area: that.data.areaList[e.detail.value[2]].area_id, // 区
- provincename: that.data.provinceList[e.detail.value[0]].area_name, // 市
- cityname: that.data.cityList[e.detail.value[1]].area_name, // 市
- areaname: that.data.areaList[e.detail.value[2]].area_name, // 区
-
- CityRecord: that.data.provinceList[e.detail.value[0]].area_id, // 省
- areaRecord: that.data.cityList[e.detail.value[1]].area_id, // 市
- CityRecordid: that.data.multiIndex,
- UsedRecord: true, //已使用过
- })
-
- that.list();
- },
- // 城市取消
- cancel: function (e) {
- var _this = this;
- if (_this.data.UsedRecord == true) {
- _this.setData({
- multiIndex: _this.data.CityRecordid,
- cancelID: false
- })
- // console.log(_this.data.CityRecordid);
- _this.getProvince(); //地址 ajax
- }
- },
- // 上拉加载更多
- onReachBottom() {
- var that = this;
- that.showLoading(); //提示加载中
- // 列表信息
- let home_url = 'circle/friend/home';
- let home_data = {
- page: (that.data.page++) + 1,
- limit: that.data.limit,
- height: that.data.height, // 身高
- age: that.data.age, // 年龄
- marry: that.data.marry, // 婚史
- education: that.data.education, // 学历
- // province: that.data.province, // 市
- city: that.data.city, // 市
- // area: that.data.area, // 区
- };
- app.postRequest(home_url, home_data, function (res) {
- if (res.code == 201) {
- // console.log(res.data);
- var home = that.data.home
- var moreTxt = '';
- if (0 < (res.data.length < 10)) {
- moreTxt = '暂无更多数据。'
- console.log('无')
- } else {
- moreTxt = ''
- console.log('有')
- }
- // 设置数据
- for (var i = 0; i < res.data.length; i++) {
- home.push(res.data[i]);
- }
-
- that.setData({
- home: home,
- morehide: true,
- moreTxt: moreTxt,
- })
- that.cancelLoading(); //数据加载完关闭
- return;
- }
- that.cancelLoading(); //数据加载完关闭
- that.setData({
- home_code: res.code,
- morehide: true,
- moreTxt:"暂无更多数据。"
- })
-
-
- })
- },
- More:function(){
- var that = this;
- // console.log(that.data.age);
- wx.navigateTo({
- url: '/pages/index_screen/index_screen?age=' + that.data.age + '&height=' + that.data.height + '&marry=' + that.data.marry + '&education=' + that.data.education + '&income=' + that.data.income + '&province=' + that.data.province + '&city=' + that.data.city + '&area=' + that.data.area + '&provincename=' + that.data.provincename + '&cityname=' + that.data.cityname + '&areaname=' + that.data.areaname + ''
- })
- },
- list: function () {
- var that = this;
- that.showLoading(); //提示加载中
- // 列表信息
- let home_url = 'circle/friend/home';
- let home_data = {
- page: that.data.page,
- limit: that.data.limit,
- age: that.data.age, // 年龄
- height: that.data.height, // 身高
- marry: that.data.marry, // 婚史
- education: that.data.education, // 学历
- income: that.data.income, //收入
- // province: that.data.province , // 市
- city: that.data.city, // 市
- // area: that.data.area, // 区
-
- };
- app.postRequest(home_url, home_data, function (res) {
- if (res.code == 201) {
- var moreTxt = '';
- if (res.data.length < 10) {
- moreTxt = '暂无更多数据。'
- } else {
- moreTxt = ''
- }
- console.log(res.data);
- that.setData({
- home: res.data,
- moreTxt: moreTxt,
- home_code: res.code,
- })
- that.cancelLoading(); //数据加载完关闭
- return;
- }
- that.cancelLoading(); //数据加载完关闭
- that.setData({
- home: res.data,
- morehide: true,
- moreTxt: '暂无更多数据。'
- })
-
- })
- },
- // 加载
- showLoading: function () {
- wx.showToast({
- title: '加载中',
- icon: 'loading'
- });
- },
- // 关闭加载
- cancelLoading: function () {
- wx.hideToast();
- }
- })
|