Commit 9f53bc99 authored by 远方不远's avatar 远方不远
parents 00927589 195b2f50
package com.dsk.web.controller.dsk;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.dskService.EnterpriseBussinessService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
*@Description: 央企经营管理系统企业业务相关
*@Author: zhangyi
*@date: 2023/5/17 9:03
*/
@Slf4j
@RestController
@RequestMapping(value = "/enterpriseBussiness")
public class EnterpriseBussinessController {
@Autowired
EnterpriseBussinessService enterpriseBussinessService;
@ApiOperation(value = "客户信息列表")
@RequestMapping(value = "/clientPage", method = RequestMethod.POST)
public TableDataInfo clientPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.clientPage(paramMap);
}
@ApiOperation(value = "客户项目列表")
@RequestMapping(value = "/clientProjectPage", method = RequestMethod.POST)
public TableDataInfo clientProjectPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.clientProjectPage(paramMap);
}
@ApiOperation(value = "投标记录列表(开标记录)")
@RequestMapping(value = "/tenderPage",method = RequestMethod.POST)
public TableDataInfo tenderPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.tenderPage(paramMap);
}
@ApiOperation(value = "投标记录详情(开标记录)")
@RequestMapping(value = "/tenderDetail",method = RequestMethod.POST)
public R tenderDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.tenderDetail(paramMap);
}
@ApiOperation(value = "供应商列表")
@RequestMapping(value = "/supplierPage",method = RequestMethod.POST)
public TableDataInfo supplierPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.supplierPage(paramMap);
}
@ApiOperation(value = "供应商项目列表")
@RequestMapping(value = "/supplierProjectPage",method = RequestMethod.POST)
public TableDataInfo supplierProjectPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.supplierProjectPage(paramMap);
}
@ApiOperation(value = "中标项目详情")
@RequestMapping(value = "/projectDetail", method = RequestMethod.POST)
public R projectDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.projectDetail(paramMap);
}
@ApiOperation(value = "招标代理常合作代理机构列表")
@RequestMapping(value = "/oftenAgencyPage",method = RequestMethod.POST)
public TableDataInfo oftenAgencyPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.oftenAgencyPage(paramMap);
}
@ApiOperation(value = "招标合作明细列表")
@RequestMapping(value = "/bidCooperatePage", method = RequestMethod.POST)
public TableDataInfo bidCooperatePage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.bidCooperatePage(paramMap);
}
@ApiOperation(value = "历史发包列表")
@RequestMapping(value = "/historySendPage", method = RequestMethod.POST)
public TableDataInfo historySendPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.historySendPage(paramMap);
}
@ApiOperation(value = "历史发包省份")
@RequestMapping(value = "/historySendProvince", method = RequestMethod.POST)
public R historySendProvince(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseBussinessService.historySendProvince(paramMap);
}
}
......@@ -2,6 +2,7 @@ package com.dsk.web.controller.dsk;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.dskService.EnterpriseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -28,8 +29,7 @@ public class EnterpriseController {
@ApiOperation(value = "企业详情头部信息(建设库)")
@PostMapping("/infoHeader")
public R infoHeader(@RequestBody @Valid EnterpriseInfoHeaderBody body) throws Exception
{
public R infoHeader(@RequestBody @Valid EnterpriseInfoHeaderBody body) throws Exception {
return enterpriseService.infoHeader(body);
}
......@@ -59,19 +59,19 @@ public class EnterpriseController {
@ApiOperation(value = "股东列表(openApi)")
@PostMapping(value = "partners")
public R partners(@RequestBody @Valid EnterprisePartnersBody vo) throws Exception {
public TableDataInfo partners(@RequestBody @Valid EnterprisePartnersBody vo) throws Exception {
return enterpriseService.partners(vo);
}
@ApiOperation(value = "对外投资列表(openApi)")
@PostMapping(value = "investment")
public R investment(@RequestBody @Valid EnterpriseInvestmentBody vo) throws Exception {
public TableDataInfo investment(@RequestBody @Valid EnterpriseInvestmentBody vo) throws Exception {
return enterpriseService.investment(vo);
}
@ApiOperation(value = "分支机构列表(openApi)")
@PostMapping(value = "affiliates")
public R affiliates(@RequestBody @Valid EnterpriseAffiliatesBody vo) throws Exception {
public TableDataInfo affiliates(@RequestBody @Valid EnterpriseAffiliatesBody vo) throws Exception {
return enterpriseService.affiliates(vo);
}
......@@ -101,7 +101,7 @@ public class EnterpriseController {
@ApiOperation(value = "企业动态列表(建设库)")
@PostMapping(value = "dynamicPage")
public R dynamicPage(@RequestBody @Valid EnterpriseDynamicPageBody vo) throws Exception {
public TableDataInfo dynamicPage(@RequestBody @Valid EnterpriseDynamicPageBody vo) throws Exception {
return enterpriseService.dynamicPage(vo);
}
......@@ -113,19 +113,19 @@ public class EnterpriseController {
@ApiOperation(value = "工商变更信息列表(openApi)")
@PostMapping(value = "changeInfo")
public R changeInfo(@RequestBody @Valid EnterpriseChangeInfoBody vo) throws Exception {
public TableDataInfo changeInfo(@RequestBody @Valid EnterpriseChangeInfoBody vo) throws Exception {
return enterpriseService.changeInfo(vo);
}
@ApiOperation(value = "高管信息列表(openApi)")
@PostMapping(value = "keymembers")
public R keymembers(@RequestBody @Valid EnterpriseKeymembersBody vo) throws Exception {
public TableDataInfo keymembers(@RequestBody @Valid EnterpriseKeymembersBody vo) throws Exception {
return enterpriseService.keymembers(vo);
}
@ApiOperation(value = "工商股东信息(openApi)")
@PostMapping(value = "bestStockPage")
public R bestStockPage(@RequestBody @Valid EnterpriseKeymembersBody vo) throws Exception {
public TableDataInfo bestStockPage(@RequestBody @Valid EnterpriseKeymembersBody vo) throws Exception {
return enterpriseService.bestStockPage(vo);
}
......
package com.dsk.web.controller.dsk;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.dskService.EnterpriseCreditService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
/**
*@Description: 央企经营管理系统企业风险相关
*@Author: zhangyi
*@date: 2023/5/17 9:03
*/
@Slf4j
@RestController
@RequestMapping(value = "/enterpriseCredit")
public class EnterpriseCreditController {
@Autowired
EnterpriseCreditService enterpriseCreditService;
@RequestMapping(value = "/penalizePage", method = RequestMethod.POST)
@ApiOperation(value = "行政处罚列表")
public TableDataInfo penalizePage(@RequestBody @Valid EnterpriseCreditPenalizePageBody body) throws Exception {
return enterpriseCreditService.penalizePage(body);
}
@RequestMapping(value = "/penalizeReasonType", method = RequestMethod.POST)
@ApiOperation(value = "行政处罚类型")
public R penalizeReasonType(@RequestBody @Valid EnterpriseCreditPenalizeReasonTypeBody body) throws Exception {
return enterpriseCreditService.penalizeReasonType(body);
}
@RequestMapping(value = "/abnormalPage", method = RequestMethod.POST)
@ApiOperation(value = "经营异常列表")
public TableDataInfo abnormalPage(@RequestBody @Valid EnterpriseCreditAbnormalPageBody body) throws Exception {
return enterpriseCreditService.abnormalPage(body);
}
@RequestMapping(value = "/abnormalYears", method = RequestMethod.POST)
@ApiOperation(value = "经营异常年份")
public R abnormalYears(@RequestBody @Valid EnterpriseCreditAbnormalYearsBody body) throws Exception {
return enterpriseCreditService.abnormalYears(body);
}
@RequestMapping(value = "/executedPersonsPage", method = RequestMethod.POST)
@ApiOperation(value = "被执行人列表")
public TableDataInfo executedPersonsPage(@RequestBody @Valid EnterpriseCreditExecutedPersonsPageBody body) throws Exception {
return enterpriseCreditService.executedPersonsPage(body);
}
@RequestMapping(value = "/executedPage", method = RequestMethod.POST)
@ApiOperation(value = "失信被执行人列表")
public TableDataInfo executedPage(@RequestBody @Valid EnterpriseCreditExecutedPageBody body) throws Exception {
return enterpriseCreditService.executedPage(body);
}
@RequestMapping(value = "/lawsuitsPage", method = RequestMethod.POST)
@ApiOperation(value = "裁判文书列表")
public TableDataInfo lawsuitsPage(@RequestBody @Valid EnterpriseCreditLawsuitsPageBody body) throws Exception {
return enterpriseCreditService.lawsuitsPage(body);
}
@RequestMapping(value = "/lawsuitsCauseAction", method = RequestMethod.POST)
@ApiOperation(value = "裁判文书案由")
public R lawsuitsCauseAction(@RequestBody @Valid EnterpriseCreditLawsuitsCauseActionBody body) throws Exception {
return enterpriseCreditService.lawsuitsCauseAction(body);
}
@RequestMapping(value = "/lawsuitsRole", method = RequestMethod.POST)
@ApiOperation(value = "裁判文书身份")
public R lawsuitsRole(@RequestBody @Valid EnterpriseCreditLawsuitsRoleBody body) throws Exception {
return enterpriseCreditService.lawsuitsRole(body);
}
@RequestMapping(value = "/noticesPage", method = RequestMethod.POST)
@ApiOperation(value = "法院公告列表")
public TableDataInfo noticesPage(@RequestBody @Valid EnterpriseCreditNoticePageBody body) throws Exception {
return enterpriseCreditService.noticesPage(body);
}
@RequestMapping(value = "/noticesType", method = RequestMethod.POST)
@ApiOperation(value = "法院公告类型")
public R noticesType(@RequestBody @Valid EnterpriseCreditNoticeTypeBody body) throws Exception {
return enterpriseCreditService.noticesType(body);
}
@RequestMapping(value = "/noticesRole", method = RequestMethod.POST)
@ApiOperation(value = "法院公告身份")
public R noticesRole(@RequestBody @Valid EnterpriseCreditNoticeRoleBody body) throws Exception {
return enterpriseCreditService.noticesRole(body);
}
@RequestMapping(value = "/noticesCaseReason", method = RequestMethod.POST)
@ApiOperation(value = "法院公告案由")
public R noticesCaseReason(@RequestBody @Valid EnterpriseCreditNoticeCaseReasonBody body) throws Exception {
return enterpriseCreditService.noticesCaseReason(body);
}
@RequestMapping(value = "/kaitingPage", method = RequestMethod.POST)
@ApiOperation(value = "开庭公告列表")
public TableDataInfo kaitingPage(@RequestBody @Valid EnterpriseCreditKaitingPageBody body) throws Exception {
return enterpriseCreditService.kaitingPage(body);
}
@RequestMapping(value = "/kaitingCauseAction", method = RequestMethod.POST)
@ApiOperation(value = "开庭公告案由")
public R kaitingCauseAction(@RequestBody @Valid EnterpriseCreditKaitingCauseActionBody body) throws Exception {
return enterpriseCreditService.kaitingCauseAction(body);
}
@RequestMapping(value = "/kaitingPureRole", method = RequestMethod.POST)
@ApiOperation(value = "开庭公告当事人身份")
public R kaitingPureRole(@RequestBody @Valid EnterpriseCreditKaitingPureRoleBody body) throws Exception {
return enterpriseCreditService.kaitingPureRole(body);
}
}
package com.dsk.web.controller.dsk;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.dskService.EnterpriseProjectService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
*@Description: 央企经营管理系统企业项目相关
*@Author: zhangyi
*@date: 2023/5/17 9:03
*/
@Slf4j
@RestController
@RequestMapping(value = "/enterpriseProject")
public class EnterpriseProjectController {
@Autowired
EnterpriseProjectService enterpriseProjectService;
@ApiOperation(value = "土地交易员列表")
@RequestMapping(value = "/landTransactionPage", method = RequestMethod.POST)
public TableDataInfo landTransactionPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.landTransactionPage(paramMap);
}
@ApiOperation(value = "土地用途列表")
@RequestMapping(value = "/landUse", method = RequestMethod.POST)
public R landUse(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.landUse(paramMap);
}
@ApiOperation(value = "土地信息详情")
@RequestMapping(value = "/landDetail",method = RequestMethod.POST)
public R landDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.landDetail(paramMap);
}
@ApiOperation(value = "拟建项目列表")
@RequestMapping(value = "/approvalProjectPage",method = RequestMethod.POST)
public TableDataInfo approvalProjectPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.approvalProjectPage(paramMap);
}
@ApiOperation(value = "拟建项目详情基本信息")
@RequestMapping(value = "/approvalInfoDetail",method = RequestMethod.POST)
public R approvalInfoDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.approvalInfoDetail(paramMap);
}
@ApiOperation(value = "拟建项目详情立项审批列表")
@RequestMapping(value = "/approvalExaminePage",method = RequestMethod.POST)
public TableDataInfo approvalExaminePage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.approvalExaminePage(paramMap);
}
@ApiOperation(value = "拟建项目详情民间推介列表")
@RequestMapping(value = "/approvalMarketingPage", method = RequestMethod.POST)
public TableDataInfo approvalMarketingPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.approvalMarketingPage(paramMap);
}
@ApiOperation(value = "专项债项目列表")
@RequestMapping(value = "/specialDebtPage", method = RequestMethod.POST)
public TableDataInfo specialDebtPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.specialDebtPage(paramMap);
}
@ApiOperation(value = "专项债项目详情")
@RequestMapping(value = "/specialDebtDetail", method = RequestMethod.POST)
public R specialDebtDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.specialDebtDetail(paramMap);
}
@ApiOperation(value = "招标公告列表")
@RequestMapping(value = "/bidNoticePage",method = RequestMethod.POST)
public TableDataInfo bidNoticePage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticePage(paramMap);
}
@ApiOperation(value = "招标公告招标类别")
@RequestMapping(value = "/bidNoticeTenderStage", method = RequestMethod.POST)
public R bidNoticeTenderStage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeTenderStage(paramMap);
}
@ApiOperation(value = "招标公告招标地区")
@RequestMapping(value = "/bidNoticeProvince", method = RequestMethod.POST)
public R bidNoticeProvince(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeProvince(paramMap);
}
@ApiOperation(value = "招标公告详情")
@RequestMapping(value = "/bidNoticeDetail", method = RequestMethod.POST)
public R bidNoticeDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeDetail(paramMap);
}
@ApiOperation(value = "招标计划列表")
@RequestMapping(value = "/bidPlanPage",method = RequestMethod.POST)
public TableDataInfo bidPlanPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidPlanPage(paramMap);
}
@ApiOperation(value = "招标计划详情")
@RequestMapping(value = "/bidPlanDetail", method = RequestMethod.POST)
public R bidPlanDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidPlanDetail(paramMap);
}
@ApiOperation(value = "标讯pro招标公告列表")
@RequestMapping(value = "/bidNoticeProPage", method = RequestMethod.POST)
public TableDataInfo bidNoticeProPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeProPage(paramMap);
}
@ApiOperation(value = "标讯pro招标公告详情")
@RequestMapping(value = "/bidNoticeProDetail", method = RequestMethod.POST)
public R bidNoticeProDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeProDetail(paramMap);
}
@ApiOperation(value = "行政许可列表")
@RequestMapping(value = "/creditXzxkPage", method = RequestMethod.POST)
public TableDataInfo creditXzxkPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.creditXzxkPage(paramMap);
}
}
package com.dsk.web.controller.search.controller;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
import com.dsk.web.controller.search.service.MarketAnalysisService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 商机雷达 查询接口
* @author Administrator
*
*/
@RequestMapping("/radar")
@RestController
public class BusinessOpportunityRadarController {
@Resource
BusinessOpportunityRadarService opportunityRadarService;
/*
* 土地交易
*/
@RequestMapping("/landMarketPage")
public AjaxResult landMarketPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.landMarketPage(compose);
}
/*
* 拟建项目
*/
@RequestMapping("/establishmentPage")
public AjaxResult establishmentPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.establishmentPage(compose);
}
/*
* 开标记录
*/
@RequestMapping("/jskBidTenderPage")
public AjaxResult jskBidTenderPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.jskBidTenderPage(compose);
}
/*
* 标讯pro
*/
@RequestMapping("/jskBidNewsPage")
public AjaxResult jskBidNewsPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.jskBidNewsPage(compose);
}
}
package com.dsk.web.controller.search.controller;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 模糊查企业
* @author Administrator
*
*/
@RequestMapping("/enterprise")
@RestController
public class CompanySearchController {
@Resource
BusinessOpportunityRadarService opportunityRadarService;
/*
* 土地交易
*/
@RequestMapping("/index")
public AjaxResult landMarketPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.enterprisePage(compose);
}
}
package com.dsk.web.controller.search;
package com.dsk.web.controller.search.controller;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.web.controller.search.service.MarketAnalysisService;
......@@ -51,6 +52,32 @@ public class MarketAnalysisController {
return marketAnalysisService.certGroupByMajorProvinceLevel();
}
/*
* 产业结构-按年份选择 各个项目类型项目总数
*/
@RequestMapping("/bidGroupCountByProjectType")
public AjaxResult bidGroupCountByProjectType(@RequestBody JSONObject object) {
return marketAnalysisService.bidGroupCountByProjectType(object);
}
/*
* 产业结构-近两年各个项目类型项目总数及金额占比
*/
@RequestMapping("/bidMoneyGroupByProjectType")
public AjaxResult bidMoneyGroupByProjectType(@RequestBody JSONObject object) {
return marketAnalysisService.bidMoneyGroupByProjectType(object);
}
/*
* 中标数量按省份分组
*/
......
package com.dsk.web.controller.search.service;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto;
/**
* @Author liujie
* @ClassName MarketAnalysisService
* @Date 2023/5/15 16:39
**/
public interface BusinessOpportunityRadarService {
AjaxResult jskBidNewsPage(ComposeQueryDto compose);
AjaxResult jskBidTenderPage(ComposeQueryDto compose);
AjaxResult landMarketPage(ComposeQueryDto compose);
AjaxResult establishmentPage(ComposeQueryDto compose);
AjaxResult enterprisePage(ComposeQueryDto compose);
}
package com.dsk.web.controller.search.service;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto;
......@@ -19,4 +20,8 @@ public interface MarketAnalysisService {
AjaxResult countGroupByProvince(ComposeQueryDto compose);
AjaxResult countGroupByMonth(ComposeQueryDto compose);
AjaxResult bidMoneyGroupByProjectType(JSONObject object);
AjaxResult bidGroupCountByProjectType(JSONObject object);
}
package com.dsk.web.controller.search.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
import com.dsk.web.controller.search.service.MarketAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityRadarService {
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
@Override
public AjaxResult jskBidNewsPage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/jskBid/news/page", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult jskBidTenderPage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/jskBidTender/page", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult establishmentPage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/establishment/page", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult landMarketPage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/landMarket/page", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult enterprisePage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/enterprice/index", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
}
package com.dsk.web.controller.search.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.R;
import com.dsk.common.dtos.ComposeQueryDto;
......@@ -24,33 +25,45 @@ public class MarketAnalysisServiceImpl implements MarketAnalysisService {
private DskOpenApiUtil dskOpenApiUtil;
@Override
public AjaxResult areaGroupByProvince() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/marketAnalysis/areaGroupByProvince", null);
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/marketAnalysis/areaGroupByProvince", null);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult certGroupByMajorAndLevel() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/marketAnalysis/certGroupByMajorAndLevel", null);
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/marketAnalysis/certGroupByMajorAndLevel", null);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult certGroupByMajorProvinceLevel() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/marketAnalysis/certGroupByMajorProvinceLevel", null);
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/marketAnalysis/certGroupByMajorProvinceLevel", null);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult bidMoneyGroupByProjectType(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/marketAnalysis/bidMoneyGroupByProjectType", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult bidGroupCountByProjectType(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/marketAnalysis/bidGroupCountByProjectType", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult countGroupByProvince(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/marketAnalysis/countGroupByProvince", BeanUtil.beanToMap(compose, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/marketAnalysis/countGroupByProvince", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult countGroupByMonth(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/marketAnalysis/countGroupByDate", BeanUtil.beanToMap(compose, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/nationzj/marketAnalysis/countGroupByDate", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
}
......@@ -9,6 +9,11 @@ package com.dsk.common.core.domain.model;
*/
public class BasePage {
/**
* 当前页码
*/
private Integer pageNum = 1;
/**
* 当前页码
*/
......@@ -22,7 +27,7 @@ public class BasePage {
/**
* 最大页码
*/
private Integer pageMaxIndex;
private Integer pageMaxNum;
/**
* 最大条数
......@@ -31,11 +36,14 @@ public class BasePage {
public Integer getPageIndex() {
return pageMaxIndex != null && pageIndex > pageMaxIndex? pageMaxIndex : pageIndex;
return pageNum;
}
public Integer getPageNum() {
return pageMaxNum != null && pageNum > pageMaxNum? pageMaxNum : pageNum;
}
public void setPageIndex(Integer pageIndex) {
this.pageIndex = pageIndex;
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
......@@ -46,12 +54,12 @@ public class BasePage {
this.pageSize = pageSize;
}
public Integer getPageMaxIndex() {
return pageMaxIndex;
public Integer getPageMaxNum() {
return pageMaxNum;
}
public void setPageMaxIndex(Integer pageMaxIndex) {
this.pageMaxIndex = pageMaxIndex;
public void setPageMaxNum(Integer pageMaxNum) {
this.pageMaxNum = pageMaxNum;
}
public Integer getPageMaxSize() {
......@@ -62,11 +70,15 @@ public class BasePage {
this.pageMaxSize = pageMaxSize;
}
public void setPageIndex(Integer pageIndex) {
this.pageIndex = pageNum;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("BasePageVo [pageIndex=");
builder.append(pageIndex);
builder.append(pageNum);
builder.append(", pageSize=");
builder.append(pageSize);
builder.append("]");
......
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditAbnormalPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 年份列表
*/
private List<String> years;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditAbnormalYearsBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
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 EnterpriseCreditExecutedPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditExecutedPersonsPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
}
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 EnterpriseCreditKaitingCauseActionBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
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 EnterpriseCreditKaitingPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 案由
*/
private String causeAction;
/**
* 身份
*/
private String pureRole;
/**
* 查询关键词
*/
private String keys;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
}
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 EnterpriseCreditKaitingPureRoleBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
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 EnterpriseCreditLawsuitsCauseActionBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
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 EnterpriseCreditLawsuitsPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 裁判文书案由
*/
private String causeAction;
/**
* 裁判文书身份
*/
private String role;
/**
* 查询关键词
*/
private String keys;
}
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 EnterpriseCreditLawsuitsRoleBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
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 EnterpriseCreditNoticeCaseReasonBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
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 EnterpriseCreditNoticePageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 公告类型
*/
private String type;
/**
* 身份
*/
private String role;
/**
* 案由
*/
private String caseReason;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
}
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 EnterpriseCreditNoticeRoleBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
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 EnterpriseCreditNoticeTypeBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
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 EnterpriseCreditPenalizePageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 处罚原因类型
*/
private Integer penalizeReasonType;
/**
* 查询关键字
*/
private String keys;
}
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 EnterpriseCreditPenalizeReasonTypeBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
package com.dsk.common.core.page;
import com.dsk.common.constant.HttpStatus;
import java.io.Serializable;
import java.util.List;
......@@ -41,6 +43,8 @@ public class TableDataInfo implements Serializable
{
this.rows = list;
this.total = total;
this.code = HttpStatus.SUCCESS;
this.msg = "查询成功";
}
public long getTotal()
......
package com.dsk.common.utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 邮箱和手机号验证
*/
public class CheckUtils {
public static final String REG_Moblie = "^((13[0-9])|(14(0|[5-7]|9))|(15([0-3]|[5-9]))|(16(2|[5-7]))|(17[0-8])|(18[0-9])|(19([0-3]|[5-9])))\\d{8}$";
public static final String REG_EMAIL = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+";
/**
* 校验email
* @param email
* @return
*/
public static boolean isEmail(String email){
if (email == null){
return false;
}else {
boolean isMatch = Pattern.matches(REG_EMAIL,email);
return isMatch;
}
}
/**
* 校验手机号
* @param phone
* @return
*/
public static boolean isPhone(String phone){
if (phone == null){
return false;
}else {
Pattern p = Pattern.compile(REG_Moblie);
Matcher m = p.matcher(phone);
return m.matches();
}
}
}
package com.dsk.common.utils;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONConfig;
import cn.hutool.json.JSONUtil;
import com.dsk.acc.openapi.api.AccClient;
import com.dsk.acc.openapi.client.Config;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.config.DskOpenApiConfig;
import com.dsk.common.core.page.TableDataInfo;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Component
......@@ -24,6 +31,10 @@ public class DskOpenApiUtil {
return request(path, bodyMap, "json");
}
public Map<String,Object> requestBodyLocal(String path, Map<String, Object> bodyMap){
return JSONUtil.toBean(HttpUtil.post("http://127.0.0.1:8766"+path, JSONUtil.toJsonStr(bodyMap)), JSONConfig.create().setIgnoreNullValue(true), Map.class);
}
public Map<String,Object> requestBodyWithHeader(String path, Map<String, Object> bodyMap, Map<String, String> headerMap){
return requestWithHeader(path, bodyMap, "json", headerMap);
}
......@@ -88,4 +99,14 @@ public class DskOpenApiUtil {
}
}
public TableDataInfo responsePage(Map<String, Object> resMap) throws Exception {
Integer code = MapUtils.getInteger(resMap, "code", 300);
Map data = MapUtils.getMap(resMap, "data", null);
if (200 != code) throw new RuntimeException();
Integer count = MapUtils.getInteger(data, "totalCount", 0);
Object list = MapUtils.getObject(data, "list", "");
return new TableDataInfo((List<?>) list, count);
}
}
\ No newline at end of file
......@@ -40,7 +40,7 @@
"axios": "0.24.0",
"clipboard": "2.0.8",
"core-js": "3.25.3",
"echarts": "5.4.0",
"echarts": "^5.4.0",
"element-resize-detector": "^1.2.4",
"element-ui": "2.15.12",
"file-saver": "2.0.5",
......
/**
* Swiper 7.2.0
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
* Copyright 2014-2021 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: October 27, 2021
*/
@font-face {
font-family: 'swiper-icons';
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
font-weight: 400;
font-style: normal;
}
:root {
--swiper-theme-color: #007aff;
}
.swiper {
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
list-style: none;
padding: 0;
/* Fix of Webkit flickering */
z-index: 1;
}
.swiper-vertical > .swiper-wrapper {
flex-direction: column;
}
.swiper-wrapper {
position: relative;
width: 100%;
height: 100%;
z-index: 1;
display: flex;
transition-property: transform;
box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-wrapper {
transform: translate3d(0px, 0, 0);
}
.swiper-pointer-events {
touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
touch-action: pan-x;
}
.swiper-slide {
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
transition-property: transform;
}
.swiper-slide-invisible-blank {
visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
height: auto;
}
.swiper-autoheight .swiper-wrapper {
align-items: flex-start;
transition-property: transform, height;
}
/* 3D Effects */
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px;
}
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start;
}
.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
scroll-snap-type: x mandatory;
}
.swiper-vertical.swiper-css-mode > .swiper-wrapper {
scroll-snap-type: y mandatory;
}
.swiper-centered > .swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
content: '';
position: absolute;
left: 0;
top: 0;
pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
height: 1px;
width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
width: 1px;
height: var(--swiper-virtual-size);
}
:root {
--swiper-navigation-size: 44px;
/*
--swiper-navigation-color: var(--swiper-theme-color);
*/
}
.swiper-button-prev,
.swiper-button-next {
position: absolute;
top: 50%;
width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
z-index: 10;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
opacity: 0.35;
cursor: auto;
pointer-events: none;
}
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
text-transform: none;
font-variant: initial;
line-height: 1;
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
left: 10px;
right: auto;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: 10px;
left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
content: 'next';
}
.swiper-button-lock {
display: none;
}
:root {
/*
--swiper-pagination-color: var(--swiper-theme-color);
--swiper-pagination-bullet-size: 8px;
--swiper-pagination-bullet-width: 8px;
--swiper-pagination-bullet-height: 8px;
--swiper-pagination-bullet-inactive-color: #000;
--swiper-pagination-bullet-inactive-opacity: 0.2;
--swiper-pagination-bullet-opacity: 1;
--swiper-pagination-bullet-horizontal-gap: 4px;
--swiper-pagination-bullet-vertical-gap: 6px;
*/
}
.swiper-pagination {
position: absolute;
text-align: center;
transition: 300ms opacity;
transform: translate3d(0, 0, 0);
z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
opacity: 0;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
bottom: 10px;
left: 0;
width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
overflow: hidden;
font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transform: scale(0.33);
position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
transform: scale(0.33);
}
.swiper-pagination-bullet {
width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
display: inline-block;
border-radius: 50%;
background: var(--swiper-pagination-bullet-inactive-color, #000);
opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
border: none;
margin: 0;
padding: 0;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
cursor: pointer;
}
.swiper-pagination-bullet:only-child {
display: none !important;
}
.swiper-pagination-bullet-active {
opacity: var(--swiper-pagination-bullet-opacity, 1);
background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
right: 10px;
top: 50%;
transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
top: 50%;
transform: translateY(-50%);
width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
display: inline-block;
transition: 200ms transform, 200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform, 200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform, 200ms right;
}
/* Progress */
.swiper-pagination-progressbar {
background: rgba(0, 0, 0, 0.25);
position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: var(--swiper-pagination-color, var(--swiper-theme-color));
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: scale(0);
transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
width: 100%;
height: 4px;
left: 0;
top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
width: 4px;
height: 100%;
left: 0;
top: 0;
}
.swiper-pagination-lock {
display: none;
}
/* Scrollbar */
.swiper-scrollbar {
border-radius: 10px;
position: relative;
-ms-touch-action: none;
background: rgba(0, 0, 0, 0.1);
}
.swiper-horizontal > .swiper-scrollbar {
position: absolute;
left: 1%;
bottom: 3px;
z-index: 50;
height: 5px;
width: 98%;
}
.swiper-vertical > .swiper-scrollbar {
position: absolute;
right: 3px;
top: 1%;
z-index: 50;
width: 5px;
height: 98%;
}
.swiper-scrollbar-drag {
height: 100%;
width: 100%;
position: relative;
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
left: 0;
top: 0;
}
.swiper-scrollbar-cursor-drag {
cursor: move;
}
.swiper-scrollbar-lock {
display: none;
}
.swiper-zoom-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.swiper-slide-zoomed {
cursor: move;
}
/* Preloader */
:root {
/*
--swiper-preloader-color: var(--swiper-theme-color);
*/
}
.swiper-lazy-preloader {
width: 42px;
height: 42px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -21px;
margin-top: -21px;
z-index: 10;
transform-origin: 50%;
animation: swiper-preloader-spin 1s infinite linear;
box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent;
}
.swiper-lazy-preloader-white {
--swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
--swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
100% {
transform: rotate(360deg);
}
}
/* a11y */
.swiper .swiper-notification {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
opacity: 0;
z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
transition-timing-function: ease-out;
margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
flex-wrap: wrap;
flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
pointer-events: none;
transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-cube {
overflow: visible;
}
.swiper-cube .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
visibility: hidden;
transform-origin: 0 0;
width: 100%;
height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
pointer-events: auto;
visibility: visible;
}
.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.swiper-cube .swiper-cube-shadow {
position: absolute;
left: 0;
bottom: 0px;
width: 100%;
height: 100%;
opacity: 0.6;
z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
content: '';
background: #000;
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
filter: blur(50px);
}
.swiper-flip {
overflow: visible;
}
.swiper-flip .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.swiper-creative .swiper-slide {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
transition-property: transform, opacity, height;
}
.swiper-cards {
overflow: visible;
}
.swiper-cards .swiper-slide {
transform-origin: center bottom;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
.app-container{
padding: 0;
}
//小导航
.miantitle{
color: #232323;
......@@ -791,3 +795,23 @@
.p10{
padding: 0 10px;
}
.tips{
display: inline-block;
padding: 4px 8px;
border-radius: 2px;
font-size: 12px;
margin-right: 8px;
&.tip1{
background-color: #E4F3FD;
color: #41A1FD;
}
&.tip2{
background-color: #F3F3FF;
color: #8491E8;
}
&.tip3{
background-color: #DEF6F0;
color: #0BAE8D;
}
}
......@@ -228,7 +228,6 @@ export default {
<style lang="scss" scoped>
.app-container{
padding: 0;
height: calc(100vh - 134px)
}
.box-card{
......
<template>
<div>
<div class="miantitle">
<span>客户管理</span>
<span> / 客户概览</span>
</div>
<div class="app-container">
客户概览
<div class="topions">
<div class="icons">
<div class="name">客户总数</div>
<div class="count">120</div>
<img class="icon_img" src="@/assets/images/project/icon_1.png">
</div>
<div class="icons">
<div class="name">已合作客户</div>
<div class="count">56</div>
<img class="icon_img" src="@/assets/images/project/icon_2.png">
</div>
<div class="icons">
<div class="name">局级大客户</div>
<div class="count">50</div>
<img class="icon_img" src="@/assets/images/project/icon_3.png">
</div>
<div class="icons">
<div class="name">今日紧进客户</div>
<div class="count">30</div>
<img class="icon_img" src="@/assets/images/project/icon_4.png">
</div>
<div class="icons">
<div class="name">储备项目数</div>
<div class="count">33</div>
<img class="icon_img" src="@/assets/images/project/icon_5.png">
</div>
</div>
<div class="flex">
<el-card class="box-card noborder left" style="position: relative">
<div class="cardtitles">客户级别</div>
<div class="chartsum">
<div class="sum">23家</div>
<div>11%</div>
<div>有息债务/总负债</div>
</div>
<div class="flex">
<div id="khjb" class="chart1"></div>
<div class="tables">
<el-table
:data="tableData"
stripe border
style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
>
<el-table-column
prop="name"
label="名称">
</el-table-column>
<el-table-column
prop="name"
label="数量(家)">
</el-table-column>
<el-table-column
prop="point"
label="占比">
</el-table-column>
</el-table>
</div>
</div>
</el-card>
<el-card class="box-card noborder right">
<div class="cardtitles">客户跟进动态
<div class="labels">
<div :class="{'on':datatype==1}" @click="getDT(1)">周</div>
<div :class="{'on':datatype==2}" @click="getDT(2)">月</div>
<div :class="{'on':datatype==3}" @click="getDT(3)">年</div>
</div>
</div>
<div id="khgjdt" class="chart2"></div>
</el-card>
</div>
<div class="flex">
<el-card class="box-card noborder left">
<div class="cardtitles">客户性质分析</div>
<div class="chart2" id="khxz"></div>
</el-card>
<el-card class="box-card noborder right">
<div class="cardtitles">客户资信评级</div>
<div class="chart2" id="khzxpj"></div>
</el-card>
</div>
<el-card class="box-card noborder">
<div class="cardtitles">客户动态</div>
<div class="trendslist">
<div class="trends" v-for="item in datalist">
<div class="names">{{item.name}}</div>
<div class="trendtips"><div class="tips tip3">{{item.tip1}}</div><div class="tips tip2">{{item.tip2}}</div></div>
<div class="trendcon">{{item.text}}</div>
<div class="time">{{item.time}}</div>
</div>
<div class="tables" style="width: 100%">
<div class="bottems">
<el-pagination
background
:page-size="10"
:current-page="1"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="datalist.length">
</el-pagination>
</div>
</div>
</div>
</el-card>
</div>
</div>
</template>
<script>
import "@/assets/styles/project.scss"
import * as echarts from 'echarts'
export default {
name: 'Overview',
data() {
return {
//客户级别
chartDom: '',
myChart: '',
option: '',
//客户跟进
chartDom1: '',
myChart1: '',
option1: '',
//客户性质
chartDom2: '',
myChart2: '',
option2: '',
// 客户资信
chartDom3: '',
myChart3: '',
option3: '',
//表格数据
tableData:[
{name:'集团总部',sum:'23',point:'11%'},
{name:'一级单位',sum:'61',point:'29%'},
{name:'二级单位',sum:'60',point:'29%'},
{name:'三级单位',sum:'21',point:'10%'},
{name:'其他单位',sum:'44',point:'21%'},
],
datatype:'1',//切换类型
dtdata:[],//数据
dttime:[],//坐标
datalist:[
{name:'重庆市江北区国有资本投资运营管理集团有限公司',time:'2023-05-30',text:'新增招标公告:【江北房地产综合开发公司名下不动产鲤鱼池片区资产评估项目】 公开选取【资产评估】机构的公告',tip1:'正向',tip2:'招标公告'},
{name:'上海城投(集团)有限公司',time:'2023-05-29',text:'新增招标公告:北横通道新建工程——机电、装饰工程Ⅱ标段',tip1:'正向',tip2:'招标公告'},
{name:'上海申迪(集团)有限公司',time:'2023-5-27',text:'新增招标公告:上海国际旅游度假区核心区3.1平方公里绿地公园配套停车场项目',tip1:'正向',tip2:'招标公告'},
{name:'上海浦东建设股份有限公司',time:'2023-5-25',text:'新增招标公告:张村地块基础设施建设及上汽地块配套道路桥梁项目道路照明工程二标段',tip1:'正向',tip2:'招标公告'},
{name:'上海浦东建设股份有限公司',time:'2023-5-24',text:'新增供应商:江苏安神交通工程有限公司',tip1:'提示',tip2:'新增供应商'},
],
}
},
created() {
},
mounted(){
this.$nextTick(()=>{
this.chartDom = document.getElementById("khjb")
this.myChart = echarts.init(this.chartDom)
this.chartDom2 = document.getElementById("khxz")
this.myChart2 = echarts.init(this.chartDom2)
this.chartDom3 = document.getElementById("khzxpj")
this.myChart3 = echarts.init(this.chartDom3)
this.initChart()
this.getDT(1)
})
},
methods: {
initChart(){
//客户级别
this.option = {
tooltip: {
trigger: 'item'
},
color:['#8A82F3','#5B9CF7','#8DCF96','#FFDC6B','#FE9C77'],//修改配色
series: [
{
name: '',
type: 'pie',
radius: ['50%','70%'],
data: [
{ value: 23, name: '集团总部:11%' },
{ value: 61, name: '一级单位:29%' },
{ value: 60, name: '二级单位:29%' },
{ value: 21, name: '三级单位:10%' },
{ value: 44, name: '其他单位: 21%' }
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
}
this.option && this.myChart.setOption(this.option)
//客户性质分析
this.option2 = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: ['地方单位', '事业单位', '政府机关', '中央企业', '上市公司', '军队', '民营企业','其他'],
axisTick: {
alignWithLabel: true
}
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name: '',
type: 'bar',
barWidth: '20%',
data: [100, 152, 200, 334, 390, 330, 220,256,178],
itemStyle:{
normal: {
barBorderRadius: [4, 4, 0, 0],
color: '#165DFF'
}
}
}
]
}
this.option2 && this.myChart2.setOption(this.option2)
//客户资质分析
this.option3 = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: ['AA', 'AA+', 'AA-', 'A', 'A+', 'A', 'A-','其他'],
axisTick: {
alignWithLabel: true
}
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name: '',
type: 'bar',
barWidth: '20%',
data: [110, 112, 190, 234, 310, 350, 220,276,198],
itemStyle:{
normal:{
barBorderRadius:[4,4,0,0],
color:'#14C9C9'
},
}
}
]
}
this.option3 && this.myChart3.setOption(this.option3)
},
initDT(datas,labels){
this.chartDom1 = document.getElementById("khgjdt")
this.myChart1 = echarts.init(this.chartDom1)
//客户跟进动态
this.option1 = {
xAxis: {
type: 'category',
data: labels
},
yAxis: {
type: 'value'
},
grid:{
left:'8%',
top:'8%',
right:'5%',
bottom:'10%',
},
tooltip:{
axisPointer:{ //悬浮于圆点展示标签
type:'axis'
},
// trigger: 'axis'
},
series: [
{
name: '总跟进',
data: datas,
type: 'line',
smooth: true,
itemStyle: {
normal:{
color:'#0081FF'
}
},
label:{
normal:{
show:false
}
},
areaStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0, color: 'rgba(0, 129, 255, 0.5)'
}, {
offset: 1, color: 'rgba(0, 129, 255, 0)'
} ],
global: false
}
},
}
]
}
this.option1 && this.myChart1.setOption(this.option1)
},
getDT(type){
this.datatype = type
let time = new Date()
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)
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
},
}
}
</script>
<style lang="scss" scoped>
.box-card{
margin: 12px 0 0;
padding-bottom: 24px;
&.left{
width: calc(62% - 16px);
margin-right: 14px;
}
&.right{
width: 40%;
}
}
.topions{
width: 100%;
display: flex;
.icons{
width: calc(20%);
margin-right: 16px;
height: 96px;
background: url("../../../assets/images/project/beijing.png") top center no-repeat;
background-size: 100% 100%;
position: relative;
padding: 24px;
&:last-child{
margin-right: 0;
}
.name{
font-size: 14px;
color: #3D3D3D;
line-height: 14px;
}
.count{
font-size: 26px;
font-weight: 700;
color: #0081FF;
padding-top: 14px;
line-height: 26px;
}
.icon_img{
width: 70px;
position: absolute;
right: 0;
bottom: 0;
}
}
}
.chart1{
width: 428px;
height: 240px;
}
.tables{
width: calc(100% - 428px);
}
.chartsum{
position: absolute;
color: #3D3D3D;
text-align: center;
top: 155px;
left: 168px;
>div{
font-size: 10px;
line-height: 18px;
padding: 0 2px;
&.sum{
font-size: 18px;
padding-bottom: 4px;
}
}
}
.chart2{
width: 100%;
height: 265px;
}
.cardtitles{
position: relative;
.labels{
width: 120px;
height: 22px;
position: absolute;
border-radius: 2px;
right: 24px;
top: 24px;
>div{
width: 40px;
height: 100%;
text-align: center;
line-height: 22px;
float: left;
opacity: 1;
border: 1px solid #EFEFEF;
margin-left: -1px;
font-weight: 400;
font-size: 12px;
color: rgba(35, 35, 35, 0.80);
cursor: pointer;
&.on{
background: #0081FF;
color: #FFFFFF;
}
&:first-child{
border-radius: 2px 0px 0px 2px;
}
&:last-child{
border-radius: 0px 2px 2px 0px;
}
}
}
}
.trendslist{
border-top: 1px solid #EFEFEF;
.trends{
position: relative;
padding: 16px 16px 0;
&:hover{
background: #F6F9FC;
}
.names{
width: calc(100% - 92px);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 23px;
font-size: 16px;
font-family: Source Han Sans CN-Bold, Source Han Sans CN;
font-weight: 700;
color: #3D3D3D;
line-height: 23px;
}
.trendtips{
padding: 8px 0 12px;
}
.trendcon{
border-bottom: 1px solid #EFEFEF;
font-size: 14px;
font-family: MicrosoftYaHei-Regular, MicrosoftYaHei;
font-weight: 400;
color: rgba(35,35,35,0.8);
line-height: 18px;
padding-bottom: 16px;
}
.time{
position: absolute;
right: 16px;
top: 26px;
font-size: 14px;
opacity: 0.4;
}
}
}
</style>
<template>
<div class="app-container part-container">
<div style="background: #FFFFFF; height: 300px;">
商务信息
</div>
</div>
</template>
<script>
......
<template>
<div class="detail-container">
<div id="detailPart" class="detail-container" :style="sideHeight?'height:'+sideHeight+'px':''">
<el-input
placeholder="搜索"
class="side-input"
......@@ -26,17 +26,23 @@
<script>
export default {
name: 'Sidebar',
props: {
partBoxHeight: {
type: Number,
default: null
},
},
data() {
return {
searchText: '',
sideRoute: [
{title: '企业概要', pathName: '', children: [
{title: '企业速览', pathName: ''},
{title: '工商信息', pathName: ''},
{title: '股东信息', pathName: ''},
{title: '高管信息', pathName: ''},
{title: '对外投资', pathName: ''},
{title: '分支机构', pathName: ''}
{title: '企业速览', pathName: 'overview'},
{title: '工商信息', pathName: 'businfo'},
{title: '股东信息', pathName: 'holderinfo'},
{title: '高管信息', pathName: 'execuinfo'},
{title: '对外投资', pathName: 'overseas'},
{title: '分支机构', pathName: 'branch'}
]},
{title: '财务简析', pathName: 'financial'},
{title: '项目商机', pathName: '', children: [
......@@ -78,6 +84,17 @@ export default {
]
}
},
computed: {
sideHeight() {
let sideHeight = document.getElementById("detailPart")?document.getElementById("detailPart").offsetHeight:null
if(sideHeight<this.partBoxHeight) {
sideHeight = this.partBoxHeight
}else {
sideHeight = null
}
return sideHeight
}
},
created() {
},
methods: {
......@@ -95,9 +112,11 @@ export default {
</script>
<style lang="scss" scoped>
#app{
.detail-container{
width: 144px;
min-height: calc(100vh - 170px);
padding-bottom: 20px;
background: #FFFFFF;
.side-input{
width: 128px;
......@@ -126,7 +145,9 @@ export default {
line-height: 30px;
font-size: 14px;
color: #232323;
&:hover, &:focus{
padding: 0 0 0 16px !important;
text-align: initial !important;
&:hover, &:focus, &.is-active{
background: linear-gradient(91deg, rgba(0,129,255,0.1) 0%, rgba(0,129,255,0) 100%);;
}
.el-submenu__icon-arrow{
......@@ -154,4 +175,5 @@ export default {
}
}
}
}
</style>
......@@ -3,10 +3,10 @@
<div class="financial-header">
<div class="common-title">财务简析</div>
<div class="flex-box header-box">
<div class="header-item">总资产<div class="header-item-amount"><span>9332.6</span>亿元</div></div>
<div class="header-item">净资产<div class="header-item-amount"><span>459.4</span>亿元</div></div>
<div class="header-item">营业收入<div class="header-item-amount"><span>150.0</span>亿元</div></div>
<div class="header-item">授信余额<div class="header-item-amount"><span>192.11</span>亿元</div></div>
<div class="header-item">总资产<div class="header-item-amount"><span>9332.6</span>亿元</div><img src="@/assets/images/detail/financial/financial_header01_ico.png"></div>
<div class="header-item">净资产<div class="header-item-amount"><span>459.4</span>亿元</div><img src="@/assets/images/detail/financial/financial_header02_ico.png"></div>
<div class="header-item">营业收入<div class="header-item-amount"><span>150.0</span>亿元</div><img src="@/assets/images/detail/financial/financial_header03_ico.png"></div>
<div class="header-item">授信余额<div class="header-item-amount"><span>192.11</span>亿元</div><img src="@/assets/images/detail/financial/financial_header04_ico.png"></div>
</div>
</div>
<div class="financial-zcqk">
......@@ -24,9 +24,10 @@
<div class="common-title">负债情况及偿债能力</div>
<div class="flex-box zwqk-box">
<div class="zwqk-info">
<div class="zwqk-title">总负</div>
<div class="zwqk-title">总负</div>
<div class="zwqk-amount"><span>468.65</span>亿元</div>
<div class="zwqk-pro">资产负债率 50%</div>
<img src="@/assets/images/detail/financial/zwqk_bg_ico.png">
</div>
<div id="myEcharts" style="width: 444px;height:250px; margin: 0 auto;"></div>
</div>
......@@ -192,30 +193,61 @@ export default {
flex-wrap: wrap;
margin: 0 -8px;
.header-item{
width: 252px;
width: calc(25% - 16px);
height: 120px;
margin: 20px 8px 0;
padding: 24px 24px;
font-size: 18px;
position: relative;
overflow: hidden;
img{
position: absolute;
right: 0;
bottom: 0;
}
&:nth-child(1){
color: #182980;
background: url("~@/assets/images/detail/financial/financial_header01.png") no-repeat;
background-size: cover;
background-size: 100% 100%;
img{
width: 115px;
height: 115px;
right: -9px;
bottom: -16px;
}
}
&:nth-child(2){
color: #2B1880;
background: url("~@/assets/images/detail/financial/financial_header02.png") no-repeat;
background-size: cover;
background-size: 100% 100%;
img{
width: 107px;
height: 116px;
right: -9px;
bottom: -17px;
}
}
&:nth-child(3){
color: #184280;
background: url("~@/assets/images/detail/financial/financial_header03.png") no-repeat;
background-size: cover;
background-size: 100% 100%;
img{
width: 109px;
height: 99px;
right: -12px;
bottom: -2px;
}
}
&:nth-child(4){
color: #184A80;
background: url("~@/assets/images/detail/financial/financial_header04.png") no-repeat;
background-size: cover;
background-size: 100% 100%;
img{
width: 84px;
height: 115px;
right: -10px;
bottom: -18px;
}
}
.header-item-amount{
font-size: 12px;
......@@ -302,13 +334,21 @@ export default {
padding-top: 20px;
justify-content: normal;
.zwqk-info{
width: 520px;
width: 50%;
height: 248px;
padding: 54px 24px 10px 24px;
margin-right: 48px;
color: #4D4C4B;
background: url("~@/assets/images/detail/financial/zwqk_bg.png") no-repeat;
background-size: cover;
background-size: 100% 100%;
position: relative;
overflow: hidden;
img{
width: 239px;
height: 239px;
position: absolute;
right: -54px;
bottom: -31px;
}
.zwqk-title{
font-size: 22px;
font-weight: 400;
......@@ -344,7 +384,7 @@ export default {
justify-content: space-between;
flex-wrap: wrap;
.list-item{
width: 252px;
width: calc(25% - 16px);
height: 144px;
padding: 23px;
margin-top: 24px;
......
......@@ -3,38 +3,68 @@
<Header />
<div class="flex-box part-main">
<div class="part-left">
<side-bar @currentPath="showPartPage" />
<side-bar @currentPath="showPartPage" :partBoxHeight="partBoxHeight" />
</div>
<div class="part-right">
<!-- <Financial v-if="currentPath.pathName=='financial'" />-->
<!-- <Business v-if="currentPath.pathName=='business'" />-->
<div id="partBox">
<Overview v-if="currentPath.pathName=='overview'" />
<Businfo v-if="currentPath.pathName=='businfo'" />
<Holderinfo v-if="currentPath.pathName=='holderinfo'" />
<Execuinfo v-if="currentPath.pathName=='execuinfo'" />
<Overseas v-if="currentPath.pathName=='overseas'" />
<Branch v-if="currentPath.pathName=='branch'" />
<Financial v-if="currentPath.pathName=='financial'" />
<Business v-if="currentPath.pathName=='business'" />
</div>
</div>
</div>
</div>
</template>
<script>
import elementResizeDetectorMaker from "element-resize-detector"
import Header from "./component/Header"
import SideBar from "./component/Sidebar"
import Financial from "./financial"
import Business from "./business"
import Overview from "./overview/overview" //企业概览-企业速览
import Businfo from "./overview/businfo" //企业概览-工商信息
import Holderinfo from "./overview/holderinfo" //企业概览-股东信息
import Execuinfo from "./overview/execuinfo" //企业概览-高管信息
import Overseas from "./overview/overseas" //企业概览-对外投资
import Branch from "./overview/branch" //企业概览-分支机构
import Financial from "./financial" //财务简析
import Business from "./business" //商务信息
export default {
name: 'PartyA',
components: {
Header,
SideBar,
Overview,
Businfo,
Holderinfo,
Execuinfo,
Overseas,
Branch,
Financial,
Business
},
data() {
return {
currentPath: {
pathName: 'financial' //默认展示页
}
pathName: 'overview' //默认展示页
},
partBoxHeight: null
}
},
created() {
},
mounted() {
const _this = this, erd = elementResizeDetectorMaker(), partBox = document.getElementById("partBox")
erd.listenTo(partBox, element => {
_this.$nextTick(() => {
_this.partBoxHeight = partBox.offsetHeight
})
})
},
methods: {
showPartPage(e){
this.currentPath = e
......@@ -55,6 +85,7 @@ export default {
margin-right: 16px;
}
.part-right{
min-width: 1088px;
width: 100%;
}
</style>
<template>
<div class="app-container part-container">
企业速览
</div>
</template>
<script>
export default {
name: 'Overview',
data() {
return {
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.part-container{
margin: 0;
padding: 0;
}
</style>
<template>
<div class="app-container part-container">
企业速览
</div>
</template>
<script>
export default {
name: 'Overview',
data() {
return {
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.part-container{
margin: 0;
padding: 0;
}
</style>
<template>
<div class="app-container operations-container">
<div class="common-title">公司经营</div>
<div class="part-swiper">
<div class="swiper-containers">
<ul class="swiper-wrapper">
<li class="swiper-slide" v-for="(item, index) in operList" :key="index">
<div class="swiper-div">
<div class="operations-title">{{item.range}}-<span>{{item.year}}</span></div>
<div class="flex-box text-cl1 operations-info">
{{item.name}}
<span><img src="@/assets/images/detail/overview/oper_source.png">{{item.name}}</span>
</div>
</div>
</li>
</ul>
</div>
<div class="swiper-button-prev" slot="button-prev" style="left: 0;"><i class="el-icon-arrow-left"></i></div>
<div class="swiper-button-next" slot="button-next" style="right: 0"><i class="el-icon-arrow-right"></i></div>
</div>
<div class="flex-box operations-list">
<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="list-item-amount">{{item.amount}}</div>
</div>
</div>
</div>
</template>
<script>
var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js')
import "@/assets/lib/swiper/swiper-bundle.css"
export default {
name: 'Overview',
data() {
return {
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'},
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'}
],
gsjyList: [
{ name: '总资产', ico: require('@/assets/images/detail/overview/gsjy_ico1.png'), amount: '1699.7'},
{ name: '净资产', ico: require('@/assets/images/detail/overview/gsjy_ico2.png'), amount: '1699.7'},
{ name: '授信余额', ico: require('@/assets/images/detail/overview/gsjy_ico3.png'), amount: '1699.7'},
{ name: '营业收入', ico: require('@/assets/images/detail/overview/gsjy_ico4.png'), amount: '1699.7'},
{ name: '总负债', ico: require('@/assets/images/detail/overview/gsjy_ico5.png'), amount: '1699.7'}
],
}
},
created() {
},
mounted() {
this.companySwiper()
},
methods: {
companySwiper(){
new Swiper('.swiper-containers', {
slidesPerView: 4,
// 设置点击箭头
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
}
})
}
}
}
</script>
<style lang="scss" scoped>
.operations-container{
margin: 0;
padding: 24px 16px;
background: #FFFFFF;
.part-swiper{
position: relative;
margin-top: 16px;
.swiper-containers{
width: calc(100% - 38px);
height: 96px;
margin-top: 8px;
margin-left: 25px;
overflow: hidden;
.swiper-slide{
.swiper-div{
width: calc(100% - 12px);
height: 96px;
background: url("~@/assets/images/detail/overview/swiper_bg.png") no-repeat;
background-size: 100% 100%;
.operations-title{
margin-right: 22px;
font-weight: bold;
font-size: 20px;
color: #0081FF;
padding: 24px 16px 0 16px;
span{
font-size: 16px;
}
}
.operations-info{
padding: 14px 16px 10px 16px;
justify-content: space-between;
font-size: 14px;
color: #416587;
span{
font-size: 12px;
img{
width: 10px;
height: 10px;
margin-right: 3px;
}
}
}
}
}
}
.swiper-button-prev, .swiper-button-next{
width: 16px;
height: 96px;
background: #F0F5FC;
top: 0;
margin-top: 0;
&.swiper-button-disabled{
opacity: 1;
color:#AAAAAA;
background: #F5F5F5;
}
i{
color: #AAAAAA;
}
&:hover i{
color:#667199;
}
&:after{
content: "";
}
}
}
.operations-list{
flex-wrap: wrap;
justify-content: space-between;
.list-item{
width: calc(20% - 12px);
height: 88px;
padding: 18px;
margin-top: 14px;
font-size: 14px;
color: #232323;
border: 1px solid #E2E7EE;
text-align: center;
.list-item-all{
justify-content: center;
img{
width: 24px;
height: 24px;
margin-right: 4px;
}
}
.list-item-amount{
padding-top: 6px;
font-weight: bold;
}
}
}
}
</style>
<template>
<div class="app-container part-container">
企业速览
</div>
</template>
<script>
export default {
name: 'Overview',
data() {
return {
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.part-container{
margin: 0;
padding: 0;
}
</style>
<template>
<div class="app-container part-container">
企业速览
</div>
</template>
<script>
export default {
name: 'Overview',
data() {
return {
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.part-container{
margin: 0;
padding: 0;
}
</style>
<template>
<div class="app-container part-container">
企业速览
</div>
</template>
<script>
export default {
name: 'Overview',
data() {
return {
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.part-container{
margin: 0;
padding: 0;
}
</style>
<template>
<div class="app-container part-container">
企业速览
<div class="gsjy">
<Operations />
</div>
</div>
</template>
<script>
import Operations from "./component/operations";
export default {
name: 'Overview',
components: {
Operations
},
data() {
return {
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.part-container{
margin: 0;
padding: 0;
.gsjy{
margin-top: 12px;
}
}
</style>
......@@ -132,9 +132,6 @@
</script>
<style lang="scss" scoped>
.app-container{
padding: 0;
}
.head{
.titles{
line-height: 31px;
......
......@@ -331,10 +331,6 @@ export default {
}
</script>
<style lang="scss" scoped>
.app-container{
padding: 0;
}
.noborder{
position: relative;
}
......@@ -484,21 +480,6 @@ export default {
}
.det-tips{
padding: 8px 0 ;
.tips{
display: inline-block;
padding: 4px 8px;
border-radius: 2px;
font-size: 12px;
margin-right: 8px;
&.tip1{
background-color: #E4F3FD;
color: #41A1FD;
}
&.tip2{
background-color: #F3F3FF;
color: #8491E8;
}
}
}
.det-contets{
padding: 4px 0 16px;
......
package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class EnterpriseBussinessService {
private static final Logger log = LoggerFactory.getLogger(EnterpriseService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public TableDataInfo clientPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo clientProjectPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo tenderPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/tenderPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R tenderDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/tenderDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo supplierPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo supplierProjectPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R projectDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/projectDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo oftenAgencyPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/oftenAgencyPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo bidCooperatePage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/bidCooperatePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo historySendPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/historySendPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R historySendProvince(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/historySendProvince", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
}
package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.dtos.Page;
import com.dsk.common.utils.DskOpenApiUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import static com.dsk.common.utils.PageUtils.startPage;
@Service
public class EnterpriseCreditService {
private static final Logger log = LoggerFactory.getLogger(EnterpriseService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public TableDataInfo penalizePage(EnterpriseCreditPenalizePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/penalizePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R penalizeReasonType(EnterpriseCreditPenalizeReasonTypeBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/penalizeReasonType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo abnormalPage(EnterpriseCreditAbnormalPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/abnormalPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R abnormalYears(EnterpriseCreditAbnormalYearsBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/abnormalYears", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo executedPersonsPage(EnterpriseCreditExecutedPersonsPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/executedPersonsPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo executedPage(EnterpriseCreditExecutedPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/executedPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo lawsuitsPage(EnterpriseCreditLawsuitsPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R lawsuitsCauseAction(EnterpriseCreditLawsuitsCauseActionBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsCauseAction", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R lawsuitsRole(EnterpriseCreditLawsuitsRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo noticesPage(EnterpriseCreditNoticePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R noticesType(EnterpriseCreditNoticeTypeBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R noticesRole(EnterpriseCreditNoticeRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R noticesCaseReason(EnterpriseCreditNoticeCaseReasonBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesCaseReason", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo kaitingPage(EnterpriseCreditKaitingPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R kaitingCauseAction(EnterpriseCreditKaitingCauseActionBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingCauseAction", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R kaitingPureRole(EnterpriseCreditKaitingPureRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingPureRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
}
package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class EnterpriseProjectService {
private static final Logger log = LoggerFactory.getLogger(EnterpriseService.class);
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public TableDataInfo landTransactionPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landTransactionPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R landUse(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landUse", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R landDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo approvalProjectPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R approvalInfoDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalInfoDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo approvalExaminePage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalExaminePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo approvalMarketingPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalMarketingPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo specialDebtPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/specialDebtPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R specialDebtDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/specialDebtDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo bidNoticePage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidNoticeTenderStage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeTenderStage", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeProvince(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProvince", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo bidPlanPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidPlanPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidPlanDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidPlanDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo bidNoticeProPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidNoticeProDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo creditXzxkPage(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/creditXzxkPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
}
......@@ -3,6 +3,7 @@ package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -55,19 +56,19 @@ public class EnterpriseService {
}
//todo 新数据,待入库
public R partners(EnterprisePartnersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/partners", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
public TableDataInfo partners(EnterprisePartnersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/partners", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R investment(EnterpriseInvestmentBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/investment", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
public TableDataInfo investment(EnterpriseInvestmentBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/investment", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R affiliates(EnterpriseAffiliatesBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/affiliates", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
public TableDataInfo affiliates(EnterpriseAffiliatesBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/affiliates", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidNoticePage(EnterpriseBidNoticePageBody body) throws Exception {
......@@ -98,28 +99,28 @@ public class EnterpriseService {
return BeanUtil.toBean(map, R.class);
}
public R dynamicPage(EnterpriseDynamicPageBody body) throws Exception {
public TableDataInfo dynamicPage(EnterpriseDynamicPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/jsk/enterprise/dynamic", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
return dskOpenApiUtil.responsePage(map);
}
public R icInfo(EnterpriseIcInfoBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/icInfo", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/icInfo", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R changeInfo(EnterpriseChangeInfoBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/changeInfo", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
public TableDataInfo changeInfo(EnterpriseChangeInfoBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/changeInfo", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R keymembers(EnterpriseKeymembersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/keymembers", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
public TableDataInfo keymembers(EnterpriseKeymembersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/keymembers", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bestStockPage(EnterpriseKeymembersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
public TableDataInfo bestStockPage(EnterpriseKeymembersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
}
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