Commit 9cc44457 authored by liuChang's avatar liuChang

Merge branch 'master' of 192.168.60.201:root/dsk-operate-sys

parents 2d500f5e a0463d79
...@@ -83,7 +83,7 @@ public class CustomerController extends BaseController { ...@@ -83,7 +83,7 @@ public class CustomerController extends BaseController {
return AjaxResult.success(baseService.add(customer)); return AjaxResult.success(baseService.add(customer));
} }
private void dealWithcustomerData(Customer customer){ private void dealWithcustomerData(Customer customer) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空"); if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空");
if (ObjectUtils.isEmpty(customer.getCompanyId())) { if (ObjectUtils.isEmpty(customer.getCompanyId())) {
try { try {
...@@ -131,6 +131,7 @@ public class CustomerController extends BaseController { ...@@ -131,6 +131,7 @@ public class CustomerController extends BaseController {
public AjaxResult importData(@RequestPart("file") MultipartFile file) throws Exception { public AjaxResult importData(@RequestPart("file") MultipartFile file) throws Exception {
List<Customer> customerList = new ExcelUtil<>(Customer.class).importExcel(file.getInputStream(), 2); List<Customer> customerList = new ExcelUtil<>(Customer.class).importExcel(file.getInputStream(), 2);
List<String> resultList = new ArrayList<>(); List<String> resultList = new ArrayList<>();
int successCount = 0;
for (Customer customer : customerList) { for (Customer customer : customerList) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) { if (ObjectUtils.isEmpty(customer.getCompanyName())) {
continue; continue;
...@@ -152,10 +153,13 @@ public class CustomerController extends BaseController { ...@@ -152,10 +153,13 @@ public class CustomerController extends BaseController {
customer.setCreditCode(MapUtil.getStr(obj, "creditCode")); customer.setCreditCode(MapUtil.getStr(obj, "creditCode"));
} }
baseService.add(customer); baseService.add(customer);
successCount++;
} catch (Exception e) { } catch (Exception e) {
resultList.add(customer.getCompanyName().concat(":").concat(e.getMessage())); resultList.add(customer.getCompanyName().concat(":").concat(e.getMessage()));
} }
} }
return AjaxResult.success(resultList); AjaxResult success = AjaxResult.success(resultList);
success.put("successCount", successCount);
return success;
} }
} }
...@@ -26,67 +26,67 @@ public class EnterpriseBussinessController { ...@@ -26,67 +26,67 @@ public class EnterpriseBussinessController {
@Autowired @Autowired
EnterpriseBussinessService enterpriseBussinessService; EnterpriseBussinessService enterpriseBussinessService;
@ApiOperation(value = "客户信息列表") @ApiOperation(value = "客户信息列表(openApi)")
@RequestMapping(value = "/clientPage", method = RequestMethod.POST) @RequestMapping(value = "/clientPage", method = RequestMethod.POST)
public TableDataInfo clientPage(@RequestBody Map<String, Object> paramMap) throws Exception { public TableDataInfo clientPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.clientPage(paramMap); return enterpriseBussinessService.clientPage(paramMap);
} }
@ApiOperation(value = "客户项目列表") @ApiOperation(value = "客户项目列表(openApi)")
@RequestMapping(value = "/clientProjectPage", method = RequestMethod.POST) @RequestMapping(value = "/clientProjectPage", method = RequestMethod.POST)
public TableDataInfo clientProjectPage(@RequestBody Map<String, Object> paramMap) throws Exception { public TableDataInfo clientProjectPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.clientProjectPage(paramMap); return enterpriseBussinessService.clientProjectPage(paramMap);
} }
@ApiOperation(value = "投标记录列表(开标记录)") @ApiOperation(value = "投标记录列表(开标记录)(openApi)")
@RequestMapping(value = "/tenderPage",method = RequestMethod.POST) @RequestMapping(value = "/tenderPage",method = RequestMethod.POST)
public TableDataInfo tenderPage(@RequestBody Map<String, Object> paramMap) throws Exception { public TableDataInfo tenderPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.tenderPage(paramMap); return enterpriseBussinessService.tenderPage(paramMap);
} }
@ApiOperation(value = "投标记录详情(开标记录)") @ApiOperation(value = "投标记录详情(开标记录)(openApi)")
@RequestMapping(value = "/tenderDetail",method = RequestMethod.POST) @RequestMapping(value = "/tenderDetail",method = RequestMethod.POST)
public R tenderDetail(@RequestBody Map<String, Object> paramMap) throws Exception { public R tenderDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.tenderDetail(paramMap); return enterpriseBussinessService.tenderDetail(paramMap);
} }
@ApiOperation(value = "供应商列表") @ApiOperation(value = "供应商列表(openApi)")
@RequestMapping(value = "/supplierPage",method = RequestMethod.POST) @RequestMapping(value = "/supplierPage",method = RequestMethod.POST)
public TableDataInfo supplierPage(@RequestBody Map<String, Object> paramMap) throws Exception { public TableDataInfo supplierPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.supplierPage(paramMap); return enterpriseBussinessService.supplierPage(paramMap);
} }
@ApiOperation(value = "供应商项目列表") @ApiOperation(value = "供应商项目列表(openApi)")
@RequestMapping(value = "/supplierProjectPage",method = RequestMethod.POST) @RequestMapping(value = "/supplierProjectPage",method = RequestMethod.POST)
public TableDataInfo supplierProjectPage(@RequestBody Map<String, Object> paramMap) throws Exception { public TableDataInfo supplierProjectPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.supplierProjectPage(paramMap); return enterpriseBussinessService.supplierProjectPage(paramMap);
} }
@ApiOperation(value = "中标项目详情") @ApiOperation(value = "中标项目详情(openApi)")
@RequestMapping(value = "/projectDetail", method = RequestMethod.POST) @RequestMapping(value = "/projectDetail", method = RequestMethod.POST)
public R projectDetail(@RequestBody Map<String, Object> paramMap) throws Exception { public R projectDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.projectDetail(paramMap); return enterpriseBussinessService.projectDetail(paramMap);
} }
@ApiOperation(value = "招标代理常合作代理机构列表") @ApiOperation(value = "招标代理常合作代理机构列表(openApi)")
@RequestMapping(value = "/oftenAgencyPage",method = RequestMethod.POST) @RequestMapping(value = "/oftenAgencyPage",method = RequestMethod.POST)
public TableDataInfo oftenAgencyPage(@RequestBody Map<String, Object> paramMap) throws Exception { public TableDataInfo oftenAgencyPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.oftenAgencyPage(paramMap); return enterpriseBussinessService.oftenAgencyPage(paramMap);
} }
@ApiOperation(value = "招标合作明细列表") @ApiOperation(value = "招标合作明细列表(openApi)")
@RequestMapping(value = "/bidCooperatePage", method = RequestMethod.POST) @RequestMapping(value = "/bidCooperatePage", method = RequestMethod.POST)
public TableDataInfo bidCooperatePage(@RequestBody Map<String, Object> paramMap) throws Exception { public TableDataInfo bidCooperatePage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.bidCooperatePage(paramMap); return enterpriseBussinessService.bidCooperatePage(paramMap);
} }
@ApiOperation(value = "历史发包列表") @ApiOperation(value = "历史发包列表(openApi)")
@RequestMapping(value = "/historySendPage", method = RequestMethod.POST) @RequestMapping(value = "/historySendPage", method = RequestMethod.POST)
public TableDataInfo historySendPage(@RequestBody Map<String, Object> paramMap) throws Exception { public TableDataInfo historySendPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.historySendPage(paramMap); return enterpriseBussinessService.historySendPage(paramMap);
} }
@ApiOperation(value = "历史发包省份") @ApiOperation(value = "历史发包省份(openApi)")
@RequestMapping(value = "/historySendProvince", method = RequestMethod.POST) @RequestMapping(value = "/historySendProvince", method = RequestMethod.POST)
public R historySendProvince(@RequestBody Map<String, Object> paramMap) throws Exception { public R historySendProvince(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.historySendProvince(paramMap); return enterpriseBussinessService.historySendProvince(paramMap);
......
...@@ -95,7 +95,7 @@ public class EnterpriseController { ...@@ -95,7 +95,7 @@ public class EnterpriseController {
@ApiOperation(value = "工商股东信息(openApi)") @ApiOperation(value = "工商股东信息(openApi)")
@PostMapping(value = "bestStockPage") @PostMapping(value = "bestStockPage")
public TableDataInfo bestStockPage(@RequestBody @Valid EnterpriseKeymembersBody vo) throws Exception { public TableDataInfo bestStockPage(@RequestBody @Valid EnterpriseBestStockPageBody vo) throws Exception {
return enterpriseService.bestStockPage(vo); return enterpriseService.bestStockPage(vo);
} }
......
...@@ -29,97 +29,97 @@ public class EnterpriseCreditController { ...@@ -29,97 +29,97 @@ public class EnterpriseCreditController {
EnterpriseCreditService enterpriseCreditService; EnterpriseCreditService enterpriseCreditService;
@RequestMapping(value = "/penalizePage", method = RequestMethod.POST) @RequestMapping(value = "/penalizePage", method = RequestMethod.POST)
@ApiOperation(value = "行政处罚列表") @ApiOperation(value = "行政处罚列表(openApi)")
public TableDataInfo penalizePage(@RequestBody @Valid EnterpriseCreditPenalizePageBody body) throws Exception { public TableDataInfo penalizePage(@RequestBody @Valid EnterpriseCreditPenalizePageBody body) throws Exception {
return enterpriseCreditService.penalizePage(body); return enterpriseCreditService.penalizePage(body);
} }
@RequestMapping(value = "/penalizeReasonType", method = RequestMethod.POST) @RequestMapping(value = "/penalizeReasonType", method = RequestMethod.POST)
@ApiOperation(value = "行政处罚类型") @ApiOperation(value = "行政处罚类型(openApi)")
public R penalizeReasonType(@RequestBody @Valid EnterpriseCreditPenalizeReasonTypeBody body) throws Exception { public R penalizeReasonType(@RequestBody @Valid EnterpriseCreditPenalizeReasonTypeBody body) throws Exception {
return enterpriseCreditService.penalizeReasonType(body); return enterpriseCreditService.penalizeReasonType(body);
} }
@RequestMapping(value = "/abnormalPage", method = RequestMethod.POST) @RequestMapping(value = "/abnormalPage", method = RequestMethod.POST)
@ApiOperation(value = "经营异常列表") @ApiOperation(value = "经营异常列表(openApi)")
public TableDataInfo abnormalPage(@RequestBody @Valid EnterpriseCreditAbnormalPageBody body) throws Exception { public TableDataInfo abnormalPage(@RequestBody @Valid EnterpriseCreditAbnormalPageBody body) throws Exception {
return enterpriseCreditService.abnormalPage(body); return enterpriseCreditService.abnormalPage(body);
} }
@RequestMapping(value = "/abnormalYears", method = RequestMethod.POST) @RequestMapping(value = "/abnormalYears", method = RequestMethod.POST)
@ApiOperation(value = "经营异常年份") @ApiOperation(value = "经营异常年份(openApi)")
public R abnormalYears(@RequestBody @Valid EnterpriseCreditAbnormalYearsBody body) throws Exception { public R abnormalYears(@RequestBody @Valid EnterpriseCreditAbnormalYearsBody body) throws Exception {
return enterpriseCreditService.abnormalYears(body); return enterpriseCreditService.abnormalYears(body);
} }
@RequestMapping(value = "/executedPersonsPage", method = RequestMethod.POST) @RequestMapping(value = "/executedPersonsPage", method = RequestMethod.POST)
@ApiOperation(value = "被执行人列表") @ApiOperation(value = "被执行人列表(openApi)")
public TableDataInfo executedPersonsPage(@RequestBody @Valid EnterpriseCreditExecutedPersonsPageBody body) throws Exception { public TableDataInfo executedPersonsPage(@RequestBody @Valid EnterpriseCreditExecutedPersonsPageBody body) throws Exception {
return enterpriseCreditService.executedPersonsPage(body); return enterpriseCreditService.executedPersonsPage(body);
} }
@RequestMapping(value = "/executedPage", method = RequestMethod.POST) @RequestMapping(value = "/executedPage", method = RequestMethod.POST)
@ApiOperation(value = "失信被执行人列表") @ApiOperation(value = "失信被执行人列表(openApi)")
public TableDataInfo executedPage(@RequestBody @Valid EnterpriseCreditExecutedPageBody body) throws Exception { public TableDataInfo executedPage(@RequestBody @Valid EnterpriseCreditExecutedPageBody body) throws Exception {
return enterpriseCreditService.executedPage(body); return enterpriseCreditService.executedPage(body);
} }
@RequestMapping(value = "/lawsuitsPage", method = RequestMethod.POST) @RequestMapping(value = "/lawsuitsPage", method = RequestMethod.POST)
@ApiOperation(value = "裁判文书列表") @ApiOperation(value = "裁判文书列表(openApi)")
public TableDataInfo lawsuitsPage(@RequestBody @Valid EnterpriseCreditLawsuitsPageBody body) throws Exception { public TableDataInfo lawsuitsPage(@RequestBody @Valid EnterpriseCreditLawsuitsPageBody body) throws Exception {
return enterpriseCreditService.lawsuitsPage(body); return enterpriseCreditService.lawsuitsPage(body);
} }
@RequestMapping(value = "/lawsuitsCauseAction", method = RequestMethod.POST) @RequestMapping(value = "/lawsuitsCauseAction", method = RequestMethod.POST)
@ApiOperation(value = "裁判文书案由") @ApiOperation(value = "裁判文书案由(openApi)")
public R lawsuitsCauseAction(@RequestBody @Valid EnterpriseCreditLawsuitsCauseActionBody body) throws Exception { public R lawsuitsCauseAction(@RequestBody @Valid EnterpriseCreditLawsuitsCauseActionBody body) throws Exception {
return enterpriseCreditService.lawsuitsCauseAction(body); return enterpriseCreditService.lawsuitsCauseAction(body);
} }
@RequestMapping(value = "/lawsuitsRole", method = RequestMethod.POST) @RequestMapping(value = "/lawsuitsRole", method = RequestMethod.POST)
@ApiOperation(value = "裁判文书身份") @ApiOperation(value = "裁判文书身份(openApi)")
public R lawsuitsRole(@RequestBody @Valid EnterpriseCreditLawsuitsRoleBody body) throws Exception { public R lawsuitsRole(@RequestBody @Valid EnterpriseCreditLawsuitsRoleBody body) throws Exception {
return enterpriseCreditService.lawsuitsRole(body); return enterpriseCreditService.lawsuitsRole(body);
} }
@RequestMapping(value = "/noticesPage", method = RequestMethod.POST) @RequestMapping(value = "/noticesPage", method = RequestMethod.POST)
@ApiOperation(value = "法院公告列表") @ApiOperation(value = "法院公告列表(openApi)")
public TableDataInfo noticesPage(@RequestBody @Valid EnterpriseCreditNoticePageBody body) throws Exception { public TableDataInfo noticesPage(@RequestBody @Valid EnterpriseCreditNoticePageBody body) throws Exception {
return enterpriseCreditService.noticesPage(body); return enterpriseCreditService.noticesPage(body);
} }
@RequestMapping(value = "/noticesType", method = RequestMethod.POST) @RequestMapping(value = "/noticesType", method = RequestMethod.POST)
@ApiOperation(value = "法院公告类型") @ApiOperation(value = "法院公告类型(openApi)")
public R noticesType(@RequestBody @Valid EnterpriseCreditNoticeTypeBody body) throws Exception { public R noticesType(@RequestBody @Valid EnterpriseCreditNoticeTypeBody body) throws Exception {
return enterpriseCreditService.noticesType(body); return enterpriseCreditService.noticesType(body);
} }
@RequestMapping(value = "/noticesRole", method = RequestMethod.POST) @RequestMapping(value = "/noticesRole", method = RequestMethod.POST)
@ApiOperation(value = "法院公告身份") @ApiOperation(value = "法院公告身份(openApi)")
public R noticesRole(@RequestBody @Valid EnterpriseCreditNoticeRoleBody body) throws Exception { public R noticesRole(@RequestBody @Valid EnterpriseCreditNoticeRoleBody body) throws Exception {
return enterpriseCreditService.noticesRole(body); return enterpriseCreditService.noticesRole(body);
} }
@RequestMapping(value = "/noticesCaseReason", method = RequestMethod.POST) @RequestMapping(value = "/noticesCaseReason", method = RequestMethod.POST)
@ApiOperation(value = "法院公告案由") @ApiOperation(value = "法院公告案由(openApi)")
public R noticesCaseReason(@RequestBody @Valid EnterpriseCreditNoticeCaseReasonBody body) throws Exception { public R noticesCaseReason(@RequestBody @Valid EnterpriseCreditNoticeCaseReasonBody body) throws Exception {
return enterpriseCreditService.noticesCaseReason(body); return enterpriseCreditService.noticesCaseReason(body);
} }
@RequestMapping(value = "/kaitingPage", method = RequestMethod.POST) @RequestMapping(value = "/kaitingPage", method = RequestMethod.POST)
@ApiOperation(value = "开庭公告列表") @ApiOperation(value = "开庭公告列表(openApi)")
public TableDataInfo kaitingPage(@RequestBody @Valid EnterpriseCreditKaitingPageBody body) throws Exception { public TableDataInfo kaitingPage(@RequestBody @Valid EnterpriseCreditKaitingPageBody body) throws Exception {
return enterpriseCreditService.kaitingPage(body); return enterpriseCreditService.kaitingPage(body);
} }
@RequestMapping(value = "/kaitingCauseAction", method = RequestMethod.POST) @RequestMapping(value = "/kaitingCauseAction", method = RequestMethod.POST)
@ApiOperation(value = "开庭公告案由") @ApiOperation(value = "开庭公告案由(openApi)")
public R kaitingCauseAction(@RequestBody @Valid EnterpriseCreditKaitingCauseActionBody body) throws Exception { public R kaitingCauseAction(@RequestBody @Valid EnterpriseCreditKaitingCauseActionBody body) throws Exception {
return enterpriseCreditService.kaitingCauseAction(body); return enterpriseCreditService.kaitingCauseAction(body);
} }
@RequestMapping(value = "/kaitingPureRole", method = RequestMethod.POST) @RequestMapping(value = "/kaitingPureRole", method = RequestMethod.POST)
@ApiOperation(value = "开庭公告当事人身份") @ApiOperation(value = "开庭公告当事人身份(openApi)")
public R kaitingPureRole(@RequestBody @Valid EnterpriseCreditKaitingPureRoleBody body) throws Exception { public R kaitingPureRole(@RequestBody @Valid EnterpriseCreditKaitingPureRoleBody body) throws Exception {
return enterpriseCreditService.kaitingPureRole(body); return enterpriseCreditService.kaitingPureRole(body);
} }
......
...@@ -29,133 +29,133 @@ public class EnterpriseProjectController { ...@@ -29,133 +29,133 @@ public class EnterpriseProjectController {
EnterpriseProjectService enterpriseProjectService; EnterpriseProjectService enterpriseProjectService;
@ApiOperation(value = "土地交易列表") @ApiOperation(value = "土地交易列表(openApi)")
@RequestMapping(value = "/landTransactionPage", method = RequestMethod.POST) @RequestMapping(value = "/landTransactionPage", method = RequestMethod.POST)
public TableDataInfo landTransactionPage(@RequestBody @Valid EnterpriseProjectLandTransactionPageBody body) throws Exception { public TableDataInfo landTransactionPage(@RequestBody @Valid EnterpriseProjectLandTransactionPageBody body) throws Exception {
return enterpriseProjectService.landTransactionPage(body); return enterpriseProjectService.landTransactionPage(body);
} }
@ApiOperation(value = "土地用途列表") @ApiOperation(value = "土地用途列表(openApi)")
@RequestMapping(value = "/landUse", method = RequestMethod.POST) @RequestMapping(value = "/landUse", method = RequestMethod.POST)
public R landUse(@RequestBody @Valid EnterpriseProjectLandUseBody body) throws Exception { public R landUse(@RequestBody @Valid EnterpriseProjectLandUseBody body) throws Exception {
return enterpriseProjectService.landUse(body); return enterpriseProjectService.landUse(body);
} }
@ApiOperation(value = "土地信息详情") @ApiOperation(value = "土地信息详情(openApi)")
@RequestMapping(value = "/landDetail",method = RequestMethod.POST) @RequestMapping(value = "/landDetail",method = RequestMethod.POST)
public R landDetail(@RequestBody @Valid EnterpriseProjectLandDetailBody body) throws Exception { public R landDetail(@RequestBody @Valid EnterpriseProjectLandDetailBody body) throws Exception {
return enterpriseProjectService.landDetail(body); return enterpriseProjectService.landDetail(body);
} }
@ApiOperation(value = "拟建项目列表") @ApiOperation(value = "拟建项目列表(openApi)")
@RequestMapping(value = "/approvalProjectPage",method = RequestMethod.POST) @RequestMapping(value = "/approvalProjectPage",method = RequestMethod.POST)
public TableDataInfo approvalProjectPage(@RequestBody @Valid EnterpriseProjectApprovalProjectPageBody body) throws Exception { public TableDataInfo approvalProjectPage(@RequestBody @Valid EnterpriseProjectApprovalProjectPageBody body) throws Exception {
return enterpriseProjectService.approvalProjectPage(body); return enterpriseProjectService.approvalProjectPage(body);
} }
@ApiOperation(value = "拟建项目详情基本信息") @ApiOperation(value = "拟建项目详情基本信息(openApi)")
@RequestMapping(value = "/approvalInfoDetail",method = RequestMethod.POST) @RequestMapping(value = "/approvalInfoDetail",method = RequestMethod.POST)
public R approvalInfoDetail(@RequestBody @Valid EnterpriseProjectApprovalInfoDetailBody body) throws Exception { public R approvalInfoDetail(@RequestBody @Valid EnterpriseProjectApprovalInfoDetailBody body) throws Exception {
return enterpriseProjectService.approvalInfoDetail(body); return enterpriseProjectService.approvalInfoDetail(body);
} }
@ApiOperation(value = "拟建项目详情立项审批列表") @ApiOperation(value = "拟建项目详情立项审批列表(openApi)")
@RequestMapping(value = "/approvalExaminePage",method = RequestMethod.POST) @RequestMapping(value = "/approvalExaminePage",method = RequestMethod.POST)
public TableDataInfo approvalExaminePage(@RequestBody @Valid EnterpriseProjectApprovalExaminePageBody body) throws Exception { public TableDataInfo approvalExaminePage(@RequestBody @Valid EnterpriseProjectApprovalExaminePageBody body) throws Exception {
return enterpriseProjectService.approvalExaminePage(body); return enterpriseProjectService.approvalExaminePage(body);
} }
@ApiOperation(value = "拟建项目详情民间推介列表") @ApiOperation(value = "拟建项目详情民间推介列表(openApi)")
@RequestMapping(value = "/approvalMarketingPage", method = RequestMethod.POST) @RequestMapping(value = "/approvalMarketingPage", method = RequestMethod.POST)
public TableDataInfo approvalMarketingPage(@RequestBody @Valid EnterpriseProjectApprovalMarketingPageBody body) throws Exception { public TableDataInfo approvalMarketingPage(@RequestBody @Valid EnterpriseProjectApprovalMarketingPageBody body) throws Exception {
return enterpriseProjectService.approvalMarketingPage(body); return enterpriseProjectService.approvalMarketingPage(body);
} }
@ApiOperation(value = "专项债项目列表") @ApiOperation(value = "专项债项目列表(openApi)")
@RequestMapping(value = "/specialDebtProjectPage", method = RequestMethod.POST) @RequestMapping(value = "/specialDebtProjectPage", method = RequestMethod.POST)
public TableDataInfo specialDebtProjectPage(@RequestBody @Valid Object body) throws Exception { public TableDataInfo specialDebtProjectPage(@RequestBody @Valid EnterpriseProjectSpecialDebtProjectPageBody body) throws Exception {
return enterpriseProjectService.specialDebtProjectPage(body); return enterpriseProjectService.specialDebtProjectPage(body);
} }
@ApiOperation(value = "专项债项目详情") @ApiOperation(value = "专项债项目详情(openApi)")
@RequestMapping(value = "/specialDebtProjectDetail", method = RequestMethod.POST) @RequestMapping(value = "/specialDebtProjectDetail", method = RequestMethod.POST)
public R specialDebtProjectDetail(@RequestBody @Valid Object body) throws Exception { public R specialDebtProjectDetail(@RequestBody @Valid EnterpriseProjectSpecialDebtProjectDetailBody body) throws Exception {
return enterpriseProjectService.specialDebtProjectDetail(body); return enterpriseProjectService.specialDebtProjectDetail(body);
} }
@ApiOperation(value = "专项债列表") @ApiOperation(value = "专项债列表(openApi)")
@RequestMapping(value = "/specialDebtPage", method = RequestMethod.POST) @RequestMapping(value = "/specialDebtPage", method = RequestMethod.POST)
public TableDataInfo specialDebtPage(@RequestBody @Valid Object body) throws Exception { public TableDataInfo specialDebtPage(@RequestBody @Valid EnterpriseProjectSpecialDebtPageBody body) throws Exception {
return enterpriseProjectService.specialDebtPage(body); return enterpriseProjectService.specialDebtPage(body);
} }
@ApiOperation(value = "招标公告列表") @ApiOperation(value = "招标公告列表(openApi)")
@RequestMapping(value = "/bidNoticePage",method = RequestMethod.POST) @RequestMapping(value = "/bidNoticePage",method = RequestMethod.POST)
public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception { public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception {
return enterpriseProjectService.bidNoticePage(body); return enterpriseProjectService.bidNoticePage(body);
} }
@ApiOperation(value = "招标公告招标类别") @ApiOperation(value = "招标公告招标类别(openApi)")
@RequestMapping(value = "/bidNoticeTenderStage", method = RequestMethod.POST) @RequestMapping(value = "/bidNoticeTenderStage", method = RequestMethod.POST)
public R bidNoticeTenderStage(@RequestBody @Valid EnterpriseProjectBidNoticeTenderStageBody body) throws Exception { public R bidNoticeTenderStage(@RequestBody @Valid EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
return enterpriseProjectService.bidNoticeTenderStage(body); return enterpriseProjectService.bidNoticeTenderStage(body);
} }
@ApiOperation(value = "招标公告招标地区") @ApiOperation(value = "招标公告招标地区(openApi)")
@RequestMapping(value = "/bidNoticeArea", method = RequestMethod.POST) @RequestMapping(value = "/bidNoticeArea", method = RequestMethod.POST)
public R bidNoticeArea(@RequestBody @Valid EnterpriseProjectBidNoticeAreaBody body) throws Exception { public R bidNoticeArea(@RequestBody @Valid EnterpriseProjectBidNoticeAreaBody body) throws Exception {
return enterpriseProjectService.bidNoticeArea(body); return enterpriseProjectService.bidNoticeArea(body);
} }
@ApiOperation(value = "招标公告详情") @ApiOperation(value = "招标公告详情(openApi)")
@RequestMapping(value = "/bidNoticeDetail", method = RequestMethod.POST) @RequestMapping(value = "/bidNoticeDetail", method = RequestMethod.POST)
public R bidNoticeDetail(@RequestBody @Valid EnterpriseProjectBidNoticeDetailBody body) throws Exception { public R bidNoticeDetail(@RequestBody @Valid EnterpriseProjectBidNoticeDetailBody body) throws Exception {
return enterpriseProjectService.bidNoticeDetail(body); return enterpriseProjectService.bidNoticeDetail(body);
} }
@ApiOperation(value = "招标计划列表") @ApiOperation(value = "招标计划列表(openApi)")
@RequestMapping(value = "/bidPlanPage",method = RequestMethod.POST) @RequestMapping(value = "/bidPlanPage",method = RequestMethod.POST)
public TableDataInfo bidPlanPage(@RequestBody @Valid EnterpriseProjectBidPlanPageBody body) throws Exception { public TableDataInfo bidPlanPage(@RequestBody @Valid EnterpriseProjectBidPlanPageBody body) throws Exception {
return enterpriseProjectService.bidPlanPage(body); return enterpriseProjectService.bidPlanPage(body);
} }
@ApiOperation(value = "招标计划详情") @ApiOperation(value = "招标计划详情(openApi)")
@RequestMapping(value = "/bidPlanDetail", method = RequestMethod.POST) @RequestMapping(value = "/bidPlanDetail", method = RequestMethod.POST)
public R bidPlanDetail(@RequestBody @Valid EnterpriseProjectBidPlanDetailBody body) throws Exception { public R bidPlanDetail(@RequestBody @Valid EnterpriseProjectBidPlanDetailBody body) throws Exception {
return enterpriseProjectService.bidPlanDetail(body); return enterpriseProjectService.bidPlanDetail(body);
} }
@ApiOperation(value = "标讯pro招标公告列表") @ApiOperation(value = "标讯pro招标公告列表(openApi)")
@RequestMapping(value = "/bidNoticeProPage", method = RequestMethod.POST) @RequestMapping(value = "/bidNoticeProPage", method = RequestMethod.POST)
public TableDataInfo bidNoticeProPage(@RequestBody @Valid EnterpriseProjectBidNoticeProPageBody body) throws Exception { public TableDataInfo bidNoticeProPage(@RequestBody @Valid EnterpriseProjectBidNoticeProPageBody body) throws Exception {
return enterpriseProjectService.bidNoticeProPage(body); return enterpriseProjectService.bidNoticeProPage(body);
} }
@ApiOperation(value = "标讯pro招标公告项目类别") @ApiOperation(value = "标讯pro招标公告项目类别(openApi)")
@RequestMapping(value = "/bidNoticeProProjectType", method = RequestMethod.POST) @RequestMapping(value = "/bidNoticeProProjectType", method = RequestMethod.POST)
public R bidNoticeProProjectType(@RequestBody @Valid EnterpriseProjectBidNoticeProProjectTypeBody body) throws Exception { public R bidNoticeProProjectType(@RequestBody @Valid EnterpriseProjectBidNoticeProProjectTypeBody body) throws Exception {
return enterpriseProjectService.bidNoticeProProjectType(body); return enterpriseProjectService.bidNoticeProProjectType(body);
} }
@ApiOperation(value = "标讯pro招标公告工程类别") @ApiOperation(value = "标讯pro招标公告工程类别(openApi)")
@RequestMapping(value = "/bidNoticeProProjectPurposes", method = RequestMethod.POST) @RequestMapping(value = "/bidNoticeProProjectPurposes", method = RequestMethod.POST)
public R bidNoticeProProjectPurposes(@RequestBody @Valid EnterpriseProjectBidNoticeProProjectPurposesBody body) throws Exception { public R bidNoticeProProjectPurposes(@RequestBody @Valid EnterpriseProjectBidNoticeProProjectPurposesBody body) throws Exception {
return enterpriseProjectService.bidNoticeProProjectPurposes(body); return enterpriseProjectService.bidNoticeProProjectPurposes(body);
} }
@ApiOperation(value = "标讯pro招标公告评标办法") @ApiOperation(value = "标讯pro招标公告评标办法(openApi)")
@RequestMapping(value = "/bidNoticeProAssessmentWay", method = RequestMethod.POST) @RequestMapping(value = "/bidNoticeProAssessmentWay", method = RequestMethod.POST)
public R bidNoticeProAssessmentWay(@RequestBody @Valid EnterpriseProjectBidNoticeProAssessmentWayBody body) throws Exception { public R bidNoticeProAssessmentWay(@RequestBody @Valid EnterpriseProjectBidNoticeProAssessmentWayBody body) throws Exception {
return enterpriseProjectService.bidNoticeProAssessmentWay(body); return enterpriseProjectService.bidNoticeProAssessmentWay(body);
} }
@ApiOperation(value = "标讯pro招标公告详情") @ApiOperation(value = "标讯pro招标公告详情(openApi)")
@RequestMapping(value = "/bidNoticeProDetail", method = RequestMethod.POST) @RequestMapping(value = "/bidNoticeProDetail", method = RequestMethod.POST)
public R bidNoticeProDetail(@RequestBody @Valid EnterpriseProjectBidNoticeProDetailBody body) throws Exception { public R bidNoticeProDetail(@RequestBody @Valid EnterpriseProjectBidNoticeProDetailBody body) throws Exception {
return enterpriseProjectService.bidNoticeProDetail(body); return enterpriseProjectService.bidNoticeProDetail(body);
} }
@ApiOperation(value = "行政许可列表") @ApiOperation(value = "行政许可列表(openApi)")
@RequestMapping(value = "/creditXzxkPage", method = RequestMethod.POST) @RequestMapping(value = "/creditXzxkPage", method = RequestMethod.POST)
public TableDataInfo creditXzxkPage(@RequestBody @Valid EnterpriseProjectCreditXzxkPageBody body) throws Exception { public TableDataInfo creditXzxkPage(@RequestBody @Valid EnterpriseProjectCreditXzxkPageBody body) throws Exception {
return enterpriseProjectService.creditXzxkPage(body); return enterpriseProjectService.creditXzxkPage(body);
......
...@@ -20,14 +20,14 @@ ...@@ -20,14 +20,14 @@
<!-- 日志文件名格式 --> <!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/operate-sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/operate-sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 --> <!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory> <maxHistory>10</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
</encoder> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter"> <filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 --> <!-- 过滤的级别 -->
<level>INFO</level> <level>DEBUG</level>
<!-- 匹配时的操作:接收(记录) --> <!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch> <onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) --> <!-- 不匹配时的操作:拒绝(不记录) -->
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<!-- 日志文件名格式 --> <!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/operate-sys-error.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/operate-sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 --> <!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory> <maxHistory>10</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<!-- 按天回滚 daily --> <!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/operate-sys-user.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/operate-sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 --> <!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory> <maxHistory>10</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
......
...@@ -17,6 +17,8 @@ public class EnterpriseAffiliatesBody extends BasePage { ...@@ -17,6 +17,8 @@ public class EnterpriseAffiliatesBody extends BasePage {
//企业Id //企业Id
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer cid; private Integer cid;
private Integer hasBid;
} }
...@@ -17,6 +17,9 @@ public class EnterpriseInvestmentBody extends BasePage { ...@@ -17,6 +17,9 @@ public class EnterpriseInvestmentBody extends BasePage {
//企业Id //企业Id
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer cid; private Integer cid;
private Integer hasBid;
private double stockPercentageMin;
private double stockPercentageMax;
} }
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectSpecialDebtPageBody extends BasePage {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectSpecialDebtProjectDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectSpecialDebtProjectPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 排序字段:1总投资金额倒序,2总投资金额正序,17项目资本金倒序,18项目资本金正序,19专项债用作资本金倒序,20专项债用作资本金正序
*/
@NotNull(message = "排序条件不能为空")
private Integer sort;
}
...@@ -9,6 +9,15 @@ export function statistic(data) { ...@@ -9,6 +9,15 @@ export function statistic(data) {
}) })
} }
// 企业主体信用评级
export function bondCreditRating(data) {
return request({
url: '/enterprise/bondCreditRating',
method: 'post',
data: data
})
}
// 招标偏好信息 // 招标偏好信息
export function bidDataGroup(data) { export function bidDataGroup(data) {
return request({ return request({
...@@ -36,33 +45,6 @@ export function projectTenderDataGroup(data) { ...@@ -36,33 +45,6 @@ export function projectTenderDataGroup(data) {
}) })
} }
// 关系企业-股东信息
export function yyy(data) {
return request({
url: 'xxx',
method: 'post',
data: data
})
}
// 关系企业-对外投资
export function testinvestment(data) {
return request({
url: '/enterprise/investment',
method: 'post',
data: data
})
}
// 关系企业-分支机构
export function testaffiliates(data) {
return request({
url: '/enterprise/affiliates',
method: 'post',
data: data
})
}
// 招标公告 // 招标公告
export function bidNoticePage(data) { export function bidNoticePage(data) {
return request({ return request({
...@@ -99,7 +81,7 @@ export function changeInfo(data) { ...@@ -99,7 +81,7 @@ export function changeInfo(data) {
}) })
} }
// 工商股东信息列表 // 关系企业-股东信息、工商股东信息列表
export function bestStockPage(data) { export function bestStockPage(data) {
return request({ return request({
url: '/enterprise/bestStockPage', url: '/enterprise/bestStockPage',
...@@ -108,7 +90,7 @@ export function bestStockPage(data) { ...@@ -108,7 +90,7 @@ export function bestStockPage(data) {
}) })
} }
// 工商高管信息 // 关系企业-高管信息、工商高管信息
export function keymembers(data) { export function keymembers(data) {
return request({ return request({
url: '/enterprise/keymembers', url: '/enterprise/keymembers',
...@@ -117,7 +99,7 @@ export function keymembers(data) { ...@@ -117,7 +99,7 @@ export function keymembers(data) {
}) })
} }
// 工商对外投资 // 关系企业-对外投资、工商对外投资
export function investment(data) { export function investment(data) {
return request({ return request({
url: '/enterprise/investment', url: '/enterprise/investment',
......
...@@ -42,6 +42,15 @@ let uipSerach= function uipSerach(param) { ...@@ -42,6 +42,15 @@ let uipSerach= function uipSerach(param) {
data: param data: param
}) })
} }
// 认领用户
let claim= function claim(param) {
return request({
url: '/customer/claim',
method: 'post',
data: param
})
}
export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach} export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim}
\ No newline at end of file \ No newline at end of file
...@@ -174,6 +174,31 @@ export function enterprise(param) { ...@@ -174,6 +174,31 @@ export function enterprise(param) {
}) })
} }
//城投平台-企业查询选项
export function uipGroupData() {
return request({
url: '/enterprise/uipGroupData',
method: 'POST'
})
}
//城投平台-分页列表
export function urbanInvestmentPage(param) {
return request({
url: '/urbanInvestment/page',
method: 'POST',
data: param
})
}
//城投平台-城投平台统计
export function urbanInvestmentStatistics(param) {
return request({
url: '/urbanInvestment/statistics',
method: 'POST',
data: param
})
}
......
dsk-operate-ui/src/assets/images/add.png

148 Bytes | W: | H:

dsk-operate-ui/src/assets/images/add.png

140 Bytes | W: | H:

dsk-operate-ui/src/assets/images/add.png
dsk-operate-ui/src/assets/images/add.png
dsk-operate-ui/src/assets/images/add.png
dsk-operate-ui/src/assets/images/add.png
  • 2-up
  • Swipe
  • Onion skin
dsk-operate-ui/src/assets/images/delete.png

327 Bytes | W: | H:

dsk-operate-ui/src/assets/images/delete.png

531 Bytes | W: | H:

dsk-operate-ui/src/assets/images/delete.png
dsk-operate-ui/src/assets/images/delete.png
dsk-operate-ui/src/assets/images/delete.png
dsk-operate-ui/src/assets/images/delete.png
  • 2-up
  • Swipe
  • Onion skin
dsk-operate-ui/src/assets/images/edit.png

245 Bytes | W: | H:

dsk-operate-ui/src/assets/images/edit.png

488 Bytes | W: | H:

dsk-operate-ui/src/assets/images/edit.png
dsk-operate-ui/src/assets/images/edit.png
dsk-operate-ui/src/assets/images/edit.png
dsk-operate-ui/src/assets/images/edit.png
  • 2-up
  • Swipe
  • Onion skin
dsk-operate-ui/src/assets/images/follow.png

260 Bytes | W: | H:

dsk-operate-ui/src/assets/images/follow.png

312 Bytes | W: | H:

dsk-operate-ui/src/assets/images/follow.png
dsk-operate-ui/src/assets/images/follow.png
dsk-operate-ui/src/assets/images/follow.png
dsk-operate-ui/src/assets/images/follow.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -244,6 +244,7 @@ ...@@ -244,6 +244,7 @@
>img{ >img{
float: left; float: left;
margin-right: 8px; margin-right: 8px;
width: 56px;
} }
.i{ .i{
font-size: 18px; font-size: 18px;
...@@ -337,6 +338,7 @@ ...@@ -337,6 +338,7 @@
>img{ >img{
float:left; float:left;
margin: 2px 4px 0 0; margin: 2px 4px 0 0;
width: 16px;
} }
} }
.bottems{ .bottems{
...@@ -572,6 +574,16 @@ ...@@ -572,6 +574,16 @@
position: relative; position: relative;
padding-top: 25px; padding-top: 25px;
display: flex; display: flex;
.sels{
position: relative;
>img{
position: absolute;
left: 10px;
z-index: 1;
top: 8px;
width: 16px;
}
}
.el-input{ .el-input{
display: inline-block; display: inline-block;
margin-right: 12px; margin-right: 12px;
...@@ -610,6 +622,7 @@ ...@@ -610,6 +622,7 @@
position: absolute; position: absolute;
left: 8px; left: 8px;
top: 8px; top: 8px;
width: 16px;
z-index: 1; z-index: 1;
} }
.el-input{ .el-input{
...@@ -960,6 +973,7 @@ ...@@ -960,6 +973,7 @@
} }
.up_img{ .up_img{
margin: 56px auto 13px; margin: 56px auto 13px;
width: 50px;
} }
.up_text{ .up_text{
color: #666; color: #666;
......
...@@ -237,7 +237,7 @@ export const constantRoutes = [ ...@@ -237,7 +237,7 @@ export const constantRoutes = [
redirect: 'noredirect', redirect: 'noredirect',
children: [ children: [
{ {
path: '/radar/Bidding/details/:id(\\d+)', path: '/radar/Bidding/details/:id',
component: () => import('@/views/radar/Bidding/details'), component: () => import('@/views/radar/Bidding/details'),
name: 'BiddingDetails', name: 'BiddingDetails',
meta: { title: '招标计划详情', icon: 'radar' } meta: { title: '招标计划详情', icon: 'radar' }
......
...@@ -492,6 +492,7 @@ export default { ...@@ -492,6 +492,7 @@ export default {
.img.img1{ .img.img1{
margin-right: 2px; margin-right: 2px;
background: url('../../../../src/assets/images/project/add_2.png')no-repeat center center; background: url('../../../../src/assets/images/project/add_2.png')no-repeat center center;
background-size: 100%;
} }
.w88{ .w88{
width: 88px; width: 88px;
...@@ -528,7 +529,8 @@ export default { ...@@ -528,7 +529,8 @@ export default {
} }
>img{ >img{
float: right; float: right;
margin: 3px 0 0 4px margin: 3px 0 0 4px;
width: 14px;
} }
} }
} }
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
<template v-if="form.type==4"> <template v-if="form.type==4">
<el-select <el-select
class="form-content-width" class="form-content-width"
:class="form.value.length > 1 ? 'selectTag' : ''"
v-model="form.value" v-model="form.value"
multiple multiple
collapse-tags collapse-tags
...@@ -247,6 +248,22 @@ export default { ...@@ -247,6 +248,22 @@ export default {
::v-deep .form-content-width{ ::v-deep .form-content-width{
width: 170px; width: 170px;
} }
::v-deep .selectTag{
.el-select__tags{
.el-tag{
&:first-child{
width: 90px;
}
}
}
}
::v-deep .el-select__tags{
.el-tag{
&:first-child{
width: 100%;
}
}
}
} }
.ability-total{ .ability-total{
font-size: 12px; font-size: 12px;
......
...@@ -3,12 +3,13 @@ ...@@ -3,12 +3,13 @@
<el-input <el-input
placeholder="搜索" placeholder="搜索"
class="side-input" class="side-input"
v-model="searchText"> v-model="searchText"
@keyup.enter.native="handleSearch">
<i slot="prefix" class="el-input__icon el-icon-search" @click="handleSearch"></i> <i slot="prefix" class="el-input__icon el-icon-search" @click="handleSearch"></i>
</el-input> </el-input>
<el-menu <el-menu
ref="sideMenu"
:default-active="routeIndex" :default-active="routeIndex"
:unique-opened="true"
class="detail-menu" class="detail-menu"
@open="handleOpen"> @open="handleOpen">
<template v-for="(item, index) in sideRoute"> <template v-for="(item, index) in sideRoute">
...@@ -104,29 +105,16 @@ export default { ...@@ -104,29 +105,16 @@ export default {
}, },
computed: { computed: {
sideHeight() { sideHeight() {
let sideHeight = document.getElementById("detailPart")?document.getElementById("detailPart").offsetHeight:null let sideHeight = document.getElementById("detailPart")?document.getElementById("detailPart").offsetHeight:null, bowerHeight = document.body.clientHeight-170 || null
if(sideHeight<this.partBoxHeight) { if(this.partBoxHeight<bowerHeight) {
sideHeight = bowerHeight
}else{
sideHeight = this.partBoxHeight sideHeight = this.partBoxHeight
}else {
sideHeight = null
} }
return sideHeight return sideHeight
}, },
routeIndex(){ routeIndex(){
let idx = '0-0', sideArr = this.sideRoute let idx = this.getRouteIdx('', this.pathName) || '0-0'
for(let i=0; i < sideArr.length; i++){
if(sideArr[i].pathName == this.pathName){
idx = i.toString()
break
}else if(sideArr[i].children){
for(let j=0; j< sideArr[i].children.length ; j++){
if(sideArr[i].children[j].pathName == this.pathName){
idx = i+'-'+j
break
}
}
}
}
return idx return idx
} }
}, },
...@@ -140,7 +128,30 @@ export default { ...@@ -140,7 +128,30 @@ export default {
this.$emit("currentPath", item) this.$emit("currentPath", item)
}, },
handleSearch(){ handleSearch(){
console.log('开始搜索了') if(this.searchText){
let idx = this.getRouteIdx(this.searchText)
if(idx&&idx.includes('-')){
let openIdx = idx.slice(0, 1)
this.$refs.sideMenu.open(openIdx)
}
}
},
getRouteIdx(pathTitle, pathName){
let idx = '', sideArr = this.sideRoute
for(let i=0; i < sideArr.length; i++){
if(sideArr[i].title == pathTitle || sideArr[i].pathName == pathName){
idx = i.toString()
break
}else if(sideArr[i].children){
for(let j=0; j< sideArr[i].children.length ; j++){
if(sideArr[i].children[j].title == pathTitle || sideArr[i].children[j].pathName == pathName){
idx = i+'-'+j
break
}
}
}
}
return idx
}, },
isCustomerId(name){ isCustomerId(name){
if(this.customer.indexOf(name) != -1){ if(this.customer.indexOf(name) != -1){
......
...@@ -143,12 +143,7 @@ export default { ...@@ -143,12 +143,7 @@ export default {
components: { components: {
Detail Detail
}, },
props: { props: ['customerIds'],
customerIds: {
type: String,
default: ''
}
},
data() { data() {
return { return {
ifEmpty:false, ifEmpty:false,
...@@ -522,7 +517,7 @@ export default { ...@@ -522,7 +517,7 @@ export default {
::v-deep .cooperate-detail{ ::v-deep .cooperate-detail{
.miantitle, .app-container{ .miantitle, .app-container{
margin: 12px 0; //margin: 12px 0;
} }
} }
......
...@@ -81,12 +81,7 @@ export default { ...@@ -81,12 +81,7 @@ export default {
components: { components: {
Tables Tables
}, },
props: { props: ['customerIds'],
customerIds: {
type: String,
default: ''
}
},
data() { data() {
return { return {
ifEmpty:false, ifEmpty:false,
......
...@@ -7,32 +7,32 @@ ...@@ -7,32 +7,32 @@
<el-popover <el-popover
placement="top-start" placement="top-start"
trigger="hover" trigger="hover"
content="历史招标总数"> content="统计企业历年来公开招标总数">
<img src="@/assets/images/detail/overview/zbph_question.png" slot="reference"> <img src="@/assets/images/detail/overview/zbph_question.png" slot="reference">
</el-popover> </el-popover>
<span class="zbph-item-num">356</span></div> <span class="zbph-item-num">{{dataAll.totalCount || '--'}}</span></div>
<div>近一年招标总数 <div>近一年招标总数
<el-popover <el-popover
placement="top-start" placement="top-start"
trigger="hover" trigger="hover"
content="近一年招标总数"> content="统计企业近一年公开招标总数">
<img src="@/assets/images/detail/overview/zbph_question.png" slot="reference"> <img src="@/assets/images/detail/overview/zbph_question.png" slot="reference">
</el-popover> </el-popover>
<span class="zbph-item-num">356</span></div> <span class="zbph-item-num">{{dataAll.lastYearCount || '--'}}</span></div>
<div>历史招标总额 <div>历史招标总额(万元)
<el-popover <el-popover
placement="top-start" placement="top-start"
trigger="hover" trigger="hover"
content="历史招标总额"> content="统计企业历年来公开招标项目总金额">
<img src="@/assets/images/detail/overview/zbph_question.png" slot="reference"> <img src="@/assets/images/detail/overview/zbph_question.png" slot="reference">
</el-popover> </el-popover>
<span class="zbph-item-num">356</span></div> <span class="zbph-item-num">{{dataAll.bidAmount?parseFloat(dataAll.bidAmount.toFixed(6)):'--'}}</span></div>
</div> </div>
<div class="zbph-account">招标动态 <div class="zbph-account">招标动态
<div class="labels"> <div class="labels">
<div :class="{'on':datatype==1}" @click="getDT(1)">周</div> <div :class="{'on':datatype==3}" @click="getDT(3)">周</div>
<div :class="{'on':datatype==2}" @click="getDT(2)">月</div> <div :class="{'on':datatype==2}" @click="getDT(2)">月</div>
<div :class="{'on':datatype==3}" @click="getDT(3)">年</div> <div :class="{'on':datatype==1}" @click="getDT(1)">年</div>
</div> </div>
</div> </div>
<div id="myEcharts" style="width: 100%;height:250px; margin: 0 auto;"></div> <div id="myEcharts" style="width: 100%;height:250px; margin: 0 auto;"></div>
...@@ -43,7 +43,6 @@ ...@@ -43,7 +43,6 @@
<el-table <el-table
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
> >
<el-table-column <el-table-column
prop="ico" prop="ico"
...@@ -54,14 +53,14 @@ ...@@ -54,14 +53,14 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="companyName"
label="公司名称"> label="公司名称">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ scope.row.name }}</router-link> <router-link :to="`/company/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link">{{ scope.row.companyName }}</router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="number" prop="count"
width="160" width="160"
label="合作次数"> label="合作次数">
</el-table-column> </el-table-column>
...@@ -77,32 +76,54 @@ ...@@ -77,32 +76,54 @@
</template> </template>
<script> <script>
import {encodeStr} from "@/assets/js/common"
import {bidDataGroup, supplierPage} from '@/api/detail/party-a/overview'
import * as echarts from 'echarts' import * as echarts from 'echarts'
export default { export default {
name: 'Bidding', name: 'Bidding',
props: ['companyId'],
data() { data() {
return { return {
datatype:'1',//切换类型 encodeStr,
datatype:'3',//切换类型
dataAll: {},
dtdata:[],//数据 dtdata:[],//数据
dttime:[],//坐标 dttime:[],//坐标
//表格数据 //表格数据
tableData:[ tableData:[]
{name: '中国建筑第八工程局有限公司', companyId: '6034', number: '11%', amount: '2134', ico: require("@/assets/images/detail/overview/ywwl_top1.png")},
{name: '中建三局集团有限公司', companyId: '3068', number: '11%', amount: '2134', ico: require("@/assets/images/detail/overview/ywwl_top2.png")},
{name: '中国建筑一局(集团)有限公司', companyId: '428280', number: '11%', amount: '2134', ico: require("@/assets/images/detail/overview/ywwl_top3.png")},
{name: '上海宝冶集团有限公司', companyId: '7759', number: '11%', amount: '2134', ico: require("@/assets/images/detail/overview/ywwl_top4.png")},
{name: '中国五冶集团有限公司', companyId: '10951', number: '11%', amount: '2134', ico: require("@/assets/images/detail/overview/ywwl_top5.png")},
]
} }
}, },
created() { created() {
this.handleBid()
this.handleSupplier()
}, },
mounted() { mounted() {
this.$nextTick(()=>{
this.getDT(1)
})
}, },
methods: { methods: {
async handleBid(){
let res = await bidDataGroup({cid: this.companyId, spanId: this.datatype})
if(res.code==200){
let {totalCount, lastYearCount, bidAmount} = res.data
this.dataAll = {totalCount, lastYearCount, bidAmount}
this.dtdata=res.data.groupCount.map(item=>{
return item.count
})
this.dttime=res.data.groupCount.map(item=>{
return item.span
})
this.initDT(this.dtdata,this.dttime)
}
},
async handleSupplier() {
let res = await supplierPage({cid: this.companyId, sort: 1, pageNum: 1, pageSize: 5})
if(res.code==200){
this.tableData = res.rows
this.tableData.forEach((item, index) => {
item.amount = item.amount?parseFloat(item.amount.toFixed(6)):0
item.ico = require(`@/assets/images/detail/overview/ywwl_top${index+1}.png`)
})
}
},
initDT(datas,labels){ initDT(datas,labels){
let myChart = echarts.init(document.getElementById("myEcharts")) let myChart = echarts.init(document.getElementById("myEcharts"))
let option = { let option = {
...@@ -166,55 +187,7 @@ export default { ...@@ -166,55 +187,7 @@ export default {
}, },
getDT(type){ getDT(type){
this.datatype = type this.datatype = type
let time = new Date() this.handleBid()
let week = ['周一','周二','周三','周四','周五','周六','周日']
let weekdata = [200,150,300,240,400,380,460]
let monthdata = [400,200,350,170,190,280,260,308,406,387,458,695,125,360,512,546,298,365,458,536,345,200,150,300,240,400,380,460,472,365,547]
let yeardata = [1908,1500,2300,1456,2354,2564,1254,1236,4561,4521,1236,4561,3521]
let datas = []
let labels = []
switch (type) {
case 1:
time = time.getDay()
// week.length = time
weekdata.length = time
for(var i=0;i<7;i++){
if(i > time){
weekdata.push('')
}
}
labels = week
datas = weekdata
break;
case 2:
let days = new Date(time.getFullYear(),time.getMonth()+1,0).getDate()//获取到本月天数
time = time.getDate()
monthdata.length = time
for(var i=1;i<days;i++){
labels.push(i+'日')
if(i > time){
monthdata.push("")
}
}
datas = monthdata
break;
case 3:
time = time.getMonth()+1
yeardata.length = time
for(var i=1;i<12;i++){
labels.push(i+'月')
if(i>time){
yeardata.push('')
}
}
datas = yeardata
break;
default:
break;
}
this.dtdata = datas
this.dttime = labels
this.initDT(datas,labels)
} }
} }
} }
......
<template> <template>
<div class="app-container clue-container"> <div class="app-container clue-container">
<div class="common-title">商机线索</div> <div class="common-title">商机线索</div>
<el-tabs v-model="activeName" @tab-click="handleClick" class="tabpane selfTab"> <el-tabs v-model="activeIndex" @tab-click="handleQuery" class="tabpane selfTab">
<el-tab-pane label="按金额" name="first"></el-tab-pane> <el-tab-pane label="按金额" name="0"></el-tab-pane>
<el-tab-pane label="按项目" name="second"></el-tab-pane> <el-tab-pane label="按项目" name="1"></el-tab-pane>
</el-tabs> </el-tabs>
<div class="flex-box clue-box"> <div class="flex-box clue-box">
<div class="clue-echarts"><div id="echartsClue" style="width: 100%;height:300px; margin: 0 auto;"></div></div> <div class="clue-echarts"><div id="echartsClue" style="width: 100%;height:300px; margin: 0 auto;"></div></div>
<div class="table-item"> <div class="table-item">
<el-table <el-table
:data="activeName=='first'?viewData:projectData" :data="viewData"
border border
style="width: 100%" style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}" :default-sort = "{prop: 'date', order: 'descending'}"
...@@ -20,107 +20,59 @@ ...@@ -20,107 +20,59 @@
<el-table-column <el-table-column
prop="value" prop="value"
label="数量"> label="数量">
<template slot-scope="scope">
<div style="text-align: right">{{ scope.row.value }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="percent" prop="percent"
label="占比"> label="占比">
<template slot-scope="scope">
<div style="text-align: right">{{ scope.row.percent }}</div>
</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
<div class="flex-box clue-type"> <div class="flex-box clue-type">
<div class="flex-box clue-type-item" :class="typeName==index&&!item.disabled?'on':item.disabled?'disab':''" v-for="(item, index) in typeList" :key="index" @click="handleType(item, index)"><img :src="item.disabled?item.dis_ico:item.ico">{{item.name}}</div> <div class="flex-box clue-type-item" :class="!item.count?'disab':''" v-for="(item, index) in typeList" :key="index" @click="handleType(item, index)"><img :src="!item.count?item.dis_ico:item.ico">{{item.name}}</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {projectTenderDataGroup} from '@/api/detail/party-a/overview'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import {changePath} from "@/assets/js/common"
export default { export default {
name: 'Busclue', name: 'Busclue',
props: ['companyId', 'statistic'],
data() { data() {
return { return {
viewData:[ viewData:[],
{ activeIndex:0,
name:'7亿~12亿',
value:'12',
percent: '12%'
},
{
name:'4亿~6亿',
value:'2',
percent: '12%'
},
{
name:'1亿~3亿',
value:'42',
percent: '12%'
},
{
name:'5000万~1亿',
value:'2',
percent: '12%'
},
{
name:'5000万以下',
value:'2',
percent: '12%'
},
],
projectData:[
{
name:'公路工程',
value:'22',
percent: '12%'
},
{
name:'房建工程',
value:'12',
percent: '12%'
},
{
name:'水利工程',
value:'32',
percent: '12%'
},
{
name:'铁路工程',
value:'16',
percent: '12%'
},
{
name:'市政工程',
value:'8',
percent: '12%'
},
],
activeName:'first',
typeName: 0,
typeList:[ typeList:[
{name: '土地交易', ico: require("@/assets/images/detail/overview/clue_ico1.png"), disabled: false, dis_ico: require("@/assets/images/detail/overview/clue_dis_ico1.png")}, {name: '土地交易', pathName: 'landtransaction', ico: require("@/assets/images/detail/overview/clue_ico1.png"), count: 0, category:'global', field:'landInfo', dis_ico: require("@/assets/images/detail/overview/clue_dis_ico1.png")},
{name: '拟建项目', ico: require("@/assets/images/detail/overview/clue_ico2.png"), disabled: false, dis_ico: require("@/assets/images/detail/overview/clue_dis_ico2.png")}, {name: '拟建项目', pathName: 'proposed', ico: require("@/assets/images/detail/overview/clue_ico2.png"), count: 0, category:'global', field:'proposedProject', dis_ico: require("@/assets/images/detail/overview/clue_dis_ico2.png")},
{name: '专项债项目', ico: require("@//assets/images/detail/overview/clue_ico3.png"), disabled: true, dis_ico: require("@/assets/images/detail/overview/clue_dis_ico3.png")}, {name: '专项债项目', pathName: 'bond', ico: require("@//assets/images/detail/overview/clue_ico3.png"), count: 0, category:'xxx', field:'yy', dis_ico: require("@/assets/images/detail/overview/clue_dis_ico3.png")},
{name: '招标计划', ico: require("@/assets/images/detail/overview/clue_ico4.png"), disabled: false, dis_ico: require("@/assets/images/detail/overview/clue_dis_ico4.png")}, {name: '招标计划', pathName: 'biddingplan', ico: require("@/assets/images/detail/overview/clue_ico4.png"), count: 0, category:'xxx', field:'zz', dis_ico: require("@/assets/images/detail/overview/clue_dis_ico4.png")},
{name: '招标公告', ico: require("@/assets/images/detail/overview/clue_ico5.png"), disabled: true, dis_ico: require("@/assets/images/detail/overview/clue_dis_ico5.png")}, {name: '招标公告', pathName: 'announcement', ico: require("@/assets/images/detail/overview/clue_ico5.png"), count: 0, category:'business', field:'biddingAnnouncement', dis_ico: require("@/assets/images/detail/overview/clue_dis_ico5.png")},
{name: '标讯Pro', ico: require("@/assets/images/detail/overview/clue_ico6.png"), disabled: false, dis_ico: require("@/assets/images/detail/overview/clue_dis_ico6.png")}, {name: '标讯Pro', pathName: 'tencent', ico: require("@/assets/images/detail/overview/clue_ico6.png"), count: 0, category:'business', field:'proCount', dis_ico: require("@/assets/images/detail/overview/clue_dis_ico6.png")},
{name: '行政许可', ico: require("@/assets/images/detail/overview/clue_ico7.png"), disabled: false, dis_ico: require("@/assets/images/detail/overview/clue_dis_ico7.png")}, {name: '行政许可', pathName: 'administrative', ico: require("@/assets/images/detail/overview/clue_ico7.png"), count: 0, category:'business', field:'adminLicensing', dis_ico: require("@/assets/images/detail/overview/clue_dis_ico7.png")},
] ]
} }
}, },
created() { created() {
this.handleQuery()
}, },
mounted() { mounted() {
this.$nextTick(()=>{
this.getDT()
})
}, },
methods: { methods: {
async handleQuery(){
let res = await projectTenderDataGroup({cid: this.companyId, type: this.activeIndex})
if(res.code==200){
let data = res.data, totalVal = data.map(item => item.value).reduce((prev, cur) => prev + cur)
this.viewData = data.map(item => {
let it = {name:item.name, value:item.value, percent:parseFloat(Number(Number(item.value)/Number(totalVal)*100).toFixed(2))+'%'}
return it
})
this.getDT()
}
},
getDT(val){ getDT(val){
let myChart = echarts.init(document.getElementById("echartsClue")), data = val ? val : this.viewData let myChart = echarts.init(document.getElementById("echartsClue")), data = val ? val : this.viewData
let option = { let option = {
...@@ -157,18 +109,21 @@ export default { ...@@ -157,18 +109,21 @@ export default {
} }
myChart.setOption(option) myChart.setOption(option)
}, },
handleClick(){ handleStatistic() {
if(this.activeName=='first'){ this.typeList.forEach((item, index) => {
this.getDT(this.viewData) item.count = this.statistic[item.category]?this.statistic[item.category][item.field]:0
}else{ })
this.getDT(this.projectData)
}
}, },
handleType(it, idx){ handleType(it, idx){
if(!it.disabled){ if(it.count){
this.typeName = idx changePath(this, it.pathName)
} }
} }
},
watch: {
statistic(newVal, oldVal) {
this.handleStatistic()
}
} }
} }
</script> </script>
...@@ -217,10 +172,10 @@ export default { ...@@ -217,10 +172,10 @@ export default {
.clue-type-item{ .clue-type-item{
color: #232323; color: #232323;
cursor: pointer; cursor: pointer;
&.on{ &:hover{
color: #0081FF; color: #0081FF;
} }
&.disable{ &.disab{
color: rgba(35,35,35,0.4); color: rgba(35,35,35,0.4);
} }
img{ img{
......
...@@ -125,29 +125,28 @@ ...@@ -125,29 +125,28 @@
</template> </template>
<script> <script>
import { statistic } from '@/api/detail/party-a/overview'
import { changePath } from '@/assets/js/common' import { changePath } from '@/assets/js/common'
var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js') var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js')
import "@/assets/lib/swiper/swiper-bundle.css" import "@/assets/lib/swiper/swiper-bundle.css"
export default { export default {
name: 'Infoheader', name: 'Infoheader',
props: ['companyId', 'companyInfo'], props: ['companyId', 'companyInfo', 'statistic'],
data() { data() {
return { return {
newStatic: null,
labelList: [], //企业标签 labelList: [], //企业标签
claimLoading: false, claimLoading: false,
ifClaim: false, //是否认领 ifClaim: false, //是否认领
showMore: false, showMore: false,
showState: false, showState: false,
statistic: {},
graphList: [ graphList: [
{id: 1, name:'业务往来', intro:[{id: 101, name:'客户', val:0, category:'global', field:'customer'},{id: 102, name:'供应商', val:0, category:'global', field:'supplier'}], ico:require('@/assets/images/detail/overview/company_ywwl.png')}, {id: 1, name:'业务往来', isShow:true, intro:[{id: 101, name:'客户', val:0, category:'global', field:'customer'},{id: 102, name:'供应商', val:0, category:'global', field:'supplier'}], ico:require('@/assets/images/detail/overview/company_ywwl.png')},
{id: 2, name:'商机线索', intro:[{id: 201, name:'专项债项目', val:0, category:'xxx', field:'yy'},{id: 202, name:'招标计划', val:0, category:'xxx', field:'zz'}], ico:require('@/assets/images/detail/overview/company_sjxs.png')}, {id: 2, name:'商机线索', isShow:true, intro:[{id: 201, name:'专项债项目', val:0, category:'xxx', field:'yy'},{id: 202, name:'招标计划', val:0, category:'xxx', field:'zz'}], ico:require('@/assets/images/detail/overview/company_sjxs.png')},
{id: 3, name:'城投拿地', intro:[{id: 301, name:'土地交易', val:0, category:'global', field:'landInfo'},{id: 302, name:'行政许可', val:0, category:'business', field:'adminLicensing'}], ico:require('@/assets/images/detail/overview/company_ctnd.png')}, {id: 3, name:'城投拿地', isShow:true, intro:[{id: 301, name:'土地交易', val:0, category:'global', field:'landInfo'},{id: 302, name:'行政许可', val:0, category:'business', field:'adminLicensing'}], ico:require('@/assets/images/detail/overview/company_ctnd.png')},
{id: 4, name:'对外投资', intro:[{id: 401, name:'企业经营实力展现'}], ico:require('@/assets/images/detail/overview/company_dwtz.png')}, {id: 4, name:'对外投资', isShow:true, intro:[{id: 401, name:'企业经营实力展现'}], ico:require('@/assets/images/detail/overview/company_dwtz.png')},
{id: 5, name:'股权穿透', intro:[{id: 501, name:'瞬息掌握企业关系'}], ico:require('@/assets/images/detail/overview/company_gqct.png')}, {id: 5, name:'股权穿透', isShow:true, intro:[{id: 501, name:'瞬息掌握企业关系'}], ico:require('@/assets/images/detail/overview/company_gqct.png')},
{id: 6, name:'企业架构', intro:[{id: 601, name:'企业架构关联图'}], ico:require('@/assets/images/detail/overview/company_qyjg.png')}, {id: 6, name:'企业架构', isShow:true, intro:[{id: 601, name:'企业架构关联图'}], ico:require('@/assets/images/detail/overview/company_qyjg.png')},
{id: 7, name:'工商信息', intro:[{id: 701, name:'企业基础工商登记信息'}], ico:require('@/assets/images/detail/overview/company_gsxx.png')} {id: 7, name:'工商信息', isShow:true, intro:[{id: 701, name:'企业基础工商登记信息'}], ico:require('@/assets/images/detail/overview/company_gsxx.png')}
], //企业链图 ], //企业链图
//风险扫描 //风险扫描
labelArr:['失信联合惩戒企业','司法纠纷','注销'], //负向经营状态 labelArr:['失信联合惩戒企业','司法纠纷','注销'], //负向经营状态
...@@ -155,13 +154,11 @@ export default { ...@@ -155,13 +154,11 @@ export default {
} }
}, },
created() { created() {
this.getCompanyInfo() //处理曾用名
this.handleStatistic() //企业背景是否收起
}, },
mounted() { mounted() {
this.getClaimStatus() //获取企业认领状态 this.getClaimStatus() //获取企业认领状态
this.companySwiper() //swiper滚动板块
this.handleWidth() //企业背景是否收起 this.handleWidth() //企业背景是否收起
this.companySwiper() //swiper滚动板块
}, },
methods: { methods: {
//认领 //认领
...@@ -188,27 +185,27 @@ export default { ...@@ -188,27 +185,27 @@ export default {
}) })
}, },
getCompanyInfo(){ getCompanyInfo(){
if(this.companyInfo.historyNames && typeof this.companyInfo.historyNames=='string'){ //曾用名 if(this.companyInfo.historyNames && typeof this.companyInfo.historyNames=='string'){ //曾用名)
this.companyInfo.historyNames = JSON.parse(this.companyInfo.historyNames) this.companyInfo.historyNames = JSON.parse(this.companyInfo.historyNames)
} }
}, },
async handleStatistic() { handleStatistic() {
let res = await statistic({companyId:this.companyId}) this.graphList.forEach((item, index) => {
if(res.code==200){ let number = null
this.statistic = res.data if(item.intro){
this.graphList.forEach((item, index) => { item.intro.forEach((it, idx) => {
if(item.intro){ if(it.category || it.field){
item.intro.forEach((it, idx) => { it.val = this.statistic[it.category]?this.statistic[it.category][it.field]:0
if(it.category || it.field){ number +=it.val
it.val = this.getStatistic(it.category, it.field) }
} })
}) }
} if(number===0){
}) item.isShow = false
} }
}, })
getStatistic(category, field) { this.graphList = this.graphList.filter(item => item.isShow)
return this.statistic[category][field] || 0 this.companySwiper() //swiper滚动板块
}, },
//获取认领状态 //获取认领状态
async getClaimStatus(){ async getClaimStatus(){
...@@ -268,7 +265,11 @@ export default { ...@@ -268,7 +265,11 @@ export default {
}, },
watch: { watch: {
companyInfo(newVal, oldVal) { companyInfo(newVal, oldVal) {
this.getCompanyInfo() //处理曾用名
this.handleWidth() this.handleWidth()
},
statistic(newVal, oldVal) {
this.handleStatistic()
} }
} }
} }
......
...@@ -6,10 +6,10 @@ ...@@ -6,10 +6,10 @@
<ul class="swiper-wrapper"> <ul class="swiper-wrapper">
<li class="swiper-slide" v-for="(item, index) in operList" :key="index"> <li class="swiper-slide" v-for="(item, index) in operList" :key="index">
<div class="swiper-div"> <div class="swiper-div">
<div class="operations-title">{{item.range}}-<span>{{item.year}}</span></div> <div class="operations-title">{{item.bratingSubjectLevel}}-<span>{{item.ratingDate}}</span></div>
<div class="flex-box text-cl1 operations-info"> <div class="flex-box operations-info">
{{item.name}} <div>{{item.bondType || '--'}}</div>
<span><img src="@/assets/images/detail/overview/oper_source.png">{{item.name}}</span> <span class="text-cl1"><img src="@/assets/images/detail/overview/oper_source.png">{{item.creditRatingAgency || '--'}}</span>
</div> </div>
</div> </div>
</li> </li>
...@@ -21,35 +21,33 @@ ...@@ -21,35 +21,33 @@
<div class="flex-box operations-list"> <div class="flex-box operations-list">
<div class="list-item" v-for="(item, index) in gsjyList" :key="index"> <div class="list-item" v-for="(item, index) in gsjyList" :key="index">
<div class="flex-box list-item-all"><img :src="item.ico">{{item.name}}</div> <div class="flex-box list-item-all"><img :src="item.ico">{{item.name}}</div>
<div class="list-item-amount">{{item.amount}}</div> <div class="list-item-amount">{{item.amount?item.amount+'亿元':'--'}}</div>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {bondCreditRating} from '@/api/detail/party-a/overview'
var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js') var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js')
import "@/assets/lib/swiper/swiper-bundle.css" import "@/assets/lib/swiper/swiper-bundle.css"
export default { export default {
name: 'Overview', name: 'Overview',
props: ['companyId', 'financial'],
data() { data() {
return { return {
operList: [ operList: [],
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'}
],
gsjyList: [ gsjyList: [
{ name: '总资产', ico: require('@/assets/images/detail/overview/gsjy_ico1.png'), amount: '1699.7'}, { name: '总资产', ico: require('@/assets/images/detail/overview/gsjy_ico1.png'), amount: ''},
{ name: '净资产', ico: require('@/assets/images/detail/overview/gsjy_ico2.png'), amount: '1699.7'}, { name: '净资产', ico: require('@/assets/images/detail/overview/gsjy_ico2.png'), amount: ''},
{ name: '授信余额', ico: require('@/assets/images/detail/overview/gsjy_ico3.png'), amount: '1699.7'}, { name: '授信余额', ico: require('@/assets/images/detail/overview/gsjy_ico3.png'), amount: ''},
{ name: '营业收入', ico: require('@/assets/images/detail/overview/gsjy_ico4.png'), amount: '1699.7'}, { name: '营业收入', ico: require('@/assets/images/detail/overview/gsjy_ico4.png'), amount: ''},
{ name: '总负债', ico: require('@/assets/images/detail/overview/gsjy_ico5.png'), amount: '1699.7'} { name: '总负债', ico: require('@/assets/images/detail/overview/gsjy_ico5.png'), amount: ''}
], ],
} }
}, },
created() { created() {
this.handleQuery()
}, },
mounted() { mounted() {
this.companySwiper() this.companySwiper()
...@@ -64,6 +62,29 @@ export default { ...@@ -64,6 +62,29 @@ export default {
prevEl: '.swiper-oper-prev', prevEl: '.swiper-oper-prev',
} }
}) })
},
async handleQuery() {
let res = await bondCreditRating({cid: this.companyId})
if(res.code==200){
this.operList = res.data
this.$nextTick(() => {
this.companySwiper()
})
}
},
handleFinancial(){
if(this.financial){
let { totalAssets, belongNetAssets, creditBalance, operatingIncome, totalLiabilities } = this.financial
let jyqkObj = { totalAssets, belongNetAssets, creditBalance, operatingIncome, totalLiabilities }
this.gsjyList.forEach((item, index) => {
item.amount = jyqkObj[Object.keys(jyqkObj)[index]]?parseFloat(jyqkObj[Object.keys(jyqkObj)[index]].toFixed(2)):0
})
}
}
},
watch: {
financial(newVal, oldVal) {
this.handleFinancial()
} }
} }
} }
...@@ -105,8 +126,12 @@ export default { ...@@ -105,8 +126,12 @@ export default {
justify-content: space-between; justify-content: space-between;
font-size: 14px; font-size: 14px;
color: #416587; color: #416587;
div{
flex-shrink: 0;
}
span{ span{
font-size: 12px; font-size: 12px;
margin-left: 6px;
img{ img{
width: 10px; width: 10px;
height: 10px; height: 10px;
......
<template> <template>
<div class="app-container rela-container"> <div class="app-container rela-container">
<div class="common-title">关系企业</div> <div class="common-title">关系企业</div>
<el-tabs v-model="activeName" @tab-click="handleClick" class="tabpane selfTab"> <el-tabs v-model="activeName" @tab-click="handleQuery" class="tabpane selfTab">
<el-tab-pane label="股东" name="first"></el-tab-pane> <el-tab-pane label="股东" name="first"></el-tab-pane>
<el-tab-pane label="对外投资" name="second"></el-tab-pane> <el-tab-pane label="对外投资" name="second"></el-tab-pane>
</el-tabs> </el-tabs>
<div class="table-item"> <div class="table-item">
<div class="rela-person" v-if="activeName=='first'">实际控制人:<router-link to="" tag="a" class="a-link">重庆市国有资产监督管理委员会</router-link></div> <div class="rela-person" v-if="activeName=='first'">实际控制人:{{financial&&financial.actualController || '--'}}</div>
<el-table :data="holderData" border style="width: 100%" :default-sort = "{prop: 'date', order: 'descending'}" v-if="activeName=='first'"> <el-table :data="holderData" border style="width: 100%" v-show="activeName=='first'">
<el-table-column label="序号" width="55" align="left" fixed> <el-table-column label="序号" width="55" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ holderParams.pageNum * holderParams.pageSize - holderParams.pageSize + scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="name" min-width="140" label="股东名称"></el-table-column> <el-table-column prop="stockName" min-width="140" label="股东名称"></el-table-column>
<el-table-column prop="cgsl" label="持股数量(亿)"></el-table-column> <el-table-column prop="shouldCapiConv" label="持股数量(亿)"></el-table-column>
<el-table-column prop="cgbl" label="持股比例"></el-table-column> <el-table-column label="持股比例">
<el-table-column prop="fddbr" label="法定代表人"></el-table-column> <template slot-scope="scope">
<el-table-column prop="clrq" label="成立日期"></el-table-column> <span>{{scope.row.stockPercent?parseFloat(Number(scope.row.stockPercent*100).toFixed(4))+'%':'--'}}</span>
</el-table> </template>
<el-table :data="shipData" border style="width: 100%" :default-sort = "{prop: 'date', order: 'descending'}" v-else>
<el-table-column label="序号" width="55" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="name" min-width="140" label="被投资企业名称"> <el-table-column label="法定代表人">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ scope.row.name }}</router-link> <span>{{scope.row.corporatePerson || '--'}}</span>
<div class="tags" v-if="scope.row.nAjlx">
<span class="tag style1">{{scope.row.nAjlx}}</span>
<span class="tag style1">{{scope.row.nAjlx}}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="fddbr" label="法定代表人"></el-table-column> <el-table-column label="成立日期">
<el-table-column prop="zczb" label="注册资本(万元)">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="text-align: right">{{ scope.row.zczb }}</div> <span>{{scope.row.registeredDate || '--'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="clrq" label="成立日期"></el-table-column> </el-table>
<el-table-column prop="gqzb" label="股权占比"> <el-table :data="shipData" border style="width: 100%" v-show="activeName=='second'">
<el-table-column label="序号" width="55" align="left" fixed>
<template slot-scope="scope">{{ shipParams.pageNum * shipParams.pageSize - shipParams.pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column min-width="140" label="被投资企业名称">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="text-align: right">{{ scope.row.gqzb }}</div> <router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.investName" v-html="scope.row.investName"></router-link>
<div v-else v-html="scope.row.investName || '--'"></div>
<div class="tags" v-if="scope.row.businessStatus || scope.row.biddingAnnouncement">
<span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span>
<span class="tag style1" v-if="scope.row.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="rjcze" label="认缴出资额(万元)"> <el-table-column prop="investOperName" label="法定代表人"></el-table-column>
<el-table-column prop="investRegistCapi" label="注册资本(万元)"></el-table-column>
<el-table-column prop="investStartDate" label="成立日期"></el-table-column>
<el-table-column prop="stockPercentage" label="股权占比">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="text-align: right">{{ scope.row.rjcze }}</div> <span>{{scope.row.stockPercentage?parseFloat(Number(scope.row.stockPercentage*100).toFixed(4))+'%':'--'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="shouldCapi" label="认缴出资额(万元)"></el-table-column>
</el-table> </el-table>
<div class="rela-more" v-if="activeName=='second'"><router-link to="" tag="a" class="a-link">查看更多数据 ></router-link></div> <div class="rela-more" v-if="activeName=='second'&& shipTotal>shipParams.pageSize"><span class="a-link" @click="handlePath">查看更多数据 ></span></div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {encodeStr, changePath} from "@/assets/js/common"
import {bestStockPage, investment} from '@/api/detail/party-a/overview'
export default { export default {
name: 'Relationship', name: 'Relationship',
props: ['companyId', 'financial'],
data() { data() {
return { return {
encodeStr,
activeName:'first', activeName:'first',
//表格数据 //表格数据
holderData:[ holderData:[],
{name: '重庆城市交通开发投资 (集团)有限公司', cgsl: '60.00', cgbl: '100%', fddbr: '李方宇', clrq: '1994-11-09'}, holderParams: {
{name: '重庆城市交通开发投资 (集团)有限公司', cgsl: '60.00', cgbl: '100%', fddbr: '李方宇', clrq: '1994-11-09'} cid: this.companyId,
], isHistory: 0,
shipData:[ pageNum: 1,
{name: '深圳市地铁集团有限建设总部', nAjlx: '招标', fddbr: '雷江松', zczb: '15100', clrq: '1920-02-21', gqzb: '35%', rjcze: '2133'}, pageSize: 100
{name: '深圳市地铁集团有限建设总部', nAjlx: '招标', fddbr: '雷江松', zczb: '15100', clrq: '1920-02-21', gqzb: '35%', rjcze: '2133'}, },
{name: '深圳市地铁集团有限建设总部', nAjlx: '招标', fddbr: '雷江松', zczb: '15100', clrq: '1920-02-21', gqzb: '35%', rjcze: '2133'}, shipData:[],
{name: '深圳市地铁集团有限建设总部', nAjlx: '招标', fddbr: '雷江松', zczb: '15100', clrq: '1920-02-21', gqzb: '35%', rjcze: '2133'}, shipParams: {
{name: '深圳市地铁集团有限建设总部', nAjlx: '招标', fddbr: '雷江松', zczb: '15100', clrq: '1920-02-21', gqzb: '35%', rjcze: '2133'} cid: this.companyId,
], pageNum: 1,
pageIndex: 1, pageSize: 5
pageSize: 10 },
shipTotal: 0
} }
}, },
created() { created() {
this.handleQuery()
}, },
mounted() { mounted() {
}, },
methods: { methods: {
handleClick(){ async handleQuery(){
let res = this.activeName=='first'?await bestStockPage(this.holderParams):await investment(this.shipParams)
if(res.code==200){
this.activeName=='first'?this.holderData = res.rows:this.shipData = res.rows
}
this.activeName=='second'?this.shipTotal = res.total:''
},
handlePath(){
changePath(this, 'overseas')
} }
} }
} }
...@@ -134,6 +152,9 @@ export default { ...@@ -134,6 +152,9 @@ export default {
.rela-more{ .rela-more{
padding-top: 16px; padding-top: 16px;
text-align: center; text-align: center;
span{
cursor: pointer;
}
} }
} }
</style> </style>
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
:data="viewData" :data="viewData"
border border
style="width: 100%" style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
> >
<el-table-column <el-table-column
prop="name" prop="name"
...@@ -17,14 +16,14 @@ ...@@ -17,14 +16,14 @@
prop="value" prop="value"
label="数量"> label="数量">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="text-align: right">{{ scope.row.value }}</div> <span>{{ scope.row.value }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="bl" prop="bl"
label="占比"> label="占比">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="text-align: right">{{ scope.row.bl }}</div> <span>{{ scope.row.bl }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -37,56 +36,73 @@ ...@@ -37,56 +36,73 @@
import * as echarts from 'echarts' import * as echarts from 'echarts'
export default { export default {
name: 'Risk', name: 'Risk',
props: ['statistic'],
data() { data() {
return { return {
viewData:[ viewData:[
{ {
name:'开庭公告', name:'开庭公告',
value:'2', value:'',
tz:'50.01', category:'credit',
bl:'0.19%' field:'openAnnouncement',
tz:'',
bl:''
}, },
{ /*{
name:'企业公告', name:'企业公告',
value:'2', value:'',
tz:'50.01', category:'xxx',
bl:'0.19%' field:'yy',
tz:'',
bl:''
}, },
{ {
name:'送达公告', name:'送达公告',
value:'2', value:'',
tz:'50.01', category:'xxx',
bl:'0.19%' field:'yy',
tz:'',
bl:''
}, },
{ {
name:'对外投资变更', name:'对外投资变更',
value:'7', value:'',
tz:'50.01', category:'xxx',
bl:'0.19%' field:'yy',
}, tz:'',
bl:''
},*/
{ {
name:'法院公告', name:'法院公告',
value:'2', value:'',
tz:'50.01', category:'credit',
bl:'0.19%' field:'courtAnnouncement',
tz:'',
bl:''
}, },
{ /*{
name:'立案信息', name:'立案信息',
value:'3', value:'',
tz:'50.01', category:'xxx',
bl:'0.19%' field:'zz',
}, tz:'',
bl:''
},*/
{ {
name:'被执行人', name:'被执行人',
value:'5', value:'',
tz:'50.01', category:'credit',
bl:'0.19%' field:'dishonestExecutee',
tz:'',
bl:''
}, },
{ {
name:'行政处罚', name:'行政处罚',
value:'11', value:'',
tz:'50.01', category:'credit',
bl:'0.19%' field:'adminSanction',
tz:'',
bl:''
}, },
] ]
} }
...@@ -94,11 +110,23 @@ export default { ...@@ -94,11 +110,23 @@ export default {
created() { created() {
}, },
mounted() { mounted() {
this.$nextTick(()=>{
this.getDT()
})
}, },
methods: { methods: {
handView(){
let totalVal = this.viewData.map(item => {
let number = this.statistic[item.category]&&this.statistic[item.category][item.field]?this.statistic[item.category][item.field]:0
return number
}).reduce((prev, cur) => prev + cur)
this.viewData = this.viewData.map(item => {
let number = this.statistic[item.category]&&this.statistic[item.category][item.field]?this.statistic[item.category][item.field]:0
let it = {name:item.name, value:number, tz: '', bl:parseFloat(Number(Number(number)/Number(totalVal)*100).toFixed(2))+'%'}
return it
})
this.viewData.sort((a, b) => {
return a.value < b.value ? 1 : -1;
})
this.getDT()
},
getDT(){ getDT(){
let myChart = echarts.init(document.getElementById("echartsRisk")) let myChart = echarts.init(document.getElementById("echartsRisk"))
let option = { let option = {
...@@ -110,7 +138,9 @@ export default { ...@@ -110,7 +138,9 @@ export default {
var result = '' var result = ''
result+='<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">'+ params.data.name +'</h3>' result+='<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">'+ params.data.name +'</h3>'
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.value +'个</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.value +'个</p>'
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.tz +'亿元</p>' if(params.data.tz){
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;" >'+ params.data.tz +'亿元</p>'
}
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.bl +'%</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.bl +'%</p>'
return result; return result;
}, },
...@@ -142,6 +172,11 @@ export default { ...@@ -142,6 +172,11 @@ export default {
} }
myChart.setOption(option) myChart.setOption(option)
} }
},
watch: {
statistic(newVal, oldVal) {
this.handView()
}
} }
} }
</script> </script>
...@@ -155,7 +190,6 @@ export default { ...@@ -155,7 +190,6 @@ export default {
.clue-box{ .clue-box{
width: 100%; width: 100%;
justify-content: space-between; justify-content: space-between;
align-items: normal;
margin-top: 20px; margin-top: 20px;
.clue-echarts{ .clue-echarts{
width: calc(50% - 8px); width: calc(50% - 8px);
......
...@@ -9,13 +9,13 @@ ...@@ -9,13 +9,13 @@
:default-sort = "{prop: 'date', order: 'descending'}" :default-sort = "{prop: 'date', order: 'descending'}"
> >
<el-table-column label="序号" width="55" align="left" fixed> <el-table-column label="序号" width="55" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ queryParams.pageNum * queryParams.pageSize - queryParams.pageSize + scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="姓名"></el-table-column> label="姓名"></el-table-column>
<el-table-column <el-table-column
prop="zw" prop="jobTitle"
label="职务"></el-table-column> label="职务"></el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -23,23 +23,34 @@ ...@@ -23,23 +23,34 @@
</template> </template>
<script> <script>
import {keymembers} from "@/api/detail/party-a/overview"
export default { export default {
name: 'Senior', name: 'Senior',
props: ['companyId'],
data() { data() {
return { return {
queryParams: {
cid: this.companyId,
pageNum: 1,
pageSize: 100
},
//表格数据 //表格数据
tableData:[ tableData:[]
{name: '重庆城市交通开发投资 (集团)有限公司', zw: '董事'}
],
pageIndex: 1,
pageSize: 10
} }
}, },
created() { created() {
this.handleQuery()
}, },
mounted() { mounted() {
}, },
methods: { methods: {
async handleQuery(){
let res = await keymembers(this.queryParams)
if(res.code==200){
this.tableData = res.rows
}
}
} }
} }
</script> </script>
......
...@@ -3,48 +3,79 @@ ...@@ -3,48 +3,79 @@
<div class="tender-list"> <div class="tender-list">
<div class="common-title">招标公告</div> <div class="common-title">招标公告</div>
<div class="tender-item" v-for="(item, index) in zbggList" :key="index"> <div class="tender-item" v-for="(item, index) in zbggList" :key="index">
<div class="flex-box tender-title">{{item.name}}<span :class="item.tag=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'">{{item.tag}}</span></div> <div class="flex-box tender-title"><div class="text-cl1" :title="item.projectName"><router-link :to="'/radar/Bidding/details/'+item.bid" tag="a" class="a-link">{{item.projectName}}</router-link></div><span :class="item.tenderStage=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'">{{item.tenderStage}}</span></div>
<span class="tender-time">{{item.tip}} {{item.time}}</span> <span class="tender-time">{{item.contact}} {{item.issueTime}}</span>
</div> </div>
</div> </div>
<div class="tender-list"> <div class="tender-list">
<div class="common-title">企业动态</div> <div class="common-title">企业动态</div>
<div class="tender-item" v-for="(item, index) in trendList" :key="index"> <div class="tender-item" v-for="(item, index) in trendList" :key="index">
<div class="flex-box tender-title">{{item.name}}<span :class="item.tag=='新增分支机构'?'style2':item.tag=='新增施工工法'?'style3':'style1'">{{item.tag}}</span></div> <div class="flex-box tender-title"><div class="text-cl1" :title="tendTitle(item.details)">{{tendTitle(item.details)}}</div><span :class="item.parentDimension=='新增分支机构'?'style2':item.parentDimension=='新增施工工法'?'style3':'style1'">{{item.parentDimension}}</span></div>
<span class="tender-time">{{item.time}}</span> <span class="tender-time">{{item.createTime}}</span>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {bidNoticePage, dynamicPage} from "@/api/detail/party-a/overview"
export default { export default {
name: 'Tender', name: 'Tender',
props: ['companyId'],
data() { data() {
return { return {
zbggParams: {
cid: this.companyId,
sort: 3,
pageNum: 1,
pageSize: 5
},
//招标公告数据 //招标公告数据
zbggList:[ zbggList:[],
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '公司经营', tip: '通信信息报', time: '03-21'}, trendParams: {
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '项目动态', tip: '通信信息报', time: '03-21'}, companyId: '2453',
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '公司经营', tip: '通信信息报', time: '03-21'}, pageNum: 1,
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '招投标', tip: '通信信息报', time: '03-21'}, pageSize: 5
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '公司经营', tip: '通信信息报', time: '03-21'} },
],
//企业动态数据 //企业动态数据
trendList:[ trendList:[]
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '对外投资变更', time: '03-21'}, }
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '新增分支机构', time: '03-21'}, },
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '新增分支机构', time: '03-21'}, computed: {
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '新增施工工法', time: '03-21'}, tendTitle() {
{name: '深圳北站片区正建超大型商场,预计2026年建成', tag: '新增施工工法', time: '03-21'} return function(val) {
] let str = ''
if(val){
for(let key in val){
str += key+':'+ val[key]+';'
}
str = str.substring(0, str.lastIndexOf(';'))
}else{
str = '--'
}
return str
}
} }
}, },
created() { created() {
this.handleQuery()
}, },
mounted() { mounted() {
}, },
methods: { methods: {
async handleQuery() {
let [notice, namic] = await Promise.all([
bidNoticePage(this.zbggParams),
dynamicPage(this.trendParams)
])
if(notice.code==200){
this.zbggList = notice.rows
}
if(namic.code==200){
this.trendList = namic.rows
}
}
} }
} }
</script> </script>
...@@ -71,6 +102,9 @@ export default { ...@@ -71,6 +102,9 @@ export default {
color: #232323; color: #232323;
justify-content: space-between; justify-content: space-between;
align-items: normal; align-items: normal;
div{
width: calc(100% - 120px);
}
span{ span{
height: 22px; height: 22px;
line-height: 22px; line-height: 22px;
...@@ -102,6 +136,7 @@ export default { ...@@ -102,6 +136,7 @@ export default {
} }
} }
.tender-time{ .tender-time{
height: 28px;
display: block; display: block;
padding-top: 8px; padding-top: 8px;
color: rgba(35,35,35,0.4); color: rgba(35,35,35,0.4);
......
<template> <template>
<div class="app-container part-container"> <div class="app-container part-container">
<div class="view-content"><Infoheader :companyId="companyId" :companyInfo="companyInfo" /></div><!-- 企业信息 --> <div class="view-content"><Infoheader :companyId="companyId" :companyInfo="companyInfo" :statistic="statistic" /></div><!-- 企业信息 -->
<div class="view-content"><Operations /></div><!-- 公司经营 --> <div class="view-content"><Operations :companyId="companyId" :financial="financial" /></div><!-- 公司经营 -->
<div class="view-content"><Bidding /></div><!--招标偏好、业务往来--> <div class="view-content"><Bidding :companyId="companyId" /></div><!--招标偏好、业务往来-->
<div class="view-content"><Busclue /></div><!--商机线索--> <div class="view-content"><Busclue :companyId="companyId" :statistic="statistic" /></div><!--商机线索-->
<div class="view-content"><Relationship /></div><!--关系企业--> <div class="view-content"><Relationship :companyId="companyId" :financial="financial" /></div><!--关系企业-->
<div class="view-content"><Senior /></div><!--高管--> <div class="view-content"><Senior :companyId="companyId" /></div><!--高管-->
<div class="view-content"><Risk /></div><!--风险概览--> <div class="view-content"><Risk :companyId="companyId" :statistic="statistic" /></div><!--风险概览-->
<div class="view-content"><Tender /></div><!--招标公告、企业动态--> <div class="view-content"><Tender :companyId="companyId" /></div><!--招标公告、企业动态-->
</div> </div>
</template> </template>
<script> <script>
import { statistic } from '@/api/detail/party-a/overview'
import { financial } from '@/api/detail/party-a/financial'
import Infoheader from "./component/infoheader" import Infoheader from "./component/infoheader"
import Operations from "./component/operations" import Operations from "./component/operations"
import Bidding from "./component/bidding" import Bidding from "./component/bidding"
...@@ -35,11 +37,28 @@ export default { ...@@ -35,11 +37,28 @@ export default {
}, },
data() { data() {
return { return {
isShow: false,
statistic: {},
financial: {}
} }
}, },
created() { created() {
this.handleQuery()
}, },
methods: { methods: {
async handleQuery() {
let [statis, financ] = await Promise.all([
statistic({companyId: this.companyId}),
financial({cid: this.companyId})
])
if(statis.code==200){
this.statistic = statis.data
}
if(financ.code==200){
this.financial = financ.data
}
this.isShow = true
}
} }
} }
</script> </script>
...@@ -49,7 +68,7 @@ export default { ...@@ -49,7 +68,7 @@ export default {
margin: 0; margin: 0;
padding: 0; padding: 0;
.view-content{ .view-content{
//margin-top: 12px; margin-top: 12px;
} }
} }
</style> </style>
...@@ -160,12 +160,7 @@ export default { ...@@ -160,12 +160,7 @@ export default {
components: { components: {
}, },
props: { props: ['customerIds'],
customerIds: {
type: String,
default: ''
}
},
data() { data() {
return { return {
autosize: { autosize: {
......
...@@ -33,12 +33,7 @@ export default { ...@@ -33,12 +33,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -35,12 +35,7 @@ export default { ...@@ -35,12 +35,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -33,12 +33,7 @@ export default { ...@@ -33,12 +33,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -32,12 +32,7 @@ export default { ...@@ -32,12 +32,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -41,12 +41,7 @@ export default { ...@@ -41,12 +41,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -41,12 +41,7 @@ export default { ...@@ -41,12 +41,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -41,12 +41,7 @@ export default { ...@@ -41,12 +41,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -37,12 +37,7 @@ export default { ...@@ -37,12 +37,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -35,16 +35,7 @@ export default { ...@@ -35,16 +35,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId','companyInfo'],
companyId: {
type: Number,
default: 0
},
companyInfo: {
type: Object,
default: {}
}
},
data() { data() {
return { return {
addressList:'', addressList:'',
......
...@@ -118,16 +118,7 @@ export default { ...@@ -118,16 +118,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId', 'companyInfo'],
companyId: {
type: Number,
default: 0
},
companyInfo: {
type: Object,
default: {}
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -24,7 +24,11 @@ ...@@ -24,7 +24,11 @@
highlight-current-row highlight-current-row
@sort-change="sortChange" @sort-change="sortChange"
> >
<el-table-column prop="province" label="下辖区" width="100" :formatter="formatStatus"/> <el-table-column prop="province" label="下辖区" width="170" :formatter="formatStatus">
<template slot-scope="scope">
{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}
</template>
</el-table-column>
<el-table-column prop="gdp" label="GDP(亿元)" sortable width="120" :formatter="formatStatus"/> <el-table-column prop="gdp" label="GDP(亿元)" sortable width="120" :formatter="formatStatus"/>
<el-table-column prop="gdpGrowth" label="GDP增速" sortable width="100" :formatter="formatStatus"/> <el-table-column prop="gdpGrowth" label="GDP增速" sortable width="100" :formatter="formatStatus"/>
<el-table-column prop="gdpPerCapita" label="人均GDP(元)" sortable width="130" :formatter="formatStatus"/> <el-table-column prop="gdpPerCapita" label="人均GDP(元)" sortable width="130" :formatter="formatStatus"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment