From e97b55310155a2dd691bd698a10295a4d867f60c Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期五, 17 四月 2026 15:55:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-plus-soybean/src/views/qm/batch/modules/batch-search.vue | 166 ++++++++++++++++++++++++++++--------------------------
1 files changed, 86 insertions(+), 80 deletions(-)
diff --git a/ruoyi-plus-soybean/src/views/qm/batch/modules/batch-search.vue b/ruoyi-plus-soybean/src/views/qm/batch/modules/batch-search.vue
index 77400be..3397bf9 100755
--- a/ruoyi-plus-soybean/src/views/qm/batch/modules/batch-search.vue
+++ b/ruoyi-plus-soybean/src/views/qm/batch/modules/batch-search.vue
@@ -1,6 +1,7 @@
<script setup lang="ts">
-import { ref, toRaw } from 'vue';
+import { onMounted, ref, toRaw, watch } from 'vue';
import { jsonClone } from '@sa/utils';
+import { fetchGetMatList } from '@/service/api/md/mat';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
@@ -16,38 +17,53 @@
const { formRef, validate, restoreValidation } = useNaiveForm();
-const dateRangeToMesDate = ref<[string, string] | null>(null);
-const dateRangeFromMesDate = ref<[string, string] | null>(null);
const model = defineModel<Api.Qm.BatchSearchParams>('model', { required: true });
+
+const dateRangeBatchDate = ref<[string, string] | null>(null);
+
+const matOptions = ref<CommonType.Option[]>([]);
+
+async function getMatOptions() {
+ const { data } = await fetchGetMatList({ tid: '1' as any, pageSize: 1000 });
+ if (data) {
+ matOptions.value = data.rows.map(item => ({
+ label: item.name,
+ value: item.code
+ }));
+ }
+}
+
+onMounted(() => {
+ getMatOptions();
+});
+
+// sync model params to dateRangeBatchDate
+watch(
+ () => model.value.params,
+ val => {
+ if (val?.beginBatchDate && val?.endBatchDate) {
+ dateRangeBatchDate.value = [val.beginBatchDate, val.endBatchDate];
+ } else {
+ dateRangeBatchDate.value = null;
+ }
+ },
+ { immediate: true, deep: true }
+);
const defaultModel = jsonClone(toRaw(model.value));
-// 绫诲瀷閫夐」锛欰-鍒朵笣 B-鎴愬瀷 C-鍗峰寘 D-灏佺 E-绯栭鏂�
-const typOptions = [
- { label: '鍒朵笣', value: 'A' },
- { label: '鎴愬瀷', value: 'B' },
- { label: '鍗峰寘', value: 'C' },
- { label: '灏佺', value: 'D' },
- { label: '绯栭鏂�', value: 'E' }
-];
-
-// 鍙嶉MES閫夐」锛�0-鏈笂浼爉es 1-宸蹭笂浼� 3-浠嶮ES涓嬭浇
-const flagOptions = [
- { label: '鏈笂浼爉es', value: '0' },
- { label: '宸蹭笂浼�', value: '1' },
- { label: '浠嶮ES涓嬭浇', value: '3' }
-];
-
-// 绫诲埆閫夐」锛�0-鎴愬搧 1-杈呮潗
-const categoryOptions = [
- { label: '鎴愬搧', value: '0' },
- { label: '杈呮潗', value: '1' }
-];
+function onDateRangeBatchDateUpdate(value: [string, string] | null) {
+ if (value && value.length === 2) {
+ model.value.params!.beginBatchDate = value[0];
+ model.value.params!.endBatchDate = value[1];
+ } else {
+ model.value.params!.beginBatchDate = undefined;
+ model.value.params!.endBatchDate = undefined;
+ }
+}
function resetModel() {
- dateRangeToMesDate.value = null;
- dateRangeFromMesDate.value = null;
- Object.assign(model.value, defaultModel);
+ Object.assign(model.value, jsonClone(defaultModel));
}
async function reset() {
@@ -58,14 +74,6 @@
async function search() {
await validate();
- if (dateRangeToMesDate.value?.length) {
- model.value.params!.beginToMesDate = dateRangeToMesDate.value[0];
- model.value.params!.endToMesDate = dateRangeToMesDate.value[1];
- }
- if (dateRangeFromMesDate.value?.length) {
- model.value.params!.beginFromMesDate = dateRangeFromMesDate.value[0];
- model.value.params!.endFromMesDate = dateRangeFromMesDate.value[1];
- }
emit('search');
}
</script>
@@ -74,70 +82,68 @@
<NCard :bordered="false" size="small" class="card-wrapper">
<NCollapse>
<NCollapseItem :title="$t('common.search')" name="qm-batch-search">
- <NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
+ <NForm ref="formRef" :model="model" label-placement="left" :label-width="110">
<NGrid responsive="screen" item-responsive>
- <NFormItemGi span="24 s:12 m:8" label="鎵规浠g爜" label-width="auto" path="batchCode" class="pr-24px">
- <NInput v-model:value="model.batchCode" placeholder="璇疯緭鍏ユ壒娆′唬鐮�" />
- </NFormItemGi>
- <NFormItemGi span="24 s:12 m:8" label="绫诲瀷" label-width="auto" path="typ" class="pr-24px">
- <NSelect v-model:value="model.typ" :options="typOptions" placeholder="璇烽�夋嫨绫诲瀷" clearable />
- </NFormItemGi>
- <NFormItemGi span="24 s:12 m:8" label="鏈哄彴浠g爜" label-width="auto" path="eqpCode" class="pr-24px">
- <NInput v-model:value="model.eqpCode" placeholder="璇疯緭鍏ユ満鍙颁唬鐮�" />
- </NFormItemGi>
- <NFormItemGi span="24 s:12 m:8" label="鐗屽彿" label-width="auto" path="matCode" class="pr-24px">
- <NInput v-model:value="model.matCode" placeholder="璇疯緭鍏ョ墝鍙�" />
- </NFormItemGi>
<NFormItemGi span="24 s:12 m:8" label="鎵规鐢熸垚鏃ユ湡" label-width="auto" path="batchDate" class="pr-24px">
<NDatePicker
- v-model:formatted-value="model.batchDate"
- type="datetime"
- value-format="yyyy-MM-dd HH:mm:ss"
- clearable
- />
- </NFormItemGi>
- <NFormItemGi span="24 s:12 m:8" label="鍙嶉MES" label-width="auto" path="flag" class="pr-24px">
- <NSelect v-model:value="model.flag" :options="flagOptions" placeholder="璇烽�夋嫨鍙嶉MES" clearable />
- </NFormItemGi>
- <NFormItemGi span="24 s:12 m:8" label="涓婁紶MES鏃堕棿" label-width="auto" path="toMesDate" class="pr-24px">
- <NDatePicker
- v-model:formatted-value="dateRangeToMesDate"
+ v-model:formatted-value="dateRangeBatchDate"
type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
+ :default-time="['00:00:00', '23:59:59']"
+ @update:formatted-value="onDateRangeBatchDateUpdate"
/>
</NFormItemGi>
- <NFormItemGi span="24 s:12 m:8" label="浠嶮ES鏃堕棿涓嬭浇" label-width="auto" path="fromMesDate" class="pr-24px">
- <NDatePicker
- v-model:formatted-value="dateRangeFromMesDate"
- type="datetimerange"
- value-format="yyyy-MM-dd HH:mm:ss"
+ <NFormItemGi span="24 s:12 m:8" label="鐗屽彿" label-width="auto" path="matCode" class="pr-24px">
+ <NSelect v-model:value="model.matCode" placeholder="璇烽�夋嫨鐗屽彿" :options="matOptions" clearable />
+ </NFormItemGi>
+ <NFormItemGi span="24 s:12 m:8" label="浣跨敤鏍囧織" label-width="auto" path="isflag" class="pr-24px">
+ <NSelect
+ v-model:value="model.isflag"
+ placeholder="璇烽�夋嫨浣跨敤鏍囧織"
+ :options="[
+ { label: '鏄�', value: '1' },
+ { label: '鍚�', value: '0' }
+ ]"
+ clearable
+ />
+ </NFormItemGi>
+ <NFormItemGi span="24 s:12 m:8" label="鍚敤鏍囧織" label-width="auto" path="enabled" class="pr-24px">
+ <NSelect
+ v-model:value="model.enabled"
+ placeholder="璇烽�夋嫨鍚敤鏍囧織"
+ :options="[
+ { label: '鏄�', value: '1' },
+ { label: '鍚�', value: '0' }
+ ]"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:8" label="鍒犻櫎鏍囧織" label-width="auto" path="deleted" class="pr-24px">
- <NInputNumber v-model:value="model.deleted" placeholder="璇疯緭鍏ュ垹闄ゆ爣蹇�" class="w-full" />
+ <NSelect
+ v-model:value="model.deleted"
+ placeholder="璇烽�夋嫨鍒犻櫎鏍囧織"
+ :options="[
+ { label: '鏄�', value: 1 },
+ { label: '鍚�', value: 0 }
+ ]"
+ clearable
+ />
</NFormItemGi>
- <NFormItemGi span="24 s:12 m:8" label="绫诲埆" label-width="auto" path="category" class="pr-24px">
- <NSelect v-model:value="model.category" :options="categoryOptions" placeholder="璇烽�夋嫨绫诲埆" clearable />
- </NFormItemGi>
- <NFormItemGi span="24 s:12 m:8" label="鎵规鐘舵��" label-width="auto" path="state" class="pr-24px">
- <NInput v-model:value="model.state" placeholder="璇疯緭鍏ユ壒娆$姸鎬�" />
- </NFormItemGi>
- <NFormItemGi :show-feedback="false" span="24" class="pr-24px">
- <NSpace class="w-full" justify="end">
- <NButton @click="reset">
- <template #icon>
- <icon-ic-round-refresh class="text-icon" />
- </template>
- {{ $t('common.reset') }}
- </NButton>
+ <NFormItemGi :show-feedback="false" span="24 s:12 m:8" class="pr-24px">
+ <NSpace class="w-full" justify="start">
<NButton type="primary" ghost @click="search">
<template #icon>
<icon-ic-round-search class="text-icon" />
</template>
{{ $t('common.search') }}
</NButton>
+ <NButton @click="reset">
+ <template #icon>
+ <icon-ic-round-refresh class="text-icon" />
+ </template>
+ {{ $t('common.reset') }}
+ </NButton>
</NSpace>
</NFormItemGi>
</NGrid>
--
Gitblit v1.9.3