项目管理成本修改,可见性入口

master
OathK1per 2021-12-31 16:08:04 +08:00
parent 37a2260cea
commit c1fe98859c
8 changed files with 83 additions and 61 deletions

View File

@ -286,6 +286,15 @@ public class ProjectController extends BaseController {
List<ProjectBudgetCostProjectManageDetailTemp> 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);
}

View File

@ -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;
}
}

View File

@ -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());

View File

@ -460,13 +460,13 @@ public class ProjectBudgetService {
*/
public List<ProjectBudgetCostProjectManageDetail> getBudgetCostProjectManageDetail(Project project){
List<ProjectBudgetCostProjectManageDetail> 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<ProjectBudgetCostProjectManageDetail> getFixedNotDeletable() {

View File

@ -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<arr.length;i++){
var obj = arr2ObjectVerify(i, arr[i], detailPropertyArr, detailProperty);

View File

@ -4,7 +4,8 @@
//COST_PROJECT_MANAGE_DETAIL_ARR=["type","name","detail","unit","amount","price","total","predictMethod","predictWhy","remark","deletable"];
COST_PROJECT_MANAGE_DETAIL={
"type":[true,"财务费用类别"],
"name":[true,"业务项目"],
"name1":[false,"业务项目"],
"name2":[false,"业务项目"],
"detail":[true,"项目明细"],
"unit":[true,"单位"],
"amount":[true,"数量"],
@ -17,17 +18,7 @@ COST_PROJECT_MANAGE_DETAIL={
};
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER={};
/*{
"1":"1",
"2":"1",
"3":"1",
"4":"2",
"5":"3",
"6":"3",
"7":"3",
"8":"4"
};
*/
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER={};
/*$(function () {
@ -80,20 +71,31 @@ $(function () {
initTypeCategoryManage();
});
/**
* 采购成本增加一行
*/
function appendTrCostProjectManage() {
var template = '<tr>\n' +
' <td>\n' +
' <select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage">\n' +
' <select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-type">\n' +
' <option value="xxxx" disabled selected>--请选择--</option>\n' +
' <option value="1" >人工成本</option>\n' +
' <option value="2" >业务费用</option>\n' +
' <option value="3" >其他费用</option>\n' +
' </select>\n' +
' </td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"></td>\n' +
' <td>\n' +
' <select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category">\n' +
' <option value="xxxx" disabled selected>--请选择--</option>\n' +
' <option value="1" >人工费</option>\n' +
' <option value="2" >总部支撑人力费用</option>\n' +
' <option value="4" >人员差旅费</option>\n' +
' <option value="5" >业务费用</option>\n' +
' <option value="6" >商务及专项验收费用</option>\n' +
' <option value="7" >办公费用</option>\n' +
' </select>\n' +
' <input type="hidden" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category2"/>\n' +
' </td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"></td>\n' +
' <td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-amount-project-manage"></td>\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("<option value='xxxx' disabled selected>--请选择--</option>");
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[type].forEach(function (d) {
categorySelect.append("<option value='"+d.id+"'>"+d.name+"</option>");
@ -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() {
//数量改变

View File

@ -508,7 +508,7 @@
</select>
</td>
<td>
<select style="width: 80px;float: left;" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category">
<select style="width: 80px;float: left;" <#if costProjectManageDetail.type == 3 || costProjectManageDetail.name == "自定义">hidden="hidden"</#if> class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category">
<option value="1" <#if costProjectManageDetail.name == "人工费">selected</#if>>人工费</option>
<option value="2" <#if costProjectManageDetail.name == "总部支撑人力费用">selected</#if>>总部支撑人力费用</option>
<option value="4" <#if costProjectManageDetail.name == "人员差旅费">selected</#if>>人员差旅费</option>
@ -516,7 +516,7 @@
<option value="6" <#if costProjectManageDetail.name == "商务及专项验收费用">selected</#if>>商务及专项验收费用</option>
<option value="7" <#if costProjectManageDetail.name == "办公费用">selected</#if>>办公费用</option>
</select>
<#-- <input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.name!}" <#if costProjectManageDetail.deletable==0>readonly</#if>>-->
<input <#if costProjectManageDetail.type == 3 || costProjectManageDetail.name == "自定义">type="text"<#else>type="hidden"</#if> class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage am-modal-prompt-input-cost-project-manage-category2" value="${costProjectManageDetail.name!}">
</td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.detail!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.unit!}"></td>

View File

@ -199,7 +199,7 @@
<td>
<div class="am-btn-toolbar">
<div class="am-btn-group am-btn-group-xs">
<#if list.creatorId==adminId>
<#if adminId==1>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/selectRoleUser?projectId=${list.id}'"><span class="am-icon-pencil-square-o"></span>设置项目可见性