shish 3 лет назад
Родитель
Сommit
131a6582f3

+ 1 - 0
ghsApp/src/admin/home/apply.vue

@@ -50,6 +50,7 @@ export default {
                         {name: "花材销量",img: `${this.$constant.imgUrl}/ghs/home/jyzk.png`,url: "/admin/stat/productSale"},
                         {name: "客户下单榜",img: `${this.$constant.imgUrl}/ghs/home/jyzk.png`,url: "/admin/stat/customSale"},
                         {name: "采购统计",img: `${this.$constant.imgUrl}/ghs/home/jyzk.png`,url: "/admin/stat/cgStat"},
+                        {name: "采购运费",img: `${this.$constant.imgUrl}/ghs/home/jyzk.png`,url: "/admin/stat/cgFreight"},
                         {name: "库存总览",img: `${this.$constant.imgUrl}/ghs/home/jyzk.png`,url: "/admin/stat/stock"},
                         {name: "损耗花材",img: `${this.$constant.imgUrl}/ghs/home/jyzk.png`,url: "/admin/stat/wastage"},
                         {name: "损耗总览",img: `${this.$constant.imgUrl}/ghs/home/jyzk.png`,url: "/admin/stat/waste"}

+ 179 - 0
ghsApp/src/admin/stat/cgFreight.vue

@@ -0,0 +1,179 @@
+<template>
+<view class="app-content">
+	<view class="ex-page">
+		<view class="top-bar">
+			<DateSelect class="bar" top="0" @selectDateFn="selectDateFn" />
+		</view>
+		<view class="main-view">
+			<view class="space-view ex-table">
+				<block>
+					<t-table :headerBackgroundColor="'#F0F2F6'">
+						<t-tr header><t-th>时间</t-th><t-th>打包</t-th><t-th>短途</t-th><t-th>长途</t-th><t-th>提货</t-th><t-th>本地</t-th></t-tr>
+						<view v-for="(item, index) in profile.list" :key="index">
+							<t-tr>
+								<t-td><view>{{item.entryTime.substr(5,5)}}</view></t-td>
+								<t-td><view>{{item.packingCharge?parseFloat(item.packingCharge):0}}</view></t-td>
+								<t-td><view>{{item.shortCharge?parseFloat(item.shortCharge):0}}</view></t-td>
+								<t-td><view>{{item.longCharge?parseFloat(item.longCharge):0}}</view></t-td>
+								<t-td><view>{{item.pickCharge?parseFloat(item.pickCharge):0}}</view></t-td>
+								<t-td><view>{{item.localCharge?parseFloat(item.localCharge):0}}</view></t-td>
+							</t-tr>
+						</view>
+						<t-tr>
+							<t-td><view style="color:black;font-weight:bold;">合计</view></t-td>
+							<t-td><view style="color:black;font-weight:bold;">{{profile.total.packingCharge?parseFloat(profile.total.packingCharge):0}}</view></t-td>
+							<t-td><view style="color:black;font-weight:bold;">{{profile.total.shortCharge?parseFloat(profile.total.shortCharge):0}}</view></t-td>
+							<t-td><view style="color:black;font-weight:bold;">{{profile.total.longCharge?parseFloat(profile.total.longCharge):0}}</view></t-td>
+							<t-td><view style="color:black;font-weight:bold;">{{profile.total.pickCharge?parseFloat(profile.total.pickCharge):0}}</view></t-td>
+							<t-td><view style="color:black;font-weight:bold;">{{profile.total.localCharge?parseFloat(profile.total.localCharge):0}}</view></t-td>
+						</t-tr>
+						<t-tr>
+							<t-td><view style="color:black;font-weight:bold;">总共{{profile.total.num}}笔</view></t-td>
+						</t-tr>
+					</t-table>
+				</block>
+			</view>
+		</view>
+	</view>
+</view>
+</template>
+<script>
+import AppWrapperEmpty from "@/components/app-wrapper-empty";
+import SelectList from "@/components/plugin/selectList";
+import { getCgFreight } from "@/api/stat";
+import { list } from "@/mixins";
+import ShopSelect from "@/components/module/shopSelect";
+import DateSelect from "@/components/module/dateSelect";
+import AppSearchModule from "@/components/module/app-search";
+import {mapActions, mapGetters} from "vuex";
+export default {
+	components: { SelectList, AppWrapperEmpty,ShopSelect,AppSearchModule,DateSelect },
+	mixins: [list],
+	computed: {		
+		...mapGetters(["getDictionariesInfo","getLoginInfo"])	
+	},
+	data() {
+		return {
+			isShow:false,
+			customizationTime:[],
+			shopId:'',
+			itemId:'',
+			nowTime: "",
+			showTimeDropdown: false,
+			nowShop: "",
+			showShopDropdown: false,
+			dataList: [],
+			params:{ itemId: '', searchTime:'', startTime: "", endTime: "", shopId: "", },
+			profile:[],
+			storageData:[],
+			searchContent:'',
+		};
+	},
+	methods: {
+		...mapActions(['setUserShopAll']),
+		selectDateFn(val) {
+			this.params = {...this.params,...val}
+			this.init();			
+		},
+		init() {
+			this.getList();
+		},
+		getList() {
+			let that = this
+			uni.showLoading()
+			getCgFreight(this.params).then(res => {
+				uni.hideLoading()
+				if(res.code == 1){
+					that.profile = res.data
+				}
+			})
+		}
+	}
+};
+</script>
+<style lang="scss" scoped>
+.ex-page {
+	background: white;
+	padding-top:20upx;
+	height: 100%;
+	display: flex;
+	flex-direction: column;
+	.top-bar {
+		position: absolute;
+		left: 0;
+		top:30upx;
+		display: flex;
+		width: 100%;
+		z-index: 20;
+		.bar{
+			width: 50%;
+			height: 100%;
+			text-align: center;
+			&:nth-child(1){
+				border-right: 1upx solid #eeeeec;
+			}
+		}
+	}
+	.main-view {
+		margin-top:80upx;
+		flex: 1;
+		background-color: #f9fbfc;
+		.space-view {
+			background-color: #fff;
+			.change-level{
+				font-size:22upx;
+				padding:10upx 15upx;
+			}
+		}
+		.ex-info {
+			padding: 30upx;
+			.info-cell {
+				display: flex;
+				align-items: center;
+				font-size: 28upx;
+				&:not(:first-child) {
+					margin-top: 20upx;
+				}
+				.cell-label {
+					width: 110upx;
+					color: #666666;
+				}
+				.cell-value {
+					margin-left: 40upx;
+					color: #333;
+					&.warning {
+						color: #ffaf1d;
+					}
+					&.success {
+						color: #27c325;
+					}
+				}
+			}
+		}
+		.ex-table {
+			/deep/.icon-info {
+				color: #333333;
+			}
+		}
+	}
+	.bar-view {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		padding: 0 30upx;
+		width: 100%;
+		height: 100upx;
+
+		box-shadow: 0upx -1upx 6upx 0upx rgba(4, 0, 0, 0.06);
+		.info-view {
+			font-size: 26upx;
+		}
+		.btn-view {
+			display: flex;
+			.admin-button-com {
+				margin: 0 10upx;
+			}
+		}
+	}
+}
+</style>

+ 4 - 0
ghsApp/src/api/stat/index.js

@@ -1,5 +1,9 @@
 import https from '@/plugins/luch-request_0.0.7/request'
 
+export const getCgFreight = data => {
+	return https.get('/stat/cg-freight', data)
+}
+
 export const getWaste = async data => {
 	return https.get('/stat/waste', data)
 }

+ 1 - 0
ghsApp/src/pages.json

@@ -253,6 +253,7 @@
 				{"path": "customSale","style": {"navigationBarTitleText": "客户下单排行"}},
 				{"path": "incomeStat","style": {"navigationBarTitleText": "应收款"}},
 				{"path": "cgStat","style": {"navigationBarTitleText": "采购统计"}},
+				{"path": "cgFreight","style": {"navigationBarTitleText": "采购运费统计"}},
 				{"path": "stock","style": {"navigationBarTitleText": "库存总览"}},
 				{"path": "mayPayStat","style": {"navigationBarTitleText": "应付款"}},
 				{"path": "wastage","style": {"navigationBarTitleText": "损耗花材"}},