罗湖附近网站建设公司全网搜索引擎

张小明 2026/1/10 16:17:23
罗湖附近网站建设公司,全网搜索引擎,网站成品免费下载,推广普通话作文在现代管理系统中,复杂的数据查询功能是必不可少的。本文将深入探讨Vue 3中如何优雅地处理多种查询条件,包括时间范围选择、多字段筛选等,提升用户体验和代码可维护性。 技术难点分析 在信息公开管理系统中,复杂查询面临以下挑战: 多样化的查询条件:文本输入、下拉选择…在现代管理系统中,复杂的数据查询功能是必不可少的。本文将深入探讨Vue 3中如何优雅地处理多种查询条件,包括时间范围选择、多字段筛选等,提升用户体验和代码可维护性。技术难点分析在信息公开管理系统中,复杂查询面临以下挑战:多样化的查询条件:文本输入、下拉选择、时间范围、树形选择等多种控件组合时间范围处理:需要将时间范围转换为后台可识别的开始和结束时间条件重置功能:需要能够一键清空所有查询条件并重新加载数据查询状态管理:需要维护查询条件状态并在页面刷新后保持性能优化:避免不必要的重复查询请求实现效果通过合理的查询条件处理方案,我们可以实现:灵活多样的查询条件组合便捷的查询条件重置功能高效的时间范围处理机制一致的用户体验易于维护的代码结构示例演示以下是一个完整的示例,展示了如何在Vue 3中处理复杂查询条件:template div h2信息公开查询系统/h2 !-- 复杂查询表单 -- a-card complex-query-form ref="queryFormRef" :model="queryModel" :fields="queryFields" @search="handleSearch" @reset="handleReset" template #extra-buttons a-button @click="handleExport"导出数据/a-button a-button @click="handleAdvancedToggle" { { showAdvanced ? '收起' : '展开' }}高级查询 /a-button /template /complex-query-form /a-card !-- 查询结果 -- a-card a-table :data-source="tableData" :columns="columns" :loading="loading" :pagination="pagination" @change="handleTableChange" / /a-card /div /template script setup import { ref, reactive, onMounted } from 'vue'; import ComplexQueryForm from './ComplexQueryForm.vue'; // 查询表单引用 const queryFormRef = ref(); // 查询模型 const queryModel = reactive({ // 基础查询条件 keyword: '', status: '', type: '', dateRange: [], // 高级查询条件 department: '', priority: '', source: '', handler: '' }); // 查询字段配置 const queryFields = reactive([ // 基础查询字段 { key: 'keyword', label: '关键字', component: 'input', props: { placeholder: '请输入关键字' }, span: 6 }, { key: 'status', label: '状态', component: 'select', props: { placeholder: '请选择状态', options: [ { value: '', label: '全部' }, { value: '0', label: '待处理' }, { value: '1', label: '处理中' }, { value: '2', label: '已完成' } ] }, span: 6 }, { key: 'type', label: '类型', component: 'select', props: { placeholder: '请选择类型', options: [ { value: '', label: '全部' }, { value: 'complaint', label: '投诉' }, { value: 'praise', label: '表扬' }, { value: 'exposure', label: '曝光' } ] }, span: 6 }, { key: 'dateRange', label: '时间范围', component: 'range-picker', props: { placeholder: ['开始时间', '结束时间'] }, span: 6 }, // 高级查询字段 { key: 'department', label: '处理部门', component: 'tree-select', props: { placeholder: '请选择处理部门', treeData: [], showSearch: true }, span: 6, advanced: true }, { key: 'priority', label: '优先级', component: 'radio-group', props: { options: [ { value: '', label: '全部' }, { value: 'low', label: '低' }, { value: 'medium', label: '中' }, { value: 'high', label: '高' } ] }, span: 6, advanced: true }, { key: 'source', label: '来源', component: 'checkbox-group', props: { options: [ { value: 'web', label: '网页' }, { value: 'app', label: 'APP' }, { value: 'wechat', label: '微信' } ] }, span: 6, advanced: true }, { key: 'handler', label: '处理人', component: 'auto-complete', props: { placeholder: '请输入处理人', dataSource: [] }, span: 6, advanced: true } ]); // 表格数据 const tableData = ref([]); const loading = ref(false); // 分页配置 const pagination = reactive({ current: 1, pageSize: 10, total: 0, showSizeChanger: true, showQuickJumper: true, showTotal: (total) = `共 ${total} 条记录` }); // 是否显示高级查询 const showAdvanced = ref(false); // 处理查询 const handleSearch = async (formData) = { loading.value = true; try { // 处理查询参数 const params = { ...formData, pageNum: pagination.current, pageSize: pagination.pageSize }; // 特殊处理时间范围 if (formData.dateRange formData.dateRange.length === 2) { params.startTime = formData.dateRange[0].format('YYYY-MM-DD'); params.endTime = formData.dateRange[1].format('YYYY-MM-DD'); } delete params.dateRange; // 处理多选值 if (Array.isArray(formData.source)) { params.source = formData.source.join(','); } console.log('查询参数:', params); // 模拟API调用 // const response = await api.queryData(params); // tableData.value = response.data.list; // pagination.total = response.data.total; // 模拟数据 tableData.value = Array.from({ length: 5 }, (_, index) = ({ id: (pagination.current - 1) * pagination.pageSize + index + 1, title: `信息标题 ${index + 1}`, type: formData.type || 'complaint', status: formData.status || '0', createTime: '2023-06-01 12:00:00', handler: '张三' })); pagination.total = 45; } catch (error) { console.error('查询失败:', error); } finally { loading.value = false; } }; // 处理重置 const handleReset = () = { pagination.current = 1; handleSearch(queryModel); }; // 处理表格变化 const handleTableChange = (pag) = { pagination.current = pag.current; pagination.pageSize = pag.pageSize; handleSearch(queryFormRef.value?.getFormData() || queryModel); }; // 处理导出 const handleExport = () = { const formData = queryFormRef.value?.getFormData(); console.log('导出数据,查询条件:', formData); // 实际导出逻辑 }; // 处理高级查询切换 const handleAdvancedToggle = () = { showAdvanced.value = !showAdvanced.value; queryFormRef.value?.setAdvancedVisible(showAdvanced.value); }; // 表格列定义 const columns = reactive([ { title: '序号', dataIndex: 'id', key: 'id' }, { title: '标题', dataIndex: 'title', key: 'title' }, { title: '类型', dataIndex: 'type', key: 'type', customRender: ({ text }) = { const typeMap = { complaint: '投诉', praise: '表扬', exposure: '曝光' }; return typeMap[text] || text; } }, { title: '状态', dataIndex: 'status', key: 'status', customRender: ({ text }) = { const statusMap = { '0': '待处理', '1': '处理中', '2': '已完成' }; return statusMap[text] || text; } }, { title: '创建时间', dataIndex: 'createTime', key: 'createTime' }, { title: '处理人', dataIndex: 'handler', key: 'handler' } ]); // 组件挂载 onMounted(() = { handleSearch(queryModel); }); /script!-- ComplexQueryForm.vue -- template div a-form :model="formData" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }" a-row :gutter="24" template v-for="field in visibleFields" :key="field.key" a-col v-bind="getFieldColProps(field)" a-form-item :label="field.label" :name="field.key" component :is="getFieldComponent(field)" v-model:value="formData[field.key]" v-bind="field.props" :placeholder="field.props?.placeholder" style="width: 100%" / /a-form-item /a-col /template /a-row a-row :gutter="24" a-col :span="24"https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/markdown_views-375c595788.css">
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

赣州唯宅汇科技有限公司抖音优化是什么意思

🚀 TestMaster 自动化测试平台 - 完整开源项目╔════════════════════════════════════════════════════════════════════════════╗ ║ DREAMVFIA 开源编程大师 V1.1 -…

张小明 2026/1/8 14:30:17 网站建设

建设网站的 成本如何制作网站app

六音音源修复版终极指南:3步解决洛雪音乐播放问题 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 还在为洛雪音乐升级后无法正常播放音乐而烦恼吗?六音音源修复版为您提供…

张小明 2026/1/2 2:45:26 网站建设

仿京东网站后台做cpa广告网站教程

一直在找能生成自然对话的AI语音工具,试过不少TTS系统,要么只能单人发音,要么音质僵硬不自然,更别说生成播客那种多人对话了。最近微软开源了VibeVoice这个项目,能生成最长90分钟的多人对话音频,支持4个不同…

张小明 2026/1/3 8:41:30 网站建设

做空调管路网站太原阳性确诊

Playground:5分钟掌握浏览器端代码演示神器 【免费下载链接】playground A simple playground for HTML, CSS and JavaScript supporting module imports. 项目地址: https://gitcode.com/gh_mirrors/play/playground 还在为代码演示效果不佳而烦恼吗&#x…

张小明 2026/1/2 2:45:28 网站建设

asp.net做网站有何意义代运营公司收费

量子世界的纠缠与超决定论:从理论到实验的探索 在量子计算领域,耦合图(couplingMap)起着关键作用。它定义了单个量子比特之间的相互作用,同时保持量子相干性。量子比特的耦合对于简化量子电路以及将系统拆分为更小的单元至关重要。 量子纠缠:贝尔态与GHZ态 量子纠缠实…

张小明 2026/1/7 17:49:44 网站建设

太原百度网站排名优化做国外lead应该做什么网站

ARM与x86架构深度解析:从指令集到实战选型的全面指南你有没有遇到过这样的困惑?开发一个嵌入式项目时,团队争论该用ARM Cortex-M还是x86工控板;部署边缘计算节点时,纠结是否该尝试基于ARM的服务器芯片。这些选择背后&a…

张小明 2026/1/10 11:32:52 网站建设