Merge remote-tracking branch 'origin/master'

master
pengqiang 2022-08-18 09:52:41 +08:00
commit b73d5aac14
8 changed files with 740 additions and 495 deletions

View File

@ -28,6 +28,7 @@ import top.jfunc.common.utils.CollectionUtil;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
@ -125,11 +126,12 @@ public class ProjectController extends BaseController {
public void export(@RequestParam(value = "keywords", required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException {
Map<String, String> searchInfo = getSearchInfo(keywords);
downloadHeader(httpServletResponse, Utils.generateExcelName("项目报表"), "application/octet-stream");
String[] headers = {"项目编号", "项目名称", "项目类型", "项目合同金额", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目状态", "垫资模式", "合作对象", "项目把握度", "行业场景应用", "客户名称", "终端客户名称",
"项目毛利", "项目毛利率", "项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "垫资利息", "垫资峰值", "审核状态", "当前审核人", "项目创建者", "部门名称", "项目开始时间", "项目结束时间", "最后更新时间"};
String[] exportColumns = {"projectNo", "name", "typeDesc", "contractRound", "huazhiRound", "huizhiRound", "huasanRound", "ziguangRound", "statusDesc", "underwrittenModeDesc", "collaborator",
"certaintyStr", "industryScenario", "customer", "terminalCustomer", "grossProfit", "grossProfitMargin", "principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr",
"advanceInterestAmount", "advancePeakAmount", "approveStatusDesc", "approveName", "creatorName", "deptName", "startDateYM", "endDateYM", "lastUpdateTime"};
String[] headers = {"项目编号", "项目名称", "项目类型", "垫资模式", "垫资利息", "垫资峰值", "项目合同金额", "项目毛利", "项目毛利率", "项目把握度", "汇智产品金额", "华智产品金额",
"华三产品金额", "其他产品金额", "项目状态", "行业场景应用", "解决方案", "客户名称", "终端客户名称", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "合作对象",
"项目负责人", "价值及风险", "主合同收款条款", "主合同具体解决方案", "计收计划", "审核状态", "当前审核人", "项目创建者", "部门名称", "项目开始时间", "项目结束时间", "最后更新时间"};
String[] exportColumns = {"projectNo", "name", "typeDesc", "underwrittenModeDesc", "advanceInterestAmount", "advancePeakAmount", "contractRound", "grossProfit", "grossProfitMargin", "certaintyStr", "huizhiRound", "huazhiRound",
"huasanRound", "ziguangRound", "statusDesc", "industryScenario", "resolvePlan", "customer", "terminalCustomer", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "collaborator",
"principal", "valueRisk", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "approveStatusDesc", "approveName", "creatorName", "deptName", "startDateYM", "endDateYM", "lastUpdateTime"};
ExportUtils.exportToExcel(headers, exportColumns, 1, 10000,
httpServletResponse.getOutputStream(), (pN, pS) -> projectService.list(searchInfo, pN, pS).getList());
}
@ -140,30 +142,39 @@ public class ProjectController extends BaseController {
@RequestMapping("/exportAll")
public void exportAll(HttpServletResponse response, Integer id) throws IOException {
Project project = projectRepository.findOne(id);
// downloadHeader(httpServletResponse, Utils.generateExcelName("项目信息总表"), "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=".concat(Utils.generateExcelName("项目信息总表")));
// response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + java.net.URLEncoder.encode("项目信息总表", "UTF-8"));
response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName("项目信息总表")).getBytes(), StandardCharsets.ISO_8859_1)));
response.setHeader("Connection", "close");
response.setHeader("Content-Type", "application/vnd.ms-excel");
ServletOutputStream outputStream = response.getOutputStream();
ExportExcelUtils exportExcelUtils = new ExportExcelUtils();
String[] headers0 = {"部门名称", "项目编号", "项目名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "项目把握度", "行业场景应用", "客户名称", "终端客户名称", "合同金额", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "价值及风险"};
String[] columns0 = {"deptName", "projectNo", "name", "typeDesc", "startDate", "endDate", "underwrittenModeDesc", "certainty", "industryScenario", "customer", "terminalCustomer", "contractAmount", "grossProfit", "grossProfitMargin", "huazhiProductAmount", "huizhiProductAmount", "huasanProductAmount", "ziguangOtherAmount", "valueRisk"};
String[] headers0 = {"部门名称", "项目编号", "项目名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "合作对象", "垫资利息", "垫资峰值", "合同金额", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案", "客户名称", "终端客户名称", "价值及风险"};
String[] columns0 = {"deptName", "projectNo", "name", "typeDesc", "startDate", "endDate", "underwrittenModeStr", "collaborator", "advanceInterestAmount", "advancePeakAmount", "contractAmount", "grossProfit", "grossProfitMargin", "huazhiProductAmount", "huizhiProductAmount", "huasanProductAmount", "ziguangOtherAmount", "certaintyStr", "industryScenario", "resolvePlanStr", "customer", "terminalCustomer", "valueRisk"};
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目基本信息", outputStream);
String[] headers1 = {"项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "项目解决方案", "垫资利息", "垫资峰值", "主合同收款条款", "主合具体解决方案", "计收计划"};
String[] columns1 = {"principal", "contractTime", "bidsTime", "isSecond", "signType", "resolvePlan", "advanceInterestAmount", "advancePeakAmount", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection"};
String[] headers1 = {"项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "主合同收款条款", "主合具体解决方案", "计收计划"};
String[] columns1 = {"principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection"};
exportExcelUtils.exportProjectExcel(headers1, columns1, project, "yyyy-MM-dd", 0, "项目其他信息", outputStream);
BudgetBean budgetBean = projectBudgetService.getBudget(project);
if (project.getStatus() < 5) {
exportExcelUtils.end(outputStream);
return;
}
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
exportExcelUtils.exportBudgetExcel(budgetBean, cashFlowBean, 0, "项目预算信息", outputStream, project.getOtherName());
//收入明细
List<ProjectBudgetIncomeDetail> budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project);
Integer incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project);
Set<String> rates = new HashSet<>();
StringBuilder incomeTaxSb = new StringBuilder();
String incomeTaxRates;
for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) {
if (!rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) {
incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append(",");
rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString());
}
}
if (incomeTaxSb.lastIndexOf(",") > 0 && incomeTaxSb.lastIndexOf(",") == incomeTaxSb.length() - 1) {
incomeTaxRates = incomeTaxSb.substring(0, incomeTaxSb.length() - 2);
} 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);
@ -172,6 +183,20 @@ public class ProjectController extends BaseController {
Integer costTotalAmount = projectBudgetService.getBudgetCostAmount(project);
List<ProcurementType> procurementTypes = procurementTypeService.allProcurementTypeList();
Map<Integer, String> procurementMap = procurementTypes.stream().collect(Collectors.toMap(ProcurementType::getId, ProcurementType::getName));
Set<String> rates2 = new HashSet<>();
StringBuilder costTaxSb = new StringBuilder();
String costTaxRates;
for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) {
if (!rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) {
costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append(",");
rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString());
}
}
if (costTaxSb.lastIndexOf(",") > 0 && costTaxSb.lastIndexOf(",") == costTaxSb.length() - 1) {
costTaxRates = costTaxSb.substring(0, costTaxSb.length() - 2);
} else {
costTaxRates = costTaxSb.toString();
}
String[] headers3 = {"序号", "大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"};
String[] columns3 = {"tempId", "type", "category", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"};
exportExcelUtils.exportCostDetailExcel(headers3, columns3, project, budgetBean, budgetCostDetail, costTotalAmount, procurementMap, "yyyy-MM-dd", 0, "采购成本明细表", outputStream);
@ -187,11 +212,15 @@ public class ProjectController extends BaseController {
// budgetCostDetail,
// budgetCostProjectManageDetail,
// projectBudgetPlanDetails);
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
ProjectBudgetPlanDetail projectBudgetPlanDetailTotal = projectBudgetService.getProjectBudgetPlanDetailTotal(project, projectBudgetPlanDetails);
String[] headers5 = {"月份", "设备支出", "工程支出(含服务+施工+其他)", "经营性开支", "保证金支出", "支出合计", "销售收款", "保证金收款", "收款合计", "资金余额", "资金利息", "垫资计划", "还款计划"};
String[] row5 = {"month", "deviceCost", "engineerCost", "projectManageCost", "earnestMoneyCost", "totalCost", "saleIncome", "earnestMoneyIncome", "totalIncome", "fundBalance", "capitalInterest", "underwrittenPlan", "repaymentPlan"};
exportExcelUtils.exportPlanDetailExcel(headers5, row5, project, budgetBean, projectBudgetPlanDetails, projectBudgetPlanDetailTotal, "yyyy-MM-dd", 0, "资金计划表", outputStream);
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
exportExcelUtils.exportBudgetExcel(budgetBean, cashFlowBean, 0, "项目预算信息", outputStream, project.getOtherName(), incomeTaxRates, costTaxRates);
List<String> timeList = projectSettleIncomeRepository.findAllByProjectIdAndGroupByTime(project.getId());
for (String time : timeList) {
SettleBean settleBean = projectSettleService.getMonthSettle(project, time);
@ -532,10 +561,12 @@ public class ProjectController extends BaseController {
model.put("procurementTypes", procurementTypeService.allProcurementTypeList());
model.put("budgetBean", budgetBean);
//收入明细
model.put("incomeDetails", projectBudgetService.getBudgetIncomeDetail(project));
List<ProjectBudgetIncomeDetail> budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project);
model.put("incomeDetails", budgetIncomeDetail);
model.put("incomeTotalAmount", projectBudgetService.getBudgetIncomeAmount(project));
//成本明细
model.put("costDetails", projectBudgetService.getBudgetCostDetail(project));
List<ProjectBudgetCostDetail> budgetCostDetail = projectBudgetService.getBudgetCostDetail(project);
model.put("costDetails", budgetCostDetail);
model.put("costTotalAmount", projectBudgetService.getBudgetCostAmount(project));
//项目管理成本明细
model.put("costProjectManageDetails", projectBudgetService.getBudgetCostProjectManageDetail(project));
@ -549,7 +580,33 @@ public class ProjectController extends BaseController {
model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails));
//现金表
model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails));
Set<String> rates = new HashSet<>();
StringBuilder incomeTaxSb = new StringBuilder();
for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) {
if (!rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) {
incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append(",");
rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString());
}
}
if (incomeTaxSb.lastIndexOf(",") > 0 && incomeTaxSb.lastIndexOf(",") == incomeTaxSb.length() - 1) {
model.put("incomeTaxRates", incomeTaxSb.substring(0, incomeTaxSb.length() - 2));
} else {
model.put("incomeTaxRates", incomeTaxSb.toString());
}
Set<String> rates2 = new HashSet<>();
StringBuilder costTaxSb = new StringBuilder();
for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) {
if (!rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) {
costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append(",");
rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString());
}
}
if (costTaxSb.lastIndexOf(",") > 0 && costTaxSb.lastIndexOf(",") == costTaxSb.length() - 1) {
model.put("costTaxRates", costTaxSb.substring(0, costTaxSb.length() - 2));
} else {
model.put("costTaxRates", costTaxSb.toString());
}
//结算信息
model.put("keywords",keywords);
ConcurrentHashMap<String, String> searchInfo = getSearchInfo(keywords,model);

View File

@ -795,7 +795,7 @@ public class ProjectBudgetService {
*/
@Transactional(rollbackFor = RuntimeException.class)
public Project budgetEditSave(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
Project p = projectService.editProject(project, projectInDb);
Project p = projectService.estimateEditProject(project, projectInDb);
p.setStatus(StatusEnum.BUDGET_ACCOUNTS.getStatus());
p.setStatusDesc(StatusEnum.BUDGET_ACCOUNTS.getStatusDesc());
p.setApproveStatusBudget(approveStatusEnum.getApproveStatus());

View File

@ -127,7 +127,7 @@ public class ExportExcelUtils {
}
}
public void exportBudgetExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName) {
public void exportBudgetExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName, String incomeTaxRates, String costTaxRates) {
// 遍历集合数据,产生数据行
int index = rowIndex;
XSSFSheet sheet = workbook.createSheet(sheetName);
@ -137,12 +137,12 @@ public class ExportExcelUtils {
// 收入
Row incomeRow = sheet.createRow(index++);
createTitleRow(incomeRow, "收入");
index = createIncomeRow(budgetBean, sheet, index);
index = createIncomeRow(budgetBean, sheet, index, incomeTaxRates);
index = index + 3;
// 成本
Row costRow = sheet.createRow(index++);
createTitleRow(costRow, "成本");
index = createCostRow(budgetBean, sheet, index, otherName);
index = createCostRow(budgetBean, sheet, index, otherName, costTaxRates);
index = index + 3;
// 管理
Row manageRow = sheet.createRow(index++);
@ -168,12 +168,17 @@ public class ExportExcelUtils {
cell.setCellValue(titleName);
}
private int createIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
private int createIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String incomeTaxRates) {
createSubTitleIncomeRow(sheet, index++);
createDeviceIncomeRow(budgetBean, sheet, index++);
createEngineerIncomeRow(budgetBean, sheet, index++);
createServiceIncomeRow(budgetBean, sheet, index++);
createTotalIncomeRow(budgetBean, sheet, index++);
Row row = sheet.createRow(index++);
Cell remarkCell = row.createCell(0);
remarkCell.setCellStyle(style);
remarkCell.setCellType(CellType.STRING);
remarkCell.setCellValue("(备注:本表所用税率为:" + incomeTaxRates + ")");
return index;
}
@ -195,6 +200,10 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style);
fourthCell.setCellType(CellType.STRING);
fourthCell.setCellValue("不含税金额(元)");
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style);
fifthCell.setCellType(CellType.STRING);
fifthCell.setCellValue("税金(元)");
}
private void createDeviceIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -215,6 +224,10 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.NUMERIC);
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeDeviceTaxExclude()));
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getIncomeDeviceTax()));
}
private void createEngineerIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -235,6 +248,10 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.NUMERIC);
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeEngineerTaxExclude()));
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getIncomeEngineerTax()));
}
private void createServiceIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -255,6 +272,10 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.NUMERIC);
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeServiceTaxExclude()));
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getIncomeServiceTax()));
}
private void createTotalIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -275,9 +296,13 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.NUMERIC);
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxExclude()));
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTax()));
}
private int createCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName) {
private int createCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName, String costTaxRates) {
createSubTitleCostRow(sheet, index++);
createDeviceCostRow(budgetBean, sheet, index++);
createEngineerCostRow(budgetBean, sheet, index++);
@ -286,6 +311,11 @@ public class ExportExcelUtils {
createManageCostRow(budgetBean, sheet, index++);
createOtherRow(budgetBean, sheet, index++, otherName);
createTotalCostRow(budgetBean, sheet, index++);
Row row = sheet.createRow(index++);
Cell remarkCell = row.createCell(0);
remarkCell.setCellStyle(style);
remarkCell.setCellType(CellType.STRING);
remarkCell.setCellValue("(备注:本表所用税率为:" + costTaxRates + ")");
return index;
}
@ -311,6 +341,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style);
fifthCell.setCellType(CellType.STRING);
fifthCell.setCellValue("不含税金额(元)");
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style);
sixthCell.setCellType(CellType.STRING);
sixthCell.setCellValue("税金(元)");
}
private void createDeviceCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -335,6 +369,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseDeviceTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseDeviceTax()));
}
private void createEngineerCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -359,6 +397,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseBuildTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseBuildTax()));
}
private void createServiceCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -383,6 +425,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseServiceTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseServiceTax()));
}
private void createOtherCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -407,6 +453,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseOtherTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseOtherTax()));
}
private void createManageCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -431,6 +481,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostProjectManageTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.STRING);
sixthCell.setCellValue("财务计取以不含税方式核算");
}
private void createOtherRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName) {
@ -455,6 +509,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostOtherOtherTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostOtherOtherTax()));
}
private void createTotalCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -479,12 +537,21 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostTotalTax()));
}
private int createManageRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
createSubTitleManageRow(sheet, index++);
createExpropriationRow(budgetBean, sheet, index++);
createCompanyManageRow(budgetBean, sheet, index++);
Row row = sheet.createRow(index++);
Cell remarkCell = row.createCell(0);
remarkCell.setCellStyle(style);
remarkCell.setCellType(CellType.STRING);
remarkCell.setCellValue("(备注:财务记取以不含税方式核算)");
return index;
}
@ -539,9 +606,9 @@ public class ExportExcelUtils {
private int createProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
createSubTitleProfitRow(sheet, index++);
createGrossProfitRow(budgetBean, sheet, index++);
createGrossProfitMarginRow(budgetBean, sheet, index++);
// createGrossProfitMarginRow(budgetBean, sheet, index++);
createContributionProfitRow(budgetBean, sheet, index++);
createContributionProfitRateRow(budgetBean, sheet, index++);
// createContributionProfitRateRow(budgetBean, sheet, index++);
return index;
}
@ -554,7 +621,16 @@ public class ExportExcelUtils {
Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style);
secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("");
secondCell.setCellValue("利润率(%)");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("不含税金额(元)");
Cell fourthCell = row.createCell(3);
fourthCell.setCellStyle(style);
fourthCell.setCellType(CellType.STRING);
fourthCell.setCellValue("计算方式");
}
private void createGrossProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -566,20 +642,28 @@ public class ExportExcelUtils {
Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfit()));
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitRate()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.NUMERIC);
thirdCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfit()));
Cell fourthCell = row.createCell(3);
fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.STRING);
fourthCell.setCellValue("毛利=收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)");
}
private void createGrossProfitMarginRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
Row row = sheet.createRow(index);
Cell firstCell = row.createCell(0);
firstCell.setCellStyle(style2);
firstCell.setCellType(CellType.STRING);
firstCell.setCellValue("项目毛利率(%)");
Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitRate()));
}
// private void createGrossProfitMarginRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
// Row row = sheet.createRow(index);
// Cell firstCell = row.createCell(0);
// firstCell.setCellStyle(style2);
// firstCell.setCellType(CellType.STRING);
// firstCell.setCellValue("项目毛利率(%)");
// Cell secondCell = row.createCell(1);
// secondCell.setCellStyle(style2);
// secondCell.setCellType(CellType.NUMERIC);
// secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitRate()));
// }
private void createContributionProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
Row row = sheet.createRow(index);
@ -590,20 +674,28 @@ public class ExportExcelUtils {
Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfit()));
secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfitRate()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.NUMERIC);
thirdCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfit()));
Cell fourthCell = row.createCell(3);
fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.STRING);
fourthCell.setCellValue("贡献利润=项目毛利(不含税)-公司管理费用总计(不含税)");
}
private void createContributionProfitRateRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
Row row = sheet.createRow(index);
Cell firstCell = row.createCell(0);
firstCell.setCellStyle(style2);
firstCell.setCellType(CellType.STRING);
firstCell.setCellValue("项目贡献利润率(%)");
Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfitRate()));
}
// private void createContributionProfitRateRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
// Row row = sheet.createRow(index);
// Cell firstCell = row.createCell(0);
// firstCell.setCellStyle(style2);
// firstCell.setCellType(CellType.STRING);
// firstCell.setCellValue("项目贡献利润率(%)");
// Cell secondCell = row.createCell(1);
// secondCell.setCellStyle(style2);
// secondCell.setCellType(CellType.NUMERIC);
// secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfitRate()));
// }
private int createCashFlowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -635,6 +727,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style);
secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("金额(元)");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("计算方式");
}
private void createSaleIncomeCashRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -647,6 +743,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getSaleIncomeCash()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(销售收款)");
}
private void createTaxReturnRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -659,6 +759,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
}
private void createEarnestMoneyIncomeRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -671,6 +775,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyIncome()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(保证金收款)");
}
private void createPurchaseCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -683,6 +791,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getPurchaseCost()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(设备支出+工程支出)");
}
private void createTaxCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -695,6 +807,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
}
private void createEarnestMoneyCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -707,6 +823,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyCost()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(经营性开支+保证金支出+资金利息)");
}
private void createNetCashFlowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -719,6 +839,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getNetCashFlow()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("销售商品、提供劳务收到的现金+收到其他与经营活动有关的现金-购买商品、接受劳务支付的现金-支付其他与经营活动有关的现金");
}
private void createCashInflowFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -731,6 +855,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
}
private void createCashOutflowFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -743,6 +871,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
}
private void createNetCashFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -755,6 +887,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
}
private void createFinancingCapitalInflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -767,6 +903,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalInflow()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(垫资计划)");
}
private void createFinancingCapitalOutflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -779,6 +919,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalOutflow()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(还款计划)");
}
private void createFinancingCapitalCashflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -791,6 +935,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalCashflow()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("融资资金流入-还款资金流出");
}
private void createNetIncreaseMonetaryFundsRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -803,6 +951,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("经营活动产生的现金流量净额+投资活动产生的现金流量净额+筹资活动产生的现金流量净额");
}
public void exportSettleExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean formerBean, SettleBean settleBean, FormerBean currentBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName) {
@ -897,6 +1049,9 @@ public class ExportExcelUtils {
} else if (i == 8) {
totalCell.setCellType(CellType.NUMERIC);
totalCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxExclude()));
} else if (i == 9) {
totalCell.setCellType(CellType.NUMERIC);
totalCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTax()));
} else {
totalCell.setCellType(CellType.STRING);
totalCell.setCellValue("");
@ -983,6 +1138,9 @@ public class ExportExcelUtils {
} else if (i == 9) {
totalCell.setCellType(CellType.NUMERIC);
totalCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxExclude()));
} else if (i == 10) {
totalCell.setCellType(CellType.NUMERIC);
totalCell.setCellValue(Utils.format(budgetBean.getCostTotalTax()));
} else {
totalCell.setCellType(CellType.STRING);
totalCell.setCellValue("");
@ -1049,7 +1207,7 @@ public class ExportExcelUtils {
}
}
}
Row total = sheet.createRow(index);
Row total = sheet.createRow(index++);
for (int i = 0; i < headers.length; i++) {
Cell totalCell = total.createCell(i);
totalCell.setCellStyle(style2);
@ -1067,6 +1225,11 @@ public class ExportExcelUtils {
totalCell.setCellValue("");
}
}
Row remark = sheet.createRow(index);
Cell remarkCell = remark.createCell(0);
remarkCell.setCellStyle(style2);
remarkCell.setCellType(CellType.STRING);
remarkCell.setCellValue("备注:本表展示不含税金额");
}
public void exportPlanDetailExcel(String[] headers, String[] rows, Project project, BudgetBean budgetBean, List<ProjectBudgetPlanDetail> projectBudgetPlanDetails, ProjectBudgetPlanDetail projectBudgetPlanDetailTotal, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) {

View File

@ -362,29 +362,6 @@
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <span>${Utils.format(project.advanceInterestAmount)}</span>元-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <span>${Utils.format(project.advancePeakAmount)}</span>元-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;width: 140px;" value="主合同收款条款"/></div>
<div class="am-u-sm-6 am-u-md-6">
<input readonly value="${project.mainContractCollectionTerms!}"/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;width: 100px;" value="价值及风险"/></div>

View File

@ -44,7 +44,7 @@
<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><a href="#tab2">项目其他信息</a></li>-->
<li><a href="#tab2">项目其他信息</a></li>
<li><a href="#tab3">收入明细表</a></li>
<li><a href="#tab4">采购成本明细表</a></li>
<li><a href="#tab5">项目管理成本表</a></li>
@ -79,7 +79,7 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入项目名称1000字符以内"
name="name" placeholder="请输入项目名称1000字符以内" maxlength="1000"
name="name" placeholder="请输入项目名称1000字符以内" maxlength="1000" id="name"
value="${project.name!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -91,7 +91,7 @@
<select data-am-selected id="type" name="type">
<option value="1" <#if project.type=1>selected</#if>>工程集成类</option>
<option value="2" <#if project.type=2>selected</#if>>设备集成类</option>
<option value="3" <#if project.type=3>selected</#if>>战略合作类</option>
<#-- <option value="3" <#if project.type=3>selected</#if>>战略合作类</option>-->
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -163,49 +163,20 @@
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<#if project.certainty??>
<option value="1" <#if project.certainty=1>selected</#if>>A基本确定中标待签合同合同签订中</option>
<option value="2" <#if project.certainty=2>selected</#if>>B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" <#if project.certainty=3>selected</#if>>C项目初期引导阶段</option>
<#else>
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</#if>
</select>
<input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资利息"
name="advanceInterestAmount" placeholder="单位(元)" maxlength="16" id="advanceInterestAmount"
value="${Utils.format(project.advanceInterestAmount)}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20"
value="${project.industryScenario!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000"
value="${project.customer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000"
value="${project.terminalCustomer!}" required/>
<input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="advancePeakAmount" placeholder="单位(元)" maxlength="16" id="advancePeakAmount"
value="${Utils.format(project.advancePeakAmount)}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
@ -214,7 +185,7 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>合同金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入合同金额"
name="contractAmount" placeholder="单位(元)" maxlength="20"
name="contractAmount" placeholder="单位(元)" maxlength="20" id="contractAmount"
value="${Utils.format(project.contractAmount)}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -240,31 +211,32 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="华智产品金额"
name="huazhiProductAmount" placeholder="单位(元)" maxlength="20"
value="${Utils.format(project.huazhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>汇智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="请输入汇智产品金额"
name="huizhiProductAmount" placeholder="单位(元)" maxlength="20"
name="huizhiProductAmount" placeholder="单位(元)" maxlength="20" id="huizhiProductAmount"
value="${Utils.format(project.huizhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="华智产品金额"
name="huazhiProductAmount" placeholder="单位(元)" maxlength="20" id="huazhiProductAmount"
value="${Utils.format(project.huazhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华三产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="华三产品金额"
name="huasanProductAmount" placeholder="单位(元)" maxlength="20"
name="huasanProductAmount" placeholder="单位(元)" maxlength="20" id="huasanProductAmount"
value="${Utils.format(project.huasanProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -274,12 +246,79 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>其他产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="请输入其他产品金额"
name="ziguangOtherAmount" placeholder="单位(元)" maxlength="20"
name="ziguangOtherAmount" placeholder="单位(元)" maxlength="20" id="ziguangOtherAmount"
value="${Utils.format(project.ziguangOtherAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<#if project.certainty??>
<option value="1" <#if project.certainty=1>selected</#if>>A基本确定中标待签合同合同签订中</option>
<option value="2" <#if project.certainty=2>selected</#if>>B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" <#if project.certainty=3>selected</#if>>C项目初期引导阶段</option>
<#else>
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20" id="industryScenario"
value="${project.industryScenario!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<#if project.resolvePlan??>
<option value="1" <#if project.resolvePlan=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if project.resolvePlan=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if project.resolvePlan=3>selected</#if>>其他生态</option>
<#else>
<option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" >其他生态</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000" id="customer"
value="${project.customer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000" id="terminalCustomer"
value="${project.terminalCustomer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div>
<div class="am-u-sm-6 am-u-md-6">
@ -295,147 +334,115 @@
<!--验证表单元素validate end-->
</div>
<#-- <div class="am-tabs-bd">-->
<#-- <div class="am-tab-panel am-fade am-in" id="tab2">-->
<div class="am-tabs-bd">
<div class="am-tab-panel am-fade am-in" id="tab2">
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目负责人</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <input type="text" id="principal" class="am-input" data-validate-async data-validation-message="请输入项目负责人"-->
<#-- name="principal" placeholder="请输入项目负责人" maxlength="20"-->
<#-- value="${project.principal!}" required />-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">项目负责人</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" id="principal" class="am-input" data-validate-async data-validation-message="请输入项目负责人"
name="principal" placeholder="请输入项目负责人" maxlength="20"
value="${project.principal!}" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>预计合同签订时间</div>-->
<#-- <div class="am-u-sm-2 am-u-md-2">-->
<#-- <div class="am-form-group am-form-icon">-->
<#-- <i class="am-icon-calendar"></i>-->
<#-- <input type="text" class="am-form-field am-input-sm" id="contractTime"-->
<#-- name="contractTime" autocomplete="off"-->
<#-- value="${(project.contractTime?string("yyyy-MM-dd"))!}" placeholder="预计合同签订时间"-->
<#-- data-am-datepicker required>-->
<#-- </div>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目计划招标时间</div>-->
<#-- <div class="am-u-sm-2 am-u-md-2">-->
<#-- <div class="am-form-group am-form-icon">-->
<#-- <i class="am-icon-calendar"></i>-->
<#-- <input type="text" class="am-form-field am-input-sm" id="bidsTime"-->
<#-- name="bidsTime" autocomplete="off"-->
<#-- value="${(project.bidsTime?string("yyyy-MM-dd"))!}" placeholder="项目计划招标时间"-->
<#-- data-am-datepicker required>-->
<#-- </div>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">预计合同签订时间</div>
<div class="am-u-sm-2 am-u-md-2">
<div class="am-form-group am-form-icon">
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="contractTime"
name="contractTime" autocomplete="off"
value="${(project.contractTime?string("yyyy-MM-dd"))!}" placeholder="预计合同签订时间"
data-am-datepicker>
</div>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">项目计划招标时间</div>
<div class="am-u-sm-2 am-u-md-2">
<div class="am-form-group am-form-icon">
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="bidsTime"
name="bidsTime" autocomplete="off"
value="${(project.bidsTime?string("yyyy-MM-dd"))!}" placeholder="项目计划招标时间"
data-am-datepicker>
</div>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>是否二次合作</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <select data-am-selected id="isSecond" name="isSecond">-->
<#-- <#if project.isSecond??>-->
<#-- <option value="1" <#if project.isSecond=1>selected</#if>>是</option>-->
<#-- <option value="2" <#if project.isSecond=2>selected</#if>>否</option>-->
<#-- <#else>-->
<#-- <option value="1" >是</option>-->
<#-- <option value="2" >否</option>-->
<#-- </#if>-->
<#-- </select>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">是否二次合作</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="isSecond" name="isSecond">
<#if project.isSecond??>
<option value="-1" ></option>
<option value="1" <#if project.isSecond=1>selected</#if>>是</option>
<option value="2" <#if project.isSecond=2>selected</#if>>否</option>
<#else>
<option value="-1" ></option>
<option value="1" >是</option>
<option value="2" >否</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>签单方式</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <select data-am-selected id="signType" name="signType">-->
<#-- <#if project.signType??>-->
<#-- <option value="1" <#if project.signType=1>selected</#if>>紫光汇智直接投标</option>-->
<#-- <#else>-->
<#-- <option value="1" >紫光汇智直接投标</option>-->
<#-- </#if>-->
<#-- </select>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">签单方式</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="signType" name="signType">
<#if project.signType??>
<option value="-1" ></option>
<option value="1" <#if project.signType=1>selected</#if>>紫光汇智直接投标</option>
<#else>
<option value="-1" ></option>
<option value="1" >紫光汇智直接投标</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目解决方案</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <select data-am-selected id="resolvePlan" name="resolvePlan">-->
<#-- <#if project.resolvePlan??>-->
<#-- <option value="1" <#if project.resolvePlan=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>-->
<#-- <option value="2" <#if project.resolvePlan=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>-->
<#-- <option value="3" <#if project.resolvePlan=3>selected</#if>>其他生态</option>-->
<#-- <#else>-->
<#-- <option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>-->
<#-- <option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>-->
<#-- <option value="3" >其他生态</option>-->
<#-- </#if>-->
<#-- </select>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资利息"-->
<#-- name="advanceInterestAmount" placeholder="单位(元)" maxlength="16"-->
<#-- value="${Utils.format(project.advanceInterestAmount)}" required />-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资峰值"-->
<#-- name="advancePeakAmount" placeholder="单位(元)" maxlength="16"-->
<#-- value="${Utils.format(project.advancePeakAmount)}" required />-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">主合同收款条款</div>
<div class="am-u-sm-6 am-u-md-6">
<textarea rows="3" cols="20" id="mainContractCollectionTerms" name="mainContractCollectionTerms" maxlength="1000"
class="am-input" data-validate-async data-validation-message="请输入收款条款"
placeholder="请输入收款条款"
>${project.mainContractCollectionTerms!}</textarea>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>主合同收款条款</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <textarea rows="3" cols="20" id="mainContractCollectionTerms" name="mainContractCollectionTerms" maxlength="1000"-->
<#-- class="am-input" data-validate-async data-validation-message="请输入收款条款"-->
<#-- placeholder="请输入收款条款" required-->
<#-- >${project.mainContractCollectionTerms!}</textarea>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">主合同具体解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<textarea rows="3" cols="20" id="mainContractResolvePlan" name="mainContractResolvePlan" maxlength="1000"
class="am-input" data-validate-async data-validation-message="请输入具体解决方案"
placeholder="请输入具体解决方案"
>${project.mainContractResolvePlan!}</textarea>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>主合同具体解决方案</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <textarea rows="3" cols="20" id="mainContractResolvePlan" name="mainContractResolvePlan" maxlength="1000"-->
<#-- class="am-input" data-validate-async data-validation-message="请输入具体解决方案"-->
<#-- placeholder="请输入具体解决方案" required-->
<#-- >${project.mainContractResolvePlan!}</textarea>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>计收计划</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <textarea rows="3" cols="20" id="CalculationCollection" name="CalculationCollection" maxlength="1000"-->
<#-- class="am-input" data-validate-async data-validation-message="按照开票金额及时间罗列计收计划"-->
<#-- placeholder="按照开票金额及时间罗列计收计划" required-->
<#-- >${project.CalculationCollection!}</textarea>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- </div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">计收计划</div>
<div class="am-u-sm-6 am-u-md-6">
<textarea rows="3" cols="20" id="CalculationCollection" name="CalculationCollection" maxlength="1000"
class="am-input" data-validate-async data-validation-message="按照开票金额及时间罗列计收计划"
placeholder="按照开票金额及时间罗列计收计划"
>${project.CalculationCollection!}</textarea>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
</div>
</div>
<#-- <span>收入</span>-->
<#-- <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">-->
<#-- <tbody>-->

View File

@ -123,43 +123,20 @@
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</select>
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资利息"
name="advanceInterestAmount" id="advanceInterestAmount" placeholder="单位(元)" maxlength="16"
value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" id="industryScenario" placeholder="请输入行业场景应用" maxlength="20"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" id="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" id="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000"
value="" required />
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="advancePeakAmount" id="advancePeakAmount" placeholder="单位(元)" maxlength="16"
value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
@ -195,19 +172,19 @@
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>智产品金额</div>
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="智产品金额" required
name="huazhiProductAmount" id="huazhiProductAmount" placeholder="单位(元)" maxlength="16" value="" />
<input type="text" class="number am-input" data-validation-message="智产品金额" required
name="huizhiProductAmount" id="huizhiProductAmount" placeholder="单位(元)" maxlength="16" value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>智产品金额</div>
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="智产品金额" required
name="huizhiProductAmount" id="huizhiProductAmount" placeholder="单位(元)" maxlength="16" value="" />
<input type="text" class="number am-input" data-validation-message="智产品金额" required
name="huazhiProductAmount" id="huazhiProductAmount" placeholder="单位(元)" maxlength="16" value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
@ -230,6 +207,60 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" id="industryScenario" placeholder="请输入行业场景应用" maxlength="20"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" >其他生态</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" id="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" id="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div>
<div class="am-u-sm-6 am-u-md-6">
@ -288,6 +319,7 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right">是否二次合作</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="isSecond" name="isSecond">
<option value="-1" ></option>
<option value="1" >是</option>
<option value="2" >否</option>
</select>
@ -299,43 +331,13 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right">签单方式</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="signType" name="signType">
<option value="-1" ></option>
<option value="1" >紫光汇智直接投标</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" >其他生态</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">垫资利息</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资利息"
name="advanceInterestAmount" id="advanceInterestAmount" placeholder="单位(元)" maxlength="16"
value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="advancePeakAmount" id="advancePeakAmount" placeholder="单位(元)" maxlength="16"
value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">主合同收款条款</div>
<div class="am-u-sm-6 am-u-md-6">

View File

@ -30,7 +30,7 @@
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>部门名称</div>
<div class="am-u-sm-6 am-u-md-6">
<span>${project.deptName}</span>
<span>${project.deptName!}</span>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
@ -61,7 +61,7 @@
<select data-am-selected id="type" name="type">
<option value="1" <#if project.type=1>selected</#if>>工程集成类</option>
<option value="2" <#if project.type=2>selected</#if>>设备集成类</option>
<option value="3" <#if project.type=3>selected</#if>>战略合作类</option>
<#-- <option value="3" <#if project.type=3>selected</#if>>战略合作类</option>-->
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -74,7 +74,7 @@
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="startDate"
name="startDate" autocomplete="off"
value="${project.startDate?string("yyyy-MM-dd")}" placeholder="项目计划开始时间"
value="${(project.startDate?string("yyyy-MM-dd"))!}" placeholder="项目计划开始时间"
data-am-datepicker>
</div>
</div>
@ -87,7 +87,7 @@
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="endDate"
name="endDate" autocomplete="off"
value="${project.endDate?string("yyyy-MM-dd")}" placeholder="项目计划结束时间"
value="${(project.endDate?string("yyyy-MM-dd"))!}" placeholder="项目计划结束时间"
data-am-datepicker>
</div>
</div>
@ -133,43 +133,20 @@
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<option value="1" <#if project.certainty=1>selected</#if>>A基本确定中标待签合同合同签订中</option>
<option value="2" <#if project.certainty=2>selected</#if>>B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" <#if project.certainty=3>selected</#if>>C项目初期引导阶段</option>
</select>
<input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资利息"
name="advanceInterestAmount" placeholder="单位(元)" maxlength="16" id="advanceInterestAmount"
value="${Utils.format(project.advanceInterestAmount)}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20" id="industryScenario"
value="${project.industryScenario!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000" id="customer"
value="${project.customer}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000" id="terminalCustomer"
value="${project.terminalCustomer}" required/>
<input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="advancePeakAmount" placeholder="单位(元)" maxlength="16" id="advancePeakAmount"
value="${Utils.format(project.advancePeakAmount)}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
@ -204,6 +181,16 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>汇智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="请输入汇智产品金额"
name="huizhiProductAmount" placeholder="单位(元)" maxlength="20" id="huizhiProductAmount"
value="${Utils.format(project.huizhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
@ -214,15 +201,6 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>汇智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="请输入汇智产品金额"
name="huizhiProductAmount" placeholder="单位(元)" maxlength="20" id="huizhiProductAmount"
value="${Utils.format(project.huizhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华三产品金额</div>
@ -244,6 +222,73 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<#if project.certainty??>
<option value="1" <#if project.certainty=1>selected</#if>>A基本确定中标待签合同合同签订中</option>
<option value="2" <#if project.certainty=2>selected</#if>>B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" <#if project.certainty=3>selected</#if>>C项目初期引导阶段</option>
<#else>
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20" id="industryScenario"
value="${project.industryScenario!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<#if project.resolvePlan??>
<option value="1" <#if project.resolvePlan=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if project.resolvePlan=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if project.resolvePlan=3>selected</#if>>其他生态</option>
<#else>
<option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" >其他生态</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000" id="customer"
value="${project.customer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000" id="terminalCustomer"
value="${project.terminalCustomer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div>
<div class="am-u-sm-6 am-u-md-6">
@ -303,8 +348,15 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right">是否二次合作</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="isSecond" name="isSecond">
<option value="1" <#if project.isSecond=1>selected</#if>>是</option>
<option value="2" <#if project.isSecond=2>selected</#if>>否</option>
<#if project.isSecond??>
<option value="-1" ></option>
<option value="1" <#if project.isSecond=1>selected</#if>>是</option>
<option value="2" <#if project.isSecond=2>selected</#if>>否</option>
<#else>
<option value="-1" ></option>
<option value="1" >是</option>
<option value="2" >否</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -314,42 +366,18 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right">签单方式</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="signType" name="signType">
<option value="1" <#if project.signType=1>selected</#if>>紫光汇智直接投标</option>
<#if project.signType??>
<option value="-1" ></option>
<option value="1" <#if project.signType=1>selected</#if>>紫光汇智直接投标</option>
<#else>
<option value="-1" ></option>
<option value="1" >紫光汇智直接投标</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="1" <#if project.resolvePlan=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if project.resolvePlan=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if project.resolvePlan=3>selected</#if>>其他生态</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">垫资利息</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资利息"
name="advanceInterestAmount" placeholder="单位(元)" maxlength="16" id="advanceInterestAmount"
value="${Utils.format(project.advanceInterestAmount)}" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="advancePeakAmount" placeholder="单位(元)" maxlength="16" id="advancePeakAmount"
value="${Utils.format(project.advancePeakAmount)}" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">主合同收款条款</div>
@ -376,10 +404,10 @@
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">计收计划</div>
<div class="am-u-sm-6 am-u-md-6">
<textarea rows="3" cols="20" id="calculationCollection" name="calculationCollection" maxlength="1000"
<textarea rows="3" cols="20" id="CalculationCollection" name="CalculationCollection" maxlength="1000"
class="am-input" data-validate-async data-validation-message="按照开票金额及时间罗列计收计划"
placeholder="按照开票金额及时间罗列计收计划"
>${project.calculationCollection!}</textarea>
>${project.CalculationCollection!}</textarea>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>

View File

@ -24,22 +24,22 @@
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr>
<th class="am-text-middle">项目编号</th>
<td>
<th class="am-text-middle" style="width: 10%">项目编号</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="projectNo" class="am-form-field am-input-sm"
value="${projectNo!}"/>
</div>
</td>
<th class="am-text-middle">项目名称</th>
<td>
<th class="am-text-middle" style="width: 10%">项目名称</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="name" class="am-form-field am-input-sm"
value="${name!}"/>
</div>
</td>
<th class="am-text-middle">项目状态</th>
<td>
<th class="am-text-middle" style="width: 10%">项目状态</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="status" name="status">
<option value="-1">全部</option>
@ -50,8 +50,8 @@
</select>
</div>
</td>
<th class="am-text-middle">项目创建者</th>
<td>
<th class="am-text-middle" style="width: 10%">项目创建者</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="creatorName" class="am-form-field am-input-sm"
value="${creatorName!}"/>
@ -60,52 +60,8 @@
</tr>
<tr>
<th class="am-text-middle">是否二次合作</th>
<td>
<div class="am-u-sm-10">
<select data-am-selected id="isSecond" name="isSecond">
<option value="-1">全部</option>
<option value="1" <#if isSecond?? && isSecond='1'>selected</#if>>是</option>
<option value="2" <#if isSecond?? && isSecond='2'>selected</#if>>否</option>
</select>
</div>
</td>
<th class="am-text-middle">签单方式</th>
<td>
<div class="am-u-sm-10">
<select data-am-selected id="signType" name="signType">
<option value="-1">全部</option>
<option value="1" <#if signType?? && signType='1'>selected</#if>>紫光汇智直接投标</option>
</select>
</div>
</td>
<th class="am-text-middle">项目解决方案</th>
<td>
<div class="am-u-sm-10">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="-1">全部</option>
<option value="1" <#if resolvePlan?? && resolvePlan='1'>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if resolvePlan?? && resolvePlan='2'>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if resolvePlan?? && resolvePlan='3'>selected</#if>>其他生态</option>
</select>
</div>
</td>
<th class="am-text-middle">审核状态</th>
<td>
<div class="am-u-sm-10">
<select data-am-selected id="approveStatus" name="approveStatus">
<option value="-1">全部</option>
<option value="0" <#if approveStatus?? && approveStatus='0'>selected</#if>>草稿</option>
<option value="1" <#if approveStatus?? && approveStatus='1'>selected</#if>>待审核</option>
<option value="2" <#if approveStatus?? && approveStatus='2'>selected</#if>>审核通过</option>
<option value="3" <#if approveStatus?? && approveStatus='3'>selected</#if>>审核不通过</option>
</select>
</div>
</td>
</tr>
<tr>
<th class="am-text-middle">部门名称</th>
<td>
<th class="am-text-middle" style="width: 10%">部门名称</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="deptId" name="deptId">
<option value="-1">全部</option>
@ -117,8 +73,8 @@
</select>
</div>
</td>
<th class="am-text-middle">项目类型</th>
<td>
<th class="am-text-middle" style="width: 10%">项目类型</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="type" name="type">
<option value="-1">全部</option>
@ -128,8 +84,8 @@
</select>
</div>
</td>
<th class="am-text-middle">垫资模式</th>
<td>
<th class="am-text-middle" style="width: 10%">垫资模式</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="underwrittenMode" name="underwrittenMode">
<option value="-1">全部</option>
@ -140,8 +96,8 @@
</select>
</div>
</td>
<th class="am-text-middle">项目把握度</th>
<td>
<th class="am-text-middle" style="width: 10%">项目把握度</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="certainty" name="certainty">
<option value="-1">全部</option>
@ -152,39 +108,86 @@
</div>
</td>
</tr>
<tr>
<th class="am-text-middle">行业场景应用</th>
<td>
<div class="am-u-sm-10">
<input type="text" id="industryScenario" class="am-form-field am-input-sm"
value="${industryScenario!}"/>
</div>
</td>
<th class="am-text-middle">客户名称</th>
<td>
<th class="am-text-middle" style="width: 10%">客户名称</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="customer" class="am-form-field am-input-sm"
value="${customer!}"/>
</div>
</td>
<th class="am-text-middle">终端客户名称</th>
<td>
<th class="am-text-middle" style="width: 10%">终端客户名称</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="terminalCustomer" class="am-form-field am-input-sm"
value="${terminalCustomer!}"/>
</div>
</td>
<th class="am-text-middle">项目负责人</th>
<td>
<th class="am-text-middle" style="width: 10%">项目负责人</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="principal" class="am-form-field am-input-sm"
value="${principal!}"/>
</div>
</td>
<th class="am-text-middle" style="width: 10%">审核状态</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="approveStatus" name="approveStatus">
<option value="-1">全部</option>
<option value="0" <#if approveStatus?? && approveStatus='0'>selected</#if>>草稿</option>
<option value="1" <#if approveStatus?? && approveStatus='1'>selected</#if>>待审核</option>
<option value="2" <#if approveStatus?? && approveStatus='2'>selected</#if>>审核通过</option>
<option value="3" <#if approveStatus?? && approveStatus='3'>selected</#if>>审核不通过</option>
</select>
</div>
</td>
</tr>
<tr>
<th class="am-text-middle">最后更新时间</th>
<td>
<th class="am-text-middle" style="width: 10%">是否二次合作</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="isSecond" name="isSecond">
<option value="-1">全部</option>
<option value="1" <#if isSecond?? && isSecond='1'>selected</#if>>是</option>
<option value="2" <#if isSecond?? && isSecond='2'>selected</#if>>否</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">签单方式</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="signType" name="signType">
<option value="-1">全部</option>
<option value="1" <#if signType?? && signType='1'>selected</#if>>紫光汇智直接投标</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">行业场景</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="industryScenario" class="am-form-field am-input-sm"
value="${industryScenario!}"/>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目解决方案</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="-1">全部</option>
<option value="1" <#if resolvePlan?? && resolvePlan='1'>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if resolvePlan?? && resolvePlan='2'>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if resolvePlan?? && resolvePlan='3'>selected</#if>>其他生态</option>
</select>
</div>
</td>
</tr>
<tr>
<th class="am-text-middle" style="width: 10%">最后更新时间</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<div class="am-form am-form-inline">
<div class="am-form-group am-form-icon">
@ -201,8 +204,8 @@
</div>
</div>
</td>
<th class="am-text-middle">项目周期</th>
<td>
<th class="am-text-middle" style="width: 10%">项目周期</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<div class="am-form am-form-inline">
<div class="am-form-group am-form-icon">
@ -219,8 +222,8 @@
</div>
</div>
</td>
<th class="am-text-middle">预计合同签订时间</th>
<td>
<th class="am-text-middle" style="width: 10%">预计合同签订时间</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<div class="am-form am-form-inline">
<div class="am-form-group am-form-icon">
@ -237,7 +240,13 @@
</div>
</div>
</td>
<td colspan="2">
<th class="am-text-middle" style="width: 10%"></th>
<td style="width: 15%">
</td>
</tr>
<tr>
<td colspan="8">
<div align='right'>
<@shiro.hasPermission name="PROJECT_QUERY">
<button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary"
@ -292,21 +301,22 @@
<th class="table-title">项目合同金额</th>
<th class="table-title">项目毛利</th>
<th class="table-title">项目毛利率</th>
<th class="table-title">项目状态</th>
<th class="table-title">项目把握度</th>
<th class="table-title">汇智产品金额</th>
<th class="table-title">华智产品金额</th>
<th class="table-title">华三产品金额</th>
<th class="table-title">其他产品金额</th>
<th class="table-title">项目把握度</th>
<th class="table-title">项目状态</th>
<th class="table-title">行业场景应用</th>
<th class="table-title">解决方案</th>
<th class="table-title">客户名称</th>
<th class="table-title">终端客户名称</th>
<th class="table-title">项目负责人</th>
<th class="table-title">预计合同签订时间</th>
<th class="table-title">项目计划招标时间</th>
<th class="table-title">是否二次合作</th>
<th class="table-title">签单方式</th>
<th class="table-title">合作对象</th>
<th class="table-title">战略合作对象</th>
<th class="table-title">项目负责人</th>
<th class="table-title">审核状态</th>
<th class="table-title">当前审核人</th>
<th class="table-title">项目创建者</th>
@ -329,21 +339,22 @@
<td>${Utils.format(list.contractAmount, "0.00")}</td>
<td>${Utils.format(list.grossProfit, "0.00")}</td>
<td>${Utils.format(list.grossProfitMargin, "0.00")}</td>
<td>${list.statusDesc!}</td>
<td>${list.certaintyStr!}</td>
<td>${Utils.format(list.huizhiProductAmount, "0.00")}</td>
<td>${Utils.format(list.huazhiProductAmount, "0.00")}</td>
<td>${Utils.format(list.huasanProductAmount, "0.00")}</td>
<td>${Utils.format(list.ziguangOtherAmount, "0.00")}</td>
<td>${list.certaintyStr!}</td>
<td>${list.statusDesc!}</td>
<td>${list.industryScenario!}</td>
<td>${list.resolvePlanStr!}</td>
<td>${list.customer!}</td>
<td>${list.terminalCustomer!}</td>
<td>${list.principal!}</td>
<td>${(list.contractTime?string("yyyy-MM-dd HH:mm:ss"))!}</td>
<td>${(list.bidsTime?string("yyyy-MM-dd HH:mm:ss"))!}</td>
<td>${list.isSecondStr!}</td>
<td>${list.signTypeStr!}</td>
<td>${list.collaborator!}</td>
<td>${list.principal!}</td>
<td>${list.approveStatusDesc!}</td>
<td>${list.approveName!}</td>
<td>${list.creatorName!}</td>