Files
guoxue-admin/src/views/tower/machine/components/search.vue
T
南宁网宿科技 13bed2bafb Initial commit
2023-06-03 23:57:39 +08:00

96 lines
2.2 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- 搜索表单 -->
<template>
<a-space :size="10" style="flex-wrap: wrap">
<a-button type="primary" class="ele-btn-icon">
<template #icon>
<QrcodeOutlined />
</template>
<span>批量生产二维码</span>
</a-button>
<a-alert type="success" style="margin-left: 105px">
<template #icon><smile-outlined /></template>
<template #message>
<a-space>
<span>设备总数:4</span>
<span>在用数:1</span>
<span>闲置数:1</span>
<span>报废数:1</span>
<span>转卖数:1</span>
<span>注销数:0</span>
<span>自有设备:3</span>
<span>租赁设备:1</span>
</a-space>
</template>
</a-alert>
</a-space>
</template>
<script lang="ts" setup>
import { QrcodeOutlined } from '@ant-design/icons-vue';
import useSearch from '@/utils/use-search';
import { ref, watch } from 'vue';
import { TowerEquipmentParam } from '@/api/tower/equipment/model';
const props = withDefaults(
defineProps<{
// 选中的角色
selection?: [];
}>(),
{}
);
const emit = defineEmits<{
(e: 'search', where?: TowerEquipmentParam): void;
(e: 'add'): void;
(e: 'remove'): void;
(e: 'update', status?: number): void;
(e: 'advanced'): void;
}>();
// 表单数据
const { where, resetFields } = useSearch<TowerEquipmentParam>({
equipmentId: undefined,
name: undefined,
keywords: ''
});
// 下来选项
const type = ref('keywords');
// 搜索内容
const searchText = ref('');
// 日期范围选择
// const dateRange = ref<[string, string]>(['', '']);
// 状态
const status = ref<number>();
/* 搜索 */
const search = () => {
resetFields();
// const [d1, d2] = dateRange.value ?? [];
if (type.value == 'keywords') {
where.keywords = searchText.value;
}
emit('search', {
...where
});
};
// 发布设备
const add = () => {
emit('add');
};
const handleStatus = () => {
emit('update', status.value);
};
// 批量删除
const removeBatch = () => {
emit('remove');
};
watch(
() => props.selection,
() => {}
);
</script>