Merge remote-tracking branch 'origin/master'
commit
b73d5aac14
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>-->
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue