xiaohaizhao 6 hónapja
szülő
commit
3e77792dcb

+ 4 - 4
components/timeRange/timeRange.js

@@ -190,25 +190,25 @@ Component({
                     whereType.enddate = enddate;
                     break;
                 case '近一年':
-                    begdate = formatTime(new Date(new Date().getFullYear() - 1, new Date().getMonth(), 1), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
+                    begdate = formatTime(new Date(new Date().setFullYear(new Date().getFullYear() - 1)), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
                     enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
                     whereType.begdate = begdate;
                     whereType.enddate = enddate;
                     break;
                 case '近三个月':
-                    begdate = formatTime(new Date(new Date().getFullYear(), new Date().getMonth() - 3, 1), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
+                    begdate = formatTime(new Date(new Date().setMonth(new Date().getMonth() - 3)), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
                     enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
                     whereType.begdate = begdate;
                     whereType.enddate = enddate;
                     break;
                 case '近九个月':
-                    begdate = formatTime(new Date(new Date().getFullYear(), currentMonth - 9 - 1, 1), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
+                    begdate = formatTime(new Date(new Date().setMonth(new Date().getMonth() - 9)), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
                     enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
                     whereType.begdate = begdate;
                     whereType.enddate = enddate;
                     break;
                 case '近六个月':
-                    begdate = formatTime(new Date(new Date().getFullYear(), currentMonth - 6 - 1, 1), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
+                    begdate = formatTime(new Date(new Date().setMonth(new Date().getMonth() - 6)), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
                     enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
                     whereType.begdate = begdate;
                     whereType.enddate = enddate;

+ 158 - 120
salesPanel/salesHourglass/index.js

@@ -56,7 +56,6 @@ Page({
                 isleave: 1
             }
         },
-        showComingYear: true,
         filtratelist: [],
         firstTwelveMonths: {
             dealaccuracyrate: '0%',
@@ -66,7 +65,6 @@ Page({
         },
         projectPhases: [],
         stagename: ['全部'],
-        showStagename: [],
         projectPhasesShow: false,
         chartDataUnfinish: 1,
         ComingYearUnfinish: 1
@@ -113,6 +111,15 @@ Page({
             }
         }).then(res => {
             if (res.code == 1) {
+                try {
+                    if (!this.data.isHY) {
+                        this.setData({
+                            "sa_projstagemagid": res.data[0].sa_projstagemagid
+                        })
+                    }
+                } catch (error) {
+
+                }
                 let list = res.data;
                 list.unshift({
                     stagename: '全部'
@@ -129,7 +136,7 @@ Page({
                         value: ['全部'], //选中值
                         list
                     }],
-                    showStagename: [getApp().globalData.Language.getMapText('全部')]
+                    stagename: ['全部']
                 })
             }
         })
@@ -195,8 +202,8 @@ Page({
             "近一年": 1,
             "近九个月": 2,
             "近六个月": 3,
-            "近三个月": 4
-        } [content.dateType];
+            "近三个月": 4,
+        } [content.dateType] || 0;
         _Http.basic({
             "id": 20230630151504,
             content
@@ -228,10 +235,33 @@ Page({
                 this.selectComponent("#TimeRange").onCancel()
             } catch (error) {
 
+            }
+            let damRiver = null,
+                that = this;
+
+            function updateList(params) {
+                clearTimeout(damRiver);
+                damRiver = setTimeout(() => {
+                    that.setData({
+                        "sa_projstagemagid": params.sa_projstagemagid,
+                        stagename: [params.stagename],
+                        showIndex: params.rowindex - 1
+                    })
+                    that.getList(true);
+                }, 200);
             }
             let option = {
                 tooltip: {
                     trigger: 'item',
+                    formatter: function (params) {
+                        let data = statistics[params.dataIndex];
+                        if (!that.data.isHY) {
+                            updateList(data);
+                        }
+                        let tooltipText = params.name + '\n';
+                        tooltipText += `${getApp().globalData.Language.getMapText('项目总数')}: ${data.projectqty}\n${data.zhl}`;
+                        return tooltipText;
+                    }
                 },
                 legend: {
                     data: statistics.map(v => getApp().globalData.Language.getMapText(v.stagename))
@@ -288,6 +318,13 @@ Page({
                 chart.setOption(option);
                 return chart;
             });
+            if (!this.data.isHY) {
+                this.setData({
+                    sa_projstagemagid: res.data[0].sa_projstagemagid,
+                    showIndex: 0
+                })
+                this.getList(true)
+            }
         })
     },
     onCheckboxChange(e) {
@@ -315,9 +352,6 @@ Page({
         if (!this.data.isHY) this.setComingYear();
     },
     setComingYear() {
-        this.setData({
-            showComingYear: false
-        })
         let pageMsg = this.data.pageMsg;
         let content = Object.assign(JSON.parse(JSON.stringify(this.data.content)), this.data.pageMsg)
         if (this.data.isHY) {
@@ -330,35 +364,33 @@ Page({
         }
         pageMsg.signdate_due = '';
         content.pageNumber = 1;
-        content.stagename = this.data.stagename[0] == '全部' ? [] : this.data.stagename;
+        content.stagename = this.data.stagename[0] == '全部' || this.data.stagename[0] == getApp().globalData.Language.getMapText("全部") ? [] : this.data.stagename;
         _Http.basic({
             "id": 20241028162104,
             content
         }).then(res => {
             console.log("前12个月总数据", res)
-            this.setData({
-                showComingYear: true
-            })
             if (res.code != '1') return wx.showToast({
                 title: res.msg,
                 icon: "none"
             })
-            let comingYear = [];
+            let arr = []
+
             if (res.data[0].extradata.array) {
                 const array = res.data[0].extradata.array;
-                comingYear = array.map(v => {
+                arr = [array.map(v => {
                     return {
                         name: getApp().globalData.Language.getMapText('预计签约金额'),
                         value: (v.signamount_due / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)).toFixed(0) - 0,
                         date: v.signdate_due
                     }
-                }).concat(array.map(v => {
+                }), array.map(v => {
                     return {
                         name: getApp().globalData.Language.getMapText('预计成交金额'),
                         value: (v.dealamount_due / (wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)).toFixed(0) - 0,
                         date: v.signdate_due
                     }
-                }))
+                })];
             }
             try {
                 if (res.data[0].extradata) {
@@ -382,25 +414,99 @@ Page({
                     })
                 }
             } catch (error) {}
-            res.data = res.data.map(v => {
-                v.progress = v.stage / v.totalstage * 100;
-                v.signamount_due = CNY(v.signamount_due, "¥")
-                v.dealamount = CNY(v.dealamount, "¥")
-                return v
-            })
-            pageMsg.pageNumber = res.pageNumber + 1
-            pageMsg.pageSize = res.pageSize
-            pageMsg.pageTotal = res.pageTotal
-            pageMsg.total = res.total
-            pageMsg.sumsignamount_due = CNY(res.data[0].extradata.sumsignamount_due, "¥")
-            pageMsg.sumdealamount_due = CNY(res.data[0].extradata.sumdealamount_due, "¥")
-            this.setData({
-                comingYear,
-                pageMsg,
-                list: res.data
-            })
-
-            let arr = [comingYear.filter(v => v.name == '预计签约金额'), comingYear.filter(v => v.name == '预计成交金额')];
+            if (this.data.isHY) {
+                res.data = res.data.map(v => {
+                    v.progress = v.stage / v.totalstage * 100;
+                    v.signamount_due = CNY(v.signamount_due, "¥")
+                    v.dealamount = CNY(v.dealamount, "¥")
+                    return v
+                })
+                pageMsg.pageNumber = res.pageNumber + 1
+                pageMsg.pageSize = res.pageSize
+                pageMsg.pageTotal = res.pageTotal
+                pageMsg.total = res.total
+                pageMsg.sumsignamount_due = CNY(res.data[0].extradata.sumsignamount_due, "¥")
+                pageMsg.sumdealamount_due = CNY(res.data[0].extradata.sumdealamount_due, "¥")
+                this.setData({
+                    pageMsg,
+                    list: res.data
+                })
+                let option = {
+                    color: ['#3875F9', '#F29B3A'], // Custom colors for the bars
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'shadow'
+                        },
+                        formatter: function (params) {
+                            updateList(params);
+                            let tooltipText = params[0].name + '\n';
+                            params.forEach(item => {
+                                tooltipText += `${item.seriesName}: ${item.value}\n`;
+                            });
+                            return tooltipText;
+                        }
+                    },
+                    grid: {
+                        left: '15%', // Adjusted to leave more space for Y-axis labels
+                        right: '10%',
+                        bottom: '15%', // Adjusted to leave space for rotated X-axis labels
+                        top: '16%' // Increased top margin to reduce the height of the main chart area
+                    },
+                    legend: {
+                        data: ['预计签约金额(万元)', '预计成交金额(万元)'].map(v => getApp().globalData.Language.getMapText(v))
+                    },
+                    xAxis: [{
+                        type: 'category',
+                        data: arr[0].map(v => v.date),
+                        axisPointer: {
+                            type: 'shadow'
+                        },
+                        axisLabel: {
+                            rotate: 45, // Rotate X-axis labels by 45 degrees
+                            align: 'right' // Align labels to the right for better readability
+                        }
+                    }],
+                    yAxis: [{
+                        type: 'value',
+                        axisLabel: {
+                            formatter: '{value}',
+                            rotate: 45, // Rotate X-axis labels by 45 degrees
+                        }
+                    }],
+                    series: [{
+                            name: getApp().globalData.Language.getMapText('预计签约金额(万元)'),
+                            type: 'bar',
+                            tooltip: {
+                                valueFormatter: function (value) {
+                                    return value;
+                                }
+                            },
+                            data: arr[0].map(v => v.value)
+                        },
+                        {
+                            name: getApp().globalData.Language.getMapText('预计成交金额(万元)'),
+                            type: 'bar',
+                            tooltip: {
+                                valueFormatter: function (value) {
+                                    return value;
+                                }
+                            },
+                            data: arr[1].map(v => v.value)
+                        }
+                    ]
+                };
+                this.chartComponent = this.selectComponent('#barGraph');
+                this.chartComponent.init((canvas, width, height, dpr) => {
+                    const chart = echarts.init(canvas, null, {
+                        width,
+                        height,
+                        devicePixelRatio: dpr
+                    });
+                    chart.setOption(option);
+                    return chart;
+                });
+            }
             let damRiver = null,
                 that = this;
 
@@ -415,87 +521,10 @@ Page({
                     that.getList(true)
                 }, 200);
             }
-            let option = {
-                color: ['#3875F9', '#F29B3A'], // Custom colors for the bars
-                tooltip: {
-                    trigger: 'axis',
-                    axisPointer: {
-                        type: 'shadow'
-                    },
-                    formatter: function (params) {
-                        updateList(params);
-                        let tooltipText = params[0].name + '\n';
-                        params.forEach(item => {
-                            tooltipText += `${item.seriesName}: ${item.value}\n`;
-                        });
-                        return tooltipText;
-                    }
-                },
-                grid: {
-                    left: '15%', // Adjusted to leave more space for Y-axis labels
-                    right: '10%',
-                    bottom: '15%', // Adjusted to leave space for rotated X-axis labels
-                    top: '16%' // Increased top margin to reduce the height of the main chart area
-                },
-                legend: {
-                    data: ['预计签约金额(万元)', '预计成交金额(万元)'].map(v => getApp().globalData.Language.getMapText(v))
-                },
-                xAxis: [{
-                    type: 'category',
-                    data: arr[0].map(v => v.date),
-                    axisPointer: {
-                        type: 'shadow'
-                    },
-                    axisLabel: {
-                        rotate: 45, // Rotate X-axis labels by 45 degrees
-                        align: 'right' // Align labels to the right for better readability
-                    }
-                }],
-                yAxis: [{
-                    type: 'value',
-                    axisLabel: {
-                        formatter: '{value}',
-                        rotate: 45, // Rotate X-axis labels by 45 degrees
-                    }
-                }],
-                series: [{
-                        name: getApp().globalData.Language.getMapText('预计签约金额(万元)'),
-                        type: 'bar',
-                        tooltip: {
-                            valueFormatter: function (value) {
-                                return value;
-                            }
-                        },
-                        data: arr[0].map(v => v.value)
-                    },
-                    {
-                        name: getApp().globalData.Language.getMapText('预计成交金额(万元)'),
-                        type: 'bar',
-                        tooltip: {
-                            valueFormatter: function (value) {
-                                return value;
-                            }
-                        },
-                        data: arr[1].map(v => v.value)
-                    }
-                ]
-            };
-            this.chartComponent = this.selectComponent('#barGraph');
-            this.chartComponent.init((canvas, width, height, dpr) => {
-                const chart = echarts.init(canvas, null, {
-                    width,
-                    height,
-                    devicePixelRatio: dpr
-                });
-                chart.setOption(option);
-                return chart;
-            });
-
         })
     },
     getList(init = false) {
         if (init.detail != undefined) init = init.detail;
-        if (!this.data.isHY) return;
         let pageMsg = this.data.pageMsg;
         if (init) {
             pageMsg.pageNumber = 1;
@@ -503,12 +532,26 @@ Page({
         }
         if (pageMsg.pageNumber > pageMsg.pageTotal) return;
         let content = Object.assign(JSON.parse(JSON.stringify(this.data.content)), pageMsg)
-        content.stagename = this.data.stagename[0] == '全部' ? [] : this.data.stagename;
+        content.stagename = this.data.stagename[0] == '全部' || this.data.stagename[0] == getApp().globalData.Language.getMapText("全部") ? [] : this.data.stagename;
+        if (this.data.isHY) {
+            content.where.unfinish = this.data.ComingYearUnfinish;
+            delete content.dateType
+        } else {
+            content.where.unfinish = this.data.chartDataUnfinish;
+            content.sa_projstagemagid = this.data.sa_projstagemagid;
+            content.dateType = {
+                "全部": 99,
+                "近一年": 1,
+                "近九个月": 2,
+                "近六个月": 3,
+                "近三个月": 4
+            } [content.dateType] || 0;
+        }
         _Http.basic({
-            "id": 20241028162104,
+            "id": this.data.isHY ? 20241028162104 : 20230719085004,
             content
         }).then(res => {
-            console.log("获取前12月列表", res)
+            console.log("获取项目列表", res)
             this.setData({
                 list: res.data
             })
@@ -516,7 +559,6 @@ Page({
             pageMsg.pageSize = res.pageSize
             pageMsg.pageTotal = res.pageTotal
             pageMsg.total = res.total
-
             try {
                 res.data = res.data.map(v => {
                     v.progress = v.stage / v.totalstage * 100;
@@ -527,16 +569,12 @@ Page({
             } catch (error) {
 
             }
-
             this.setData({
                 list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
                 pageMsg
             })
         })
     },
-    onReachBottom() {
-        this.getList();
-    },
     openProjectPhases() {
         this.setData({
             projectPhasesShow: true

+ 0 - 2
salesPanel/salesHourglass/index.scss

@@ -101,10 +101,8 @@
 }
 
 .item {
-    background-color: #fff;
     padding: 20rpx 30rpx;
     box-sizing: border-box;
-    border-bottom: 1px solid #ddd;
 
     .label {
         height: 42rpx;

+ 60 - 78
salesPanel/salesHourglass/index.wxml

@@ -10,8 +10,7 @@
 </view>
 <Yl_ListBox id='ListBox' pullDown='{{false}}' bind:getlist='getList'>
 	<view class="analysis" style="padding: 0;margin:0;">
-		<timeRange id='TimeRange' grading='date' dateTypes='{{dateTypes}}' dateType='{{content.dateType}}'
-			bind:onChange='changeDate' />
+		<timeRange id='TimeRange' grading='date' dateTypes='{{dateTypes}}' dateType='{{content.dateType}}' bind:onChange='changeDate' />
 		<view style="padding-left: 40rpx;">
 			<checkbox-group bindchange="onCheckboxChange" style="display: flex; align-items: center;">
 				<label style="font-size: 12px; display: flex; align-items: center;">
@@ -80,15 +79,14 @@
 		<view style="height: 20rpx;" />
 	</view>
 	<view class="analysis" wx:if="{{isHY}}">
-		<block wx:if="{{comingYear.length}}">
+		<block>
 			<view class="title1">
 				{{language['未来12月预计签约金额/预计成交金额分析']||'未来12月预计签约金额/预计成交金额分析'}}({{language['单位']||'单位'}}:{{language['万']||'万'}})
 			</view>
 		</block>
 	</view>
 	<view class="analysis" style="padding: 0;margin:0;" wx:if="{{isHY}}">
-		<filtrate id='Filtrate' iconName='icon-xiangmujieduan' list='{{[]}}' title='项目阶段'
-			bind:clickOpen='openProjectPhases' />
+		<filtrate id='Filtrate' iconName='icon-xiangmujieduan' list='{{[]}}' title='项目阶段' bind:clickOpen='openProjectPhases' />
 		<view style="padding-left: 40rpx;">
 
 			<checkbox-group bindchange="onCheckboxChange1" style="display: flex; align-items: center;">
@@ -102,22 +100,42 @@
 			<ec-canvas id="barGraph" canvas-id="barGraph" ec="{{ ec }}"></ec-canvas>
 		</view>
 	</view>
-	<view class="hy-project" wx:if="{{isHY}}">
-		<view class="top-title">
-			{{ pageMsg.signdate_due
-			?pageMsg.signdate_due+(language['月']||'月'):'全部'}}_{{language['预计成交项目']||'预计成交项目'}}({{list[0].sa_projectid?pageMsg.total:0}})
-		</view>
-		<view class="amount-row">
-			<view>
-				{{language['预计签约金额']||'预计签约金额'}}:{{pageMsg.sumsignamount_due }}{{language['万元']||'万元'}}
+
+	<block wx:if="{{!isHY}}">
+		<view class="item">
+			<view class="label">{{language[statistics[showIndex].stagename]||statistics[showIndex].stagename}}</view>
+			<view class="row">
+				<view>{{language['项目总数']||'项目总数'}}:{{statistics[showIndex].sequence1}}</view>
+				<view>{{language['当前项目数']||'当前项目数'}}:{{statistics[showIndex].projectqty}}</view>
 			</view>
-			<view>
-				{{language['预计成交金额']||'预计成交金额'}}:{{pageMsg.sumdealamount_due }}{{language['万元']||'万元'}}
+			<view class="row">
+				<view>
+					{{language['预计签约金额']||'预计签约金额'}}:{{statistics[showIndex].signamount_due}}{{language['万元']||'万元'}}
+				</view>
+				<view>
+					{{language['项目成交金额']||'项目成交金额'}}:{{statistics[showIndex].dealamount}}{{language['万元']||'万元'}}
+				</view>
 			</view>
 		</view>
+	</block>
+
+	<view class="hy-project">
+		<block wx:if="{{isHY}}">
+			<view class="top-title">
+				{{ pageMsg.signdate_due
+			?pageMsg.signdate_due+(language['月']||'月'):'全部'}}_{{language['预计成交项目']||'预计成交项目'}}({{list[0].sa_projectid?pageMsg.total:0}})
+			</view>
+			<view class="amount-row">
+				<view>
+					{{language['预计签约金额']||'预计签约金额'}}:{{pageMsg.sumsignamount_due }}{{language['万元']||'万元'}}
+				</view>
+				<view>
+					{{language['预计成交金额']||'预计成交金额'}}:{{pageMsg.sumdealamount_due }}{{language['万元']||'万元'}}
+				</view>
+			</view>
+		</block>
 		<block wx:if="{{list[0].sa_projectid}}">
-			<navigator url="/packageA/project/detail?id={{item.sa_projectid}}" class="project-item" wx:for="{{list}}"
-				wx:key="sa_projectid">
+			<navigator url="/packageA/project/detail?id={{item.sa_projectid}}" class="project-item" wx:for="{{list}}" wx:key="sa_projectid">
 				<view class="chart">
 					<view class="circle">
 						<view class="circle_left ab" style="{{render.leftRate(item.progress)}}" />
@@ -131,18 +149,15 @@
 				<view class="main">
 					<view class="label">
 						<view class="title line-1">{{item.projectname}}</view>
-						<view class="state"
-							style="background-color: {{item.status == '跟进中' ? '#3874f6' : sColors[item.status]}};">
+						<view class="state" style="background-color: {{item.status == '跟进中' ? '#3874f6' : sColors[item.status]}};">
 							{{language[item.status]||item.status}}
 						</view>
 					</view>
 					<view class="tag-box">
-						<view class="systemtag" wx:for="{{item.tag_sys}}" style="background-color: {{sColors[item]}};"
-							wx:key="item">
+						<view class="systemtag" wx:for="{{item.tag_sys}}" style="background-color: {{sColors[item]}};" wx:key="item">
 							{{language[item]||item}}
 						</view>
-						<view class="datatag" wx:for="{{item.tag}}" style="background-color: {{sColors[item]}};"
-							wx:key="item">
+						<view class="datatag" wx:for="{{item.tag}}" style="background-color: {{sColors[item]}};" wx:key="item">
 							{{language[item]||item}}
 						</view>
 					</view>
@@ -151,74 +166,41 @@
 						<text>{{item.projectnum}}</text>
 					</view>
 					<view class="replenish">
-						<text style="color: #666; flex-shrink: 0;">{{language['项目地址']||'项目地址'}}:</text><text
-							style="width: 480rpx;">{{item.province?item.province+item.city+item.county+item.address:'--'}}</text>
+						<text style="color: #666; flex-shrink: 0;">{{language['项目地址']||'项目地址'}}:</text><text style="width: 380rpx;">{{item.province?item.province+item.city+item.county+item.address:'--'}}</text>
 					</view>
 					<view class="replenish">
 						<text style="color: #999;">{{language['预计签约金额']||'预计签约金额'}}:</text>
 						<text style="color: #3874F6;">{{item.signamount_due}}</text>
 					</view>
-					<view class="replenish"><text style="color: #999;">{{language['项目成交金额']||'项目成交金额'}}:</text><text
-							style="color: #FF3B30;">{{item.dealamount}}</text></view>
-					<view class="replenish"><text
-							style="color: #999;">{{language['项目类型']||'项目类型'}}:</text><text>{{language[item.projecttype_remarks]||item.projecttype_remarks}}</text>
+					<view class="replenish"><text style="color: #999;">{{language['项目成交金额']||'项目成交金额'}}:</text><text style="color: #FF3B30;">{{item.dealamount}}</text></view>
+					<view class="replenish"><text style="color: #999;">{{language['项目类型']||'项目类型'}}:</text><text>{{language[item.projecttype_remarks]||item.projecttype_remarks}}</text>
 					</view>
-					<view class="replenish"><text
-							style="color: #999;">{{language['负责人']||'负责人'}}:</text><text>{{item.reportby||'--'}}</text>
+					<view class="replenish"><text style="color: #999;">{{language['负责人']||'负责人'}}:</text><text>{{item.reportby||'--'}}</text>
 					</view>
 				</view>
 			</navigator>
 		</block>
-		<wxs module="render">
-			module.exports = {
-				rightRate: function(rate) {
-					if (rate - 0 < 50) {
-						return 'transform: rotate(' + 3.6 * (rate - 0) + 'deg);';
-					} else {
-						return 'transform: rotate(0);border-color: var(--assist);';
-					}
-				},
-				leftRate: function(rate) {
-					if (rate - 0 >= 50) {
-						return 'transform: rotate(' + 3.6 * (rate - 50) + 'deg);';
-					}
+	</view>
+	<My_empty wx:if="{{!list[0].sa_projectid}}"></My_empty>
+	<wxs module="render">
+		module.exports = {
+			rightRate: function (rate) {
+				if (rate - 0 < 50) {
+					return 'transform: rotate(' + 3.6 * (rate - 0) + 'deg);';
+				} else {
+					return 'transform: rotate(0);border-color: var(--assist);';
+				}
+			},
+			leftRate: function (rate) {
+				if (rate - 0 >= 50) {
+					return 'transform: rotate(' + 3.6 * (rate - 50) + 'deg);';
 				}
 			}
-		</wxs>
-	</view>
-	<block wx:else>
-		<view class="row-amount">
-			<view>
-				{{language['项目总计']||'项目总计'}}:{{statistics.length ? statistics[0].sequence1 : 0}}
-			</view>
-			<view>
-				{{language['预计签约金额']||'预计签约金额'}}:{{statistics.length ? statistics[0].totalsignamount_due :
-				0}}{{language['万元']||'万元'}}
-			</view>
-			<view>
-				{{language['项目成交金额']||'项目成交金额'}}:{{statistics.length ? statistics[0].totaldealamount :
-				0}}{{language['万元']||'万元'}}
-			</view>
-		</view>
-		<view class="item" wx:for="{{statistics}}" wx:key="stagename">
-			<view class="label">{{language[item.stagename]||item.stagename}}</view>
-			<view class="row">
-				<view>{{language['项目总数']||'项目总数'}}:{{item.sequence1}}</view>
-				<view>{{language['当前项目数']||'当前项目数'}}:{{item.projectqty}}</view>
-			</view>
-			<view class="row">
-				<view>
-					{{language['预计签约金额']||'预计签约金额'}}:{{item.signamount_due}}{{language['万元']||'万元'}}
-				</view>
-				<view>
-					{{language['项目成交金额']||'项目成交金额'}}:{{item.dealamount}}{{language['万元']||'万元'}}
-				</view>
-			</view>
-		</view>
-	</block>
+		}
+	</wxs>
+
 </Yl_ListBox>
 <Yl_Filtrate1 id="Yl_Filtrate1" show='{{showFiltrate}}' list="{{filtratelist}}" bindhandle="handleFilter">
 	<organization slot='head' defaultIsleave='1' dimissionF id='organization' />
 </Yl_Filtrate1>
-<Yl_Filtrate1 show='{{projectPhasesShow}}' isReset='{{false}}' list="{{projectPhases}}" bindinterrupt='phasesInterrupt'
-	bindhandle="phasesHandleFilter" />
+<Yl_Filtrate1 show='{{projectPhasesShow}}' isReset='{{false}}' list="{{projectPhases}}" bindinterrupt='phasesInterrupt' bindhandle="phasesHandleFilter" />