diff --git a/klp-ui/public/冷轧厂业务流程泳道图(1).html b/klp-ui/public/冷轧厂业务流程泳道图(1).html
new file mode 100644
index 00000000..c67105b1
--- /dev/null
+++ b/klp-ui/public/冷轧厂业务流程泳道图(1).html
@@ -0,0 +1,430 @@
+
+
+
+
+
+冷轧厂业务流程泳道图
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/klp-ui/src/api/wms/coil.js b/klp-ui/src/api/wms/coil.js
index d7ef2566..0c02d69b 100644
--- a/klp-ui/src/api/wms/coil.js
+++ b/klp-ui/src/api/wms/coil.js
@@ -529,4 +529,13 @@ export function getExportColumns() {
url: '/wms/materialCoil/exportColumns',
method: 'get',
})
+}
+
+export function listForPeriodComparison(data) {
+ return request({
+ url: '/wms/materialCoil/listForPeriodComparison',
+ method: 'post',
+ timeout: 600000,
+ data: data
+ })
}
\ No newline at end of file
diff --git a/klp-ui/src/views/cost/coil.vue b/klp-ui/src/views/cost/coil.vue
index 5e5f7bd5..506915cf 100644
--- a/klp-ui/src/views/cost/coil.vue
+++ b/klp-ui/src/views/cost/coil.vue
@@ -123,7 +123,7 @@ import * as echarts from 'echarts'
import { getCoilHoardingStats, listCoilHoardingDetail } from '@/api/cost/coil'
import WarehouseSelect from '@/components/KLPService/WarehouseSelect'
-const PRODUCT_NAMES = ['镀锌卷', '镀铬卷', '冷硬卷', '热轧卷板']
+const PRODUCT_NAMES = ['镀锌卷', '镀铬卷', '冷硬卷', '热轧卷板', '冷轧卷', '花纹板']
function parseFirstCreateTime(row) {
try {
@@ -237,17 +237,37 @@ export default {
fetchDimension() {
this.dimLoading = true
const base = this.buildQuery()
- const promises = PRODUCT_NAMES.map(v => {
- const body = { ...base, itemName: v }
- return getCoilHoardingStats(body).then(res => ({
+ const promises = PRODUCT_NAMES.flatMap(v => {
+ const baseBody = { ...base, itemName: v }
+ const productReq = getCoilHoardingStats({ ...baseBody, selectType: 'product' }).then(res => ({
label: v,
avgDays: parseFloat((res.data && res.data.avgHoardingDays) || 0),
avgCost: parseFloat((res.data && res.data.avgHoardingCost) || 0),
count: parseInt((res.data && res.data.totalCount) || 0)
}))
+ const rawReq = getCoilHoardingStats({ ...baseBody, selectType: 'raw_material' }).then(res => ({
+ label: v,
+ avgDays: parseFloat((res.data && res.data.avgHoardingDays) || 0),
+ avgCost: parseFloat((res.data && res.data.avgHoardingCost) || 0),
+ count: parseInt((res.data && res.data.totalCount) || 0)
+ }))
+ return [productReq, rawReq]
})
Promise.all(promises).then(data => {
- this.dimensionData = data.filter(d => d.count > 0)
+ const map = {}
+ data.forEach(d => {
+ if (!map[d.label]) {
+ map[d.label] = { label: d.label, avgDays: 0, avgCost: 0, count: 0 }
+ }
+ const prev = map[d.label]
+ const totalCount = prev.count + d.count
+ if (totalCount > 0) {
+ prev.avgDays = parseFloat(((prev.avgDays * prev.count + d.avgDays * d.count) / totalCount).toFixed(2))
+ prev.avgCost = parseFloat(((prev.avgCost * prev.count + d.avgCost * d.count) / totalCount).toFixed(2))
+ }
+ prev.count = totalCount
+ })
+ this.dimensionData = Object.values(map).filter(d => d.count > 0)
this.$nextTick(() => this.updateDimChart())
}).finally(() => { this.dimLoading = false })
},
diff --git a/klp-ui/src/views/wms/post/index.vue b/klp-ui/src/views/wms/post/index.vue
index ad36931f..40ca7666 100644
--- a/klp-ui/src/views/wms/post/index.vue
+++ b/klp-ui/src/views/wms/post/index.vue
@@ -1,6 +1,8 @@
-
-
@@ -42,24 +42,6 @@
-
@@ -79,7 +61,6 @@
-
@@ -88,17 +69,6 @@
-
-
@@ -109,7 +79,6 @@
-
-
+ -->