diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/app.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/app.js
index e5f1a923..ad3edcf0 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/app.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/app.js
@@ -2,13 +2,16 @@ import html from "html";
import { ElConfigProvider } from "element-plus";
import zh from "./lib/element-plus/locale/zh-cn.min.mjs";
import en from "./lib/element-plus/locale/en.min.mjs";
-import { reactive, onMounted } from "vue";
+import { reactive, onMounted, onUnmounted } from "vue";
+import { ElNotification } from "element-plus";
+import { dayjs } from "element-plus";
export default {
components: { ElConfigProvider },
template: html`
+
`,
setup() {
@@ -18,7 +21,20 @@ export default {
["en", en],
])
);
- onMounted(() => document.querySelector("#loading.loading").classList.remove("loading"));
+ const event = "Refresh";
+ onMounted(() => {
+ document.querySelector("#loading.loading").classList.remove("loading");
+ PubSub.subscribe(event, async () => {
+ await ElNotification.closeAll();
+ ElNotification({
+ type: "warning",
+ title: `${dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss")}`,
+ dangerouslyUseHTMLString: true,
+ message: `站点已更新,点击刷新!`,
+ });
+ });
+ });
+ onUnmounted(() => PubSub.unsubscribe(event));
return {
localeMap,
};
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/form/form-input.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/form/form-input.js
index 31f75c58..a3d0a522 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/form/form-input.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/form/form-input.js
@@ -29,7 +29,6 @@ export default {
-
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
index 364c1572..b6b852fa 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
@@ -60,7 +60,7 @@ export default {
fit
style="width:calc(100% - 26px);"
>
-
+
{{ (pageModel.pageIndex - 1) * pageModel.pageSize + scope.$index + 1 }}
@@ -186,7 +186,7 @@ export default {
-
+
{{editFormTitle}}
@@ -399,6 +399,39 @@ export default {
const defaultImportModel = schemaToModel(config.import.schema);
const importModel = ref(null);
const versions = ref([]);
+ const onClick = async (method, confirMmessage = "确认操作吗?", reload = true) => {
+ try {
+ if (confirMmessage) {
+ await ElMessageBox.confirm(confirMmessage, "提示", {
+ type: "warning",
+ });
+ }
+ tableLoading.value = true;
+ let result = null;
+ if (method.constructor.name == "AsyncFunction") {
+ result = await method();
+ } else {
+ result = method();
+ }
+ if (!result.errors) {
+ if (!result.data?.code || result.data.code === 200) {
+ if (reload) {
+ pageModel.pageIndex = 1;
+ await load();
+ }
+ }
+ }
+ } catch (error) {
+ if (error === "cancel") {
+ ElMessage({
+ type: "info",
+ message: "操作取消",
+ });
+ }
+ } finally {
+ tableLoading.value = false;
+ }
+ };
const getSortModel = (model) => {
(model.sorting ?? "")
.split(",")
@@ -469,11 +502,14 @@ export default {
tableLoading.value = false;
}
};
- const onPageIndexChange = async () => await load();
- const onPageSizeChange = async () => {
+ const reload = async () => {
pageModel.pageIndex = 1;
await load();
};
+ const onPageIndexChange = async () => await load();
+ const onPageSizeChange = async () => {
+ await reload();
+ };
const click = async (item, rows) => {
editFormloading.value = true;
editFormMode.value = item.path ?? item;
@@ -504,11 +540,16 @@ export default {
type: "warning",
});
tableLoading.value = true;
- const response = await request(
+ const result = await request(
url,
rows.map((o) => o.id),
- { method: config.edit.deleteMethod }
+ { method: config.edit.deleteMethod },
+ true
);
+ if (!result.data?.code || result.data.code === 200) {
+ pageModel.pageIndex = 1;
+ await reload();
+ }
} catch (error) {
if (error === "cancel") {
ElMessage({
@@ -525,7 +566,8 @@ export default {
await ElMessageBox.confirm(format("确认删除当前行数据吗?", rows[0]), "提示", {
type: "warning",
});
- await request(url, null, { method: config.edit.deleteMethod });
+ await request(url, null, { method: config.edit.deleteMethod }, true);
+ await reload();
} catch (error) {
if (error === "cancel") {
ElMessage({
@@ -541,10 +583,12 @@ export default {
const url = config.edit.exportUrl;
const method = config.edit.exportMethod;
const postData = buildQuery();
- const response = await request(url, postData, { method });
- if (!response.errors) {
- window.open(getUrl(`settleaccount/getblobfile/download/${response.data}`));
- }
+ await onClick(async () => {
+ const response = await request(url, postData, { method });
+ if (!response.errors) {
+ window.open(getUrl(`settleaccount/getblobfile/download/${response.data}`));
+ }
+ }, "确认导出?");
} else if (item.meta.pattern === "file") {
window.open(getUrl(`settleaccount/getblobfile/download/${rows[0]["downFileName"]}`));
} else if ((item.meta.pattern = "row")) {
@@ -585,21 +629,23 @@ export default {
try {
const valid = await editFormRef.value.validate();
if (valid) {
- editFormloading.value = true;
- let url = (editFormMode.value === "create" ? config.edit.createUrl : config.edit.updateUrl) ?? config.query.url;
- if (editFormMode.value === "update") {
- url = format(url, editFormModel.value.id);
- }
- const method = editFormMode.value === "create" ? config.edit.createMethod : config.edit.updateMethod;
- const response = await request(url, editFormModel.value, { method });
- if (response.errors) {
- ElMessageBox.alert(`错误:${response.errors?.error?.message}`, `代码:${response.errors?.error?.code}`);
- //model.errors = response.errors; //??
- } else {
- await load();
- editFormMode.value = null;
- dialogVisible.value = false;
- }
+ await onClick(
+ async () => {
+ let url = (editFormMode.value === "create" ? config.edit.createUrl : config.edit.updateUrl) ?? config.query.url;
+ if (editFormMode.value === "update") {
+ url = format(url, editFormModel.value.id);
+ }
+ const method = editFormMode.value === "create" ? config.edit.createMethod : config.edit.updateMethod;
+ const result = await request(url, editFormModel.value, { method }, true);
+ if (!result.errors) {
+ dialogVisible.value = false;
+ editFormMode.value = null;
+ await reload();
+ }
+ },
+ null,
+ true
+ );
}
} catch (error) {
console.log(error);
@@ -783,37 +829,6 @@ export default {
}
return postData;
}
- const action = async (method, confirMmessage = "确认操作吗?", successMessage = "操作成功", reload = true) => {
- try {
- await ElMessageBox.confirm(confirMmessage, "提示", {
- type: "warning",
- });
- tableLoading.value = true;
- let result = null;
- if (method.constructor.name == "AsyncFunction") {
- result = await method();
- } else {
- result = method();
- }
- if (!result.errors) {
- if (!result.data?.code || result.data.code === 200) {
- if (reload) {
- pageModel.pageIndex = 1;
- await load();
- }
- }
- }
- } catch (error) {
- if (error === "cancel") {
- ElMessage({
- type: "info",
- message: "操作取消",
- });
- }
- } finally {
- tableLoading.value = false;
- }
- };
onMounted(async () => {
if (route.meta.children?.length) {
for (const item of route.meta.children) {
@@ -836,7 +851,8 @@ export default {
return {
listScrollbarRef,
load,
- action,
+ reload,
+ onClick,
config,
queryModel,
buildQuery,
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html
index 89c3c2b0..39a1096f 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html
@@ -4,6 +4,9 @@
+
+
+