Merge branch 'master' of gitee.com:ZhangYunTianXia/fourcal
commit
dc011016fe
|
@ -168,7 +168,7 @@ public class ProjectController extends BaseController {
|
|||
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"};
|
||||
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目立项(概算)基本信息", outputStream);
|
||||
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目立项(概算)信息", outputStream);
|
||||
// String[] headers1 = {"项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "主合同收款条款", "主合同具体解决方案", "计收计划"};
|
||||
// String[] columns1 = {"principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection"};
|
||||
// exportExcelUtils.exportProjectExcel(headers1, columns1, project, "yyyy-MM-dd", 0, "项目立项(概算)其他信息", outputStream);
|
||||
|
@ -194,9 +194,9 @@ public class ProjectController extends BaseController {
|
|||
} else {
|
||||
incomeTaxRates = incomeTaxSb.toString();
|
||||
}
|
||||
String[] headers2 = {"序号", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"};
|
||||
String[] columns2 = {"tempId", "type", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"};
|
||||
exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收款明细表", outputStream);
|
||||
String[] headers2 = {"序号", "类别", "名称", "规格类型", "参数", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"};
|
||||
String[] columns2 = {"tempId", "type", "name", "spec", "param", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"};
|
||||
exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收入明细表", outputStream);
|
||||
//收入计划
|
||||
List<ProjectBudgetIncomePlanDetail> budgetIncomePlanDetail = projectBudgetService.getBudgetIncomePlanDetail(project);
|
||||
BigDecimal incomePlanTotalReceiveAmount = projectBudgetService.getBudgetIncomePlanReceiveAmount(project);
|
||||
|
@ -224,7 +224,7 @@ public class ProjectController extends BaseController {
|
|||
} else {
|
||||
costTaxRates = costTaxSb.toString();
|
||||
}
|
||||
String[] headers3 = {"序号", "大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"};
|
||||
String[] headers3 = {"序号", "费用项目", "采购类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"};
|
||||
String[] columns3 = {"tempId", "type", "category", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax", "contractParty", "isUnderwritten", "underwrittenAmount", "payTime", "payAmount", "payWay", "remark"};
|
||||
exportExcelUtils.exportCostDetailExcel(headers3, columns3, project, budgetBean, budgetCostDetail, costTotalAmount, costUnderwrittenAmountTotal, costPayAmountTotal, procurementMap, "yyyy-MM-dd", 0, "采购成本明细表", outputStream);
|
||||
//项目管理成本明细
|
||||
|
@ -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
|
||||
*/
|
||||
|
@ -1046,8 +1054,8 @@ public class ProjectController extends BaseController {
|
|||
@RequestMapping("/incomeTemplate")
|
||||
public void incomeTemplate(HttpServletResponse response) throws Exception{
|
||||
|
||||
String[] headers = new String[]{"类别", "名称", "单位", "数量", "单价", "税率(%)"};
|
||||
downloadHeader(response , Utils.generateExcelName("收款明细表批量导入模板"));
|
||||
String[] headers = new String[]{"类别", "名称", "规格类型", "参数", "单位", "数量", "单价", "税率(%)"};
|
||||
downloadHeader(response , Utils.generateExcelName("收入明细表批量导入模板"));
|
||||
ExportUtils exportUtils = new ExportUtils(headers);
|
||||
exportUtils.write(response.getOutputStream());
|
||||
}
|
||||
|
@ -1081,7 +1089,7 @@ public class ProjectController extends BaseController {
|
|||
@RequestMapping("/costTemplate")
|
||||
public void costTemplate(HttpServletResponse response) throws Exception{
|
||||
|
||||
String[] headers = new String[]{"大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"};
|
||||
String[] headers = new String[]{"费用项目", "采购类别", "名称", "单位", "数量", "单价", "税率(%)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"};
|
||||
downloadHeader(response , Utils.generateExcelName("采购成本明细表批量导入模板"));
|
||||
ExportUtils exportUtils = new ExportUtils(headers);
|
||||
exportUtils.write(response.getOutputStream());
|
||||
|
@ -1114,7 +1122,7 @@ public class ProjectController extends BaseController {
|
|||
@RequestMapping("/estimateMainExport")
|
||||
public void estimateMainExport(HttpServletResponse response, @RequestParam int id) throws Exception{
|
||||
Project project = projectService.findById(id);
|
||||
response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-项目立项(概算)基本信息")).getBytes(), StandardCharsets.ISO_8859_1)));
|
||||
response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-项目立项(概算)信息")).getBytes(), StandardCharsets.ISO_8859_1)));
|
||||
response.setHeader("Connection", "close");
|
||||
response.setHeader("Content-Type", "application/vnd.ms-excel");
|
||||
ServletOutputStream outputStream = response.getOutputStream();
|
||||
|
@ -1125,7 +1133,7 @@ public class ProjectController extends BaseController {
|
|||
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"};
|
||||
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目立项(概算)基本信息", outputStream);
|
||||
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目立项(概算)信息", outputStream);
|
||||
|
||||
exportExcelUtils.end(outputStream);
|
||||
}
|
||||
|
@ -1155,7 +1163,7 @@ public class ProjectController extends BaseController {
|
|||
@RequestMapping("/incomeExport")
|
||||
public void incomeExport(HttpServletResponse response, @RequestParam int id) throws Exception{
|
||||
Project project = projectService.findById(id);
|
||||
response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-收款明细表")).getBytes(), StandardCharsets.ISO_8859_1)));
|
||||
response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-收入明细表")).getBytes(), StandardCharsets.ISO_8859_1)));
|
||||
response.setHeader("Connection", "close");
|
||||
response.setHeader("Content-Type", "application/vnd.ms-excel");
|
||||
ServletOutputStream outputStream = response.getOutputStream();
|
||||
|
@ -1164,9 +1172,9 @@ public class ProjectController extends BaseController {
|
|||
//收入明细
|
||||
List<ProjectBudgetIncomeDetail> budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project);
|
||||
BigDecimal incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project);
|
||||
String[] headers2 = {"序号", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"};
|
||||
String[] columns2 = {"tempId", "type", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"};
|
||||
exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收款明细表", outputStream);
|
||||
String[] headers2 = {"序号", "类别", "名称", "规格类型", "参数", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"};
|
||||
String[] columns2 = {"tempId", "type", "name", "spec", "param", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"};
|
||||
exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收入明细表", outputStream);
|
||||
|
||||
exportExcelUtils.end(outputStream);
|
||||
}
|
||||
|
@ -1212,7 +1220,7 @@ public class ProjectController extends BaseController {
|
|||
BigDecimal costPayAmountTotal = projectBudgetService.getBudgetCostPayAmountTotal(project);
|
||||
List<ProcurementType> procurementTypes = procurementTypeService.allProcurementTypeList();
|
||||
Map<Integer, String> procurementMap = procurementTypes.stream().collect(Collectors.toMap(ProcurementType::getId, ProcurementType::getName));
|
||||
String[] headers3 = {"序号", "大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"};
|
||||
String[] headers3 = {"序号", "费用项目", "采购类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"};
|
||||
String[] columns3 = {"tempId", "type", "category", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax", "contractParty", "isUnderwritten", "underwrittenAmount", "payTime", "payAmount", "payWay", "remark"};
|
||||
exportExcelUtils.exportCostDetailExcel(headers3, columns3, project, budgetBean, budgetCostDetail, costTotalAmount, costUnderwrittenAmountTotal, costPayAmountTotal, procurementMap, "yyyy-MM-dd", 0, "采购成本明细表", outputStream);
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,7 +3,7 @@ package cn.palmte.work.model;
|
|||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 项目预算收款明细表
|
||||
* 项目预算收入明细表
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "project_budget_income_detail")
|
||||
|
|
|
@ -26,6 +26,10 @@ public class ProjectBudgetIncomeDetailBase {
|
|||
|
||||
private String name;
|
||||
|
||||
private String spec;
|
||||
|
||||
private String param;
|
||||
|
||||
private String unit;
|
||||
private BigDecimal amount;
|
||||
private BigDecimal price;
|
||||
|
@ -65,6 +69,22 @@ public class ProjectBudgetIncomeDetailBase {
|
|||
this.name = name;
|
||||
}
|
||||
|
||||
public String getSpec() {
|
||||
return spec;
|
||||
}
|
||||
|
||||
public void setSpec(String spec) {
|
||||
this.spec = spec;
|
||||
}
|
||||
|
||||
public String getParam() {
|
||||
return param;
|
||||
}
|
||||
|
||||
public void setParam(String param) {
|
||||
this.param = param;
|
||||
}
|
||||
|
||||
public String getUnit() {
|
||||
return unit;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ public class ProjectBudgetIncomeDetailTemp extends ProjectBudgetIncomeDetailBase
|
|||
projectBudgetIncomeDetail.setProjectId(getProjectId());
|
||||
projectBudgetIncomeDetail.setName(getName());
|
||||
projectBudgetIncomeDetail.setType(getType());
|
||||
projectBudgetIncomeDetail.setSpec(getSpec());
|
||||
projectBudgetIncomeDetail.setParam(getParam());
|
||||
projectBudgetIncomeDetail.setUnit(getUnit());
|
||||
projectBudgetIncomeDetail.setAmount(getAmount());
|
||||
projectBudgetIncomeDetail.setPrice(getPrice());
|
||||
|
|
|
@ -4,7 +4,7 @@ import javax.persistence.Entity;
|
|||
import javax.persistence.Table;
|
||||
|
||||
/**
|
||||
* 项目预算收款明细表
|
||||
* 项目预算收入明细表
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "project_budget_income_plan_detail")
|
||||
|
|
|
@ -4,7 +4,7 @@ import javax.persistence.Entity;
|
|||
import javax.persistence.Table;
|
||||
|
||||
/**
|
||||
* 项目预算收款明细表
|
||||
* 项目预算收入明细表
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "project_budget_income_plan_detail_temp")
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
package cn.palmte.work.model;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface ProjectBudgetRepository extends JpaRepository<ProjectBudget, Integer> {
|
||||
}
|
|
@ -1070,6 +1070,12 @@ public class ProjectBudgetService {
|
|||
key = "名称";
|
||||
o1 = m.get(key);
|
||||
temp.setName((String) o1);
|
||||
key = "规格类型";
|
||||
o1 = m.get(key);
|
||||
temp.setName((String) o1);
|
||||
key = "参数";
|
||||
o1 = m.get(key);
|
||||
temp.setName((String) o1);
|
||||
key = "单位";
|
||||
o1 = m.get(key);
|
||||
temp.setUnit((String) o1);
|
||||
|
@ -1130,7 +1136,7 @@ public class ProjectBudgetService {
|
|||
String key;
|
||||
Object o1;
|
||||
temp.setProjectId(id);
|
||||
key = "大类";
|
||||
key = "费用项目";
|
||||
o1 = m.get(key);
|
||||
String type = (String) o1;
|
||||
if ("设备".equals(type)) {
|
||||
|
@ -1142,16 +1148,16 @@ public class ProjectBudgetService {
|
|||
} else if ("其他".equals(type)) {
|
||||
temp.setType(4);
|
||||
} else {
|
||||
throw new Exception("该大类不存在");
|
||||
throw new Exception("该费用项目不存在");
|
||||
}
|
||||
key = "类别";
|
||||
key = "采购类别";
|
||||
o1 = m.get(key);
|
||||
String category = (String) o1;
|
||||
ProcurementType procurementType = procurementTypeRepository.findByName(category);
|
||||
if (procurementType != null && procurementType.getType() == temp.getType()) {
|
||||
temp.setCategory(procurementType.getId());
|
||||
} else {
|
||||
throw new Exception("该类别不存在或者与大类不匹配");
|
||||
throw new Exception("该采购类别不存在或者与费用项目不匹配");
|
||||
}
|
||||
key = "名称";
|
||||
o1 = m.get(key);
|
||||
|
|
|
@ -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("保存成功");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5753,7 +5753,7 @@ CREATE TABLE `project_budget_income_detail` (
|
|||
`price` decimal(16,2) NOT NULL COMMENT '单价',
|
||||
`tax_rate` decimal(16,2) NOT NULL COMMENT '税率',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收款明细表';
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收入明细表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of project_budget_income_detail
|
||||
|
@ -5773,7 +5773,7 @@ CREATE TABLE `project_budget_income_detail_temp` (
|
|||
`price` decimal(16,2) NOT NULL COMMENT '单价',
|
||||
`tax_rate` decimal(16,2) NOT NULL COMMENT '税率',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收款明细表';
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收入明细表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of project_budget_income_detail_temp
|
||||
|
|
|
@ -8268,7 +8268,7 @@ CREATE TABLE `project_budget_income_detail` (
|
|||
`price` decimal(16,2) NOT NULL COMMENT '单价',
|
||||
`tax_rate` decimal(16,2) NOT NULL COMMENT '税率',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=711 DEFAULT CHARSET=utf8mb4 COMMENT='收款明细表';
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=711 DEFAULT CHARSET=utf8mb4 COMMENT='收入明细表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of project_budget_income_detail
|
||||
|
@ -8393,7 +8393,7 @@ CREATE TABLE `project_budget_income_detail_temp` (
|
|||
`price` decimal(16,2) NOT NULL COMMENT '单价',
|
||||
`tax_rate` decimal(16,2) NOT NULL COMMENT '税率',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=701 DEFAULT CHARSET=utf8mb4 COMMENT='收款明细表';
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=701 DEFAULT CHARSET=utf8mb4 COMMENT='收入明细表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of project_budget_income_detail_temp
|
||||
|
|
|
@ -92,12 +92,12 @@ $(function () {
|
|||
|
||||
var dataIncome = collectData("am-modal-prompt-input-income");
|
||||
if (dataIncome.length <= 0) {
|
||||
window.confirm('请填写收款明细表');
|
||||
window.confirm('请填写收入明细表');
|
||||
$("#saveDraft").attr('disabled', false);
|
||||
return;
|
||||
}
|
||||
|
||||
var dataIncomeCheck = convertDetailVerifyCheck(dataIncome, INCOME_DETAIL2, "收款明细表");
|
||||
var dataIncomeCheck = convertDetailVerifyCheck(dataIncome, INCOME_DETAIL2, "收入明细表");
|
||||
if (dataIncomeCheck == null) {
|
||||
$("#saveDraft").attr('disabled', false);
|
||||
return;
|
||||
|
@ -205,12 +205,12 @@ $(function () {
|
|||
|
||||
var dataIncome = collectData("am-modal-prompt-input-income");
|
||||
if (dataIncome.length <= 5) {
|
||||
window.confirm('请填写收款明细表');
|
||||
window.confirm('请填写收入明细表');
|
||||
$("#saveApprove").attr('disabled', false);
|
||||
return;
|
||||
}
|
||||
|
||||
var dataIncomeCheck = convertDetailVerifyCheck(dataIncome, INCOME_DETAIL, "收款明细表");
|
||||
var dataIncomeCheck = convertDetailVerifyCheck(dataIncome, INCOME_DETAIL, "收入明细表");
|
||||
if (dataIncomeCheck == null) {
|
||||
$("#saveApprove").attr('disabled', false);
|
||||
return;
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
//COST_DETAIL_ARR=["type","category","name","unit","amount","price","taxRate","totalTaxInclude","totalTaxExclude"];
|
||||
COST_DETAIL2={
|
||||
"num":[false,"序号","string"],
|
||||
"type":[false,"大类","string"],
|
||||
"category":[false,"类别","string"],
|
||||
"type":[false,"费用项目","string"],
|
||||
"category":[false,"采购类别","string"],
|
||||
"name":[false,"名称","string"],
|
||||
"unit":[false,"单位","string"],
|
||||
"amount":[false,"数量","number"],
|
||||
|
@ -25,8 +25,8 @@ COST_DETAIL2={
|
|||
|
||||
COST_DETAIL={
|
||||
"num":[false,"序号","string"],
|
||||
"type":[true,"大类","string"],
|
||||
"category":[true,"类别","string"],
|
||||
"type":[true,"费用项目","string"],
|
||||
"category":[true,"采购类别","string"],
|
||||
"name":[true,"名称","string"],
|
||||
"unit":[true,"单位","string"],
|
||||
"amount":[true,"数量","number"],
|
||||
|
|
|
@ -6,6 +6,8 @@ INCOME_DETAIL2={
|
|||
"num":[false,"序号","string"],
|
||||
"type":[false,"类别","string"],
|
||||
"name":[false,"名称","string"],
|
||||
"spec":[false,"规格类型","string"],
|
||||
"param":[false,"参数","string"],
|
||||
"unit":[false,"单位","string"],
|
||||
"amount":[false,"数量","number"],
|
||||
"price":[false,"单价","price"],
|
||||
|
@ -19,6 +21,8 @@ INCOME_DETAIL={
|
|||
"num":[false,"序号","string"],
|
||||
"type":[true,"类别","string"],
|
||||
"name":[true,"名称","string"],
|
||||
"spec":[true,"规格类型","string"],
|
||||
"param":[true,"参数","string"],
|
||||
"unit":[true,"单位","string"],
|
||||
"amount":[true,"数量","number"],
|
||||
"price":[true,"单价","price"],
|
||||
|
@ -71,7 +75,7 @@ $(function () {
|
|||
});
|
||||
});
|
||||
|
||||
//保存收款明细表
|
||||
//保存收入明细表
|
||||
$(function () {
|
||||
$("#incomeTableSave").click(function () {
|
||||
var data = collectData("am-modal-prompt-input-income");
|
||||
|
@ -176,6 +180,8 @@ function appendTrIncome() {
|
|||
' </td>\n' +
|
||||
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income"></td>\n' +
|
||||
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income"></td>\n' +
|
||||
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income"></td>\n' +
|
||||
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income"></td>\n' +
|
||||
' <td><input type="text" maxlength="8" class="number am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount input-changeable-amount-income"></td>\n' +
|
||||
' <td><input type="text" min="0.00" max="9999999999.99" step="0.01" maxlength="19" class="price am-modal-prompt-input am-modal-prompt-input-income input-changeable-price input-changeable-price-income"></td>\n' +
|
||||
' <td><input type="text" min="0.00" max="99.99" step="0.01" maxlength="5" class="number am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate input-changeable-tax-rate-income"></td>\n' +
|
||||
|
|
|
@ -352,12 +352,12 @@ function verifyBudgetPlan(){
|
|||
|
||||
//从采购成本明细中取“设备”大类下的总计---设备支出
|
||||
if(costPurchaseDeviceTaxInclude != input_total_device_cost_budget_plan){
|
||||
return "采购成本明细中取“设备”大类下的总计["+costPurchaseDeviceTaxInclude+"]与设备支出["+input_total_device_cost_budget_plan+"]不等";
|
||||
return "采购成本明细中取“设备”费用项目下的总计["+costPurchaseDeviceTaxInclude+"]与设备支出["+input_total_device_cost_budget_plan+"]不等";
|
||||
}
|
||||
//从采购成本明细中取“服务+施工+其他”大类的总计---工程支出
|
||||
var t = f2(f2(costPurchaseBuildTaxInclude)+f2(costPurchaseServiceTaxInclude)+f2(costPurchaseOtherTaxInclude));
|
||||
if(t != f2(input_total_engineer_cost_budget_plan)){
|
||||
return "采购成本明细中取“服务+施工+其他”大类的总计["+t+"]与工程支出["+input_total_engineer_cost_budget_plan+"]不等";
|
||||
return "采购成本明细中取“服务+施工+其他”费用项目的总计["+t+"]与工程支出["+input_total_engineer_cost_budget_plan+"]不等";
|
||||
}
|
||||
//从项目管理成本取总计金额--经营性开支
|
||||
if(costProjectManageTaxInclude != input_total_project_manage_budget_plan){
|
||||
|
|
|
@ -155,7 +155,7 @@
|
|||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs palm-tabs outer" data-am-tabs>
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs palm-tabs-nav">
|
||||
<li id="jiben" <#if check==1>class="am-active"</#if>><a href="#tab1">项目立项(概算)基本信息</a></li>
|
||||
<li id="jiben" <#if check==1>class="am-active"</#if>><a href="#tab1">项目立项(概算)信息</a></li>
|
||||
<#-- <#if project.status==1 || project.status==5 || project.status==10 || project.status==15>-->
|
||||
<#-- <li><a href="#tab2">项目立项(概算)其他信息</a></li>-->
|
||||
<#-- </#if>-->
|
||||
|
@ -172,7 +172,7 @@
|
|||
</ul>
|
||||
|
||||
<div class="am-tabs-bd palm-tabs-bd">
|
||||
<#-- 项目立项(概算)基本信息 展示内容 -->
|
||||
<#-- 项目立项(概算)信息 展示内容 -->
|
||||
<div <#if check==1>class="am-tab-panel am-fade am-in am-active" <#else> class="am-tab-panel am-fade am-in"</#if> id="tab1">
|
||||
<input name="id" id="id" type="hidden" value="${project.id}" />
|
||||
<input name="type" id="type" type="hidden" value="${type}"/>
|
||||
|
@ -193,7 +193,7 @@
|
|||
<!--startprint-->
|
||||
<table id="myTable" class="am-table am-table-bordered">
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)基本信息</th>
|
||||
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)信息</th>
|
||||
<input type="hidden" style="border-style:none;" name="id" id="id" value="${id!}"/>
|
||||
</tr>
|
||||
<tr class="am-text-nowrap">
|
||||
|
@ -396,6 +396,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>
|
||||
<#-- 项目预算信息 展示内容 -->
|
||||
|
@ -406,7 +443,7 @@
|
|||
<div class="am-tabs palm-tabs inner" data-am-tabs id="subTab">
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs palm-tabs-nav">
|
||||
<li class="am-active"><a href="#tab35">预算信息</a></li>
|
||||
<li><a href="#tab31">收款明细表</a></li>
|
||||
<li><a href="#tab31">收入明细表</a></li>
|
||||
<li><a href="#tab36">收款计划表</a></li>
|
||||
<li><a href="#tab32">采购成本明细表</a></li>
|
||||
<li><a href="#tab33">项目管理成本表</a></li>
|
||||
|
@ -415,7 +452,7 @@
|
|||
</div>
|
||||
<div class="am-tabs-bd palm-tabs-bd">
|
||||
<div class="am-tab-panel am-fade am-in" id="tab31">
|
||||
<#--<span class="am-text-lg">收款明细表</span>-->
|
||||
<#--<span class="am-text-lg">收入明细表</span>-->
|
||||
<div class="fixed-section">
|
||||
<div class="am-modal-bd">
|
||||
<div class="fixed-actions">
|
||||
|
@ -436,6 +473,8 @@
|
|||
<th>序号</th>
|
||||
<th>类别</th>
|
||||
<th>名称</th>
|
||||
<th>规格类型</th>
|
||||
<th>参数</th>
|
||||
<th>单位</th>
|
||||
<th>数量</th>
|
||||
<th>单价</th>
|
||||
|
@ -472,6 +511,12 @@
|
|||
<td><input type="text" readonly
|
||||
class="am-modal-prompt-input am-modal-prompt-input-income"
|
||||
value="${incomeDetail.name!}"></td>
|
||||
<td><input type="text" readonly
|
||||
class="am-modal-prompt-input am-modal-prompt-input-income"
|
||||
value="${incomeDetail.spec!}"></td>
|
||||
<td><input type="text" readonly
|
||||
class="am-modal-prompt-input am-modal-prompt-input-income"
|
||||
value="${incomeDetail.param!}"></td>
|
||||
<td><input type="text" readonly
|
||||
class="am-modal-prompt-input am-modal-prompt-input-income"
|
||||
value="${incomeDetail.unit!}"></td>
|
||||
|
@ -509,6 +554,8 @@
|
|||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-amount-income" value="${Utils.format(incomeTotalAmount,'0.00')}" readonly <#--onkeyup="integerNumber(this)"-->></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
|
@ -524,7 +571,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="am-tab-panel am-fade am-in" id="tab36">
|
||||
<#--<span class="am-text-lg">收款明细表</span>-->
|
||||
<#--<span class="am-text-lg">收入明细表</span>-->
|
||||
<div class="fixed-section">
|
||||
<div class="am-modal-bd">
|
||||
<div class="fixed-actions">
|
||||
|
@ -597,8 +644,8 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th>序号</th>
|
||||
<th>大类</th>
|
||||
<th>类别</th>
|
||||
<th>费用项目</th>
|
||||
<th>采购类别</th>
|
||||
<th>名称</th>
|
||||
<th>单位</th>
|
||||
<th>数量</th>
|
||||
|
@ -1033,7 +1080,7 @@
|
|||
</table>
|
||||
<!--endprint-->
|
||||
</div>
|
||||
<#--<span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收款明细表</a></span>
|
||||
<#--<span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收入明细表</a></span>
|
||||
<span class="am-text-primary"><a style="cursor: pointer" id="cost-detail">采购成本明细表</a></span>
|
||||
<span class="am-text-primary"><a style="cursor: pointer" id="cost-project-manage-detail">项目管理成本表</a></span>
|
||||
<span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span>-->
|
||||
|
@ -2138,11 +2185,11 @@
|
|||
</div>
|
||||
|
||||
|
||||
<#--收款明细表弹窗-->
|
||||
<#--收入明细表弹窗-->
|
||||
<div class="am-modal am-modal-prompt" style="width: 1200px;max-height:600px;overflow-y:auto;"
|
||||
tabindex="-1" id="my-prompt-income-detail">
|
||||
<div class="am-modal-dialog">
|
||||
<div class="am-modal-hd">销售收款明细表——${project.name}</div>
|
||||
<div class="am-modal-hd">销售收入明细表——${project.name}</div>
|
||||
<div class="am-modal-bd">
|
||||
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"
|
||||
id="incomeTable">
|
||||
|
|
|
@ -93,9 +93,9 @@
|
|||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs palm-tabs" data-am-tabs>
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs palm-tabs-nav">
|
||||
<li class="am-active"><a href="#tab1">项目立项(概算)基本信息</a></li>
|
||||
<li class="am-active"><a href="#tab1">项目立项(概算)信息</a></li>
|
||||
<#-- <li><a href="#tab2">项目立项(概算)其他信息</a></li>-->
|
||||
<li><a href="#tab3">收款明细表</a></li>
|
||||
<li><a href="#tab3">收入明细表</a></li>
|
||||
<li><a href="#tab8">收款计划表</a></li>
|
||||
<li><a href="#tab4">采购成本明细表</a></li>
|
||||
<li><a href="#tab5">项目管理成本表</a></li>
|
||||
|
@ -109,7 +109,7 @@
|
|||
<!--验证表单元素(validate) begin-->
|
||||
<table id="myTable" class="am-table am-table-bordered">
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)基本信息</th>
|
||||
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)信息</th>
|
||||
<input type="hidden" style="border-style:none;" name="id" id="id" value="${id!}"/>
|
||||
</tr>
|
||||
<tr class="am-text-nowrap">
|
||||
|
@ -341,6 +341,8 @@
|
|||
<th>序号</th>
|
||||
<th width="100px">类别</th>
|
||||
<th>名称</th>
|
||||
<th>规格类型</th>
|
||||
<th>参数</th>
|
||||
<th>单位</th>
|
||||
<th>数量</th>
|
||||
<th>单价</th>
|
||||
|
@ -364,6 +366,8 @@
|
|||
</select>
|
||||
</td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.name!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.spec!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.param!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.unit!}"></td>
|
||||
<td><input type="text" maxlength="14" class="number am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount input-changeable-amount-income" value="${Utils.format(incomeDetail.amount,'0')}" oninput="if(value.length>8)value=value.slice(0,8)" <#--onkeyup="integerNumber(this)"-->></td>
|
||||
<td><input type="text" maxlength="19" class="price am-modal-prompt-input am-modal-prompt-input-income input-changeable-price input-changeable-price-income" value="${Utils.format2(incomeDetail.price,'0')}" oninput="if(value.length>19)value=value.slice(0,19)"></td>
|
||||
|
@ -380,6 +384,8 @@
|
|||
<td width="100px"></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-amount-income" value="${Utils.format(incomeTotalAmount,'0')}" readonly <#--onkeyup="integerNumber(this)"-->></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
|
@ -471,8 +477,8 @@
|
|||
<thead style="display:block;width: 1810px;">
|
||||
<tr>
|
||||
<th width="60px">序号</th>
|
||||
<th width="70px">大类</th>
|
||||
<th width="150px">类别</th>
|
||||
<th width="70px">费用项目</th>
|
||||
<th width="150px">采购类别</th>
|
||||
<th width="100px">名称</th>
|
||||
<th width="80px">单位</th>
|
||||
<th width="100px">数量</th>
|
||||
|
@ -804,7 +810,7 @@
|
|||
</div>
|
||||
<div class="am-tab-panel am-fade am-in" id="tab7">
|
||||
<span>收入</span>
|
||||
<#-- <span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收款明细表</a></span>-->
|
||||
<#-- <span class="am-text-primary"><a style="cursor: pointer" id="income-detail">收入明细表</a></span>-->
|
||||
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
|
||||
<tbody>
|
||||
<tr>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs am-margin" data-am-tabs>
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs">
|
||||
<li class="am-active"><a href="#tab1">项目立项(概算)基本信息</a></li>
|
||||
<li class="am-active"><a href="#tab1">项目立项(概算)信息</a></li>
|
||||
<#-- <li><a href="#tab2">项目立项(概算)其他信息</a></li>-->
|
||||
</ul>
|
||||
<div class="am-tabs-bd">
|
||||
|
@ -49,7 +49,7 @@
|
|||
<input name="id" id="id" type="hidden" value="${projectId}" />
|
||||
<table id="myTable" class="am-table am-table-bordered">
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)基本信息</th>
|
||||
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)信息</th>
|
||||
<input type="hidden" style="border-style:none;" name="id" id="id" value="${id!}"/>
|
||||
</tr>
|
||||
<tr class="am-text-nowrap">
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs am-margin" data-am-tabs>
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs">
|
||||
<li class="am-active"><a href="#tab1">项目立项(概算)基本信息</a></li>
|
||||
<li class="am-active"><a href="#tab1">项目立项(概算)信息</a></li>
|
||||
<#-- <li><a href="#tab2">项目立项(概算)其他信息</a></li>-->
|
||||
</ul>
|
||||
<div class="am-tabs-bd">
|
||||
|
@ -53,7 +53,7 @@
|
|||
<!--验证表单元素(validate) begin-->
|
||||
<table id="myTable" class="am-table am-table-bordered">
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)基本信息</th>
|
||||
<th class="table-title" colspan="6" style="text-align: center">项目立项(概算)信息</th>
|
||||
<input type="hidden" style="border-style:none;" name="id" id="id" value="${id!}"/>
|
||||
</tr>
|
||||
<tr class="am-text-nowrap">
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -48,7 +48,8 @@
|
|||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#pager').prepend('<li><a style="pointer-events:none;">共${(pager.totalRow)!10}条<\/a><\/li>');
|
||||
</script>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue