fix(inventory): 解决生成发货单表单数据残留问题

- 在 GenerateDeliveryForm.vue 中打开表单时清空已选SN列表
- 修复表格初始化加载时的选择状态清理逻辑
- 修正收票单详情页面显示的编号字段错误
- 更新项目管理日志标题为会审相关
- 添加项目订单文件修改权限相关注释说明
dev_1.0.0
chenhao 2026-01-08 13:47:50 +08:00
parent 602d06aafc
commit d1e23c58ef
5 changed files with 10 additions and 4 deletions

View File

@ -63,7 +63,7 @@
<ApproveLayout ref="approveLayout" title="收票单详情"> <ApproveLayout ref="approveLayout" title="收票单详情">
<invoice-receipt-detail :data="form"></invoice-receipt-detail> <invoice-receipt-detail :data="form"></invoice-receipt-detail>
<template #footer> <template #footer>
<span>收票编号: {{ form.receiptBillCode }}</span> <span>收票编号: {{ form.invoiceBillCode }}</span>
</template> </template>
</ApproveLayout> </ApproveLayout>
</div> </div>

View File

@ -77,7 +77,7 @@
<ApproveLayout ref="approveLayout" title="收票单详情"> <ApproveLayout ref="approveLayout" title="收票单详情">
<invoice-receipt-detail :data="form"></invoice-receipt-detail> <invoice-receipt-detail :data="form"></invoice-receipt-detail>
<template #footer> <template #footer>
<span>收票编号: {{ form.ticketBillCode }}</span> <span>收票编号: {{ form.invoiceBillCode }}</span>
</template> </template>
</ApproveLayout> </ApproveLayout>
</div> </div>

View File

@ -146,6 +146,7 @@ export default {
}, },
methods: { methods: {
open(productRow, outerForm) { open(productRow, outerForm) {
this.selectedSnList.length=0;
this.reset(); this.reset();
this.productData = productRow; this.productData = productRow;
this.outerData = outerForm; this.outerData = outerForm;
@ -166,12 +167,13 @@ export default {
this.snList = response.rows; this.snList = response.rows;
this.total = response.total; this.total = response.total;
if (this.isInitialLoad) { if (this.isInitialLoad) {
this.isInitialLoad = false;
this.$nextTick(() => { this.$nextTick(() => {
if (this.$refs.snTable) { if (this.$refs.snTable) {
this.$refs.snTable.clearSelection();
this.$refs.snTable.toggleAllSelection(); this.$refs.snTable.toggleAllSelection();
} }
}); });
this.isInitialLoad = false;
} }
}); });
}, },

View File

@ -105,7 +105,7 @@ public class VueProjectInfoController extends BaseController {
return toAjax(projectInfoService.updateProjectInfo(projectInfo)); return toAjax(projectInfoService.updateProjectInfo(projectInfo));
} }
@RequiresPermissions("sip:project:edit") @RequiresPermissions("sip:project:edit")
@Log(title = "项目管理", businessType = BusinessType.UPDATE) @Log(title = "会审", businessType = BusinessType.UPDATE)
@PutMapping("/joinTrial") @PutMapping("/joinTrial")
public AjaxResult editJoinTrial(@RequestBody ProjectInfo projectInfo) { public AjaxResult editJoinTrial(@RequestBody ProjectInfo projectInfo) {
return toAjax(projectInfoService.editJoinTrial(projectInfo)); return toAjax(projectInfoService.editJoinTrial(projectInfo));

View File

@ -83,6 +83,7 @@ public class VueProjectOrderInfoController extends BaseController {
ProjectOrderInfo projectOrderInfo = projectOrderInfoService.selectProjectOrderInfoById(id); ProjectOrderInfo projectOrderInfo = projectOrderInfoService.selectProjectOrderInfoById(id);
mmap.put("projectOrderInfo", projectOrderInfo); mmap.put("projectOrderInfo", projectOrderInfo);
mmap.put("user", ShiroUtils.getSysUser()); mmap.put("user", ShiroUtils.getSysUser());
//是否可修改文件
mmap.put("canUpdate", ProjectOrderInfo.OrderStatus.WAIT_COMMIT.getCode().equals(projectOrderInfo.getOrderStatus()) ||ProjectOrderInfo.OrderStatus.APPROVE_REJECT.getCode().equals(projectOrderInfo.getOrderStatus())); mmap.put("canUpdate", ProjectOrderInfo.OrderStatus.WAIT_COMMIT.getCode().equals(projectOrderInfo.getOrderStatus()) ||ProjectOrderInfo.OrderStatus.APPROVE_REJECT.getCode().equals(projectOrderInfo.getOrderStatus()));
// boolean showFileFlag=!ProjectOrderInfo.OrderStatus.WAIT_COMMIT.getCode().equals(projectOrderInfo.getOrderStatus()) // boolean showFileFlag=!ProjectOrderInfo.OrderStatus.WAIT_COMMIT.getCode().equals(projectOrderInfo.getOrderStatus())
// && !ProjectOrderInfo.OrderStatus.APPROVE_REJECT.getCode().equals(projectOrderInfo.getOrderStatus()) // && !ProjectOrderInfo.OrderStatus.APPROVE_REJECT.getCode().equals(projectOrderInfo.getOrderStatus())
@ -92,15 +93,18 @@ public class VueProjectOrderInfoController extends BaseController {
ProjectOrderFileLog fileLog = new ProjectOrderFileLog(); ProjectOrderFileLog fileLog = new ProjectOrderFileLog();
fileLog.setOrderId(projectOrderInfo.getId()); fileLog.setOrderId(projectOrderInfo.getId());
fileLog.setFileType(ProjectOrderFileLog.FileTypeEnum.CONTRACT_BAK.getCode()); fileLog.setFileType(ProjectOrderFileLog.FileTypeEnum.CONTRACT_BAK.getCode());
//信息备份数据
mmap.put("orderBakFile", projectOrderFileLogService.mapBakFile(fileLog)); mmap.put("orderBakFile", projectOrderFileLogService.mapBakFile(fileLog));
Todo todo = new Todo(); Todo todo = new Todo();
todo.setBusinessKey(projectOrderInfo.getOrderCode()); todo.setBusinessKey(projectOrderInfo.getOrderCode());
List<Todo> todoCompletedList = todoService.selectTodoCompletedList(todo); List<Todo> todoCompletedList = todoService.selectTodoCompletedList(todo);
//审批历史
mmap.put("approveLog", todoCompletedList); mmap.put("approveLog", todoCompletedList);
//判断商务角色 并且是产品或自己审批 //判断商务角色 并且是产品或自己审批
boolean updateFlag = CollUtil.isNotEmpty(todoCompletedList) && ProjectOrderInfo.OrderStatus.WAIT_APPROVE.getCode().equals(projectOrderInfo.getOrderStatus()) ? boolean updateFlag = CollUtil.isNotEmpty(todoCompletedList) && ProjectOrderInfo.OrderStatus.WAIT_APPROVE.getCode().equals(projectOrderInfo.getOrderStatus()) ?
("产品经理".equals(todoCompletedList.get(0).getTaskName()) || "售前".equals(todoCompletedList.get(0).getTaskName())) ("产品经理".equals(todoCompletedList.get(0).getTaskName()) || "售前".equals(todoCompletedList.get(0).getTaskName()))
: (boolean) mmap.get("canUpdate"); : (boolean) mmap.get("canUpdate");
//是否可修改文件
mmap.put("updateFile", (ShiroUtils.getSubject().hasRole("sale_assistant")||ShiroUtils.getSubject().hasRole("business")||ShiroUtils.getSubject().hasRole("marketing_promotion") ||ShiroUtils.getSysUser().isAdmin()) && updateFlag); mmap.put("updateFile", (ShiroUtils.getSubject().hasRole("sale_assistant")||ShiroUtils.getSubject().hasRole("business")||ShiroUtils.getSubject().hasRole("marketing_promotion") ||ShiroUtils.getSysUser().isAdmin()) && updateFlag);
mmap.put("uploadFinalFile", (ShiroUtils.getSubject().hasRole("business") || ShiroUtils.getSysUser().isAdmin()) && mmap.put("uploadFinalFile", (ShiroUtils.getSubject().hasRole("business") || ShiroUtils.getSysUser().isAdmin()) &&
ProjectOrderInfo.OrderStatus.APPROVE_COMPLETE.getCode().equals(projectOrderInfo.getOrderStatus())); ProjectOrderInfo.OrderStatus.APPROVE_COMPLETE.getCode().equals(projectOrderInfo.getOrderStatus()));