xiaohaizhao 6 months ago
parent
commit
f3c0933366

+ 2 - 1
app.json

@@ -193,7 +193,8 @@
                 "panel/detail",
                 "customerBlance/detail",
                 "customerBlance/Pipeline",
-                "dataOverview/index"
+                "dataOverview/index",
+                "dataOverview/OverviewAndDetails/Clue"
             ]
         }
     ],

+ 2 - 2
salesPanel/customerBlance/index.js

@@ -60,7 +60,7 @@ Component({
                 content.accountno = accounts.data[0].accountno
                 this.setData({
                     accounts: accounts.data.map(v => {
-                        if (v.balance > dividend) {
+                        if (Math.abs(v.balance) > dividend) {
                             v.balance = CNY(v.balance / wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)
                             v.conversion = true;
                         } else {
@@ -88,7 +88,7 @@ Component({
                 })
                 this.setData({
                     accounts: res.data.accountclass.map(v => {
-                        if (v.balance > dividend) {
+                        if (Math.abs(v.balance) > dividend) {
                             v.balance = CNY(v.balance / wx.getStorageSync('languagecode') == 'ZH' ? 10000 : 1000)
                             v.conversion = true;
                         } else {

+ 6 - 1
salesPanel/dataOverview/Clue/dataOverview.js

@@ -185,7 +185,12 @@ Component({
         toDetail(e) {
             const {
                 item
-            } = e.currentTarget.dataset;
+            } = e.currentTarget.dataset,
+                content = this.data.content;
+            content.typemx = item.title;
+            wx.navigateTo({
+                url: '/salesPanel/dataOverview/OverviewAndDetails/Clue?content=' + JSON.stringify(content),
+            })
         },
         openDateType() {
             this.setData({

+ 103 - 0
salesPanel/dataOverview/OverviewAndDetails/Clue.js

@@ -0,0 +1,103 @@
+const _Http = getApp().globalData.http,
+    currency = require("../../../utils/currency"),
+    CNY = (value, symbol = "¥", precision = 2) => currency(value, {
+        symbol,
+        precision
+    }).format();
+Page({
+    data: {
+        tradefieldShow: false
+    },
+    onLoad(options) {
+        getApp().globalData.Language.getLanguagePackage('数据总览')
+        this.setData({
+            content: JSON.parse(options.content),
+            siteid: wx.getStorageSync('userMsg').siteid
+        })
+        this.getList()
+
+        let page = getCurrentPages()[getCurrentPages().length - 2],
+            model = page.selectComponent("#organization"),
+            organization = this.selectComponent("#organization"),
+            {
+                username,
+                isleave
+            } = page.data;
+        organization.setData({
+            ...model.data
+        })
+        this.setData({
+            username,
+            isleave
+        })
+    },
+    getList(init = false) {
+        _Http.init(this.data.content, init).then(content => {
+            console.log("content", content)
+            _Http.basic({
+                "id": 20241008125804,
+                content
+            }).then(res => {
+                this.selectComponent('#ListBox').RefreshToComplete();
+                if (res.code != '1') return wx.showToast({
+                    title: res.data,
+                    icon: "none"
+                })
+                res.data = res.data.map(v => {
+                    v.marketprice = CNY(v.marketprice)
+                    v.amount = CNY(v.amount)
+                    v.invoiceamount = CNY(v.invoiceamount)
+                    v.uninvoiceamount = CNY(v.uninvoiceamount)
+                    v.writeoffamount = CNY(v.writeoffamount)
+                    v.unwriteoffamount = CNY(v.unwriteoffamount)
+                    v.returnamount = CNY(v.returnamount)
+                    v.price = CNY(v.price)
+                    v.logisticsamount = CNY(v.logisticsamount)
+                    return v
+                })
+                this.setData({
+                    list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
+                    "content.pageNumber": res.pageNumber + 1,
+                    "content.pageSize": res.pageSize,
+                    "content.pageTotal": res.pageTotal,
+                    "total": res.total,
+                })
+            })
+        })
+    },
+    handleFilter({
+        detail
+    }) {
+        if (detail.name == "close") return;
+        if (detail.name == 'reset') {
+            this.selectComponent("#organization").setData({
+                isleave: 1
+            })
+            this.selectComponent("#organization").initDepAndUser()
+            this.setData({
+                "content.dataid": wx.getStorageSync('userMsg').userid,
+                "content.type": 0,
+                "content.where.isleave": 1,
+                username: wx.getStorageSync('userMsg').name,
+                isleave: 1
+            })
+        } else {
+            let active = this.selectComponent("#organization").data.result,
+                isleave = this.selectComponent("#organization").data.isleave;
+            let type = active.userid ? 0 : 1,
+                dataid = type == 0 ? active.userid : active.departmentid
+            this.setData({
+                "content.dataid": dataid,
+                "content.type": type,
+                "content.where.isleave": isleave,
+                "content.username": active.name
+            })
+        }
+        this.getList(true);
+    },
+    openFiltrate() {
+        this.setData({
+            showFiltrate: true
+        })
+    },
+})

+ 4 - 0
salesPanel/dataOverview/OverviewAndDetails/Clue.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "数据总览"
+}

+ 125 - 0
salesPanel/dataOverview/OverviewAndDetails/Clue.scss

@@ -0,0 +1,125 @@
+.tab-box {
+	display: flex;
+	height: 90rpx;
+	background-color: #fff;
+
+	.left {
+		display: flex;
+		width: 0;
+		flex: 1;
+		align-items: center;
+		padding-left: 30rpx;
+		justify-content: space-between;
+
+		.user {
+			flex-shrink: 0;
+			line-height: 40rpx;
+			font-family: PingFang SC, PingFang SC;
+			font-weight: 700;
+			font-size: 28rpx;
+			color: #333333;
+			margin-right: 20rpx;
+		}
+
+		.type {
+			font-family: PingFang SC, PingFang SC;
+			font-size: 28rpx;
+			color: #666666;
+			flex-shrink: 0;
+
+			.iconfont {
+				font-size: 26rpx;
+				margin-right: 10rpx;
+			}
+		}
+	}
+
+	.right {
+		display: flex;
+		align-items: center;
+		height: 90rpx;
+		flex-shrink: 0;
+
+		.filtrate-box {
+			display: flex;
+			height: 100%;
+			align-items: center;
+			padding: 0 20rpx;
+
+			font-family: PingFang SC, PingFang SC;
+			font-size: 28rpx;
+			color: #666666;
+
+			.iconfont {
+				margin-right: 6rpx;
+				color: #999999;
+			}
+
+		}
+
+		.search-box {
+			display: flex;
+			height: 100%;
+			align-items: center;
+			padding: 0 30rpx;
+
+			.iconfont {
+				font-size: 40rpx;
+			}
+		}
+	}
+}
+
+.title {
+	line-height: 38rpx;
+	font-family: Microsoft YaHei, Microsoft YaHei;
+	font-weight: bold;
+	font-size: 28rpx;
+	color: #333333;
+
+	.tag {
+		display: inline-block;
+		height: 40rpx;
+		line-height: 40rpx;
+		padding: 0 8rpx;
+		border-radius: 4rpx;
+		font-family: PingFang SC, PingFang SC;
+		font-size: 24rpx;
+		color: #FFFFFF;
+		font-weight: 400;
+		margin-right: 8rpx;
+	}
+}
+
+.row {
+	line-height: 32rpx;
+	font-family: Microsoft YaHei, Microsoft YaHei;
+	font-size: 24rpx;
+	color: #999999;
+	margin-top: 10rpx;
+}
+
+.expanded {
+	display: flex;
+	align-items: center;
+	height: 32rpx;
+	font-family: Microsoft YaHei, Microsoft YaHei;
+	font-weight: bold;
+	font-size: 24rpx;
+	color: #3874F6;
+	margin-top: 10rpx;
+
+	.iconfont {
+		font-size: 16rpx;
+		margin-left: 8rpx;
+		display: inline-block; // 使transform生效
+		transform: rotate(90deg) !important; // 默认指向下方
+		transition: transform 0.3s ease; // 添加过渡效果
+	}
+}
+
+.up {
+	.iconfont {
+		transform: rotate(-90deg) !important; // 指向上方
+	}
+}

+ 82 - 0
salesPanel/dataOverview/OverviewAndDetails/Clue.wxml

@@ -0,0 +1,82 @@
+<view class='tab-box'>
+	<view class="left">
+		<view class="user line-1">{{language[content.dateType]||content.dateType}}-{{language[content.typemx]||content.typemx}}</view>
+	</view>
+	<view class="right">
+		<view class="filtrate-box" hover-class="navigator-hover" bindtap="openFiltrate">
+			<view class="iconfont  icon-shaixuan" />
+			<view wx:if="{{username}}">
+				{{language[username]||username}}_{{language[isleave==1?'在职':'离职']||isleave==1?'在职':'离职'}}
+			</view>
+			<view wx:else>{{language['筛选']||'筛选'}}</view>
+		</view>
+	</view>
+</view>
+<view style="height: 20rpx;" />
+<Yl_ListBox id='ListBox' bind:getlist='getList'>
+	<view class="global-card" wx:for="{{list}}" wx:key="sa_orderitemsid">
+		<view class="title">
+			<text class="tag" style="background-color: #3874F6;">{{language[item.type]||item.type}}</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['企业名称']||'企业名称'}}:{{item.enterprisename ||' --'}}</view>
+		<view class="row">{{language['项目名称']||'项目名称'}}:{{item.projectname ||' --'}}</view>
+		<view class="row">{{language['业务员']||'业务员'}}:{{item.salername ||' --'}}</view>
+
+		<view class="row" wx:if="{{item.expanded}}">{{language['行号']||'行号'}}:{{item.rowno ||' --'}}</view>
+		<view class="row">{{language['产品名称']||'产品名称'}}:{{item.itemname ||' --'}}</view>
+		<view class="row">{{language['产品编号']||'产品编号'}}:{{item.itemno ||' --'}}</view>
+		<view class="row" wx:if="{{item.expanded}}">
+			{{language['型号']||'型号'}}:{{language[item.model]||item.model||' --'}}
+		</view>
+		<view class="row" wx:if="{{siteid!='HY' && item.expanded}}">
+			{{language['规格']||'规格'}}:{{language[item.spec]||item.spec||' --'}}
+		</view>
+		<view class="row" wx:if="{{siteid=='HY' && item.expanded}}">
+			{{language['公称通径']||'公称通径'}}:{{item.caliber||' --'}}
+		</view>
+		<view class="row" wx:if="{{siteid=='HY' && item.expanded}}">
+			{{language['公称压力']||'公称压力'}}:{{item.nominalpressureStr||' --'}}
+		</view>
+		<view class="row" wx:if="{{item.expanded}}">{{language['需求日期']||'需求日期'}}:{{item.needdate||' --'}}</view>
+		<view class="row" wx:if="{{item.expanded}}">{{language['回复交期']||'回复交期'}}:{{item.deliverydate||' --'}}</view>
+		<view class="row">{{language['数量']||'数量'}}:{{item.qty||' --'}}</view>
+		<view class="row">{{language['牌价']||'牌价'}}:<text style="color: #3874F6;">{{item.marketprice||' --'}}</text></view>
+		<view class="row">{{language['订单单价']||'订单单价'}}:<text style="color: #3874F6;">{{item.price||' --'}}</text></view>
+		<view class="row">{{language['订单金额']||'订单金额'}}:<text style="color: #3874F6;">{{item.amount||' --'}}</text></view>
+		<view wx:if="{{item.expanded}}">
+			<view class="row">
+				{{language['未出货数量']||'未出货数量'}}:<text style="color: #3874F6;">{{item.unlogisticsqty||' --'}}</text>
+			</view>
+			<view class="row">
+				{{language['已开票金额']||'已开票金额'}}:<text style="color: #3874F6;">{{item.invoiceamount||' --'}}</text>
+			</view>
+			<view class="row">
+				{{language['已核销金额']||'已核销金额'}}:<text style="color: #3874F6;">{{item.writeoffamount||' --'}}</text>
+			</view>
+			<view class="row">{{language['退货数量']||'退货数量'}}:{{item.returngty||' --'}}</view>
+			<view class="row">{{language['退款金额']||'退款金额'}}:<text style="color: #3874F6;">{{item.returnamount||' --'}}</text></view>
+			<view class="row">
+				{{language['材质']||'材质'}}:{{language[item.material]||item.material||' --'}}
+			</view>
+			<block wx:if="{{siteid=='HY'}}">
+				<view class="row">
+					{{language['产线']||'产线'}}:{{language[item.prodline]||item.prodline||' --'}}
+				</view>
+				<view class="row">
+					{{language['装置']||'装置'}}:{{language[item.device]||item.device||' --'}}
+				</view>
+				<view class="row">
+					{{language['备注']||'备注'}}:{{language[item.specalnote]||item.specalnote||' --'}}
+				</view>
+			</block>
+		</view>
+	</view>
+	<My_empty wx:if="{{list.length==0}}" />
+</Yl_ListBox>
+
+<Yl_Filtrate1 show='{{showFiltrate}}' list='{{[]}}' dateRange bindhandle="handleFilter">
+	<organization slot='head' defaultIsleave='1' dimissionF id='organization' />
+</Yl_Filtrate1>

+ 0 - 1
salesPanel/dataOverview/index.wxml

@@ -10,7 +10,6 @@
 			<view wx:if="{{username}}">
 				{{language[username]||username}}_{{language[isleave==1?'在职':'离职']||isleave==1?'在职':'离职'}}
 			</view>
-			{{language['筛选']||'筛选'}}
 		</view>
 	</view>
 </view>

+ 1 - 1
salesPanel/index/index.js

@@ -48,7 +48,7 @@ Page({
             label: "已下单未出货分析",
             model: "#ShipmentAnalysis1"
         }],
-        tabsActive: 2,
+        tabsActive: 0,
         showFiltrate: false,
         dataid: wx.getStorageSync('userMsg').userid,
         username: wx.getStorageSync('userMsg').name,

+ 1 - 0
salesPanel/panel/index.scss

@@ -136,6 +136,7 @@
 				height: 0;
 				border-left: 8rpx solid transparent;
 				border-right: 8rpx solid transparent;
+				margin-left: 10rpx;
 			}
 
 			.increase {

+ 2 - 2
salesPanel/panel/index.wxml

@@ -26,11 +26,11 @@
                         </view>
                         <view class="row">
                             {{language['年同比']||'年同比'}}:{{item.tbxsje}}%
-                            <view class="{{item.tbxsje>=0?'increase':'decrease'}}" />
+                            <view wx:if="{{item.tbxsje!=0}}" class="{{item.tbxsje>=0?'increase':'decrease'}}" />
                         </view>
                         <view class="row">
                             {{language['年环比']||'年环比'}}:{{item.hbxsje}}%
-                            <view class="{{item.hbxsje>=0?'increase':'decrease'}}" />
+                            <view wx:if="{{item.hbxsje!=0}}" class="{{item.hbxsje>=0?'increase':'decrease'}}" />
                         </view>
                     </view>
                     <view class="card">