From 2e7a50bf6407eecb57058516624a09524d967311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=98=8A=E5=A4=A9?= <15984976+n2319_0@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 18:47:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=88=E5=B7=A5=E8=B5=84=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=EF=BC=8C=E4=BA=A7=E5=93=81=E8=AF=A6=E6=83=85=E9=A1=B5=E8=A1=A5?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gear/mat/domain/MatProduct.java | 5 + .../com/gear/mat/domain/bo/MatProductBo.java | 5 + .../com/gear/mat/domain/vo/MatProductVo.java | 6 + .../domain/vo/MatProductWithMaterialsVo.java | 8 +- .../oa/domain/bo/GearWageEntryDetailBo.java | 3 + .../oa/domain/vo/GearWageEntryDetailVo.java | 2 + .../impl/GearWageEntryDetailServiceImpl.java | 23 +- gear-ui3/package.json | 3 +- gear-ui3/src/components/RawSelector/index.vue | 50 ++- gear-ui3/src/utils/request.js | 2 +- gear-ui3/src/views/mat/components/bom.vue | 23 +- gear-ui3/src/views/mat/product/index.vue | 416 +++++++++++++++++- gear-ui3/src/views/mat/raw/index.vue | 4 +- .../src/views/oms/wageEntryDetail/index.vue | 91 +++- gear-ui3/src/views/oms/wageMakeup/index.vue | 39 +- 15 files changed, 660 insertions(+), 20 deletions(-) diff --git a/gear-mat/src/main/java/com/gear/mat/domain/MatProduct.java b/gear-mat/src/main/java/com/gear/mat/domain/MatProduct.java index 28a1b6d..682f7b7 100644 --- a/gear-mat/src/main/java/com/gear/mat/domain/MatProduct.java +++ b/gear-mat/src/main/java/com/gear/mat/domain/MatProduct.java @@ -54,4 +54,9 @@ public class MatProduct extends BaseEntity { */ private String remark; + /** + * 产品图片,多个图片以逗号分隔 + */ + private String productImages; + } diff --git a/gear-mat/src/main/java/com/gear/mat/domain/bo/MatProductBo.java b/gear-mat/src/main/java/com/gear/mat/domain/bo/MatProductBo.java index ee39f51..d4396c8 100644 --- a/gear-mat/src/main/java/com/gear/mat/domain/bo/MatProductBo.java +++ b/gear-mat/src/main/java/com/gear/mat/domain/bo/MatProductBo.java @@ -52,5 +52,10 @@ public class MatProductBo extends BaseEntity { */ private String remark; + /** + * 产品图片,多个图片以逗号分隔 + */ + private String productImages; + } diff --git a/gear-mat/src/main/java/com/gear/mat/domain/vo/MatProductVo.java b/gear-mat/src/main/java/com/gear/mat/domain/vo/MatProductVo.java index ad5b715..f659dc9 100644 --- a/gear-mat/src/main/java/com/gear/mat/domain/vo/MatProductVo.java +++ b/gear-mat/src/main/java/com/gear/mat/domain/vo/MatProductVo.java @@ -58,5 +58,11 @@ public class MatProductVo { @ExcelProperty(value = "备注") private String remark; + /** + * 产品图片,多个图片以逗号分隔 + */ + @ExcelProperty(value = "产品图片") + private String productImages; + } diff --git a/gear-mat/src/main/java/com/gear/mat/domain/vo/MatProductWithMaterialsVo.java b/gear-mat/src/main/java/com/gear/mat/domain/vo/MatProductWithMaterialsVo.java index 62a468f..acc5324 100644 --- a/gear-mat/src/main/java/com/gear/mat/domain/vo/MatProductWithMaterialsVo.java +++ b/gear-mat/src/main/java/com/gear/mat/domain/vo/MatProductWithMaterialsVo.java @@ -57,6 +57,12 @@ public class MatProductWithMaterialsVo { @ExcelProperty(value = "备注") private String remark; + /** + * 产品图片,多个图片以逗号分隔 + */ + @ExcelProperty(value = "产品图片") + private String productImages; + /** * 关联的配料信息列表 */ @@ -81,4 +87,4 @@ public class MatProductWithMaterialsVo { private BigDecimal planNum; // 计划采购总数量 private BigDecimal receivedNum; // 已入库数量 } -} \ No newline at end of file +} diff --git a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearWageEntryDetailBo.java b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearWageEntryDetailBo.java index 2333454..acd16de 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearWageEntryDetailBo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearWageEntryDetailBo.java @@ -12,6 +12,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.Date; +import java.util.Map; /** * 工资录入明细业务对象 gear_wage_entry_detail @@ -71,4 +72,6 @@ public class GearWageEntryDetailBo extends BaseEntity { private String makeupReason; private String remark; +// 新增累计金额 + private Map cumulativeAmounts; } diff --git a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearWageEntryDetailVo.java b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearWageEntryDetailVo.java index 774ea15..0e705a2 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearWageEntryDetailVo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearWageEntryDetailVo.java @@ -77,4 +77,6 @@ public class GearWageEntryDetailVo { @ExcelProperty(value = "备注") private String remark; + @ExcelProperty(value = "累计金额") + private BigDecimal cumulativeAmount; } diff --git a/gear-oa/src/main/java/com/gear/oa/service/impl/GearWageEntryDetailServiceImpl.java b/gear-oa/src/main/java/com/gear/oa/service/impl/GearWageEntryDetailServiceImpl.java index 511c584..47630cc 100644 --- a/gear-oa/src/main/java/com/gear/oa/service/impl/GearWageEntryDetailServiceImpl.java +++ b/gear-oa/src/main/java/com/gear/oa/service/impl/GearWageEntryDetailServiceImpl.java @@ -49,11 +49,24 @@ public class GearWageEntryDetailServiceImpl implements IGearWageEntryDetailServi return TableDataInfo.build(result); } - @Override - public List queryList(GearWageEntryDetailBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } +// @Override +// public List queryList(GearWageEntryDetailBo bo) { +// LambdaQueryWrapper lqw = buildQueryWrapper(bo); +// return baseMapper.selectVoList(lqw); +// +// } + @Override + public List queryList(GearWageEntryDetailBo bo) { + // 将 selectList 改为 selectVoList + List list = baseMapper.selectVoList(buildQueryWrapper(bo)); + // 处理累计金额 + if (bo.getCumulativeAmounts() != null) { + for (GearWageEntryDetailVo vo : list) { + vo.setCumulativeAmount(bo.getCumulativeAmounts().get(vo.getEmpName())); + } + } + return list; + } private LambdaQueryWrapper buildQueryWrapper(GearWageEntryDetailBo bo) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); diff --git a/gear-ui3/package.json b/gear-ui3/package.json index 879aa38..e0c0d33 100644 --- a/gear-ui3/package.json +++ b/gear-ui3/package.json @@ -40,7 +40,8 @@ "vue-cropper": "1.1.1", "vue-router": "4.5.1", "vue3-treeselect": "^0.1.10", - "vuedraggable": "4.1.0" + "vuedraggable": "4.1.0", + "xlsx": "^0.18.5" }, "devDependencies": { "@vitejs/plugin-vue": "5.2.4", diff --git a/gear-ui3/src/components/RawSelector/index.vue b/gear-ui3/src/components/RawSelector/index.vue index 614ee6a..b4a914e 100644 --- a/gear-ui3/src/components/RawSelector/index.vue +++ b/gear-ui3/src/components/RawSelector/index.vue @@ -11,10 +11,32 @@ - + + + + + + + + + + + + + + 搜索 + 重置 + + + + + + @@ -64,6 +86,12 @@ const emit = defineEmits(['change']); const list = ref([]); // 物料列表 const open = ref(false); // 弹窗显隐 +// 搜索表单数据 +const searchForm = ref({ + materialName: '', + materialType: '' +}); + // 分页响应式数据(核心新增) const pageNum = ref(1); // 当前页码 const pageSize = ref(10); // 每页条数 @@ -77,7 +105,15 @@ onMounted(async () => { // 加载物料列表(适配分页参数) async function fetchMaterialList() { try { - const res = await listMaterial({ pageNum: pageNum.value, pageSize: pageSize.value }); + // 构建查询参数,包含分页和搜索条件 + const params = { + pageNum: pageNum.value, + pageSize: pageSize.value, + materialName: searchForm.value.materialName, + materialType: searchForm.value.materialType + }; + + const res = await listMaterial(params); list.value = res.rows; total.value = res.total; // 赋值总条数供分页使用 @@ -95,6 +131,16 @@ async function fetchMaterialList() { } } +// 重置搜索 +function resetSearch() { + searchForm.value = { + materialName: '', + materialType: '' + }; + pageNum.value = 1; + fetchMaterialList(); +} + // 表格行选择物料 function handleRowSelect(row) { if (row.materialId === materialId.value) return; diff --git a/gear-ui3/src/utils/request.js b/gear-ui3/src/utils/request.js index 756b7bd..5b3f044 100644 --- a/gear-ui3/src/utils/request.js +++ b/gear-ui3/src/utils/request.js @@ -17,7 +17,7 @@ const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: import.meta.env.VITE_APP_BASE_API, // 超时 - timeout: 10000 + timeout: 30000 }) // request拦截器 diff --git a/gear-ui3/src/views/mat/components/bom.vue b/gear-ui3/src/views/mat/components/bom.vue index a13d5fc..7c23b79 100644 --- a/gear-ui3/src/views/mat/components/bom.vue +++ b/gear-ui3/src/views/mat/components/bom.vue @@ -25,6 +25,11 @@ + + +