Browse Source

加一个公共的搜索

dev
wangmingyong@163.com 2 months ago
parent
commit
e551d60c2e
  1. 31
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementNoticeList.vue
  2. 75
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/message/enforcementReserveList.vue
  3. 2
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/message/enforcementTaskList.vue

31
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementNoticeList.vue

@ -14,12 +14,7 @@
</van-nav-bar> </van-nav-bar>
<!-- 搜索栏 --> <!-- 搜索栏 -->
<van-search v-model="searchText" show-action placeholder="请输入关键字查询" clearable clear-trigger="always" <SearchFilterBar :search-value="searchText" @search="onSearch" @clear="onClear" />
@clear="onClear" @search="onSearch">
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
<!-- 列表区域 --> <!-- 列表区域 -->
<div class="list-container"> <div class="list-container">
@ -66,6 +61,7 @@ import { useRouter } from 'vue-router';
import { showToast } from 'vant'; import { showToast } from 'vant';
import 'vant/es/toast/style'; import 'vant/es/toast/style';
import { getLawNoticeList } from '@/api/enforcement'; import { getLawNoticeList } from '@/api/enforcement';
import SearchFilterBar from '@/components/common/SearchFilterBar.vue';
const router = useRouter(); const router = useRouter();
@ -140,7 +136,10 @@ const onClickLeft = () => {
}; };
// ========== ========== // ========== ==========
const onSearch = () => { const onSearch = ({ searchValue } = {}) => {
if (searchValue !== undefined) {
searchText.value = searchValue;
}
pageNum.value = 1; pageNum.value = 1;
list.value = []; list.value = [];
finished.value = false; finished.value = false;
@ -283,22 +282,4 @@ const onFeedback = (item) => {
} }
} }
} }
/* ===== Vant 搜索框样式覆盖 ===== */
:deep(.van-search__content) {
height: 0.9rem;
border: 1px solid #ececec;
border-radius: 0.15rem 0 0 0.15rem;
}
:deep(.van-search__action) {
margin: 0 3% 0 0;
width: 10%;
height: 0.9rem;
background: #1367fe;
border: 0.01rem solid #1367fe;
border-radius: 0 0.15rem 0.15rem 0;
color: #fff;
text-align: center;
line-height: 0.9rem;
}
</style> </style>

75
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/message/enforcementReserveList.vue

@ -45,7 +45,9 @@
<script setup name="enforcementReserveList"> <script setup name="enforcementReserveList">
import { ref, onMounted } from 'vue'; import { ref, onMounted } from 'vue';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { showToast } from 'vant';
import SearchFilterBar from '@/components/common/SearchFilterBar.vue'; import SearchFilterBar from '@/components/common/SearchFilterBar.vue';
import { getReserveList } from '@/api/enforcement/reserve';
const router = useRouter(); const router = useRouter();
@ -53,47 +55,57 @@ const reserveList = ref([]);
const loading = ref(false); const loading = ref(false);
const finished = ref(false); const finished = ref(false);
const refreshing = ref(false); const refreshing = ref(false);
const pageNum = ref(1);
const pageSize = ref(10);
const searchText = ref(''); const searchText = ref('');
const dateType = ref(null); const dateType = ref(null);
const dateSearch = ref(null); const dateSearch = ref(null);
const fetchReserveList = () => { const fetchReserveList = () => {
loading.value = true; loading.value = true;
setTimeout(() => { const params = {
const mockData = [ pageNum: pageNum.value,
{ pageSize: pageSize.value,
time: '2026-02-19 16:20', };
enterpriseName: '深圳市新粤云有限公司', if (searchText.value) {
reserveUnit: '深圳市生态环境局', params.searchValue = searchText.value;
checkTime: '2026-02-20 上午' }
}, if (dateType.value !== null && dateType.value !== undefined) {
{ params.dateType = dateType.value;
time: '2026-03-20 15:23', }
enterpriseName: '深圳市新粤云有限公司', if (dateSearch.value) {
enforcementUnit: '深圳市生态环境局', params.dateSearch = dateSearch.value;
checkTime: '2026-04-21 上午' }
}, getReserveList(params, (res) => {
{ if (res.code === 200) {
time: '2026-04-18 10:23', const rows = res.rows || res.data?.rows || res.data?.list || res.data || [];
enterpriseName: '深圳市新粤云有限公司', const total = res.total ?? res.data?.total ?? 0;
enforcementUnit: '深圳市生态环境局',
checkTime: '2026-04-20 上午' if (refreshing.value) {
reserveList.value = Array.isArray(rows) ? rows : [];
refreshing.value = false;
} else {
reserveList.value = [...reserveList.value, ...(Array.isArray(rows) ? rows : [])];
} }
];
let filteredData = mockData; if (!Array.isArray(rows) || rows.length === 0 || reserveList.value.length >= total) {
if (searchText.value) { finished.value = true;
const keyword = searchText.value.toLowerCase(); } else {
filteredData = filteredData.filter(item => pageNum.value++;
(item.enterpriseName || '').toLowerCase().includes(keyword) || }
(item.reserveUnit || '').toLowerCase().includes(keyword) || loading.value = false;
(item.enforcementUnit || '').toLowerCase().includes(keyword) } else {
); finished.value = true;
loading.value = false;
refreshing.value = false;
showToast(res.msg || '加载失败');
} }
reserveList.value = filteredData; }, () => {
loading.value = false;
finished.value = true; finished.value = true;
loading.value = false;
refreshing.value = false; refreshing.value = false;
}, 500); showToast('网络请求失败');
});
}; };
const onLoad = () => { const onLoad = () => {
@ -143,6 +155,7 @@ onMounted(() => {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
padding: 12px; padding: 12px;
padding-top: 0px;
} }
.reserve-item { .reserve-item {

2
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/message/enforcementTaskList.vue

@ -72,7 +72,6 @@ const fetchTaskList = () => {
pageNum: pageNum.value, pageNum: pageNum.value,
pageSize: pageSize.value, pageSize: pageSize.value,
}; };
console.log(searchText.value);
if (searchText.value) { if (searchText.value) {
params.searchValue = searchText.value; params.searchValue = searchText.value;
} }
@ -164,6 +163,7 @@ onMounted(() => {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
padding: 12px; padding: 12px;
padding-top: 0px;
} }
.task-item { .task-item {

Loading…
Cancel
Save