项目阶段更新

master
hanbo 2022-12-07 15:58:00 +08:00
parent 51e861db10
commit c594169b9e
6 changed files with 232 additions and 2 deletions

View File

@ -844,6 +844,14 @@ public class ProjectController extends BaseController {
return "admin/project_select_role_user";
}
@ResponseBody
@RequestMapping("/info/{projectId}")
public ResponseMsg info(@PathVariable int projectId,Map<String, Object> model) {
Project project = projectService.getProject(projectId);
model.put("info",project);
return ResponseMsg.buildSuccessData(project);
}
/**
* check
*/
@ -1386,4 +1394,10 @@ public class ProjectController extends BaseController {
return "admin/project_final_list";
}
@ResponseBody
@RequestMapping("/stageRefreshSave/{projectId}")
public ResponseMsg stageRefreshSave(@RequestBody String json, @PathVariable int projectId) {
return projectService.stageRefreshSave(json,projectId);
}
}

View File

@ -257,6 +257,12 @@ public class Project {
@Column(name = "calculation_collection")
private String calculationCollection;
@Column(name = "stage")
private Integer stage;
@Column(name = "stage_remark")
private String stageRemark;
@Transient
private String contractRound;
@ -1003,4 +1009,20 @@ public class Project {
public void setRemark(String remark) {
this.remark = remark;
}
public Integer getStage() {
return stage;
}
public void setStage(Integer stage) {
this.stage = stage;
}
public String getStageRemark() {
return stageRemark;
}
public void setStageRemark(String stageRemark) {
this.stageRemark = stageRemark;
}
}

View File

@ -112,6 +112,9 @@ public class ProjectService {
}
if(StrUtil.isNotEmpty(searchInfo.get("extend")) && "0".equals(searchInfo.get("extend"))) {
if (StrUtil.isNotEmpty(searchInfo.get("stage")) && !"-1".equals(searchInfo.get("stage"))) {
queryHelper.addCondition("p.stage=?", Integer.parseInt(searchInfo.get("stage")));
}
if (StrUtil.isNotEmpty(searchInfo.get("isSecond")) && !"-1".equals(searchInfo.get("isSecond"))) {
queryHelper.addCondition("p.is_second=?", Integer.parseInt(searchInfo.get("isSecond")));
}
@ -895,4 +898,20 @@ public class ProjectService {
}
}
public ResponseMsg stageRefreshSave(String json,int projectId) {
JSONObject obj = JSON.parseObject(json);
int stage = obj.getIntValue("stage");
String stageRemark = obj.getString("stageRemark");
Project project = projectRepository.getOne(projectId);
if(null == project){
return ResponseMsg.buildFailedMsg("项目不存在");
}
project.setStage(stage);
project.setStageRemark(stageRemark);
projectRepository.saveAndFlush(project);
return ResponseMsg.buildSuccessMsg("保存成功");
}
}

View File

@ -395,6 +395,43 @@
>${project.calculationCollection!}</textarea>
</td>
</tr>
<tr class="am-text-nowrap">
<th class="table-title" colspan="1" ><span style="font-size: 15px">项目阶段:</span></th>
<td class="table-title" colspan="5" >
<#if project.stage??>
<#if (project.stage) =0>
<input readonly value="S0-概算立项"/>
<#elseif (project.stage) =1>
<input readonly value="S1-项目调研"/>
<#elseif (project.stage) =2>
<input readonly value="S2-方案设计"/>
<#elseif (project.stage) =3>
<input readonly value="S3-预算评估"/>
<#elseif (project.stage) =4>
<input readonly value="S4-招标期"/>
<#elseif (project.stage) =5>
<input readonly value="S5-合同期"/>
<#elseif (project.stage) =6>
<input readonly value="S6-交付期"/>
<#elseif (project.stage) =7>
<input readonly value="S7-结算期"/>
<#elseif (project.stage) =8>
<input readonly value="S8-决算期"/>
<#elseif (project.stage) =9>
<input readonly value="L-项目丢失"/>
</#if>
<#else>
<input readonly value=""/>
</#if>
</td>
</tr>
<tr class="am-text-nowrap">
<th class="table-title" colspan="1" ><span style="font-size: 15px">当前进度描述:</span></th>
<td class="table-title" colspan="5" >
<textarea rows="3" cols="20" style="border-style:none;background-color: white;" disabled="disabled"
>${project.stageRemark!}</textarea>
</td>
</tr>
</table>
</div>
<#-- 项目预算信息 展示内容 -->

View File

@ -176,7 +176,7 @@
</div>
</div>
<div class="st-col">
<div class="st-col-title">项目状态</div>
<div class="st-col-title">项目当前状态</div>
<div class="st-col-field">
<select data-am-selected="{btnSize: 'sm',btnWidth: '100%',maxHeight: 500,searchBox: 1}" id="status" name="status">
<option value="-1">全部</option>
@ -452,6 +452,27 @@
</div>
</div>
</div>
<!-- 第六行 -->
<div class="flex-row st-row">
<div class="st-col st-col-4">
<div class="st-col-title">项目阶段</div>
<div class="st-col-field">
<select data-am-selected="{btnSize: 'sm',btnWidth: '100%',maxHeight: 500,searchBox: 1}" id="qstage" name="qstage">
<option value="-1">全部</option>
<option value="0" <#if qstage?? && qstage='0'>selected</#if>>S0-概算立项</option>
<option value="1" <#if qstage?? && qstage='1'>selected</#if>>S1-项目调研</option>
<option value="2" <#if qstage?? && qstage='2'>selected</#if>>S2-方案设计</option>
<option value="3" <#if qstage?? && qstage='3'>selected</#if>>S3-预算评估</option>
<option value="4" <#if qstage?? && qstage='4'>selected</#if>>S4-招标期</option>
<option value="5" <#if qstage?? && qstage='5'>selected</#if>>S5-合同期</option>
<option value="6" <#if qstage?? && qstage='6'>selected</#if>>S6-交付期</option>
<option value="7" <#if qstage?? && qstage='7'>selected</#if>>S7-结算期</option>
<option value="8" <#if qstage?? && qstage='8'>selected</#if>>S8-决算期</option>
<option value="9" <#if qstage?? && qstage='9'>selected</#if>>L-项目丢失</option>
</select>
</div>
</div>
</div>
</div>
<#-- 按钮 -->
<div class="flex-row tools-row">
@ -1027,6 +1048,10 @@
</button>
</#if>
<button type="button" class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="stageRefreshModal(${list.id})">
<span class="am-icon-pencil-square-o"></span>项目阶段更新
</button>
</div>
</div>
</td>
@ -1188,6 +1213,55 @@
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<#--项目阶段更新弹窗-->
<div class="modal fade" id="myModal4" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content" style="width: 500px">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">项目阶段更新</h4>
</div>
<input type="hidden" id="stageProjectId" name="stageProjectId" value=''/>
<div class="am-g am-form-group am-margin-top" style="display: flex;">
<div class="am-u-sm-3 am-u-md-3 am-text-right">
<span style="color: red;">*</span>项目阶段</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 300,searchBox: 1}"
id="stage" name="stage">
<option value="0" <#if stage?? && stage='0'>selected</#if>>S0-概算立项</option>
<option value="1" <#if stage?? && stage='1'>selected</#if>>S1-项目调研</option>
<option value="2" <#if stage?? && stage='2'>selected</#if>>S2-方案设计</option>
<option value="3" <#if stage?? && stage='3'>selected</#if>>S3-预算评估</option>
<option value="4" <#if stage?? && stage='4'>selected</#if>>S4-招标期</option>
<option value="5" <#if stage?? && stage='5'>selected</#if>>S5-合同期</option>
<option value="6" <#if stage?? && stage='6'>selected</#if>>S6-交付期</option>
<option value="7" <#if stage?? && stage='7'>selected</#if>>S7-结算期</option>
<option value="8" <#if stage?? && stage='8'>selected</#if>>S8-决算期</option>
<option value="9" <#if stage?? && stage='9'>selected</#if>>L-项目丢失</option>
</select>
</div>
<div class="am-u-sm-3 am-u-md-3 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top" style="display: flex;">
<div class="am-u-sm-3 am-u-md-3 am-text-right">
<span style="color: red;">*</span>当前进度描述</div>
<div class="am-u-sm-6 am-u-md-6">
<textarea id="stageRemark" minlength="1" rows="3" cols="40" maxlength="1000" class="am-input"></textarea>
</div>
<div class="am-u-sm-3 am-u-md-3 input-msg"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" data-am-modal-cancel>关闭</button>
<button type="button" class="btn btn-primary" data-am-modal-confirm onclick="stageRefreshSave()">提交</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- /.modal -->
@ -1315,6 +1389,8 @@
keywordsObj.otherStart = $("#otherStart").val();
if ($("#otherEnd").val())
keywordsObj.otherEnd = $("#otherEnd").val();
if ($("#qstage").val())
keywordsObj.stage = $("#qstage").val();
}
if ($("#customer").val())
keywordsObj.customer = $("#customer").val();
@ -1556,6 +1632,44 @@
});
};
/**
* 项目阶段更新保存
*/
var stageRefreshSave = function () {
var stage = $("#stage").val();
console.info("=============="+stage);
var stageRemark = $("#stageRemark").val();
var projectId = $("#stageProjectId").val();
if (stage == '') {
layer.alert("请选择项目阶段");
return;
}
if (stageRemark == '') {
layer.alert("请填写当前进度描述");
return;
}
var params = {
stage: stage,
stageRemark: stageRemark
};
$.ajax({
url: '${base}/project/stageRefreshSave/' + projectId,
data: JSON.stringify(params),
dataType: "json",
contentType: "application/json",
type: 'post',
async: false,
success: function (data) {
if (data.status == 0) {
layer.alert(data.msg);
window.location.href=window.location.href;
} else if (data.status == 1) {
layer.alert(data.msg);
}
}
});
};
//上传会签单
var generateFileupload = function (name) {
@ -1687,6 +1801,30 @@
});
};
var stageRefreshModal = function(id) {
$.ajax({
url: "${base}/project/info/" + id,
dataType: "json",
contentType: "application/json",
type: 'post',
async: false,
success: function (data) {
$("#stage").val(data.data.stage);
$("#stageRemark").val(data.data.stageRemark);
}
});
$("#stageProjectId").val(id);
$('#myModal4').modal({
relatedElement: this,
onConfirm: function() {
console.log("提交");
},
onCancel: function() {
console.log("取消");
}
});
};
var projectNoCheck = function () {
var newProjectNo = $("#newProjectNo").val();
var id = $("#modelId").val();

View File

@ -173,7 +173,7 @@
</div>
</div>
<div class="st-col">
<div class="st-col-title">项目状态</div>
<div class="st-col-title">项目当前状态</div>
<div class="st-col-field">
<select data-am-selected="{btnSize: 'sm',btnWidth: '100%',maxHeight: 500,searchBox: 1}" id="status" name="status">
<option value="-1">全部</option>