diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/bom.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/bom.js
new file mode 100644
index 00000000..f50f824b
--- /dev/null
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/bom.js
@@ -0,0 +1,114 @@
+const schema = {
+ title: "BOM结构",
+ type: "object",
+ properties: {
+ parentItemCode: {
+ title: "父物料编码",
+ type: "string",
+ },
+ parentItemDesc: {
+ title: "父物料描述",
+ type: "string",
+ },
+ childItemCode: {
+ title: "组件编码",
+ type: "string",
+ },
+ childItemDesc: {
+ title: "组件描述",
+ type: "string",
+ },
+ qty: {
+ title: "用量",
+ type: "number",
+ },
+ bomType: {
+ title: "结构类型",
+ type: "string",
+ },
+ effectiveTime: {
+ title: "生效时间",
+ type: "string",
+ input: "date",
+ },
+ effectiveTime: {
+ title: "失效时间",
+ type: "string",
+ input: "date",
+ },
+ },
+};
+
+const baseUrl = "settleaccount/bom";
+const queryUrl = `${baseUrl}/get-list`;
+const exportUrl = `${baseUrl}/export`;
+const queryMethod = "POST";
+const exportMethod = "POST";
+
+export default function () {
+ return {
+ baseUrl,
+ query: {
+ url: queryUrl,
+ method: queryMethod,
+ hasFilter: true,
+ schema: {
+ title: "BOM结构",
+ type: "object",
+ properties: {
+ filters: {
+ type: "array",
+ hidden: true,
+ items: {
+ type: "object",
+ properties: {
+ logic: {
+ type: "int",
+ },
+ column: {
+ type: "string",
+ },
+ action: {
+ type: "int",
+ },
+ value: {
+ type: "string",
+ },
+ },
+ },
+ default: [
+ {
+ logic: "and",
+ column: "childItemCode",
+ action: "like",
+ value: null,
+ readOnly: true,
+ },
+ ],
+ },
+ skipCount: {
+ hidden: true,
+ default: 0,
+ },
+ maxResultCount: {
+ hidden: true,
+ default: 10,
+ },
+ sorting: {
+ hidden: true,
+ },
+ },
+ },
+ },
+ table: {
+ schema: schema,
+ },
+ edit: {
+ queryUrl,
+ exportUrl,
+ queryMethod,
+ exportMethod,
+ schema: schema,
+ },
+ };
+}
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/material-relationship.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/material-relationship.js
index d79d1bea..80dfc5f2 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/material-relationship.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/material-relationship.js
@@ -58,7 +58,7 @@ export default function () {
default: [
{
logic: "and",
- column: "erpMaterialCode",
+ column: "settleMaterialCode",
action: "like",
value: null,
readOnly: true,
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/tb_re-parts-relationship_service.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/tb_re-parts-relationship_service.js
index e69de29b..d988716a 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/tb_re-parts-relationship_service.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/tb_re-parts-relationship_service.js
@@ -0,0 +1,99 @@
+const schema = {
+ title: "客户替换件关系",
+ type: "object",
+ properties: {
+ lu: {
+ title: "零件号",
+ type: "string",
+ },
+ repLU: {
+ title: "替换零件号",
+ type: "string",
+ },
+ clientCode: {
+ title: "客户编码",
+ type: "string",
+ },
+ businessType: {
+ title: "业务类型",
+ type: "EnumBusinessType",
+ },
+ },
+};
+
+const baseUrl = "settleaccount/tb_re-parts-relationship_service";
+const queryUrl = `${baseUrl}/get-list`;
+const importUrl = `${baseUrl}/import`;
+const exportUrl = `${baseUrl}/export`;
+const queryMethod = "POST";
+const importMethod = "POST";
+const exportMethod = "POST";
+
+export default function () {
+ return {
+ baseUrl,
+ query: {
+ url: queryUrl,
+ method: queryMethod,
+ schema: {
+ title: "客户替换件关系",
+ type: "object",
+ properties: {
+ filters: {
+ type: "array",
+ hidden: true,
+ items: {
+ type: "object",
+ properties: {
+ logic: {
+ type: "int",
+ },
+ column: {
+ type: "string",
+ },
+ action: {
+ type: "int",
+ },
+ value: {
+ type: "string",
+ },
+ },
+ },
+ default: [
+ {
+ logic: "and",
+ column: "lu",
+ action: "like",
+ value: null,
+ readOnly: true,
+ },
+ ],
+ },
+ skipCount: {
+ hidden: true,
+ default: 0,
+ },
+ maxResultCount: {
+ hidden: true,
+ default: 10,
+ },
+ sorting: {
+ hidden: true,
+ },
+ },
+ },
+ },
+ table: {
+ schema: schema,
+ },
+ edit: {
+ queryUrl,
+ importUrl,
+ exportUrl,
+ queryMethod,
+ importMethod,
+ exportMethod,
+ schema: schema,
+ },
+ };
+}
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/bom.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/bom.js
new file mode 100644
index 00000000..ccfef1f9
--- /dev/null
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/bom.js
@@ -0,0 +1,15 @@
+import AppList from "../../components/list/index.js";
+import html from "html";
+import useConfig from "../../models/bom.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/tb_re-parts-relationship.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/tb_re-parts-relationship.js
deleted file mode 100644
index e69de29b..00000000
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/tb_re-parts-relationship_service.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/tb_re-parts-relationship_service.js
new file mode 100644
index 00000000..b677cf27
--- /dev/null
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/tb_re-parts-relationship_service.js
@@ -0,0 +1,15 @@
+import AppList from "../../components/list/index.js";
+import html from "html";
+import useConfig from "../../models/tb_re-parts-relationship_service.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/docs/结算界面查询条件.xlsx b/docs/结算界面查询条件.xlsx
new file mode 100644
index 00000000..cc80bf28
Binary files /dev/null and b/docs/结算界面查询条件.xlsx differ