From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 二月 2025 10:08:32 +0800
Subject: [PATCH] #
---
zy-asrs-framework/src/main/resources/templates/vue/Index.txt | 68 ++++++++++++++++++++++------------
1 files changed, 44 insertions(+), 24 deletions(-)
diff --git a/zy-asrs-framework/src/main/resources/templates/vue/Index.txt b/zy-asrs-framework/src/main/resources/templates/vue/Index.txt
index 2a376f4..1bd5260 100644
--- a/zy-asrs-framework/src/main/resources/templates/vue/Index.txt
+++ b/zy-asrs-framework/src/main/resources/templates/vue/Index.txt
@@ -6,6 +6,7 @@
import { logout } from '@/config.js';
import EditView from './edit.vue'
import { formatMessage } from '@/utils/localeUtils.js';
+import useTableSearch from '@/utils/tableUtils.jsx';
const context = getCurrentInstance()?.appContext.config.globalProperties;
const router = useRouter();
@@ -16,23 +17,31 @@
const searchInput = ref("")
const editChild = ref(null)
-let tableData = ref([]);
-getPage();
-
-const columns = [
-@{TABLECOLUMNS}
- {
- title: '鎿嶄綔',
- name: 'oper',
- dataIndex: 'oper',
- key: 'oper',
- },
-];
-
const state = reactive({
selectedRowKeys: [],
loading: false,
});
+
+let tableData = ref([]);
+getPage();
+
+const {
+ getColumnSearchProps,
+ handleResizeColumn,
+} = useTableSearch();
+
+const columns = [
+@{TABLECOLUMNS}
+ {
+ title: formatMessage('common.operation', '鎿嶄綔'),
+ name: 'oper',
+ dataIndex: 'oper',
+ key: 'oper',
+ width: 140,
+ fixed: 'right',
+ },
+];
+
const hasSelected = computed(() => state.selectedRowKeys.length > 0);
const start = () => {
state.loading = true;
@@ -48,6 +57,7 @@
};
function getPage() {
+ state.loading = true;
post('/api/@{SIMPLEENTITYNAME}/page', {
current: currentPage,
pageSize: pageSize,
@@ -57,6 +67,8 @@
if (result.code == 200) {
let data = result.data;
tableData.value = data;
+
+ state.loading = false;
} else if (result.code === 401) {
message.error(result.msg);
logout()
@@ -78,21 +90,29 @@
content: formatMessage('page.delete.confirm', '纭畾鍒犻櫎璇ラ」鍚楋紵'),
maskClosable: true,
onOk: async () => {
- post('/api/@{SIMPLEENTITYNAME}/remove/' + rows.map((row) => row.id).join(','), {}).then(resp => {
- let result = resp.data;
- if (result.code === 200) {
- message.success(result.msg);
- } else {
- message.error(result.msg);
- }
- getPage()
- })
+ const hide = message.loading(formatMessage('common.loading', '璇锋眰涓�'));
+ try {
+ post('/api/@{SIMPLEENTITYNAME}/remove/' + rows.map((row) => row.id).join(','), {}).then(resp => {
+ let result = resp.data;
+ if (result.code === 200) {
+ message.success(result.msg);
+ } else {
+ message.error(result.msg);
+ }
+ getPage()
+ hide()
+ })
+ } catch (error) {
+ message.error(formatMessage('common.fail', '璇锋眰澶辫触'));
+ }
},
});
}
const handleExport = async (intl) => {
- postBlob('/api/@{SIMPLEENTITYNAME}/export', {}).then(result => {
+ postBlob('/api/@{SIMPLEENTITYNAME}/export', {
+ condition: searchInput.value
+ }).then(result => {
const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' });
window.location.href = window.URL.createObjectURL(blob);
return true;
@@ -136,7 +156,7 @@
<a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
:data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
:pagination="{ total: tableData.total, onChange: onPageChange }"
- :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+ :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
<template #bodyCell="{ column, text, record }">
<template v-if="column.dataIndex === 'oper'">
<div style="display: flex;justify-content: space-evenly;">
--
Gitblit v1.9.1