Pārlūkot izejas kodu

Merge branch '绿色' into 测试

xiaohaizhao 1 gadu atpakaļ
vecāks
revīzija
db9ab5671d

+ 4 - 0
packageA/contract/detail.js

@@ -533,6 +533,10 @@ Page({
                 label: "付款条件",
                 label: "付款条件",
                 value: data.paytype
                 value: data.paytype
             })
             })
+            list1.splice(list1.findIndex(v => v.label == '合同有效期')+1, 0, {
+                label: "发货日期提醒(天)",
+                value: data.reminddays
+            })
         }
         }
         this.setData({
         this.setData({
             briefs,
             briefs,

+ 86 - 7
packageA/salesHourglass/index.js

@@ -111,7 +111,11 @@ Page({
             totaldealamount: 0,
             totaldealamount: 0,
             totaldeviationamount: 0,
             totaldeviationamount: 0,
             totalsignamount_due: 0
             totalsignamount_due: 0
-        }
+        },
+        projectPhases: [],
+        stagename: ['全部'],
+        showStagename: [],
+        projectPhasesShow: false
     },
     },
     onLoad(options) {
     onLoad(options) {
         _Http.basic({
         _Http.basic({
@@ -142,6 +146,39 @@ Page({
             }
             }
         })
         })
         getApp().globalData.Language.getLanguagePackage(this, '销售漏斗');
         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() {
     onReady() {
         this.setChartData();
         this.setChartData();
@@ -154,7 +191,6 @@ Page({
     interrupt({
     interrupt({
         detail
         detail
     }) {
     }) {
-        console.log(detail)
         if (detail.data.label == "时间筛选") this.selectComponent("#Yl_Filtrate1").queryMonths(detail.item.queryMonths)
         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({
         _Http.basic({
             "id": 20241028162104,
             "id": 20241028162104,
-            "content": this.data.content
+            content
         }).then(res => {
         }).then(res => {
             console.log("前12个月总数据", res)
             console.log("前12个月总数据", res)
             if (res.code != '1') return wx.showToast({
             if (res.code != '1') return wx.showToast({
@@ -267,7 +307,6 @@ Page({
             }))
             }))
             console.log("comingYear", comingYear)
             console.log("comingYear", comingYear)
             let data = res.data;
             let data = res.data;
-
             this.setData({
             this.setData({
                 firstTwelveMonths: {
                 firstTwelveMonths: {
                     "dealTotalCount": data.dealTotalCount, //成交项目数
                     "dealTotalCount": data.dealTotalCount, //成交项目数
@@ -276,7 +315,7 @@ Page({
                     "positiveCount": data.positiveCount, //预计成交正偏差项目数合计
                     "positiveCount": data.positiveCount, //预计成交正偏差项目数合计
                     "positiveOffsetAmount": CNY(((data.positiveOffsetAmount || 0) / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)).toFixed(2), ''), //预计成交正偏差金额合计
                     "positiveOffsetAmount": CNY(((data.positiveOffsetAmount || 0) / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)).toFixed(2), ''), //预计成交正偏差金额合计
                     "negativeCount": data.negativeCount, //预计成交负偏差项目数合计
                     "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, //预计成交准确项目数
                     "offsetCount": data.offsetCount, //预计成交准确项目数
                     "rightRate": (data.rightRate * 100).toFixed(2) + '%', //预测额成交准确率
                     "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() {
     renderChart() {
         console.log("renderChart")
         console.log("renderChart")
         return createElement(Chart, {
         return createElement(Chart, {
             data: this.data.statistics
             data: this.data.statistics
         });
         });
-
     },
     },
     renderBarChart() {
     renderBarChart() {
         console.log("renderBarChart")
         console.log("renderBarChart")

+ 13 - 4
packageA/salesHourglass/index.wxml

@@ -67,9 +67,16 @@
             <view class="value">{{firstTwelveMonths.signAmount}}{{language['万']||'万'}}</view>
             <view class="value">{{firstTwelveMonths.signAmount}}{{language['万']||'万'}}</view>
         </view>
         </view>
     </view>
     </view>
-    <view wx:if="{{comingYear.length}}" class="title1" style="margin-top: 20rpx;">
-        {{language['未来12月预计签约金额/预计成交金额分析']||'未来12月预计签约金额/预计成交金额分析'}}({{language['单位']||'单位'}}:{{language['万']||'万'}})
-    </view>
+    <block wx:if="{{comingYear.length}}">
+        <view class="title1" style="margin-top: 20rpx;">
+            {{language['未来12月预计签约金额/预计成交金额分析']||'未来12月预计签约金额/预计成交金额分析'}}({{language['单位']||'单位'}}:{{language['万']||'万'}})
+        </view>
+
+        <navigator wx:if="{{projectPhases.length}}" class="title1" style="margin-top: 20rpx;" bind:tap="openProjectPhases">
+            {{language['项目阶段']||'项目阶段'}}:{{showStagename}}
+        </navigator>
+    </block>
+
 </view>
 </view>
 <view wx:if="{{comingYear.length}}" class="bar-chart-box">
 <view wx:if="{{comingYear.length}}" class="bar-chart-box">
     <f2 onRender="{{onRenderBarChart}}" />
     <f2 onRender="{{onRenderBarChart}}" />
@@ -116,4 +123,6 @@
 <My_empty wx:if="{{!statistics.length}}" />
 <My_empty wx:if="{{!statistics.length}}" />
 <Yl_Filtrate1 id="Yl_Filtrate1" show='{{showFiltrate}}' dateRange list="{{filtratelist}}" dateRangeName="{{language['创建日期']||'创建日期'}}" bindhandle="handleFilter" bindinterrupt='interrupt'>
 <Yl_Filtrate1 id="Yl_Filtrate1" show='{{showFiltrate}}' dateRange list="{{filtratelist}}" dateRangeName="{{language['创建日期']||'创建日期'}}" bindhandle="handleFilter" bindinterrupt='interrupt'>
     <organization slot='head' defaultIsleave='1' dimissionF id='organization' />
     <organization slot='head' defaultIsleave='1' dimissionF id='organization' />
-</Yl_Filtrate1>
+</Yl_Filtrate1>
+
+<Yl_Filtrate1 show='{{projectPhasesShow}}' isReset='{{false}}' list="{{projectPhases}}" bindinterrupt='phasesInterrupt' bindhandle="phasesHandleFilter" />