diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/plan.js b/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/plan.js
index 5ce724e0..c5db42f1 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/plan.js
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/plan.js
@@ -69,6 +69,6 @@ const bureauUnitBaseUrl = "/enforcementcode/bureauUnit";
// 按关键字查询执法单位内人员(分页)
// params: { sysDeptId, keyword, globalSearch, pageNum, pageSize }
export const searchBureauUnitUsers = (params, success, error) =>
- _get(bureauUnitBaseUrl + "/users", params, success, error);
+ _get(bureauUnitBaseUrl + "/queryUsersByPage", params, success, error);
// endregion
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/nos/RegisterPopups.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/nos/RegisterPopups.vue
index 63185a46..6a6f3073 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/nos/RegisterPopups.vue
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/nos/RegisterPopups.vue
@@ -291,6 +291,7 @@ const loadPersonList = () => {
pageNum: personPageNum.value,
pageSize: personPageSize.value,
dataScopeId: useCommon.userId || "",
+ isShowCardId: useCommon.hasLaw ? '0' : '1',
},
(res) => {
console.log(res)
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/notice/cp_notice_edit.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/notice/cp_notice_edit.vue
index 381e4c72..1110e90a 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/notice/cp_notice_edit.vue
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/notice/cp_notice_edit.vue
@@ -224,10 +224,13 @@
@update:model-value="onPersonSearchInput"
/>
-
- 加载中...
-
-
+
{{ user.fullname || user.userName }}
- {{ user.lawCertificateNum || user.phonenumber || user.mobileNumber }}
- @{{ user.loginName }}
+ {{user.lawCertificateNum?'执法证件号:':'联系电话:'}} {{ user.lawCertificateNum || user.phonenumber || user.mobileNumber }}
+
-
-
+
+
@@ -378,7 +381,10 @@ let enterpriseSearchSeq = 0;
const showPersonPicker = ref(false);
const personSearchKeyword = ref('');
const personSearchResult = ref([]);
-const personSearching = ref(false);
+const personLoading = ref(false);
+const personFinished = ref(false);
+const personPageNum = ref(1);
+const personPageSize = 10;
let personSearchTimer = null;
let personSearchSeq = 0;
@@ -519,24 +525,39 @@ const onAddPerson = () => {
}
personSearchKeyword.value = '';
personSearchResult.value = [];
+ personPageNum.value = 1;
+ personFinished.value = false;
+ personLoading.value = false;
showPersonPicker.value = true;
- triggerPersonSearch('');
+ // van-list 挂载后自动触发 @load 加载第一页
};
const onPersonSearchInput = (val) => {
if (personSearchTimer) clearTimeout(personSearchTimer);
const keyword = (val || '').trim();
- personSearchTimer = setTimeout(() => triggerPersonSearch(keyword), 300);
+ personSearchTimer = setTimeout(() => {
+ personPageNum.value = 1;
+ personFinished.value = false;
+ personSearchResult.value = [];
+ personLoading.value = true;
+ fetchPersonList(keyword);
+ }, 300);
};
-const triggerPersonSearch = (keyword) => {
+// van-list 触底加载
+const onPersonLoad = () => {
+ fetchPersonList(personSearchKeyword.value.trim());
+};
+
+// 实际发起人员检索(分页追加)
+const fetchPersonList = (keyword) => {
const seq = ++personSearchSeq;
- personSearching.value = true;
+ personLoading.value = true;
searchBureauUnitUsers(
- { sysDeptId: useCommon.bureauUnitId || '', keyword, globalSearch: false, pageNum: 1, pageSize: 30 },
+ { sysDeptId: useCommon.bureauUnitId || '', userName: keyword, globalSearch: false, pageNum: personPageNum.value, pageSize: personPageSize, isShowCardId: '0' },
(res) => {
if (seq !== personSearchSeq) return;
- personSearching.value = false;
+ personLoading.value = false;
if (res && res.code === 200 && Array.isArray(res.rows)) {
let rows = res.rows;
// 过滤掉已选择的执法人员
@@ -544,15 +565,26 @@ const triggerPersonSearch = (keyword) => {
const selectedIds = personList.value.map(p => String(p.id || '')).filter(Boolean);
rows = rows.filter(item => !selectedIds.includes(String(item.userId || '')));
}
- personSearchResult.value = rows;
+ if (personPageNum.value === 1) {
+ personSearchResult.value = rows;
+ } else {
+ personSearchResult.value = [...personSearchResult.value, ...rows];
+ }
+ const total = res.total || 0;
+ if (total <= personPageSize * personPageNum.value) {
+ personFinished.value = true;
+ } else {
+ personPageNum.value++;
+ }
} else {
- personSearchResult.value = [];
+ if (personPageNum.value === 1) personSearchResult.value = [];
+ personFinished.value = true;
}
},
() => {
if (seq !== personSearchSeq) return;
- personSearching.value = false;
- personSearchResult.value = [];
+ personLoading.value = false;
+ personFinished.value = true;
}
);
};
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/plan/cp_plan_edit.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/plan/cp_plan_edit.vue
index 494b3051..3cd91b1e 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/plan/cp_plan_edit.vue
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/plan/cp_plan_edit.vue
@@ -182,10 +182,13 @@
@update:model-value="onPersonSearchInput"
/>
-
- 加载中...
-
-
+
{{ user.fullname || user.userName }}
- {{ user.lawCertificateNum || user.phonenumber || user.mobileNumber }}
- @{{ user.loginName }}
+ {{user.lawCertificateNum?'执法证件号:':'联系电话:'}} {{ user.lawCertificateNum || user.phonenumber || user.mobileNumber }}
+
-
+
@@ -351,7 +354,10 @@ let enterpriseSearchSeq = 0;
const showPersonPicker = ref(false);
const personSearchKeyword = ref('');
const personSearchResult = ref([]);
-const personSearching = ref(false);
+const personLoading = ref(false);
+const personFinished = ref(false);
+const personPageNum = ref(1);
+const personPageSize = 10;
let personSearchTimer = null;
let personSearchSeq = 0;
@@ -594,43 +600,69 @@ const onAddPerson = () => {
}
personSearchKeyword.value = '';
personSearchResult.value = [];
+ personPageNum.value = 1;
+ personFinished.value = false;
+ personLoading.value = false;
showPersonPicker.value = true;
- // 默认先加载单位内人员列表(空关键字)
- triggerPersonSearch('');
+ // van-list 挂载后自动触发 @load 加载第一页
};
// 人员检索输入(防抖)
const onPersonSearchInput = (val) => {
if (personSearchTimer) clearTimeout(personSearchTimer);
const keyword = (val || '').trim();
- personSearchTimer = setTimeout(() => triggerPersonSearch(keyword), 300);
+ personSearchTimer = setTimeout(() => {
+ personPageNum.value = 1;
+ personFinished.value = false;
+ personSearchResult.value = [];
+ personLoading.value = true;
+ fetchPersonList(keyword);
+ }, 300);
+};
+
+// van-list 触底加载
+const onPersonLoad = () => {
+ fetchPersonList(personSearchKeyword.value.trim());
};
-// 实际发起人员检索
-const triggerPersonSearch = (keyword) => {
+// 实际发起人员检索(分页追加)
+const fetchPersonList = (keyword) => {
const seq = ++personSearchSeq;
- personSearching.value = true;
+ personLoading.value = true;
searchBureauUnitUsers(
{
sysDeptId: useCommon.bureauUnitId || '',
- keyword,
+ userName: keyword,
globalSearch: false,
- pageNum: 1,
- pageSize: 30,
+ pageNum: personPageNum.value,
+ pageSize: personPageSize,
+ isShowCardId: '0',
},
(res) => {
if (seq !== personSearchSeq) return;
- personSearching.value = false;
+ personLoading.value = false;
if (res && res.code === 200 && Array.isArray(res.rows)) {
- personSearchResult.value = res.rows;
+ const data = res.rows;
+ if (personPageNum.value === 1) {
+ personSearchResult.value = data;
+ } else {
+ personSearchResult.value = [...personSearchResult.value, ...data];
+ }
+ const total = res.total || 0;
+ if (total <= personPageSize * personPageNum.value) {
+ personFinished.value = true;
+ } else {
+ personPageNum.value++;
+ }
} else {
- personSearchResult.value = [];
+ if (personPageNum.value === 1) personSearchResult.value = [];
+ personFinished.value = true;
}
},
() => {
if (seq !== personSearchSeq) return;
- personSearching.value = false;
- personSearchResult.value = [];
+ personLoading.value = false;
+ personFinished.value = true;
}
);
};