Browse Source

分页刷新问题

master
zhanglei 1 day ago
parent
commit
3f0aee87ac
  1. 26
      templates/vue/index.vue.j2
  2. 38
      vue-vben-admin/apps/web-antd/src/views/device/index.vue
  3. 26
      vue-vben-admin/apps/web-antd/src/views/fun/index.vue

26
templates/vue/index.vue.j2

@ -134,7 +134,8 @@ watch(
{immediate: false} {immediate: false}
); );
// ========== 表格配置 ========== // 存储当前页码
const currentPageRef = ref(1);
// ========== 表格配置 ========== // ========== 表格配置 ==========
const gridOptions = { const gridOptions = {
columns: [ columns: [
@ -292,22 +293,21 @@ const gridOptions = {
console.log('=== 查询参数 ===', { console.log('=== 查询参数 ===', {
pageNum: page?.currentPage || 1, pageNum: page?.currentPage || 1,
pageSize: page?.pageSize || 10, pageSize: page?.pageSize || 10,
currentPageRef: currentPageRef.value,
...queryValues, ...queryValues,
}) })
const res = await {{entity}}Api.page({ const res = await {{entity}}Api.page({
pageNum: page?.currentPage || 1, pageNum: page.currentPage || 1,
pageSize: page?.pageSize || 10, pageSize: page?.pageSize || 10,
...queryValues, // 携带查询条件 ...queryValues, // 携带查询条件
}) })
const data = res.error?.result || res.result || res const data = res.error?.result || res.result || res
return { return {
items: data.records || [], items: data.records || [],
total: data.total || 0 total: data.total || 0
} }
} catch (error) { } catch (error) {
console.error('查询列表失败:', error) console.error('查询列表失败:', error)
throw error throw error
@ -360,15 +360,15 @@ const [Modal, modalApi] = useVbenModal({
if (isEdit.value && currentRow.value?.id) { if (isEdit.value && currentRow.value?.id) {
await {{entity}}Api.save({...finalSubmitValues, id: currentRow.value.id}); await {{entity}}Api.save({...finalSubmitValues, id: currentRow.value.id});
Object.assign(currentRow.value, finalSubmitValues);
modalApi.close();
gridApi.reloadRow(currentRow.value);
isEdit.value = false;
} else { } else {
await {{entity}}Api.add(finalSubmitValues); await {{entity}}Api.add(finalSubmitValues);
} // 新增才 reload(必须)
modalApi.close();
modalApi.close(); gridApi.reload();
gridApi.reload();
// 重置上传 URL 记录
if (!isEdit.value) {
formUploadUrls.value = {}; formUploadUrls.value = {};
} }
} catch (error) { } catch (error) {
@ -433,7 +433,7 @@ const [UploadModal, uploadModalApi] = useVbenModal({
// 关闭弹窗并刷新表格 // 关闭弹窗并刷新表格
uploadModalApi.close(); uploadModalApi.close();
gridApi.reload(); // gridApi.reload();
// 重置状态 // 重置状态
uploadFileList.value = []; uploadFileList.value = [];
@ -447,7 +447,7 @@ const [UploadModal, uploadModalApi] = useVbenModal({
// 只更新预览,不保存 // 只更新预览,不保存
uploadModalApi.close(); uploadModalApi.close();
gridApi.reload(); // gridApi.reload();
} }
} catch (error: any) { } catch (error: any) {

38
vue-vben-admin/apps/web-antd/src/views/device/index.vue

@ -134,7 +134,8 @@ watch(
{immediate: false} {immediate: false}
); );
// ========== ========== //
const currentPageRef = ref(1);
// ========== ========== // ========== ==========
const gridOptions = { const gridOptions = {
columns: [ columns: [
@ -292,22 +293,21 @@ const gridOptions = {
console.log('=== 查询参数 ===', { console.log('=== 查询参数 ===', {
pageNum: page?.currentPage || 1, pageNum: page?.currentPage || 1,
pageSize: page?.pageSize || 10, pageSize: page?.pageSize || 10,
currentPageRef: currentPageRef.value,
...queryValues, ...queryValues,
}) })
const res = await deviceApi.page({ const res = await deviceApi.page({
pageNum: page?.currentPage || 1, pageNum: page.currentPage || 1,
pageSize: page?.pageSize || 10, pageSize: page?.pageSize || 10,
...queryValues, // ...queryValues, //
}) })
const data = res.error?.result || res.result || res const data = res.error?.result || res.result || res
return { return {
items: data.records || [], items: data.records || [],
total: data.total || 0 total: data.total || 0
} }
} catch (error) { } catch (error) {
console.error('查询列表失败:', error) console.error('查询列表失败:', error)
throw error throw error
@ -360,15 +360,15 @@ const [Modal, modalApi] = useVbenModal({
if (isEdit.value && currentRow.value?.id) { if (isEdit.value && currentRow.value?.id) {
await deviceApi.save({...finalSubmitValues, id: currentRow.value.id}); await deviceApi.save({...finalSubmitValues, id: currentRow.value.id});
Object.assign(currentRow.value, finalSubmitValues);
modalApi.close();
gridApi.reloadRow(currentRow.value);
isEdit.value = false;
} else { } else {
await deviceApi.add(finalSubmitValues); await deviceApi.add(finalSubmitValues);
} // reload
modalApi.close();
modalApi.close(); gridApi.reload();
gridApi.reload();
// URL
if (!isEdit.value) {
formUploadUrls.value = {}; formUploadUrls.value = {};
} }
} catch (error) { } catch (error) {
@ -433,7 +433,7 @@ const [UploadModal, uploadModalApi] = useVbenModal({
// //
uploadModalApi.close(); uploadModalApi.close();
gridApi.reload(); // gridApi.reload();
// //
uploadFileList.value = []; uploadFileList.value = [];
@ -447,7 +447,7 @@ const [UploadModal, uploadModalApi] = useVbenModal({
// //
uploadModalApi.close(); uploadModalApi.close();
gridApi.reload(); // gridApi.reload();
} }
} catch (error: any) { } catch (error: any) {
@ -478,7 +478,7 @@ const getEditFormSchema = () => {
// //
if (!isEdit.value && isImageField(item.fieldName)) { if (!isEdit.value && isImageField(item.fieldName)) {
// 使 formUploadUrls URL使 // 使 formUploadUrls URL使
const currentImageUrl = formUploadUrls.value[item.fieldName] || formApi.getValues()?.[item.fieldName] || ''; const currentImageUrl = formUploadUrls.value[item.fieldName] || '';
return { return {
...item, ...item,
component: 'Upload', component: 'Upload',
@ -510,20 +510,14 @@ const getEditFormSchema = () => {
// URL // URL
formUploadUrls.value[item.fieldName] = resultUrl; formUploadUrls.value[item.fieldName] = resultUrl;
//
const currentValues = formApi.getValues();
formApi.setValues({
...currentValues,
[item.fieldName]: resultUrl
});
// schema fileList // schema fileList
setTimeout(() => { setTimeout(() => {
formApi.setState({ formApi.setState({
schema: getEditFormSchema(), schema: getEditFormSchema(),
}); });
}, 0); }, 0);
formApi.resetForm();
// Deleted:formApi.resetForm();
// false // false
return false; return false;
} catch (error: any) { } catch (error: any) {

26
vue-vben-admin/apps/web-antd/src/views/fun/index.vue

@ -134,7 +134,8 @@ watch(
{immediate: false} {immediate: false}
); );
// ========== ========== //
const currentPageRef = ref(1);
// ========== ========== // ========== ==========
const gridOptions = { const gridOptions = {
columns: [ columns: [
@ -292,22 +293,21 @@ const gridOptions = {
console.log('=== 查询参数 ===', { console.log('=== 查询参数 ===', {
pageNum: page?.currentPage || 1, pageNum: page?.currentPage || 1,
pageSize: page?.pageSize || 10, pageSize: page?.pageSize || 10,
currentPageRef: currentPageRef.value,
...queryValues, ...queryValues,
}) })
const res = await funApi.page({ const res = await funApi.page({
pageNum: page?.currentPage || 1, pageNum: page.currentPage || 1,
pageSize: page?.pageSize || 10, pageSize: page?.pageSize || 10,
...queryValues, // ...queryValues, //
}) })
const data = res.error?.result || res.result || res const data = res.error?.result || res.result || res
return { return {
items: data.records || [], items: data.records || [],
total: data.total || 0 total: data.total || 0
} }
} catch (error) { } catch (error) {
console.error('查询列表失败:', error) console.error('查询列表失败:', error)
throw error throw error
@ -360,15 +360,15 @@ const [Modal, modalApi] = useVbenModal({
if (isEdit.value && currentRow.value?.id) { if (isEdit.value && currentRow.value?.id) {
await funApi.save({...finalSubmitValues, id: currentRow.value.id}); await funApi.save({...finalSubmitValues, id: currentRow.value.id});
Object.assign(currentRow.value, finalSubmitValues);
modalApi.close();
gridApi.reloadRow(currentRow.value);
isEdit.value = false;
} else { } else {
await funApi.add(finalSubmitValues); await funApi.add(finalSubmitValues);
} // reload
modalApi.close();
modalApi.close(); gridApi.reload();
gridApi.reload();
// URL
if (!isEdit.value) {
formUploadUrls.value = {}; formUploadUrls.value = {};
} }
} catch (error) { } catch (error) {
@ -433,7 +433,7 @@ const [UploadModal, uploadModalApi] = useVbenModal({
// //
uploadModalApi.close(); uploadModalApi.close();
gridApi.reload(); // gridApi.reload();
// //
uploadFileList.value = []; uploadFileList.value = [];
@ -447,7 +447,7 @@ const [UploadModal, uploadModalApi] = useVbenModal({
// //
uploadModalApi.close(); uploadModalApi.close();
gridApi.reload(); // gridApi.reload();
} }
} catch (error: any) { } catch (error: any) {

Loading…
Cancel
Save