// pages/index/Salesranking/Salesranking.js const app = getApp() import brokenLine from "../../../components/option/singleLineOption" import histogram from "../../../components/option/columnarOption" import { times } from "../../../components/option/text" import moment from "moment" let iPageIndex = 1 // 当前第几页,0代表第一页 let iPageSize = 20 //每页显示多少数据 Page({ data: { active: 0, end: moment().format("YYYY-MM"), showChart: true, // select: false, grade_value1: "", grade_value2: "", grade_value3: "", grade_value4: 0, grades4: [{ text: '列表展示', value: 0 }, { text: '图表展示', value: 1 } ], num: 0, num1: false, //弹出框 show: false, duration: 300, position: 'bottom', // round: true, overlay: true, showChart: true, //图表 // positiveOption:brokenLine(dName,dValue,dColor,data), imageUrl: getApp().globalData.imageUrl, date: wx.getStorageSync('newTime'), accountIndex: 0, ranking: [], accountIndex: 0, sSpec: '', sPriceType: '', sEnergyType: '', imageUrl: getApp().globalData.imageUrl, mockData: [], show1:false, // ec: { lazyLoad: true // 设置图表懒加载 } }, // 标签切换点击事件 onChange(val) { let n = val.detail.index; this.setData({ active: n }) // wx.showToast({ // // title: `切换到标签 ${event.detail.name}`, // icon: 'none', // }); }, getData() { wx.showToast({ title: '加载中', icon: 'loading', duration: 3000 }) // 下拉列表 this.getAmount(); // 车型 this.getTrend(); // 品牌 app.globalData.request({ action: 'getUserBrand', token: 't%2BrswgjvzGM=', }).then(res => { let arr = [] for (let i = 65; i <= 90; i++) { arr.push({ name: String.fromCharCode(i), data: [] }); } for (let i of res) { for (let j of arr) { if (i.firstword == j.name) { j.data.push(i) } } } this.setData({ mockData: arr }) setTimeout(() => { wx.hideToast(); }, 2000) }) setTimeout(() => { wx.hideToast(); }, 500) }, // 排行榜数据 getTrend() { wx.showToast({ title: '加载中', icon: 'loading', duration: 300000 }) let obj = { action: 'getCheZhuCarSeriesRankingHome', sType: 'Marketing', sStartTime: this.data.date, sEndTime: this.data.date, iPageIndex: iPageIndex, iPageSize: iPageSize, sSpec: this.data.sSpec, sPriceType: this.data.sPriceType, sEnergyType: this.data.sEnergyType } //第一次加载数据 if (iPageIndex == 1) { this.setData({ loadMore: true, //把"上拉加载"的变量设为true,显示 loadAll: false //把“没有数据”设为false,隐藏 }) } app.globalData.request(obj, (database) => {}).then(res => { const carName = [] const carValue = [] // console.log("这是数据",res) if (res && res.length > 0) { iPageIndex++; //把新请求到的数据添加到列表里 let list = this.data.ranking.concat(res); list.forEach(e => { carName.push(e.seriesname) carValue.push(e.salescount) }) // length=(carName.length/carName.length)*100 // console.log(carName.length) this.setData({ ranking: list, //获取数据数组 loadMore: false, //把"上拉加载"的变量设为false,显示 brandOption: histogram(carName, carValue, '#0084FF', false, (20 / list.length) * 100) }); if (res.length < iPageSize) { this.setData({ loadMore: false, //隐藏加载中。。 loadAll: true //所有数据都加载完了 }); } } else { this.setData({ loadAll: true, //把“没有数据”设为true,显示 loadMore: false //把"上拉加载"的变量设为false,隐藏 }); } setTimeout(() => { wx.hideToast(); }, 500) }) }, //页面上拉触底事件的处理函数 onReachBottom: function () { // console.log("上拉触底事件") // console.log(iPageIndex) let that = this if (!that.data.loadMore) { that.setData({ loadMore: true, //加载中 loadAll: false //是否加载完所有数据 }); //加载更多,这里做下延时加载 that.getTrend(); } }, // 筛选列表 getAmount() { //能源 app.globalData.request({ action: 'getEnergyJson2', }).then(res => { let arr = [] res.forEach(ele => { let obj = { text: ele.value, value: ele.key, } arr.push(obj) }) this.setData({ grades3: arr, }) }) //价格 app.globalData.request({ action: 'getPriceRangeS', }).then(res => { let arr = [] res.forEach(ele => { let obj = { text: ele.value, value: ele.key } arr.push(obj) }) this.setData({ grades2: arr }) }) //级别 app.globalData.request({ action: 'getSpecName1', }).then(res => { console.log('de', res) // const data = res; // let arr = [] // res.forEach(ele => { // let obj = { // text: ele.value, // value: ele.key // } // arr.push(obj) // }) this.setData({ grades1:res , }) }) }, // 按级别 mySelect1(e){ console.log('cs', e.currentTarget.dataset.index.data) let data = e.currentTarget.dataset.index.data iPageIndex = 1 iPageSize = 20 if(data!= undefined){ this.setData({ show1:true, ranking: [], sSpec: e.detail, }) }else{ this.setData({ show1:false, ranking: [], data:[], sSpec: e.detail, }) } this.getTrend() }, bindValue(e) { let type = e.detail.type if (type == 0) { this.data.roomLevel = e.detail.val } else { this.data.builds = e.detail.val } }, // 按级别 // mySelect1(e) { // iPageIndex = 1 // iPageSize = 20 // this.setData({ // ranking: [], // sSpec: e.detail, // }) // this.getTrend() // }, // 按价格 mySelect2(e) { iPageIndex = 1 iPageSize = 20 this.setData({ ranking: [], sPriceType: e.detail, }) this.getTrend() }, // 按能源 mySelect3(e) { iPageIndex = 1 iPageSize = 20 this.setData({ ranking: [], sEnergyType: e.detail, }) this.getTrend() }, // 列表展示 mySelect4(e) { iPageIndex = 1 iPageSize = 20 this.setData({ ranking: [], a: e.detail != 0 }) this.getTrend() }, // 全部 all() { iPageIndex = 1 iPageSize = 20 this.data.num++ let dj = this.data.num % 2 == 0 this.setData({ ranking: [], grade_value1: "", grade_value2: "", grade_value3: "", sSpec: '', sPriceType: '', sEnergyType: '', boxSize: dj ? 'noall' : 'all1' }) this.getTrend() }, bindDateChange: function (e) { this.data.num1 = true iPageIndex = 1 iPageSize = 20 this.setData({ date: e.detail.value, ranking: [], boxSize1: !this.data.num1 ? 'noall' : 'all1' }) this.getTrend() }, priceSel(e) { this.setData({ intervalSel: e.currentTarget.dataset.index }) }, //弹出框 popup(e) { let duration = this.data.duration let models = e.currentTarget.dataset.car app.globalData.request({ action: "getCheZhuCarSeriesListHome", sType: "Marketing", sSeriesName: models, sStartTime: times(this.data.date), sEndTime: this.data.date, }).then(res => { // console.log(res) const dataTime = [] const dataCar = [] res.forEach(e => { if ((e.sourcetime).substring(5, 6) == "0") { dataTime.push((e.sourcetime).substring((e.sourcetime).length - 1, (e.sourcetime).length) + '月') } else { dataTime.push((e.sourcetime).substring((e.sourcetime).length - 2, (e.sourcetime).length) + "月") } dataCar.push(e.salescount) }); this.setData({ show: true, duration, positiveOption: brokenLine(dataCar, dataTime), models }) }) }, exit() { this.setData({ show: false }) }, /** * 生命周期函数--监听页面加载 */ onLoad(options) {}, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { iPageIndex = 1; // this.getTabBar().init(); this.getData() }, changeTab(val) { let n = val.detail.index; // console.log(n) this.setData({ active: n }) }, })