diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/settle/detail.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/settle/detail.js index 1a69b1ca..5f926fe2 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/settle/detail.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/settle/detail.js @@ -1,6 +1,7 @@ const schema = { title: "通用代码", type: "object", + disableSelection: true, properties: { settleBillNum: { title: "关联结算单号", diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/request/index.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/request/index.js index 5d577589..d9136992 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/request/index.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/request/index.js @@ -54,6 +54,7 @@ async function getResult(response) { try { result.errors = await response.json(); } catch (error) { + result.errors = error; console.log(error); } ElMessageBox.alert(`${result.errors?.error?.message ?? messages.get(response.status) ?? result.status}`, `${result.errors?.error?.code ?? "错误"}`); diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js index 8765e124..65554b69 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js @@ -95,7 +95,7 @@ function createCommerceCheckList(path, business, client, title = "商务审批") function createVmiOutCheckList(path, business, client, title = "寄售库库存扣减审批") { return { ...createPage(path, `title=${title}&businessType=${business}&client=${client}`), - component: "/settle/finance", + component: "/settle/vmi", children: [ createButton("query", "title=查询&isTop=true"), createButton("compare", "title=扣减审核通过&isTop=true"), diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/job-log.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/job-log.js deleted file mode 100644 index daa1ebb4..00000000 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/job-log.js +++ /dev/null @@ -1,15 +0,0 @@ -import AppList from "../../components/list/index.js"; -import html from "html"; -import useConfig from "../../models/base-data/job-log.js"; - -export default { - components: { AppList }, - template: html``, - setup() { - const config = useConfig(); - const onCommand = async (item, rows) => { - console.log(item.path, item, rows); - }; - return { config, onCommand }; - }, -}; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/user.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/user.js index 48b9a3c9..b9e28fa5 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/user.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/user.js @@ -12,8 +12,10 @@ export default { const config = useConfig(); const onCommand = async (item, rows) => { if (item.path === "reset-password") { - const url = `base/user/${rows[0].id}/${item.path}`; - await appListRef.value.onClick(async () => await request(url, null, { method: item.meta.method }, true), `是否重置用户${rows[0].userName}密码?`, false); + if (rows.length) { + const url = `base/user/${rows[0].id}/${item.path}`; + await appListRef.value.onClick(async () => await request(url, null, { method: item.meta.method }, true), `是否重置用户${rows[0].userName}密码?`, false); + } } }; return { appListRef, config, onCommand }; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/version.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/version.js index 01217efd..a9f14ebe 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/version.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/version.js @@ -3,37 +3,29 @@ import { ref } from "vue"; import request from "../../request/index.js"; import AppList from "../../components/list/index.js"; import useConfig from "../../models/base-data/version.js"; -import { ElMessage, ElMessageBox } from "element-plus"; export default { components: { AppList }, - template: html``, - setup(props, context) { - const listRef = ref(null); + template: html``, + setup() { + const appListRef = ref(null); const config = useConfig(); - const onCommand = async (item, rows, load) => { + const onCommand = async (item, rows) => { + const url = `${config.baseUrl}/${item.path}`; if (item.path === "open-version" || item.path === "closed-version") { - try { - await ElMessageBox.confirm(`确认${item.path === "open-version" ? "启用" : "停用"}选中的${rows.length}行数据吗?`, "提示", { - type: "warning", - }); - const url = `${config.baseUrl}/${item.path}`; - await request( - url, - rows.map((o) => o.id), - { method: "POST" } - ); - await load(); - } catch (error) { - if (error === "cancel") { - ElMessage({ - type: "info", - message: "操作取消", - }); - } - } + await appListRef.value.onClick( + async () => + await request( + url, + rows.map((o) => o.id), + { method: "POST" }, + true + ), + `确认${item.path === "open-version" ? "启用" : "停用"}选中的${rows.length}行数据吗?`, + true + ); } }; - return { config, onCommand }; + return { appListRef, config, onCommand }; }, }; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/compare/_compare.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/compare/_compare.js index 05700b1d..d1038544 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/compare/_compare.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/compare/_compare.js @@ -64,7 +64,10 @@ export default function (type) { delete data["downLineDateTime"]; const result = await request(url, data, { method: "POST" }, true); if (!result.errors) { - dialogVisable.value = false; + if (!result.data?.code || result.data.code === 200) { + dialogVisable.value = false; + await load(); + } } } catch (error) { console.log(error); diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/input/fa-yun.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/input/fa-yun.js index 6eb00d2e..215c2b16 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/input/fa-yun.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/input/fa-yun.js @@ -13,8 +13,7 @@ export default { const route = useRoute(); const businessType = route.meta.businessType; const config = useConfig(businessType); - const onCommand = async (item, rows) => { - console.log(item.path, item, rows); + const onCommand = async (item) => { if (item.path === "sync") { const url = config.edit.syncUrl; const method = config.edit.syncMethod; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/commerce.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/commerce.js index 4b2e75bf..554545cd 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/commerce.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/commerce.js @@ -2,8 +2,7 @@ import AppList from "../../components/list/index.js"; import html from "html"; import { useRoute } from "vue-router"; import { ref } from "vue"; -import { ElMessage, ElMessageBox } from "element-plus"; -import request from "../../request/index.js"; +import request, { getUrl } from "../../request/index.js"; import useConfig from "../../models/settle/commerce.js"; import AppCheck from "./_check.js"; @@ -20,12 +19,7 @@ export default { const config = useConfig(businessType, "shang-wu"); const onCommand = async (item, rows) => { if (item.path === "approval" || item.path === "reject" || item.path === "receive") { - if (rows.length === 0) { - ElMessage({ - type: "warning", - message: "没有选中的数据", - }); - } else { + if (rows.length > 0) { const message = item.path === "approval" ? `确认审核通过选中的${rows.length}行数据吗?` @@ -34,18 +28,7 @@ export default { : `确认选中的${rows.length}行数据客户已收票吗?`; const data = item.path === "approval" ? rows.map((o) => o.invbillNum) : item.path === "reject" ? rows[0]["invGroupNum"] : rows.map((o) => o.invbillNum); const url = item.path === "approval" ? config.edit.invoiceUrl : item.path === "reject" ? config.edit.rejectUrl : config.edit.receivedUrl; - try { - await ElMessageBox.confirm(message, "提示", { - type: "warning", - }); - appListRef.value.tableLoading = true; - const result = request(url, data, { method: "POST" }); - console.log(result); - } catch (e) { - console.log(e); - } finally { - appListRef.value.tableLoading = false; - } + await appListRef.value.onClick(async () => await request(url, data, { method: "POST" }), message, true); } } else if (item.path === "export-group") { const url = config.edit.exportUrl; @@ -60,10 +43,12 @@ export default { }, ], }; - const response = await request(url, postData, { method }); - if (!response.errors) { - window.open(getUrl(`settleaccount/getblobfile/download/${response.data}`)); - } + await appListRef.value.onClick(async () => { + const response = await request(url, postData, { method }, true); + if (!response.errors) { + window.open(getUrl(`settleaccount/getblobfile/download/${response.data}`)); + } + }); } else if (item.path === "invbillNum" || item.path === "invGroupNum") { data.value = { [item.path]: rows[0][item.path] }; visable.value = true; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/finance.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/finance.js deleted file mode 100644 index 5a685fc7..00000000 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/finance.js +++ /dev/null @@ -1,44 +0,0 @@ -import AppList from "../../components/list/index.js"; -import html from "html"; -import { useRoute } from "vue-router"; -import { ref } from "vue"; -import useConfig from "../../models/settle/commerce.js"; -import AppCheck from "./_check.js"; -import request, { getUrl } from "../../request/index.js"; - -export default { - components: { AppList, AppCheck }, - template: html` `, - setup() { - const visable = ref(false); - const data = ref(null); - const route = useRoute(); - const businessType = route.meta.businessType; - const config = useConfig(businessType, "cai-wu"); - const onCommand = async (item, rows) => { - if (item.path === "export-group") { - const url = config.edit.exportUrl; - const method = config.edit.exportMethod; - const postData = { - filters: [ - { - logic: "and", - column: "invGroupNum", - action: "equal", - value: rows[0]["invGroupNum"], - }, - ], - }; - const response = await request(url, postData, { method }); - if (!response.errors) { - window.open(getUrl(`settleaccount/getblobfile/download/${response.data}`)); - } - } else if (item.path === "invbillNum" || item.path === "invGroupNum") { - data.value = { [item.path]: rows[0][item.path] }; - visable.value = true; - } - console.log(item.path, item, rows); - }; - return { config, onCommand, visable, data }; - }, -}; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/unable.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/unable.js index ed6df1fc..c7c1464e 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/unable.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/unable.js @@ -14,22 +14,11 @@ export default { const route = useRoute(); const businessType = route.meta.businessType; const config = useConfig(businessType, "unable"); - const onCommand = async (item, rows) => { + const onCommand = async (item) => { const url = config.edit.addUrl; if (item.path === "add") { - try { - await ElMessageBox.confirm(`确认是否对所有符合查询条件的数据生成可结算单?`, "提示", { - type: "warning", - }); - appListRef.value.tableLoading = true; - const data = appListRef.value.buildQuery(); - const result = request(url, data, { method: "POST" }); - console.log(result); - } catch (e) { - console.log(e); - } finally { - appListRef.value.tableLoading = false; - } + const data = appListRef.value.buildQuery(); + await appListRef.value.onClick(() => request(url, data, { method: "POST" }, true), `确认是否对所有符合查询条件的数据生成可结算单?`, true); } }; return { appListRef, config, onCommand }; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/usable.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/usable.js index c0e04733..3898ca17 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/usable.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/usable.js @@ -18,21 +18,7 @@ export default { const url = config.edit.addUrl; if (item.path === "add") { const invbillNum = rows[0].billNum; - try { - await ElMessageBox.confirm(`确认为${invbillNum}创建发票?`, "提示", { - type: "warning", - }); - appListRef.value.tableLoading = true; - const result = request(url, { invbillNum }, { method: "POST" }); - if (!result.errors) { - await appListRef.value.load(); - } - console.log(result); - } catch (e) { - console.log(e); - } finally { - appListRef.value.tableLoading = false; - } + await appListRef.value.onClick(async () => await request(url, { invbillNum }, { method: "POST" }, true), `确认为${invbillNum}创建发票?`, true); } }; return { appListRef, config, onCommand }; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/vmi.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/vmi.js new file mode 100644 index 00000000..e4a3e130 --- /dev/null +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/vmi.js @@ -0,0 +1,48 @@ +import AppList from "../../components/list/index.js"; +import html from "html"; +import { useRoute } from "vue-router"; +import { ref } from "vue"; +import useConfig from "../../models/settle/commerce.js"; +import AppCheck from "./_check.js"; +import request, { getUrl } from "../../request/index.js"; + +export default { + components: { AppList, AppCheck }, + template: html` `, + setup() { + const appListRef = ref(null); + const visable = ref(false); + const data = ref(null); + const route = useRoute(); + const businessType = route.meta.businessType; + const config = useConfig(businessType, "cai-wu"); + const onCommand = async (item, rows) => { + // if (item.path === "export-group") { + // const url = config.edit.exportUrl; + // const method = config.edit.exportMethod; + // const postData = { + // filters: [ + // { + // logic: "and", + // column: "invGroupNum", + // action: "equal", + // value: rows[0]["invGroupNum"], + // }, + // ], + // }; + // const getUrl = getUrl; + // await appListRef.value.onClick(async () => { + // const response = await request(url, postData, { method }); + // if (!response.errors) { + // window.open(getUrl(`settleaccount/getblobfile/download/${response.data}`)); + // } + // }); + // } else if (item.path === "invbillNum" || item.path === "invGroupNum") { + // data.value = { [item.path]: rows[0][item.path] }; + // visable.value = true; + // } + // console.log(item.path, item, rows); + }; + return { appListRef, config, onCommand, visable, data }; + }, +};