From c1fe98859cf9ec73758e7346e8ec31bbc3f23181 Mon Sep 17 00:00:00 2001 From: OathK1per Date: Fri, 31 Dec 2021 16:08:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=8F=AF=E8=A7=81=E6=80=A7?= =?UTF-8?q?=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProjectController.java | 9 ++ ...jectBudgetCostProjectManageDetailBase.java | 20 ++++ ...jectBudgetCostProjectManageDetailTemp.java | 2 + .../work/service/ProjectBudgetService.java | 14 +-- .../static/assets/js/project_budget.js | 2 +- .../js/project_budget_cost_project_manage.js | 91 +++++++++---------- .../templates/admin/project_budget_edit.ftl | 4 +- .../templates/admin/project_list.ftl | 2 +- 8 files changed, 83 insertions(+), 61 deletions(-) diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java index 5393706..c340c46 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -286,6 +286,15 @@ public class ProjectController extends BaseController { List detailList = new ArrayList<>(details.size()); for (int i = 0; i < details.size(); i++) { ProjectBudgetCostProjectManageDetailTemp detail = details.getObject(i, ProjectBudgetCostProjectManageDetailTemp.class); + if(detail.getType() == 3 || "3".equals(detail.getName1()) || "8".equals(detail.getName1())) { + if ("".equals(detail.getName2())) { + return ResponseMsg.buildFailedMsg("业务项目不允许为空"); + } else { + detail.setName(detail.getName2()); + } + } else { + detail.setName(detail.getName1()); + } detailList.add(detail); } diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java index 4a37301..d9c001c 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java @@ -36,6 +36,10 @@ public class ProjectBudgetCostProjectManageDetailBase { @Column(name = "predict_why") private String predictWhy; private String remark; + @Transient + private String name1; + @Transient + private String name2; /** * 是否可以被删除,有些项是默认的不可删除,用于页面判断是否显示删除按钮 @@ -144,4 +148,20 @@ public class ProjectBudgetCostProjectManageDetailBase { public void setDeletable(int deletable) { this.deletable = deletable; } + + public String getName1() { + return name1; + } + + public void setName1(String name1) { + this.name1 = name1; + } + + public String getName2() { + return name2; + } + + public void setName2(String name2) { + this.name2 = name2; + } } \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java index 4714224..7f174cf 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java @@ -14,6 +14,8 @@ public class ProjectBudgetCostProjectManageDetailTemp extends ProjectBudgetCostP detail.setProjectId(getProjectId()); detail.setType(getType()); detail.setName(getName()); + detail.setName1(getName1()); + detail.setName2(getName2()); detail.setDetail(getDetail()); detail.setUnit(getUnit()); detail.setAmount(getAmount()); diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index a7245ce..9797023 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -460,13 +460,13 @@ public class ProjectBudgetService { */ public List getBudgetCostProjectManageDetail(Project project){ List projectManageDetails = projectBudgetCostProjectManageDetailRepository.findAllByProjectIdEquals(project.getId()); - - if(CollectionUtil.isNotEmpty(projectManageDetails)){ - return projectManageDetails; - }else { - //默认必填的明细 - return getFixedNotDeletable(); - } + return projectManageDetails; +// if(CollectionUtil.isNotEmpty(projectManageDetails)){ +// return projectManageDetails; +// }else { +// //默认必填的明细 +// return getFixedNotDeletable(); +// } } private List getFixedNotDeletable() { diff --git a/src/main/resources/static/assets/js/project_budget.js b/src/main/resources/static/assets/js/project_budget.js index e77e4ec..8b9f94d 100644 --- a/src/main/resources/static/assets/js/project_budget.js +++ b/src/main/resources/static/assets/js/project_budget.js @@ -112,6 +112,7 @@ function arr2ObjectVerify(line, arr, detailPropertyArr, detailProperty) { function collectData(className) { var a= []; $("." + className).each(function (t) { + console.log("收集:" + className + "," + $(this).val()) a.push($(this).val()); }); return a; @@ -150,7 +151,6 @@ function convertDetail(data,detailPropertyArr, keepBlank) { function convertDetailVerify(data,detailProperty) { var detailPropertyArr = Object.keys(detailProperty); var arr = arrayToMatrix(data,detailPropertyArr.length); - var details = []; for (var i=0;i\n' + - ' \n' + + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + - ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + ' \n' + ' \n' + ' \n' + @@ -120,13 +122,18 @@ function bindTypeSelectChangeManager() { //大类变化联动类别 $(".am-modal-prompt-input-cost-project-manage-type").on('change',function () { var categorySelect = $(this).parent().parent().find(".am-modal-prompt-input-cost-project-manage-category"); + var categoryInput = $(this).parent().parent().find(".am-modal-prompt-input-cost-project-manage-category2"); var type = $(this).val(); //删除后重新添加对应的类别 categorySelect.empty(); - //console.log(SELECT_TYPE_CATEGORY_MAP_DATA); - - if(SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[type]){ + if(type == 3) { + categorySelect.attr("style", "display:none"); + categoryInput.attr("type", "text"); + } else if(SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[type]){ + categorySelect.attr("style", "width: 80px;float: left;"); + categoryInput.val(""); + categoryInput.attr("type", "hidden"); categorySelect.append(""); SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[type].forEach(function (d) { categorySelect.append(""); @@ -137,11 +144,17 @@ function bindTypeSelectChangeManager() { //类别变化联动大类 $(".am-modal-prompt-input-cost-project-manage-category").on('change',function () { var typeSelect = $(this).parent().parent().find(".am-modal-prompt-input-cost-project-manage-type"); + var categoryInput = $(this).parent().find(".am-modal-prompt-input-cost-project-manage-category2"); + var categorySelect = $(this).parent().find(".am-modal-prompt-input-cost-project-manage-category"); var category = $(this).val(); //设置他选中类别对应的大类 - //console.log(SELECT_CATEGORY_TYPE_MAP_DATA); - + if(category == 3 || category == 8) { + categorySelect.attr("style", "display:none"); + categoryInput.attr("type", "text"); + } else { + categoryInput.val(""); + } typeSelect.val(SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[category]); }); } @@ -153,6 +166,9 @@ function initTypeCategoryManage() { },{ name:"总部支撑人力费用", id:"2" + },{ + name:"自定义", + id:"3" }); SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[1] = temp1; var temp2 = []; @@ -168,45 +184,20 @@ function initTypeCategoryManage() { },{ name:"办公费用", id:"7" + },{ + name:"自定义", + id:"8" }); SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[2] = temp2; SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[1] = 1; SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[2] = 1; - // SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[3] = 1; + SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[3] = 1; SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[4] = 2; SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[5] = 2; SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[6] = 2; SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[7] = 2; - // SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[8] = 2; - - // var d = data.data; - // var map = d.map; - // - // Object.keys(map).forEach(function (t, number) { - // var temp = []; - // map[t].forEach(function (g) { - // temp.push({ - // name:g.name, - // id:g.id+"" - // }); - // }); - // SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[t]= temp; - // }); - // - // var procurementTypes = d.procurementTypes; - // procurementTypes.forEach(function (e) { - // SELECT_TYPE_CATEGORY_DATA.push({ - // id:e.id+"", - // name:e.name - // }); - // SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[e.id]=e.type; - // }); - // //--请选择--的映射 - // //SELECT_CATEGORY_TYPE_MAP_DATA["xxxx"]="xxxx"; - - console.log("type to category: " + SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER); - console.log("category to type: " + SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER); + SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[8] = 2; } function bindChangeableInputProjectManage() { //数量改变 diff --git a/src/main/resources/templates/admin/project_budget_edit.ftl b/src/main/resources/templates/admin/project_budget_edit.ftl index b4f308b..6e12bc3 100644 --- a/src/main/resources/templates/admin/project_budget_edit.ftl +++ b/src/main/resources/templates/admin/project_budget_edit.ftl @@ -508,7 +508,7 @@ - hidden="hidden" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category"> @@ -516,7 +516,7 @@ - <#-- readonly>--> + type="text"<#else>type="hidden" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category2" value="${costProjectManageDetail.name!}"> diff --git a/src/main/resources/templates/admin/project_list.ftl b/src/main/resources/templates/admin/project_list.ftl index 0fb1e48..61e7616 100644 --- a/src/main/resources/templates/admin/project_list.ftl +++ b/src/main/resources/templates/admin/project_list.ftl @@ -199,7 +199,7 @@
- <#if list.creatorId==adminId> + <#if adminId==1>