Kaynağa Gözat

订单类型占比分析

xiaohaizhao 11 ay önce
ebeveyn
işleme
5abbec0a5d

+ 26 - 7
salesPanel/analysisOfOrderTypeDistribution/index.js

@@ -24,6 +24,7 @@ Component({
         }
     },
     data: {
+        dateTypes: ["全部", "本年", "本月"],
         "content": {
             pageNumber: 1,
             pageTotal: 1,
@@ -83,6 +84,7 @@ Component({
                     "content.pageSize": res.pageSize,
                 })
                 this.initChart(res.data[0].ratio, content.dataType == '金额' ? CNY(res.data[0].ratio[0].total / dividend) : res.data[0].ratio[0].total, getMapText);
+                this.selectComponent("#TimeRange").onCancel()
             })
         },
         initChart(data, total, getMapText) {
@@ -91,14 +93,13 @@ Component({
                     trigger: 'item'
                 },
                 legend: {
-                    top: '5%',
+                    bottom: '5%', // Moved legend to the bottom
                     left: 'center'
                 },
                 series: [{
-                    name: 'Access From',
                     type: 'pie',
                     radius: ['40%', '70%'],
-                    center: ['50%', '70%'],
+                    center: ['50%', '42%'], // Adjusted to align with the new legend position
                     endAngle: 360,
                     data: data.map(v => {
                         return {
@@ -112,7 +113,7 @@ Component({
                                     '项目订单': '#F6BD16',
                                     '工具订单': '#6F5EF9',
                                     '工具借用订单': '#6DC8EC'
-                                }[v.type] || '#CCCCCC' // Default color if type is not matched
+                                } [v.type] || '#CCCCCC' // Default color if type is not matched
                             }
                         }
                     }),
@@ -154,12 +155,10 @@ Component({
                     }
                 }]
             };
-
-            // Add total in the center of the ring
             option.graphic = {
                 type: 'text',
                 left: 'center',
-                top: '63%',
+                top: '35%', // Adjusted to align with the new series position
                 style: {
                     text: `${getMapText('总计')}\n\n${total}`,
                     textAlign: 'center',
@@ -178,6 +177,26 @@ Component({
                 chart.setOption(option);
                 return chart;
             });
+        },
+        changeDate({
+            detail
+        }) {
+            this.setData({
+                dateType: detail.dateType,
+                "content.where.begdate": detail.begdate || "",
+                "content.where.enddate": detail.enddate || ""
+            })
+            this.getList(true)
+        },
+        changeType(e) {
+            const {
+                name
+            } = e.currentTarget.dataset;
+            if (name == this.data.content.dataType) return;
+            this.setData({
+                "content.dataType": name
+            })
+            this.getList(true)
         }
     }
 })

+ 20 - 1
salesPanel/analysisOfOrderTypeDistribution/index.scss

@@ -1,5 +1,24 @@
 @import "../shipmentAnalysis/index.scss";
 
+.tabs {
+	display: flex;
+	margin-bottom: 0;
+
+	.tab {
+		line-height: 34rpx;
+		font-family: PingFang SC, PingFang SC;
+		font-size: 24rpx;
+		color: #999999;
+		margin-right: 40rpx;
+	}
+
+	.active {
+		font-family: PingFang SC, PingFang SC;
+		font-size: 24rpx;
+		color: #1965E8;
+	}
+}
+
 .item {
 	position: relative;
 
@@ -25,7 +44,7 @@
 
 
 .chart {
-	height: 800rpx;
+	height: 700rpx;
 	width: 100%;
 
 	ec-canvas {

+ 14 - 4
salesPanel/analysisOfOrderTypeDistribution/index.wxml

@@ -1,26 +1,36 @@
+<view class="global-card tabs">
+	<view class="tab {{content.dataType == '金额' ? 'active':''}}" data-name='金额' bind:tap="changeType">{{language['金额']||'金额'}}</view>
+	<view class="tab {{content.dataType == '数量' ? 'active':''}}" data-name='数量' bind:tap="changeType">{{language['数量']||'数量'}}</view>
+</view>
+<timeRange id='TimeRange' dateTypes='{{dateTypes}}' dateType='{{content.dateType}}' bind:onChange='changeDate' />
 <Yl_ListBox id='ListBox' bind:getlist='getList'>
 	<view class="global-card">
 		<view class="chart">
 			<ec-canvas id="mychart" canvas-id="chart" ec="{{ ec }}"></ec-canvas>
 		</view>
 	</view>
-
 	<My_empty wx:if='{{list[0].isEmpty}}' />
 	<block wx:else>
 		<navigator url="#" class="global-card item" wx:for="{{list}}" version='develop' wx:key="sonum" target='miniProgram' app-id='wxc1b6ae925ac1d06a' path="{{'/packageA/orderForm/detail'+'?auth='+auth+'&userMsg='+userMsg+'&site='+site+'&templetList='+templetList+'$languagecode='+languagecode+'&id='+item.sa_orderid}}" url="/packageA/orderForm/detail" open-type="navigate">
 			<view class="title">
-				<text class="tag" style="background-color: #67C23A;">{{language[item.tradefield]||item.tradefield}}</text>
+				<text class="tag" style="background-color: #67C23A;">
+					{{language[item.tradefield]||item.tradefield}}
+				</text>
 				{{item.sonum}}
 			</view>
 			<view class="row">erp{{language['单号']||'单号'}}:{{item.erpbillno ||' --'}}</view>
-			<view class="row">{{language['订单类型']||'订单类型'}}:{{language[item.type]||item.type || ' --'}}</view>
+			<view class="row">
+				{{language['订单类型']||'订单类型'}}:{{language[item.type]||item.type || ' --'}}
+			</view>
 			<view class="row">{{language['企业名称']||'企业名称'}}:{{item.enterprisename ||' --'}}</view>
 			<view class="row">{{language['项目名称']||'项目名称'}}:{{item.projectname ||' --'}}</view>
 			<view class="row">{{language['产品总数量']||'产品总数量'}}:{{item.qty ||'0'}}</view>
 			<view class="row">{{language['总金额']||'总金额'}}:{{item.amount ||'0'}}</view>
 			<view class="row">{{language['退款金额']||'退款金额'}}:{{item.returnamount ||'0'}}</view>
 			<view class="row">{{language['业务员']||'业务员'}}:{{item.name ||' --'}}</view>
-			<view class="row" style="color: {{item.status?'#999':''}};">{{language['订单状态']||'订单状态'}}:{{item.status ||' --'}}</view>
+			<view class="row" style="color: {{item.status?'#999':''}};">
+				{{language['订单状态']||'订单状态'}}:{{item.status ||' --'}}
+			</view>
 			<view class="but">
 				{{language['查看详情']||'查看详情'}}
 				<text class='iconfont icon-webfanhui' />