项目管理成本修改,可见性入口
parent
37a2260cea
commit
c1fe98859c
|
@ -286,6 +286,15 @@ public class ProjectController extends BaseController {
|
||||||
List<ProjectBudgetCostProjectManageDetailTemp> detailList = new ArrayList<>(details.size());
|
List<ProjectBudgetCostProjectManageDetailTemp> detailList = new ArrayList<>(details.size());
|
||||||
for (int i = 0; i < details.size(); i++) {
|
for (int i = 0; i < details.size(); i++) {
|
||||||
ProjectBudgetCostProjectManageDetailTemp detail = details.getObject(i, ProjectBudgetCostProjectManageDetailTemp.class);
|
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);
|
detailList.add(detail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,10 @@ public class ProjectBudgetCostProjectManageDetailBase {
|
||||||
@Column(name = "predict_why")
|
@Column(name = "predict_why")
|
||||||
private String predictWhy;
|
private String predictWhy;
|
||||||
private String remark;
|
private String remark;
|
||||||
|
@Transient
|
||||||
|
private String name1;
|
||||||
|
@Transient
|
||||||
|
private String name2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否可以被删除,有些项是默认的不可删除,用于页面判断是否显示删除按钮
|
* 是否可以被删除,有些项是默认的不可删除,用于页面判断是否显示删除按钮
|
||||||
|
@ -144,4 +148,20 @@ public class ProjectBudgetCostProjectManageDetailBase {
|
||||||
public void setDeletable(int deletable) {
|
public void setDeletable(int deletable) {
|
||||||
this.deletable = 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;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -14,6 +14,8 @@ public class ProjectBudgetCostProjectManageDetailTemp extends ProjectBudgetCostP
|
||||||
detail.setProjectId(getProjectId());
|
detail.setProjectId(getProjectId());
|
||||||
detail.setType(getType());
|
detail.setType(getType());
|
||||||
detail.setName(getName());
|
detail.setName(getName());
|
||||||
|
detail.setName1(getName1());
|
||||||
|
detail.setName2(getName2());
|
||||||
detail.setDetail(getDetail());
|
detail.setDetail(getDetail());
|
||||||
detail.setUnit(getUnit());
|
detail.setUnit(getUnit());
|
||||||
detail.setAmount(getAmount());
|
detail.setAmount(getAmount());
|
||||||
|
|
|
@ -460,13 +460,13 @@ public class ProjectBudgetService {
|
||||||
*/
|
*/
|
||||||
public List<ProjectBudgetCostProjectManageDetail> getBudgetCostProjectManageDetail(Project project){
|
public List<ProjectBudgetCostProjectManageDetail> getBudgetCostProjectManageDetail(Project project){
|
||||||
List<ProjectBudgetCostProjectManageDetail> projectManageDetails = projectBudgetCostProjectManageDetailRepository.findAllByProjectIdEquals(project.getId());
|
List<ProjectBudgetCostProjectManageDetail> projectManageDetails = projectBudgetCostProjectManageDetailRepository.findAllByProjectIdEquals(project.getId());
|
||||||
|
|
||||||
if(CollectionUtil.isNotEmpty(projectManageDetails)){
|
|
||||||
return projectManageDetails;
|
return projectManageDetails;
|
||||||
}else {
|
// if(CollectionUtil.isNotEmpty(projectManageDetails)){
|
||||||
//默认必填的明细
|
// return projectManageDetails;
|
||||||
return getFixedNotDeletable();
|
// }else {
|
||||||
}
|
// //默认必填的明细
|
||||||
|
// return getFixedNotDeletable();
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ProjectBudgetCostProjectManageDetail> getFixedNotDeletable() {
|
private List<ProjectBudgetCostProjectManageDetail> getFixedNotDeletable() {
|
||||||
|
|
|
@ -112,6 +112,7 @@ function arr2ObjectVerify(line, arr, detailPropertyArr, detailProperty) {
|
||||||
function collectData(className) {
|
function collectData(className) {
|
||||||
var a= [];
|
var a= [];
|
||||||
$("." + className).each(function (t) {
|
$("." + className).each(function (t) {
|
||||||
|
console.log("收集:" + className + "," + $(this).val())
|
||||||
a.push($(this).val());
|
a.push($(this).val());
|
||||||
});
|
});
|
||||||
return a;
|
return a;
|
||||||
|
@ -150,7 +151,6 @@ function convertDetail(data,detailPropertyArr, keepBlank) {
|
||||||
function convertDetailVerify(data,detailProperty) {
|
function convertDetailVerify(data,detailProperty) {
|
||||||
var detailPropertyArr = Object.keys(detailProperty);
|
var detailPropertyArr = Object.keys(detailProperty);
|
||||||
var arr = arrayToMatrix(data,detailPropertyArr.length);
|
var arr = arrayToMatrix(data,detailPropertyArr.length);
|
||||||
|
|
||||||
var details = [];
|
var details = [];
|
||||||
for (var i=0;i<arr.length;i++){
|
for (var i=0;i<arr.length;i++){
|
||||||
var obj = arr2ObjectVerify(i, arr[i], detailPropertyArr, detailProperty);
|
var obj = arr2ObjectVerify(i, arr[i], detailPropertyArr, detailProperty);
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
//COST_PROJECT_MANAGE_DETAIL_ARR=["type","name","detail","unit","amount","price","total","predictMethod","predictWhy","remark","deletable"];
|
//COST_PROJECT_MANAGE_DETAIL_ARR=["type","name","detail","unit","amount","price","total","predictMethod","predictWhy","remark","deletable"];
|
||||||
COST_PROJECT_MANAGE_DETAIL={
|
COST_PROJECT_MANAGE_DETAIL={
|
||||||
"type":[true,"财务费用类别"],
|
"type":[true,"财务费用类别"],
|
||||||
"name":[true,"业务项目"],
|
"name1":[false,"业务项目"],
|
||||||
|
"name2":[false,"业务项目"],
|
||||||
"detail":[true,"项目明细"],
|
"detail":[true,"项目明细"],
|
||||||
"unit":[true,"单位"],
|
"unit":[true,"单位"],
|
||||||
"amount":[true,"数量"],
|
"amount":[true,"数量"],
|
||||||
|
@ -17,17 +18,7 @@ COST_PROJECT_MANAGE_DETAIL={
|
||||||
};
|
};
|
||||||
|
|
||||||
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER={};
|
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={};
|
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER={};
|
||||||
|
|
||||||
/*$(function () {
|
/*$(function () {
|
||||||
|
@ -80,20 +71,31 @@ $(function () {
|
||||||
|
|
||||||
initTypeCategoryManage();
|
initTypeCategoryManage();
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购成本增加一行
|
* 采购成本增加一行
|
||||||
*/
|
*/
|
||||||
function appendTrCostProjectManage() {
|
function appendTrCostProjectManage() {
|
||||||
var template = '<tr>\n' +
|
var template = '<tr>\n' +
|
||||||
' <td>\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="1" >人工成本</option>\n' +
|
||||||
' <option value="2" >业务费用</option>\n' +
|
' <option value="2" >业务费用</option>\n' +
|
||||||
' <option value="3" >其他费用</option>\n' +
|
' <option value="3" >其他费用</option>\n' +
|
||||||
' </select>\n' +
|
' </select>\n' +
|
||||||
' </td>\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="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' +
|
' <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 () {
|
$(".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 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();
|
var type = $(this).val();
|
||||||
//删除后重新添加对应的类别
|
//删除后重新添加对应的类别
|
||||||
categorySelect.empty();
|
categorySelect.empty();
|
||||||
|
|
||||||
//console.log(SELECT_TYPE_CATEGORY_MAP_DATA);
|
if(type == 3) {
|
||||||
|
categorySelect.attr("style", "display:none");
|
||||||
if(SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[type]){
|
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>");
|
categorySelect.append("<option value='xxxx' disabled selected>--请选择--</option>");
|
||||||
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[type].forEach(function (d) {
|
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[type].forEach(function (d) {
|
||||||
categorySelect.append("<option value='"+d.id+"'>"+d.name+"</option>");
|
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 () {
|
$(".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 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();
|
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]);
|
typeSelect.val(SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[category]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -153,6 +166,9 @@ function initTypeCategoryManage() {
|
||||||
},{
|
},{
|
||||||
name:"总部支撑人力费用",
|
name:"总部支撑人力费用",
|
||||||
id:"2"
|
id:"2"
|
||||||
|
},{
|
||||||
|
name:"自定义",
|
||||||
|
id:"3"
|
||||||
});
|
});
|
||||||
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[1] = temp1;
|
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[1] = temp1;
|
||||||
var temp2 = [];
|
var temp2 = [];
|
||||||
|
@ -168,45 +184,20 @@ function initTypeCategoryManage() {
|
||||||
},{
|
},{
|
||||||
name:"办公费用",
|
name:"办公费用",
|
||||||
id:"7"
|
id:"7"
|
||||||
|
},{
|
||||||
|
name:"自定义",
|
||||||
|
id:"8"
|
||||||
});
|
});
|
||||||
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[2] = temp2;
|
SELECT_TYPE_CATEGORY_MAP_DATA_MANAGER[2] = temp2;
|
||||||
|
|
||||||
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[1] = 1;
|
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[1] = 1;
|
||||||
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[2] = 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[4] = 2;
|
||||||
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[5] = 2;
|
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[5] = 2;
|
||||||
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[6] = 2;
|
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[6] = 2;
|
||||||
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[7] = 2;
|
SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[7] = 2;
|
||||||
// SELECT_CATEGORY_TYPE_MAP_DATA_MANAGER[8] = 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);
|
|
||||||
}
|
}
|
||||||
function bindChangeableInputProjectManage() {
|
function bindChangeableInputProjectManage() {
|
||||||
//数量改变
|
//数量改变
|
||||||
|
|
|
@ -508,7 +508,7 @@
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<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="1" <#if costProjectManageDetail.name == "人工费">selected</#if>>人工费</option>
|
||||||
<option value="2" <#if costProjectManageDetail.name == "总部支撑人力费用">selected</#if>>总部支撑人力费用</option>
|
<option value="2" <#if costProjectManageDetail.name == "总部支撑人力费用">selected</#if>>总部支撑人力费用</option>
|
||||||
<option value="4" <#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="6" <#if costProjectManageDetail.name == "商务及专项验收费用">selected</#if>>商务及专项验收费用</option>
|
||||||
<option value="7" <#if costProjectManageDetail.name == "办公费用">selected</#if>>办公费用</option>
|
<option value="7" <#if costProjectManageDetail.name == "办公费用">selected</#if>>办公费用</option>
|
||||||
</select>
|
</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>
|
||||||
<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.detail!}"></td>
|
||||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.unit!}"></td>
|
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.unit!}"></td>
|
||||||
|
|
|
@ -199,7 +199,7 @@
|
||||||
<td>
|
<td>
|
||||||
<div class="am-btn-toolbar">
|
<div class="am-btn-toolbar">
|
||||||
<div class="am-btn-group am-btn-group-xs">
|
<div class="am-btn-group am-btn-group-xs">
|
||||||
<#if list.creatorId==adminId>
|
<#if adminId==1>
|
||||||
<button type="button"
|
<button type="button"
|
||||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
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>设置项目可见性
|
onclick="location.href='${base}/project/selectRoleUser?projectId=${list.id}'"><span class="am-icon-pencil-square-o"></span>设置项目可见性
|
||||||
|
|
Loading…
Reference in New Issue