WholeProcessPlatform/frontend-sjgl/src/views/conventionalHydropower/aiBox/AiBoxSearch.vue
2026-07-21 18:38:17 +08:00

83 lines
1.6 KiB
Vue

<template>
<BasicSearch
ref="basicSearchRef"
:searchList="searchList"
:initial-values="initSearchData"
:zhujianfujian="'fu'"
@reset="handleReset"
@finish="onSearchFinish"
>
<template #actions>
<a-button @click="hideBtn">{{ isHide ? '展开' : '隐藏' }}</a-button>
<a-button type="primary" @click="handleAdd">新增</a-button>
</template>
</BasicSearch>
</template>
<script lang="ts" setup>
import { ref, computed, onMounted } from 'vue';
import BasicSearch from '@/components/BasicSearch/index.vue';
const emit = defineEmits<{
(e: 'search-finish', values: any): void;
(e: 'reset', values: any): void;
(e: 'add'): void;
}>();
const basicSearchRef = ref();
const isHide = ref<boolean>(false);
const initSearchData = {
baseId: 'all',
rstcd: null,
stnm: null
};
const searchList: any = computed(() => [
{
type: 'jidiData',
name: 'baseId',
label: '水电基地',
placeholder: '请输入水电基地名称',
fieldProps: {
allowClear: true
},
options: []
},
{
type: 'Input',
name: 'stnm',
label: '站名',
placeholder: '请输入站名',
width: 160,
fieldProps: {
allowClear: true
}
}
]);
const onSearchFinish = (values: any) => {
emit('search-finish', { ...values });
};
const hideBtn = () => {
isHide.value = !isHide.value;
};
const handleReset = () => {
emit('reset', initSearchData);
};
const handleAdd = () => {
emit('add');
};
onMounted(() => {
emit('search-finish', { ...initSearchData });
});
defineExpose({
basicSearchRef
});
</script>