From 11c076acb5b3d1d77713613ee701a2739906ebfe Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 01 十二月 2025 16:28:02 +0800
Subject: [PATCH] 成品率相关报表改为可配置时间
---
north-glass-erp/northglass-erp/src/views/pp/report/YieldProcess.vue | 121 +++++-------------------------
north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js | 4 +
north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue | 100 ++++---------------------
3 files changed, 40 insertions(+), 185 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js b/north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js
index 035097b..e2e4676 100644
--- a/north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js
+++ b/north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js
@@ -14,6 +14,7 @@
reportingWorkDate:ref(["",""]),
qualityInspectionDate:ref(["",""]),
brokenDate:ref(["",""]),
+ yieldDate:ref(["",""]),
searchOrderListFilter:ref([]),//璁㈠崟棣栭〉绛涢�塢
searchOrderFilter:{
list:ref([]),
@@ -81,6 +82,9 @@
this.reportFormDate=["",""]
this.workOrderDate=["",""]
this.reportingWorkDate=["",""]
+ this.qualityInspectionDate=["",""]
+ this.brokenDate=["",""]
+ this.yieldDate=["",""]
this.searchOrderFilter={
list:[],
data:{}
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue b/north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue
index a90ade6..5f528f2 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue
@@ -11,6 +11,11 @@
import dayjs from 'dayjs'
import {addListener} from "@/hook/mouseMove";
import {VxeUI} from "vxe-pc-ui";
+import companyInfo from "@/stores/sd/companyInfo";
+import useOrderInfoStore from "@/stores/sd/order/orderInfo";
+const company = companyInfo()
+const reportTime=company.reportTime
+const orderInfo = useOrderInfoStore()
//璇█鑾峰彇
const {t} = useI18n()
let router = useRouter()
@@ -58,39 +63,9 @@
let pageNum = ref(1)
let pageState = null
-//鑾峰彇涓冨ぉ鍓嶅埌褰撳墠鏃堕棿
-function getNowTime() {
- const pad = (n) => n.toString().padStart(2, '0');
-
- const formatDate = (date) => {
- const year = date.getFullYear();
- const month = pad(date.getMonth() + 1);
- const day = pad(date.getDate());
- return `${year}-${month}-${day} 08:00:00`;
- };
-
- const now = new Date();
- const startDate = new Date(now.getTime() - 3600 * 1000 * 24 * 3); // 涓夊ぉ鍓�
- const start = formatDate(startDate);
- const end = formatDate(now);
-
- return [start, end];
-}
-//绗竴娆″姞杞借幏鍙栬繎涓冨ぉ鏃堕棿鍜岄粯璁ょ姸鎬�
-form.date1 = getNowTime()
-let startTime = form.date1[0]
-let endTime = form.date1[1]
-let date = new Date(endTime); // 灏嗘棩鏈熷瓧绗︿覆杞负 Date 瀵硅薄
-// 浣跨敤 setDate 鏂规硶鍔犱竴澶�
-date.setDate(date.getDate() + 1);
-const pad = (n) => n.toString().padStart(2, '0');
-let year = date.getFullYear();
-let month = pad(date.getMonth() + 1);
-let day = pad(date.getDate());
-let newEndTime = `${year}-${month}-${day} 08:00:00`;
let selectProcesses = value.value
let total = reactive({
pageTotal: 0,
@@ -102,87 +77,44 @@
processType: [],
})
//绗竴娆″姞杞芥暟鎹�
-request.post(`/report/yield/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => {
+request.post(`/report/yield/${orderInfo.yieldDate}/${selectProcesses}/${reportTime}`, filterData.value).then((res) => {
if (res.code == 200) {
- // total.dataTotal = res.data.total.total*1
- // total.pageTotal= res.data.total.pageTotal
- // pageTotal.value = res.data.total
produceList = produceList.value.concat(deepClone(res.data.data))
titleSelectJson.value.processType = res.data.process
+ orderInfo.yieldDate = res.data.selectDate
xGrid.value.reloadData(produceList)
gridOptions.loading = false
} else {
+ gridOptions.loading = false
ElMessage.warning(res.msg)
}
})
-//椤佃剼缈婚〉鏌ヨ
-const selectPageList = () => {
- let startTime = form.date1[0]
- let endTime = form.date1[1]
- request.post(`/report/yield/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => {
- if (res.code == 200) {
-
-
- produceList = deepClone(res.data.data)
- xGrid.value.reloadData(produceList)
- } else {
- ElMessage.warning(res.msg)
- }
- })
-}
//鐐瑰嚮鏌ヨ
const getWorkOrder = () => {
gridOptions.loading = true
- // 鍘熷 form.date1 鏄棩鏈熷璞℃暟缁�
- const rawStart = new Date(form.date1[0]);
- const rawEnd = new Date(form.date1[1]);
- // 濡傛灉鏃堕棿閮ㄥ垎鏄� 00:00锛屽垯璁剧疆涓� 08:00
- if (rawStart.getHours() === 8 || rawStart.getHours() === 0) {
- rawStart.setHours(8, 0, 0, 0);
- }
- if (rawEnd.getHours() === 8 || rawEnd.getHours() === 0) {
- rawEnd.setHours(8, 0, 0, 0);
- }
- const startTime = formatDateTime(rawStart);
- const endPlusOne = new Date(rawEnd);
- endPlusOne.setDate(endPlusOne.getDate());
- const newEndTime = formatDateTime(endPlusOne);
- form.date1 = [startTime, newEndTime];
let selectProcesses = value.value
- request.post(`/report/yield/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => {
+ console.log(orderInfo.yieldDate)
+ console.log(reportTime)
+ request.post(`/report/yield/${orderInfo.yieldDate}/${selectProcesses}/${reportTime}`, filterData.value).then((res) => {
if (res.code == 200) {
// total.dataTotal = res.data.total.total*1
// total.pageTotal= res.data.total.pageTotal
// pageTotal.value = res.data.total
+ orderInfo.yieldDate = res.data.selectDate
produceList = deepClone(res.data.data)
xGrid.value.reloadData(produceList)
gridOptions.loading = false
} else {
+ gridOptions.loading = false
ElMessage.warning(res.msg)
}
})
-}
-
-const formatDateTime = (date) => {
- const year = date.getFullYear();
- const month = pad(date.getMonth() + 1);
- const day = pad(date.getDate());
- const hour = pad(date.getHours());
- const minute = pad(date.getMinutes());
- return `${year}-${month}-${day} ${hour}:${minute}:00`;
-};
-
-//椤佃剼璺宠浆
-const handlePageChange = ({currentPage, pageSize}) => {
- pageNum.value = currentPage
- total.pageTotal = pageSize
- selectPageList()
}
@@ -383,13 +315,13 @@
<div style="width: 100%;height: 100%">
<div class="head">
<el-date-picker
- v-model="form.date1"
+ v-model="orderInfo.yieldDate"
:start-placeholder="$t('basicData.startDate')"
:end-placeholder="$t('basicData.endDate')"
- format="YYYY/MM/DD HH:mm"
style="width: 350px"
type="daterange"
- value-format="YYYY/MM/DD HH:mm"
+ format="YYYY/MM/DD HH:mm"
+ value-format="YYYY-MM-DD HH:mm"
/>
<el-select v-model="value" clearable default-value="default_city" style="width: 120px">
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/YieldProcess.vue b/north-glass-erp/northglass-erp/src/views/pp/report/YieldProcess.vue
index 06e211a..045c26e 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/YieldProcess.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/YieldProcess.vue
@@ -11,6 +11,11 @@
import dayjs from 'dayjs'
import {VxeUI} from "vxe-pc-ui";
import {addListener} from "@/hook/mouseMove";
+import companyInfo from "@/stores/sd/companyInfo";
+import useOrderInfoStore from "@/stores/sd/order/orderInfo";
+const company = companyInfo()
+const reportTime=company.reportTime
+const orderInfo = useOrderInfoStore()
//璇█鑾峰彇
const {t} = useI18n()
let router = useRouter()
@@ -58,133 +63,47 @@
let pageNum = ref(1)
let pageState = null
-//鑾峰彇涓冨ぉ鍓嶅埌褰撳墠鏃堕棿
-function getNowTime() {
- const pad = (n) => n.toString().padStart(2, '0');
-
- const formatDate = (date) => {
- const year = date.getFullYear();
- const month = pad(date.getMonth() + 1);
- const day = pad(date.getDate());
- return `${year}-${month}-${day} 08:00:00`;
- };
-
- const now = new Date();
- const startDate = new Date(now.getTime() - 3600 * 1000 * 24 * 3); // 涓夊ぉ鍓�
- const start = formatDate(startDate);
- const end = formatDate(now);
-
- return [start, end];
-}
-
-
-//绗竴娆″姞杞借幏鍙栬繎涓冨ぉ鏃堕棿鍜岄粯璁ょ姸鎬�
-form.date1 = getNowTime()
-let startTime = form.date1[0]
-let endTime = form.date1[1]
-let date = new Date(endTime); // 灏嗘棩鏈熷瓧绗︿覆杞负 Date 瀵硅薄
-
-// 浣跨敤 setDate 鏂规硶鍔犱竴澶�
-date.setDate(date.getDate() + 1);
-const pad = (n) => n.toString().padStart(2, '0');
-let year = date.getFullYear();
-let month = pad(date.getMonth() + 1);
-let day = pad(date.getDate());
-let newEndTime = `${year}-${month}-${day} 08:00:00`;
-let selectProcesses = value.value
-let total = reactive({
- pageTotal: 0,
- dataTotal: 0,
- pageSize: 100
-})
//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
const titleSelectJson = ref({
processType: [],
})
//绗竴娆″姞杞芥暟鎹�
-request.post(`/report/yieldProcess/${startTime}/${newEndTime}`, filterData.value).then((res) => {
+request.post(`/report/yieldProcess/${orderInfo.yieldDate}/${reportTime}`, filterData.value).then((res) => {
if (res.code == 200) {
// total.dataTotal = res.data.total.total*1
// total.pageTotal= res.data.total.pageTotal
// pageTotal.value = res.data.total
+ orderInfo.yieldDate = res.data.selectDate
produceList = produceList.value.concat(deepClone(res.data.data))
titleSelectJson.value.processType = res.data.process
xGrid.value.reloadData(produceList)
gridOptions.loading = false
} else {
+ gridOptions.loading = false
ElMessage.warning(res.msg)
}
})
-//椤佃剼缈婚〉鏌ヨ
-const selectPageList = () => {
- let startTime = form.date1[0]
- let endTime = form.date1[1]
-
- request.post(`/report/yield/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => {
- if (res.code == 200) {
-
-
- produceList = deepClone(res.data.data)
- xGrid.value.reloadData(produceList)
- } else {
- ElMessage.warning(res.msg)
- }
- })
-}
-
//鐐瑰嚮鏌ヨ
const getWorkOrder = () => {
gridOptions.loading = true
- // 鍘熷 form.date1 鏄棩鏈熷璞℃暟缁�
- const rawStart = new Date(form.date1[0]);
- const rawEnd = new Date(form.date1[1]);
- // 濡傛灉鏃堕棿閮ㄥ垎鏄� 00:00锛屽垯璁剧疆涓� 08:00
- if (rawStart.getHours() === 8 || rawStart.getHours() === 0) {
- rawStart.setHours(8, 0, 0, 0);
- }
- if (rawEnd.getHours() === 8 || rawEnd.getHours() === 0) {
- rawEnd.setHours(8, 0, 0, 0);
- }
-
- const startTime = formatDateTime(rawStart);
- const endPlusOne = new Date(rawEnd);
- endPlusOne.setDate(endPlusOne.getDate());
- const newEndTime = formatDateTime(endPlusOne);
- form.date1 = [startTime, newEndTime];
- let selectProcesses = value.value
- request.post(`/report/yieldProcess/${startTime}/${newEndTime}`, filterData.value).then((res) => {
+ request.post(`/report/yieldProcess/${orderInfo.yieldDate}/${reportTime}`, filterData.value).then((res) => {
if (res.code == 200) {
// total.dataTotal = res.data.total.total*1
// total.pageTotal= res.data.total.pageTotal
// pageTotal.value = res.data.total
+ orderInfo.yieldDate = res.data.selectDate
produceList = deepClone(res.data.data)
xGrid.value.reloadData(produceList)
gridOptions.loading = false
} else {
+ gridOptions.loading = false
ElMessage.warning(res.msg)
}
})
}
-
-const formatDateTime = (date) => {
- const year = date.getFullYear();
- const month = pad(date.getMonth() + 1);
- const day = pad(date.getDate());
- const hour = pad(date.getHours());
- const minute = pad(date.getMinutes());
- return `${year}-${month}-${day} ${hour}:${minute}:00`;
-};
-
-//椤佃剼璺宠浆
-const handlePageChange = ({currentPage, pageSize}) => {
- pageNum.value = currentPage
- total.pageTotal = pageSize
- selectPageList()
-}
-
/*浣跨敤绛涢�夛紝鍚庣鑾峰彇鏁版嵁*/
// const changeFilterEvent = (event, option, $panel,) => {
@@ -342,15 +261,15 @@
<template>
<div style="width: 100%;height: 100%">
<div class="head">
- <el-date-picker
- v-model="form.date1"
- :start-placeholder="$t('basicData.startDate')"
- :end-placeholder="$t('basicData.endDate')"
- format="YYYY/MM/DD HH:mm"
- style="width: 350px"
- type="daterange"
- value-format="YYYY/MM/DD HH:mm"
- />
+ <el-date-picker
+ v-model="orderInfo.yieldDate"
+ :start-placeholder="$t('basicData.startDate')"
+ :end-placeholder="$t('basicData.endDate')"
+ style="width: 350px"
+ type="daterange"
+ format="YYYY/MM/DD HH:mm"
+ value-format="YYYY-MM-DD HH:mm"
+ />
<el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
--
Gitblit v1.8.0