From c425a8afba0a76eb62d5650cc9c98c42d8339f06 Mon Sep 17 00:00:00 2001
From: zhuguifei <312353457@qq.com>
Date: 星期四, 12 三月 2026 13:01:23 +0800
Subject: [PATCH] perf: 1.优化储丝柜单柜卷包产量计算方式,支持未出料结束计算统计 2.新增储丝柜单柜卷包产量桑基图
---
ruoyi-plus-soybean/src/views/analy/feed-match/modules/feed-match-search.vue | 38 +++++++++++++++++++++++++++++++-------
1 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/ruoyi-plus-soybean/src/views/analy/feed-match/modules/feed-match-search.vue b/ruoyi-plus-soybean/src/views/analy/feed-match/modules/feed-match-search.vue
index 4482f5d..a88e769 100644
--- a/ruoyi-plus-soybean/src/views/analy/feed-match/modules/feed-match-search.vue
+++ b/ruoyi-plus-soybean/src/views/analy/feed-match/modules/feed-match-search.vue
@@ -1,5 +1,5 @@
<script setup lang="ts">
-import { toRaw } from 'vue';
+import { ref, toRaw } from 'vue';
import { jsonClone } from '@sa/utils';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
@@ -21,8 +21,30 @@
const defaultModel = jsonClone(toRaw(model.value));
function resetModel() {
+ timeRange.value = null;
Object.assign(model.value, defaultModel);
}
+
+const timeRange = ref<[string, string] | null>(null);
+
+function onTimeRangeUpdate(value: [string, string] | null) {
+ const params = (model.value.params ||= {});
+ const beginTime = value?.[0] ? String(value[0]).trim() : '';
+ const endTime = value?.[1] ? String(value[1]).trim() : '';
+ if (beginTime && endTime) {
+ params.beginTime = beginTime;
+ params.endTime = endTime;
+ } else {
+ delete params.beginTime;
+ delete params.endTime;
+ }
+}
+
+const shiftOptions = [
+ { label: '鏃╃彮', value: 1 },
+ { label: '涓彮', value: 2 },
+ { label: '鏅氱彮', value: 3 }
+];
async function reset() {
await restoreValidation();
@@ -42,18 +64,20 @@
<NCollapseItem :title="$t('common.search')" name="analy-feed-match-search">
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
<NGrid responsive="screen" item-responsive>
- <NFormItemGi span="24 s:12 m:6" label="鏃堕棿鎴�" label-width="auto" path="time" class="pr-24px">
+ <NFormItemGi span="24 s:12 m:8 l:8 xl:8" label="鏃堕棿鍖洪棿" label-width="auto" path="params.beginTime" class="pr-24px">
<NDatePicker
- v-model:formatted-value="model.time"
- type="datetime"
+ v-model:formatted-value="timeRange"
+ type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
+ :default-time="['00:00:00', '23:59:59']"
+ @update:formatted-value="onTimeRangeUpdate"
/>
</NFormItemGi>
- <NFormItemGi span="24 s:12 m:6" label="鐝+鏈哄彴" label-width="auto" path="key" class="pr-24px">
- <NInput v-model:value="model.key" placeholder="璇疯緭鍏ョ彮娆�+鏈哄彴" />
+ <NFormItemGi span="24 s:12 m:8 l:8 xl:8" label="鐝" label-width="auto" path="shift" class="pr-24px">
+ <NSelect v-model:value="model.shift" placeholder="璇烽�夋嫨鐝" :options="shiftOptions" clearable />
</NFormItemGi>
- <NFormItemGi :show-feedback="false" span="24" class="pr-24px">
+ <NFormItemGi :show-feedback="false" span="24 s:12 m:8 l:8 xl:8" class="pr-24px">
<NSpace class="w-full" justify="end">
<NButton @click="reset">
<template #icon>
--
Gitblit v1.9.3