Commit e0e9b4c5 authored by MyName's avatar MyName
parents f558b68f 9981a0d5
......@@ -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.EnterpriseProjectService;
import io.swagger.annotations.ApiOperation;
......@@ -12,6 +13,7 @@ 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;
import java.util.Map;
/**
......@@ -27,112 +29,130 @@ public class EnterpriseProjectController {
EnterpriseProjectService enterpriseProjectService;
@ApiOperation(value = "土地交易列表")
@ApiOperation(value = "土地交易列表")
@RequestMapping(value = "/landTransactionPage", method = RequestMethod.POST)
public TableDataInfo landTransactionPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.landTransactionPage(paramMap);
public TableDataInfo landTransactionPage(@RequestBody @Valid EnterpriseProjectLandTransactionPageBody body) throws Exception {
return enterpriseProjectService.landTransactionPage(body);
}
@ApiOperation(value = "土地用途列表")
@RequestMapping(value = "/landUse", method = RequestMethod.POST)
public R landUse(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.landUse(paramMap);
public R landUse(@RequestBody @Valid EnterpriseProjectLandUseBody body) throws Exception {
return enterpriseProjectService.landUse(body);
}
@ApiOperation(value = "土地信息详情")
@RequestMapping(value = "/landDetail",method = RequestMethod.POST)
public R landDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.landDetail(paramMap);
public R landDetail(@RequestBody @Valid EnterpriseProjectLandDetailBody body) throws Exception {
return enterpriseProjectService.landDetail(body);
}
@ApiOperation(value = "拟建项目列表")
@RequestMapping(value = "/approvalProjectPage",method = RequestMethod.POST)
public TableDataInfo approvalProjectPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.approvalProjectPage(paramMap);
public TableDataInfo approvalProjectPage(@RequestBody @Valid EnterpriseProjectApprovalProjectPageBody body) throws Exception {
return enterpriseProjectService.approvalProjectPage(body);
}
@ApiOperation(value = "拟建项目详情基本信息")
@RequestMapping(value = "/approvalInfoDetail",method = RequestMethod.POST)
public R approvalInfoDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.approvalInfoDetail(paramMap);
public R approvalInfoDetail(@RequestBody @Valid EnterpriseProjectApprovalInfoDetailBody body) throws Exception {
return enterpriseProjectService.approvalInfoDetail(body);
}
@ApiOperation(value = "拟建项目详情立项审批列表")
@RequestMapping(value = "/approvalExaminePage",method = RequestMethod.POST)
public TableDataInfo approvalExaminePage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.approvalExaminePage(paramMap);
public TableDataInfo approvalExaminePage(@RequestBody @Valid EnterpriseProjectApprovalExaminePageBody body) throws Exception {
return enterpriseProjectService.approvalExaminePage(body);
}
@ApiOperation(value = "拟建项目详情民间推介列表")
@RequestMapping(value = "/approvalMarketingPage", method = RequestMethod.POST)
public TableDataInfo approvalMarketingPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.approvalMarketingPage(paramMap);
public TableDataInfo approvalMarketingPage(@RequestBody @Valid EnterpriseProjectApprovalMarketingPageBody body) throws Exception {
return enterpriseProjectService.approvalMarketingPage(body);
}
@ApiOperation(value = "专项债项目列表")
@RequestMapping(value = "/specialDebtPage", method = RequestMethod.POST)
public TableDataInfo specialDebtPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.specialDebtPage(paramMap);
@RequestMapping(value = "/specialDebtProjectPage", method = RequestMethod.POST)
public TableDataInfo specialDebtProjectPage(@RequestBody @Valid Object body) throws Exception {
return enterpriseProjectService.specialDebtProjectPage(body);
}
@ApiOperation(value = "专项债项目详情")
@RequestMapping(value = "/specialDebtDetail", method = RequestMethod.POST)
public R specialDebtDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.specialDebtDetail(paramMap);
@RequestMapping(value = "/specialDebtProjectDetail", method = RequestMethod.POST)
public R specialDebtProjectDetail(@RequestBody @Valid Object body) throws Exception {
return enterpriseProjectService.specialDebtProjectDetail(body);
}
@ApiOperation(value = "招标公告列表")
@RequestMapping(value = "/bidNoticePage",method = RequestMethod.POST)
public TableDataInfo bidNoticePage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticePage(paramMap);
public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception {
return enterpriseProjectService.bidNoticePage(body);
}
@ApiOperation(value = "招标公告招标类别")
@RequestMapping(value = "/bidNoticeTenderStage", method = RequestMethod.POST)
public R bidNoticeTenderStage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeTenderStage(paramMap);
public R bidNoticeTenderStage(@RequestBody @Valid EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
return enterpriseProjectService.bidNoticeTenderStage(body);
}
@ApiOperation(value = "招标公告招标地区")
@RequestMapping(value = "/bidNoticeProvince", method = RequestMethod.POST)
public R bidNoticeProvince(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeProvince(paramMap);
@RequestMapping(value = "/bidNoticeArea", method = RequestMethod.POST)
public R bidNoticeArea(@RequestBody @Valid EnterpriseProjectBidNoticeAreaBody body) throws Exception {
return enterpriseProjectService.bidNoticeArea(body);
}
@ApiOperation(value = "招标公告详情")
@RequestMapping(value = "/bidNoticeDetail", method = RequestMethod.POST)
public R bidNoticeDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeDetail(paramMap);
public R bidNoticeDetail(@RequestBody @Valid EnterpriseProjectBidNoticeDetailBody body) throws Exception {
return enterpriseProjectService.bidNoticeDetail(body);
}
@ApiOperation(value = "招标计划列表")
@RequestMapping(value = "/bidPlanPage",method = RequestMethod.POST)
public TableDataInfo bidPlanPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidPlanPage(paramMap);
public TableDataInfo bidPlanPage(@RequestBody @Valid Object body) throws Exception {
return enterpriseProjectService.bidPlanPage(body);
}
@ApiOperation(value = "招标计划详情")
@RequestMapping(value = "/bidPlanDetail", method = RequestMethod.POST)
public R bidPlanDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidPlanDetail(paramMap);
public R bidPlanDetail(@RequestBody @Valid Object body) throws Exception {
return enterpriseProjectService.bidPlanDetail(body);
}
@ApiOperation(value = "标讯pro招标公告列表")
@RequestMapping(value = "/bidNoticeProPage", method = RequestMethod.POST)
public TableDataInfo bidNoticeProPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeProPage(paramMap);
public TableDataInfo bidNoticeProPage(@RequestBody @Valid EnterpriseProjectBidNoticeProPageBody body) throws Exception {
return enterpriseProjectService.bidNoticeProPage(body);
}
@ApiOperation(value = "标讯pro招标公告项目类别")
@RequestMapping(value = "/bidNoticeProProjectType", method = RequestMethod.POST)
public R bidNoticeProProjectType(@RequestBody @Valid EnterpriseProjectBidNoticeProProjectTypeBody body) throws Exception {
return enterpriseProjectService.bidNoticeProProjectType(body);
}
@ApiOperation(value = "标讯pro招标公告工程类别")
@RequestMapping(value = "/bidNoticeProProjectPurposes", method = RequestMethod.POST)
public R bidNoticeProProjectPurposes(@RequestBody @Valid EnterpriseProjectBidNoticeProProjectPurposesBody body) throws Exception {
return enterpriseProjectService.bidNoticeProProjectPurposes(body);
}
@ApiOperation(value = "标讯pro招标公告评标办法")
@RequestMapping(value = "/bidNoticeProAssessmentWay", method = RequestMethod.POST)
public R bidNoticeProAssessmentWay(@RequestBody @Valid EnterpriseProjectBidNoticeProAssessmentWayBody body) throws Exception {
return enterpriseProjectService.bidNoticeProAssessmentWay(body);
}
@ApiOperation(value = "标讯pro招标公告详情")
@RequestMapping(value = "/bidNoticeProDetail", method = RequestMethod.POST)
public R bidNoticeProDetail(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.bidNoticeProDetail(paramMap);
public R bidNoticeProDetail(@RequestBody @Valid EnterpriseProjectBidNoticeProDetailBody body) throws Exception {
return enterpriseProjectService.bidNoticeProDetail(body);
}
@ApiOperation(value = "行政许可列表")
@RequestMapping(value = "/creditXzxkPage", method = RequestMethod.POST)
public TableDataInfo creditXzxkPage(@RequestBody Map<String, Object> paramMap) throws Exception {
return enterpriseProjectService.creditXzxkPage(paramMap);
public TableDataInfo creditXzxkPage(@RequestBody @Valid EnterpriseProjectCreditXzxkPageBody body) throws Exception {
return enterpriseProjectService.creditXzxkPage(body);
}
}
package com.dsk.web.controller.search.macroMarket;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.OpRegionalEconomicDataV1Dto;
import com.dsk.system.domain.OpRegionalEconomicDataV1;
import com.dsk.system.service.EconomicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @ClassName EconomicController
* @Description 经济大全
* @ClassName RegionalEconomicDataController
* @Description 区域经济大全
* @Author Dgm
* @Date 2023/5/18 10:09
* @Version 1.0.0
*/
@RestController
@RequestMapping(value ="/economic")
public class EconomicController {
public class RegionalEconomicDataController {
@Autowired
private EconomicService economicService;
......@@ -35,10 +28,9 @@ public class EconomicController {
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/national/list")
public AjaxResult nationalList(@RequestBody OpRegionalEconomicDataV1Dto dto) {
// return economicService.nationalList(dto);
return new AjaxResult(HttpStatus.OK.value(), "", new OpRegionalEconomicDataV1());
@PostMapping("/national/nationalPage")
public AjaxResult nationalPage(@RequestBody OpRegionalEconomicDataV1Dto dto) {
return economicService.nationalPage(dto);
}
/***
......@@ -50,8 +42,7 @@ public class EconomicController {
*/
@GetMapping("/details/{id}")
public AjaxResult details(@PathVariable("id") Integer id) {
// return economicService.details(id);
return new AjaxResult(HttpStatus.OK.value(), "", new OpRegionalEconomicDataV1());
return economicService.details(id);
}
......@@ -64,17 +55,7 @@ public class EconomicController {
*/
@PostMapping("/statistics/regional")
public AjaxResult statisticsRegional(@RequestBody OpRegionalEconomicDataV1Dto dto) {
// return economicService.regional(dto);
Map<String, Object> map = BeanUtil.beanToMap(new OpRegionalEconomicDataV1(), false, false);
// 下属辖区
map.put("subordinateJurisdiction", 38);
// 城投平台
map.put("urbanInvestmentPlatform", 365);
// 城投平台授信余额
map.put("creditBalance", 666.66);
// 城投平台营收账款
map.put("accountsReceivable", 888.88);
return new AjaxResult(HttpStatus.OK.value(), "", map);
return economicService.statisticsRegional(dto);
}
/***
......@@ -86,32 +67,7 @@ public class EconomicController {
*/
@PostMapping("/regional/list")
public AjaxResult regionalList(@RequestBody OpRegionalEconomicDataV1Dto dto) {
// return economicService.regionalList(dto);
List<OpRegionalEconomicDataV1> opRegionalEconomicDataV1List= new ArrayList<>(5);
OpRegionalEconomicDataV1 dataV1 = new OpRegionalEconomicDataV1();
dataV1.setProvince("重庆");
dataV1.setYear(2022);
OpRegionalEconomicDataV1 dataV2 = new OpRegionalEconomicDataV1();
dataV2.setProvince("重庆");
dataV2.setYear(2021);
OpRegionalEconomicDataV1 dataV3 = new OpRegionalEconomicDataV1();
dataV3.setProvince("重庆");
dataV3.setYear(2020);
OpRegionalEconomicDataV1 dataV4 = new OpRegionalEconomicDataV1();
dataV4.setProvince("重庆");
dataV4.setYear(2019);
OpRegionalEconomicDataV1 dataV5 = new OpRegionalEconomicDataV1();
dataV5.setProvince("重庆");
dataV5.setYear(2018);
opRegionalEconomicDataV1List.add(dataV1);
opRegionalEconomicDataV1List.add(dataV2);
opRegionalEconomicDataV1List.add(dataV3);
opRegionalEconomicDataV1List.add(dataV4);
opRegionalEconomicDataV1List.add(dataV5);
return new AjaxResult(HttpStatus.OK.value(), "", opRegionalEconomicDataV1List);
return economicService.regionalList(dto);
}
......
package com.dsk.web.controller.search.macroMarket;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.SpecialBondInformationPageDto;
import com.dsk.common.dtos.SpecialPurposeBondsDto;
import com.dsk.common.dtos.SpecialPurposeBondsPageDto;
import com.dsk.system.service.SpecialPurposeBondsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @ClassName SpecialBondProjectsController
* @Description 专项债项目
* @Author Dgm
* @Date 2023/5/18 10:09
* @Version 1.0.0
*/
@RestController
@RequestMapping(value ="/specialPurposeBonds")
public class SpecialBondProjectsController {
@Autowired
private SpecialPurposeBondsService specialPurposeBondsService;
/***
*@Description: 专项债项目分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/projects/page")
public AjaxResult page(@RequestBody SpecialPurposeBondsPageDto pageDto) {
return specialPurposeBondsService.page(pageDto);
}
/***
*@Description: 专项债项目详情
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@GetMapping("/details/{id}")
public AjaxResult details(@PathVariable("id") String id) {
return specialPurposeBondsService.details(id);
}
/***
*@Description: 专项债-项目类别统计
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/bond/statistics")
public AjaxResult bondStatistics(@RequestBody SpecialPurposeBondsDto dto) {
return specialPurposeBondsService.bondStatistics(dto);
}
/***
*@Description: 专项债分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/bond/page")
public AjaxResult bondPage(@RequestBody SpecialBondInformationPageDto dto) {
return specialPurposeBondsService.bondPage(dto);
}
}
package com.dsk.web.controller.search.macroMarket;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.SpecialPurposeBondsDto;
import com.dsk.system.domain.SpecialBondInformationV1;
import com.dsk.system.domain.SpecialBondProjectsV1;
import com.dsk.system.service.SpecialPurposeBondsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @ClassName SpecialPurposeBondsController
* @Description 专项债项目
* @Author Dgm
* @Date 2023/5/18 10:09
* @Version 1.0.0
*/
@RestController
@RequestMapping(value ="/specialPurposeBonds")
public class SpecialPurposeBondsController {
@Autowired
private SpecialPurposeBondsService specialPurposeBondsService;
/***
*@Description: 专项债项目分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/projects/page")
public AjaxResult page() {
// return specialPurposeBondsService.page();
Map<String, Object> map = BeanUtil.beanToMap(new SpecialBondProjectsV1(), false, false);
return new AjaxResult(HttpStatus.OK.value(), "", map);
}
/***
*@Description: 专项债项目详情
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@GetMapping("/details/{id}")
public AjaxResult details(@PathVariable("id") String id) {
return specialPurposeBondsService.details(id);
}
/***
*@Description: 专项债-项目类别统计
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/bond/statistics")
public AjaxResult bondStatistics(@RequestBody SpecialPurposeBondsDto dto) {
// return specialPurposeBondsService.bondStatistics();
Map<String, Object> map = BeanUtil.beanToMap(new SpecialPurposeBondsDto(), false, false);
List<SpecialPurposeBondsDto> list = new ArrayList<>(4);
SpecialPurposeBondsDto one = new SpecialPurposeBondsDto();
one.setCount(3);
one.setProportion(55.55);
SpecialPurposeBondsDto two = new SpecialPurposeBondsDto();
two.setCount(8);
two.setProportion(0.12);
SpecialPurposeBondsDto three = new SpecialPurposeBondsDto();
three.setCount(1);
three.setProportion(33.33);
SpecialPurposeBondsDto four = new SpecialPurposeBondsDto();
four.setCount(5);
four.setProportion(11.11);
list.add(one);
list.add(two);
list.add(three);
list.add(four);
switch (dto.getField()) {
case "count": list = sortedCount(list, dto);
break;
case "totalInvestment": list = sortedTotalInvestment(list, dto);
break;
case "proportion": list = sortedProportion(list, dto);
break;
default:
break;
}
return new AjaxResult(HttpStatus.OK.value(), "", list);
}
/***
*@Description: 专项债分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/bond/page")
public AjaxResult bondPage() {
// return specialPurposeBondsService.bondPage();
Map<String, Object> map = BeanUtil.beanToMap(new SpecialBondInformationV1(), false, false);
return new AjaxResult(HttpStatus.OK.value(), "", map);
}
/***
*@Description: 项目数量
*@Param:
*@return: void
*@Author: Dgm
*@date: 2023/5/25 11:26
*/
public List<SpecialPurposeBondsDto> sortedCount(List<SpecialPurposeBondsDto> list, SpecialPurposeBondsDto dto) {
if ("desc".equals(dto.getOrder())) {
list = list.stream().sorted(Comparator.comparing(SpecialPurposeBondsDto::getCount).reversed()).collect(Collectors.toList());
} else {
list = list.stream().sorted(Comparator.comparing(SpecialPurposeBondsDto::getCount)).collect(Collectors.toList());
}
return list;
}
/***
*@Description: 金额
*@Param:
*@return: void
*@Author: Dgm
*@date: 2023/5/25 11:26
*/
public List<SpecialPurposeBondsDto> sortedTotalInvestment(List<SpecialPurposeBondsDto> list, SpecialPurposeBondsDto dto) {
if ("desc".equals(dto.getOrder())) {
list = list.stream().sorted(Comparator.comparing(SpecialPurposeBondsDto::getTotalInvestment).reversed()).collect(Collectors.toList());
} else {
list = list.stream().sorted(Comparator.comparing(SpecialPurposeBondsDto::getTotalInvestment)).collect(Collectors.toList());
}
return list;
}
/***
*@Description: 比例
*@Param:
*@return: void
*@Author: Dgm
*@date: 2023/5/25 11:26
*/
public List<SpecialPurposeBondsDto> sortedProportion(List<SpecialPurposeBondsDto> list, SpecialPurposeBondsDto dto) {
if ("desc".equals(dto.getOrder())) {
list = list.stream().sorted(Comparator.comparing(SpecialPurposeBondsDto::getProportion).reversed()).collect(Collectors.toList());
} else {
list = list.stream().sorted(Comparator.comparing(SpecialPurposeBondsDto::getProportion)).collect(Collectors.toList());
}
return list;
}
}
package com.dsk.web.controller.search.macroMarket;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.UrbanInvestmentPlatformDto;
import com.dsk.system.domain.OpUipFinancialData;
import com.dsk.system.service.UrbanInvestmentPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @ClassName UrbanInvestmentPlatformController
* @Description 城投平台
......@@ -35,15 +29,7 @@ public class UrbanInvestmentPlatformController {
*/
@PostMapping("/page")
public AjaxResult page(@RequestBody UrbanInvestmentPlatformDto dto) {
// return urbanInvestmentPlatformService.page();
Map<String, Object> map = BeanUtil.beanToMap(new OpUipFinancialData(), false, false);
// 招标
map.put("biddingAnnouncement", 11);
// 供应商
map.put("supplier", 33);
// 土地
map.put("landInfo", 66);
return new AjaxResult(HttpStatus.OK.value(), "", map);
return urbanInvestmentPlatformService.page(dto);
}
/***
......@@ -57,4 +43,17 @@ public class UrbanInvestmentPlatformController {
public AjaxResult details(@PathVariable("id") String id) {
return urbanInvestmentPlatformService.details(id);
}
/***
*@Description: 城投平台统计
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/statistics")
public AjaxResult statistics(@RequestBody UrbanInvestmentPlatformDto dto) {
return urbanInvestmentPlatformService.statistics(dto);
}
}
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 EnterpriseProjectApprovalExaminePageBody extends BasePage {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectApprovalInfoDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectApprovalMarketingPageBody extends BasePage {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectApprovalProjectPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 1金额倒序,2金额正序,3计划开工时间倒序,4计划开工时间正序,13计划完工时间倒序,14计划完工时间正序
*/
@NotNull(message = "排序条件不能为空")
private Integer sort;
}
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 EnterpriseProjectBidNoticeAreaBody {
/**
* 企业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 EnterpriseProjectBidNoticeDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectBidNoticePageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/**
* 类型
*/
private String tenderStage;
/*
* 1金额倒序,2金额正序,3时间倒序,4时间正序
*/
@NotNull(message = "排序条件不能为空")
private Integer sort;
/**
* 省份
*/
private List<Integer> provinceIds;
/**
* 市份
*/
private List<Integer> cityIds;
/**
* 县
*/
private List<Integer> areaIds;
}
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 EnterpriseProjectBidNoticeProAssessmentWayBody {
/**
* 企业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 EnterpriseProjectBidNoticeProDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectBidNoticeProPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/**
* 项目类别
*/
private String projectType;
/**
* 工程用途
*/
private String projectPurposes;
/**
* 评标办法
*/
private String bidAssessmentWay;
}
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 EnterpriseProjectBidNoticeProProjectPurposesBody {
/**
* 企业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 EnterpriseProjectBidNoticeProProjectTypeBody {
/**
* 企业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;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectBidNoticeTenderStageBody {
/**
* 企业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 EnterpriseProjectCreditXzxkPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
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 EnterpriseProjectLandDetailBody {
/**
* 企业id
*/
@NotNull(message = "id不能为空")
private Integer id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectLandTransactionPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 土地用途
*/
private List<String> landUse;
/**
* 查询关键字
*/
private String keys;
/*
* 1金额倒序,2金额正序,3时间倒序,4时间正序,11面积倒序,12面积正序
*/
@NotNull(message = "排序条件不能为空")
private Integer sort;
}
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 EnterpriseProjectLandUseBody {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
package com.dsk.common.dtos;
import com.dsk.common.core.domain.model.BasePage;
import lombok.Data;
import org.springframework.boot.context.event.SpringApplicationEvent;
/**
* @ClassName OpRegionalEconomicDataV1Dto
......@@ -11,7 +11,7 @@ import org.springframework.boot.context.event.SpringApplicationEvent;
* @Version
*/
@Data
public class OpRegionalEconomicDataV1Dto {
public class OpRegionalEconomicDataV1Dto extends BasePage {
/**
* 年份
......@@ -20,15 +20,15 @@ public class OpRegionalEconomicDataV1Dto {
/**
* 省
*/
private Integer provinceId;
private String provinceId;
/**
* 市
*/
private Integer cityId;
private String cityId;
/**
* 区
*/
private Integer areaId;
private String areaId;
/**
* 全国宏观经济:1 / 辖区经济:2 / 地区对比:3
......
package com.dsk.common.dtos;
import com.dsk.common.core.domain.model.BasePage;
import lombok.Data;
/**
* @ClassName SpecialBondInformationPageDto
* @Description 专项债-详情分页
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class SpecialBondInformationPageDto extends BasePage {
}
......@@ -15,7 +15,7 @@ public class SpecialPurposeBondsDto {
/**
* 项目类型
*/
private String projectType;
private String specialBondProjectType;
/**
* 项目个数
*/
......@@ -23,7 +23,7 @@ public class SpecialPurposeBondsDto {
/**
* 投资金额
*/
private Double totalInvestment;
private Double projectTotalInvestment;
/**
* 比例(%)
*/
......
package com.dsk.common.dtos;
import com.dsk.common.core.domain.model.BasePage;
import lombok.Data;
/**
* @ClassName SpecialPurposeBonds
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class SpecialPurposeBondsPageDto extends BasePage {
}
......@@ -37,17 +37,18 @@ input {
background: none;
outline: none;
}
html {
height: 100%;
box-sizing: border-box;
height: 100%;
box-sizing: border-box;
}
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}
ul,
......@@ -112,6 +113,7 @@ select {
.float_right {
float: right;
}
.el-input {
width: 100%;
}
......@@ -130,6 +132,11 @@ select {
line-height: 34px;
}
.el-dropdown-link {
cursor: pointer;
color: #333333;
}
.el-dropdown-link .el-input {
width: 100%;
}
......@@ -141,6 +148,7 @@ select {
.el-input--suffix .el-input__inner {
padding-right: 15px;
}
.el-select .el-input.is-focus .el-input__inner,
.el-input.is-active .el-input__inner,
.el-input__inner:focus,
......@@ -148,9 +156,15 @@ select {
.el-range-editor.is-active:focus-within {
border-color: #3181fa;
}
.el-popper[x-placement^=top] {
margin-bottom: 12px;
margin-bottom: 12px;
}
.el-popper[x-placement^=bottom] {
margin-top: 12px;
}
.el-select-dropdown .popper__arrow {
display: none;
}
......@@ -158,6 +172,7 @@ select {
.el-popper .popper__arrow {
display: none;
}
.select-popper {
text-align: center;
display: inline-block;
......@@ -217,6 +232,7 @@ select {
.select-popper::-webkit-scrollbar-corner {
background: #fff;
}
.select-popper .el-select {
width: 100%;
}
......@@ -255,11 +271,103 @@ select {
.content_item .select-popper:hover .select-caret {
color: #0074E5;
}
.content_item .select-caret:focus {
border: none;
outline: none;
}
.content_item .geduan{
.select-multiple {
position: absolute;
left: 0;
top: 0px;
opacity: 0;
line-height: 16px;
}
.select-multiple .el-input {
width: 100%;
line-height: 16px;
}
.select-multiple .el-input .el-input__inner {
width: 100%;
height: 16px !important;
}
.select-multiple .el-tag__close.el-icon-close {
display: none;
}
.el-dropdown-land {
margin-right: 24px;
}
.el-dropdown-land .el-icon-caret-bottom {
color: #333333;
margin-left: 4px;
}
.land_date_picker {
position: absolute !important;
visibility: hidden;
left: 100px;
top: 206px;
}
.jabph_popper_box {
position: absolute;
left: 146px;
bottom: -1px;
background: #ffffff;
width: 186px;
color: #606266;
text-indent: 0;
padding: 16px;
padding-top: 0px;
border: 1px solid #e0e0e0;
}
.jabph_popper_box .jabph_popper_wrap {
margin-top: 16px;
display: inline-block;
}
.jabph_popper_box .jabph_popper_wrap .jabph_popper_input {
width: 100px;
display: inline-block;
margin: 0px 8px;
.el-input__inner {
width: 100px;
}
}
.jabph_popper_box div:last-child {
display: flex;
justify-content: center;
margin-top: 16px;
}
.jabph_popper_box1 {
left: 0;
border: none;
}
.jabph_popper_box2 {
left: 101px;
}
.jabph_popper_box3 {
left: 115px;
}
.content_item .geduan {
width: 100%;
height: 0px;
opacity: 1;
......@@ -306,3 +414,97 @@ select {
color: #0081FF;
border-color: #0081FF;
}
.toolbar-right-download {
padding: 8px 21px;
margin: 0px;
cursor: pointer;
font-weight: 400;
color: #232323;
background: #FFFFFF;
border-radius: 5px 5px 5px 5px;
border: 1px solid #D9D9D9;
text-align: center;
}
.toolbar-right-download .el-icon-arrow-down{
margin-left: 8px;
}
.viewlist-el-popover {
min-width: 130px;
padding: 0px;
}
.viewlist-el-popover .pup_list {
line-height: 36px;
text-align: left;
margin: 5px 0;
cursor: pointer;
}
.viewlist-el-popover .pup_list li {
padding: 0 16px;
}
.viewlist-el-popover .pup_list li span {
position: relative;
display: inline-block;
}
.viewlist-el-popover .pup_list li .VIP {
width: 24px;
height: 12px;
top: 0px;
right: -8px;
position: absolute;
}
.viewlist-el-popover .pup_list li .SVIP {
width: 24px;
height: 12px;
top: 0px;
right: -10px;
position: absolute;
}
.viewlist-el-popover .pup_list li:hover {
color: #0081FF;
background: #F4F6F9;
}
.viewlist-el-popover .pup_list .activefield {
color: #0081FF;
background: #F4F6F9;
}
.viewlist-el-popover .pup_list_export li {
display: flex;
align-items: center;
padding-right: 0px;
}
.viewlist-el-popover .pup_list_export li img {
width: auto;
height: 12px;
margin-left: 4px;
}
.viewlist-el-popover .pup_zhclist .active {
color: #0081FF;
background: #F4F6F9;
}
.viewlist-el-popover .pup_zhclist li span:hover {
color: #0081FF;
font-weight: 400;
}
.viewlist-el-popover .pup_zhclist .active span {
color: #0081FF;
font-weight: 400;
}
.viewlist-el-popover .pup_list_export li .lowerRate_imgzhc {
width: 39px;
height: 14px;
}
\ No newline at end of file
......@@ -4,6 +4,8 @@ import dialogDrag from './dialog/drag'
import dialogDragWidth from './dialog/dragWidth'
import dialogDragHeight from './dialog/dragHeight'
import clipboard from './module/clipboard'
import limitNum from './limitNum/limitNum'
const install = function(Vue) {
Vue.directive('hasRole', hasRole)
......@@ -12,6 +14,7 @@ const install = function(Vue) {
Vue.directive('dialogDrag', dialogDrag)
Vue.directive('dialogDragWidth', dialogDragWidth)
Vue.directive('dialogDragHeight', dialogDragHeight)
Vue.directive('limitNum', limitNum)
}
if (window.Vue) {
......
export default {
bind(el) {
el.oninput = () => {
el.children[0].value = el.children[0].value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符
el.children[0].value = el.children[0].value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
el.children[0].value = el.children[0].value.replace(/^\./g,""); //必须保证第一个为数字而不是.
el.children[0].value = el.children[0].value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
if(el.children[0].value.indexOf(".")< 0 && el.children[0].value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
el.children[0].value= parseFloat(el.children[0].value);
}
};
},
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ import directive from './directive' // directive
import plugins from './plugins' // plugins
import { download } from '@/utils/request'
import './assets/icons' // icon
import './permission' // permission control
import { getDicts } from "@/api/system/dict/data";
......
......@@ -136,6 +136,20 @@ export const constantRoutes = [
meta: { title: '企业专项债详情', icon: 'radar' }
}
]
},
{
path: '/Land',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: '/radar/Land/details/:id(\\d+)',
component: () => import('@/views/radar/Land/details'),
name: 'LandDetails',
meta: { title: '土地交易详情', icon: 'radar' }
}
]
}
]
......
<template>
<div class="app-container qyzx-details">
<div class="bottomlist">
<ul class="bottomlist-content">
<li class="bottomlist-list">
<p class="list-titel">
绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)
</p>
<div class="list-content">
<p class="list-content-text">
<span>受让人:</span>
<span class="blue">芜湖旭日机械制造有限公司</span>
</p>
<p class="list-content-text">
<span>成交金额:</span>
<span>12345.62万元</span>
</p>
<p class="list-content-text">
<span>总面积:</span>
<span>12345.62万</span>
</p>
<p class="list-content-text">
<span>合同签订:</span>
<span>2014-05-12</span>
</p>
</div>
<div class="list-content">
<p class="list-content-text">
<span>土地用途:</span>
<span>城镇村道路用地</span>
</p>
<p class="list-content-text">
<span>供应方式:</span>
<span>挂牌出让</span>
</p>
</div>
</li>
</ul>
</div>
<div class="content main3">
<div class="common-title">项目保障</div>
<div class="main3-box">
<p>
<label class="label">行政区</label>
<span>1.36倍</span>
<label class="label">电子监督号</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">项目名称</label>
<span class="span-one">1.36倍</span>
</p>
<p>
<label class="label">项目位置</label>
<span class="span-one">1.36倍</span>
</p>
<p>
<label class="label">面积</label>
<span>1.36倍</span>
<label class="label">土地来源</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">土地用途</label>
<span>1.36倍</span>
<label class="label">供地方式</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">土地使用年限</label>
<span>1.36倍</span>
<label class="label">行业分类</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">土地级别</label>
<span>1.36倍</span>
<label class="label">成交价格(万元)</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">土地使用权人</label>
<span class="span-one">1.36倍</span>
</p>
<p>
<label class="label">约定容积率</label>
<span>1.36倍</span>
<label class="label">批准单位</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">约定交地日起</label>
<span>1.36倍</span>
<label class="label">合同签订日期</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">约定开工时间</label>
<span>1.36倍</span>
<label class="label">约定竣工时间</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">实际开工时间</label>
<span>1.36倍</span>
<label class="label">实际峻工时间</label>
<span>1.36倍</span>
</p>
</div>
</div>
<div class="content main3">
<div class="common-title">地块基本信息</div>
<div class="main3-box">
<p>
<label class="label">地块名称</label>
<span>1.36倍</span>
<label class="label">建筑面积</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">容积率</label>
<span>1.36倍</span>
<label class="label">绿化率</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">建筑密度</label>
<span>1.36倍</span>
<label class="label">建筑限高</label>
<span>1.36倍</span>
</p>
</div>
</div>
<div class="content main3">
<div class="common-title">土地交易信息</div>
<div class="main3-box">
<p>
<label class="label">招拍挂起始时间</label>
<span>1.36倍</span>
<label class="label">招拍挂截止时间</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">报名起始时间</label>
<span>1.36倍</span>
<label class="label">报名截止日期</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">起始价</label>
<span>1.36倍</span>
<label class="label">竞买保证金</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">加价幅度</label>
<span>1.36倍</span>
<label class="label">投资强度</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">成交价</label>
<span>1.36倍</span>
<label class="label">受让人</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">成交公示日期</label>
<span>1.36倍</span>
<label class="label">合同编号</label>
<span>1.36倍</span>
</p>
</div>
</div>
</div>
</template>
<script>
import "@/assets/styles/public.css";
export default {
name: 'LandDetails',
data() {
return {
id: '',
tableData: [{
id: 0,
name: '20重庆债14(2005938)',
time: '2020-09-18',
gm: '285.24',
zj: '否',
}]
}
},
created() {
console.log(this.$route.params)
this.id = this.$route.params.id
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.bottomlist {
width: 100%;
background-color: #FFFFFF;
border-radius: 4px 4px 4px 4px;
.bottomlist-title {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 12px;
padding: 16px;
border-bottom: 1px solid #EFEFEF;
.title-right {
display: flex;
align-items: center;
p:first-child {
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child {
display: flex;
align-items: center;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
img {
width: 18px;
height: 18px;
}
}
}
.bottomlist-content {
padding-bottom: 0px;
}
.bottomlist-list {
padding: 16px;
font-size: 14px;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 14px;
.list-titel {
font-size: 16px;
font-weight: 700;
color: #3D3D3D;
line-height: 19px;
.list-titel-a {
text-decoration: none;
color: #3D3D3D;
}
a:hover,
a:visited,
a:link,
a:active {
color: #3D3D3D;
}
}
.content-label {
margin-top: 7px;
.list-label {
background: #F3F3FF;
color: #8491E8;
border-radius: 1px 1px 1px 1px;
padding: 3px 7px;
font-size: 12px;
}
}
.list-content {
margin-top: 3px;
display: flex;
justify-content: start;
align-items: center;
.list-content-text {
margin-top: 7px;
display: flex;
justify-content: start;
align-items: center;
margin-right: 27px;
font-size: 14px;
span:first-child {
font-weight: 400;
color: rgba(35, 35, 35, 0.4);
line-height: 15px
}
span:last-child {
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
line-height: 15px
}
.blue {
color: #0081FF !important;
cursor: pointer;
}
}
}
.list-addree {
width: auto;
background: #F3F4F5;
display: inline-flex;
margin-top: 7px;
.list-content-text {
margin-top: 0px;
span {
line-height: 30px !important;
}
}
img {
width: 14px;
margin: 0 8px;
}
}
}
.bottomlist-list:hover {
background: #F6F9FC;
cursor: pointer;
}
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
.app-container {
padding: 0;
}
.qyzx-details {
.tab {
font-size: 12px;
color: #A1A1A1;
span {
color: #232323;
}
}
.content {
margin-top: 16px;
background: #FFFFFF;
padding: 16px;
border-radius: 4px;
}
.common-title {
margin-bottom: 8px;
}
.main1 {
.title {
color: #232323;
font-size: 16px;
line-height: 28px;
font-weight: bold;
margin-bottom: 8px;
text-align: left;
img {
width: 28px;
height: 28px;
margin-bottom: -9px;
margin-right: 17px;
}
}
p {
color: #3D3D3D;
font-size: 14px;
margin: 0;
}
}
.main2 {
.list {
display: flex;
margin: 16px 0;
}
.item {
width: 24.5%;
margin-right: 16px;
height: 100px;
display: flex;
justify-content: space-between;
border-radius: 8px;
.item-left {
margin-left: 16px;
margin-top: 24px;
h4 {
color: #232323;
font-size: 22px;
line-height: 22px;
font-weight: bold;
margin: 0;
span {
font-weight: 400;
margin-left: 4px;
font-size: 18px;
}
}
p {
margin: 0;
color: #3D3D3D;
font-size: 14px;
padding-top: 8px;
}
}
.img {
width: 56px;
height: 56px;
margin-top: 22px;
margin-right: 12px;
}
}
.color1 {
background: rgba(246, 190, 59, 0.08);
border: 1px solid rgba(246, 190, 59, 0.2);
}
.color2 {
background: rgba(148, 216, 196, 0.102);
border: 1px solid rgba(73, 187, 154, 0.1);
}
.color3 {
background: rgba(57, 100, 199, 0.06);
border: 1px solid rgba(57, 100, 199, 0.1);
}
.color4 {
background: rgba(0, 129, 255, 0.04);
border: 1px solid rgba(0, 129, 255, 0.1);
}
}
.main3 {
.main3-box {
margin-top: 22px;
border-top: 1px solid #E6E9F0;
p {
display: flex;
align-items: center;
margin: 0;
border-left: 1px solid #E6E9F0;
border-bottom: 1px solid #E6E9F0;
.label {
width: 10%;
font-weight: 400;
line-height: 40px;
font-size: 12px;
height: 40px;
background: #F0F3FA;
padding-left: 12px;
}
span {
width: 40%;
color: #000;
height: 40px;
line-height: 40px;
padding-left: 12px;
font-size: 12px;
}
.span-one{
width: 90%;
}
}
}
}
.main4 {
.main4-box {
margin-top: 22px;
.label {
width: 14%;
background: #F0F3FA;
border: 1px solid #E6E9F0;
display: inline-block;
height: 40px;
line-height: 40px;
font-size: 12px;
color: rgba(35, 35, 35, 0.8);
padding-left: 12px;
}
span {
width: 19%;
display: inline-block;
height: 40px;
line-height: 40px;
border-top: 1px solid #E6E9F0;
border-bottom: 1px solid #E6E9F0;
padding-left: 12px;
font-size: 12px;
}
span:last-child {
width: 20%;
border-right: 1px solid #E6E9F0;
}
}
}
.main5 {
.table-item {
margin-top: 22px;
}
}
}
</style>
\ No newline at end of file
<template>
<div>
<div id="bidRecord_wrap">
<div>
<div class="content_li">
<div class="content_item content_item_nopadding">
<div class="include-keywords">
<span class="lefttltel" style=" border-radius: 1px 0px 0px 1px;">项目包含</span>
<el-input class="commonly-input" v-model="keyword" style="width: 607px;" placeholder="请输入项目名称、文章关键词,多关键词用空格隔开,如:房建 地基"></el-input>
</div>
</div>
</div>
<div class="land_content_wrap " style="margin-bottom:8px;">
<div class="land_content_wrap_label" >投标报价</div>
<el-input class="other_ipt" placeholder="请输入最低金额" style="margin-left:12px;" @change="changeMoney('start')" clearable v-model="jskBidQueryDto.startBidMoney"></el-input>
<span style="margin:0 8px;"></span>
<el-input style="position:relative;top:2px;" placeholder="请输入最高金额" @change="changeMoney('end')" v-model="jskBidQueryDto.endBidMoney" clearable class="other_ipt other_ipt1">
<el-button slot="append" type="primary">万元</el-button>
</el-input>
<el-checkbox style="margin-left:24px;" v-model="jskBidQueryDto.hasMoney" true-label="yes" false-label="">包含投标报价未公示
</el-checkbox>
</div>
<div class="land_content_wrap">
<span class="land_content_wrap_label">相关条件</span>
<div class="select-popper" style="margin-bottom:8px;">
<span :class="{color_text:jskBidQueryDto.province.length ||jskBidQueryDto.city.length ||jskBidQueryDto.county.length,}">
行政区划
{{
jskBidQueryDto.province.length ||jskBidQueryDto.city.length ||jskBidQueryDto.county.length? jskBidQueryDto.province.length + jskBidQueryDto.city.length +jskBidQueryDto.county.length +"项": ""
}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-cascader
ref="address"
class="cascader-region"
v-model="addressType"
:options="addressList"
:props="props"
@change="domicileChange"
collapse-tags
clearable
></el-cascader>
</div>
<el-dropdown @command="punishDatehandleCommand" trigger="click" ref="punishDateShowPopper" :hide-on-click="false" >
<span class="el-dropdown-link" :class="punishDateValue ? 'color_text' : ''" >
发布时间{{ punishDateValue ? " 1项" : ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in punishDateOptions" :class=" punishDateValue && punishDateValue == item.value ? 'color_text': '' " :key="i" :command="item.value">
<div @mouseenter="hidePoper">{{ item.label }}</div>
</el-dropdown-item>
<el-dropdown-item command="自定义" style="padding: 0; text-indent: 20px">
<div @mouseenter="mouseenter">
<span :class="punishDateValue == '自定义' ? 'color_text' : ''">
自定义<i class="el-icon-arrow-right"></i>
</span>
<el-date-picker
v-if="punishDateShowPopper"
@change="changepunishDate"
class="land_date_picker"
v-model="punishDate"
ref="datePicker"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</div>
</el-dropdown>
<el-dropdown @command="tenderDatehandleCommand" trigger="click" ref="tenderDateShowPopper" :hide-on-click="false" >
<span class="el-dropdown-link" :class="tenderDateValue ? 'color_text' : ''" >开标时间{{ tenderDateValue ? " 1项" : ""}}<i class="el-icon-caret-bottom"></i>
</span>
<div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in punishDateOptions" :class=" tenderDateValue && tenderDateValue == item.value ? 'color_text' : ''" :key="i" :command="item.value">
<div @mouseenter="hidePoper('bid')">{{ item.label }}</div>
</el-dropdown-item>
<el-dropdown-item command="自定义" style="padding: 0; text-indent: 20px">
<div @mouseenter="mouseenter('bid')">
<span :class="tenderDateValue == '自定义' ? 'color_text' : ''">自定义<i class="el-icon-arrow-right"></i></span>
<el-date-picker
v-if="tenderDateShowPopper"
@change="changepunishDate('bid')"
class="land_date_picker"
v-model="tenderDate"
ref="tenderDatePicker"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</div>
</el-dropdown>
</div>
<div class="land_content_wrap">
<span class="land_content_wrap_label" style="line-height:34px;">参投单位</span>
<el-input style="margin-left:12px;" v-model="jskBidQueryDto.companyName" clearable placeholder="请输入参投单位名称关键词"> </el-input>
</div>
<div class="search-new" style="padding: 16px 0px 16px 76px">
<span @click="search()">查询</span>
<span @click="reset">重置</span>
</div>
<div class="data_list" v-if="showList">
<div style="height: 16px;width: 1200px;background: #F7F9FC;margin-left: -16px;"></div>
<div class="data_list_head">
共为您找到<span class="data_list_count"> {{ total }} </span>条相关结果
<div class="bottom-toolbar-right float_right" style="padding-top: 1px;">
<el-popover v-model="fieldshow" placement="bottom-end" trigger="click" popper-class="viewlist-el-popover">
<ul class="pup_list">
<li v-for="(itme,i) in fieldOptions" :class="itme.status?'active':''" @click="handsequencingList(i)" :key="i">
{{itme.value}}
</li>
</ul>
<span slot="reference" class="toolbar-right-download" style="width: auto;padding: 0px 8px;margin-right:4px;" >
{{fieldText}}<i class="el-icon-caret-bottom" :style="{transform:fieldshow?'rotate(180deg)':''}"></i>
</span>
</el-popover>
<span size="small" class="toolbar-right-download toolbar-right-download1" @click="search('','','isExport')">
导出数据
</span>
</div>
</div>
<div style="border-top:1px solid #efefef;padding-bottom:1px;width: 1200px;margin-left: -16px;" v-if="total<1" >
<div class="search_empty_wrap">
<ul>
<li class="search_empty_wrap_li search_empty_wrap_li1">没有找到相关数据,您可尝试:</li>
<li class="search_empty_wrap_li"><i class="disc"></i>输入更准确的关键词,重新搜索</li>
<li class="search_empty_wrap_li"><i class="disc"></i>尝试减少输入的关键词,增加搜索范围</li>
<li class="search_empty_wrap_li"><i class="disc"></i>更换筛选条件,重新搜索</li>
<li class="search_empty_wrap_li"><i class="disc"></i>联系客服进行反馈<span>400-023-5755</span>(工作日09:00-18:00)或<span><nuxt-link title="意见反馈" :to="`/feedback/`" target="_blank">意见反馈</nuxt-link></span></li>
</ul>
</div>
</div>
<div v-else>
<div v-for="(item, index) in tableData"class="data_list_item":key="index">
<nuxt-link class="data_list_h1 data_list_h1_1" :to="`/biz/tbjl/${item.id}.html`" target="_blank" :title="item.projectName.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" v-if="item.id" v-html="item.projectName"></nuxt-link>
<div class="data_list_h1" v-else v-html="item.projectName"></div>
<div class="label_box" v-if="item.domicile">
<span class="label_span label_span2">{{ item.domicile}}</span>
</div>
<div class="label_wrap">
<template v-if="item.source">
<span class="label_item">来源网站:</span>
<span class="label_con" v-html="item.source"></span>
</template>
<template v-if="item.tenderTime">
<span class="label_item" >开标时间:</span><span class="label_con">{{ item.tenderTime }}</span>
</template>
<template v-if="item.punishDate">
<span class="label_item" >发布时间:</span>
<span class="label_con">{{ item.punishDate }}</span>
</template>
</div>
</div>
</div>
</div>
</div>
<div class="performance_pagination_wrap" v-if="showList&&total>0">
<Pagination
v-if="pageFlag"
ref="page"
:page='permissions.page'
@handle-current-change="handleCurrentChange"
@handle-size-change="handleSizeChange"
:total="total"
/>
</div>
</div>
</div>
</template>
<script>
import jsk_data from '../../../../../public/jsk.json';
export default {
name: 'BidRecord',
data() {
return {
addressList: [],
addressType: [],
props: {
multiple: true,
expandTrigger: "hover",
value: "id",
},
keyword:"",
keywordNot:"",
fieldshow: false,
fieldText: '默认排序',
field: '', //查询结果排序方式
fieldOptions: [
{
key: "",
value: "默认排序",
status: true,
},
{
key: "publishDate",
value: "发布日期从晚到早",
status: false,
},
],
page: 1,
limit: 20,
punishDateOptions: [
{
label: "不限",
value: "",
},
{
label: "今天",
value: "今天",
},
{
label: "近3日",
value: "近3日",
},
{
label: "近7日",
value: "近7日",
},
{
label: "近1个月",
value: "近1个月",
},
{
label: "近3个月",
value: "近3个月",
},
{
label: "近半年",
value: "近半年",
},
{
label: "近1年",
value: "近1年",
},
],
punishDateValue: "",
jskBidQueryDto: {
hasMoney:"",
province: [],
city: [],
county: []
},
domicile: [],
provinceText:[],
provinceList:[],
punishDate: "",
punishDateShowPopper: false,
tenderDateValue: "",
tenderDate: "",
tenderDateShowPopper: false,
pageFlag: true,
conditionsArr: [],
showList:true,
total:0,
tableData:[],
};
},
computed: {
checkJskBidQueryDto() {
let arr = [];
let flag = false;
let data = {};
if(this.keyword){
data = {
title: "项目包含:",
keyid: "keyword",
value: this.keyword,
key: "keyword"
}
flag = true;
arr.push(data)
}
if(this.keywordNot){
data = {
title: "项目排除:",
keyid: "keywordNot",
value: this.keywordNot,
key: "keywordNot"
}
flag = true;
arr.push(data)
}
if(this.jskBidQueryDto.companyName){
data = {
title: "参投单位:",
keyid: "companyName",
value: this.jskBidQueryDto.companyName,
key: "companyName"
}
flag = true;
arr.push(data)
}
if(this.jskBidQueryDto.startBidMoney){
data = {
title: "最低金额:",
keyid: "startBidMoney",
value: this.jskBidQueryDto.startBidMoney,
key: "startBidMoney"
}
flag = true;
arr.push(data)
}
if(this.jskBidQueryDto.endBidMoney){
data = {
title: "最高金额:",
keyid: "endBidMoney",
value: this.jskBidQueryDto.endBidMoney,
key: "endBidMoney"
}
flag = true;
arr.push(data)
}
if(this.jskBidQueryDto.hasMoney){
data = {
title: "包含投标报价未公示",
keyid: "hasMoney",
value: this.jskBidQueryDto.hasMoney,
key: "hasMoney"
}
flag = true;
arr.push(data)
}
if (this.domicile.length > 0) {
data = {
title: "行政区划:",
keyid: "domicile",
value: this.domicile.join(","),
key: "domicile"
}
flag = true;
arr.push(data)
}
if(this.punishDateValue=="自定义"){
data = {
title: "发布时间:",
keyid: "punishDate",
value: this.jskBidQueryDto.startPunishDate +"~" +this.jskBidQueryDto.endPunishDate,
key: "punishDate"
}
flag = true;
arr.push(data)
}
if(this.punishDateValue&&this.punishDateValue!="自定义"){
data = {
title: "发布时间:",
keyid: "punishDate",
value: this.punishDateValue,
key: "punishDate"
}
flag = true;
arr.push(data)
}
if(this.tenderDateValue=="自定义"){
data = {
title: "开标时间:",
keyid: "tenderDate",
value: this.jskBidQueryDto.startTenderTime +"~" +this.jskBidQueryDto.endTenderTime,
key: "tenderDate"
}
flag = true;
arr.push(data)
}
if(this.tenderDateValue&&this.tenderDateValue!="自定义"){
data = {
title: "开标时间:",
keyid: "tenderDate",
value: this.tenderDateValue,
key: "tenderDate"
}
flag = true;
arr.push(data)
}
this.conditionsArr = arr
return flag;
},
},
mounted() {
if (this.$route.query.keyword) {
this.keyword = this.$route.query.keyword;
}
this.addressListfn();
},
methods: {
// 关键词推荐
cliclikeywoder() {
this.$refs.keyword.show();
},
keywordClick(val) {
this.keyword = val
},
refresh(value) {
if(value) {
this.$router.go(0)
}
},
search(page, limit,exportFlag) {
if (!page) {
this.page = 1;
}
if (!limit) {
this.limit = 20;
}
if (!page && !limit) {
this.reloadPage();
}
var data = JSON.parse(JSON.stringify(this.jskBidQueryDto));
data.province = data.province.join(",");
data.city = data.city.join(",");
data.county = data.county.join(",");
let params = {
page: {
page: this.page,
limit: this.limit,
field: this.field,
},
jskBidQueryDto: data,
};
if(this.keyword){
params.keyword = this.keyword
}else{
delete params.keyword
}
if(this.keywordNot){
params.keywordNot = this.keywordNot
}else{
delete params.keywordNot
}
this.$emit("search",params)
},
//关闭支付弹窗
resolve(value) {
if (value) {
this.$router.go(0)
}
},
provinceChange(arr){
this.provinceText = [];
if(arr.length>0){
arr.map(item=>{
this.provinceText.push(item.label);
})
}
},
changeMoney(text) {
if (
this.jskBidQueryDto.startBidMoney &&
this.jskBidQueryDto.endBidMoney &&
Number(this.jskBidQueryDto.startBidMoney) >
Number(this.jskBidQueryDto.endBidMoney)
) {
this.$message.warning("最低金额不能大于最高金额!");
text == "start" ?
(this.jskBidQueryDto.startBidMoney = "") :
(this.jskBidQueryDto.endBidMoney = "");
}
},
reloadPage() {
this.pageFlag = false;
this.$nextTick(() => {
this.pageFlag = true;
});
},
handleCurrentChange(page) {
this.page = page;
this.search(page, this.limit);
},
handleSizeChange(limit) {
this.limit = limit;
this.search(this.page, limit);
},
deleteDomicile() {
this.$refs.address.handleClear();
},
domicileChange() {
let arr = this.$refs.address.getCheckedNodes();
let province = [],
city = [],
county = [];
this.domicile = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && city.push(arr[i].value);
arr[i].hasChildren && this.domicile.push(arr[i].label);
!arr[i].hasChildren && county.push(arr[i].value);
!arr[i].hasChildren && this.domicile.push(arr[i].label);
}
} else {
province.push(arr[i].value);
this.domicile.push(arr[i].label);
}
}
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.province = province;
obj.city = city;
obj.county = county;
this.jskBidQueryDto = obj;
},
punishDatehandleCommand(command) {
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
if (command && command != "自定义") {
this.punishDateValue = command;
this.$refs.punishDateShowPopper.hide();
const datetime = new Date();
var startTime, endTime, Year, Month, Day;
Year = datetime.getFullYear();
Month = datetime.getMonth() + 1;
Day = datetime.getDate();
switch (command) {
case "今天":
startTime = Year + "-" + Month +"-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "近3日":
endTime = Year + "-" + Month + "-" + Day;
if (Day > 3) {
startTime = Year + "-" + Month + "-" +(Day-3);
} else {
let newTime = datetime.getTime()-3*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近7日":
endTime = Year + "-" + Month + "-" + Day;
if (Day > 7) {
startTime = Year + "-" + Month + "-" +(Day-7);
} else {
let newTime = datetime.getTime()-7*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近1个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 1) {
startTime = Year + "-" + (Month - 1) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 1) + "-1";
}
break;
case "近3个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 3) {
startTime = Year + "-" + (Month - 3) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 3) + "-1";
}
break;
case "近半年":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 6) {
startTime = Year + "-" + (Month - 6) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 6) + "-1";
}
break;
case "近1年":
startTime = Year - 1 + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "自定义":
if (!this.punishDate) {
this.punishDateValue = "";
}
break;
}
if(startTime){
var start=startTime.split('-');
startTime=start.map((item)=>{
if(item.length==1){
return '0'+item
}else{
return item
}
})
startTime=startTime.join('-')
}
if(endTime){
var end=endTime.split('-');
endTime=end.map((item)=>{
if(item.length==1){
return '0'+item
}else{
return item
}
})
endTime=endTime.join('-')
}
obj.startPunishDate = startTime;
obj.endPunishDate = endTime;
} else if (command == "自定义") {
this.$refs.datePicker.pickerVisible = true;
} else {
this.$refs.punishDateShowPopper.hide();
this.punishDateValue = "";
this.punishDate = "";
obj.startPunishDate = "";
obj.endPunishDate = "";
}
this.jskBidQueryDto = obj;
},
tenderDatehandleCommand(command) {
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
if (command && command != "自定义") {
this.tenderDateValue = command;
this.$refs.tenderDateShowPopper.hide();
const datetime = new Date();
var startTime, endTime, Year, Month, Day;
Year = datetime.getFullYear();
Month = datetime.getMonth() + 1;
Day = datetime.getDate();
switch (command) {
case "今天":
startTime = Year + "-" + Month +"-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "近3日":
endTime = Year + "-" + Month + "-" + Day;
if (Day > 3) {
startTime = Year + "-" + Month + "-" +(Day-3);
} else {
let newTime = datetime.getTime()-3*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近7日":
endTime = Year + "-" + Month + "-" + Day;
if (Day > 7) {
startTime = Year + "-" + Month + "-" +(Day-7);
} else {
let newTime = datetime.getTime()-7*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近1个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 1) {
startTime = Year + "-" + (Month - 1) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 1) + "-1";
}
break;
case "近3个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 3) {
startTime = Year + "-" + (Month - 3) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 3) + "-1";
}
break;
case "近半年":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 6) {
startTime = Year + "-" + (Month - 6) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 6) + "-1";
}
break;
case "近1年":
startTime = Year - 1 + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "自定义":
if (!this.tenderDate) {
this.tenderDateValue = "";
}
break;
}
if(startTime){
var start=startTime.split('-');
startTime=start.map((item)=>{
if(item.length==1){
return '0'+item
}else{
return item
}
})
startTime=startTime.join('-')
}
if(endTime){
var end=endTime.split('-');
endTime=end.map((item)=>{
if(item.length==1){
return '0'+item
}else{
return item
}
})
endTime=endTime.join('-')
}
obj.startTenderTime = startTime;
obj.endTenderTime = endTime;
} else if (command == "自定义") {
this.$refs.tenderDatePicker.pickerVisible = true;
} else {
this.$refs.tenderDateShowPopper.hide();
this.tenderDateValue = "";
this.tenderDate = "";
obj.startTenderTime = "";
obj.endTenderTime = "";
}
this.jskBidQueryDto = obj;
},
changepunishDate(type) {
if(type=='bid'&&this.tenderDate){
this.tenderDateValue = "自定义";
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.startTenderTime = this.tenderDate[0];
obj.endTenderTime = this.tenderDate[1];
this.jskBidQueryDto = obj;
}else if(this.punishDate) {
this.punishDateValue = "自定义";
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.startPunishDate = this.punishDate[0];
obj.endPunishDate = this.punishDate[1];
this.jskBidQueryDto = obj;
}
},
addressListfn() {
var str = [];
for (let x = 0; x < 3; x++) {
for (let i = 0; i < jsk_data.length; i++) {
if (jsk_data[i].regionLevel == x + 1 && x + 1 == 1) {
str.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children:jsk_data[i].id==900000?undefined:[],
});
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 2&&str) {
for (let j = 0; j < str.length; j++) {
if (str[j].id == jsk_data[i].parentId) {
str[j].children.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children: [],
});
}
}
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 3) {
for (let j = 0; j < str.length; j++) {
if(str[j].children){
for (let k = 0; k < str[j].children.length; k++) {
if (str[j].children[k].id == jsk_data[i].parentId) {
str[j].children[k].children.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
});
}
}
}
}
}
}
}
this.addressList = str;
},
hidePoper(type) {
if(type=='bid'&&this.$refs.tenderDatePicker){
this.$refs.tenderDatePicker.pickerVisible = false;
}else if(this.$refs.datePicker){
this.$refs.datePicker.pickerVisible = false;
}
},
mouseenter(type) {
if(type=='bid'){
this.tenderDateShowPopper = true;
if(this.tenderDateValue=="自定义"){
this.$nextTick(() => {
this.$refs.tenderDatePicker.pickerVisible = true;
});
}
}else{
this.punishDateShowPopper = true;
if(this.punishDateValue=="自定义"){
this.$nextTick(() => {
this.$refs.datePicker.pickerVisible = true;
});
}
}
},
clearpunishDate(type) {
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
if(type=='bid'){
this.tenderDate = "";
this.tenderDateValue = "";
obj.startTenderTime = "";
obj.endTenderTime = "";
}else{
this.punishDate = "";
this.punishDateValue = "";
obj.startPunishDate = "";
obj.endPunishDate = "";
}
this.jskBidQueryDto = obj;
},
reset() {
Object.assign(this.$data, this.$options.data.call(this)); //重置data
this.init();
this.$emit("reset");
},
init(){
this.search();
this.addressListfn();
},
handsequencingList(index) {
this.fieldshow = false;
this.field = this.fieldOptions[index].key;
for (let i = 0; i < this.fieldOptions.length; i++) {
this.fieldOptions[i].status = false;
}
this.fieldText = this.fieldOptions[index].value;
this.fieldOptions[index].status = true;
this.search();
},
},
};
</script>
<style lang="scss">
#bidRecord_wrap{
.other_ipt {
width: 174px;
height: 34px;
.el-input__inner {
width: 174px;
}
}
.other_ipt1 {
width: 187px;
.el-input-group__append {
padding: 0 8px;
}
}
}
</style>
<style lang="scss" scoped>
#bidRecord_wrap {
padding: 0 16px;
font-size: 14px;
.land_content_wrap {
display: flex;
line-height: 34px;
.land_content_wrap_label {
color: #666666;
margin-right: 4px;
}
}
.data_list {
width: 1184px;
margin: 0 auto;
.data_list_head {
height: 50px;
line-height: 50px;
color: #666666;
.data_list_count {
color: #ff2a00;
font-weight: bold;
}
}
.data_list_item {
border-top: 1px solid #efefef;
padding: 24px 16px;
padding-left: 16px;
margin-left: -16px;
&:hover {
background: #f5faff;
}
.data_list_h1 {
width: 1168px;
font-size: 18px;
font-weight: bold;
color: #333333;
line-height: 24px;
margin-bottom: 10px;
text-decoration:none;
word-break: break-all;
display: inline-block;
}
.data_list_h1_1 {
cursor: pointer;
}
.label_box {
padding-bottom: 6px;
display: flex;
.label_span {
padding: 0 8px;
display: inline-block;
height: 22px;
line-height: 22px;
border-radius: 2px 2px 2px 2px;
margin-right: 8px;
font-size: 12px;
}
.label_span1 {
background: #e4f3fd;
color: #0081ff;
}
.label_span2 {
background: #f3f3ff;
color: #8491e8;
}
.label_span3 {
background: #e3f6f8;
color: #44bcc4;
}
.label_span4 {
background: #e3f6f8;
color: #44bcc4;
}
}
.label_wrap {
font-size: 14px;
margin-top: 10px;
line-height: 18px;
display: flex;
.label_item {
color: #999999;
}
.label_item1{
position: relative;
top: -3px;
}
.company {
color: #0081ff;
cursor: pointer;
margin-right: 20px;
}
.label_con {
color: #333333;
margin-right: 20px;
max-width: 900px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.label_con1 {
width: 1042px;
display: inline-block;
margin: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
}
.content_li {
padding: 16px 0;
display: flex;
align-items: center;
position: relative;
.content_item {
.include-keywords {
display: flex;
align-items: center;
position: relative;
.lefttltel {
display: inline-block;
background: #f5f5f5;
color: #333;
border: 1px solid #efefef;
border-right: none;
opacity: 1;
width: 71px;
height: 40px;
text-align: center;
line-height: 40px;
}
.el-input {
line-height: 40px;
border-radius: 0;
::v-deep .el-input__inner {
width: 100%;
height: 40px;
line-height: 40px;
border-radius: 0;
}
}
.commonly-input {
::v-deep .el-input__inner {
padding-right: 100px;
}
}
.commonly {
position: absolute;
top: 10px;
right: 16px;
font-size: 14px;
font-weight: 400;
color: #0081ff;
cursor: pointer;
}
}
}
}
}
</style>
<template>
<div>
<div class="content">
<div class="content_item">
<div class="label">项目名称</div>
<div class="content_right">
<el-input class="ename_input"
placeholder="请输入项目名称关键字" v-model="landMarketDto.keyword" ></el-input>
</div>
</div>
<div class="content_item">
<div class="label">土地信息</div>
<div class="content_right">
<div class="select-popper">
<span :class="{ color_text:landMarketDto.province.length ||landMarketDto.city.length ||landMarketDto.area.length,}">
行政区划{{landMarketDto.province.length ||landMarketDto.city.length ||landMarketDto.area.length? landMarketDto.province.length +landMarketDto.city.length +landMarketDto.area.length +"项": ""
}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-cascader ref="address" class="cascader-region select-location" @change="domicileChange" v-model="addressType"
:options="addressList" :props="props" collapse-tags clearable></el-cascader>
</div>
<div class="select-popper">
<span :class="{ color_text: landMarketDto.landUse.length }">
土地用途{{landMarketDto.landUse.length? landMarketDto.landUse.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="landMarketDto.landUse" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in landUseOptions" :key="i" :label="item" :value="item">
</el-option>
</el-select>
</div>
<div class="select-popper">
<span :class="{ color_text: landMarketDto.industry.length }">
土地行业分类{{landMarketDto.industry.length? landMarketDto.industry.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="landMarketDto.industry" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in landMarketIndustryList" :key="i" :label="item" :value="item">
</el-option>
</el-select>
</div>
<div class="select-popper">
<span :class="{ color_text: landMarketDto.supplyLandWay.length }">
供应方式{{landMarketDto.supplyLandWay.length? landMarketDto.supplyLandWay.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="landMarketDto.supplyLandWay" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in supplyLandWayOptions" :key="i" :label="item" :value="item">
</el-option>
</el-select>
</div>
<el-dropdown @command="handleCommand" class="el-dropdown-land" trigger="click" ref="popper" :hide-on-click="false">
<span class="el-dropdown-link" :class="landMarketDto.startAcreage || landMarketDto.endAcreage? 'color_text': ''">
出让面积{{landMarketDto.startAcreage || landMarketDto.endAcreage? " 1项": ""}}<i class="el-icon-caret-bottom"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in acreageOptions" :class="landMarketDto.startAcreage == item.value[0] &&landMarketDto.endAcreage == item.value[1] &&
!startAcreage && !endAcreage? 'color_text': ''" :key="i" :command="item.value">{{ item.label }}</el-dropdown-item>
<el-dropdown-item command="" style="padding: 0; text-indent: 20px">
<div @mouseenter="showPopper = true" @mouseleave="showPopper = false">
<span :class="(startAcreage || endAcreage) &&landMarketDto.startAcreage == startAcreage &&landMarketDto.endAcreage == endAcreage
? 'color_text': '' ">
自定义<i class="el-icon-arrow-right"></i>
</span>
<div class="jabph_popper_box jabph_popper_box3" style="position: absolute" v-if="showPopper">
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="startAcreage"></el-input>
</div>
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="endAcreage"></el-input>
</div>
<div style="">
<el-button size="mini" @click="cancel">取消</el-button>
<el-button type="primary" size="mini" @click="popperConfirm">确定</el-button>
</div>
</div>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="select-popper">
<el-popover placement="bottom" v-model="showIpt" trigger="click">
<div class="jabph_popper_box jabph_popper_box1" style="position: relative">
<div class="jabph_popper_wrap">
最小
<el-input class="jabph_popper_input" v-limit-num clearable v-model="volumeRateLow">
</el-input>
</div>
<div class="jabph_popper_wrap">
最大
<el-input class="jabph_popper_input" v-limit-num clearable v-model="volumeRateHigh">
</el-input>
</div>
<div style="">
<el-button size="mini" @click="showIpt = false">取消</el-button>
<el-button type="primary" size="mini" @click="volumeRateConfirm">确定</el-button>
</div>
</div>
<span slot="reference" :class="{color_text:landMarketDto.volumeRateHigh || landMarketDto.volumeRateLow,}">
约定容积率{{landMarketDto.volumeRateHigh || landMarketDto.volumeRateLow? "1项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
</el-popover>
</div>
</div>
</div>
<div class="content_item">
<div class="label">成交信息</div>
<div class="content_right">
<el-dropdown @command="transactionPricehandleCommand" class="el-dropdown-land" trigger="click" ref="transactionPriceShowPopper" :hide-on-click="false">
<span class="el-dropdown-link" :class="landMarketDto.startTransactionPrice ||landMarketDto.endTransactionPrice ? 'color_text': ''">
成交金额{{landMarketDto.startTransactionPrice ||landMarketDto.endTransactionPrice? " 1项": ""}}<i class="el-icon-caret-bottom"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in transactionPriceOptions" :class="landMarketDto.startTransactionPrice == item.value[0] &&landMarketDto.endTransactionPrice == item.value[1] &&
!startTransactionPrice &&!endTransactionPrice? 'color_text': '' " :key="i" :command="item.value">{{ item.label }}</el-dropdown-item>
<el-dropdown-item command="" style="padding: 0; text-indent: 20px">
<div @mouseenter="transactionPriceShowPopper = true" @mouseleave="transactionPriceShowPopper = false">
<span :class="(startTransactionPrice || endTransactionPrice) &&landMarketDto.startTransactionPrice ==startTransactionPrice &&
landMarketDto.endTransactionPrice == endTransactionPrice? 'color_text': '' ">
自定义<i class="el-icon-arrow-right"></i>
</span>
<div class="jabph_popper_box" style="position: absolute"v-if="transactionPriceShowPopper">
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="startTransactionPrice"></el-input>
</div>
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="endTransactionPrice"></el-input>
</div>
<div style="">
<el-button size="mini" @click="transactionPriceCancel">取消</el-button>
<el-button type="primary" size="mini" @click="transactionPricePopperConfirm">确定</el-button>
</div>
</div>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown @command="contractSignTimehandleCommand" class="el-dropdown-land" trigger="click" ref="contractSignTimeShowPopper" :hide-on-click="false">
<span class="el-dropdown-link" :class="contractSignTimeValue ? 'color_text' : ''">
签订日期{{ contractSignTimeValue ? " 1项" : ""}}<i class="el-icon-caret-bottom"></i>
</span>
<div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in contractSignTimeOptions" :class="contractSignTimeValue && contractSignTimeValue == item.value? 'color_text': ''" :key="i" :command="item.value">
<div @mouseenter="hidePoper">{{ item.label }}</div>
</el-dropdown-item>
<el-dropdown-item command="自定义" style="padding: 0; text-indent: 20px">
<div @mouseenter="mouseenter">
<span :class=" contractSignTimeValue == '自定义' ? 'color_text' : ''">
自定义<i class="el-icon-arrow-right"></i>
</span>
<el-date-picker v-if="contractSignTimeShowPopper"@change="changeContractSignTime" class="land_date_picker"v-model="contractSignTime"
ref="datePicker" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</div>
</el-dropdown>
</div>
</div>
<div class="content_item">
<div class="label">土地坐落</div>
<div class="content_right">
<el-input v-model="landMarketDto.landAddr" clearable class="land_ipt_470"
placeholder="请输入土地坐落位置,如两江新区"></el-input>
</div>
</div>
<div class="content_item">
<div class="label">受让人</div>
<div class="content_right">
<el-input v-model="landMarketDto.companyName" clearable class="land_ipt_470"
placeholder="请输入受让人或土地使用权人名称,如重庆城投"></el-input>
</div>
</div>
<div class="content_item content_item_padding0">
<div class="geduan">
</div>
</div>
<div class="content_item content_item_padding0">
<div class="search-new">
<span @click="search()">查询</span>
<span @click="reset">重置</span>
</div>
</div>
</div>
<div class="bottomlist">
<div class="bottomlist-title">
<el-popover v-model="fieldshow" placement="bottom-start" trigger="click"
popper-class="viewlist-el-popover">
<ul class="pup_list">
<li v-for="(itme,i) in fieldOptions" :class="itme.status?'active':''"
@click="handsequencingList(i)" :key="i">
{{itme.value}}
</li>
</ul>
<span slot="reference" class="toolbar-right-download" >
{{fieldText}}<i class="el-icon-arrow-down"
:style="{transform:fieldshow?'rotate(180deg)':''}"></i>
</span>
</el-popover>
<div class="title-right">
<p>共有{{total}}</p>
<p>
<img src="@/assets/images/EXCEL.png" alt="">
<span>导出EXCEL</span>
</p>
</div>
</div>
<ul class="bottomlist-content">
<li class="bottomlist-list">
<p class="list-titel">
<router-link :to="'/radar/Land/details/'+ 1" tag="a" class="list-titel-a">绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)</router-link>
</p>
<div class="list-content">
<p class="list-content-text">
<span>受让人:</span>
<span class="blue">芜湖旭日机械制造有限公司</span>
</p>
<p class="list-content-text">
<span>成交金额:</span>
<span>12345.62万元</span>
</p>
<p class="list-content-text">
<span>总面积:</span>
<span>12345.62万</span>
</p>
<p class="list-content-text">
<span>合同签订:</span>
<span>2014-05-12</span>
</p>
</div>
<div class="list-content">
<p class="list-content-text">
<span>土地用途:</span>
<span >城镇村道路用地</span>
</p>
<p class="list-content-text">
<span>供应方式:</span>
<span >挂牌出让</span>
</p>
</div>
<div class="list-content list-addree">
<img src="@/assets/images/addree.png" alt="">
<p class="list-content-text">
<span>土地用途:</span>
<span >城镇村道路用地</span>
</p>
<p class="list-content-text">
<span>土地坐落:</span>
<span >锡山区云林街道春雷路东南、许巷路西</span>
</p>
</div>
</li>
</ul>
<div class="pagination clearfix" v-show="total>0">
<el-pagination
background
:page-size="pageSize"
:current-page="page"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import jsk_data from '../../../../../public/jsk.json';
export default {
name: 'Land',
data() {
return {
conditionTitles: {
keyword: "关键词:",
landAddr: "土地坐落:",
companyName: "受让人:",
},
conditionsArr: [],
addressList: [],
addressType: [],
props: {
multiple: true,
expandTrigger: "hover",
value: "id",
},
fieldshow: false,
fieldText: '默认排序',
field: '', //查询结果排序方式
fieldOptions: [{
key: "contractSignTime",
value: "默认排序",
status: true,
},
{
key: "transactionPrice",
value: "成交金额从大到小",
status: false,
},
{
key: "acreage",
value: "出让面积从大到小",
status: false,
},
],
page: 1,
limit: 20,
acreageOptions: [{
value: "不限",
label: "不限",
},
{
value: [0, 500],
label: "500平以下",
},
{
value: [500, 1000],
label: "500-1000平",
},
{
value: [1000, 5000],
label: "1000-5000平",
},
{
value: [5000, 20000],
label: "5000-2万平",
},
{
value: [20000, 50000],
label: "2万-5万平",
},
{
value: [50000, 100000],
label: "5万-10万平",
},
{
value: [100000, ""],
label: "10万平以上",
},
],
transactionPriceOptions: [{
value: "不限",
label: "不限",
},
{
value: [0, 100],
label: "100万元以下",
},
{
value: [100, 1000],
label: "100万-1000万元",
},
{
value: [1000, 5000],
label: "1000万-5000万元",
},
{
value: [5000, 20000],
label: "5000万-2亿元",
},
{
value: [20000, ""],
label: "2亿元以上",
},
],
contractSignTimeOptions: [{
label: "不限",
value: "",
},
{
label: "近1个月",
value: "近1个月",
},
{
label: "近半年",
value: "近半年",
},
{
label: "近1年",
value: "近1年",
},
{
label: "近3年",
value: "近3年",
},
],
contractSignTimeValue: "",
landUseOptions: [],
landMarketIndustryList: [],
supplyLandWayOptions: [
"划拨供地",
"协议出让",
"国有租赁",
"拍卖出让",
"招标出让",
"挂牌出让",
],
landMarketDto: {
landUse: [],
province: [],
city: [],
area: [],
supplyLandWay: [],
industry: [],
},
domicile: [],
startAcreage: "",
endAcreage: "",
showPopper: false,
showIpt: false,
volumeRateHigh: "",
volumeRateLow: "",
startTransactionPrice: "",
endTransactionPrice: "",
transactionPriceShowPopper: false,
contractSignTime: "",
contractSignTimeShowPopper: false,
pageFlag: true,
showList:true,
fieldshow: false,
fieldText: '默认排序',
field: '', //查询结果排序方式
fieldOptions: [
{
key: "contractSignTime",
value: "默认排序",
status: true,
},
{
key: "transactionPrice",
value: "成交金额从大到小",
status: false,
},
{
key: "acreage",
value: "出让面积从大到小",
status: false,
},
],
tableData:[],
total:6000,
page:1,
pageSize:20
};
},
computed: {
checkLandMarketDto() {
let arr = [];
let flag = false;
let data = {};
let keyid, value, title;
if (this.domicile.length > 0) {
data = {
title: "行政区划:",
keyid: "domicile",
value: this.domicile.join(","),
key: "domicile"
}
arr.push(data)
}
if (this.contractSignTimeValue == "自定义") {
data = {
title: "签订日期:",
value: this.landMarketDto.contractSignTimeStart + "~" + this.landMarketDto.contractSignTimeEnd,
}
arr.push(data)
}
if (this.contractSignTimeValue && this.contractSignTimeValue != "自定义") {
data = {
title: "签订日期:",
value: this.contractSignTimeValue,
}
arr.push(data)
}
for (var i in this.landMarketDto) {
if (this.landMarketDto[i]) {
keyid = i;
value = this.landMarketDto[i];
if (
Object.prototype.toString.call(this.landMarketDto[i]) ===
"[object Array]"
) {
if (this.landMarketDto[i].length > 0) {
flag = true;
switch (i) {
case 'landUse':
title = "土地用途:";
break;
case 'supplyLandWay':
title = "供应方式:";
break;
case 'industry':
title = "行业分类:";
break;
default:
title = "";
break;
}
} else {
title = ""
}
} else {
title = this.conditionTitles[i];
flag = true;
}
if (title) {
data = {
keyid: keyid,
value: value,
title: title,
key: value
}
arr.push(data)
}
}
}
this.conditionsArr = arr
return flag;
},
},
mounted() {
if (this.$route.query.keyword) {
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.keyword = this.$route.query.keyword;
this.landMarketDto = obj;
}
this.addressListfn();
// this.$axios.get('https://files.jiansheku.com/file/json/common/searchDic.json').then(res => {
// if (res && res.status == 200) {
// this.landMarketIndustryList = res.data.landMarketIndustry;
// this.landUseOptions = res.data.landUse
// }
// }).catch(error => {
// });
// if (this.landUseOptions.length == 0 || this.landMarketIndustryList.length == 0) {
// this.$axios.post("/nationzj/project/recently/typeList", {
// timeout: "49999",
// headers: {
// "Content-Type": "application/json;charset=UTF-8",
// },
// })
// .then((res) => {
// if (res.data.code == 200) {
// this.landUseOptions = res.data.data.landUseList;
// this.landMarketIndustryList = res.data.data.landMarketIndustryList;
// }
// })
// .catch((err) => {});
// }
},
methods: {
refresh(value) {
if (value) {
this.$router.go(0)
}
},
search(page, limit, exportFlag) {
if (!page) {
this.page = 1;
}
if (!limit) {
this.limit = 20;
}
if (!page && !limit) {
this.reloadPage();
}
var data = JSON.parse(JSON.stringify(this.landMarketDto));
data.landUse = data.landUse.join(",");
data.province = data.province.join(",");
data.city = data.city.join(",");
data.area = data.area.join(",");
data.supplyLandWay = data.supplyLandWay.join(",");
data.industry = data.industry.join(",");
let params = {
page: {
page: this.page,
limit: this.limit,
field: this.field,
},
landMarketDto: data,
};
this.$emit("search", params)
},
//关闭支付弹窗
resolve(value) {
if (value) {
this.$router.go(0)
}
},
reloadPage() {
this.pageFlag = false;
this.$nextTick(() => {
this.pageFlag = true;
});
},
handleCurrentChange(page) {
this.page = page;
this.search(page, this.limit);
},
handleSizeChange(limit) {
this.limit = limit;
this.search(this.page, limit);
},
deleteDomicile() {
this.$refs.address.handleClear();
},
domicileChange() {
let arr = this.$refs.address.getCheckedNodes();
let province = [],
city = [],
area = [];
this.domicile = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && city.push(arr[i].value);
arr[i].hasChildren && this.domicile.push(arr[i].label);
!arr[i].hasChildren && area.push(arr[i].value);
!arr[i].hasChildren && this.domicile.push(arr[i].label);
}
} else {
province.push(arr[i].value);
this.domicile.push(arr[i].label);
}
}
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.province = province;
obj.city = city;
obj.area = area;
this.landMarketDto = obj;
},
popperConfirm() {
if (
this.startAcreage &&
this.endAcreage &&
!(Number(this.endAcreage) > Number(this.startAcreage))
) {
return this.$message.warning("最小值必须小于最大值,请重新输入!");
}
this.showPopper = false;
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.startAcreage = this.startAcreage;
obj.endAcreage = this.endAcreage;
this.landMarketDto = obj;
this.$refs.popper.hide();
},
cancel() {
this.showPopper = false;
this.$refs.popper.hide();
},
transactionPricePopperConfirm() {
if (
this.startTransactionPrice &&
this.endTransactionPrice &&
!(Number(this.endTransactionPrice) > Number(this.startTransactionPrice))
) {
return this.$message.warning("最小值必须小于最大值,请重新输入!");
}
this.transactionPriceShowPopper = false;
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.startTransactionPrice = this.startTransactionPrice;
obj.endTransactionPrice = this.endTransactionPrice;
this.landMarketDto = obj;
this.$refs.transactionPriceShowPopper.hide();
},
transactionPriceCancel() {
this.transactionPriceShowPopper = false;
this.$refs.transactionPriceShowPopper.hide();
},
handleCommand(command) {
if (command) {
this.$refs.popper.hide();
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
this.startAcreage = "";
this.endAcreage = "";
if (command == "不限") {
obj.startAcreage = "";
obj.endAcreage = "";
} else {
obj.startAcreage = command[0];
obj.endAcreage = command[1];
}
this.landMarketDto = obj;
}
},
transactionPricehandleCommand(command) {
if (command) {
this.$refs.transactionPriceShowPopper.hide();
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
this.startTransactionPrice = "";
this.endTransactionPrice = "";
if (command == "不限") {
obj.startTransactionPrice = "";
obj.endTransactionPrice = "";
} else {
obj.startTransactionPrice = command[0];
obj.endTransactionPrice = command[1];
}
this.landMarketDto = obj;
}
},
contractSignTimehandleCommand(command) {
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
if (command && command != "自定义") {
this.contractSignTimeValue = command;
this.$refs.contractSignTimeShowPopper.hide();
const datetime = new Date();
var startTime, endTime, Year, Month, Day;
Year = datetime.getFullYear();
Month = datetime.getMonth() + 1;
Day = datetime.getDate();
switch (command) {
case "近1个月":
if (Month > 1) {
startTime = Year + "-" + (Month - 1) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 1) + "-1";
}
endTime = Year + "-" + Month + "-" + Day;
break;
case "近半年":
if (Month > 6) {
startTime = Year + "-" + (Month - 6) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 6) + "-1";
}
endTime = Year + "-" + Month + "-" + Day;
break;
case "近1年":
startTime = Year - 1 + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "近3年":
startTime = Year - 3 + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "自定义":
if (!this.contractSignTime) {
this.contractSignTimeValue = "";
}
break;
}
if (startTime) {
var start = startTime.split('-');
startTime = start.map((item) => {
if (item.length == 1) {
return '0' + item
} else {
return item
}
})
startTime = startTime.join('-')
}
if (endTime) {
var end = endTime.split('-');
endTime = end.map((item) => {
if (item.length == 1) {
return '0' + item
} else {
return item
}
})
endTime = endTime.join('-')
}
obj.contractSignTimeStart = startTime;
obj.contractSignTimeEnd = endTime;
} else if (command == "自定义") {
this.$refs.datePicker.pickerVisible = true;
} else {
this.$refs.contractSignTimeShowPopper.hide();
this.contractSignTimeValue = "";
this.contractSignTime = "";
obj.contractSignTimeStart = "";
obj.contractSignTimeEnd = "";
}
this.landMarketDto = obj;
},
changeContractSignTime() {
if (this.contractSignTime) {
this.contractSignTimeValue = "自定义";
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.contractSignTimeStart = this.contractSignTime[0];
obj.contractSignTimeEnd = this.contractSignTime[1];
this.landMarketDto = obj;
}
},
addressListfn() {
var str = [];
for (let x = 0; x < 3; x++) {
for (let i = 0; i < jsk_data.length; i++) {
if (jsk_data[i].regionLevel == x + 1 && x + 1 == 1) {
str.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children: jsk_data[i].id == 900000 ? undefined : [],
});
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 2 && str) {
for (let j = 0; j < str.length; j++) {
if (str[j].id == jsk_data[i].parentId) {
str[j].children.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children: [],
});
}
}
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 3) {
for (let j = 0; j < str.length; j++) {
if (str[j].children) {
for (let k = 0; k < str[j].children.length; k++) {
if (str[j].children[k].id == jsk_data[i].parentId) {
str[j].children[k].children.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
});
}
}
}
}
}
}
}
this.addressList = str;
},
hidePoper() {
if (this.$refs.datePicker) {
this.$refs.datePicker.pickerVisible = false;
}
},
mouseenter() {
this.contractSignTimeShowPopper = true;
if (this.contractSignTimeValue == "自定义") {
this.$nextTick(() => {
this.$refs.datePicker.pickerVisible = true;
});
}
},
handsequencingList(index) {
this.fieldshow = false;
this.field = this.fieldOptions[index].key;
for (let i = 0; i < this.fieldOptions.length; i++) {
this.fieldOptions[i].status = false;
}
this.fieldText = this.fieldOptions[index].value;
this.fieldOptions[index].status = true;
this.search();
},
volumeRateConfirm() {
if (
this.volumeRateLow &&
this.volumeRateHigh &&
!(Number(this.volumeRateHigh) > Number(this.volumeRateLow))
) {
return this.$message.warning("最小值必须小于最大值,请重新输入!");
}
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.volumeRateHigh = this.volumeRateHigh;
obj.volumeRateLow = this.volumeRateLow;
this.landMarketDto = obj;
this.showIpt = false;
},
clearContractSignTime() {
this.contractSignTime = "";
this.contractSignTimeValue = "";
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.contractSignTimeStart = "";
obj.contractSignTimeEnd = "";
this.landMarketDto = obj;
},
reset() {
Object.assign(this.$data, this.$options.data.call(this)); //重置data
this.init();
this.$emit("reset");
},
init() {
this.search();
this.addressListfn();
this.$axios.get('https://files.jiansheku.com/file/json/common/searchDic.json').then(res => {
if (res && res.status == 200) {
this.landMarketIndustryList = res.data.landMarketIndustry;
this.landUseOptions = res.data.landUse
}
}).catch(error => {
});
if (this.landUseOptions.length == 0 || this.landMarketIndustryList.length == 0) {
this.$axios.post("/nationzj/project/recently/typeList", {
timeout: "49999",
headers: {
"Content-Type": "application/json;charset=UTF-8",
},
})
.then((res) => {
if (res.data.code == 200) {
this.landUseOptions = res.data.data.landUseList;
this.landMarketIndustryList = res.data.data.landMarketIndustryList;
}
})
.catch((err) => {});
}
},
},
};
</script>
<style lang="scss" scoped>
.content{
padding: 0px 16px;
border-radius: 4px 4px 4px 4px;
background: #FFFFFF;
.content_item{
padding-top: 12px;
display: flex;
align-items: center;
.label{
width: 84px;
font-size: 14px;
font-weight: 400;
color: rgba(35,35,35,0.8);
}
.content_right{
.ename_input{
width: 640px;
margin-right: 20px;
}
.land_ipt_470 {
width: 640px;
}
}
.item_ckquery_list {
display: flex;
}
.item_ckquery_list .el-input__icon {
position: relative;
top: 1px;
}
.ckquery_list_right {
width: 640px;
}
.register_count_ipt{
margin-left: 0px;
}
.register_count_ipt .el-input__inner{
width: 174px;
}
::v-deep .el-input-group__prepend{
padding: 0 8px;
}
.content-projecttype{
display: flex;
align-items: center;
justify-content: center;
.projecttype{
font-weight: 400;
color: #232323;
padding: 1px 5px;
margin-right: 4px;
cursor: pointer;
border-radius: 3px 3px 3px 3px;
font-size: 14px;
}
.projecttype:first-child{
padding-left: 0px;
}
.projecttype:hover{
background: #F3F4F5;
padding: 1px 5px;
}
.activetype{
background: #F3F4F5;
padding: 1px 5px !important;
}
}
}
.content_item_padding0{
padding: 0;
}
}
.bottomlist{
width: 100%;
background-color: #FFFFFF;
border-radius: 4px 4px 4px 4px;
.bottomlist-title{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 12px;
padding: 16px ;
border-bottom: 1px solid #EFEFEF;
.title-right{
display: flex;
align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{
display: flex;
align-items: center;
font-size: 14px;
font-weight: 400;
color: rgba(35,35,35,0.8);
}
img{
width: 18px;
height: 18px;
}
}
}
.bottomlist-content{
padding-bottom: 0px;
}
.bottomlist-list{
padding: 16px;
font-size: 14px;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 14px;
.list-titel{
font-size: 16px;
font-weight: 700;
color: #3D3D3D;
line-height: 19px;
.list-titel-a{
text-decoration: none;
color:#3D3D3D;
}
a:hover, a:visited, a:link, a:active{
color:#3D3D3D;
}
}
.content-label{
margin-top: 7px;
.list-label{
background: #F3F3FF;
color: #8491E8;
border-radius: 1px 1px 1px 1px;
padding: 3px 7px;
font-size: 12px;
}
}
.list-content{
margin-top: 3px;
display: flex;
justify-content: start;
align-items: center;
.list-content-text{
margin-top: 7px;
display: flex;
justify-content: start;
align-items: center;
margin-right: 27px;
font-size: 14px;
span:first-child{
font-weight: 400;
color: rgba(35,35,35,0.4);
line-height: 15px
}
span:last-child{
font-weight: 400;
color: rgba(35,35,35,0.8);
line-height: 15px
}
.blue{
color: #0081FF !important;
cursor: pointer;
}
}
}
.list-addree{
width: auto;
background: #F3F4F5;
display: inline-flex;
margin-top: 7px;
.list-content-text{
margin-top: 0px;
span{
line-height: 30px!important;
}
}
img{
width: 14px;
margin: 0 8px;
}
}
}
.bottomlist-list:hover{
background: #F6F9FC;
cursor: pointer;
}
.pagination{
padding: 14px ;
.el-pagination{
float: right;
}
}
}
</style>
\ No newline at end of file
......@@ -78,6 +78,7 @@
</div>
</div>
<div class="bottomlist">
<div class="bottomlist-title">
<p>共有{{total}}条</p>
......@@ -455,7 +456,6 @@
<style lang="scss" scoped>
.content{
padding: 0px 16px;
border-radius: 4px 4px 4px 4px;
background: #FFFFFF;
.content_item{
......@@ -563,10 +563,11 @@
}
}
.bottomlist-content{
padding: 14px;
padding-bottom: 0px;
}
.bottomlist-list{
padding: 14px;
font-size: 14px;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 14px;
......
......@@ -14,28 +14,30 @@
</div>
</div>
<debtProject v-if="personnelHerf=='debtProject'" />
<Land v-if="personnelHerf=='Land'" />
</div>
</template>
<script>
import debtProject from "./components/debtProject/index.vue";
import Land from "./components/Land/index.vue";
import "@/assets/styles/public.css";
export default {
name: 'radar',
components: { debtProject },
components: { debtProject,Land },
data() {
return {
// tablist
personnelList: [{
key: 'debtProject',
status: true,
status: false,
value: '企业专项债项目',
},
{
key: 'Builder',
status: false,
key: 'Land',
status: true,
value: '土地交易',
},
......@@ -71,7 +73,7 @@
},
],
personnelHerf:'debtProject'
personnelHerf:'Land'
}
},
created() {},
......@@ -81,7 +83,7 @@
this.personnelList[i].status = false;
}
this.personnelList[index].status = true;
this.personnelHerf=this.personnelList[index].key;
},
}
}
......
package com.dsk.system.domain.customer.vo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 客户跟进记录列表
*
* @author makejava
* @since 2023-05-18 15:07:59
*/
@Data
public class CustomerFollowRecordListVo implements Serializable {
private static final long serialVersionUID = -17639570424991398L;
private Long id;
/**
* 客户id
*/
private String customerId;
/**
* 客户名称
*/
private String companyName;
/**
* 用户id
*/
private Long userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 拜访方式(visit_mode_type)
*/
private String visitMode;
/**
* 下次拜访时间
*/
private Date nextVisitTime;
/**
* 拜访对象姓名
*/
private String name;
/**
* 拜访对象职务
*/
private String position;
/**
* 拜访内容
*/
private String content;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
}
......@@ -2,6 +2,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;
......@@ -20,110 +21,125 @@ public class EnterpriseProjectService {
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));
public TableDataInfo landTransactionPage(EnterpriseProjectLandTransactionPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public R landUse(EnterpriseProjectLandUseBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public R landDetail(EnterpriseProjectLandDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public TableDataInfo approvalProjectPage(EnterpriseProjectApprovalProjectPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public R approvalInfoDetail(EnterpriseProjectApprovalInfoDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public TableDataInfo approvalExaminePage(EnterpriseProjectApprovalExaminePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public TableDataInfo approvalMarketingPage(EnterpriseProjectApprovalMarketingPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public TableDataInfo specialDebtProjectPage(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/specialDebtProjectPage", 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));
public R specialDebtProjectDetail(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/specialDebtProjectDetail", 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));
public TableDataInfo bidNoticePage(EnterpriseProjectBidNoticePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public R bidNoticeTenderStage(EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public R bidNoticeArea(EnterpriseProjectBidNoticeAreaBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeArea", 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));
public R bidNoticeDetail(EnterpriseProjectBidNoticeDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public TableDataInfo bidPlanPage(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public R bidPlanDetail(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public TableDataInfo bidNoticeProPage(EnterpriseProjectBidNoticeProPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidNoticeProProjectType(EnterpriseProjectBidNoticeProProjectTypeBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProProjectType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeProProjectPurposes(EnterpriseProjectBidNoticeProProjectPurposesBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProProjectPurposes", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeProAssessmentWay(EnterpriseProjectBidNoticeProAssessmentWayBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProAssessmentWay", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeProDetail(Map<String, Object> body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProDetail", BeanUtil.beanToMap(body, false, false));
public R bidNoticeProDetail(EnterpriseProjectBidNoticeProDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/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));
public TableDataInfo creditXzxkPage(EnterpriseProjectCreditXzxkPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/creditXzxkPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
}
......@@ -57,17 +57,17 @@ public class EnterpriseService {
//todo 新数据,待入库
public TableDataInfo partners(EnterprisePartnersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/partners", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/partners", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo investment(EnterpriseInvestmentBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/investment", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/investment", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo affiliates(EnterpriseAffiliatesBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/affiliates", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/affiliates", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
......@@ -105,22 +105,22 @@ public class EnterpriseService {
}
public R icInfo(EnterpriseIcInfoBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/icInfo", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/icInfo", 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));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/changeInfo", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo keymembers(EnterpriseKeymembersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/keymembers", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/keymembers", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo bestStockPage(EnterpriseKeymembersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
}
......@@ -3,6 +3,7 @@ package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.system.domain.customer.CustomerFollowRecord;
import com.dsk.system.domain.customer.dto.CustomerFollowRecordSearchDto;
import com.dsk.system.domain.customer.vo.CustomerFollowRecordListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -18,7 +19,7 @@ import java.util.List;
@Mapper
public interface CustomerFollowRecordMapper extends BaseMapper<CustomerFollowRecord> {
List<CustomerFollowRecord> selectAuthList(@Param("dto") CustomerFollowRecordSearchDto dto);
List<CustomerFollowRecordListVo> selectAuthList(@Param("dto") CustomerFollowRecordSearchDto dto);
}
......@@ -19,7 +19,7 @@ public interface EconomicService {
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult nationalList(OpRegionalEconomicDataV1Dto dto);
AjaxResult nationalPage(OpRegionalEconomicDataV1Dto dto);
/***
*@Description: 全国经济大全详情
......
......@@ -3,6 +3,7 @@ package com.dsk.system.service;
import com.dsk.system.domain.customer.CustomerFollowRecord;
import com.dsk.system.domain.customer.dto.CustomerFollowRecordSearchDto;
import com.dsk.system.domain.customer.vo.CustomerFollowRecordListVo;
import java.util.List;
......@@ -14,7 +15,7 @@ import java.util.List;
*/
public interface ICustomerFollowRecordService {
List<CustomerFollowRecord> selectList(CustomerFollowRecordSearchDto dto);
List<CustomerFollowRecordListVo> selectList(CustomerFollowRecordSearchDto dto);
boolean add(CustomerFollowRecord followRecord);
......
package com.dsk.system.service;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.SpecialBondInformationPageDto;
import com.dsk.common.dtos.SpecialPurposeBondsDto;
import com.dsk.common.dtos.SpecialPurposeBondsPageDto;
/**
* @ClassName EconomicService
......@@ -19,7 +21,7 @@ public interface SpecialPurposeBondsService {
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult page(SpecialPurposeBondsDto dto);
AjaxResult page(SpecialPurposeBondsPageDto dto);
/***
*@Description: 专项债项目详情
......@@ -39,4 +41,13 @@ public interface SpecialPurposeBondsService {
*/
AjaxResult bondStatistics(SpecialPurposeBondsDto dto);
/***
*@Description: 专项债分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
AjaxResult bondPage(SpecialBondInformationPageDto pageDto);
}
package com.dsk.system.service;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.UrbanInvestmentPlatformDto;
/**
* @ClassName EconomicService
......@@ -18,7 +19,7 @@ public interface UrbanInvestmentPlatformService {
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult page();
AjaxResult page(UrbanInvestmentPlatformDto dto);
/***
*@Description: 城投平台详情
......@@ -28,4 +29,13 @@ public interface UrbanInvestmentPlatformService {
*@date: 2023/5/18 10:25
*/
AjaxResult details(String id);
/***
*@Description: 城投平台统计
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
AjaxResult statistics(UrbanInvestmentPlatformDto pageDto);
}
......@@ -7,6 +7,7 @@ import com.dsk.common.annotation.DataScope;
import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.customer.CustomerFollowRecord;
import com.dsk.system.domain.customer.dto.CustomerFollowRecordSearchDto;
import com.dsk.system.domain.customer.vo.CustomerFollowRecordListVo;
import com.dsk.system.mapper.CustomerFollowRecordMapper;
import com.dsk.system.service.ICustomerFollowRecordService;
import lombok.extern.slf4j.Slf4j;
......@@ -30,19 +31,13 @@ public class CustomerFollowRecordServiceImpl implements ICustomerFollowRecordSer
private CustomerFollowRecordMapper baseMapper;
@Override
// @DataScope(deptAlias = "d",userAlias = "u")
public List<CustomerFollowRecord> selectList(CustomerFollowRecordSearchDto dto) {
LambdaQueryWrapper<CustomerFollowRecord> wrapper = Wrappers.lambdaQuery();
if (!ObjectUtils.isEmpty(dto.getCustomerId())) {
wrapper.eq(CustomerFollowRecord::getCustomerId, dto.getCustomerId());
} else {
wrapper.eq(CustomerFollowRecord::getUserId, SecurityUtils.getUserId());
@DataScope(deptAlias = "d",userAlias = "u")
public List<CustomerFollowRecordListVo> selectList(CustomerFollowRecordSearchDto dto) {
if (ObjectUtils.isEmpty(dto.getCustomerId())) {
dto.setUserId(SecurityUtils.getUserId());
}
wrapper.orderByDesc(CustomerFollowRecord::getCreateTime);
return baseMapper.selectList(wrapper);
// dto.setUserId(SecurityUtils.getUserId());
// return baseMapper.selectAuthList(dto);
// log.debug("dto.params.dataScope{}",dto.getParams().get("dataScope"));
return baseMapper.selectAuthList(dto);
}
@Override
......
......@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.OpRegionalEconomicDataV1Dto;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.mapper.OpRegionalEconomicDataV1Mapper;
import com.dsk.system.service.EconomicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -25,60 +24,9 @@ public class EconomicServiceImpl implements EconomicService {
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
@Autowired
private OpRegionalEconomicDataV1Mapper mapper;
@Override
public AjaxResult nationalList(OpRegionalEconomicDataV1Dto dto) {
// SELECT
// id,
// `year`,
// province,
// city,
// area,
// gdp,
// gdp_add_value,
// gdp_growth,
// gdp_per_capita,
// pi_add_value,
// si_add_value,
// ti_add_value,
// population,
// population_growth_rate,
// population_add_value,
// industry_add_value,
// industry_total_value,
// fixed_investment,
// real_estate_investment,
// exim_total_value,
// trscg,
// urban_pcdi,
// gbr,
// gbr_growth,
// tax_income,
// transfer_income,
// superior_subsidy_income,
// gbe,
// gov_fund_income,
// land_transfer_income,
// gov_fund_expenditure,
// soecoi,
// soecoe,
// gov_debt_balance,
// general_debt_balance,
// special_debt_balance,
// gov_debt_limit,
// uip_interest_bearing_debt,
// fiscal_self_sufficiency_rate,
// gov_debt_to_gdp_rate,
// gov_debt_to_gdp_rate_wild,
// gov_debt_rate,
// gov_debt_rate_wild,
// is_deal,
// is_statua
//FROM
// `op_regional_economic_data_v1`;
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", BeanUtil.beanToMap(dto, false, false));
public AjaxResult nationalPage(OpRegionalEconomicDataV1Dto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/economic/national/nationalPage", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
......@@ -86,25 +34,25 @@ public class EconomicServiceImpl implements EconomicService {
public AjaxResult details(Integer id) {
Map<String, Object> bodyMap = new HashMap<>(1);
bodyMap.put("id", id);
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", bodyMap);
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/economic/details", bodyMap);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult statisticsRegional(OpRegionalEconomicDataV1Dto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", BeanUtil.beanToMap(dto, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/economic/statistics/regional", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult regionalList(OpRegionalEconomicDataV1Dto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", BeanUtil.beanToMap(dto, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/economic/regional/list", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult regionalComparison(OpRegionalEconomicDataV1Dto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", BeanUtil.beanToMap(dto, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/economic/xx", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
......
......@@ -2,9 +2,10 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.SpecialBondInformationPageDto;
import com.dsk.common.dtos.SpecialPurposeBondsDto;
import com.dsk.common.dtos.SpecialPurposeBondsPageDto;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.service.EconomicService;
import com.dsk.system.service.SpecialPurposeBondsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -26,8 +27,8 @@ public class SpecialPurposeBondsServiceImpl implements SpecialPurposeBondsServic
private DskOpenApiUtil dskOpenApiUtil;
@Override
public AjaxResult page(SpecialPurposeBondsDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", BeanUtil.beanToMap(dto, false, false));
public AjaxResult page(SpecialPurposeBondsPageDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/specialPurposeBonds/projects/page", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
......@@ -35,13 +36,19 @@ public class SpecialPurposeBondsServiceImpl implements SpecialPurposeBondsServic
public AjaxResult details(String id) {
Map<String, Object> bodyMap = new HashMap<>(1);
bodyMap.put("id", id);
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", bodyMap);
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/specialPurposeBonds/details", bodyMap);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult bondStatistics(SpecialPurposeBondsDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", BeanUtil.beanToMap(dto, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/specialPurposeBonds/bond/statistics", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult bondPage(SpecialBondInformationPageDto pageDto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/specialPurposeBonds/bond/page", BeanUtil.beanToMap(pageDto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
}
......@@ -2,12 +2,13 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.UrbanInvestmentPlatformDto;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.service.EconomicService;
import com.dsk.system.service.UrbanInvestmentPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
......@@ -24,14 +25,22 @@ public class UrbanInvestmentPlatformServiceImpl implements UrbanInvestmentPlatfo
private DskOpenApiUtil dskOpenApiUtil;
@Override
public AjaxResult page() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", null);
public AjaxResult page(UrbanInvestmentPlatformDto pageDto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/urbanInvestment/page", BeanUtil.beanToMap(pageDto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult details(String id) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/xx", null);
Map<String, Object> bodyMap = new HashMap<>(1);
bodyMap.put("id", id);
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/urbanInvestment/details", bodyMap);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult statistics(UrbanInvestmentPlatformDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/urbanInvestment/statistics", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
}
......@@ -7,16 +7,20 @@
cfr.content, cfr.create_time
</sql>
<select id="selectAuthList" resultType="com.dsk.system.domain.customer.CustomerFollowRecord">
<select id="selectAuthList" resultType="com.dsk.system.domain.customer.vo.CustomerFollowRecordListVo">
select
<include refid="Base_Bean"></include>
ct.company_name, u.nick_name,
<include refid="Base_Bean"></include>
from customer_follow_record cfr
join customer ct on ct.customer_id = cfr.customer_id
join sys_user u on u.user_id = cfr.user_id
join sys_dept d on d.dept_id = u.dept_id
where cfr.user_id = #{dto.userId}
<if test="dto.customerId != null and dto.customerId != '' "> and cfr.customer_id = #{dto.customerId} </if>
<!-- 数据范围过滤 -->
${params.dataScope}
left join sys_dept d on d.dept_id = u.dept_id
<where>
<if test="dto.userId != null "> and cfr.user_id = #{dto.userId} </if>
<if test="dto.customerId != null and dto.customerId != '' "> and cfr.customer_id = #{dto.customerId} </if>
<!-- 数据范围过滤 -->
<if test="dto.params.dataScope != null and dto.params.dataScope != '' "> ${dto.params.dataScope} </if>
</where>
order by cfr.create_time desc
</select>
......
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