|
|
@@ -111,7 +111,11 @@ Page({
|
|
|
totaldealamount: 0,
|
|
|
totaldeviationamount: 0,
|
|
|
totalsignamount_due: 0
|
|
|
- }
|
|
|
+ },
|
|
|
+ projectPhases: [],
|
|
|
+ stagename: ['全部'],
|
|
|
+ showStagename: [],
|
|
|
+ projectPhasesShow: false
|
|
|
},
|
|
|
onLoad(options) {
|
|
|
_Http.basic({
|
|
|
@@ -142,6 +146,39 @@ Page({
|
|
|
}
|
|
|
})
|
|
|
getApp().globalData.Language.getLanguagePackage(this, '销售漏斗');
|
|
|
+ _Http.basic({
|
|
|
+ "id": 20221128143604,
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 99,
|
|
|
+ "where": {
|
|
|
+ "condition": "",
|
|
|
+ "allprojecttype": "",
|
|
|
+ "projecttype": ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 1) {
|
|
|
+ let list = res.data;
|
|
|
+ list.unshift({
|
|
|
+ stagename: '全部'
|
|
|
+ })
|
|
|
+ this.setData({
|
|
|
+ projectPhases: [{
|
|
|
+ label: "项目阶段",
|
|
|
+ index: [0],
|
|
|
+ type: "checkbox",
|
|
|
+ interrupt: true,
|
|
|
+ showName: "stagename", //显示字段
|
|
|
+ valueKey: "stagename", //返回Key
|
|
|
+ selectKey: "stagename", //传参 代表选着字段 不传参返回整个选择对象
|
|
|
+ value: ['全部'], //选中值
|
|
|
+ list
|
|
|
+ }],
|
|
|
+ showStagename: [getApp().globalData.Language.getMapText('全部')]
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
onReady() {
|
|
|
this.setChartData();
|
|
|
@@ -154,7 +191,6 @@ Page({
|
|
|
interrupt({
|
|
|
detail
|
|
|
}) {
|
|
|
- console.log(detail)
|
|
|
if (detail.data.label == "时间筛选") this.selectComponent("#Yl_Filtrate1").queryMonths(detail.item.queryMonths)
|
|
|
|
|
|
},
|
|
|
@@ -241,10 +277,14 @@ Page({
|
|
|
}
|
|
|
});
|
|
|
})
|
|
|
-
|
|
|
+ this.setComingYear()
|
|
|
+ },
|
|
|
+ setComingYear() {
|
|
|
+ let content = JSON.parse(JSON.stringify(this.data.content))
|
|
|
+ content.stagename = this.data.stagename[0] == '全部' ? [] : this.data.stagename;
|
|
|
_Http.basic({
|
|
|
"id": 20241028162104,
|
|
|
- "content": this.data.content
|
|
|
+ content
|
|
|
}).then(res => {
|
|
|
console.log("前12个月总数据", res)
|
|
|
if (res.code != '1') return wx.showToast({
|
|
|
@@ -267,7 +307,6 @@ Page({
|
|
|
}))
|
|
|
console.log("comingYear", comingYear)
|
|
|
let data = res.data;
|
|
|
-
|
|
|
this.setData({
|
|
|
firstTwelveMonths: {
|
|
|
"dealTotalCount": data.dealTotalCount, //成交项目数
|
|
|
@@ -276,7 +315,7 @@ Page({
|
|
|
"positiveCount": data.positiveCount, //预计成交正偏差项目数合计
|
|
|
"positiveOffsetAmount": CNY(((data.positiveOffsetAmount || 0) / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)).toFixed(2), ''), //预计成交正偏差金额合计
|
|
|
"negativeCount": data.negativeCount, //预计成交负偏差项目数合计
|
|
|
- "negativeOffsetAmount": CNY(((data.negativeOffsetAmount || 0 ) / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)).toFixed(2), ''), //预计成交负偏差金额合计
|
|
|
+ "negativeOffsetAmount": CNY(((data.negativeOffsetAmount || 0) / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)).toFixed(2), ''), //预计成交负偏差金额合计
|
|
|
"offsetCount": data.offsetCount, //预计成交准确项目数
|
|
|
"rightRate": (data.rightRate * 100).toFixed(2) + '%', //预测额成交准确率
|
|
|
|
|
|
@@ -290,12 +329,52 @@ Page({
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
+ openProjectPhases() {
|
|
|
+ this.setData({
|
|
|
+ projectPhasesShow: true
|
|
|
+ })
|
|
|
+ },
|
|
|
+ phasesInterrupt({
|
|
|
+ detail
|
|
|
+ }) {
|
|
|
+ if (detail.item.stagename == '全部') {
|
|
|
+ detail.list[0].index = [0];
|
|
|
+ detail.list[0].value = ['全部'];
|
|
|
+ } else {
|
|
|
+ if (detail.list[0].index.length) {
|
|
|
+ detail.list[0].index = detail.list[0].index.filter(v => v);
|
|
|
+ detail.list[0].value = detail.list[0].index.filter(v => v != '全部');
|
|
|
+ } else {
|
|
|
+ detail.list[0].index = [0];
|
|
|
+ detail.list[0].value = ['全部'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.setData({
|
|
|
+ projectPhases: detail.list
|
|
|
+ })
|
|
|
+ },
|
|
|
+ phasesHandleFilter({
|
|
|
+ detail
|
|
|
+ }) {
|
|
|
+ let stagename = ['全部']
|
|
|
+ try {
|
|
|
+ if (detail.stagename[0] != 0) {
|
|
|
+ stagename = detail.stagename.map(v => this.data.projectPhases[0].list[v].stagename)
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+
|
|
|
+ }
|
|
|
+ this.setData({
|
|
|
+ stagename,
|
|
|
+ showStagename: stagename.map(v => getApp().globalData.Language.getMapText(v))
|
|
|
+ })
|
|
|
+ this.setComingYear()
|
|
|
+ },
|
|
|
renderChart() {
|
|
|
console.log("renderChart")
|
|
|
return createElement(Chart, {
|
|
|
data: this.data.statistics
|
|
|
});
|
|
|
-
|
|
|
},
|
|
|
renderBarChart() {
|
|
|
console.log("renderBarChart")
|