From 0a5f7683eaddb4aa5c4b3b36f0bc90b8bc96a042 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Wed, 27 Dec 2023 17:04:19 +0800 Subject: [PATCH] =?UTF-8?q?12=E4=B8=AA=E6=9C=88=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wwwroot/models/vmi/balance-month.js | 452 ++++++++++++++++++ .../wwwroot/router/business.js | 4 + .../wwwroot/views/vmi/balance-month.js | 44 ++ 3 files changed, 500 insertions(+) create mode 100644 code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance-month.js create mode 100644 code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/vmi/balance-month.js diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance-month.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance-month.js new file mode 100644 index 00000000..29c93fcc --- /dev/null +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance-month.js @@ -0,0 +1,452 @@ +import balanSchema from "./vmi.js"; + +function balanceSchema() { + return { + title: "寄售库存", + type: "object", + properties: { + year: { + title: "年", + type: "string", + rules: [ + { + required: true, + }, + ], + }, + realPartCode: { + title: "厂内零件号", + type: "string", + rules: [ + { + required: true, + }, + ], + }, + erpToLoc: { + title: "ERP库位", + type: "string", + rules: [ + { + required: true, + }, + ], + }, + + historyQty: { + title: "历史库存数量", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + balanceQty: { + title: "当年库存数量", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + inventQty: { + title: "库存余额数量", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + settleQty: { + title: "有结无发合计", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + january: { + title: "1月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleJanuary: { + title: "1月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + february: { + title: "2月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleFebruary: { + title: "2月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + march: { + title: "3月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleMarch: { + title: "3月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + april: { + title: "4月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleApril: { + title: "4月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + may: { + title: "5月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleMay: { + title: "5月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + june: { + title: "6月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleJune: { + title: "6月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + july: { + title: "7月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleJuly: { + title: "7月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + august: { + title: "8月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleAugust: { + title: "8月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + september: { + title: "9月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleSeptember: { + title: "9月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + october: { + title: "10月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleOctober: { + title: "10月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + november: { + title: "11月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleNovember: { + title: "11月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + december: { + title: "12月", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + settleDecember: { + title: "12月有结无发", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + + + + + // reMark: { + // title: "备注", + // type: "string", + // input: "textarea", + // }, + }, + }; +} + + +const schema = balanceSchema(); + +const baseUrl = "settleaccount/vmi"; +const queryUrl = `${baseUrl}/balance-sum-by-version`; +const detailsUrl = `${baseUrl}/get/%s`; +const createUrl = `${baseUrl}/create`; +const updateUrl = `${baseUrl}/update/%s`; +const deleteUrl = `${baseUrl}/delete-list`; +const importUrl = `${baseUrl}/code-setting-upload-excel-import`; +const exportUrl = `${baseUrl}/balance-sum-by-version-export`; +const queryMethod = "POST"; +const detailsMethod = "POST"; +const createMethod = "POST"; +const updateMethod = "POST"; +const deleteMethod = "POST"; +const importMethod = "POST"; +const exportMethod = "POST"; + +export default function () { + return { + query: { + url: queryUrl, + method: queryMethod, + hasFilter: true, + schema: { + title: "寄售库存", + type: "object", + properties: { + filters: { + title: "项目", + type: "array", + hidden: true, + items: { + type: "object", + properties: { + logic: { + type: "int", + }, + column: { + type: "string", + }, + action: { + type: "int", + }, + value: { + type: "string", + }, + }, + }, + default: [ + { + logic: "and", + column: "erpToLoc", + action: "like", + value: null, + readOnly: true, + }, + { + logic: "and", + column: "realPartCode", + action: "like", + value: null, + readOnly: true, + }, + + ], + }, + skipCount: { + hidden: true, + default: 0, + }, + maxResultCount: { + hidden: true, + default: 10, + }, + sorting: { + hidden: true, + }, + }, + }, + }, + table: { + schema: schema, + }, + edit: { + detailsUrl, + createUrl, + updateUrl, + deleteUrl, + importUrl, + exportUrl, + detailsMethod, + createMethod, + updateMethod, + deleteMethod, + importMethod, + exportMethod, + schema: schema, + }, + }; +} 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 f70bb647..a7b95091 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 @@ -446,6 +446,10 @@ export default [ ...createPage("balance", "title=库存余额查询"), children: [createButton("query", "title=查询&isTop=true"), createButton("export", "title=导出&isTop=true&pattern=paged")], }, + { + ...createPage("balance-month", "title=库存按月汇总查询"), + children: [createButton("query", "title=查询&isTop=true"), createButton("export", "title=导出&isTop=true&pattern=paged")], + }, // { // ...createPage("balance-sum", "title=库存余额报表查询"), // children: diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/vmi/balance-month.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/vmi/balance-month.js new file mode 100644 index 00000000..6f91cc35 --- /dev/null +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/vmi/balance-month.js @@ -0,0 +1,44 @@ +import AppList from "../../components/list/index.js"; +import html from "html"; +import { ref, onMounted, onUnmounted } from "vue"; +import { useRoute } from "vue-router"; +import { ElNotification } from "element-plus"; +import request from "../../request/index.js"; + +export default { + components: { AppList }, + template: html``, + setup() { + const config = ref(null); + const route = useRoute(); + const onCommand = async (item, rows) => { + console.log(item.path, item, rows); + }; + const showMessage = async (data) => { + await ElNotification.closeAll(); + ElNotification({ + position: "bottom-right", + title: "提示", + message: `待同步库存数量: ${data}`, + duration: 0, + }); + }; + const event = "VmiBalance"; + onMounted(async () => { + const model = "vmi/balance-month"; + const useConfig = (await import(`../../models/${model}.js`)).default; + config.value = useConfig(route.meta?.businessType, route.meta); + const result = await request("settleaccount/vmi-async-message/get-message-count", null, { method: "POST" }); + if (!result.errors) { + //showMessage(result.data); + } + PubSub.subscribe(event, async (_, data) => { + if (route.path === "/vmi/balance") { + //showMessage(data); + } + }); + }); + onUnmounted(() => PubSub.unsubscribe(event)); + return { config, onCommand }; + }, +};