From 6990c6f4934e6062b07f1fa9471c2b98d4077729 Mon Sep 17 00:00:00 2001
From: zhuguifei <312353457@qq.com>
Date: 星期四, 09 四月 2026 13:31:21 +0800
Subject: [PATCH] style: 修改ignore

---
 ruoyi-plus-soybean/src/views/analy/store-silk/modules/store-silk-search.vue |  123 +++++++++++++++++++++++++++-------------
 1 files changed, 82 insertions(+), 41 deletions(-)

diff --git a/ruoyi-plus-soybean/src/views/analy/store-silk/modules/store-silk-search.vue b/ruoyi-plus-soybean/src/views/analy/store-silk/modules/store-silk-search.vue
old mode 100644
new mode 100755
index 1489ba2..ffb40b6
--- a/ruoyi-plus-soybean/src/views/analy/store-silk/modules/store-silk-search.vue
+++ b/ruoyi-plus-soybean/src/views/analy/store-silk/modules/store-silk-search.vue
@@ -1,6 +1,5 @@
 <script setup lang="ts">
 import { onMounted, ref, toRaw, watch } from 'vue';
-import dayjs from 'dayjs';
 import { jsonClone } from '@sa/utils';
 import { useNaiveForm } from '@/hooks/common/form';
 import { $t } from '@/locales';
@@ -26,55 +25,87 @@
 }
 
 function getDefaultRange(): [string, string] {
-  const end = dayjs().format('YYYY-MM-DD');
-  const start = dayjs().subtract(3, 'day').format('YYYY-MM-DD');
-  return [start, end];
+  const now = new Date();
+  const threeDaysAgo = new Date(now.getTime() - 3 * 24 * 60 * 60 * 1000);
+  const todayStart = `${threeDaysAgo.getFullYear()}-${String(threeDaysAgo.getMonth() + 1).padStart(2, '0')}-${String(threeDaysAgo.getDate()).padStart(2, '0')} 00:00:00`;
+  const todayEnd = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} 23:59:59`;
+  return [todayStart, todayEnd];
 }
 
-const dateRange = ref<[string, string]>(getDefaultRange());
+const dateRange = ref<[string, string] | null>(null);
 
-function isDateDisabled(ts: number) {
-  const min = dayjs().subtract(3, 'day').startOf('day').valueOf();
-  const max = dayjs().endOf('day').valueOf();
-  return ts < min || ts > max;
+function onDateRangeUpdate(value: [string, string] | null) {
+  if (!model.value.params) {
+    model.value.params = {};
+  }
+
+  const beginTime = value?.[0] ? String(value[0]).trim() : '';
+  const endTime = value?.[1] ? String(value[1]).trim() : '';
+
+  if (beginTime && endTime) {
+    model.value.params.beginTime = beginTime;
+    model.value.params.endTime = endTime;
+  } else {
+    delete model.value.params.beginTime;
+    delete model.value.params.endTime;
+  }
+}
+
+function setDefaultRange() {
+  const range = getDefaultRange();
+  dateRange.value = range;
+  onDateRangeUpdate(range);
 }
 
 onMounted(() => {
-  if (!model.value.distimebegin || !model.value.distimeend) {
-    dateRange.value = getDefaultRange();
-    model.value.distimebegin = dateRange.value[0];
-    model.value.distimeend = dateRange.value[1];
+  if (!model.value.params) {
+    model.value.params = {};
+  }
+
+  const beginTime = model.value.params.beginTime ? String(model.value.params.beginTime).trim() : '';
+  const endTime = model.value.params.endTime ? String(model.value.params.endTime).trim() : '';
+
+  if (beginTime && endTime) {
+    dateRange.value = [beginTime, endTime];
   } else {
-    dateRange.value = [model.value.distimebegin as string, model.value.distimeend as string];
+    setDefaultRange();
   }
 });
-
-watch(
-  dateRange,
-  val => {
-    if (val && val[0] && val[1]) {
-      model.value.distimebegin = val[0];
-      model.value.distimeend = val[1];
-    } else {
-      model.value.distimebegin = null;
-      model.value.distimeend = null;
-    }
-  },
-  { deep: true }
-);
 
 async function reset() {
   await restoreValidation();
   resetModel();
-  dateRange.value = getDefaultRange();
-  model.value.distimebegin = dateRange.value[0];
-  model.value.distimeend = dateRange.value[1];
+  setDefaultRange();
   emit('search');
 }
 
 async function search() {
   await validate();
   emit('search');
+}
+
+const siloOptions = Array.from({ length: 12 }, (_, i) => ({
+  label: `${i + 1}鍙峰偍涓濇煖`,
+  value: String(i + 1)
+}));
+
+const selectedSilos = ref<string[]>([]);
+
+watch(
+  () => model.value.siloid,
+  val => {
+    if (val) {
+      selectedSilos.value = (val as string).split(',');
+    } else {
+      selectedSilos.value = [];
+    }
+  },
+  { immediate: true }
+);
+
+function handleSiloChange(val: string[]) {
+  selectedSilos.value = val;
+  model.value.siloid = val.join(',');
 }
 </script>
 
@@ -91,10 +122,10 @@
               path="materialname"
               class="pr-24px"
             >
-              <NInput v-model:value="model.materialname" placeholder="璇疯緭鍏ョ墝鍙�" />
+              <NInput v-model:value="model.materialname" clearable placeholder="璇疯緭鍏ョ墝鍙�" />
             </NFormItemGi>
             <NFormItemGi span="24 s:12 m:8 l:8 xl:8" label="鎵规鍙�" label-width="auto" path="batchcode" class="pr-24px">
-              <NInput v-model:value="model.batchcode" placeholder="璇疯緭鍏ユ壒娆″彿" />
+              <NInput v-model:value="model.batchcode" clearable placeholder="璇疯緭鍏ユ壒娆″彿" />
             </NFormItemGi>
             <NFormItemGi
               span="24 s:12 m:8 l:8 xl:8"
@@ -105,24 +136,27 @@
             >
               <NDatePicker
                 v-model:formatted-value="model.actualstarttime"
-                type="datetime"
-                value-format="yyyy-MM-dd HH:mm:ss"
+                type="date"
+                value-format="yyyy-MM-dd"
                 clearable
+                class="w-full"
               />
             </NFormItemGi>
             <NFormItemGi
               span="24 s:12 m:8 l:8 xl:8"
-              label="鍑烘枡鏃堕棿"
+              label="鍑烘枡缁撴潫鏃堕棿"
               label-width="auto"
-              path="distimebegin"
+              path="params.beginTime"
               class="pr-24px"
             >
               <NDatePicker
                 v-model:formatted-value="dateRange"
-                type="daterange"
-                value-format="yyyy-MM-dd"
+                type="datetimerange"
+                :default-time="['00:00:00', '23:59:59']"
+                value-format="yyyy-MM-dd HH:mm:ss"
                 clearable
-                :is-date-disabled="isDateDisabled"
+                class="w-full"
+                @update:formatted-value="onDateRangeUpdate"
               />
             </NFormItemGi>
             <NFormItemGi
@@ -132,7 +166,14 @@
               path="siloid"
               class="pr-24px"
             >
-              <NInput v-model:value="model.siloid" placeholder="璇疯緭鍏ユ煖瀛愬彿(鏈綅)" />
+              <NSelect
+                v-model:value="selectedSilos"
+                multiple
+                clearable
+                :options="siloOptions"
+                placeholder="璇烽�夋嫨鏌滃瓙鍙�"
+                @update:value="handleSiloChange"
+              />
             </NFormItemGi>
             <NFormItemGi :show-feedback="false" span="24" class="pr-24px">
               <NSpace class="w-full" justify="end">

--
Gitblit v1.9.3