0605需求

master
OathK1per 2023-06-13 10:42:15 +08:00
parent ffdd6fcf14
commit 9060f1f2c9
12 changed files with 400 additions and 118 deletions

View File

@ -152,10 +152,10 @@ public class ProjectController extends BaseController {
downloadHeader(httpServletResponse, Utils.generateExcelName("项目报表"), "application/octet-stream");
String[] headers = {"项目编号", "项目名称", "项目类型", "垫资模式", "垫资利息", "垫资峰值", "项目合同金额", "项目毛利", "项目毛利率", "项目把握度", "汇智产品金额", "华智产品金额",
"华三产品金额", "其他产品金额", "项目当前状态", "行业场景应用", "解决方案", "客户名称", "最终用户名称", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "战略合作对象",
"项目负责人", "价值及风险", "主合同收款条款", "主合同具体解决方案", "计收计划", "审核状态", "当前审核人", "项目创建者", "部门名称","项目阶段", "当前进度描述", "下一步计划", "项目开始时间", "项目结束时间", "最后更新时间"};
"项目负责人", "价值及风险", "主合同收款条款", "主合同具体解决方案", "计收计划", "审核状态", "当前审核人", "项目创建者", "部门名称","项目阶段", "公司销售阶段", "当前进度描述", "下一步计划", "项目开始时间", "项目结束时间", "最后更新时间"};
String[] exportColumns = {"projectNo", "name", "typeDesc", "underwrittenModeStr", "advanceInterestAmountRound", "advancePeakAmountRound", "contractRound", "grossProfitRound", "grossProfitMarginRound", "certaintyStr", "huizhiRound", "huazhiRound",
"huasanRound", "ziguangRound", "statusDesc", "industryScenario", "resolvePlanStr", "customer", "terminalCustomer", "contractTimeStr", "bidsTimeStr", "isSecondStr", "signTypeStr", "collaborator",
"principal", "valueRisk", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "approveStatusDesc", "approveName", "creatorName", "deptName","stageName", "stageRemark", "nextPlan", "startDateStr", "endDateStr", "lastUpdateTimeStr"};
"principal", "valueRisk", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "approveStatusDesc", "approveName", "creatorName", "deptName","stageName", "saleStageName", "stageRemark", "nextPlan", "startDateStr", "endDateStr", "lastUpdateTimeStr"};
ExportUtils.exportToExcel(headers, exportColumns, 1, 10000,
httpServletResponse.getOutputStream(), (pN, pS) -> projectService.list(searchInfo, pN, pS).getList());
}
@ -173,10 +173,10 @@ public class ProjectController extends BaseController {
ExportExcelUtils exportExcelUtils = new ExportExcelUtils();
String[] headers0 = {"部门名称", "项目编号", "项目名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "合作对象", "垫资利息", "垫资峰值", "合同金额",
"项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案", "客户名称", "最终用户名称",
"价值及风险", "项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "主合同收款条款", "主合同具体解决方案", "计收计划","项目阶段", "当前进度描述", "下一步计划"};
"价值及风险", "项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "主合同收款条款", "主合同具体解决方案", "计收计划","项目阶段", "公司销售阶段", "当前进度描述", "下一步计划"};
String[] columns0 = {"deptName", "projectNo", "name", "typeDesc", "startDate", "endDate", "underwrittenModeStr", "collaborator", "advanceInterestAmountRound", "advancePeakAmountRound", "contractRound",
"grossProfitRound", "grossProfitMarginRound", "huazhiRound", "huizhiRound", "huasanRound", "ziguangRound", "certaintyStr", "industryScenario", "resolvePlanStr", "customer", "terminalCustomer",
"valueRisk", "principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection","stageName", "stageRemark", "nextPlan"};
"valueRisk", "principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection","stageName", "saleStageName", "stageRemark", "nextPlan"};
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目立项(概算)信息", outputStream);
if (project.getStatus() < 5) {
@ -322,6 +322,11 @@ public class ProjectController extends BaseController {
model.put("estimateBean", estimateBean);
//freemarker可以利用的静态方法
model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils"));
if (project.getStatus() >= 5) {
model.put("saveStage", 1);
} else {
model.put("saveStage", 0);
}
return "admin/project_estimate_edit";
}
@ -331,7 +336,17 @@ public class ProjectController extends BaseController {
@RequestMapping("/estimateEditSave")
public String estimateEditSave(Project project, EstimateBean estimateBean, Map<String, Object> model) {
Project projectInDb = projectService.getProject(project.getId());
projectEstimateService.estimateEditSave(project, projectInDb, estimateBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT);
projectEstimateService.estimateEditSave(project, projectInDb, estimateBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT, StatusEnum.ESTIMATE_ACCOUNTS);
return "redirect:/project/list";
}
/**
*
*/
@RequestMapping("/estimateEditSaveAfter")
public String estimateEditSaveAfter(Project project, EstimateBean estimateBean, Map<String, Object> model) {
Project projectInDb = projectService.getProject(project.getId());
projectEstimateService.estimateEditSave(project, projectInDb, estimateBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_PASSED, StatusEnum.BUDGET_ACCOUNTS);
return "redirect:/project/list";
}
@ -631,10 +646,10 @@ public class ProjectController extends BaseController {
downloadHeader(httpServletResponse, Utils.generateExcelName("待我审核项目报表"), "application/octet-stream");
String[] headers = {"项目编号", "项目名称", "项目类型", "垫资模式", "垫资利息", "垫资峰值", "项目合同金额", "项目毛利", "项目毛利率", "项目把握度", "汇智产品金额", "华智产品金额",
"华三产品金额", "其他产品金额", "项目当前状态", "行业场景应用", "解决方案", "客户名称", "最终用户名称", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "战略合作对象",
"项目负责人", "价值及风险", "主合同收款条款", "主合同具体解决方案", "计收计划", "审核状态", "当前审核人", "项目创建者", "部门名称","项目阶段", "当前阶段描述", "下一步计划", "项目开始时间", "项目结束时间", "最后更新时间"};
"项目负责人", "价值及风险", "主合同收款条款", "主合同具体解决方案", "计收计划", "审核状态", "当前审核人", "项目创建者", "部门名称","项目阶段", "公司销售阶段", "当前阶段描述", "下一步计划", "项目开始时间", "项目结束时间", "最后更新时间"};
String[] exportColumns = {"projectNo", "name", "typeDesc", "underwrittenModeStr", "advanceInterestAmountRound", "advancePeakAmountRound", "contractRound", "grossProfitRound", "grossProfitMarginRound", "certaintyStr", "huizhiRound", "huazhiRound",
"huasanRound", "ziguangRound", "statusDesc", "industryScenario", "resolvePlanStr", "customer", "terminalCustomer", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "collaborator",
"principal", "valueRisk", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "approveStatusDesc", "approveName", "creatorName", "deptName", "stageName", "stageRemark", "nextPlan", "startDate","endDate", "lastUpdateTime"};
"principal", "valueRisk", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "approveStatusDesc", "approveName", "creatorName", "deptName", "stageName", "saleStageName", "stageRemark", "nextPlan", "startDate","endDate", "lastUpdateTime"};
ExportUtils.exportToExcel(headers, exportColumns, 1, 10000,
httpServletResponse.getOutputStream(), (pN, pS) -> projectService.findMyApproveProjects(searchInfo, InterfaceUtil.getAdminId(), pN, pS).getList());
}
@ -1165,10 +1180,10 @@ public class ProjectController extends BaseController {
ExportExcelUtils exportExcelUtils = new ExportExcelUtils();
String[] headers0 = {"部门名称", "项目编号", "项目名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "合作对象", "垫资利息", "垫资峰值",
"合同金额", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案",
"客户名称", "最终用户名称", "价值及风险", "项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "主合同收款条款", "主合同具体解决方案", "计收计划", "项目阶段", "当前进度描述", "下一步计划"};
"客户名称", "最终用户名称", "价值及风险", "项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "主合同收款条款", "主合同具体解决方案", "计收计划", "项目阶段", "公司销售阶段", "当前进度描述", "下一步计划"};
String[] columns0 = {"deptName", "projectNo", "name", "typeDesc", "startDate", "endDate", "underwrittenModeStr", "collaborator", "advanceInterestAmountRound", "advancePeakAmountRound",
"contractRound", "grossProfitRound", "grossProfitMarginRound", "huazhiRound", "huizhiRound", "huasanRound", "ziguangRound", "certaintyStr", "industryScenario", "resolvePlanStr",
"customer", "terminalCustomer", "valueRisk", "principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "stageName", "stageRemark", "nextPlan"};
"customer", "terminalCustomer", "valueRisk", "principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "stageName", "saleStageName", "stageRemark", "nextPlan"};
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目立项(概算)信息", outputStream);
exportExcelUtils.end(outputStream);

View File

@ -259,6 +259,9 @@ public class Project {
@Column(name = "stage")
private Integer stage;
@Column(name = "sale_stage")
private Integer saleStage;
@Column(name = "stage_remark")
private String stageRemark;
@ -337,6 +340,9 @@ public class Project {
@Transient
private String stageName;
@Transient
private String saleStageName;
@Transient
private String startDateStr;
@ -1112,4 +1118,20 @@ public class Project {
public void setNextPlan(String nextPlan) {
this.nextPlan = nextPlan;
}
public Integer getSaleStage() {
return saleStage;
}
public void setSaleStage(Integer saleStage) {
this.saleStage = saleStage;
}
public String getSaleStageName() {
return saleStageName;
}
public void setSaleStageName(String saleStageName) {
this.saleStageName = saleStageName;
}
}

View File

@ -296,7 +296,7 @@ public class ProjectEstimateService {
Integer approveStatusEstimate = projectInDb.getApproveStatusEstimate();
Project estimateProject = estimateEditSave(project, projectInDb, estimateBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
Project estimateProject = estimateEditSave(project, projectInDb, estimateBean, admin, ApproveStatusEnum.APPROVAL_PENDING, StatusEnum.ESTIMATE_ACCOUNTS);
projectBudgetSave(estimateProject);
@ -392,10 +392,10 @@ public class ProjectEstimateService {
*
*/
@Transactional(rollbackFor = RuntimeException.class)
public Project estimateEditSave(Project project, Project projectInDb, EstimateBean estimateBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
public Project estimateEditSave(Project project, Project projectInDb, EstimateBean estimateBean, Admin admin, ApproveStatusEnum approveStatusEnum, StatusEnum statusEnum) {
Project p = projectService.estimateEditProject(project, projectInDb);
p.setStatus(StatusEnum.ESTIMATE_ACCOUNTS.getStatus());
p.setStatusDesc(StatusEnum.ESTIMATE_ACCOUNTS.getStatusDesc());
p.setStatus(statusEnum.getStatus());
p.setStatusDesc(statusEnum.getStatusDesc());
p.setApproveStatusEstimate(approveStatusEnum.getApproveStatus());
p = projectRepository.saveAndFlush(p);

View File

@ -117,6 +117,9 @@ public class ProjectService {
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("saleStage")) && !"-1".equals(searchInfo.get("saleStage"))) {
queryHelper.addCondition("p.saleStage=?", Integer.parseInt(searchInfo.get("saleStage")));
}
if (StrUtil.isNotEmpty(searchInfo.get("isSecond")) && !"-1".equals(searchInfo.get("isSecond"))) {
queryHelper.addCondition("p.is_second=?", Integer.parseInt(searchInfo.get("isSecond")));
}
@ -290,8 +293,10 @@ public class ProjectService {
}
if(null == project.getStage()){
project.setStageName(getStageName(-1));
project.setSaleStageName(getSaleStageName(-1));
}else {
project.setStageName(getStageName(project.getStage()));
project.setSaleStageName(getSaleStageName(project.getSaleStage()));
}
}
}
@ -300,15 +305,37 @@ public class ProjectService {
public String getStageName(int stage){
if(stage == 0){
return "S0-概算立项";
return "C0、项目可研";
}else if(stage == 1){
return "S1-项目调研";
return "C1、项目申报";
}else if(stage == 2){
return "S2-方案设计";
return "C2、项目设计";
}else if(stage == 3){
return "S3-预算评估";
return "C3、项目财评";
}else if(stage == 4){
return "S4-招标期";
return "C4、项目立项评审";
}else if(stage == 5){
return "C5、项目公示期";
}else if(stage == 6){
return "C6、项目合同期";
}else if(stage == 7){
return "C7、项目结算期";
}else {
return "无项目阶段";
}
}
public String getSaleStageName(int stage){
if(stage == 0){
return "S0-商机线索";
}else if(stage == 1){
return "S1-需求摸索";
}else if(stage == 2){
return "S2-标前引导";
}else if(stage == 3){
return "S3-预算评审";
}else if(stage == 4){
return "S4-招投标期";
}else if(stage == 5){
return "S5-合同期";
}else if(stage == 6){
@ -318,9 +345,11 @@ public class ProjectService {
}else if(stage == 8){
return "S8-决算期";
}else if(stage == 9){
return "L-项目丢失";
return "L-项目丢单";
}else if(stage == 10){
return "S-暂停期";
}else {
return "无项目阶段";
return "无公司销售阶段";
}
}
@ -353,8 +382,10 @@ public class ProjectService {
}
if(null == project.getStage()){
project.setStageName(getStageName(-1));
project.setSaleStageName(getSaleStageName(-1));
}else {
project.setStageName(getStageName(project.getStage()));
project.setSaleStageName(getSaleStageName(project.getSaleStage()));
}
}
}
@ -786,8 +817,10 @@ public class ProjectService {
if(null == first.getStage()){
first.setStageName(getStageName(-1));
first.setSaleStageName(getSaleStageName(-1));
}else {
first.setStageName(getStageName(first.getStage()));
first.setSaleStageName(getSaleStageName(first.getSaleStage()));
}
return first;
}
@ -955,6 +988,7 @@ public class ProjectService {
public ResponseMsg stageRefreshSave(String json,int projectId) {
JSONObject obj = JSON.parseObject(json);
int stage = obj.getIntValue("stage");
int saleStage = obj.getIntValue("saleStage");
String stageRemark = obj.getString("stageRemark");
String nextPlan = obj.getString("nextPlan");
@ -964,6 +998,7 @@ public class ProjectService {
}
project.setStage(stage);
project.setSaleStage(saleStage);
project.setStageRemark(stageRemark);
project.setNextPlan(nextPlan);
projectRepository.saveAndFlush(project);

View File

@ -1,7 +1,7 @@
spring.datasource.url=jdbc:mysql://192.168.1.100:3306/fourcal?\
characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
spring.datasource.username=root
spring.datasource.password=zytx123!@#
spring.datasource.password=Qwer123!@#$
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
#spring.jpa.properties.hibernate.hbm2ddl.auto=update

View File

@ -1,7 +1,7 @@
spring.datasource.url=jdbc:mysql://192.168.1.100:3306/fourcal?\
characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&rewriteBatchedStatements=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=zytx123!@#
spring.datasource.password=Qwer123!@#$
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
#spring.jpa.properties.hibernate.hbm2ddl.auto=update

View File

@ -409,28 +409,54 @@
</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" >
<td class="table-title" colspan="2" >
<#if project.stage??>
<#if (project.stage) =0>
<input readonly value="S0-概算立项"/>
<input readonly value="C0、项目可研"/>
<#elseif (project.stage) =1>
<input readonly value="S1-项目调研"/>
<input readonly value="C1、项目申报"/>
<#elseif (project.stage) =2>
<input readonly value="S2-方案设计"/>
<input readonly value="C2、项目设计"/>
<#elseif (project.stage) =3>
<input readonly value="S3-预算评估"/>
<input readonly value="C3、项目财评"/>
<#elseif (project.stage) =4>
<input readonly value="S4-招标期"/>
<input readonly value="C4、项目立项评审"/>
<#elseif (project.stage) =5>
<input readonly value="S5-合同期"/>
<input readonly value="C5、项目公示期"/>
<#elseif (project.stage) =6>
<input readonly value="S6-交付期"/>
<input readonly value="C6、项目合同期"/>
<#elseif (project.stage) =7>
<input readonly value="C7、项目结算期"/>
</#if>
<#else>
<input readonly value=""/>
</#if>
</td>
<th class="table-title" colspan="1" ><span style="font-size: 15px">公司销售阶段:</span></th>
<td class="table-title" colspan="2" >
<#if project.saleStage??>
<#if (project.saleStage) =0>
<input readonly value="S0-商机线索"/>
<#elseif (project.saleStage) =1>
<input readonly value="S1-需求摸索"/>
<#elseif (project.saleStage) =2>
<input readonly value="S2-标前引导"/>
<#elseif (project.saleStage) =3>
<input readonly value="S3-预算评审"/>
<#elseif (project.saleStage) =4>
<input readonly value="S4-招投标期"/>
<#elseif (project.saleStage) =5>
<input readonly value="S5-合同期"/>
<#elseif (project.saleStage) =6>
<input readonly value="S6-交付期"/>
<#elseif (project.saleStage) =7>
<input readonly value="S7-结算期"/>
<#elseif (project.stage) =8>
<#elseif (project.saleStage) =8>
<input readonly value="S8-决算期"/>
<#elseif (project.stage) =9>
<input readonly value="L-项目丢失"/>
<#elseif (project.saleStage) =9>
<input readonly value="L-项目丢单"/>
<#elseif (project.saleStage) =9>
<input readonly value="S-暂停期"/>
</#if>
<#else>
<input readonly value=""/>

View File

@ -326,28 +326,54 @@
</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" >
<td class="table-title" colspan="2" >
<#if project.stage??>
<#if (project.stage) =0>
<input readonly value="S0-概算立项"/>
<input readonly value="C0、项目可研"/>
<#elseif (project.stage) =1>
<input readonly value="S1-项目调研"/>
<input readonly value="C1、项目申报"/>
<#elseif (project.stage) =2>
<input readonly value="S2-方案设计"/>
<input readonly value="C2、项目设计"/>
<#elseif (project.stage) =3>
<input readonly value="S3-预算评估"/>
<input readonly value="C3、项目财评"/>
<#elseif (project.stage) =4>
<input readonly value="S4-招标期"/>
<input readonly value="C4、项目立项评审"/>
<#elseif (project.stage) =5>
<input readonly value="S5-合同期"/>
<input readonly value="C5、项目公示期"/>
<#elseif (project.stage) =6>
<input readonly value="S6-交付期"/>
<input readonly value="C6、项目合同期"/>
<#elseif (project.stage) =7>
<input readonly value="C7、项目结算期"/>
</#if>
<#else>
<input readonly value=""/>
</#if>
</td>
<th class="table-title" colspan="1" ><span style="font-size: 15px">公司销售阶段:</span></th>
<td class="table-title" colspan="2" >
<#if project.saleStage??>
<#if (project.saleStage) =0>
<input readonly value="S0-商机线索"/>
<#elseif (project.saleStage) =1>
<input readonly value="S1-需求摸索"/>
<#elseif (project.saleStage) =2>
<input readonly value="S2-标前引导"/>
<#elseif (project.saleStage) =3>
<input readonly value="S3-预算评审"/>
<#elseif (project.saleStage) =4>
<input readonly value="S4-招投标期"/>
<#elseif (project.saleStage) =5>
<input readonly value="S5-合同期"/>
<#elseif (project.saleStage) =6>
<input readonly value="S6-交付期"/>
<#elseif (project.saleStage) =7>
<input readonly value="S7-结算期"/>
<#elseif (project.stage) =8>
<#elseif (project.saleStage) =8>
<input readonly value="S8-决算期"/>
<#elseif (project.stage) =9>
<input readonly value="L-项目丢失"/>
<#elseif (project.saleStage) =9>
<input readonly value="L-项目丢单"/>
<#elseif (project.saleStage) =9>
<input readonly value="S-暂停期"/>
</#if>
<#else>
<input readonly value=""/>

View File

@ -331,16 +331,32 @@
<th class="table-title" colspan="1" ><span style="font-size: 15px">项目阶段:</span></th>
<td class="table-title" colspan="1" >
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}" id="stage" name="stage">
<option value="0">S0-概算立项</option>
<option value="1">S1-项目调研</option>
<option value="2">S2-方案设计</option>
<option value="3">S3-预算评估</option>
<option value="4">S4-招标期</option>
<option value="0" >C0、项目可研</option>
<option value="1" >C1、项目申报</option>
<option value="2" >C2、项目设计</option>
<option value="3" >C3、项目财评</option>
<option value="4" >C4、项目立项评审</option>
<option value="5" >C5、项目公示期</option>
<option value="6" >C6、项目合同期</option>
<option value="7" >C7、项目结算期</option>
</select>
</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="1" >
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}" id="saleStage" name="saleStage">
<option value="0" >S0-商机线索</option>
<option value="1" >S1-需求摸索</option>
<option value="2" >S2-标前引导</option>
<option value="3" >S3-预算评审</option>
<option value="4" >S4-招投标期</option>
<option value="5" >S5-合同期</option>
<option value="6" >S6-交付期</option>
<option value="7" >S7-结算期</option>
<option value="8" >S8-决算期</option>
<option value="9">L-项目丢失</option>
<option value="9" >L-项目丢单</option>
<option value="10" >S-暂停期</option>
</select>
</td>
</tr>

View File

@ -378,16 +378,30 @@
<th class="table-title" colspan="1" ><span style="font-size: 15px">项目阶段:</span></th>
<td class="table-title" colspan="1" >
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}" id="stage" name="stage">
<option value="0" <#if project.stage?? && project.stage=0>selected</#if>>S0-概算立项</option>
<option value="1" <#if project.stage?? && project.stage=1>selected</#if>>S1-项目调研</option>
<option value="2" <#if project.stage?? && project.stage=2>selected</#if>>S2-方案设计</option>
<option value="3" <#if project.stage?? && project.stage=3>selected</#if>>S3-预算评估</option>
<option value="4" <#if project.stage?? && project.stage=4>selected</#if>>S4-招标期</option>
<option value="5" <#if project.stage?? && project.stage=5>selected</#if>>S5-合同期</option>
<option value="6" <#if project.stage?? && project.stage=6>selected</#if>>S6-交付期</option>
<option value="7" <#if project.stage?? && project.stage=7>selected</#if>>S7-结算期</option>
<option value="8" <#if project.stage?? && project.stage=8>selected</#if>>S8-决算期</option>
<option value="9" <#if project.stage?? && project.stage=9>selected</#if>>L-项目丢失</option>
<option value="0" <#if project.stage?? && project.stage=0>selected</#if>>C0、项目可研</option>
<option value="1" <#if project.stage?? && project.stage=1>selected</#if>>C1、项目申报</option>
<option value="2" <#if project.stage?? && project.stage=2>selected</#if>>C2、项目设计</option>
<option value="3" <#if project.stage?? && project.stage=3>selected</#if>>C3、项目财评</option>
<option value="4" <#if project.stage?? && project.stage=4>selected</#if>>C4、项目立项评审</option>
<option value="5" <#if project.stage?? && project.stage=5>selected</#if>>C5、项目公示期</option>
<option value="6" <#if project.stage?? && project.stage=6>selected</#if>>C6、项目合同期</option>
<option value="7" <#if project.stage?? && project.stage=7>selected</#if>>C7、项目结算期</option>
</select>
</td>
<th class="table-title" colspan="1" ><span style="font-size: 15px">公司销售阶段:</span></th>
<td class="table-title" colspan="1" >
<select data-am-selected="{btnSize: 'sm',btnWidth: '80%',searchBox: 1}" id="saleStage" name="saleStage">
<option value="0" <#if project.saleStage?? && project.saleStage=0>selected</#if>>S0-商机线索</option>
<option value="1" <#if project.saleStage?? && project.saleStage=1>selected</#if>>S1-需求摸索</option>
<option value="2" <#if project.saleStage?? && project.saleStage=2>selected</#if>>S2-标前引导</option>
<option value="3" <#if project.saleStage?? && project.saleStage=3>selected</#if>>S3-预算评审</option>
<option value="4" <#if project.saleStage?? && project.saleStage=4>selected</#if>>S4-招投标期</option>
<option value="5" <#if project.saleStage?? && project.saleStage=5>selected</#if>>S5-合同期</option>
<option value="6" <#if project.saleStage?? && project.saleStage=6>selected</#if>>S6-交付期</option>
<option value="7" <#if project.saleStage?? && project.saleStage=7>selected</#if>>S7-结算期</option>
<option value="8" <#if project.saleStage?? && project.saleStage=8>selected</#if>>S8-决算期</option>
<option value="9" <#if project.saleStage?? && project.saleStage=9>selected</#if>>L-项目丢单</option>
<option value="10" <#if project.saleStage?? && project.saleStage=10>selected</#if>>S-暂停期</option>
</select>
</td>
</tr>
@ -656,8 +670,12 @@
<!--选项卡tabsend-->
<div class="am-margin">
<button type="button" class="am-btn am-btn-warning am-btn-xs" onclick="javascript:history.go(-1);">返回上一级</button>
<#if saveStage?? && saveStage=0>
<button type="button" class="am-btn am-btn-primary am-btn-xs" id="saveDraft">保存草稿</button>
<button type="button" class="am-btn am-btn-primary am-btn-xs" id="saveApprove">提交审核</button>
<#elseif saveStage?? && saveStage=1>
<button type="button" class="am-btn am-btn-primary am-btn-xs" id="saveDraftAfter">保存</button>
</#if>
</div>
</form>
@ -725,6 +743,21 @@
$("#pmsForm").attr("action","${base}/project/estimateEditSave");
$("#pmsForm").submit();
});
$("#saveDraftAfter").click(function () {
$("#collaboratorUrl").val($("#collaboratorUrl_span").text());
check = 0;
$("#saveDraftAfter").attr('disabled',true);
// checkIfFillIn();
if (check == 1) {
$("#saveDraftAfter").attr('disabled', false);
return;
}
setTimeout(function () {
$("#saveDraftAfter").attr('disabled', false);
}, 5000);
$("#pmsForm").attr("action","${base}/project/estimateEditSaveAfter");
$("#pmsForm").submit();
});
$("#saveApprove").click(function () {
$("#collaboratorUrl").val($("#collaboratorUrl_span").text());

View File

@ -518,16 +518,33 @@
<div class="st-col-field">
<select data-am-selected="{btnSize: 'sm',btnWidth: '100%',maxHeight: 130,searchBox: 1}" id="stage" name="stage">
<option value="-1">全部</option>
<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>
<option value="0" <#if stage?? && stage='0'>selected</#if>>C0、项目可研</option>
<option value="1" <#if stage?? && stage='1'>selected</#if>>C1、项目申报</option>
<option value="2" <#if stage?? && stage='2'>selected</#if>>C2、项目设计</option>
<option value="3" <#if stage?? && stage='3'>selected</#if>>C3、项目财评</option>
<option value="4" <#if stage?? && stage='4'>selected</#if>>C4、项目立项评审</option>
<option value="5" <#if stage?? && stage='5'>selected</#if>>C5、项目公示期</option>
<option value="6" <#if stage?? && stage='6'>selected</#if>>C6、项目合同期</option>
<option value="7" <#if stage?? && stage='7'>selected</#if>>C7、项目结算期</option>
</select>
</div>
</div>
<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: 130,searchBox: 1}" id="saleStage" name="saleStage">
<option value="-1">全部</option>
<option value="0" <#if saleStage?? && saleStage='0'>selected</#if>>S0-商机线索</option>
<option value="1" <#if saleStage?? && saleStage='1'>selected</#if>>S1-需求摸索</option>
<option value="2" <#if saleStage?? && saleStage='2'>selected</#if>>S2-标前引导</option>
<option value="3" <#if saleStage?? && saleStage='3'>selected</#if>>S3-预算评审</option>
<option value="4" <#if saleStage?? && saleStage='4'>selected</#if>>S4-招投标期</option>
<option value="5" <#if saleStage?? && saleStage='5'>selected</#if>>S5-合同期</option>
<option value="6" <#if saleStage?? && saleStage='6'>selected</#if>>S6-交付期</option>
<option value="7" <#if saleStage?? && saleStage='7'>selected</#if>>S7-结算期</option>
<option value="8" <#if saleStage?? && saleStage='8'>selected</#if>>S8-决算期</option>
<option value="9" <#if saleStage?? && saleStage='9'>selected</#if>>L-项目丢单</option>
<option value="10" <#if saleStage?? && saleStage='10'>selected</#if>>S-暂停期</option>
</select>
</div>
</div>
@ -863,6 +880,7 @@
<th class="table-title xmmc">项目名称<i class="am-icon-caret-down" <#if orderTypeStr == "projectNameDown">style="color: red"</#if> onclick="sub_function('projectNameDown')"></i><i class="am-icon-caret-up" <#if orderTypeStr == "projectNameUp">style="color: red"</#if> onclick="sub_function('projectNameUp')"></i></th>
<th class="table-title rm50" >项目类型<i class="am-icon-caret-down" <#if orderTypeStr == "projectTypeDown">style="color: red"</#if> onclick="sub_function('projectTypeDown')"></i><i class="am-icon-caret-up" <#if orderTypeStr == "projectTypeUp">style="color: red"</#if> onclick="sub_function('projectTypeUp')"></i></th>
<th class="table-title rm50" >项目阶段</th>
<th class="table-title rm50" >公司销售阶段</th>
<#--<th class="table-title">垫资模式<i class="am-icon-caret-down" <#if orderTypeStr == "underModeDown">style="color: red"</#if> onclick="sub_function('underModeDown')"></i><i class="am-icon-caret-up" <#if orderTypeStr == "underModeUp">style="color: red"</#if> onclick="sub_function('underModeUp')"></i></th>-->
<#--<th class="table-title">垫资利息<i class="am-icon-caret-down" <#if orderTypeStr == "underIntDown">style="color: red"</#if> onclick="sub_function('underIntDown')"></i><i class="am-icon-caret-up" <#if orderTypeStr == "underIntUp">style="color: red"</#if> onclick="sub_function('underIntUp')"></i></th>-->
<#--<th class="table-title">垫资峰值<i class="am-icon-caret-down" <#if orderTypeStr == "underPeakDown">style="color: red"</#if> onclick="sub_function('underPeakDown')"></i><i class="am-icon-caret-up" <#if orderTypeStr == "underPeakUp">style="color: red"</#if> onclick="sub_function('underPeakUp')"></i></th>-->
@ -914,16 +932,32 @@
<#--项目阶段-->
<td class="rm50">
<#if list.stage??>
<#if list.stage==0>S0-概算立项
<#elseif list.stage==1>S1-项目调研
<#elseif list.stage==2>S2-方案设计
<#elseif list.stage==3>S3-预算评估
<#elseif list.stage==4>S4-招标期
<#elseif list.stage==5>S5-合同期
<#elseif list.stage==6>S6-交付期
<#elseif list.stage==7>S7-结算期
<#elseif list.stage==8>S8-决算期
<#elseif list.stage==9>L-项目丢失
<#if list.stage==0>C0、项目可研
<#elseif list.stage==1>C1、项目申报
<#elseif list.stage==2>C2、项目设计
<#elseif list.stage==3>C3、项目财评
<#elseif list.stage==4>C4、项目立项评审
<#elseif list.stage==5>C5、项目公示期
<#elseif list.stage==6>C6、项目合同期
<#elseif list.stage==7>C7、项目结算期
</#if>
<#else>
</#if>
</td>
<#--公司销售阶段-->
<td class="rm50">
<#if list.saleStage??>
<#if list.saleStage==0>S0-商机线索
<#elseif list.saleStage==1>S1-需求摸索
<#elseif list.saleStage==2>S2-标前引导
<#elseif list.saleStage==3>S3-预算评审
<#elseif list.saleStage==4>S4-招投标期
<#elseif list.saleStage==5>S5-合同期
<#elseif list.saleStage==6>S6-交付期
<#elseif list.saleStage==7>S7-结算期
<#elseif list.saleStage==8>S8-决算期
<#elseif list.saleStage==9>L-项目丢单
<#elseif list.saleStage==10>S-暂停期
</#if>
<#else>
</#if>
@ -1018,7 +1052,16 @@
<#--<@shiro.hasPermission name="PROJECT_EDIT">-->
<#-- 项目等于概算状态、概算审核为草稿和不通过状态-->
<#if list.creatorId==adminId && list.status==1 && (list.approveStatusEstimate==0 || list.approveStatusEstimate==3)>
<#if list.creatorId==adminId && list.status=1 && (list.approveStatusEstimate==0 || list.approveStatusEstimate==3)>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/edit?id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>编辑概算
</button>
</#if>
<#-- 项目等于预算状态、预算审核为草稿和不通过状态-->
<#if list.creatorId==adminId && list.status=5 && (list.approveStatusEstimate==0 || list.approveStatusEstimate==3)>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/edit?id=${list.id}'"><span
@ -1307,16 +1350,36 @@
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 300,searchBox: 1}"
id="modalStage" name="modalStage">
<option value="0" >S0-概算立项</option>
<option value="1" >S1-项目调研</option>
<option value="2" >S2-方案设计</option>
<option value="3" >S3-预算评估</option>
<option value="4" >S4-招标期</option>
<option value="0" >C0、项目可研</option>
<option value="1" >C1、项目申报</option>
<option value="2" >C2、项目设计</option>
<option value="3" >C3、项目财评</option>
<option value="4" >C4、项目立项评审</option>
<option value="5" >C5、项目公示期</option>
<option value="6" >C6、项目合同期</option>
<option value="7" >C7、项目结算期</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">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 300,searchBox: 1}"
id="modalSaleStage" name="modalSaleStage">
<option value="0" >S0-商机线索</option>
<option value="1" >S1-需求摸索</option>
<option value="2" >S2-标前引导</option>
<option value="3" >S3-预算评审</option>
<option value="4" >S4-招投标期</option>
<option value="5" >S5-合同期</option>
<option value="6" >S6-交付期</option>
<option value="7" >S7-结算期</option>
<option value="8" >S8-决算期</option>
<option value="9" >L-项目丢失</option>
<option value="9" >L-项目丢单</option>
<option value="10" >S-暂停期</option>
</select>
</div>
<div class="am-u-sm-3 am-u-md-3 input-msg"></div>
@ -1491,6 +1554,8 @@
keywordsObj.otherEnd = $("#otherEnd").val();
if ($("#stage").val())
keywordsObj.stage = $("#stage").val();
if ($("#saleStage").val())
keywordsObj.saleStage = $("#saleStage").val();
}
if ($("#customer").val())
keywordsObj.customer = $("#customer").val();
@ -1633,6 +1698,8 @@
keywordsObj.otherEnd = $("#otherEnd").val();
if ($("#stage").val())
keywordsObj.stage = $("#stage").val();
if ($("#saleStage").val())
keywordsObj.saleStage = $("#saleStage").val();
}
if ($("#customer").val())
keywordsObj.customer = $("#customer").val();
@ -1739,6 +1806,7 @@
*/
var stageRefreshSave = function () {
var stage = $("#modalStage").val();
var saleStage = $("#modalSaleStage").val();
var stageRemark = $("#stageRemark").val();
var nextPlan = $("#nextPlan").val();
var projectId = $("#stageProjectId").val();
@ -1746,6 +1814,10 @@
layer.alert("请选择项目阶段");
return;
}
if (saleStage == '') {
layer.alert("请选择公司销售阶段");
return;
}
if (stageRemark == '') {
layer.alert("请填写当前进度描述");
return;
@ -1753,6 +1825,7 @@
var params = {
stage: stage,
saleStage: saleStage,
stageRemark: stageRemark,
nextPlan: nextPlan
};
@ -1914,6 +1987,8 @@
success: function (data) {
$("#modalStage").val(data.data.stage);
$("#modalStage option[value='"+data.data.stage+"']").attr("selected","selected");
$("#modalSaleStage").val(data.data.saleStage);
$("#modalSaleStage option[value='"+data.data.saleStage+"']").attr("selected","selected");
$("#stageRemark").val(data.data.stageRemark);
$("#nextPlan").val(data.data.nextPlan);
}

View File

@ -455,16 +455,33 @@
<div class="st-col-field">
<select data-am-selected="{btnSize: 'sm',btnWidth: '100%',maxHeight: 130,searchBox: 1}" id="stage" name="stage">
<option value="-1">全部</option>
<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>
<option value="0" <#if stage?? && stage='0'>selected</#if>>C0、项目可研</option>
<option value="1" <#if stage?? && stage='1'>selected</#if>>C1、项目申报</option>
<option value="2" <#if stage?? && stage='2'>selected</#if>>C2、项目设计</option>
<option value="3" <#if stage?? && stage='3'>selected</#if>>C3、项目财评</option>
<option value="4" <#if stage?? && stage='4'>selected</#if>>C4、项目立项评审</option>
<option value="5" <#if stage?? && stage='5'>selected</#if>>C5、项目公示期</option>
<option value="6" <#if stage?? && stage='6'>selected</#if>>C6、项目合同期</option>
<option value="7" <#if stage?? && stage='7'>selected</#if>>C7、项目结算期</option>
</select>
</div>
</div>
<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: 130,searchBox: 1}" id="saleStage" name="saleStage">
<option value="-1">全部</option>
<option value="0" <#if saleStage?? && saleStage='0'>selected</#if>>S0-商机线索</option>
<option value="1" <#if saleStage?? && saleStage='1'>selected</#if>>S1-需求摸索</option>
<option value="2" <#if saleStage?? && saleStage='2'>selected</#if>>S2-标前引导</option>
<option value="3" <#if saleStage?? && saleStage='3'>selected</#if>>S3-预算评审</option>
<option value="4" <#if saleStage?? && saleStage='4'>selected</#if>>S4-招投标期</option>
<option value="5" <#if saleStage?? && saleStage='5'>selected</#if>>S5-合同期</option>
<option value="6" <#if saleStage?? && saleStage='6'>selected</#if>>S6-交付期</option>
<option value="7" <#if saleStage?? && saleStage='7'>selected</#if>>S7-结算期</option>
<option value="8" <#if saleStage?? && saleStage='8'>selected</#if>>S8-决算期</option>
<option value="9" <#if saleStage?? && saleStage='9'>selected</#if>>L-项目丢单</option>
<option value="10" <#if saleStage?? && saleStage='10'>selected</#if>>S-暂停期</option>
</select>
</div>
</div>
@ -512,6 +529,7 @@
<#--<th class="table-title">垫资峰值</th>-->
<th class="table-title">项目合同金额</th>
<th class="table-title">项目阶段</th>
<th class="table-title rm50" >公司销售阶段</th>
<#--<th class="table-title">项目毛利</th>-->
<#--<th class="table-title">项目毛利率</th>-->
<#--<th class="table-title">项目把握度</th>-->
@ -563,16 +581,32 @@
<#--项目阶段-->
<td>
<#if list.stage??>
<#if list.stage==0>S0-概算立项
<#elseif list.stage==1>S1-项目调研
<#elseif list.stage==2>S2-方案设计
<#elseif list.stage==3>S3-预算评估
<#elseif list.stage==4>S4-招标期
<#elseif list.stage==5>S5-合同期
<#elseif list.stage==6>S6-交付期
<#elseif list.stage==7>S7-结算期
<#elseif list.stage==8>S8-决算期
<#elseif list.stage==9>L-项目丢失
<#if list.stage==0>C0、项目可研
<#elseif list.stage==1>C1、项目申报
<#elseif list.stage==2>C2、项目设计
<#elseif list.stage==3>C3、项目财评
<#elseif list.stage==4>C4、项目立项评审
<#elseif list.stage==5>C5、项目公示期
<#elseif list.stage==6>C6、项目合同期
<#elseif list.stage==7>C7、项目结算期
</#if>
<#else>
</#if>
</td>
<#--公司销售阶段-->
<td>
<#if list.saleStage??>
<#if list.saleStage==0>S0-商机线索
<#elseif list.saleStage==1>S1-需求摸索
<#elseif list.saleStage==2>S2-标前引导
<#elseif list.saleStage==3>S3-预算评审
<#elseif list.saleStage==4>S4-招投标期
<#elseif list.saleStage==5>S5-合同期
<#elseif list.saleStage==6>S6-交付期
<#elseif list.saleStage==7>S7-结算期
<#elseif list.saleStage==8>S8-决算期
<#elseif list.saleStage==9>L-项目丢单
<#elseif list.saleStage==10>S-暂停期
</#if>
<#else>
</#if>