Ver Fonte

fix: S0货源清单/标准BOM 物料·供应商远程搜索解除公司+工厂硬过滤

货源清单与标准BOM新增时,物料/供应商远程搜索原按 companyRefId/factoryRefId
硬过滤,而大量历史主数据未 scope 化(CompanyRefId/FactoryRefId=0),导致下拉恒空、
无法为历史物料手工建货源清单/BOM行。改为按关键字全局搜索已有真实主数据。

- 公司/工厂字段仍保留为单据归属字段(必填与保存逻辑不变),仅解除物料/供应商检索侧的 org 过滤。
- 标准BOM 保存 0/0 历史物料仍受后端 ValidateMaterialRefsAsync scope 校验限制,属后续独立批次。

chore: bump version Web 2.4.226
YY968XX há 17 horas atrás
pai
commit
b4d1626cd8

+ 1 - 1
Web/package.json

@@ -1,7 +1,7 @@
 {
   "name": "admin.net",
   "type": "module",
-  "version": "2.4.225",
+  "version": "2.4.226",
   "packageManager": "pnpm@10.32.1",
   "lastBuildTime": "2026.03.15",
   "description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",

+ 2 - 2
Web/src/views/aidop/s0/manufacturing/StandardBomManagement.vue

@@ -229,10 +229,10 @@ async function remoteSearchMaterials(keyword: string) {
 	if (!form.companyRefId || !form.factoryRefId) return;
 	materialLoading.value = true;
 	try {
+		// 物料主数据存在未 scope 化(CompanyRefId/FactoryRefId=0)的历史数据,按公司+工厂硬过滤会搜不到;
+		// 改为按关键字全局搜索。BOM 表单本身的公司/工厂仍为必填(见 rules),此处仅解除物料检索侧的 org 过滤。
 		const data = await searchMaterialsForMfg({
 			keyword: kw,
-			companyRefId: form.companyRefId,
-			factoryRefId: form.factoryRefId,
 			page: 1,
 			pageSize: 50,
 		});

+ 5 - 4
Web/src/views/aidop/s0/supply/SourcingList.vue

@@ -378,11 +378,12 @@ async function remoteMaterials(keyword: string) {
 	}
 	materialLoading.value = true;
 	try {
+		// 物料主数据存在大量未 scope 化(CompanyRefId/FactoryRefId=0)的历史数据,
+		// 按公司+工厂硬过滤会使其搜不到 → 无法为历史物料新增货源;改为按关键字全局搜索。
+		// 货源记录本身的公司/工厂仍为必填(见 rules),此处仅解除物料检索侧的 org 过滤。
 		const data = await s0MaterialsApi.list({
 			page: 1,
 			pageSize: 50,
-			companyRefId: form.companyRefId,
-			factoryRefId: form.factoryRefId,
 			keyword: keyword || undefined,
 		});
 		materialOptions.value = data.list;
@@ -407,11 +408,11 @@ async function remoteSuppliers(keyword: string) {
 	}
 	supplierLoading.value = true;
 	try {
+		// 与物料同理:供应商主数据同样存在未 scope 化历史数据,按公司+工厂硬过滤会搜不到;
+		// 改为按关键字全局搜索。货源记录本身的公司/工厂仍为必填。
 		const data = await s0SuppliersApi.list({
 			page: 1,
 			pageSize: 100,
-			companyRefId: form.companyRefId,
-			factoryRefId: form.factoryRefId,
 			keyword: keyword || undefined,
 		});
 		supplierOptions.value = data.list;