| | |
| | | this.singlist = []; |
| | | }, |
| | | |
| | | //è·å容å¨çä¿¡æ¯ |
| | | //è·å |
| | | getContainerData(param) { |
| | | if (!this.warehouse.upi) { |
| | | uni.showToast({ |
| | |
| | | // STORAGE_VIEW='/api/wmsPlaceContainerInfo/list', |
| | | STORAGE_VIEW='/api/wmsBasePlace/listView', |
| | | |
| | | QueryOffOrderList='/api/WmsCommonnQuery/HomeOffOrderList', |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | // å¢å åæ£ä¿¡æ¯ |
| | |
| | | method: 'get', |
| | | data: params |
| | | }); |
| | | |
| | | |
| | | export const getQueryOffOrderList = (params?: any) => |
| | | request({ |
| | | url: Api.QueryOffOrderList, |
| | | method: 'get', |
| | | data: params |
| | | }); |
| | |
| | | import request from '/@/utils/request'; |
| | | enum Api { |
| | | wmsStockWarning = '/api/wmsStockWarning/page', |
| | | wmsStockPassMap = '/api/wmsStockPassMap/page', |
| | | wmsStockPassMap = '/api/WmsCommonnQuery/HomeTytPage', |
| | | wmsTakeGoodStats = '/api/wmsTakeGoodStats/page', |
| | | wmsHomePageQuery = '/api/wmsHomePage/wmsHomePageQuery', |
| | | wmsHomePlaceQuery = '/api/wmsHomePage/wmsHomePlaceQuery', |
| | |
| | | <template> |
| | | <div class="home-container layout-pd"> |
| | | <el-row :gutter="15" class="home-card-one mb15"> |
| | | <el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="home-media home-media-lg"> |
| | | <el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="home-media home-media-lg" v-for="(v, k) in offOrderInfo" > |
| | | <div class="home-card-item flex"> |
| | | <div class="flex-margin flex w100" :class="` home-one-animation${1}`"> |
| | | <div class="flex-auto"> |
| | | <span class="ml5 font16">æ¬å¨ä¸çº¿è®¢åæ°</span> |
| | | <div class="font30">{{ state.orderNum }}</div> |
| | | <span class="ml5 font16">{{ v.name }}</span> |
| | | <div class="font30">{{ v.value }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="home-media home-media-lg"> |
| | | <!-- <el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="home-media home-media-lg"> |
| | | <div class="home-card-item flex"> |
| | | <div class="flex-margin flex w100" :class="` home-one-animation${1}`"> |
| | | <div class="flex-auto"> |
| | |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="home-media home-media-lg"> |
| | | <div class="home-card-item flex"> |
| | | <div class="flex-margin flex w100" :class="` home-one-animation${1}`"> |
| | | <div class="flex-auto"> |
| | | <span class="ml5 font16">ä¸çº¿æ¿æ°</span> |
| | | <div class="font30">{{ state.orderNum }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | --> |
| | | <!-- <el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" v-for="(v, k) in state.homeOne" :key="k" :class="{ 'home-media home-media-lg': k > 1, 'home-media-sm': k === 1 }"> |
| | | <div class="home-card-item flex"> |
| | | <div class="flex-margin flex w100" :class="` home-one-animation${k}`"> |
| | |
| | | import { wmsStockPassMap, wmsHomePageQuery, wmsHomePlaceQuery, wmsTransitionDiagramQuery } from '/@/api/main/inventoryWarning/inventoryWarning'; |
| | | import type { TabsPaneContext } from 'element-plus'; |
| | | import { useRoute, useRouter } from 'vue-router'; |
| | | import { getStorageView } from '/@/api/main/ReportCenter/storageView'; |
| | | import { getQueryOffOrderList, getStorageView } from '/@/api/main/ReportCenter/storageView'; |
| | | const router = useRouter(); |
| | | // æ¥å£æ°æ® |
| | | const loadingwms = ref(false); |
| | |
| | | ], |
| | | }; |
| | | |
| | | var offOrderInfo = ref([]) |
| | | onMounted(() => { |
| | | nextTick(async () => { |
| | | |
| | | |
| | | var res = await getStorageView(); |
| | | debugger |
| | | debugger; |
| | | if (res.data.code == 200) { |
| | | const { data } = res; |
| | | const result = data.result; |
| | |
| | | optionPie.series[0].data = countList.value; |
| | | myChart = echarts.init(document.getElementById('homePieChart') as HTMLDivElement); |
| | | myChart.setOption(optionPie); |
| | | } |
| | | |
| | | |
| | | var res = await getQueryOffOrderList(); |
| | | // WmsCommonnQuery/QueryOffOrderList |
| | | if (res.data.code == 200) { |
| | | debugger; |
| | | offOrderInfo.value = res.data.result || []; |
| | | } |
| | | }); |
| | | handleQuery3('1'); |
| | | }); |
| | | |
| | | // æ¥è¯¢ |
| | |
| | | }; |
| | | // handleQuery1(); |
| | | // handleQuery2(); |
| | | // handleQuery3('1'); |
| | | // |
| | | // handleQuery4(); |
| | | const activeName = ref('1'); |
| | | const handleClick = (tab: TabsPaneContext, event: Event) => { |
| | |
| | | color2: '--next-color-success-lighter', |
| | | color3: '--el-color-success', |
| | | }, |
| | | // { |
| | | // num1: '125,65', |
| | | // num2: '+17.32', |
| | | // num3: '年度计åä¿¡æ¯', |
| | | // num4: 'iconfont icon-zaosheng', |
| | | // color1: '#6690F9', |
| | | // color2: '--next-color-warning-lighter', |
| | | // color3: '--el-color-warning', |
| | | // }, |
| | | // { |
| | | // num1: '520,43', |
| | | // num2: '-10.01', |
| | | // num3: '访é®ç»è®¡ä¿¡æ¯', |
| | | // num4: 'fa fa-github-alt', |
| | | // color1: '#FF6462', |
| | | // color2: '--next-color-danger-lighter', |
| | | // color3: '--el-color-danger', |
| | | // }, |
| | | ], |
| | | |
| | | myCharts: [] as EmptyArrayType, |
| | |
| | | const option = { |
| | | backgroundColor: state.charts.bgColor, |
| | | title: { |
| | | text: 'ä¸ä¸æ¶æ¨ç§»å¾', |
| | | text: 'ä¸ä¸çº¿æ¨ç§»å¾', |
| | | x: 'left', |
| | | textStyle: { fontSize: '12', color: state.charts.color }, |
| | | }, |
| | | tooltip: { trigger: 'axis' }, |
| | | //legend: { data: ['å
¥åº','åºåº', 'åºå', 'å¹³å'], right: 0 }, |
| | | legend: { data: ['䏿¶', '䏿¶'], right: 0 }, |
| | | legend: { data: ['ä¸çº¿', 'ä¸çº¿'], right: 0 }, |
| | | grid: { top: 50, right: 80, bottom: 100, left: 60 }, |
| | | // grid: { top: 70, right: 80, bottom: 30, left: 80 }, |
| | | xAxis: [ |
| | |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '䏿¶', |
| | | name: 'ä¸çº¿', |
| | | type: 'line', |
| | | smooth: true, |
| | | showSymbol: true, |
| | |
| | | data: [], |
| | | }, |
| | | { |
| | | name: '䏿¶', |
| | | name: 'ä¸çº¿', |
| | | type: 'line', |
| | | smooth: true, |
| | | showSymbol: true, |
| | |
| | | .home-card-three { |
| | | .home-card-item { |
| | | width: 100%; |
| | | height: 130px; |
| | | height: 160px; |
| | | border-radius: 4px; |
| | | transition: all ease 0.3s; |
| | | padding: 20px; |
| | |
| | | .home-card-two, |
| | | .home-card-three { |
| | | .home-card-item { |
| | | height: 400px; |
| | | height: 500px; |
| | | width: 100%; |
| | | overflow: hidden; |
| | | .home-monitor { |
| | |
| | | color: var(--el-text-color-primary); |
| | | border: 1px solid var(--next-border-color-light); |
| | | } |
| | | .font30{ |
| | | font-size: 39px !important; |
| | | margin: 24px 0; |
| | | color: orange; |
| | | } |
| | | .font16{ |
| | | font-size: 24px !important; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace Admin.NET.Application.Service.WmsTask.WmsRbLineTask.Dto; |
| | | public class Home_Order_Info |
| | | { |
| | | /// <summary> |
| | | /// æ°æ®åç§° |
| | | /// </summary> |
| | | public string Name { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ°æ®å¼ |
| | | /// </summary> |
| | | public int Value { get; set; } |
| | | } |
| | | |
| | | public class WmsStockPassMapInput |
| | | { |
| | | /// <summary> |
| | | /// æ¥å¨æéæ© --1为æ¥ã2为å¨ãä¸ä¸ºæ |
| | | /// </summary> |
| | | public int DayOrWeekOrMonth { get; set; } |
| | | } |
| | | |
| | | public class WmsStockPassMapOutput |
| | | { |
| | | /// <summary> |
| | | /// æ è®° |
| | | /// </summary> |
| | | public int Time { get; set; } |
| | | /// <summary> |
| | | /// å
¥åºæ° |
| | | /// </summary> |
| | | public decimal InWare { get; set; } |
| | | /// <summary> |
| | | /// åºåºæ° |
| | | /// </summary> |
| | | public decimal OutWare { get; set; } |
| | | /// <summary> |
| | | /// åºåæ° |
| | | /// </summary> |
| | | public decimal StockNum { get; set; } |
| | | /// <summary> |
| | | /// å¹³ååºåæ° |
| | | /// </summary> |
| | | public decimal AveStockNum { get; set; } |
| | | public string Date { get; set; } |
| | | } |
| | |
| | | return upiList; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// é¦é¡µ æ¬å¨ä¸çº¿ç©æä¿¡æ¯ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "HomeOffOrderList")] |
| | | [Description("WmsCommonnQuery/HomeOffOrderList")] |
| | | public async Task<List<Home_Order_Info>> HomeOffOrderList() |
| | | { |
| | | List<Home_Order_Info> resultList = new List<Home_Order_Info>(); |
| | | // è·åå½åæ¶é´ |
| | | DateTime currentDate = DateTime.Now; |
| | | // 计ç®ä¸å¨ä¹åçæ¶é´ |
| | | DateTime oneWeekAgo = currentDate.AddDays(-7); |
| | | // æ¥è¯¢æè¿ä¸å¨çä¸çº¿è®¢åæ° |
| | | var orderCount = await _mesOrderGatherRep.AsQueryable().Where(x => x.UnlineTime >= oneWeekAgo && x.UnlineTime <= currentDate).CountAsync(); |
| | | resultList.Add(new Home_Order_Info |
| | | { |
| | | Name = "æ¬å¨ä¸çº¿è®¢åæ°", |
| | | Value = orderCount // å°æ¥è¯¢å°çæ°éèµå¼ |
| | | }); |
| | | resultList.Add(new Home_Order_Info |
| | | { |
| | | Name = "ä¸çº¿å
æ°", |
| | | Value = 8 |
| | | // Value = await _mesPackage_UnLine_RecordRep æ¥è¯¢æè¿ä¸å¨çä¸çº¿è®¢åæ° |
| | | }); |
| | | resultList.Add(new Home_Order_Info |
| | | { |
| | | Name = "ä¸çº¿æ¿æ°", |
| | | Value = 3 // è¿é示ä¾å¼ä¸º3ï¼å¯ä»¥æ ¹æ®å®é
é»è¾è°æ´ |
| | | }); |
| | | return resultList; // ç»æ |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä¸ä¸æ¶æ¨ç§»å¾ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "HomeTytPage")] |
| | | [Description("WmsCommonnQuery/HomeTytPage")] |
| | | public async Task<List<WmsStockPassMapOutput>> HomeTytPage([FromQuery] WmsStockPassMapInput input) |
| | | { |
| | | List<WmsStockPassMapOutput> outputlist = new List<WmsStockPassMapOutput>(); |
| | | DateTime currentDate = DateTime.Today; |
| | | |
| | | //éæ©ä¸º12æ¥çæ
åµ |
| | | if (input.DayOrWeekOrMonth == 1) |
| | | { |
| | | //æ»çæ°æ® |
| | | DateTime all_startDate = currentDate.AddDays(-11); |
| | | DateTime all_endDate = currentDate.Date.AddDays(1).AddTicks(-1); |
| | | var all_recordsOfDay = await _mesOrderGatherRep.AsQueryable() |
| | | .Where(r => r.CreateTime >= all_startDate && r.CreateTime <= all_endDate |
| | | //&& (r.OrderStatus == OrderStatusEnum.已宿) |
| | | //&& (r.OrderType == OrderTypeEnum.䏿¶å || r.OrderType == OrderTypeEnum.䏿¶å) |
| | | ).ToListAsync(); |
| | | |
| | | |
| | | for (int i = 0; i < 12; i++) |
| | | { |
| | | DateTime startDate = currentDate.AddDays(-i); |
| | | DateTime endDate = startDate.Date.AddDays(1).AddTicks(-1); |
| | | |
| | | // æ¥è¯¢å¨è¿ä¸å¤©å
çè®°å½ |
| | | var recordsOfDay = all_recordsOfDay.Where(r => r.CreateTime >= startDate && r.CreateTime <= endDate |
| | | ).ToList(); |
| | | |
| | | |
| | | var summary = new WmsStockPassMapOutput |
| | | { |
| | | Time = 12 - i, |
| | | InWare = recordsOfDay |
| | | // .Where(x => x.OrderType == OrderTypeEnum.䏿¶å) |
| | | .ToList().Count(), |
| | | OutWare = recordsOfDay |
| | | // .Where(x => x.OrderType == OrderTypeEnum.䏿¶å) |
| | | .ToList().Count(), |
| | | StockNum = 0, |
| | | AveStockNum = 0, |
| | | Date = startDate.Date.ToString("yyyy-MM-dd") |
| | | }; |
| | | |
| | | outputlist.Add(summary); |
| | | } |
| | | } |
| | | //éæ©12å¨ |
| | | else if (input.DayOrWeekOrMonth == 2) |
| | | { |
| | | //æ»çæ°æ® |
| | | DateTime all_startDate = GetStartOfWeek(currentDate).AddDays(-7 * 11); |
| | | DateTime all_endDate = GetEndOfWeek(currentDate); |
| | | var all_recordsOfDay = await _mesOrderGatherRep.AsQueryable().Where(r => r.CreateTime >= all_startDate && r.CreateTime <= all_endDate |
| | | //&& (r.OrderStatus == OrderStatusEnum.已宿) |
| | | //&& (r.OrderType == OrderTypeEnum.䏿¶å || r.OrderType == OrderTypeEnum.䏿¶å) |
| | | ).ToListAsync(); |
| | | |
| | | for (int i = 0; i < 12; i++) |
| | | { |
| | | // 计ç®å½åå¨çèµ·å§æ¥æ |
| | | DateTime startDate = GetStartOfWeek(currentDate).AddDays(-7 * i); |
| | | DateTime endDate = GetEndOfWeek(startDate); |
| | | |
| | | // æ¥è¯¢å¨è¿ä¸å¨å
çåºå
¥åºè®°å½ |
| | | var recordsOfWeek = all_recordsOfDay.Where(r => r.CreateTime >= startDate && r.CreateTime <= endDate).ToList(); |
| | | |
| | | // æ±æ»åºå
¥åºè®°å½ |
| | | var summary = new WmsStockPassMapOutput |
| | | { |
| | | Time = 12 - i, |
| | | InWare = recordsOfWeek |
| | | // .Where(x => x.OrderType == OrderTypeEnum.䏿¶å) .Sum(x => x.Quantity), |
| | | .ToList().Count(), |
| | | OutWare = recordsOfWeek |
| | | // .Where(x => x.OrderType == OrderTypeEnum.䏿¶å) |
| | | .ToList().Count(), |
| | | StockNum = 0, |
| | | AveStockNum = 0, |
| | | Date = startDate.Date.ToString("MMdd") + "ï½" + endDate.Date.ToString("MMdd") |
| | | }; |
| | | |
| | | outputlist.Add(summary); |
| | | } |
| | | } |
| | | //éæ©12个æ |
| | | else if (input.DayOrWeekOrMonth == 3) |
| | | { |
| | | //æ»çæ°æ® |
| | | DateTime all_startDate = currentDate.AddMonths(-11).AddDays(1 - currentDate.Day); |
| | | DateTime all_endDate = currentDate.AddMonths(1).AddDays(-1); |
| | | var all_recordsOfDay = await _mesOrderGatherRep.AsQueryable().Where(r => r.CreateTime >= all_startDate && r.CreateTime <= all_endDate |
| | | //&& (r.OrderStatus == OrderStatusEnum.已宿) |
| | | //&& (r.OrderType == OrderTypeEnum.䏿¶å || r.OrderType == OrderTypeEnum.䏿¶å) |
| | | ).ToListAsync(); |
| | | |
| | | for (int i = 0; i < 12; i++) |
| | | { |
| | | DateTime startDate = currentDate.AddMonths(-i).AddDays(1 - currentDate.Day); |
| | | DateTime endDate = startDate.AddMonths(1).AddDays(-1); |
| | | |
| | | // æ¥è¯¢å¨è¿ä¸ªæå
çåºå
¥åºè®°å½ |
| | | var recordsOfMonth = all_recordsOfDay.Where(r => r.CreateTime >= startDate && r.CreateTime <= endDate).ToList(); |
| | | |
| | | // æ±æ»åºå
¥åºè®°å½ |
| | | var summary = new WmsStockPassMapOutput |
| | | { |
| | | Time = 12 - i, |
| | | InWare = recordsOfMonth |
| | | //.Where(x => x.OrderType == OrderTypeEnum.䏿¶å) |
| | | .ToList().Count(), |
| | | OutWare = recordsOfMonth |
| | | // .Where(x => x.OrderType == OrderTypeEnum.䏿¶å) |
| | | .ToList().Count(), |
| | | StockNum = 0, |
| | | AveStockNum = 0, |
| | | Date = startDate.ToString("yyyy-MM") |
| | | }; |
| | | |
| | | outputlist.Add(summary); |
| | | } |
| | | } |
| | | |
| | | //æåº |
| | | outputlist = outputlist.OrderBy(x => x.Time).ToList(); |
| | | |
| | | return outputlist; |
| | | } |
| | | // è·åå½åæ¥ææå¨å¨çèµ·å§æ¥æï¼å¨ä¸ï¼ |
| | | private DateTime GetStartOfWeek(DateTime currentDate) |
| | | { |
| | | int diff = currentDate.DayOfWeek - DayOfWeek.Monday; |
| | | if (diff < 0) diff += 7; // å¤ç卿¥çæ
åµ |
| | | return currentDate.AddDays(-1 * diff).Date; |
| | | } |
| | | |
| | | // è·åå½åæ¥ææå¨å¨çç»ææ¥æï¼å¨æ¥ï¼ |
| | | private DateTime GetEndOfWeek(DateTime startDate) |
| | | { |
| | | return startDate.AddDays(6); // å ä¸ºèµ·å§æ¥æå·²ç»æ¯å¨ä¸ï¼æä»¥ç´æ¥å 6天å³å¯å¾å°å¨æ¥ |
| | | } |
| | | |
| | | } |
| | | |