项目管理成本修改,可见性入口
parent
37a2260cea
commit
c1fe98859c
src/main
java/cn/palmte/work
resources
static/assets/js
templates/admin
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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());
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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() {
|
||||
//数量改变
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>设置项目可见性
|
||||
|
|
Loading…
Reference in New Issue