Commit 51540a12 authored by tanyang's avatar tanyang

Merge remote-tracking branch 'origin/V20230915'

# Conflicts:
#	dsk-operate-ui/src/views/radar/components/MajorProject/index.vue
parents 1fc81db2 9087fd0b
...@@ -77,7 +77,7 @@ public class CustomerController extends BaseController { ...@@ -77,7 +77,7 @@ public class CustomerController extends BaseController {
@PostMapping("/claim") @PostMapping("/claim")
@RepeatSubmit @RepeatSubmit
public R<Map<String, Object>> claim(@RequestBody Customer customer) { public R<Map<String, Object>> claim(@RequestBody Customer customer) {
if (ObjectUtils.isEmpty(customer.getUipId())) throw new BeanException("城投uipId不能为空"); // if (ObjectUtils.isEmpty(customer.getUipId())) throw new BeanException("城投uipId不能为空");
boolean add = baseService.add(customer); boolean add = baseService.add(customer);
if (add) { if (add) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
......
...@@ -82,17 +82,18 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -82,17 +82,18 @@ public class CustomerServiceImpl implements ICustomerService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean add(Customer customer) { public boolean add(Customer customer) {
dealWithcustomerData(customer);
customer.setUipId(enterpriseCommonService.getUipIdByCompanyNameOrCompanyId(customer.getCompanyName(), customer.getCompanyId()));
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
customer.setCreateId(userId);
customer.setUpdateId(userId);
customer.setTenantId(LoginHelper.getTenantId());
//查重 //查重
Customer verifyCustomer = baseMapper.selectByCompanyNameAndUserId(customer.getCompanyName(), userId); Customer verifyCustomer = baseMapper.selectByCompanyNameAndUserId(customer.getCompanyName(), userId);
if (!ObjectUtils.isEmpty(verifyCustomer)) { if (!ObjectUtils.isEmpty(verifyCustomer)) {
throw new ServiceException("当前客户信息已存在,请勿重复添加!"); throw new ServiceException("当前客户信息已存在,请勿重复添加!");
} }
dealWithcustomerData(customer);
customer.setUipId(enterpriseCommonService.getUipIdByCompanyNameOrCompanyId(customer.getCompanyName(), customer.getCompanyId()));
customer.setCreateId(userId);
customer.setUpdateId(userId);
customer.setTenantId(LoginHelper.getTenantId());
int i = baseMapper.insert(customer); int i = baseMapper.insert(customer);
if (i == 0) throw new ServiceException("客户信息添加错误!"); if (i == 0) throw new ServiceException("客户信息添加错误!");
......
...@@ -74,11 +74,25 @@ public class EnterpriseProjectController { ...@@ -74,11 +74,25 @@ public class EnterpriseProjectController {
return enterpriseProjectService.specialDebtPage(body); return enterpriseProjectService.specialDebtPage(body);
} }
/***
*@Description: 招标公告 分页列表
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/10/9 14:41
*/
@PostMapping(value = "/bidNoticePage") @PostMapping(value = "/bidNoticePage")
public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception { public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception {
return enterpriseProjectService.bidNoticePage(body); return enterpriseProjectService.bidNoticePage(body);
} }
/***
*@Description: 招标招采阶段
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/10/9 14:41
*/
@PostMapping(value = "/bidNoticeTenderStage") @PostMapping(value = "/bidNoticeTenderStage")
public R bidNoticeTenderStage(@RequestBody @Valid EnterpriseProjectBidNoticeTenderStageBody body) throws Exception { public R bidNoticeTenderStage(@RequestBody @Valid EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
return enterpriseProjectService.bidNoticeTenderStage(body); return enterpriseProjectService.bidNoticeTenderStage(body);
...@@ -89,6 +103,19 @@ public class EnterpriseProjectController { ...@@ -89,6 +103,19 @@ public class EnterpriseProjectController {
return enterpriseProjectService.bidNoticeArea(body); return enterpriseProjectService.bidNoticeArea(body);
} }
/***
*@Description: 招标项目类别
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/10/9 14:41
*/
@PostMapping(value = "/bidNoticeProjectCategory")
public R bidNoticeProjectCategory(@RequestBody @Valid EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
return enterpriseProjectService.bidNoticeProjectCategory(body);
}
@PostMapping(value = "/bidNoticeDetail") @PostMapping(value = "/bidNoticeDetail")
public R bidNoticeDetail(@RequestBody @Valid EnterpriseProjectBidNoticeDetailBody body) throws Exception { public R bidNoticeDetail(@RequestBody @Valid EnterpriseProjectBidNoticeDetailBody body) throws Exception {
return enterpriseProjectService.bidNoticeDetail(body); return enterpriseProjectService.bidNoticeDetail(body);
......
...@@ -25,10 +25,15 @@ public class EnterpriseProjectBidNoticePageBody extends BasePage { ...@@ -25,10 +25,15 @@ public class EnterpriseProjectBidNoticePageBody extends BasePage {
private String keys; private String keys;
/** /**
* 类型 * 招标阶段
*/ */
private List<String> tenderStage; private List<String> tenderStage;
/**
* 项目类型
*/
private List<String> projectCategory;
/* /*
* 1金额倒序,2金额正序,3时间倒序,4时间正序 * 1金额倒序,2金额正序,3时间倒序,4时间正序
*/ */
......
...@@ -7,6 +7,7 @@ import lombok.NoArgsConstructor; ...@@ -7,6 +7,7 @@ import lombok.NoArgsConstructor;
import lombok.ToString; import lombok.ToString;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
@Data @Data
@ToString @ToString
...@@ -14,12 +15,12 @@ import javax.validation.constraints.NotNull; ...@@ -14,12 +15,12 @@ import javax.validation.constraints.NotNull;
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectImportantListDto extends BasePage { public class EnterpriseProjectImportantListDto extends BasePage {
private Integer companyId; private Integer cid;
private String keys; private String keys;
private String projectLevel; private String projectLevel;
private String projectType; private List<String> projectType;
} }
...@@ -4,11 +4,13 @@ import cn.hutool.core.bean.BeanException; ...@@ -4,11 +4,13 @@ import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.jsk.domain.*; import com.dsk.jsk.domain.*;
import com.dsk.jsk.domain.bo.EnterpriseProjectImportantListDto; import com.dsk.jsk.domain.bo.EnterpriseProjectImportantListDto;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -17,6 +19,7 @@ import org.springframework.stereotype.Service; ...@@ -17,6 +19,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
@Service @Service
...@@ -90,13 +93,52 @@ public class EnterpriseProjectService { ...@@ -90,13 +93,52 @@ public class EnterpriseProjectService {
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
/***
*@Description: 招标公告 分页列表
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/10/9 14:41
*/
public TableDataInfo bidNoticePage(EnterpriseProjectBidNoticePageBody body) throws Exception { public TableDataInfo bidNoticePage(EnterpriseProjectBidNoticePageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0); if (body.isVaildCid()) {
return new TableDataInfo(new ArrayList<>(), 0);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticePage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticePage", BeanUtil.beanToMap(body, false, false));
Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
if (CollectionUtils.isEmpty(list)) {
return new TableDataInfo(list, 0);
}
ArrayList<Long> cIds = new ArrayList<>();
for (Object dataMap : list) {
cIds.add(MapUtils.getLong(CommonUtils.assertAsMap(dataMap), "agencyId"));
}
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("ids", cIds);
Map<String, Object> uipIdMap = dskOpenApiUtil.requestBody("/operate/enterprise/getUipIdByCid", paramMap);
Object uipIdData = uipIdMap.get("data");
List<Map<String, Object>> mapList = new ArrayList<>();
if (ObjectUtil.isNotEmpty(uipIdData)) {
mapList = (List<Map<String, Object>>)uipIdData;
}
for (Object dataMap : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(dataMap);
Long agencyId = MapUtils.getLong(companyMap, "agencyId", 0L);
companyMap.put("uipId", null);
for (Map<String, Object> m : mapList) {
String uipId = MapUtils.getString(m, "uipId", null);
Long companyId = MapUtils.getLong(m, "companyId", 0L);
if (agencyId.equals(companyId)) {
companyMap.put("uipId", uipId);
}
}
}
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R bidNoticeTenderStage(EnterpriseProjectBidNoticeTenderStageBody body) throws Exception { public R bidNoticeTenderStage(EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
if (body.isVaildCid()) return R.ok(); if (body.isVaildCid()) return R.ok();
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeTenderStage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeTenderStage", BeanUtil.beanToMap(body, false, false));
...@@ -110,6 +152,20 @@ public class EnterpriseProjectService { ...@@ -110,6 +152,20 @@ public class EnterpriseProjectService {
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
/***
*@Description: 招标项目类别
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/10/9 14:41
*/
public R bidNoticeProjectCategory(EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
if (body.isVaildCid()) {
return R.ok();
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProjectCategory", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeDetail(EnterpriseProjectBidNoticeDetailBody body) throws Exception { public R bidNoticeDetail(EnterpriseProjectBidNoticeDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeDetail", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeDetail", BeanUtil.beanToMap(body, false, false));
...@@ -221,7 +277,7 @@ public class EnterpriseProjectService { ...@@ -221,7 +277,7 @@ public class EnterpriseProjectService {
} }
public TableDataInfo importantList(EnterpriseProjectImportantListDto dto) throws Exception{ public TableDataInfo importantList(EnterpriseProjectImportantListDto dto) throws Exception{
if(ObjectUtil.isEmpty(dto.getCompanyId())) throw new BeanException("企业id不能为空!"); if(ObjectUtil.isEmpty(dto.getCid())) throw new BeanException("企业id不能为空!");
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/importantList", BeanUtil.beanToMap(dto, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/importantList", BeanUtil.beanToMap(dto, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
......
...@@ -131,6 +131,7 @@ public class EnterpriseService { ...@@ -131,6 +131,7 @@ public class EnterpriseService {
performance.put("specialDebt", MapUtils.getInteger(projectStatisticMapData, "specialDebt", 0)); performance.put("specialDebt", MapUtils.getInteger(projectStatisticMapData, "specialDebt", 0));
performance.put("bidPlan", MapUtils.getInteger(projectStatisticMapData, "bidPlan", 0)); performance.put("bidPlan", MapUtils.getInteger(projectStatisticMapData, "bidPlan", 0));
business.put("historySend", MapUtils.getInteger(projectStatisticMapData, "historySend", 0)); business.put("historySend", MapUtils.getInteger(projectStatisticMapData, "historySend", 0));
business.put("importantBusiness", MapUtils.getInteger(projectStatisticMapData, "importantBusiness", 0));
statisticMapData.put("performance", performance); statisticMapData.put("performance", performance);
statisticMapData.put("business", business); statisticMapData.put("business", business);
......
...@@ -53,4 +53,12 @@ public class CompanySearchController { ...@@ -53,4 +53,12 @@ public class CompanySearchController {
} }
return opportunityRadarService.enterprisePage(object); return opportunityRadarService.enterprisePage(object);
} }
/*
* 查业主单位
*/
@RequestMapping("/bossCompany")
public AjaxResult bossCompany(@RequestBody JSONObject object) {
return opportunityRadarService.bossCompany(object);
}
} }
...@@ -163,4 +163,42 @@ public class MarketAnalysisController extends BaseController { ...@@ -163,4 +163,42 @@ public class MarketAnalysisController extends BaseController {
public AjaxResult countGroupByMonth(@RequestBody JSONObject object) { public AjaxResult countGroupByMonth(@RequestBody JSONObject object) {
return marketAnalysisService.countGroupByMonth(object); return marketAnalysisService.countGroupByMonth(object);
} }
//-----------------------------------集团概览----------------------------------
//集团概览 集团施工项目最新招标
@RequestMapping("/combine/recentlyBid")
public AjaxResult combineRecentlyBid(@RequestBody JSONObject object){
return marketAnalysisService.combineRecentlyBid(object);
}
//集团概览 集团施工项目年度招标
@RequestMapping("/combine/bidByYear")
public AjaxResult combineBidByYear(@RequestBody JSONObject object){
return marketAnalysisService.combineBidByYear(object);
}
//集团概览 集团施工项目发包金额统计
@RequestMapping("/combine/groupByMoney")
public AjaxResult combineGroupByMoney(@RequestBody JSONObject object){
return marketAnalysisService.combineGroupByMoney(object);
}
//集团概览 集团施工项目发包类型统计
@RequestMapping("/combine/groupByType")
public AjaxResult combineGroupByType(@RequestBody JSONObject object){
return marketAnalysisService.combineGroupByType(object);
}
//集团概览 施工项目下浮率统计
@RequestMapping("/combine/groupByLowerRate")
public AjaxResult combineGroupByLowerRate(@RequestBody JSONObject object){
return marketAnalysisService.combineGroupByLowerRate(object);
}
//集团概览 历史发包项目金额Top10
@RequestMapping("/combine/peojectTop")
public AjaxResult combinePeojectTop(@RequestBody JSONObject object){
return marketAnalysisService.combinePeojectTop(object);
}
} }
package com.dsk.search.service; package com.dsk.search.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.biz.domain.vo.CustomerStatusListVo;
import com.dsk.biz.service.ICustomerService;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.jsk.domain.vo.ImportantProjectExportVo; import com.dsk.jsk.domain.vo.ImportantProjectExportVo;
import com.dsk.jsk.service.EnterpriseService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -28,6 +37,12 @@ public class BusinessOpportunityRadarService { ...@@ -28,6 +37,12 @@ public class BusinessOpportunityRadarService {
@Autowired @Autowired
private DskOpenApiUtil dskOpenApiUtil; private DskOpenApiUtil dskOpenApiUtil;
@Autowired
ICustomerService iCustomerService;
@Autowired
private EnterpriseService enterpriseService;
public AjaxResult jskBidNewsPage(JSONObject object) { public AjaxResult jskBidNewsPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/page", object); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/page", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
...@@ -68,6 +83,55 @@ public class BusinessOpportunityRadarService { ...@@ -68,6 +83,55 @@ public class BusinessOpportunityRadarService {
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
public AjaxResult bossCompany(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/bossCompany", object);
Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) throw new RuntimeException();
Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
if (CollectionUtils.isEmpty(list)) {
return BeanUtil.toBean(map, AjaxResult.class);
}
ArrayList<String> companyNames = new ArrayList<>();
for (Object dataMap : list) {
String name = MapUtils.getString(CommonUtils.assertAsMap(dataMap), "name");
if (ObjectUtil.isNotEmpty(name) && name.contains("font")) {
name = name.replaceAll("<font color='#FF204E'>", "");
name = name.replaceAll("</font>", "");
companyNames.add(name);
} else {
companyNames.add(name);
}
}
List<CustomerStatusListVo> claimStatusList = iCustomerService.selectStatusListByCompanyName(companyNames);
for (Object enterprise : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(enterprise);
String companyName = MapUtils.getString(companyMap, "name", "");
if (ObjectUtil.isNotEmpty(companyName) && companyName.contains("font")) {
companyName = companyName.replace("<font color='#FF204E'>", "");
companyName = companyName.replace("</font>", "");
}
companyMap.put("claimStatus", null);
for (CustomerStatusListVo vo : claimStatusList) {
if (companyName.equals(vo.getCompanyName())) {
companyMap.put("claimStatus", vo.getStatus());
}
}
Integer jskEid = MapUtils.getInteger(companyMap, "jskEid");
companyMap.put("uipId", enterpriseService.getUipIdByCompanyNameOrCompanyId(companyName, jskEid));
}
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult enterpriseByName(String keyword) { public AjaxResult enterpriseByName(String keyword) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.put("keyword", keyword); params.put("keyword", keyword);
...@@ -140,8 +204,8 @@ public class BusinessOpportunityRadarService { ...@@ -140,8 +204,8 @@ public class BusinessOpportunityRadarService {
vo.setId(i + 1); vo.setId(i + 1);
vo.setBuildingProjectType(MapUtil.getStr(list.get(i),"buildingProjectType")); vo.setBuildingProjectType(MapUtil.getStr(list.get(i),"buildingProjectType"));
if (null!=list.get(i).get("projectName")){ if (null!=list.get(i).get("projectName")){
if (null!=list.get(i).get("project_level")){ if (null!=list.get(i).get("projectLevel")){
vo.setProjectName(MapUtil.getStr(list.get(i),"project_level").concat("-")+StringUtils.removeRed(MapUtil.getStr(list.get(i),"projectName"))); vo.setProjectName(MapUtil.getStr(list.get(i),"projectLevel").concat("-")+StringUtils.removeRed(MapUtil.getStr(list.get(i),"projectName")));
}else { }else {
vo.setProjectName(StringUtils.removeRed(MapUtil.getStr(list.get(i),"projectName"))); vo.setProjectName(StringUtils.removeRed(MapUtil.getStr(list.get(i),"projectName")));
} }
......
...@@ -4,9 +4,13 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,9 +4,13 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.jsk.service.EnterpriseService;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -20,6 +24,9 @@ public class MarketAnalysisService { ...@@ -20,6 +24,9 @@ public class MarketAnalysisService {
@Autowired @Autowired
private DskOpenApiUtil dskOpenApiUtil; private DskOpenApiUtil dskOpenApiUtil;
@Autowired
private EnterpriseService enterpriseService;
public AjaxResult areaGroupByProvince() { public AjaxResult areaGroupByProvince() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/areaGroupByProvince", new JSONObject()); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/areaGroupByProvince", new JSONObject());
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
...@@ -114,4 +121,66 @@ public class MarketAnalysisService { ...@@ -114,4 +121,66 @@ public class MarketAnalysisService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/lowerRangeTenderType", object); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/lowerRangeTenderType", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
public AjaxResult combineRecentlyBid(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/combine/recentlyBid", object);
if (!ObjectUtils.isEmpty(map.get("data"))) {
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("data");
list.parallelStream().forEach(res -> {
Integer companyId = MapUtils.getInteger(res, "tendereeId");
String companyName = MapUtils.getString(res, "tenderee");
res.put("uipId", enterpriseService.getUipIdByCompanyNameOrCompanyId(companyName, companyId));
});
}
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult combineBidByYear(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/combine/bidByYear", object);
if (!ObjectUtils.isEmpty(map.get("data"))) {
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("data");
list.parallelStream().forEach(res -> {
Integer companyId = MapUtils.getInteger(res, "companyId");
String companyName = MapUtils.getString(res, "companyName");
res.put("uipId", enterpriseService.getUipIdByCompanyNameOrCompanyId(companyName, companyId));
});
}
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult combineGroupByMoney(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/combine/groupByMoney", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult combineGroupByType(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/combine/groupByType", object);
if (!ObjectUtils.isEmpty(map.get("data"))) {
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("data");
list.parallelStream().forEach(res -> {
Integer companyId = MapUtils.getInteger(res, "companyId");
String companyName = MapUtils.getString(res, "companyName");
res.put("uipId", enterpriseService.getUipIdByCompanyNameOrCompanyId(companyName, companyId));
});
}
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult combineGroupByLowerRate(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/combine/groupByLowerRate", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult combinePeojectTop(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/combine/peojectTop", object);
if (!ObjectUtils.isEmpty(map.get("data"))) {
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("data");
list.parallelStream().forEach(res -> {
Integer companyId = MapUtils.getInteger(res, "projectUnitId");
String companyName = MapUtils.getString(res, "projectUnit");
res.put("uipId", enterpriseService.getUipIdByCompanyNameOrCompanyId(companyName, companyId));
});
}
return BeanUtil.toBean(map, AjaxResult.class);
}
} }
...@@ -40,12 +40,14 @@ ...@@ -40,12 +40,14 @@
"axios": "0.24.0", "axios": "0.24.0",
"clipboard": "2.0.8", "clipboard": "2.0.8",
"core-js": "^3.32.2", "core-js": "^3.32.2",
"dayjs": "^1.11.10",
"echarts": "^5.0.0", "echarts": "^5.0.0",
"el-table-horizontal-scroll": "^1.2.5", "el-table-horizontal-scroll": "^1.2.5",
"element-resize-detector": "^1.2.4", "element-resize-detector": "^1.2.4",
"element-ui": "2.15.12", "element-ui": "2.15.12",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"fuse.js": "6.4.3", "fuse.js": "6.4.3",
"gsap": "^3.12.2",
"highlight.js": "9.18.5", "highlight.js": "9.18.5",
"jquery": "^3.7.0", "jquery": "^3.7.0",
"js-beautify": "1.13.0", "js-beautify": "1.13.0",
...@@ -56,6 +58,7 @@ ...@@ -56,6 +58,7 @@
"quill": "1.3.7", "quill": "1.3.7",
"screenfull": "5.0.2", "screenfull": "5.0.2",
"sortablejs": "^1.15.0", "sortablejs": "^1.15.0",
"uuid": "^9.0.1",
"vue": "2.6.12", "vue": "2.6.12",
"vue-count-to": "1.0.13", "vue-count-to": "1.0.13",
"vue-cropper": "0.5.5", "vue-cropper": "0.5.5",
......
...@@ -92,3 +92,52 @@ export function exportBid(data) { ...@@ -92,3 +92,52 @@ export function exportBid(data) {
data: data data: data
}) })
} }
// 集团施工项目最新招标
export function recentlyBid(data) {
return request({
url: '/marketAnalysis/combine/recentlyBid',
method: 'post',
data: data
})
}
// 集团施工项目年度招标
export function bidByYear(data) {
return request({
url: '/marketAnalysis/combine/bidByYear',
method: 'post',
data: data
})
}
// 集团施工项目发包金额统计
export function groupByMoney(data) {
return request({
url: '/marketAnalysis/combine/groupByMoney',
method: 'post',
data: data
})
}
// 集团施工项目发包类型统计
export function groupByType(data) {
return request({
url: '/marketAnalysis/combine/groupByType',
method: 'post',
data: data
})
}
// 施工项目下浮率统计
export function groupByLowerRate(data) {
return request({
url: '/marketAnalysis/combine/groupByLowerRate',
method: 'post',
data: data
})
}
// 历史发包项目金额Top10
export function peojectTop(data) {
return request({
url: '/marketAnalysis/combine/peojectTop',
method: 'post',
data: data
})
}
...@@ -6,15 +6,23 @@ export function bidNoticePage(data) { ...@@ -6,15 +6,23 @@ export function bidNoticePage(data) {
url: '/enterpriseProject/bidNoticePage', url: '/enterpriseProject/bidNoticePage',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 招标公告招标类别 // 招标公告招标阶段
export function bidNoticeTenderStage(data) { export function bidNoticeTenderStage(data) {
return request({ return request({
url: '/enterpriseProject/bidNoticeTenderStage', url: '/enterpriseProject/bidNoticeTenderStage',
method: 'post', method: 'post',
data: data data: data
});
}
// 招标公告项目类别
export function bidNoticeProjectCategory(data) {
return request({
url: '/enterpriseProject/bidNoticeProjectCategory',
method: 'post',
data: data
}) })
} }
...@@ -24,7 +32,7 @@ export function bidNoticeArea(data) { ...@@ -24,7 +32,7 @@ export function bidNoticeArea(data) {
url: '/enterpriseProject/bidNoticeArea', url: '/enterpriseProject/bidNoticeArea',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 土地交易列表 // 土地交易列表
...@@ -33,7 +41,7 @@ export function landTransactionPage(data) { ...@@ -33,7 +41,7 @@ export function landTransactionPage(data) {
url: '/enterpriseProject/landTransactionPage', url: '/enterpriseProject/landTransactionPage',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 土地交易用途 // 土地交易用途
...@@ -42,7 +50,7 @@ export function landUse(data) { ...@@ -42,7 +50,7 @@ export function landUse(data) {
url: '/enterpriseProject/landUse', url: '/enterpriseProject/landUse',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 拟建项目列表 // 拟建项目列表
...@@ -51,7 +59,7 @@ export function approvalProjectPage(data) { ...@@ -51,7 +59,7 @@ export function approvalProjectPage(data) {
url: '/enterpriseProject/approvalProjectPage', url: '/enterpriseProject/approvalProjectPage',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 标讯PRO招标公告列表 // 标讯PRO招标公告列表
...@@ -60,7 +68,7 @@ export function bidNoticeProPage(data) { ...@@ -60,7 +68,7 @@ export function bidNoticeProPage(data) {
url: '/enterpriseProject/bidNoticeProPage', url: '/enterpriseProject/bidNoticeProPage',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 标讯PRO招标公告项目类别 // 标讯PRO招标公告项目类别
...@@ -69,7 +77,7 @@ export function bidNoticeProProjectType(data) { ...@@ -69,7 +77,7 @@ export function bidNoticeProProjectType(data) {
url: '/enterpriseProject/bidNoticeProProjectType', url: '/enterpriseProject/bidNoticeProProjectType',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 标讯PRO招标公告工程类别 // 标讯PRO招标公告工程类别
...@@ -78,7 +86,7 @@ export function bidNoticeProProjectPurposes(data) { ...@@ -78,7 +86,7 @@ export function bidNoticeProProjectPurposes(data) {
url: '/enterpriseProject/bidNoticeProProjectPurposes', url: '/enterpriseProject/bidNoticeProProjectPurposes',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 标讯PRO招标公告评标办法 // 标讯PRO招标公告评标办法
...@@ -87,7 +95,7 @@ export function bidNoticeProAssessmentWay(data) { ...@@ -87,7 +95,7 @@ export function bidNoticeProAssessmentWay(data) {
url: '/enterpriseProject/bidNoticeProAssessmentWay', url: '/enterpriseProject/bidNoticeProAssessmentWay',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 行政许可列表 // 行政许可列表
...@@ -96,7 +104,7 @@ export function creditXzxkPage(data) { ...@@ -96,7 +104,7 @@ export function creditXzxkPage(data) {
url: '/enterpriseProject/creditXzxkPage', url: '/enterpriseProject/creditXzxkPage',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 专项债项目列表 // 专项债项目列表
...@@ -105,7 +113,7 @@ export function specialDebtProjectPage(data) { ...@@ -105,7 +113,7 @@ export function specialDebtProjectPage(data) {
url: '/enterpriseProject/specialDebtProjectPage', url: '/enterpriseProject/specialDebtProjectPage',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 招标计划列表 // 招标计划列表
...@@ -114,7 +122,7 @@ export function bidPlanPage(data) { ...@@ -114,7 +122,7 @@ export function bidPlanPage(data) {
url: '/enterpriseProject/bidPlanPage', url: '/enterpriseProject/bidPlanPage',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 招标计划项目类型 // 招标计划项目类型
export function bidPlanProjectType(data) { export function bidPlanProjectType(data) {
...@@ -122,5 +130,12 @@ export function bidPlanProjectType(data) { ...@@ -122,5 +130,12 @@ export function bidPlanProjectType(data) {
url: '/enterpriseProject/bidPlanProjectType', url: '/enterpriseProject/bidPlanProjectType',
method: 'post', method: 'post',
data: data data: data
}) });
} }
// 企业重点项目列表
export const getMajorProjectListApi = (data) => request({
url: "/enterpriseProject/importantList",
method: "post",
data
});
\ No newline at end of file
import request from '@/utils/request' import request from '@/utils/request';
// 资质json数据 // 资质json数据
let aptitudeCode= function aptitudeCode(param) { let aptitudeCode = function aptitudeCode(param) {
return request({ return request({
url: 'https://files.jiansheku.com/file/json/common/aptitudeCode.json', url: 'https://files.jiansheku.com/file/json/common/aptitudeCode.json',
method: 'get', method: 'get',
}) });
} };
// 人员json数据 // 人员json数据
let personCert= function personCert(param) { let personCert = function personCert(param) {
return request({ return request({
url: 'https://files.jiansheku.com/file/json/common/personCert.json', url: 'https://files.jiansheku.com/file/json/common/personCert.json',
method: 'get', method: 'get',
}) });
} };
// 备案网站 // 备案网站
let searchDic= function searchDic(param) { let searchDic = function searchDic(param) {
return request({ return request({
url: 'https://files.jiansheku.com/file/json/common/searchDic.json', url: 'https://files.jiansheku.com/file/json/common/searchDic.json',
method: 'get', method: 'get',
}) });
} };
// 备案网站 // 备案网站
let regionWebList= function regionWebList(param) { let regionWebList = function regionWebList(param) {
return request({ return request({
url: '/nationzj/enterprice/regionWebList', url: '/nationzj/enterprice/regionWebList',
method: 'get', method: 'get',
}) });
} };
// 地区 // 地区
let region= function region(param) { let region = function region(param) {
return request({ return request({
url: '/system/region/list/'+param, url: '/system/region/list/' + param,
method: 'get', method: 'get',
}) });
} };
// 查甲方选项 // 查甲方选项
let uipGroupData= function uipGroupData(param) { let uipGroupData = function uipGroupData(param) {
return request({ return request({
url: '/enterprise/uipGroupData', url: '/enterprise/uipGroupData',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 查甲方列表 // 查甲方列表
let uipSerach= function uipSerach(param) { let uipSerach = function uipSerach(param) {
return request({ return request({
url: '/enterprise/uipSerach', url: '/enterprise/uipSerach',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 认领用户 // 认领用户
let claim= function claim(param) { let claim = function claim(param) {
return request({ return request({
url: '/customer/claim', url: '/customer/claim',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 取消认领用户 // 取消认领用户
let cancelClaim= function cancelClaim(data) { let cancelClaim = function cancelClaim(data) {
return request({ return request({
url: '/customer/cancelClaim/'+data, url: '/customer/cancelClaim/' + data,
method: 'put', method: 'put',
// data: data // data: data
}) });
} };
// 历史认领用户 // 历史认领用户
let historyClaim= function historyClaim(data) { let historyClaim = function historyClaim(data) {
return request({ return request({
url: '/customer/historyClaim/'+data, url: '/customer/historyClaim/' + data,
method: 'put', method: 'put',
// data: data // data: data
}) });
} };
// 客户状态 // 客户状态
let customerStatus= function customerStatus(data) { let customerStatus = function customerStatus(data) {
return request({ return request({
url: '/customer/status/'+data, url: '/customer/status/' + data,
method: 'get', method: 'get',
// data: data // data: data
}) });
} };
// 查建筑企业 // 查建筑企业
let enterprisePage= function enterprisePage(param) { let enterprisePage = function enterprisePage(param) {
return request({ return request({
url: '/enterprise/page', url: '/enterprise/page',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 甲方详情-公司概要 // 甲方详情-公司概要
let infoHeader= function infoHeader(param) { let infoHeader = function infoHeader(param) {
return request({ return request({
url: '/enterprise/infoHeader', url: '/enterprise/infoHeader',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 搜索集团户 // 搜索集团户
let searchCentralEnterprse= function searchCentralEnterprse(param) { let searchCentralEnterprse = function searchCentralEnterprse(param) {
return request({ return request({
url: '/combine/info/index', url: '/combine/info/index',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 央企 // 央企
let centralEnterprse= function centralEnterprse(param) { let centralEnterprse = function centralEnterprse(param) {
return request({ return request({
url: '/combine/info/centralEnterprse', url: '/combine/info/centralEnterprse',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 央企子集团 // 央企子集团
let centralEnterprseChild= function centralEnterprseChild(param) { let centralEnterprseChild = function centralEnterprseChild(param) {
return request({ return request({
url: '/combine/info/centralEnterprse/child', url: '/combine/info/centralEnterprse/child',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 央企子集团更多 // 央企子集团更多
let centralEnterprseChildPage= function centralEnterprseChildPage(param) { let centralEnterprseChildPage = function centralEnterprseChildPage(param) {
return request({ return request({
url: '/combine/info/centralEnterprse/child/page', url: '/combine/info/centralEnterprse/child/page',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 地方国企 // 地方国企
let centralEnterprselocal= function centralEnterprselocal(param) { let centralEnterprselocal = function centralEnterprselocal(param) {
return request({ return request({
url: '/combine/info/centralEnterprse/local', url: '/combine/info/centralEnterprse/local',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 地方国企更多 // 地方国企更多
let centralEnterprselocalPage= function centralEnterprselocalPage(param) { let centralEnterprselocalPage = function centralEnterprselocalPage(param) {
return request({ return request({
url: '/combine/info/centralEnterprse/local/page', url: '/combine/info/centralEnterprse/local/page',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 其他集团 // 其他集团
let centralEnterprsesocial= function centralEnterprsesocial(param) { let centralEnterprsesocial = function centralEnterprsesocial(param) {
return request({ return request({
url: '/combine/info/centralEnterprse/social', url: '/combine/info/centralEnterprse/social',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 其他集团更多 // 其他集团更多
let centralEnterprsesocialPage= function centralEnterprsesocialPage(param) { let centralEnterprsesocialPage = function centralEnterprsesocialPage(param) {
return request({ return request({
url: '/combine/info/centralEnterprse/social/page', url: '/combine/info/centralEnterprse/social/page',
method: 'post', method: 'post',
data: param data: param
}) });
} };
//企业标签 //企业标签
let label= function label(param) { let label = function label(param) {
return request({ return request({
url: '/enterprise/label', url: '/enterprise/label',
method: 'post', method: 'post',
data: param data: param
}) });
} };
// 查业主单位
export const searchOwnerUnitListApi = (data) => request({
url: '/enterprise/bossCompany',
method: 'post',
data
});
export default {label,centralEnterprsesocialPage,centralEnterprselocalPage,centralEnterprseChildPage,centralEnterprsesocial,centralEnterprselocal,centralEnterprseChild,searchCentralEnterprse,centralEnterprse,region,aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim,cancelClaim,enterprisePage,infoHeader,historyClaim,customerStatus}
export default { label, centralEnterprsesocialPage, centralEnterprselocalPage, centralEnterprseChildPage, centralEnterprsesocial, centralEnterprselocal, centralEnterprseChild, searchCentralEnterprse, centralEnterprse, region, aptitudeCode, personCert, searchDic, regionWebList, uipGroupData, uipSerach, claim, cancelClaim, enterprisePage, infoHeader, historyClaim, customerStatus, searchOwnerUnitListApi };
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_1326_147842/1262_137253"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_1326_147842/1262_137253)"><g><path d="M10.551783125,3.9530996875C8.729353125,2.1306496875,5.774553125,2.1306496875,3.952123125,3.9530996875C2.129673125,5.7755296875,2.129673125,8.7303296875,3.952123125,10.5527596875C5.774553125,12.3752296875,8.729353125,12.3752296875,10.551783125,10.5527596875C12.374253125,8.7303296875,12.374253125,5.7755296875,10.551783125,3.9530996875C10.551783125,3.9530996875,10.551783125,3.9530996875,10.551783125,3.9530996875ZM3.0093131250000003,3.0102896875000003C5.352453125,0.6671426875,9.151453125,0.6671426875,11.494553125,3.0102896875000003C13.678353125,5.1940996875,13.826953125,8.6424596875,11.940153125,10.9982596875C11.940153125,10.9982596875,14.323053125,13.3812296875,14.323053125,13.3812296875C14.323053125,13.3812296875,13.380253125,14.3240296875,13.380253125,14.3240296875C13.380253125,14.3240296875,10.997283125,11.9411296875,10.997283125,11.9411296875C8.641483125,13.8279296875,5.193123125,13.6793296875,3.0093131250000003,11.4955296875C0.666166125,9.1524296875,0.666166125,5.3534296875,3.0093131250000003,3.0102896875000003C3.0093131250000003,3.0102896875000003,3.0093131250000003,3.0102896875000003,3.0093131250000003,3.0102896875000003Z" fill-rule="evenodd" fill="#0081FF" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
...@@ -3,87 +3,87 @@ ...@@ -3,87 +3,87 @@
* 1、url地址,如正式环境企业详情:https://plug.jiansheku.com/enterprise/56546856314e567a69?ak=bc8e534da5ea40639b2f084919280a82&initTime=1694507179060&uid=4a3b4bfdfbca4bff9d9bd7c8fd42f533(ak:接口获得的accesToken;initTime:获得accesToken时的时间戳;uid:用户标识) * 1、url地址,如正式环境企业详情:https://plug.jiansheku.com/enterprise/56546856314e567a69?ak=bc8e534da5ea40639b2f084919280a82&initTime=1694507179060&uid=4a3b4bfdfbca4bff9d9bd7c8fd42f533(ak:接口获得的accesToken;initTime:获得accesToken时的时间戳;uid:用户标识)
* *
* */ * */
const steerScroll = function(iframeId, navigation, footHeight, state, parentId, _this) { // iframeId: iframe的id;navigation:页面排除iframe后剩下的顶部高度;footHeight: 页面排除iframe后剩下的底部高度;state:监听or移除监听;parentId: 父级id[不带默认就是铺满整个页面]];_this:指向当前实例(可忽略) const steerScroll = function (iframeId, navigation, footHeight, state, parentId, _this) { // iframeId: iframe的id;navigation:页面排除iframe后剩下的顶部高度;footHeight: 页面排除iframe后剩下的底部高度;state:监听or移除监听;parentId: 父级id[不带默认就是铺满整个页面]];_this:指向当前实例(可忽略)
let dom = window let dom = window;
if (parentId) { // 默认页面可以滚动 if (parentId) { // 默认页面可以滚动
dom = document.getElementById(parentId) dom = document.getElementById(parentId);
if (!dom) { if (!dom) {
return return;
} }
dom.style.overflow = 'auto' dom.style.overflow = 'auto';
} else { } else {
document.body.style.overflow = 'visible' document.body.style.overflow = 'visible';
} }
if (state) { if (state) {
window.addEventListener('message', function(e) { window.addEventListener('message', function (e) {
const data = e.data const data = e.data;
const sct = parentId ? dom.scrollTop : document && document.documentElement.scrollTop || document && document.body.scrollTop const sct = parentId ? dom.scrollTop : document && document.documentElement.scrollTop || document && document.body.scrollTop;
if (data && typeof data === 'object') { if (data && typeof data === 'object') {
// 动态设置iFrame高度 // 动态设置iFrame高度
if (data.height) { if (data.height) {
document.getElementById(iframeId).style.height = data.height + 'px' document.getElementById(iframeId).style.height = data.height + 'px';
scrolling(iframeId, navigation, footHeight, parentId) // 初始加载获取滚动条距离顶部高度 scrolling(iframeId, navigation, footHeight, parentId); // 初始加载获取滚动条距离顶部高度
} }
// 插件当前路由 // 插件当前路由
if (_this && data.currentPath) { if (_this && data.currentPath) {
_this.currentRoute = data _this.currentRoute = data;
_this.searchFlag = data.currentName.includes('search-') ? true : false _this.searchFlag = data.currentName.includes('search-') ? true : false;
} }
// 点击企业详情页 栏目名动态设置滚动高度 // 点击企业详情页 栏目名动态设置滚动高度
if (data.scrollHeight) { if (data.scrollHeight) {
const navHeight = navigation.isFixed && !parentId ? navigation.totalHeight - navigation.fixedHeight : !parentId ? navigation.totalHeight : 0 const navHeight = navigation.isFixed && !parentId ? navigation.totalHeight - navigation.fixedHeight : !parentId ? navigation.totalHeight : 0;
dom.scrollTo(sct, parseInt(data.scrollHeight) + navHeight) dom.scrollTo(sct, parseInt(data.scrollHeight) + navHeight);
} }
// 点击企业详情页 栏目下拉子标签动态设置滚动高度 // 点击企业详情页 栏目下拉子标签动态设置滚动高度
if (data.clientHeight) { if (data.clientHeight) {
dom.scrollTo(sct, sct - parseInt(data.clientHeight)) dom.scrollTo(sct, sct - parseInt(data.clientHeight));
} }
// 点击下拉子标签动态设置滚动高度 // 点击下拉子标签动态设置滚动高度
if (data.initHeight >= 0) { if (data.initHeight >= 0) {
dom.scrollTo(sct, data.initHeight) dom.scrollTo(sct, data.initHeight);
} }
// 根据子页面弹窗显示隐藏控制当前页面是否固定不可滚动 // 根据子页面弹窗显示隐藏控制当前页面是否固定不可滚动
if (data.scrollDisabled || data.scrollDisabled === false) { if (data.scrollDisabled || data.scrollDisabled === false) {
if (parentId) { if (parentId) {
dom.style.overflow = data.scrollDisabled ? 'hidden' : 'auto' dom.style.overflow = data.scrollDisabled ? 'hidden' : 'auto';
} else { } else {
document.body.style.overflow = data.scrollDisabled ? 'hidden' : 'visible' document.body.style.overflow = data.scrollDisabled ? 'hidden' : 'visible';
} }
} }
} }
}) });
dom.addEventListener('scroll', (event) => { dom.addEventListener('scroll', (event) => {
scrolling(iframeId, navigation, footHeight, parentId) scrolling(iframeId, navigation, footHeight, parentId);
}) });
} else { } else {
dom.removeEventListener('scroll', (event) => { dom.removeEventListener('scroll', (event) => {
scrolling(iframeId, navigation, footHeight, parentId) scrolling(iframeId, navigation, footHeight, parentId);
}) });
} }
} };
const scrolling = function(iframeId, navigation, footHeight, parentId) { const scrolling = function (iframeId, navigation, footHeight, parentId) {
// 滚动条距文档顶部的距离 // 滚动条距文档顶部的距离
let scrollTop = parentId ? document.getElementById(parentId).scrollTop : window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop let scrollTop = parentId ? document.getElementById(parentId).scrollTop : window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
// 将滚动距离传入子组件 // 将滚动距离传入子组件
const ifa = document.getElementById(iframeId) const ifa = document.getElementById(iframeId);
scrollTop = scrollTop + navigation.totalHeight scrollTop = scrollTop + navigation.totalHeight;
let rippleHeight = 0 //插件筛选条件浮动层距离底部距离 let rippleHeight = 0; //插件筛选条件浮动层距离底部距离
let scrollGap = parentId ? document.getElementById(parentId).scrollTop : window.scrollTop || document.body.scrollTop || document.documentElement.scrollTop let scrollGap = parentId ? document.getElementById(parentId).scrollTop : window.scrollTop || document.body.scrollTop || document.documentElement.scrollTop;
let scrollHeight = parentId ? document.getElementById(parentId).offsetHeight : window.scrollHeight || document.body.scrollHeight || document.documentElement.scrollHeight let scrollHeight = parentId ? document.getElementById(parentId).offsetHeight : window.scrollHeight || document.body.scrollHeight || document.documentElement.scrollHeight;
let domHeight = parentId ? document.getElementById(parentId).clientHeight : window.clientHeight || document.body.clientHeight || document.documentElement.clientHeight let domHeight = parentId ? document.getElementById(parentId).clientHeight : window.clientHeight || document.body.clientHeight || document.documentElement.clientHeight;
if(parentId){ //网页内部嵌套时 if (parentId) { //网页内部嵌套时
rippleHeight = scrollHeight-scrollGap-domHeight rippleHeight = scrollHeight - scrollGap - domHeight;
}else{ // } else { //
if(scrollHeight-scrollGap-domHeight <= footHeight){ if (scrollHeight - scrollGap - domHeight <= footHeight) {
rippleHeight = 0 rippleHeight = 0;
}else{ } else {
rippleHeight = scrollHeight-scrollGap-domHeight - footHeight rippleHeight = scrollHeight - scrollGap - domHeight - footHeight;
} }
} }
ifa.contentWindow.postMessage({ 'scrollTop': scrollTop, 'navHeight': navigation.totalHeight, 'rippleHeight': rippleHeight }, '*') ifa ? ifa.contentWindow.postMessage({ 'scrollTop': scrollTop, 'navHeight': navigation.totalHeight, 'rippleHeight': rippleHeight }, '*') : null;
} };
export { export {
steerScroll steerScroll
} };
.search-enter-active,
.search-leave-active {
width: 242px;
transition: width 0.5s;
}
.search-enter,
.search-leave-to {
width: 60px;
}
...@@ -228,9 +228,12 @@ ul, li { ...@@ -228,9 +228,12 @@ ul, li {
border-color: #D9D9D9; border-color: #D9D9D9;
color: #232323; color: #232323;
&::placeholder { &::placeholder {
color: rgba(35,35,35,0.5); color: rgba(35,35,35,0.4);
} }
} }
.el-input__inner::placeholder{
color: rgba(35,35,35,0.8) !important;
}
.el-select .el-input .el-select__caret{ .el-select .el-input .el-select__caret{
color: #232323; color: #232323;
} }
...@@ -250,7 +253,7 @@ ul, li { ...@@ -250,7 +253,7 @@ ul, li {
} }
.query-params { .query-params {
.form-content-width { .form-content-width {
width: 160px; //width: 160px;
} }
.el-form{ .el-form{
&.el-form--inline .el-form-item{ &.el-form--inline .el-form-item{
...@@ -336,7 +339,7 @@ ul, li { ...@@ -336,7 +339,7 @@ ul, li {
.el-table__header-wrapper{ .el-table__header-wrapper{
th{ th{
background: #F0F3FA; background: #F0F3FA;
text-align: left; // text-align: left;
} }
} }
.el-table__fixed-header-wrapper{ .el-table__fixed-header-wrapper{
...@@ -345,7 +348,10 @@ ul, li { ...@@ -345,7 +348,10 @@ ul, li {
} }
} }
.is-scrolling-left+.el-table__fixed,.is-scrolling-middle+.el-table__fixed,.is-scrolling-right+.el-table__fixed{ .is-scrolling-left+.el-table__fixed,.is-scrolling-middle+.el-table__fixed,.is-scrolling-right+.el-table__fixed{
box-shadow:none; //box-shadow:none;
//-webkit-box-shadow: 2px 0px 1px -2px #C3CBD5;
box-shadow: 2px 0 8px -7px #202020;
//border-right: 1px solid #C3CBD5;
height: auto !important; height: auto !important;
bottom: 16px !important; bottom: 16px !important;
} }
...@@ -625,7 +631,7 @@ ul, li { ...@@ -625,7 +631,7 @@ ul, li {
line-height: 32px; line-height: 32px;
} }
&:hover{ &:hover{
color: #f; color: #006AD1;
border-color: #006AD1; border-color: #006AD1;
} }
} }
...@@ -721,6 +727,29 @@ ul, li { ...@@ -721,6 +727,29 @@ ul, li {
} }
} }
} }
//无边框搜索框
.newSearch{
width: 238px;
height: 32px;
border-radius: 4px;
.el_input{
height: 32px !important;
}
.el-input__prefix{
left: 12px;
.el-input__icon{
img{
float: left;
margin-top: 7px;
}
}
}
.el-input__inner{
padding-left: 36px;
border-color: #fff !important;
height: 32px !important;
}
}
//导出EXCEL //导出EXCEL
.btn-export{ .btn-export{
display: inline-block; display: inline-block;
...@@ -766,3 +795,21 @@ ul, li { ...@@ -766,3 +795,21 @@ ul, li {
box-shadow: 4px 0 9px -5px rgba(0, 0, 0, 0.12); box-shadow: 4px 0 9px -5px rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 4px 0 9px -5px rgba(0, 0, 0, 0.12); -webkit-box-shadow: 4px 0 9px -5px rgba(0, 0, 0, 0.12);
} }
//下拉选项样式
.el-select-dropdown {
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
border: 0;
.el-select-dropdown__list {
padding: 0;
.el-select-dropdown__item {
padding: 0 16px;
}
}
}
.min1370{
min-width: 1370px;
}
...@@ -393,6 +393,9 @@ ...@@ -393,6 +393,9 @@
} }
} }
} }
a:hover, a:visited, a:link, a:active{
color: #0081FF;
}
} }
//弹出层样式 //弹出层样式
.popups{ .popups{
...@@ -836,19 +839,27 @@ ...@@ -836,19 +839,27 @@
} }
//资料文档、相关企业 //资料文档、相关企业
.searchbtns{ .searchbtns{
display: flex;
position: absolute; position: absolute;
right: 16px; left: 100px;
top: 17px; top: 17px;
width: calc(100% - 116px);
.searchInput, .el-select {
float: left;
}
.btn{
float: right;
}
.searchInput{ .searchInput{
position: relative;
&.small{ &.small{
border: 1px solid #d9d9d9; border: 1px solid #fff;
width: 240px; width: 240px;
.el-input{ .el-input{
width: 180px; //width: 180px;
} }
.el-input__inner{ .el-input__inner{
padding-right: 32px; //padding-right: 32px;
} }
.el-input__prefix{ .el-input__prefix{
left: 8px; left: 8px;
...@@ -868,19 +879,25 @@ ...@@ -868,19 +879,25 @@
border-radius: 2px; border-radius: 2px;
} }
.select{ .select{
width: 110px; width: 94px;
.el-input__inner{ .el-input__inner{
width: 110px; //width: 110px;
height: 32px; height: 32px;
background: #FFFFFF; background: #FFFFFF;
border-radius: 2px; border-radius: 4px;
border: 1px solid #D9D9D9; border: 0;
padding:5px 28px 5px 8px;
} }
.el-input--medium .el-input__icon{ .el-input--medium .el-input__icon{
line-height: 32px; line-height: 32px;
} }
margin-right: 10px; margin-right: 10px;
.is-focus{
.el-input__inner{
background: #F4F6F9;
}
}
} }
} }
.document{ .document{
...@@ -1273,3 +1290,6 @@ ...@@ -1273,3 +1290,6 @@
} }
} }
} }
.top12{
margin-top: 12px;
}
...@@ -441,14 +441,15 @@ select { ...@@ -441,14 +441,15 @@ select {
.toolbar-right-download { .toolbar-right-download {
padding: 6px 18px; padding: 6px 16px;
position: relative;
top: 1px;
margin: 0px; margin: 0px;
cursor: pointer; cursor: pointer;
font-weight: 400; font-weight: 400;
color: #232323; color: #232323;
background: #FFFFFF; background: #FFFFFF;
border-radius: 2px; border-radius: 2px;
border: 1px solid #D9D9D9;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
......
::v-deep .head-form-new {
margin-bottom: 8px;
.query-box {
.from-item {
display: flex;
align-items: center;
height: 32px;
}
// 下拉选择
.el-cascader,
.el-select {
max-width: unset !important;
//width: 64px;
padding: 0px 16px;
transition: width 0.3s;
box-sizing: border-box;
cursor: pointer;
.el-cascader__tags,
.el-select__tags {
flex-wrap: nowrap;
.el-tag:first-child {
width: auto;
}
}
.el-cascader__tags {
.el-tag {
max-width: unset !important;
}
}
.el-input {
display: flex;
align-items: center;
.el-input__inner {
padding: 0px;
border: none;
height: 30px;
line-height: 30px;
box-sizing: border-box;
&::placeholder {
color: rgba(35, 35, 35, 0.8) !important;
font-size: 14px !important;
}
}
& > .el-input__suffix {
margin-left: 8px;
position: unset;
.el-input__suffix-inner {
i {
font-size: 12px;
line-height: 30px;
width: auto;
color: rgba(35, 35, 35, 0.4);
}
}
}
}
// hover状态
&:hover {
background: #f4f6f9;
border-radius: 4px;
.el-input {
.el-input__inner {
background: #f4f6f9;
&::placeholder {
color: #232323 !important;
}
}
.el-input__suffix {
.el-input__suffix-inner {
i {
color: #232323;
}
}
}
}
}
}
// 自定义事件选择 金额选择
.custom-select {
height: 32px;
transition: width 0.3s;
cursor: pointer;
padding: 0px 16px;
.block {
& > .el-input {
display: flex;
align-items: center;
& > input {
padding: 0px;
border: none;
height: 30px;
line-height: 30px;
box-sizing: border-box;
cursor: pointer;
&::placeholder {
color: rgba(35, 35, 35, 0.8) !important;
font-size: 14px !important;
}
}
& > .el-input__suffix {
margin-left: 8px;
position: unset;
width: auto;
.el-input__suffix-inner {
span,
i {
font-size: 12px;
line-height: 30px;
width: auto;
color: rgba(35, 35, 35, 0.4);
}
}
}
}
}
.options-block {
.option {
&:hover {
color: #0381fa;
}
}
}
// hover状态
&:hover {
background: #f4f6f9;
border-radius: 4px;
.block {
& > .el-input {
.el-input__inner {
background: #f4f6f9;
&::placeholder {
color: #232323 !important;
}
}
& > .el-input__suffix {
.el-input__suffix-inner {
span,
i {
color: #232323;
}
}
}
}
}
}
}
// 时间选择器
.el-date-editor {
height: 32px;
line-height: 32px;
padding-right: 5px;
}
// 企业搜索框
.enterprise-search-container {
height: 32px;
line-height: 32px;
border-radius: 4px;
.el-input__inner {
height: 30px;
line-height: 30px;
}
& > span {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
height: 30px;
line-height: 30px;
}
&.span-ba {
& > span {
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
}
.el-input__suffix {
right: 0px;
.el-input__icon {
display: flex;
align-items: center;
}
}
}
}
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}"> <div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}">
<div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/> <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/>
<sidebar v-if="!sidebar.hide" class="sidebar-container" @handleBar="handleSideBar" id="sidebar"/> <sidebar v-if="!sidebar.hide" class="sidebar-container" @handleBar="handleSideBar" id="sidebar"/>
<div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide,EnterpriseData:$route.name=='Group',width1350:$route.name=='Radar',width1240:$route.name=='Overview'}" class="main-container"> <div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide,width1350:$route.name=='Radar'||$route.name=='Group',width1240:$route.name=='Overview'}" class="main-container">
<div :class="{'fixed-header':fixedHeader}" style="position: relative;z-index: 1000;"> <div :class="{'fixed-header':fixedHeader}" style="position: relative;z-index: 1000;">
<navbar :offsetWidth="offsetWidth"/> <navbar :offsetWidth="offsetWidth"/>
</div> </div>
...@@ -133,9 +133,6 @@ export default { ...@@ -133,9 +133,6 @@ export default {
.mobile .fixed-header { .mobile .fixed-header {
width: 100%; width: 100%;
} }
.EnterpriseData{
min-width: 1710px;
}
.width1350{ .width1350{
min-width: 1350px; min-width: 1350px;
} }
......
import Vue from 'vue' import Vue from 'vue';
import Cookies from 'js-cookie' import Cookies from 'js-cookie';
import Element from 'element-ui' import Element from 'element-ui';
import './assets/styles/element-variables.scss' import './assets/styles/element-variables.scss';
import '@/assets/styles/index.scss' // global css import "@/assets/styles/common.css";
import '@/assets/styles/ruoyi.scss' // ruoyi css import '@/assets/styles/index.scss'; // global css
import App from './App' import '@/assets/styles/ruoyi.scss'; // ruoyi css
import store from './store' import App from './App';
import router from './router' import store from './store';
import directive from './directive' // directive import router from './router';
import plugins from './plugins' // plugins import directive from './directive'; // directive
import { download } from '@/utils/request' import plugins from './plugins'; // plugins
import horizontalScroll from 'el-table-horizontal-scroll' import { download } from '@/utils/request';
import horizontalScroll from 'el-table-horizontal-scroll';
import './assets/icons' // icon import './assets/icons'; // icon
import './permission' // permission control import './permission'; // permission control
import { getDicts } from "@/api/system/dict/data"; import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config"; import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"; import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
// 分页组件 // 分页组件
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
// 自定义表格工具组件 // 自定义表格工具组件
import RightToolbar from "@/components/RightToolbar" import RightToolbar from "@/components/RightToolbar";
// 富文本组件 // 富文本组件
import Editor from "@/components/Editor" import Editor from "@/components/Editor";
// 文件上传组件 // 文件上传组件
import FileUpload from "@/components/FileUpload" import FileUpload from "@/components/FileUpload";
// 图片上传组件 // 图片上传组件
import ImageUpload from "@/components/ImageUpload" import ImageUpload from "@/components/ImageUpload";
// 图片预览组件 // 图片预览组件
import ImagePreview from "@/components/ImagePreview" import ImagePreview from "@/components/ImagePreview";
// 字典标签组件 // 字典标签组件
import DictTag from '@/components/DictTag' import DictTag from '@/components/DictTag';
// 头部标签组件 // 头部标签组件
import VueMeta from 'vue-meta' import VueMeta from 'vue-meta';
// 字典数据组件 // 字典数据组件
import DictData from '@/components/DictData' import DictData from '@/components/DictData';
// 全局方法挂载 // 全局方法挂载
Vue.prototype.getDicts = getDicts Vue.prototype.getDicts = getDicts;
Vue.prototype.getConfigKey = getConfigKey Vue.prototype.getConfigKey = getConfigKey;
Vue.prototype.parseTime = parseTime Vue.prototype.parseTime = parseTime;
Vue.prototype.resetForm = resetForm Vue.prototype.resetForm = resetForm;
Vue.prototype.addDateRange = addDateRange Vue.prototype.addDateRange = addDateRange;
Vue.prototype.selectDictLabel = selectDictLabel Vue.prototype.selectDictLabel = selectDictLabel;
Vue.prototype.selectDictLabels = selectDictLabels Vue.prototype.selectDictLabels = selectDictLabels;
Vue.prototype.download = download Vue.prototype.download = download;
Vue.prototype.handleTree = handleTree Vue.prototype.handleTree = handleTree;
// 全局组件挂载 // 全局组件挂载
Vue.component('DictTag', DictTag) Vue.component('DictTag', DictTag);
Vue.component('Pagination', Pagination) Vue.component('Pagination', Pagination);
Vue.component('RightToolbar', RightToolbar) Vue.component('RightToolbar', RightToolbar);
Vue.component('Editor', Editor) Vue.component('Editor', Editor);
Vue.component('FileUpload', FileUpload) Vue.component('FileUpload', FileUpload);
Vue.component('ImageUpload', ImageUpload) Vue.component('ImageUpload', ImageUpload);
Vue.component('ImagePreview', ImagePreview) Vue.component('ImagePreview', ImagePreview);
Vue.use(horizontalScroll) Vue.use(horizontalScroll);
Vue.use(directive) Vue.use(directive);
Vue.use(plugins) Vue.use(plugins);
Vue.use(VueMeta) Vue.use(VueMeta);
DictData.install() DictData.install();
/** /**
* If you don't want to use mock-server * If you don't want to use mock-server
...@@ -76,13 +77,13 @@ DictData.install() ...@@ -76,13 +77,13 @@ DictData.install()
Vue.use(Element, { Vue.use(Element, {
size: Cookies.get('size') || 'medium' // set element-ui default size size: Cookies.get('size') || 'medium' // set element-ui default size
}) });
Vue.config.productionTip = false Vue.config.productionTip = false;
new Vue({ new Vue({
el: '#app', el: '#app',
router, router,
store, store,
render: h => h(App) render: h => h(App)
}) });
...@@ -70,7 +70,7 @@ export const constantRoutes = [ ...@@ -70,7 +70,7 @@ export const constantRoutes = [
path: 'index', path: 'index',
component: () => import('@/views/index'), component: () => import('@/views/index'),
name: 'Index', name: 'Index',
meta: { title: '首页', icon: 'index',noCache: true } meta: { title: '首页', icon: 'index',noCache: false }
} }
] ]
}, },
...@@ -209,7 +209,7 @@ export const constantRoutes = [ ...@@ -209,7 +209,7 @@ export const constantRoutes = [
children: [ children: [
{ {
path: '/biddetail/:id(\\d+)', path: '/biddetail/:id(\\d+)',
component: () => import('@/views/detail//biddetail/index'), component: () => import('@/views/detail/biddetail/index'),
name: 'Biddetail', name: 'Biddetail',
meta: { title: '中标业绩详情',icon: 'enterprise'} meta: { title: '中标业绩详情',icon: 'enterprise'}
} }
......
This diff is collapsed.
...@@ -242,7 +242,11 @@ export default { ...@@ -242,7 +242,11 @@ export default {
width: 120px; width: 120px;
height: 34px; height: 34px;
position: relative; position: relative;
.rote {
.el-input__inner{
background: #F4F6F9;
}
}
.input-block { .input-block {
margin: 0; margin: 0;
width: 100%; width: 100%;
...@@ -256,6 +260,9 @@ export default { ...@@ -256,6 +260,9 @@ export default {
>.custom-money-input.el-input { >.custom-money-input.el-input {
width: 100%; width: 100%;
height: 100%; height: 100%;
.el-input__inner{
border: 0;
}
>input { >input {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -290,10 +297,9 @@ export default { ...@@ -290,10 +297,9 @@ export default {
font-size: 14px; font-size: 14px;
color: #666666; color: #666666;
background-color: #fff; background-color: #fff;
border: 1px solid #E4E7ED;
padding: 6px 0;
border-radius: 4px; border-radius: 4px;
z-index: 10; z-index: 10;
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
// .arrow { // .arrow {
......
...@@ -248,6 +248,11 @@ export default { ...@@ -248,6 +248,11 @@ export default {
width: 120px; width: 120px;
height: 34px; height: 34px;
.rote {
.el-input__inner{
background: #F4F6F9;
}
}
.input-block { .input-block {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -261,6 +266,9 @@ export default { ...@@ -261,6 +266,9 @@ export default {
>.custom-time-input.el-input { >.custom-time-input.el-input {
width: 100%; width: 100%;
height: 100%; height: 100%;
.el-input__inner{
border: 0;
}
>input { >input {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -295,10 +303,9 @@ export default { ...@@ -295,10 +303,9 @@ export default {
font-size: 14px; font-size: 14px;
color: #666666; color: #666666;
background-color: #fff; background-color: #fff;
border: 1px solid #E4E7ED;
padding: 6px 0;
border-radius: 4px; border-radius: 4px;
z-index: 10; z-index: 10;
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
.option { .option {
padding: 0 24px 0 16px; padding: 0 24px 0 16px;
......
...@@ -9,16 +9,17 @@ ...@@ -9,16 +9,17 @@
<div class="p2">建议调整关键词或筛选条件,重新搜索</div> <div class="p2">建议调整关键词或筛选条件,重新搜索</div>
</div> </div>
<div class="table_search"> <div class="table_search">
<div class="searchInput"> <div class="newSearch">
<el-input type="text" clearable v-model="searchParam.companyName" @change="clearname" placeholder="输入企业名称查询"></el-input> <el-input type="text" v-model="searchParam.companyName" clearable placeholder="输入企业名称查询" @change="clearname" >
<div class="btn" @click="handleCurrentChange(1)">搜索</div> <i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/sousuo.png" width="16px" @click="handleCurrentChange(1)"></i>
</el-input>
</div> </div>
<div class="dc"> <div class="dc">
<div class="total">{{tableData.total}}</div> <div class="total">{{tableData.total}}</div>
</div> </div>
</div> </div>
<skeleton v-if="isSkeleton"></skeleton> <skeleton v-if="isSkeleton"></skeleton>
<el-table v-if="!isSkeleton&&tableData.total > 0" class="fixed-table" v-horizontal-scroll="hover" max-height="640" <el-table v-if="!isSkeleton&&tableData.total > 0" class="fixed-table" v-horizontal-scroll="tableData.total > 10 ? 'hover' : 'false'" max-height="640"
:data="tableData.rows" :data="tableData.rows"
stripe border stripe border
style="width: 100%"> style="width: 100%">
......
...@@ -118,8 +118,8 @@ ...@@ -118,8 +118,8 @@
自定义 自定义
<el-date-picker <el-date-picker
ref="picker" ref="picker"
v-if="datatype ==3"
:default-value="defaultValue" :default-value="defaultValue"
style="position: absolute;opacity: 0;left: -12px;width: 60px;"
v-model="pickerValue" v-model="pickerValue"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
...@@ -507,10 +507,10 @@ ...@@ -507,10 +507,10 @@
} }
this.datatype=key; this.datatype=key;
if(value == '自定义') { if(value == '自定义') {
// this.$refs.picker && this.$refs.picker.length && this.$refs.picker[0].focus() this.$refs.picker && this.$refs.picker.length && this.$refs.picker[0].focus()
// this.$nextTick(() => { this.$nextTick(() => {
// this.$refs['picker-block'].appendChild(this.$refs.picker[0].popperElm) // this.$refs['picker-block'].appendChild(this.$refs.picker[0].popperElm)
// }) })
}else { }else {
this.pickerValue = [] this.pickerValue = []
let timeStr = [] let timeStr = []
...@@ -601,7 +601,7 @@ ...@@ -601,7 +601,7 @@
padding: 16px; padding: 16px;
background: #ffffff; background: #ffffff;
height: 152px; height: 152px;
margin-bottom: 22px; margin-bottom: 12px;
.item{ .item{
display: flex; display: flex;
.icons{ .icons{
...@@ -680,6 +680,9 @@ ...@@ -680,6 +680,9 @@
.el-input-group__append{ .el-input-group__append{
background: #F5F5F5; background: #F5F5F5;
color: #0081FF; color: #0081FF;
padding: 0;
width: 70px;
text-align: center;
} }
.el-input__inner:focus{ .el-input__inner:focus{
border-color: #3181fa; border-color: #3181fa;
...@@ -856,8 +859,8 @@ ...@@ -856,8 +859,8 @@
.time-label{ .time-label{
.labels{ .labels{
width: 240px; width: 240px;
height: 32px; height: 30px;
line-height: 32px; line-height: 30px;
border-radius: 4px; border-radius: 4px;
>div{ >div{
height: 100%; height: 100%;
...@@ -885,12 +888,7 @@ ...@@ -885,12 +888,7 @@
} }
} }
} }
::v-deep .el-date-editor{
width: 320px;
position: absolute;
right: 250px;
height: 32px;
}
::v-deep .picker-block { ::v-deep .picker-block {
position: relative; position: relative;
...@@ -901,6 +899,14 @@ ...@@ -901,6 +899,14 @@
visibility:hidden; visibility:hidden;
clear:both; clear:both;
} }
.el-picker-panel.el-date-range-picker.el-popper {
left: -650px !important;
}
.popper__arrow {
left: 30px !important;
}
} }
} }
} }
......
<template> <template>
<div class="members"> <div class="members">
<head-form <head-form-new
ref="headForm"
title="集团成员" title="集团成员"
:form-data="formData" :form-data="formData"
:query-params="queryParams" :query-params="queryParams"
...@@ -44,7 +45,7 @@ ...@@ -44,7 +45,7 @@
</div> </div>
</div> </div>
</template> </template>
</head-form> </head-form-new>
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton> <skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<tables <tables
v-if="!isSkeleton" v-if="!isSkeleton"
...@@ -101,12 +102,12 @@ ...@@ -101,12 +102,12 @@
{label: '企业地区', prop: 'address', minWidth: '200'}, {label: '企业地区', prop: 'address', minWidth: '200'},
], ],
formData: [ formData: [
{ type: 4, fieldName: 'combineMemberLevels', value: '', placeholder: '成员层级', options:[]}, { type: 4, fieldName: 'combineMemberLevels', value: '', placeholder: '成员层级', options:[], uid: this.getUid()},
{ type: 1, fieldName: 'businessType', value: '', placeholder: '主营业务', options:[]}, { type: 1, fieldName: 'businessType', value: '', placeholder: '主营业务', options:[], uid: this.getUid()},
{ type: 7, fieldName: 'province', value: '',props: {multiple: true,value: 'id',expandTrigger: 'hover'}, placeholder: '地区', options:[]}, { type: 7, fieldName: 'province', value: '',props: {multiple: true,value: 'id',expandTrigger: 'hover'}, placeholder: '地区', options:[], uid: this.getUid()},
{ type: 6, fieldName: 'money', value: '', placeholder: '注册资本', startMoney: 'minAmount', endMoney: 'maxAmount',moneyList:[] }, { type: 6, fieldName: 'money', value: '', placeholder: '注册资本', startMoney: 'minAmount', endMoney: 'maxAmount',moneyList:[], uid: this.getUid() },
{ type: 0, fieldName: 'penalizeReasonType', value: '', placeholder: '筛选', options: []}, { type: 0, fieldName: 'penalizeReasonType', value: '', placeholder: '筛选', options: [], uid: this.getUid()},
{ type: 3, fieldName: 'searchValue', value: '', placeholder: '输入关键词查询'}, { type: 3, fieldName: 'searchValue', value: '', placeholder: '输入关键词查询', uid: this.getUid()},
], ],
cycj:[ cycj:[
{ {
...@@ -395,9 +396,6 @@ ...@@ -395,9 +396,6 @@
provinceIds.length>0?params.provinceIds = provinceIds:'' provinceIds.length>0?params.provinceIds = provinceIds:''
cityIds.length>0?params.cityIds = cityIds:'' cityIds.length>0?params.cityIds = cityIds:''
districtIds.length>0?params.districtIds = districtIds:'' districtIds.length>0?params.districtIds = districtIds:''
// provinceIds.length>0?this.queryParams.provinceIds = provinceIds:''
// cityIds.length>0?this.queryParams.cityIds = cityIds:''
// districtIds.length>0?this.queryParams.districtIds = districtIds:''
} }
return params return params
}, },
...@@ -450,8 +448,8 @@ ...@@ -450,8 +448,8 @@
.search-box { .search-box {
display: inline-block; display: inline-block;
border-radius: 4px; border-radius: 4px;
border: 1px solid #D9D9D9; /*border: 1px solid #D9D9D9;*/
width: 82px; width: 70px;
/*cursor: pointer;*/ /*cursor: pointer;*/
position: relative; position: relative;
.search-box-t { .search-box-t {
...@@ -461,7 +459,7 @@ ...@@ -461,7 +459,7 @@
color: #999999; color: #999999;
margin-right: 8px; margin-right: 8px;
text-align: center; text-align: center;
width: 82px; width: 70px;
display: inline-block; display: inline-block;
cursor: pointer; cursor: pointer;
i { i {
...@@ -479,7 +477,7 @@ ...@@ -479,7 +477,7 @@
background: #ffffff; background: #ffffff;
box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.1); box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.1);
border-radius: 4px; border-radius: 4px;
width: 640px; width: 500px;
//height: 337px; //height: 337px;
padding: 16px; padding: 16px;
position: absolute; position: absolute;
...@@ -501,7 +499,7 @@ ...@@ -501,7 +499,7 @@
} }
.item_ckquery{ .item_ckquery{
position: relative; position: relative;
width: 520px; width: 400px;
/*float: left;*/ /*float: left;*/
/*flex: 1;*/ /*flex: 1;*/
span{ span{
...@@ -551,5 +549,6 @@ ...@@ -551,5 +549,6 @@
font-size: 14px; font-size: 14px;
color:#232323 !important; color:#232323 !important;
} }
@import "@/assets/styles/search-common.scss";
} }
</style> </style>
...@@ -12,7 +12,16 @@ ...@@ -12,7 +12,16 @@
<!--certificateList--> <!--certificateList-->
<div class="item_ckquery" :style="height?'height:'+height+'':'height: 60px'"> <div class="item_ckquery" :style="height?'height:'+height+'':'height: 60px'">
<template v-for="(item,index) in certificateList"> <template v-for="(item,index) in certificateList">
<span :class="{'color_text':queryParams.qualificationType === item.qualificationType}" @click="changeType(item.qualificationType)">{{item.qualificationName}}{{item.companyCount}}</span> <el-tooltip popper-class="certificateTips" placement="bottom" effect="light" :disabled="isShowTooltip" :key="index">
<span class="span" @mouseover="onMouseOver('isOverflow'+index)" :class="{'color_text':queryParams.qualificationType === item.qualificationType}">
<span :ref="`isOverflow`+index" @click="changeType(item.qualificationType)">
{{item.qualificationName}}{{item.companyCount}}
</span>
</span>
<span slot="content" :class="{'color_text':queryParams.qualificationType === item.qualificationType}">
{{item.qualificationName}}{{item.companyCount}}
</span>
</el-tooltip>
</template> </template>
</div> </div>
<el-divider v-if="certificateList.length > 10 && !height" @click="moreClick()">更多<span></span></el-divider> <el-divider v-if="certificateList.length > 10 && !height" @click="moreClick()">更多<span></span></el-divider>
...@@ -77,13 +86,20 @@ ...@@ -77,13 +86,20 @@
title:'', title:'',
rowData:'', rowData:'',
certificateList:[], certificateList:[],
height:'' height:'',
isShowTooltip: false
} }
}, },
created() { created() {
this.getCertificateList() this.getCertificateList()
}, },
methods: { methods: {
onMouseOver (str) { // 内容超出,显示文字提示内容
const tag = this.$refs[str]
const parentWidth = tag[0].parentNode.offsetWidth // 获取元素父级可视宽度
const contentWidth = tag[0].offsetWidth // 获取元素可视宽度
this.isShowTooltip = contentWidth <= parentWidth
},
handleQuery(params){ handleQuery(params){
this.isSkeleton = true this.isSkeleton = true
let data = params ? params : this.queryParams; let data = params ? params : this.queryParams;
...@@ -129,7 +145,22 @@ ...@@ -129,7 +145,22 @@
} }
} }
</script> </script>
<style lang="scss">
.certificateTips.is-light{
/*padding: 12px;*/
/*width: 318px;*/
/*box-sizing: border-box;*/
/*font-size: 14px;*/
/*line-height: 20px;*/
color: #333333;
border-color: rgba(0, 0, 0, 0.08);
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.08);
.popper__arrow {
border-bottom-color: rgba(0, 0, 0, 0.08) !important;
border-top-color: rgba(0, 0, 0, 0.08) !important;
}
}
</style>
<style lang="scss" scoped> <style lang="scss" scoped>
.qualifications{ .qualifications{
background: #ffffff; background: #ffffff;
...@@ -145,16 +176,25 @@ ...@@ -145,16 +176,25 @@
position: relative; position: relative;
margin-bottom: 10px; margin-bottom: 10px;
overflow: hidden; overflow: hidden;
span{ .span{
color: #232323; color: #232323;
padding: 3px 10px;
margin-bottom: 4px; margin-bottom: 4px;
height: 25px;
line-height: 25px;
display: inline-block; display: inline-block;
font-size: 14px; font-size: 14px;
cursor: pointer; cursor: pointer;
width: 20%; width: 19%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
span{
padding: 0 10px;
/*display: inline-block;*/
/*padding-right: 20px;*/
}
} }
span:hover{ .span:hover{
background: #F3F4F5; background: #F3F4F5;
border-radius: 4px; border-radius: 4px;
color:#0081FF; color:#0081FF;
......
...@@ -115,6 +115,9 @@ ...@@ -115,6 +115,9 @@
top:0; top:0;
z-index: 9; z-index: 9;
} }
#groupBox{
height: 100%;
}
} }
.part-header{ .part-header{
font-size: 16px; font-size: 16px;
......
...@@ -226,10 +226,19 @@ export default { ...@@ -226,10 +226,19 @@ export default {
<style lang="scss"> <style lang="scss">
.custom-money-select { .custom-money-select {
width: 120px; /*width: 120px;*/
width: auto;
height: 34px; height: 34px;
position: relative; position: relative;
.el-input__inner{
width: 100px !important;
}
.rote {
background: #F4F6F9;
.el-input__inner{
background: #F4F6F9;
}
}
.input-block { .input-block {
margin: 0; margin: 0;
width: 100%; width: 100%;
...@@ -243,6 +252,9 @@ export default { ...@@ -243,6 +252,9 @@ export default {
>.custom-money-input.el-input { >.custom-money-input.el-input {
width: 100%; width: 100%;
height: 100%; height: 100%;
.el-input__inner{
border: 0;
}
>input { >input {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -277,10 +289,10 @@ export default { ...@@ -277,10 +289,10 @@ export default {
font-size: 14px; font-size: 14px;
color: #666666; color: #666666;
background-color: #fff; background-color: #fff;
border: 1px solid #E4E7ED; /*padding: 6px 0;*/
padding: 6px 0;
border-radius: 4px; border-radius: 4px;
z-index: 10; z-index: 10;
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
// .arrow { // .arrow {
......
...@@ -238,9 +238,15 @@ export default { ...@@ -238,9 +238,15 @@ export default {
<style lang="scss"> <style lang="scss">
.custom-time-select { .custom-time-select {
width: 120px; /*width: 120px;*/
width: auto;
height: 34px; height: 34px;
.rote {
.el-input__inner{
background: #F4F6F9;
}
}
.input-block { .input-block {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -254,13 +260,16 @@ export default { ...@@ -254,13 +260,16 @@ export default {
>.custom-time-input.el-input { >.custom-time-input.el-input {
width: 100%; width: 100%;
height: 100%; height: 100%;
.el-input__inner{
border: 0;
}
>input { >input {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
border-radius: 2px; border-radius: 4px;
} }
} }
} }
...@@ -283,15 +292,15 @@ export default { ...@@ -283,15 +292,15 @@ export default {
.options-block { .options-block {
position: absolute; position: absolute;
margin-top: 12px; margin-top: 6px;
min-width: 120px; min-width: 120px;
font-size: 14px; font-size: 14px;
color: #666666; color: #666666;
background-color: #fff; background-color: #fff;
border: 1px solid #E4E7ED;
padding: 6px 0;
border-radius: 4px; border-radius: 4px;
z-index: 10; z-index: 10;
overflow: hidden;
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
.option { .option {
padding: 0 24px 0 16px; padding: 0 24px 0 16px;
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<el-breadcrumb-item>{{companyInfo.simpleName || companyInfo.companyName || '&#45;&#45;'}}</el-breadcrumb-item> <el-breadcrumb-item>{{companyInfo.simpleName || companyInfo.companyName || '&#45;&#45;'}}</el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
</div>--> </div>-->
<div class="flex-box part-header"> <div class="flex-box part-header" style="min-width:1248px;">
<img class="header-logo" :src="companyInfo && companyInfo.logoUrl || require('@/assets/images/detail/company_logo.png')"> <img class="header-logo" :src="companyInfo && companyInfo.logoUrl || require('@/assets/images/detail/company_logo.png')">
{{companyInfo && companyInfo.companyName || '--'}} {{companyInfo && companyInfo.companyName || '--'}}
</div> </div>
......
...@@ -160,7 +160,7 @@ export default { ...@@ -160,7 +160,7 @@ export default {
this.$emit('sort-change',e) this.$emit('sort-change',e)
}, },
flexWidth(tableData) { flexWidth(tableData) {
let currentMax = this.queryParams.pageNum*this.queryParams.pageSize - this.queryParams.pageSize + tableData.length, wdth = 55 let currentMax = this.queryParams.pageNum*this.queryParams.pageSize - this.queryParams.pageSize + tableData.length, wdth = 59
// return currentMax.toString().length*25 + 'px' // return currentMax.toString().length*25 + 'px'
if(currentMax.toString().length>3){ if(currentMax.toString().length>3){
wdth = wdth + (currentMax.toString().length-3)*10 wdth = wdth + (currentMax.toString().length-3)*10
......
...@@ -158,9 +158,9 @@ export default { ...@@ -158,9 +158,9 @@ export default {
{label: '项目状态', prop: 'status', width: '90', slot: true} {label: '项目状态', prop: 'status', width: '90', slot: true}
], ],
formData: [ formData: [
{ type: 1, fieldName: 'projectStage', value: '', placeholder: '项目阶段', options: []}, { type: 1, fieldName: 'projectStage',width:'94', value: '', placeholder: '项目阶段', options: []},
{ type: 1, fieldName: 'status', value: '', placeholder: '项目状态', options: []}, { type: 1, fieldName: 'status', width:'94',value: '', placeholder: '项目状态', options: []},
{ type: 3, fieldName: 'projectName', width:'200', value: '', placeholder: '输入项目名称关键字搜索'}, { type: 3, fieldName: 'projectName', width:'240', value: '', placeholder: '输入项目名称关键字搜索'},
], ],
stageOptions:[], stageOptions:[],
statusOptions:[], statusOptions:[],
......
import {encodeStr} from "@/assets/js/common" import {encodeStr} from "@/assets/js/common"
import HeadForm from "../component/HeadForm" import HeadForm from "../component/HeadForm"
import HeadFormNew from "../component/HeadFormNew"
import Tables from "../component/Tables" import Tables from "../component/Tables"
import skeleton from '@/views/project/projectList/component/skeleton' import skeleton from '@/views/project/projectList/component/skeleton'
import { v4 } from "uuid";
export default { export default {
components: { components: {
HeadForm, HeadForm,
Tables, Tables,
skeleton skeleton,
HeadFormNew
}, },
data() { data() {
return { return {
...@@ -18,6 +21,12 @@ export default { ...@@ -18,6 +21,12 @@ export default {
}, },
methods: { methods: {
check(){
this.$parent.handleClick('second');
},
getUid() {
return v4();
},
// 设置下拉选项数据源 // 设置下拉选项数据源
setFormData(fieldName, list) { setFormData(fieldName, list) {
this.formData.forEach(item => { this.formData.forEach(item => {
......
...@@ -21,8 +21,9 @@ ...@@ -21,8 +21,9 @@
iframeHight: window.innerHeight, // iframe高度-当前页控制 iframeHight: window.innerHeight, // iframe高度-当前页控制
navigation: {isFixed: true, fixedHeight: 56, totalHeight: 68}, // iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度 navigation: {isFixed: true, fixedHeight: 56, totalHeight: 68}, // iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度
src: '', //iframe嵌套页面地址 src: '', //iframe嵌套页面地址
domain: 'https://plug.jiansheku.com', // 插件地址 domain: 'https://plug.jiansheku.com', // 线上-插件地址
// domain: 'http://192.168.60.19:3400', // domain: 'https://pre-plug.jiansheku.com', // 测试-插件地址
// domain: 'http://192.168.60.104:3400',
// domain: 'http://192.168.60.30:3300', // domain: 'http://192.168.60.30:3300',
ak: 'aec7b3ff2y2q8x6t49a7e2c463ce21912', // 需要携带的sdkId ak: 'aec7b3ff2y2q8x6t49a7e2c463ce21912', // 需要携带的sdkId
uid: this.$store.state.user.userId, // 需要携带的uid uid: this.$store.state.user.userId, // 需要携带的uid
...@@ -31,6 +32,11 @@ ...@@ -31,6 +32,11 @@
} }
}, },
created() { created() {
if(window.location.host === 'http://szh.jiansheku.com' || window.location.host === 'szh.jiansheku.com'){
this.domain='https://plug.jiansheku.com'
}else {
this.domain='https://pre-plug.jiansheku.com'
}
this.gettokens() this.gettokens()
}, },
mounted() { mounted() {
......
This diff is collapsed.
...@@ -256,6 +256,11 @@ export default { ...@@ -256,6 +256,11 @@ export default {
width: 120px; width: 120px;
height: 34px; height: 34px;
.rote {
.el-input__inner{
background: #F4F6F9;
}
}
.input-block { .input-block {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -269,6 +274,9 @@ export default { ...@@ -269,6 +274,9 @@ export default {
>.custom-time-input.el-input { >.custom-time-input.el-input {
width: 100%; width: 100%;
height: 100%; height: 100%;
.el-input__inner{
border: 0;
}
>input { >input {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -303,10 +311,9 @@ export default { ...@@ -303,10 +311,9 @@ export default {
font-size: 14px; font-size: 14px;
color: #666666; color: #666666;
background-color: #fff; background-color: #fff;
border: 1px solid #E4E7ED;
padding: 6px 0;
border-radius: 4px; border-radius: 4px;
z-index: 10; z-index: 10;
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
.option { .option {
padding: 0 24px 0 16px; padding: 0 24px 0 16px;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="regionalEconomy"> <div class="regionalEconomy">
<div class="flex-box query-box"> <div class="flex-box query-box">
<div class="flex-box query-params"> <div class="flex-box query-params">
<span class="common-title">指标</span> <!--<span class="common-title">指标</span>-->
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item prop="year"> <el-form-item prop="year">
<el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择"> <el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择">
...@@ -649,16 +649,21 @@ export default { ...@@ -649,16 +649,21 @@ export default {
margin-top: 12px; margin-top: 12px;
border-radius: 4px; border-radius: 4px;
.el-form{ .el-form{
margin-left: 20px; /*margin-left: 20px;*/
.el-form-item{ .el-form-item{
margin: 0 !important; margin: 0 !important;
.form-content-width{ .form-content-width{
width: 110px; width: 110px;
} }
::v-deep .el-input{
.el-input__inner{
border: 0;
}
}
} }
} }
.table-item{ .table-item{
margin-top: 22px; margin-top: 16px;
position: relative; position: relative;
::v-deep .el-table{ ::v-deep .el-table{
.el-table__body{ .el-table__body{
......
This diff is collapsed.
This diff is collapsed.
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