From 30eb20ab1384b221801bbcff50ce6d05923dcd84 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 05 六月 2025 09:21:37 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/returnOrder.vue | 30
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs | 12
代码管理/WMS/WIDESEA_WMSClient/src/views/basic/locationInfoRow.vue | 4
代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/outStockLockInfo.vue | 14
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs | 4
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs | 4
代码管理/LargeScreen/CP-Screen/src/api/ajax.js | 2
代码管理/LargeScreen/CP-Screen/src/store/modules/setting.js | 4
代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue | 77 ++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs | 20
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs | 1
代码管理/LargeScreen/CP-Screen/src/views/indexs/center-map.vue | 4
代码管理/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue | 12
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs | 17
代码管理/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue | 14
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 10
代码管理/LargeScreen/CP-Screen/src/views/indexs/station-two.vue | 710 +++++++------------
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs | 6
代码管理/LargeScreen/CP-Screen/src/router/index.js | 2
代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/extend/GetOrderMaterielSpec.vue | 155 ++++
代码管理/LargeScreen/CP-Screen/src/views/indexs/index.vue | 6
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs | 14
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs | 25
代码管理/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue | 14
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 12
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs | 20
代码管理/LargeScreen/CP-Screen/src/api/api.js | 2
代码管理/LargeScreen/CP-Screen/src/api/http.js | 10
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 7
代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js | 82 ++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs | 6
代码管理/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/MesOutOrderDetail.vue | 15
代码管理/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue | 16
代码管理/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue | 703 ++++---------------
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs | 5
36 files changed, 1,013 insertions(+), 1,028 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/ajax.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/ajax.js"
index e04170d..1c8db17 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/ajax.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/ajax.js"
@@ -3,7 +3,7 @@
// import { config } from 'vue/types/umd';
axios.defaults.withCredentials=true;
axios.defaults.crossDomain=true;
-axios.defaults.baseURL = 'http://10.30.4.92:9283';//'http://192.168.2.51:8099'; //'http://localhost:8099'; //'http://192.168.2.51:8099';//
+axios.defaults.baseURL = 'http://10.30.4.92:7081';//'http://192.168.2.51:8099'; //'http://localhost:8099'; //'http://192.168.2.51:8099';//
axios.defaults.headers.post["Content-Type"]="application/json;charset=utf-8";
// 閿欒淇℃伅澶勭悊
const errorHandle = (status, other) => {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/api.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/api.js"
index 788026f..07be84f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/api.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/api.js"
@@ -10,7 +10,7 @@
let baseUrl = UtilVar.baseUrl
const CancelToken = axios.CancelToken;
export { baseUrl };
-// axios.defaults.withCredentials = true;
+axios.defaults.withCredentials = true;
// 娣诲姞璇锋眰鎷︽埅鍣�
axios.interceptors.request.use(function (config) {
// 鍦ㄥ彂閫佽姹備箣鍓嶅仛浜涗粈涔� 浼爐oken
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/http.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/http.js"
index bb40ce8..d5784d0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/http.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/http.js"
@@ -7,7 +7,7 @@
export function ProLocationStatistics (data) {
return axios.post('/api/Large/ProLocationStatistics?id=7', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜�
}
-//鎴愬搧杩戜竷澶╃粺璁�
+//鎴愬搧鍏ュ簱浜ч噺缁熻
export function Productions (data) {
return axios.post('/api/Large/Productions', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜�
}
@@ -23,3 +23,11 @@
export function ProductionStock (data) {
return axios.post('/api/Large/ProductionStock', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜�
}
+//鎴愬搧浜у搧搴撳瓨鎬绘暟缁熻
+export function GetCPLargeStockCount (data) {
+ return axios.post('/api/Large/GetCPLargeStockCount', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜�
+}
+//鎴愬搧杩戜竷澶╀换鍔$粺璁�
+export function GetProWeekTasks (data) {
+ return axios.post('/api/Large/GetProWeekTasks', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜�
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/router/index.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/router/index.js"
index 52d9157..87a4813 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/router/index.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/router/index.js"
@@ -29,7 +29,7 @@
];
const router = new VueRouter({
mode: "hash",
- // base: process.env.BASE_URL,
+ base: process.env.BASE_URL,
routes
});
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/store/modules/setting.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/store/modules/setting.js"
index 8cb31cf..3a4fe56 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/store/modules/setting.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/store/modules/setting.js"
@@ -19,9 +19,9 @@
limitMoveNum: 4, // 寮�濮嬫棤缂濇粴鍔ㄧ殑鏁版嵁閲� this.dataList.length
singleHeight: 0, // 鍗曟杩愬姩鍋滄鐨勯珮搴�(榛樿鍊�0鏄棤缂濅笉鍋滄鐨勬粴鍔�) direction => 0/1
singleWidth: 0, // 鍗曟杩愬姩鍋滄鐨勫搴�(榛樿鍊�0鏄棤缂濅笉鍋滄鐨勬粴鍔�) direction => 2/3
- waitTime: 3000 // 鍗曟杩愬姩鍋滄鐨勬椂闂�(榛樿鍊�1000ms)
+ waitTime: 8000 // 鍗曟杩愬姩鍋滄鐨勬椂闂�(榛樿鍊�1000ms)
},
- echartsAutoTime:3000,//echarts 鍥捐嚜鍔ㄨ姹傛帴鍙f椂闂�
+ echartsAutoTime:8000,//echarts 鍥捐嚜鍔ㄨ姹傛帴鍙f椂闂�
}),
getters: {
//鏍规嵁鑿滃崟璺緞鑾峰彇 鑿滃崟淇℃伅
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/center-map.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/center-map.vue"
index 1898df6..a7de180 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/center-map.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/center-map.vue"
@@ -268,7 +268,7 @@
color: "#FFF",
show: true,
},
- // colorBy: "data",
+ colorBy: "data",
itemStyle: {
color: "rgba(255,255,255,1)",
borderColor: "rgba(2255,255,255,2)",
@@ -329,7 +329,7 @@
#00eaff 48.8525390625%,
#01aaff 100%
);
- -webkit-background-clip: text;
+
-webkit-text-fill-color: transparent;
margin: 0 10px;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/index.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/index.vue"
index 3178c3c..282fadd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/index.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/index.vue"
@@ -17,14 +17,14 @@
<ItemWrap
class="contetn_left-bottom contetn_lr-item"
- title="鎴愬搧鎵ц浠诲姟缁熻"
+ title="鎴愬搧褰撴湀鎵ц浠诲姟缁熻"
>
<stationone/>
</ItemWrap>
<ItemWrap
class="contetn_left-bottom contetn_lr-item"
- title="鎴愬搧搴撳瓨灞炴�у垎甯�"
+ title="鎴愬搧浠撲骇鍝佸簱瀛樻�绘暟缁熻"
>
<stationtwo/>
</ItemWrap>
@@ -38,7 +38,7 @@
</div>
<div class="contetn_center">
- <ItemWrap class="contetn_left-bottom contetn_lr-item" style="height: 66vh;" title="鎴愬搧浠诲姟缁熻">
+ <ItemWrap class="contetn_left-bottom contetn_lr-item" style="height: 66vh;" title="鎴愬搧杩戜節澶╀换鍔$粺璁�">
<LeftBottom/>
</ItemWrap>
<ItemWrap
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue"
index 4018011..883b65a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue"
@@ -1,568 +1,187 @@
-<!--
- * @Author: daidai
- * @Date: 2022-02-28 16:16:42
- * @LastEditors: Please set LastEditors
- * @LastEditTime: 2022-07-20 17:57:11
- * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
--->
<template>
<div id="name" style="width: 100%; height: 100%">
- <Echart :options="options" style="width: 100%; height: 100%"></Echart>
+ <Echart
+ :options="options"
+ style="width: 100%; height: 100%"
+ v-if="!loading"
+ />
+ <div v-else style="color: white; text-align: center; padding-top: 50px">
+ 鏁版嵁鍔犺浇涓�...
+ </div>
+ <div v-if="error" style="color: red; text-align: center; padding-top: 50px">
+ 鏁版嵁鍔犺浇澶辫触: {{ error }}
+ </div>
</div>
</template>
<script>
-import { currentGET } from "api/modules";
-import { ProLocationStatistics } from "@/api/http.js";
+import { GetProWeekTasks } from "@/api/http.js";
import * as echarts from 'echarts';
-let style = {
- fontSize: 24,
-};
+
export default {
data() {
return {
- pageflag: true,
- myChart: {},
options: {},
+ loading: false,
+ error: null,
+ timer: null
};
},
- filters: {
- numsFilter(msg) {
- return msg || 0;
- },
- },
created() {
- this.getData();
- },
- mounted() {
- this.init();
+ this.fetchData();
+ this.startAutoRefresh();
},
beforeDestroy() {
- this.clearData();
+ this.stopAutoRefresh();
},
methods: {
- init() {
+ initEmptyChart() {
this.options = {
- //娴姩妗�
- tooltip: {},
- //鍥句緥
- legend: {
- right: '12%',
- bottom: '4%',
- textStyle: {
- color: '#fff',
- fontSize: '13'
- },
- itemGap: 20,
- itemWidth: 10,
- itemHeight: 10,
- icon: 'circle',
- data: ['PM2.5', 'CO2', 'SO']
- },
- grid: {
- left: '8%',
- top: '15%',
- bottom: '14%',
- width: '86%',
- },
- visualMap: [{
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#69dbf7'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: 'SO',
- seriesIndex: 2
- }, {
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#1be57a'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: 'CO2',
- seriesIndex: 1
- }, {
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#feb01e'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: 'PM2.5',
- seriesIndex: 0
- }, {
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#69dbf7'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: 'SO',
- seriesIndex: 5
- }, {
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#1be57a'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: 'CO2',
- seriesIndex: 4
- }, {
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#feb01e'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: 'PM2.5',
- seriesIndex: 3
- }],
- //x杞�
- xAxis: {
- axisLine: {
- lineStyle: {
- color: '#132987'
- }
- },
- axisLabel: {
- textStyle: {
- color: '#FFF',
- fontSize: 12
- },
- },
- //鍒诲害绾�
- axisTick: {
- show: false
- },
- //鍧愭爣杞存樉绀哄��
- data: ["1鏃�", "2鏃�", "3鏃�", "4鏃�", "5鏃�", "6鏃�", "7鏃�", "8鏃�"]
- },
- //y杞�
- yAxis: {
- min: 0,
- max: 100,
- axisLabel: { // 鏀瑰彉y杞村瓧浣撻鑹插拰澶у皬
- //formatter: '{value} m鲁 ', // 缁檡杞存坊鍔犲崟浣�
- textStyle: {
- color: '#fff',
- fontSize: 12,
- },
- },
- //鍧愭爣杞寸嚎
- axisLine: {
- show: false,
- },
- //鍒诲害绾�
- axisTick: {
- show: false
- },
- //鍦╣rid鍖哄煙涓殑鍒嗛殧绾�
- splitLine: {
- show: true,
- lineStyle: {
- color: '#132987',
- }
- },
- },
-
- //
- series: [{
- name: 'PM2.5',
- type: 'line',
- symbolSize: [0, 0],
- itemStyle: {
- color: '#feb01e'
- },
- data: [43, 50, 41, 18, 28, 25, 26, 40],
- }, {
- name: 'CO2',
- type: 'line',
- symbolSize: [0, 0],
- itemStyle: {
- color: '#1be57a'
- },
- data: [21, 30, 37, 39, 23, 37, 5, 50]
- }, {
- name: 'SO',
- type: 'line',
- symbolSize: [0, 0],
- itemStyle: {
- color: '#69dbf7'
- },
- data: [76, 58, 60, 38, 49, 59, 78, 60]
- }, { //姘存尝绾圭偣
- name: 'PM2.5',
- type: 'effectScatter',
- symbolSize: [5, 5],
- rippleEffect: {
- period: 1,
- scale: 4,
- brushType: 'fill'
- },
- itemStyle: {
- color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
- offset: 0,
- color: '#feb01e'
- }, {
- offset: 1,
- color: 'rgba(254,176,30,.3)'
- }])
- },
- data: [43, 50, 41, 18, 28, 25, 26, 40]
-
- }, { //姘存尝绾圭偣
- name: 'CO2',
- type: 'effectScatter',
- symbolSize: [5, 5],
- rippleEffect: {
- period: 1,
- scale: 4,
- brushType: 'fill'
- },
- itemStyle: {
- color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
- offset: 0,
- color: '#1be57a'
- }, {
- offset: 1,
- color: 'rgba(27,229,122,.3)'
- }])
- },
- data: [21, 30, 37, 39, 23, 37, 5, 50]
-
- }, { //姘存尝绾圭偣
- name: 'SO',
- type: 'effectScatter',
- symbolSize: [5, 5],
- rippleEffect: {
- period: 1,
- scale: 4,
- brushType: 'fill'
- },
- itemStyle: {
- color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
- offset: 0,
- color: '#69dbf7'
- }, {
- offset: 1,
- color: '#aefbc3'
- }])
- },
- markLine: {
- symbol: "none",
- label: {
- normal: {
- show: false,
- }
- },
- lineStyle: {
- type: "solid",
- color: 'rgba(210,56,56,.6)',
- width: 2
- },
- data: [{
- yAxis: 60
- }]
- },
- data: [76, 58, 60, 38, 49, 59, 78, 60]
-
- }]
- };
- },
- clearData() {
- if (this.timer) {
- clearInterval(this.timer);
- this.timer = null;
- }
- },
- async getData() {
- this.pageflag = true;
- // currentGET("big2").then((res) => {
- // if (!this.timer) {
- // console.log("璁惧鎬昏2", res);
- // }
- // if (res.success) {
- // this.userOverview = res.data;
- // this.onlineconfig = {
- // ...this.onlineconfig,
- // number: [1]
- // }
- // this.config = {
- // ...this.config,
- // number: [7]
- // }
- // this.offlineconfig = {
- // ...this.offlineconfig,
- // number: [4]
- // }
- // this.laramnumconfig = {
- // ...this.laramnumconfig,
- // number: [10]
- // }
- // this.switper();
- // } else {
- // this.pageflag = false;
- // this.$Message.warning(res.msg);
- // }
- // });
- var rep = await ProLocationStatistics();
- this.options = {
- //娴姩妗�
- tooltip: {},
- //鍥句緥
- legend: {
- right: '12%',
- bottom: '4%',
- textStyle: {
- color: '#fff',
- fontSize: '13'
- },
- itemGap: 20,
- itemWidth: 10,
- itemHeight: 10,
- icon: 'circle',
- data: ['鎴愬搧鍏ュ簱', '鎴愬搧鍑哄簱', '鎴愬搧鍥炴']
- },
- grid: {
- left: '8%',
- top: '15%',
- bottom: '14%',
- width: '86%',
- },
- visualMap: [{
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#69dbf7'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: '鎴愬搧鍏ュ簱',
- seriesIndex: 2
- }, {
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#1be57a'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: '鎴愬搧鍑哄簱',
- seriesIndex: 1
- }, {
- type: 'piecewise',
- show: false,
- pieces: [{
- gt: 0,
- lte: 60,
- color: '#feb01e'
- }, {
- gte: 60,
- color: '#e5421b'
- }],
- seriesName: '鎴愬搧鍥炴',
- seriesIndex: 0
- }],
- //x杞�
- xAxis: {
- axisLine: {
- lineStyle: {
- color: '#132987'
- }
- },
- axisLabel: {
- textStyle: {
- color: '#FFF',
- fontSize: 12
- },
- },
- //鍒诲害绾�
- axisTick: {
- show: false
- },
- //鍧愭爣杞存樉绀哄��
- data: ["04/19", "04/20", "04/21", "04/22", "04/23", "04/24", "04/25"]
- },
- //y杞�
- yAxis: {
- axisLabel: { // 鏀瑰彉y杞村瓧浣撻鑹插拰澶у皬
- //formatter: '{value} m鲁 ', // 缁檡杞存坊鍔犲崟浣�
- textStyle: {
- color: '#fff',
- fontSize: 12,
- },
- },
- //鍧愭爣杞寸嚎
- axisLine: {
- show: false,
- },
- //鍒诲害绾�
- axisTick: {
- show: false
- },
- //鍦╣rid鍖哄煙涓殑鍒嗛殧绾�
- splitLine: {
- show: true,
- lineStyle: {
- color: '#132987',
- }
- },
- },
-
- //
- series: [{
- name: '鎴愬搧鍏ュ簱',
- type: 'line',
- symbolSize: [0, 0],
- itemStyle: {
- color: '#feb01e'
- },
- data: [160, 156, 150, 180, 170, 200, 20],
- }, {
- name: '鎴愬搧鍑哄簱',
- type: 'line',
- symbolSize: [0, 0],
- itemStyle: {
- color: '#1be57a'
- },
- data: [80, 115, 120, 130, 91, 99, 20]
- }, {
- name: '鎴愬搧鍥炴',
- type: 'line',
- symbolSize: [0, 0],
- itemStyle: {
- color: '#69dbf7'
- },
- data: [70, 113, 118, 111, 89, 99, 32]
- }, { //姘存尝绾圭偣
- name: '鎴愬搧鍏ュ簱',
- type: 'effectScatter',
- symbolSize: [5, 5],
- rippleEffect: {
- period: 1,
- scale: 4,
- brushType: 'fill'
- },
- itemStyle: {
- color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
- offset: 0,
- color: '#feb01e'
- }, {
- offset: 1,
- color: 'rgba(254,176,30,.3)'
- }])
- },
- data: [160, 156, 150, 180, 170, 200, 20]
-
- }, { //姘存尝绾圭偣
- name: '鎴愬搧鍑哄簱',
- type: 'effectScatter',
- symbolSize: [5, 5],
- rippleEffect: {
- period: 1,
- scale: 4,
- brushType: 'fill'
- },
- itemStyle: {
- color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
- offset: 0,
- color: '#1be57a'
- }, {
- offset: 1,
- color: 'rgba(27,229,122,.3)'
- }])
- },
- data: [80, 115, 120, 130, 91, 99, 20]
-
- }, { //姘存尝绾圭偣
- name: '鎴愬搧鍥炴',
- type: 'effectScatter',
- symbolSize: [5, 5],
- rippleEffect: {
- period: 1,
- scale: 4,
- brushType: 'fill'
- },
- itemStyle: {
- color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
- offset: 0,
- color: '#69dbf7'
- }, {
- offset: 1,
- color: '#aefbc3'
- }])
- },
- markLine: {
- symbol: "none",
- label: {
- normal: {
- show: false,
- }
- },
- lineStyle: {
- type: "solid",
- color: 'rgba(210,56,56,.6)',
- width: 2
- },
- data: [{
- yAxis: 60
- }]
- },
- data: [70, 113, 118, 111, 89, 99, 32]
-
- }]
- };
- this.switper();
- },
- //杞
- switper() {
- if (this.timer) {
- return;
- }
- let looper = (a) => {
- this.getData();
+ tooltip: {
+ trigger: 'axis',
+ formatter: params => {
+ let result = `${params[0].axisValue}<br>`;
+ params.forEach(item => {
+ result += `${item.marker} ${item.seriesName}: ${item.value}<br>`;
+ });
+ return result;
+ }
+ },
+ legend: {
+ right: '12%',
+ bottom: '4%',
+ textStyle: {
+ color: '#fff',
+ fontSize: '13'
+ },
+ itemGap: 20,
+ itemWidth: 10,
+ itemHeight: 10,
+ icon: 'circle',
+ data: ['鎴愬搧鍏ュ簱', '鎴愬搧鍑哄簱', '绌烘鍥炴祦', '鎴愬搧鍥炲簱']
+ },
+ grid: {
+ left: '8%',
+ top: '15%',
+ bottom: '14%',
+ width: '86%',
+ },
+ xAxis: {
+ type: 'category',
+ axisLine: {
+ lineStyle: {
+ color: '#132987'
+ }
+ },
+ axisLabel: {
+ textStyle: {
+ color: '#FFF',
+ fontSize: 12
+ },
+ },
+ axisTick: {
+ show: false
+ },
+ data: ['鍔犺浇涓�...']
+ },
+ yAxis: {
+ type: 'value',
+ axisLabel: {
+ textStyle: {
+ color: '#fff',
+ fontSize: 12,
+ },
+ },
+ axisLine: {
+ show: false,
+ },
+ axisTick: {
+ show: false
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: '#132987',
+ }
+ },
+ },
+ series: [
+ { name: '鎴愬搧鍏ュ簱', type: 'line', data: [] },
+ { name: '鎴愬搧鍑哄簱', type: 'line', data: [] },
+ { name: '绌烘鍥炴祦', type: 'line', data: [] },
+ { name: '鎴愬搧鍥炲簱', type: 'line', data: [] }
+ ]
};
- this.timer = setInterval(
- looper,
- this.$store.state.setting.echartsAutoTime
- );
},
- },
+ async fetchData() {
+ this.loading = true;
+ this.error = null;
+
+ try {
+ console.log('姝e湪璇锋眰鏁版嵁...');
+ const response = await GetProWeekTasks({});
+ console.log('瀹屾暣鍝嶅簲:', response); // 鎵撳嵃瀹屾暣鍝嶅簲鏌ョ湅缁撴瀯
+
+ // 鐩存帴浣跨敤response浣滀负鏁版嵁锛堟牴鎹疄闄呭搷搴旂粨鏋勮皟鏁达級
+ if (!response || !response.dateRange || !response.dailyStatistics) {
+ throw new Error('鏁版嵁鏍煎紡涓嶆纭�');
+ }
+
+ this.updateChart(response); // 鐩存帴浼犲叆response锛岃�岄潪response.data
+ } catch (error) {
+ console.error('鑾峰彇鏁版嵁閿欒:', error);
+ this.error = error.message;
+ this.initEmptyChart();
+ } finally {
+ this.loading = false;
+ }
+ },
+ updateChart(data) {
+
+
+ const dates = data.dateRange;
+ const stats = data.dailyStatistics;
+
+ const seriesData = {
+ '鎴愬搧鍏ュ簱': [],
+ '鎴愬搧鍑哄簱': [],
+ '绌烘鍥炴祦': [],
+ '鎴愬搧鍥炲簱': []
+ };
+
+ // 鏍规嵁瀹為檯鏁版嵁鏍煎紡璋冩暣瀛楁鍚嶏紙灏忓啓寮�澶达級
+ stats.forEach(day => {
+ seriesData['鎴愬搧鍏ュ簱'].push(day.inProduct || 0);
+ seriesData['鎴愬搧鍑哄簱'].push(day.outProduct || 0);
+ seriesData['绌烘鍥炴祦'].push(day.emptyProductBack || 0);
+ seriesData['鎴愬搧鍥炲簱'].push(day.inProductBack || 0);
+ });
+
+ this.options = {
+ ...this.options,
+ xAxis: {
+ ...this.options.xAxis,
+ data: dates
+ },
+ series: this.options.series.map(series => ({
+ ...series,
+ data: seriesData[series.name] || []
+ }))
+ };
+ },
+ startAutoRefresh() {
+ this.stopAutoRefresh();
+ this.timer = setInterval(() => {
+ this.fetchData();
+ }, this.$store.state.setting.echartsAutoTime || 10000);
+ },
+ stopAutoRefresh() {
+ if (this.timer) clearInterval(this.timer);
+ }
+ }
};
</script>
+
<style lang='scss' scoped>
.user_Overview {
li {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/station-two.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/station-two.vue"
index 8c14a2d..d3a1ef8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/station-two.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/station-two.vue"
@@ -1,463 +1,289 @@
-<!--
- * @Author: daidai
- * @Date: 2022-02-28 16:16:42
- * @LastEditors: Please set LastEditors
- * @LastEditTime: 2022-07-20 17:57:11
- * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
--->
<template>
- <div id="name" style="width: 100%; height: 100%">
- <Echart :options="options" style="width: 100%; height: 100%"></Echart>
- </div>
- </template>
-
- <script>
- import { currentGET } from "api/modules";
- import { ProductionStock } from "@/api/http.js";
- import * as echarts from 'echarts';
- let style = {
- fontSize: 24,
- };
- export default {
- data() {
- return {
- pageflag: true,
- myChart: {},
- options: {},
- };
- },
- filters: {
- numsFilter(msg) {
- return msg || 0;
- },
- },
- created() {
- this.getData();
- },
- mounted() {
- this.init();
- },
- beforeDestroy() {
- this.clearData();
- },
- methods: {
- init() {
- let dataPie = [
+ <div class="tech-chart-container">
+ <Echart
+ :options="options"
+ :autoresize="true"
+ style="width: 100%; height: 100%"
+ />
+ </div>
+</template>
- {
- value: 410,
- name: '浼佷笟'
- },
- {
- value: 380,
- name: '鏀垮簻'
- },
- {
- value: 501,
- name: '涓汉'
- },
-];
-let colorPie = ['#173852', '#0b2036', '#002e49'];
-let colorWrap = ['#3087d6', '#afe1ff', '#4be1ff'];
-let baseDataPie = [],
- baseDataWrap = [];
-for (var i = 0; i < dataPie.length; i++) {
- baseDataPie.push({
- value: dataPie[i].value,
- name: dataPie[i].name,
- itemStyle: {
- normal: {
- borderWidth: 50,
+<script>
+import { GetCPLargeStockCount } from "@/api/http.js";
+import * as echarts from 'echarts';
- borderColor: colorPie[i],
-
- }
- }
- });
- baseDataWrap.push({
- value: dataPie[i].value,
- name: dataPie[i].name,
- itemStyle: {
- normal: {
- color: colorWrap[i],
- borderWidth: 10,
- borderColor: colorWrap[i],
- shadowBlur: 50,
- shadowColor: 'rgba(48, 135, 214, 0.3)',
- }
- }
- }, {
- value: 10,
- name: '',
- itemStyle: {
- normal: {
- color: 'transparent',
- borderWidth: 10,
- borderColor: 'transparent',
-
- }
- }
- });
-}
-
-
-this.options = {
- backgroundColor: '#021228',
- title: {
- text: '鎶ヨ鎬绘暟',
- subtext: '10,225',
- textStyle: {
+export default {
+ data() {
+ return {
+ options: {
+ backgroundColor: 'transparent',
+ title: {
+ text: '鎴愬搧浜у搧搴撳瓨鎬绘暟',
+ subtext: '鍔犺浇涓�...',
+ textStyle: {
color: '#00b5f3',
- fontSize: 12,
-
- },
- subtextStyle: {
+ fontSize: 14,
+ },
+ subtextStyle: {
align: 'center',
- fontSize: 18,
- color: ['#85c7e3'],
- fontWeight:800
+ fontSize: 28,
+ color: '#4be1ff',
+ fontWeight: 'bold',
+ textShadow: '0 0 15px rgba(75, 225, 255, 0.7)'
+ },
+ x: 'center',
+ y: 'center',
},
- x: '38%',
- y: 'center',
- },
- tooltip: {
- show: true,
- trigger: 'item',
- formatter: "{a}锛歿b} <br/>鍗犳瘮锛歿d}%"
- },
- legend: {
- data: ['浼佷笟', '鏀垮簻', '涓汉'],
- icon: 'vertical',
- right: '1%',
- top: 'center',
- orient: 'vertical',
- itemGap: 20,
- itemWidth: 15,
- itemHeight: 8,
-
- formatter: function(name) {
- let target;
- for (let i = 0; i < dataPie.length; i++) {
- if (dataPie[i].name === name) {
- target = dataPie[i].value
- }
- }
- let arr = [name, target];
- return arr.join("\n")
-
+ tooltip: {
+ show: false // 瀹屽叏绂佺敤tooltip
},
- textStyle: {
- lineHeight: 20,
- color: '#9ed2f5',
-
- },
- },
- grid: {
- left: '1%', // 涓庡鍣ㄥ乏渚х殑璺濈
- right: '1%', // 涓庡鍣ㄥ彸渚х殑璺濈
- top: '1%', // 涓庡鍣ㄩ《閮ㄧ殑璺濈
- bottom: '1%', // 涓庡鍣ㄥ簳閮ㄧ殑璺濈
-
- },
- series: [
- {
- name: '',
+ series: [
+ {
+ name: '搴撳瓨鏁伴噺',
type: 'pie',
- clockWise: false, //椤烘椂鍔犺浇
- hoverAnimation: false, //榧犳爣绉诲叆鍙樺ぇ
- center: ['40%', '50%'],
- radius: ['80%', '81%'],
- tooltip: {
- show: false
- },
+ radius: ['65%', '85%'],
+ center: ['50%', '50%'],
+ hoverAnimation: false, // 绂佺敤鎮仠鍔ㄧ敾
+ silent: true, // 绂佺敤鎵�鏈変氦浜�
label: {
- normal: {
- show: false
- }
+ show: false
},
- data: baseDataWrap
- },
- {
-
- name: '鎶ヨ',
+ labelLine: {
+ show: false
+ },
+ itemStyle: {
+ borderWidth: 0,
+ shadowBlur: 20,
+ shadowColor: 'rgba(0, 150, 255, 0.5)'
+ },
+ data: [{
+ value: 0,
+ name: '',
+ itemStyle: {
+ // 闈掕摑鑹插埌钃濈櫧鑹叉笎鍙橈紝娣诲姞鍔ㄦ�佹晥鏋�
+ color: {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [
+ { offset: 0, color: '#00ffcc' },
+ { offset: 0.5, color: '#00b4ff' },
+ { offset: 1, color: '#0062ff' }
+ ],
+ global: false
+ }
+ }
+ }]
+ },
+ // 娣诲姞澶栧彂鍏夊渾鐜�
+ {
type: 'pie',
- color: colorPie,
- selectedMode: 'single',
- radius: ['55%', '58%'],
- center: ['40%', '50%'],
+ radius: ['85%', '87%'],
+ center: ['50%', '50%'],
hoverAnimation: false,
- label: {
- normal: {
- show: false,
- }
+ silent: true,
+ label: { show: false },
+ labelLine: { show: false },
+ itemStyle: {
+ // 闈掕摑鑹插埌钃濈櫧鑹叉笎鍙橈紝娣诲姞鍔ㄦ�佹晥鏋�
+ color: {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [
+ { offset: 0, color: '#00ffcc' },
+ { offset: 0.5, color: '#00b4ff' },
+ { offset: 1, color: '#0062ff' }
+ ],
+ global: false
+ }
},
-
- data: baseDataPie
- },
-
- ]
-};
- },
- clearData() {
- if (this.timer) {
- clearInterval(this.timer);
- this.timer = null;
- }
- },
- async getData() {
- this.pageflag = true;
- // currentGET("big2").then((res) => {
- // if (!this.timer) {
- // console.log("璁惧鎬昏2", res);
- // }
- // if (res.success) {
- // this.userOverview = res.data;
- // this.onlineconfig = {
- // ...this.onlineconfig,
- // number: [1]
- // }
- // this.config = {
- // ...this.config,
- // number: [7]
- // }
- // this.offlineconfig = {
- // ...this.offlineconfig,
- // number: [4]
- // }
- // this.laramnumconfig = {
- // ...this.laramnumconfig,
- // number: [10]
- // }
- // this.switper();
- // } else {
- // this.pageflag = false;
- // this.$Message.warning(res.msg);
- // }
- // });
- // var rep = await ProductionStock();
- let dataPie = [
- {
- value: 430,
- name: '搴撳瓨浜у搧'
- },
-];
-let colorPie = ['#173852'];
-let colorWrap = ['#3087d6'];
-let baseDataPie = [],
- baseDataWrap = [];
-for (var i = 0; i < dataPie.length; i++) {
- baseDataPie.push({
- value: dataPie[i].value,
- name: dataPie[i].name,
- itemStyle: {
- normal: {
- borderWidth: 50,
-
- borderColor: colorPie[i],
-
- }
- }
- });
- baseDataWrap.push({
- value: dataPie[i].value,
- name: dataPie[i].name,
- itemStyle: {
- normal: {
- color: colorWrap[i],
- borderWidth: 10,
- borderColor: colorWrap[i],
- shadowBlur: 50,
- shadowColor: 'rgba(48, 135, 214, 0.3)',
- }
- }
- }, {
- value: 10,
- name: '',
- itemStyle: {
- normal: {
- color: 'transparent',
- borderWidth: 10,
- borderColor: 'transparent',
-
- }
- }
- });
-}
-
-
-this.options = {
- title: {
- text: '浜у搧鎬绘暟',
- subtext: '430',
- textStyle: {
- color: '#00b5f3',
- fontSize: 12,
-
- },
- subtextStyle: {
- align: 'center',
- fontSize: 18,
- color: ['#85c7e3'],
- fontWeight:800
- },
- x: '33%',
- y: 'center',
- },
- tooltip: {
- show: true,
- trigger: 'item',
- formatter: "{a}锛歿b} <br/>鍗犳瘮锛歿d}%"
- },
- legend: {
- data: ['搴撳瓨浜у搧'],
- icon: 'vertical',
- right: '1%',
- top: 'center',
- orient: 'vertical',
- itemGap: 20,
- itemWidth: 15,
- itemHeight: 8,
-
- formatter: function(name) {
- let target;
- for (let i = 0; i < dataPie.length; i++) {
- if (dataPie[i].name === name) {
- target = dataPie[i].value
- }
- }
- let arr = [name, target];
- return arr.join("\n")
-
- },
- textStyle: {
- lineHeight: 20,
- color: '#9ed2f5',
-
- },
- },
- grid: {
- left: '1%', // 涓庡鍣ㄥ乏渚х殑璺濈
- right: '1%', // 涓庡鍣ㄥ彸渚х殑璺濈
- top: '1%', // 涓庡鍣ㄩ《閮ㄧ殑璺濈
- bottom: '1%', // 涓庡鍣ㄥ簳閮ㄧ殑璺濈
-
- },
- series: [
- {
- name: '',
+ data: [{
+ value: 1,
+ name: ''
+ }]
+ },
+ // 娣诲姞鍐呭彂鍏夊渾鐜�
+ {
type: 'pie',
- clockWise: false, //椤烘椂鍔犺浇
- hoverAnimation: false, //榧犳爣绉诲叆鍙樺ぇ
- center: ['40%', '50%'],
- radius: ['80%', '81%'],
- tooltip: {
- show: false
- },
- label: {
- normal: {
- show: false
- }
- },
- data: baseDataWrap
- },
- {
-
- name: '绉嶇被',
- type: 'pie',
- color: colorPie,
- selectedMode: 'single',
- radius: ['55%', '58%'],
- center: ['40%', '50%'],
+ radius: ['63%', '65%'],
+ center: ['50%', '50%'],
hoverAnimation: false,
- label: {
- normal: {
- show: false,
- }
+ silent: true,
+ label: { show: false },
+ labelLine: { show: false },
+ itemStyle: {
+ // 闈掕摑鑹插埌钃濈櫧鑹叉笎鍙橈紝娣诲姞鍔ㄦ�佹晥鏋�
+ color: {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [
+ { offset: 0, color: '#00ffcc' },
+ { offset: 0.5, color: '#00b4ff' },
+ { offset: 1, color: '#0062ff' }
+ ],
+ global: false
+ }
},
-
- data: baseDataPie
- },
-
- ]
-};
- this.switper();
+ data: [{
+ value: 1,
+ name: ''
+ }]
+ },
+ // 娣诲姞鍔ㄦ�佺矑瀛愭晥鏋�
+ {
+ type: 'scatter',
+ coordinateSystem: 'none',
+ data: this.generateParticles(30),
+ symbolSize: (val) => {
+ return val[2] * 2;
+ },
+ itemStyle: {
+ color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [
+ { offset: 0, color: 'rgba(0, 255, 255, 0.8)' },
+ { offset: 1, color: 'rgba(0, 255, 255, 0)' }
+ ])
+ },
+ // 娣诲姞绮掑瓙闂儊鏁堟灉
+ effect: {
+ show: true,
+ period: 2,
+ trailLength: 0.1,
+ symbol: 'circle',
+ symbolSize: 0
+ }
+ }
+ ]
},
- //杞
- switper() {
- if (this.timer) {
- return;
- }
- let looper = (a) => {
- this.getData();
- };
- this.timer = setInterval(
- looper,
- this.$store.state.setting.echartsAutoTime
- );
- },
+ timer: null,
+ particleTimer: null,
+ gradientTimer: null
+ };
+ },
+ mounted() {
+ this.fetchData();
+ this.startAutoRefresh();
+ this.startParticleAnimation();
+ this.startGradientAnimation();
+ },
+ beforeDestroy() {
+ this.stopAutoRefresh();
+ this.stopParticleAnimation();
+ this.stopGradientAnimation();
+ },
+ methods: {
+ generateParticles(count) {
+ const particles = [];
+ for (let i = 0; i < count; i++) {
+ const angle = Math.random() * Math.PI * 2;
+ const radius = 0.7 + Math.random() * 0.2;
+ particles.push([
+ Math.cos(angle) * radius,
+ Math.sin(angle) * radius,
+ Math.random() * 2 + 1
+ ]);
+ }
+ return particles;
},
- };
- </script>
- <style lang='scss' scoped>
- .user_Overview {
- li {
- flex: 1;
-
- p {
- text-align: center;
- height: 16px;
- font-size: 16px;
+ async fetchData() {
+ try {
+ const response = await GetCPLargeStockCount({});
+ const stockCount = response.stockCount || 0;
+ this.updateChart(stockCount);
+ } catch (error) {
+ console.error('鑾峰彇搴撳瓨鎬绘暟澶辫触:', error);
+ this.options.title.subtext = '鏁版嵁寮傚父';
+ this.options.title.subtextStyle.color = '#ff4d4f';
}
-
- .user_Overview_nums {
- width: 100px;
- height: 100px;
- text-align: center;
- line-height: 100px;
- font-size: 22px;
- margin: 50px auto 30px;
- background-size: cover;
- background-position: center center;
- position: relative;
-
- &::before {
- content: "";
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- }
-
- &.bgdonghua::before {
- animation: rotating 14s linear infinite;
- }
- }
-
- .allnum {
- // background-image: url("../../assets/img/left_top_lan.png");
- &::before {
- background-image: url("../../assets/img/left_top_lan.png");
- }
- }
-
- .online {
- &::before {
- background-image: url("../../assets/img/left_top_lv.png");
- }
- }
-
- .offline {
- &::before {
- background-image: url("../../assets/img/left_top_huang.png");
- }
- }
-
- .laramnum {
- &::before {
- background-image: url("../../assets/img/left_top_hong.png");
- }
- }
+ },
+ updateChart(count) {
+ this.options.series[0].data[0].value = count;
+ this.options.title.subtext = count + '绉�';
+ this.options.title.subtextStyle.color = count > 0? '#4be1ff' : '#ff4d4f';
+ },
+ startAutoRefresh() {
+ this.stopAutoRefresh();
+ this.timer = setInterval(() => {
+ this.fetchData();
+ }, 3000);
+ },
+ stopAutoRefresh() {
+ if (this.timer) clearInterval(this.timer);
+ },
+ startParticleAnimation() {
+ this.stopParticleAnimation();
+ this.particleTimer = setInterval(() => {
+ this.options.series[3].data = this.generateParticles(30);
+ this.options = {...this.options }; // 瑙﹀彂瑙嗗浘鏇存柊
+ }, 2000);
+ },
+ stopParticleAnimation() {
+ if (this.particleTimer) clearInterval(this.particleTimer);
+ },
+ startGradientAnimation() {
+ this.stopGradientAnimation();
+ this.gradientTimer = setInterval(() => {
+ const offset = Math.random();
+ this.options.series.forEach(series => {
+ if (series.itemStyle.color.type === 'linear') {
+ series.itemStyle.color.colorStops.forEach(stop => {
+ stop.offset = (stop.offset + offset) % 1;
+ });
+ }
+ });
+ this.options = {...this.options }; // 瑙﹀彂瑙嗗浘鏇存柊
+ }, 1000);
+ },
+ stopGradientAnimation() {
+ if (this.gradientTimer) clearInterval(this.gradientTimer);
}
}
- </style>
\ No newline at end of file
+};
+</script>
+
+<style lang="scss" scoped>
+.tech-chart-container {
+ width: 100%;
+ height: 100%;
+ position: relative;
+ background: radial-gradient(circle at center, #021228 0%, #000810 100%);
+ border-radius: 8px;
+ overflow: hidden;
+ box-shadow: 0 0 30px rgba(0, 100, 255, 0.2);
+
+ &::before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background:
+ radial-gradient(circle at 20% 30%, rgba(0, 150, 255, 0.1) 0%, transparent 50%),
+ radial-gradient(circle at 80% 70%, rgba(0, 200, 255, 0.1) 0%, transparent 50%);
+ z-index: 0;
+ animation: pulse 8s infinite alternate;
+ }
+}
+
+@keyframes pulse {
+ 0% {
+ opacity: 0.3;
+ }
+ 100% {
+ opacity: 0.7;
+ }
+}
+
+::v-deep .echarts {
+ position: relative;
+ z-index: 1;
+}
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue"
index e4bbcd3..21dfb3c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue"
@@ -391,6 +391,15 @@
:selectable="detailSelectable"
></vol-table>
</div>
+
+ <!--鏄庣粏body鑷畾涔夌粍浠�-->
+ <component
+ :is="dynamicComponent.modelSpec"
+ ref="modelSpec"
+ @parentCall="parentCall"
+ ></component>
+
+
<!--鏄庣粏footer鑷畾涔夌粍浠�-->
<component
:is="dynamicComponent.modelFooter"
@@ -551,7 +560,8 @@
gridFooter: Empty,
modelHeader: Empty,
modelBody: Empty,
- modelFooter: Empty
+ modelFooter: Empty,
+ modelSpec:Empty
};
//鍚堝苟鎵╁睍缁勪欢
if (props.extend.components) {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/extend/GetOrderMaterielSpec.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/extend/GetOrderMaterielSpec.vue"
new file mode 100644
index 0000000..60c17b1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/extend/GetOrderMaterielSpec.vue"
@@ -0,0 +1,155 @@
+<template>
+ <vol-box
+ :lazy="true"
+ v-model="model"
+ title="閫夋嫨鐗╂枡瑙勬牸"
+ :width="280"
+ :padding="0"
+ >
+ <div>
+ <div>
+ <!-- 鎼滅储閰嶇疆 -->
+ <div class="search-form">
+ <label>鐗╂枡瑙勬牸锛�</label>
+ <el-input style="width: 160px" v-model="MaterialCode"></el-input>
+ </div>
+ <el-table
+ ref="singleTable"
+ :data="filteredData"
+ style="width: 100%; height: 100%"
+ highlight-current-row
+ height="500px"
+ @selection-change="handleSelectionChange"
+ >
+ >
+ <el-table-column type="selection" width="55"> </el-table-column>
+ <el-table-column
+ v-for="(item, index) in tableColumns.filter((x) => !x.hidden)"
+ :key="index"
+ :prop="item.prop"
+ :label="item.title"
+ align="center"
+ >
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ <template #footer>
+ <div><el-button type="primary" @click="onSelect">纭</el-button></div>
+ </template>
+ </vol-box>
+ </template>
+ <script>
+ import VolBox from "@/components/basic/VolBox.vue";
+
+ /******娉ㄦ剰锛氬鏋滃嚭鐜版彁绀烘病鏈夋潈闄愮殑闂锛岃鍚庡彴寮�鍙戞枃妗d笂鐨勩�愰噸鍐欏悗鍙版潈闄愩��*****/
+
+ //杩欓噷浣跨敤鐨剉ue2璇硶锛屼篃鍙互鍐欐垚vue3璇硶
+ export default {
+ components: {
+ "vol-box": VolBox,
+ },
+ methods: {},
+ data() {
+ return {
+ model: false, //寮瑰嚭妗�
+ wareId: null,
+ materielSpec:null,
+ showDetialBox: false,
+ MaterialCode:null,
+ selection:null,
+ tableData: [],
+ filteredData: [],
+ tableColumns: [
+ {
+ prop: "materielSpec",
+ title: "鐗╂枡瑙勬牸",
+ type: "string",
+ },
+ ],
+ };
+ },
+ watch: {
+ MaterialCode(newVal) {
+ this.filterLocalData(newVal);
+ }
+ },
+ methods: {
+ open(purchaseOrderNo, materielCode) { // 閲嶅懡鍚嶅弬鏁帮紝璇箟鏇存竻鏅�
+ this.model = true;
+ this.purchaseOrderNo = purchaseOrderNo; // 瀛樺偍閲囪喘鍗曞彿
+ this.materielCode = materielCode; // 瀛樺偍鐗╂枡缂栧彿
+ this.getData(); // 璋冪敤鑾峰彇鏁版嵁鏂规硶
+ },
+ filterLocalData(code) {
+ if (code) {
+ this.filteredData = this.tableData.filter((item) => {
+ return item.materielSpec.includes(code);
+ });
+ console.log(this.filteredData.length);
+ console.log(this.tableData.length);
+ } else {
+ this.filteredData = [...this.tableData]; // 閲嶇疆涓哄畬鏁存暟鎹�
+ }
+ },
+ handleSelectionChange(val,val2) {
+ this.selection = val;
+ this.selection1 = val2;
+ if (this.selection.length > 1) {
+ this.$message.error("浠呴�夋嫨涓�鏉℃暟鎹�");
+ // 娓呯┖閫変腑鐨勭涓�鏉℃暟鎹�
+ this.$refs.singleTable.clearSelection();
+ }
+ if (this.selection1.length > 1) {
+ this.$message.error("浠呴�夋嫨涓�鏉℃暟鎹�");
+ // 娓呯┖閫変腑鐨勭涓�鏉℃暟鎹�
+ this.$refs.singleTable.clearSelection();
+ }
+ console.log(this.selection);
+ },
+ getData() {
+ const url = `/api/PurchaseOrderDetail/GetOrderMaterielSpec?` +
+ `purchaseOrderNo=${encodeURIComponent(this.purchaseOrderNo)}&` +
+ `materielCode=${encodeURIComponent(this.materielCode)}`;
+
+ this.http.post(url, null, "鏌ヨ涓�")
+ .then((x) => {
+ if (!x.status) {
+ return this.$error(x.message);
+ }
+ this.tableData = x.data.map((item) => ({
+ materielSpec: item // 鍋囪鎺ュ彛杩斿洖鐨勮鏍肩洿鎺ユ槸瀛楃涓�
+ }));
+ this.filteredData = [...this.tableData]; // 閲嶇疆杩囨护鏁版嵁
+ })
+ .catch((error) => {
+ console.error("鎺ュ彛璇锋眰澶辫触:", error);
+ this.$message.error("鑾峰彇鐗╂枡瑙勬牸澶辫触锛岃閲嶈瘯");
+ });
+ },
+ onSelect() {
+ if (!this.selection) {
+ return this.$message.error("璇烽�夋嫨鏁版嵁");
+ }
+ this.$emit("parentCall", ($parent) => {
+ //濡傦細鍥炲啓缂栬緫琛ㄥ崟鏁版嵁
+ $parent.editFormFields.materielSpec = this.selection[0].materielSpec;
+ this.model = false;
+ });
+ this.MaterialCode = null;
+ this.tableData = [];
+ this.filteredData = [];
+ },
+ },
+ };
+ </script>
+ <style lang="less" scoped>
+ .search-form {
+ display: flex;
+ padding: 10px;
+ line-height: 34px;
+ button {
+ margin-left: 10px;
+ }
+ }
+ </style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
index 516fc1d..24cec15 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
@@ -3,6 +3,7 @@
import modelHeader from './extend/materielcodeSelectView.vue'
import modelBody from './extend/purchaseOrderNoSelectView.vue'
import modelFooter from './extend/GetOrderQuantityView.vue'
+import modelSpec from './extend/GetOrderMaterielSpec.vue'
let extension = {
components: {
//鏌ヨ鐣岄潰鎵╁睍缁勪欢
@@ -12,7 +13,8 @@
//鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
modelHeader: modelHeader,
modelBody: modelBody,
- modelFooter: modelFooter
+ modelFooter: modelFooter,
+ modelSpec: modelSpec
},
tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
@@ -87,6 +89,22 @@
}
});
});
+ this.editFormOptions.forEach((option) => {
+ option.forEach((item) => {
+ if (item.field == 'materielSpec') {
+ //鍒濆鍖栧脊鍑烘閫夋嫨鍣ㄩ厤缃�
+ item.extra = {
+ icon: 'el-icon-zoom-out', //鏄剧ず鍥炬爣
+ text: '閫夋嫨鐗╂枡瑙勬牸', //鏄剧ず鏂囨湰
+ style: 'color: #3a8ee6;font-size: 13px;cursor: pointer;',
+ //瑙﹀彂浜嬩欢
+ click: (item) => {
+ this.$refs.modelSpec.open(this.editFormFields.purchaseOrderNo,this.editFormFields.materielCode);
+ }
+ };
+ }
+ });
+ });
// warehouseIdOption.onChange = (val, option) => {
// this.editFormFields.materielCode = "";
// materielCodeOption.data = [];
@@ -124,6 +142,33 @@
// }
});
+ // 椤甸潰鍔犺浇鏃跺垵濮嬪寲宸查珮浜殑琛�
+ const initHighlightedRows = () => {
+ try {
+ const highlightedRowIds = localStorage.getItem('highlightedRowIds');
+ if (highlightedRowIds) {
+ this.highlightedRowIds = JSON.parse(highlightedRowIds);
+ } else {
+ this.highlightedRowIds = [];
+ }
+ } catch (e) {
+ console.error('Failed to load highlighted rows from localStorage:', e);
+ this.highlightedRowIds = [];
+ }
+ };
+
+ // 淇濆瓨楂樹寒琛孖D鍒版湰鍦板瓨鍌�
+ const saveHighlightedRows = () => {
+ try {
+ localStorage.setItem('highlightedRowIds', JSON.stringify(this.highlightedRowIds));
+ } catch (e) {
+ console.error('Failed to save highlighted rows to localStorage:', e);
+ }
+ };
+
+ // 鍦ㄧ粍浠跺垵濮嬪寲鏃惰皟鐢�
+ initHighlightedRows();
+
this.columns.push({
field: '鎿嶄綔',
title: '鎿嶄綔',
@@ -132,13 +177,46 @@
align: 'center',
formatter: (row) => {
return (
- '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-printer">鎵撳嵃</i>'
+ '<i style="cursor: pointer;color: #2d8cf0;" class="el-icon-printer">鎵撳嵃</i>'
);
},
click: (row) => {
+ // 鎵撳紑璇︽儏
this.$refs.gridBody.open(row);
+ // 鑾峰彇琛岀殑鍞竴鏍囪瘑锛堝亣璁緍ow.id鏄敮涓�ID锛�
+ const rowId = row.id;
+ // 娣诲姞鍒板凡楂樹寒鍒楄〃
+ if (!this.highlightedRowIds.includes(rowId)) {
+ this.highlightedRowIds.push(rowId);
+ // 淇濆瓨鍒版湰鍦板瓨鍌�
+ saveHighlightedRows();
+ // 鍒锋柊琛ㄦ牸浠ュ簲鐢ㄦ牱寮�
+ this.$refs.gridBody.refresh();
+ }
}
});
+
+ // 閰嶇疆cellStyle
+ this.columns.forEach((column) => {
+ // 淇濆瓨鍘熸湁鐨刢ellStyle鍑芥暟
+ const originalCellStyle = column.cellStyle;
+
+ column.cellStyle = (row) => {
+ // 鍏堝簲鐢ㄥ師鏈夌殑鏍峰紡閫昏緫
+ let style = originalCellStyle ? originalCellStyle(row) : {};
+
+ // 濡傛灉琛岃鏍囪涓洪珮浜紝鍒欐坊鍔犵豢鑹茶儗鏅�
+ if (this.highlightedRowIds.includes(row.id)) {
+ style = {
+ ...style,
+ background: '#d4edda',
+ color: '#155724'
+ };
+ }
+
+ return style;
+ };
+ });
},
onInited() {
//妗嗘灦鍒濆鍖栭厤缃悗
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/MesOutOrderDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/MesOutOrderDetail.vue"
index 9556fb4..3e5e94d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/MesOutOrderDetail.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/MesOutOrderDetail.vue"
@@ -160,6 +160,20 @@
width: 150,
},
{
+ prop: "productionDate",
+ title: "鐢熶骇鏃ユ湡",
+ type: "string",
+ width: 160,
+
+ },
+ {
+ prop: "effectiveDate",
+ title: "鏈夋晥鏈�",
+ type: "string",
+ width: 160,
+
+ },
+ {
prop: "locationCode",
title: "璐т綅缂栧彿",
type: "string",
@@ -188,7 +202,6 @@
"鏌ヨ涓�"
)
.then((x) => {
-
var label=[
{ label: '宸插垎閰�', value: 0 },
{ label: '鍑哄簱涓�', value: 1 },
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/locationInfoRow.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/locationInfoRow.vue"
index 2f44aea..5060660 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/locationInfoRow.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/locationInfoRow.vue"
@@ -102,8 +102,8 @@
<p><strong>璐т綅鍙�:</strong>{{ currentLocation.locationCode }}</p>
<p>
<strong>璐т綅鎺掑垪灞�:</strong> {{ currentLocation.row }}鎺抺{
- currentLocation.layer
- }}鍒梴{ currentLocation.index }}灞�
+ currentLocation.index
+ }}鍒梴{ currentLocation.layer }}灞�
</p>
<p><strong>鐘舵��:</strong> {{ getStatusText(currentLocation) }}</p>
<p>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue"
index 528ef98..8a1f871 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue"
@@ -62,6 +62,13 @@
],
[
{
+ title: "鐗╂枡瑙勬牸",
+ field: "materielSpec",
+ type: "string",
+ },
+ ],
+ [
+ {
title: "鎵规鍙�",
field: "lotNo",
required: true,
@@ -122,7 +129,14 @@
field: "materielName",
title: "鐗╂枡鍚嶇О",
type: "string",
- width: 100,
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "materielSpec",
+ title: "鐗╂枡瑙勬牸",
+ type: "string",
+ width: 150,
align: "left",
},
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/returnOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/returnOrder.vue"
index 9eed63d..a5da780 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/returnOrder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/returnOrder.vue"
@@ -154,7 +154,7 @@
field: "pickCode",
title: "鐢宠鍙戞枡鍗曞彿",
type: "select",
- width: 160,
+ width: 180,
align: "left",
required: true,
},
@@ -186,7 +186,31 @@
field: "mCode",
title: "鐗╂枡缂栫爜",
type: "string",
- width: 90,
+ width: 130,
+ align: "left",
+ required: true,
+ },
+ {
+ field: "qty",
+ title: "鍙��鏁伴噺",
+ type: "float",
+ width: 130,
+ align: "left",
+ required: true,
+ },
+ {
+ field: "returnQty",
+ title: "閫�鍥炴暟閲�",
+ type: "float",
+ width: 130,
+ align: "left",
+ required: true,
+ },
+ {
+ field: "overReturnQty",
+ title: "宸查��鍥炴暟閲�",
+ type: "float",
+ width: 130,
align: "left",
required: true,
},
@@ -201,7 +225,7 @@
field: "materielSpec",
title: "鐗╂枡瑙勬牸",
type: "string",
- width: 90,
+ width: 120,
align: "left",
},
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/outStockLockInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/outStockLockInfo.vue"
index 48e7735..1bcf0d6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/outStockLockInfo.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/outStockLockInfo.vue"
@@ -207,6 +207,20 @@
align: "left",
},
{
+ field: "productionDate",
+ title: "鐢熶骇鏃ユ湡",
+ type: "string",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "effectiveDate",
+ title: "鏈夋晥鏈�",
+ type: "string",
+ width: 160,
+ align: "left",
+ },
+ {
field: "taskNum",
title: "浠诲姟鍙�",
type: "string",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
index 0b94c04..4129a8d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
@@ -30,27 +30,81 @@
const editFormOptions = ref([
[
{
+ title: "搴撳瓨涓婚敭",
+ readonly:true,
+ field: "stockId",
+ type: "string",
+ },
+
+ {
title: "鐗╂枡缂栧彿",
required: true,
field: "materielCode",
type: "string",
},
{
- title: "鍗曟嵁缂栧彿",
+ title: "鐗╂枡鍚嶇О",
required: true,
field: "materielName",
type: "string",
},
{
- title: "鎵规鍙�",
- required: true,
+ title: "鍗曟嵁缂栧彿",
+ readonly: true,
field: "orderNo",
type: "string",
},
+
+ ],
+ [
+ {
+ title: "鎵规鍙�",
+ required: true,
+ field: "batchNo",
+ type: "string",
+ },
+ {
+ title: "搴撳瓨鏁伴噺",
+ required: true,
+ field: "stockQuantity",
+ type: "string",
+ },
+ {
+ title: "鐢熶骇鏃ユ湡",
+ required: true,
+ field: "productionDate",
+ type: "string",
+ },
+ {
+ title: "鏈夋晥鏈�",
+ required: true,
+ field: "effectiveDate",
+ type: "string",
+ },
+ ],
+ [
{
title: "搴忓垪鍙�",
- required: true,
+ readonly: true,
field: "serialNumber",
+ type: "string",
+ },
+ {
+ title: "鍑哄簱鏁伴噺",
+ required: true,
+ field: "outboundQuantity",
+ type: "string",
+ },
+ {
+ title: "搴撳瓨鏄庣粏鐘舵��",
+ readonly: true,
+ field: "status",
+ type: "string",
+ },
+ {
+ title: "鍏ュ簱鍗曟槑缁嗚鍙�",
+ readonly: true,
+ field: "inboundOrderRowNo",
type: "string",
},
],
@@ -144,6 +198,21 @@
bind: { key: "stockStatusEmun", data: [] },
},
{
+ field: "productionDate",
+ title: "鐢熶骇鏃ユ湡",
+ type: "string",
+ width: 120,
+ align: "left",
+
+ },
+ {
+ field: "effectiveDate",
+ title: "鏈夋晥鏈�",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
field: "creater",
title: "鍒涘缓浜�",
type: "string",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
index b18d604..310b96c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
@@ -225,6 +225,20 @@
align: "left",
hidden: true,
},
+ {
+ field: "materielCode",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "quantity",
+ title: "鐗╂枡鏁伴噺",
+ type: "float",
+ width: 100,
+ align: "left",
+ },
]);
const detail = ref({
cnName: "#detailCnName",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
index 6ab9ba1..937a242 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
@@ -225,6 +225,20 @@
align: "left",
hidden: true,
},
+ {
+ field: "materielCode",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "quantity",
+ title: "鐗╂枡鏁伴噺",
+ type: "float",
+ width: 100,
+ align: "left",
+ },
]);
const detail = ref({
cnName: "#detailCnName",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs"
index 6595181..18680f9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs"
@@ -16,5 +16,7 @@
WebResponseContent GetPurchaseOrderNos(string materielCode);
WebResponseContent GetOrderQuantity(string purchaseOrderNo);
+
+ WebResponseContent GetOrderMaterielSpec(string purchaseOrderNo, string materielCode);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
index 8eaeef9..c5528bd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
@@ -864,11 +864,17 @@
stockInfoDetails.Add(stockInfoDetail);
- notGroupDetail.ReceiptQuantity += model.Quantity;
- if (notGroupDetail.ReceiptQuantity>notGroupDetail.OrderQuantity)
+ decimal decimalReceiptQuantity = Convert.ToDecimal(notGroupDetail.ReceiptQuantity);
+ decimal decimalModelQuantity = Convert.ToDecimal(model.Quantity);
+ decimal decimalOrderQuantity = Convert.ToDecimal(notGroupDetail.OrderQuantity);
+ decimalReceiptQuantity += decimalModelQuantity;
+ // 妫�鏌ユ槸鍚﹁秴鍑鸿鍗曟暟閲�
+ if (decimalReceiptQuantity > decimalOrderQuantity)
{
- return WebResponseContent.Instance.Error($"缁勭洏鏁伴噺婧㈠嚭{notGroupDetail.ReceiptQuantity - notGroupDetail.OrderQuantity}");
+ return WebResponseContent.Instance.Error($"缁勭洏鏁伴噺婧㈠嚭{decimalReceiptQuantity - decimalOrderQuantity}");
}
+ // 杞洖float绫诲瀷瀛樺偍锛屼絾姣旇緝鍜岃绠楅兘浣跨敤decimal瀹屾垚
+ notGroupDetail.ReceiptQuantity = Convert.ToSingle(decimalReceiptQuantity);
if (notGroupDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
{
notGroupDetail.OrderDetailStatus = OrderDetailStatusEnum.GroupAndInbound.ObjToInt();
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs"
index b0a6a70..2cd6d3a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs"
@@ -63,5 +63,22 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+
+ public WebResponseContent GetOrderMaterielSpec(string purchaseOrderNo, string materielCode)
+ {
+ try
+ {
+ List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == purchaseOrderNo).ToList();
+ List<int> purchaseOrderIds = purchaseOrders.Select(x => x.Id).ToList();
+ List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.Db.Queryable<Dt_PurchaseOrderDetail>()
+ .Where(x => purchaseOrderIds.Contains(x.PurchaseOrderId)&& x.MaterielCode == materielCode).ToList();
+ List<string> materielSpec = purchaseOrderDetails.Select(x => x.MaterielSpec).ToList();
+ return WebResponseContent.Instance.OK(data: materielSpec);
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs"
index f5193dc..1cadc32 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs"
@@ -78,5 +78,11 @@
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "渚涘簲鍟嗙紪鐮�")]
public string SupplierCode { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡瑙勬牸
+ /// </summary>
+ [SugarColumn(IsNullable = false, ColumnDescription = "鐗╂枡瑙勬牸")]
+ public string MaterielSpec { get; set; }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs"
index 190c8ae..4ee5363 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundLockInfo.cs"
@@ -108,5 +108,17 @@
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "鐘舵��")]
public int Status { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ /// </summary>
+ [SugarColumn(IsNullable = false, ColumnDescription = "鐢熶骇鏃ユ湡")]
+ public string ProductionDate { get; set; }
+
+ /// <summary>
+ /// 鏈夋晥鏈�
+ /// </summary>
+ [SugarColumn(IsNullable = false, ColumnDescription = "鏈夋晥鏈�")]
+ public string EffectiveDate { get; set; }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
index 8b5eb89..98c26f7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
@@ -155,5 +155,19 @@
[ExporterHeader(DisplayName = "澶囨敞")]
[SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")]
public string Remark { get; set; }
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ [ImporterHeader(Name = "鐗╂枡缂栧彿")]
+ [ExporterHeader(DisplayName = "鐗╂枡缂栧彿")]
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")]
+ public string MaterielCode { get; set; }
+ /// <summary>
+ /// 鐗╂枡鏁伴噺
+ /// </summary>
+ [ImporterHeader(Name = "鐗╂枡鏁伴噺")]
+ [ExporterHeader(DisplayName = "鐗╂枡鏁伴噺")]
+ [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "鐗╂枡鏁伴噺")]
+ public float Quantity { get; set; }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs"
index 5da8a45..cba7d6c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs"
@@ -52,7 +52,10 @@
OriginalQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity),
Status = taskNum == null ? OutLockStockStatusEnum.宸插垎閰�.ObjToInt() : OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(),
StockId = item.Id,
- TaskNum = taskNum
+ TaskNum = taskNum,
+ ProductionDate = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).FirstOrDefault()?.ProductionDate,
+ EffectiveDate = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).FirstOrDefault()?.EffectiveDate
+
};
outStockLockInfos.Add(outStockLockInfo);
}
@@ -80,6 +83,8 @@
TaskNum = taskNum,
OrderQuantity = outboundOrderDetail.OrderQuantity,
Unit = outboundOrderDetail.Unit,
+ ProductionDate = outStock.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).FirstOrDefault()?.ProductionDate,
+ EffectiveDate = outStock.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).FirstOrDefault()?.EffectiveDate
};
return outStockLockInfo;
@@ -111,7 +116,10 @@
StockId = outStock.Id,
TaskNum = taskNum,
OrderQuantity = mesOutboundOrder.OrderQuantity,
- Unit = mesOutboundOrder.Unit
+ Unit = mesOutboundOrder.Unit,
+ ProductionDate = outStock.Details.Where(x => x.MaterielCode == mesOutboundOrder.MaterialCode).FirstOrDefault()?.ProductionDate,
+ EffectiveDate = outStock.Details.Where(x => x.MaterielCode == mesOutboundOrder.MaterialCode).FirstOrDefault()?.EffectiveDate
+
};
return outStockLockInfo;
@@ -146,7 +154,9 @@
StockId = item.Id,
TaskNum = taskNum,
OrderQuantity = mesPPCutOutboundOrderDetail.OrderQuantity,
- Unit = mesPPCutOutboundOrderDetail.Unit
+ Unit = mesPPCutOutboundOrderDetail.Unit,
+ ProductionDate = item.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterielCode).FirstOrDefault()?.ProductionDate,
+ EffectiveDate = item.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterielCode).FirstOrDefault()?.EffectiveDate
};
outStockLockInfos.Add(outStockLockInfo);
}
@@ -173,7 +183,9 @@
StockId = outStock.Id,
TaskNum = taskNum,
OrderQuantity = mesPPOutboundOrder.OrderQuantity,
- Unit = mesPPOutboundOrder.Unit
+ Unit = mesPPOutboundOrder.Unit,
+ ProductionDate = outStock.Details.Where(x => x.MaterielCode == mesPPOutboundOrder.MaterialCode).FirstOrDefault()?.ProductionDate,
+ EffectiveDate = outStock.Details.Where(x => x.MaterielCode == mesPPOutboundOrder.MaterialCode).FirstOrDefault()?.EffectiveDate
};
return outStockLockInfo;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index 9a7f842..830712a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -173,7 +173,9 @@
StockId = stockInfo.Id,
TaskNum = 0,
OrderQuantity = outboundOrderDetail.OrderQuantity,
- Unit = outboundOrderDetail.Unit
+ Unit = outboundOrderDetail.Unit,
+ ProductionDate = stockInfoDetail.ProductionDate,
+ EffectiveDate = stockInfoDetail.EffectiveDate
};
#region 淇敼鍑哄簱鍗�
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs"
index 6a41a2b..d6adcc8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesProductService.cs"
@@ -20,6 +20,7 @@
using System.Text.RegularExpressions;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Core.CodeConfigEnum;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
namespace WIDESEA_TaskInfoService
{
@@ -162,7 +163,9 @@
TaskType = TaskTypeEnum.InProduct.ObjToInt(),
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = warehouse.WarehouseId,
- PalletType = proStockInfo.PalletType
+ PalletType = proStockInfo.PalletType,
+ MaterielCode = proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).FirstOrDefault()?.ProductCode,
+ Quantity = (float)proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).Sum(x => x.StockPcsQty)
};
_unitOfWorkManage.BeginTran();
int taskId = BaseDal.AddData(newTask);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
index c6db724..0df30d5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -866,7 +866,9 @@
TaskType = TaskTypeEnum.Inbound.ObjToInt(),
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = stockInfo.WarehouseId,
- PalletType = stockInfo.PalletType
+ PalletType = stockInfo.PalletType,
+ MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
+ Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
};
LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
_unitOfWorkManage.BeginTran();
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 4755722..908cc94 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -206,7 +206,9 @@
TaskType = TaskTypeEnum.OutAllocate.ObjToInt(),
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = stockInfo.WarehouseId,
- PalletType = stockInfo.PalletType
+ PalletType = stockInfo.PalletType,
+ MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
+ Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
};
_unitOfWorkManage.BeginTran();
BaseDal.AddData(newTask);
@@ -374,6 +376,7 @@
});
//鏇存柊浠诲姟鐘舵��
task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
+ FeedBackWCSTaskCompleted(taskNum);
_unitOfWorkManage.BeginTran();
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
_basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.InStock, stockInfo.WarehouseId);
@@ -672,6 +675,7 @@
}
task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
+ FeedBackWCSTaskCompleted(taskNum);
_unitOfWorkManage.BeginTran();
if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.OutAllocate.ObjToInt() || task.TaskType == TaskTypeEnum.MesHandPickOutbound.ObjToInt() || task.TaskType == TaskTypeEnum.MesHandOutbound.ObjToInt())
@@ -710,7 +714,6 @@
int beforeStatus = locationInfo.LocationStatus;
locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
_basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.Free, stockInfo.WarehouseId);
-
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
_recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationStatusEnum.Free, LocationChangeType.OutboundCompleted, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
index 30a4ea6..7c452cc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
@@ -4,6 +4,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.APIEnum;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Common.OtherEnum;
@@ -110,5 +111,29 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+ /// <summary>
+ /// 鍥炶皟wcs鎵嬪姩瀹屾垚浠诲姟
+ /// </summary>
+ /// <param name="taskNum"></param>
+ /// <returns></returns>
+ public WebResponseContent FeedBackWCSTaskCompleted(int taskNum)
+ {
+ try
+ {
+ Dt_ApiInfo? url = _apiInfoRepository.QueryData(x => x.ApiCode == APIEnum.FeedBackWCSTaskCompleted.ToString()).First();
+ string? apiAddress = url.ApiAddress;
+ if (string.IsNullOrEmpty(apiAddress))
+ {
+ return WebResponseContent.Instance.Error($"{taskNum},鏈壘鍒癢CS浠诲姟瀹屾垚鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
+ }
+ string responseStr = HttpHelper.Get(apiAddress + "?taskNum=" + taskNum);
+ WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(responseStr) ?? WebResponseContent.Instance.Error("鏈壘鍒颁换鍔″畬鎴愯繑鍥炲��");
+ return content;
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
index 11bc704..deb5750 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
@@ -88,7 +88,9 @@
TaskType = TaskTypeEnum.Inbound.ObjToInt(),
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = stockInfo.WarehouseId,
- PalletType = stockInfo.PalletType
+ PalletType = stockInfo.PalletType,
+ MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
+ Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
};
//鑾峰彇鏄惁瀛樺湪鍏ュ簱鍗�
Dt_InboundOrder? inboundOrder = null;
@@ -391,7 +393,9 @@
TaskType = TaskTypeEnum.Inbound.ObjToInt(),
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = stockInfo.WarehouseId,
- PalletType = stockInfo.PalletType
+ PalletType = stockInfo.PalletType,
+ MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
+ Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
};
//鑾峰彇鏄惁瀛樺湪鍏ュ簱鍗�
@@ -499,7 +503,9 @@
TaskType = TaskTypeEnum.Inbound.ObjToInt(),
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = stockInfo.WarehouseId,
- PalletType = stockInfo.PalletType
+ PalletType = stockInfo.PalletType,
+ MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
+ Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
};
@@ -598,7 +604,9 @@
TaskType = TaskTypeEnum.Inbound.ObjToInt(),
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = stockInfo.WarehouseId,
- PalletType = stockInfo.PalletType
+ PalletType = stockInfo.PalletType,
+ MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
+ Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
};
if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
@@ -826,7 +834,9 @@
TaskType = TaskTypeEnum.InProductBack.ObjToInt(),
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = warePoint.WarehouseId,
- PalletType = proStockInfo.PalletType
+ PalletType = proStockInfo.PalletType,
+ MaterielCode = proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).FirstOrDefault()?.ProductCode,
+ Quantity = (float)proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).Sum(x => x.StockPcsQty)
};
_unitOfWorkManage.BeginTran();
int taskId = BaseDal.AddData(newTask);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
index cd80741..3da86d6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
@@ -486,7 +486,9 @@
TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
PalletType = stockInfo.PalletType,
WarehouseId = stockInfo.WarehouseId,
- GroupId= groupId
+ GroupId= groupId,
+ MaterielCode = stockInfo.proStockInfoDetails.Where(x => x.ProStockId == stockInfo.Id).FirstOrDefault()?.ProductCode,
+ Quantity = (float)stockInfo.proStockInfoDetails.Where(x => x.ProStockId == stockInfo.Id).Sum(x=> x.StockPcsQty)
};
tasks.Add(task);
}
@@ -525,6 +527,8 @@
TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
PalletType = stockInfo.PalletType,
WarehouseId = stockInfo.WarehouseId,
+ MaterielCode = stockInfo.Details.Where(x =>x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
+ Quantity =(float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
};
if (stockInfo.StockLength>0)
{
@@ -774,7 +778,9 @@
StockId = x.Id,
TaskNum = 0,
OrderQuantity = OrderDetail.OrderQuantity,
- Unit = OrderDetail.Unit
+ Unit = OrderDetail.Unit,
+ ProductionDate = v.ProductionDate,
+ EffectiveDate = v.EffectiveDate
};
outStockLockInfos.Add(outStockLockInfo);
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs"
index fd55656..cbdf94b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs"
@@ -149,6 +149,7 @@
return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑缁堢偣璐т綅淇℃伅");
}
task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
+ FeedBackWCSTaskCompleted(task.TaskNum);
_unitOfWorkManage.BeginTran();
stockInfo.LocationCode = locationInfoEnd.LocationCode;
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs"
index 2402aa9..dab54ac 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs"
@@ -34,5 +34,11 @@
{
return Service.GetOrderQuantity(purchaseOrderNo);
}
+ //鑾峰彇鐗╂枡瑙勬牸
+ [HttpPost, HttpGet, Route("GetOrderMaterielSpec"), AllowAnonymous]
+ public WebResponseContent GetOrderMaterielSpec(string purchaseOrderNo, string materielCode)
+ {
+ return Service.GetOrderMaterielSpec(purchaseOrderNo, materielCode);
+ }
}
}
--
Gitblit v1.9.3