Commit 140d4633 authored by tianhongyang's avatar tianhongyang

Merge branch 'V20230915' of http://192.168.60.201/root/dsk-operate-sys into V20230915

parents dd64481b 6922af6c
...@@ -4,6 +4,7 @@ package com.dsk.jsk.controller; ...@@ -4,6 +4,7 @@ package com.dsk.jsk.controller;
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.jsk.domain.*; import com.dsk.jsk.domain.*;
import com.dsk.jsk.domain.bo.EnterpriseProjectImportantListDto;
import com.dsk.jsk.service.EnterpriseProjectService; import com.dsk.jsk.service.EnterpriseProjectService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -163,4 +164,12 @@ public class EnterpriseProjectController { ...@@ -163,4 +164,12 @@ public class EnterpriseProjectController {
return enterpriseProjectService.projectProcess(body); return enterpriseProjectService.projectProcess(body);
} }
/**
* 企业重点项目列表
*/
@RequestMapping(value = "/importantList", method = RequestMethod.POST)
public TableDataInfo importantList(@RequestBody EnterpriseProjectImportantListDto dto) throws Exception {
return enterpriseProjectService.importantList(dto);
}
} }
package com.dsk.jsk.domain.bo;
import com.dsk.jsk.domain.BasePage;
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 EnterpriseProjectImportantListDto extends BasePage {
private Integer companyId;
private String keys;
private String projectLevel;
private String projectType;
}
package com.dsk.jsk.service; package com.dsk.jsk.service;
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;
...@@ -7,6 +8,7 @@ import com.dsk.common.core.domain.R; ...@@ -7,6 +8,7 @@ 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 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;
...@@ -217,4 +219,10 @@ public class EnterpriseProjectService { ...@@ -217,4 +219,10 @@ public class EnterpriseProjectService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/recruitmentMarket/projectProcess", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/recruitmentMarket/projectProcess", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo importantList(EnterpriseProjectImportantListDto dto) throws Exception{
if(ObjectUtil.isEmpty(dto.getCompanyId())) throw new BeanException("企业id不能为空!");
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/importantList", BeanUtil.beanToMap(dto, false, false));
return dskOpenApiUtil.responsePage(map);
}
} }
...@@ -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);
}
} }
...@@ -4,11 +4,17 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,11 +4,17 @@ import cn.hutool.core.bean.BeanUtil;
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 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;
...@@ -28,6 +34,9 @@ public class BusinessOpportunityRadarService { ...@@ -28,6 +34,9 @@ public class BusinessOpportunityRadarService {
@Autowired @Autowired
private DskOpenApiUtil dskOpenApiUtil; private DskOpenApiUtil dskOpenApiUtil;
@Autowired
ICustomerService iCustomerService;
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 +77,53 @@ public class BusinessOpportunityRadarService { ...@@ -68,6 +77,53 @@ 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<>();
ArrayList<Long> cIds = new ArrayList<>();
for (Object dataMap : list) {
String name = MapUtils.getString(CommonUtils.assertAsMap(dataMap), "companyName");
if (ObjectUtil.isNotEmpty(name) && name.contains("font")) {
name = name.replaceAll("<font color='red'>", "");
name = name.replaceAll("</font>", "");
companyNames.add(name);
} else {
companyNames.add(name);
}
cIds.add(MapUtils.getLong(CommonUtils.assertAsMap(dataMap), "companyId"));
}
List<CustomerStatusListVo> claimStatusList = iCustomerService.selectStatusListByCompanyName(companyNames);
for (Object enterprise : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(enterprise);
String companyName = MapUtils.getString(companyMap, "companyName", "");
if (ObjectUtil.isNotEmpty(companyName) && companyName.contains("font")) {
companyName = companyName.replace("<font color='red'>", "");
companyName = companyName.replace("</font>", "");
}
companyMap.put("claimStatus", null);
for (CustomerStatusListVo vo : claimStatusList) {
if (companyName.equals(vo.getCompanyName())) {
companyMap.put("claimStatus", vo.getStatus());
}
}
}
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);
......
...@@ -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, "companyId");
String companyName = MapUtils.getString(res, "companyName");
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, "tendereeId");
String companyName = MapUtils.getString(res, "tenderee");
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);
}
} }
...@@ -345,7 +345,10 @@ ul, li { ...@@ -345,7 +345,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;
} }
...@@ -721,6 +724,29 @@ ul, li { ...@@ -721,6 +724,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 +792,21 @@ ul, li { ...@@ -766,3 +792,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;
}
...@@ -836,19 +836,27 @@ ...@@ -836,19 +836,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 +876,25 @@ ...@@ -868,19 +876,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 +1287,6 @@ ...@@ -1273,3 +1287,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;
......
...@@ -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;
} }
......
...@@ -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;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<span> / 客户列表</span> <span> / 客户列表</span>
</div> </div>
<div class="app-container"> <div class="app-container">
<el-card class="box-card noborder"> <el-card class="box-card noborder min1370">
<div class="tables "> <div class="tables ">
<div class="empty" v-if="tableData.total==0 && !isSkeleton"> <div class="empty" v-if="tableData.total==0 && !isSkeleton">
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
...@@ -18,10 +18,11 @@ ...@@ -18,10 +18,11 @@
<div> <div>
<el-form ref="queryForm" :model="searchParam" :inline="true" size="small"> <el-form ref="queryForm" :model="searchParam" :inline="true" size="small">
<el-form-item prop="companyName"> <el-form-item prop="companyName">
<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>
</div> </el-input>
</div>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-cascader <el-cascader
...@@ -839,8 +840,5 @@ ...@@ -839,8 +840,5 @@
} }
.searchInput{ .searchInput{
width: 240px; width: 240px;
.el-input{
/*width: 260px;*/
}
} }
</style> </style>
...@@ -9,9 +9,10 @@ ...@@ -9,9 +9,10 @@
<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>
......
...@@ -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;
......
...@@ -395,9 +395,6 @@ ...@@ -395,9 +395,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 +447,8 @@ ...@@ -450,8 +447,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 +458,7 @@ ...@@ -461,7 +458,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 +476,7 @@ ...@@ -479,7 +476,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 +498,7 @@ ...@@ -501,7 +498,7 @@
} }
.item_ckquery{ .item_ckquery{
position: relative; position: relative;
width: 520px; width: 400px;
/*float: left;*/ /*float: left;*/
/*flex: 1;*/ /*flex: 1;*/
span{ span{
......
...@@ -90,7 +90,8 @@ ...@@ -90,7 +90,8 @@
{ type: 4, fieldName: 'boundTypes', value: '', placeholder: '业绩类型', options: [],width:150}, { type: 4, fieldName: 'boundTypes', value: '', placeholder: '业绩类型', options: [],width:150},
{ type: 4, fieldName: 'projectTypes', value: '', placeholder: '项目类型', options: [],width:150}, { type: 4, fieldName: 'projectTypes', value: '', placeholder: '项目类型', options: [],width:150},
{ type: 1, fieldName: 'cgbl', value: '', placeholder: '持股比例', options: [],width:100}, { type: 1, fieldName: 'cgbl', value: '', placeholder: '持股比例', options: [],width:100},
{ type: 3, fieldName: 'searchValue', value: '', placeholder: '搜索中标成员名称/项目名称'}, // { type: 3, fieldName: 'searchValue', value: '', placeholder: '搜索中标成员名称/项目名称'},
{ type: 3, fieldName: 'searchValue', value: '', placeholder: '查询'},
], ],
tableData:[], tableData:[],
tableDataTotal:0, tableDataTotal:0,
......
<template>
<div class="performance">
<div class="content">
<head-form
title="集团施工项目最新招标"
:form-data="formData"
:query-params="queryParams"
:slots="true"
:isExcel="false"
></head-form>
</div>
<div class="content">
<head-form
title="集团年度发包统计"
:slots="true"
:isExcel="false"
></head-form>
</div>
<div class="content">
<head-form
title="集团施工项目发包金额区间"
:slots="true"
:isExcel="false"
></head-form>
</div>
<div class="content">
<head-form
title="集团施工项目发包类型统计"
:slots="true"
:isExcel="false"
></head-form>
</div>
<div class="content">
<head-form
title="施工项目下浮率统计"
:slots="true"
:isExcel="false"
></head-form>
</div>
<div class="content">
<head-form
title="历史发包项目金额TOP10"
:form-data="formData"
:query-params="queryParams1"
:slots="true"
:isExcel="false"
></head-form>
</div>
</div>
</template>
<script>
import mixin from '../../party-a/mixins/mixin'
import { getDictType } from '@/api/main'
export default {
name: 'qualifications',
props: ['customerId','combineName'],
mixins: [mixin],
components:{},
data(){
return{
queryParams: {},
queryParams1: {},
forData: [
{label: '项目类型', prop: 'projectType',minWidth: '80',slot: true},
{label: '持股比例', prop: 'stockPercent',slot: true,minWidth: '80'},
],
formData: [
{ type: 4, fieldName: 'projectTypes', value: '', placeholder: '项目类型', options: [],width:150},
{ type: 1, fieldName: 'cgbl', value: '', placeholder: '持股比例', options: [],width:110},
],
cgblList: [
{name:'100%',value:'100%'},
{name:'50%以上',value:'50%以上'},
{name:'20%以上',value:'20%以上'},
{name:'5%以上',value:'5%以上'},
{name:'1%-5%',value:'1%-5%'},
],
}
},
created() {
this.formData[1].options=this.cgblList;
//项目类型
getDictType('project_type_new').then(result=>{
let data = result.code == 200 ? result.data:[];
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[0].options.push({
name: data[i].dictLabel,
value: data[i].dictValue,
})
}
}
})
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.performance{
height: calc(100% - 64px);
.content{
background: #ffffff;
border-radius: 4px;
padding: 16px;
margin-bottom: 16px;
}
}
</style>
...@@ -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;
......
...@@ -229,7 +229,15 @@ export default { ...@@ -229,7 +229,15 @@ export default {
width: 120px; width: 120px;
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 +251,9 @@ export default { ...@@ -243,6 +251,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 +288,10 @@ export default { ...@@ -277,10 +288,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 {
......
...@@ -241,6 +241,11 @@ export default { ...@@ -241,6 +241,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%;
...@@ -254,13 +259,16 @@ export default { ...@@ -254,13 +259,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 +291,15 @@ export default { ...@@ -283,15 +291,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>
......
...@@ -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:[],
......
...@@ -40,17 +40,17 @@ export default { ...@@ -40,17 +40,17 @@ export default {
}, },
defaultSort: { prop: 'issueTime', order: 'descending' }, defaultSort: { prop: 'issueTime', order: 'descending' },
forData: [ forData: [
{ label: '项目名称', prop: 'projectName', minWidth: '300', slot: true }, {label: '项目名称', prop: 'projectName', minWidth: '300', slot: true, fixed: true},
{ label: '发布日期', prop: 'issueTime', sortable: 'custom', descending: '3', ascending: '4', width: '120' }, {label: '发布日期', prop: 'issueTime', sortable: 'custom', descending: '3', ascending: '4', width: '120'},
{ label: '预算金额(万元)', prop: 'projectAmount', sortable: 'custom', descending: '1', ascending: '2', width: '140' }, {label: '预算金额(万元)', prop: 'projectAmount', sortable: 'custom', descending: '1', ascending: '2', width: '140'},
{ label: '项目地区', prop: 'province', width: '120', slot: true }, {label: '项目地区', prop: 'province', width: '120', slot: true},
{ label: '项目类别', prop: 'tenderStage', width: '90' }, {label: '招标阶段', prop: 'tenderStage', width: '90'},
{ label: '招采单位联系人', prop: 'contact', width: '120' }, {label: '招采单位联系人', prop: 'contact', width: '120'},
{ label: '招采单位联系方式', prop: 'contactTel', width: '130' }, {label: '招采单位联系方式', prop: 'contactTel', width: '130'},
{ label: '代理单位', prop: 'agency', minWidth: '170' }, {label: '代理单位', prop: 'agency', minWidth: '170'},
{ label: '代理单位联系人', prop: 'agencyContact', width: '120' }, {label: '代理单位联系人', prop: 'agencyContact', width: '120'},
{ label: '代理单位联系方式', prop: 'agencyContactTel', width: '130' }, {label: '代理单位联系方式', prop: 'agencyContactTel', width: '130'},
{ label: '报名截止日期', prop: 'overTime', width: '110' } {label: '报名截止日期', prop: 'overTime', width: '110'}
], ],
formData: [ formData: [
{ type: 7, fieldName: 'province', value: '', props: { multiple: true }, placeholder: '项目地区', options: [], uid: this.getUid() }, { type: 7, fieldName: 'province', value: '', props: { multiple: true }, placeholder: '项目地区', options: [], uid: this.getUid() },
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div> <div>
<span style="font-size: 14px;color: #0384FA;" v-html="item.combineName" ></span> <span style="font-size: 14px;color: #0384FA;" v-html="item.combineName" ></span>
<div style="height:22px;line-height: 22px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div> <div style="height:22px;line-height: 22px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<div ><span class="infinite-label">集团本身:</span>{{ item.combineMemberName }}</div> <div ><span class="infinite-label">集团本身:</span><el-tooltip class="item" effect="dark" :content="item.combineMemberName" placement="bottom-start"><span>{{ item.combineMemberName }}</span></el-tooltip></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<div style="float: left;"> <div style="float: left;">
<span class="name" v-html="item.combineName" ></span> <span class="name" v-html="item.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div> <div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item.combineMemberName }}</div> <div class="name1"><span class="infinite-label">集团本身:</span><el-tooltip class="item" effect="dark" :content="item.combineMemberName" placement="bottom-start"><span>{{ item.combineMemberName }}</span></el-tooltip></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
<div style="float: left;"> <div style="float: left;">
<span class="name" v-html="item.combineName" ></span> <span class="name" v-html="item.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div> <div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item.combineMemberName }}</div> <div class="name1"><span class="infinite-label">集团本身:</span><el-tooltip class="item" effect="dark" :content="item.combineMemberName" placement="bottom-start"><span>{{ item.combineMemberName }}</span></el-tooltip></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
<div style="float: left;"> <div style="float: left;">
<span class="name" v-html="item.combineName" ></span> <span class="name" v-html="item.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div> <div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item.combineMemberName }}</div> <div class="name1"><span class="infinite-label">集团本身:</span><el-tooltip class="item" effect="dark" :content="item.combineMemberName" placement="bottom-start"><span>{{ item.combineMemberName }}</span></el-tooltip></div>
</div> </div>
</div> </div>
</template> </template>
...@@ -395,7 +395,7 @@ export default { ...@@ -395,7 +395,7 @@ export default {
border-radius: 4px 4px 4px 4px; border-radius: 4px 4px 4px 4px;
background: #FFFFFF; background: #FFFFFF;
font-size: 14px; font-size: 14px;
min-width: 1580px; min-width: 1280px;
.content_item{ .content_item{
.content_right{ .content_right{
...@@ -506,11 +506,11 @@ export default { ...@@ -506,11 +506,11 @@ export default {
} }
.contetn_wrap{ .contetn_wrap{
position: relative; position: relative;
min-width: 1668px; min-width: 1280px;
.wrap{ .wrap{
margin-top: 12px; margin-top: 12px;
min-width: 1628px; min-width: 1228px;
overflow: auto; overflow: auto;
background: #FFFFFF; background: #FFFFFF;
border-radius: 4px 4px 4px 4px; border-radius: 4px 4px 4px 4px;
...@@ -532,7 +532,7 @@ export default { ...@@ -532,7 +532,7 @@ export default {
.infinite-list-item{ .infinite-list-item{
margin-right: 16px; margin-right: 16px;
margin-top: 16px; margin-top: 16px;
width: 383px; width: 283px;
height: 90px; height: 90px;
background: #FFFFFF; background: #FFFFFF;
border-radius: 0px 0px 0px 0px; border-radius: 0px 0px 0px 0px;
...@@ -555,7 +555,7 @@ export default { ...@@ -555,7 +555,7 @@ export default {
float: left; float: left;
} }
.name{ .name{
width: 283px; width: 178px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
...@@ -566,7 +566,7 @@ export default { ...@@ -566,7 +566,7 @@ export default {
display: inline-block; display: inline-block;
} }
.name1{ .name1{
width: 283px; width: 178px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
......
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left" > <div class="bottomlist-title-left" >
<p class="title-left"> <p class="title-left">
查询结果列表 <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}
</p> </p>
<el-popover v-model="fieldshow" placement="bottom-start" trigger="click" <el-popover v-model="fieldshow" placement="bottom-start" trigger="click"
popper-class="viewlist-el-popover"> popper-class="viewlist-el-popover">
...@@ -132,7 +132,6 @@ ...@@ -132,7 +132,6 @@
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}</p>
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
...@@ -1159,12 +1158,6 @@ ...@@ -1159,12 +1158,6 @@
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -1186,15 +1179,12 @@ ...@@ -1186,15 +1179,12 @@
display: inline-flex;; display: inline-flex;;
align-items: center; align-items: center;
.title-left{ .title-left{
border-left:2px solid #445781;
padding-left:8px;
padding-right:32px;
font-size: 16px;
height:16px; height:16px;
line-height: 16px; line-height: 16px;
font-weight: bold; font-size: 12px;
color: #232323; font-weight: 400;
} color: #3D3D3D;
}
} }
.bottomlist-content{ .bottomlist-content{
......
...@@ -432,6 +432,9 @@ ...@@ -432,6 +432,9 @@
<div class="bottomlist"> <div class="bottomlist">
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left"> <div class="bottomlist-title-left">
<p class="title-left">
<span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}条
</p>
<el-popover v-model="fieldshow" placement="bottom-start" trigger="click" <el-popover v-model="fieldshow" placement="bottom-start" trigger="click"
popper-class="viewlist-el-popover"> popper-class="viewlist-el-popover">
<ul class="pup_list"> <ul class="pup_list">
...@@ -452,7 +455,6 @@ ...@@ -452,7 +455,6 @@
</div> </div>
</div> </div>
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}条</p>
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
...@@ -2989,16 +2991,16 @@ ...@@ -2989,16 +2991,16 @@
margin-top: 12px; margin-top: 12px;
padding: 16px 0px ; padding: 16px 0px ;
border-bottom: 1px solid #EFEFEF; border-bottom: 1px solid #EFEFEF;
.title-left{
height:16px;
line-height: 16px;
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
}
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -71,8 +71,16 @@ ...@@ -71,8 +71,16 @@
<router-link :to="`/groupAccount/${scope.row.combineId}?name=${scope.row.combineName}`" tag="a" class="a-link">{{scope.row.combineName}}</router-link> <router-link :to="`/groupAccount/${scope.row.combineId}?name=${scope.row.combineName}`" tag="a" class="a-link">{{scope.row.combineName}}</router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="count" label="中标数量(个)" align="right" sortable width="150"/> <el-table-column prop="count" label="中标数量" align="right" sortable width="150">
<el-table-column prop="money" label="中标金额(万元)" align="right" :sort-method="(a,b)=>{return a.money - b.money}" sortable/> <template slot-scope="scope">
{{scope.row.count}}
</template>
</el-table-column>
<el-table-column prop="money" label="中标金额" align="right" :sort-method="(a,b)=>{return a.money - b.money}" sortable>
<template slot-scope="scope">
{{scope.row.money}}万元
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
</el-col> </el-col>
...@@ -140,8 +148,16 @@ ...@@ -140,8 +148,16 @@
<span style="cursor: pointer;" class="a-link companyName" @click="getUipIdByCid(scope.row.companyId)">{{scope.row.companyName}}</span> <span style="cursor: pointer;" class="a-link companyName" @click="getUipIdByCid(scope.row.companyId)">{{scope.row.companyName}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="count" label="中标数量(个)" align="right" sortable width="150"/> <el-table-column prop="count" label="中标数量" align="right" sortable width="150">
<el-table-column prop="money" label="中标金额(万元)" align="right" :sort-method="(a,b)=>{return a.money - b.money}" sortable/> <template slot-scope="scope">
{{scope.row.count}}
</template>
</el-table-column>
<el-table-column prop="money" label="中标金额" align="right" :sort-method="(a,b)=>{return a.money - b.money}" sortable>
<template slot-scope="scope">
{{scope.row.money}}万元
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
</el-col> </el-col>
...@@ -1578,7 +1594,13 @@ export default { ...@@ -1578,7 +1594,13 @@ export default {
.el-input__inner{ .el-input__inner{
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
border-radius: 4px border-radius: 4px;
border: 0;
}
}
.is-focus{
.el-input__inner{
background: #F4F6F9;
} }
} }
......
...@@ -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;
......
...@@ -32,17 +32,17 @@ ...@@ -32,17 +32,17 @@
show-summary show-summary
@sort-change="sortChange" @sort-change="sortChange"
> >
<el-table-column label="序号" width="60" align="left"> <el-table-column label="序号" width="55" align="left">
<template slot-scope="scope">{{ scope.$index + 2 }}</template> <template slot-scope="scope">{{ scope.$index + 2 }}</template>
</el-table-column> </el-table-column>
<el-table-column label="产业类型" prop="projectType"></el-table-column> <el-table-column label="产业类型" prop="projectType"></el-table-column>
<el-table-column :label="oneYear"> <el-table-column :label="oneYear">
<el-table-column prop="money" label="金额(亿元)" sortable="custom" :formatter="formatStatus"></el-table-column> <el-table-column prop="money" label="金额(亿元)" sortable="custom" :formatter="formatStatus" min-width="115"></el-table-column>
<el-table-column prop="rate" label="占比(%)" :sort-method="(a,b)=>{return a.rate - b.rate}" sortable> </el-table-column> <el-table-column prop="rate" label="占比(%)" :sort-method="(a,b)=>{return a.rate - b.rate}" sortable min-width="100"> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column :label="twoYear"> <el-table-column :label="twoYear">
<el-table-column prop="lastMoney" label="金额(亿元)" sortable="custom" :formatter="formatStatus"> </el-table-column> <el-table-column prop="lastMoney" label="金额(亿元)" sortable="custom" :formatter="formatStatus" min-width="115"> </el-table-column>
<el-table-column prop="lastRate" label="占比(%)" :sort-method="(a,b)=>{return a.lastRate - b.lastRate}" sortable> </el-table-column> <el-table-column prop="lastRate" label="占比(%)" :sort-method="(a,b)=>{return a.lastRate - b.lastRate}" sortable min-width="100"> </el-table-column>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -393,7 +393,7 @@ export default { ...@@ -393,7 +393,7 @@ export default {
th:nth-child(4){ th:nth-child(4){
border-right:0; border-right:0;
.cell{ .cell{
padding-right: 24px !important; /*padding-right: 24px !important;*/
} }
} }
td:nth-child(6){ td:nth-child(6){
......
...@@ -31,10 +31,10 @@ ...@@ -31,10 +31,10 @@
<template slot-scope="scope">{{ scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="type" label="供应方式" :formatter="formatStatus"/> <el-table-column prop="type" label="供应方式" :formatter="formatStatus"/>
<el-table-column prop="count" label="土地交易项目" align="right" :formatter="formatStatus" sortable> <el-table-column prop="count" label="土地交易项目" align="right" :formatter="formatStatus" sortable min-width="120">
<template slot-scope="scope">{{ scope.row.count }}</template> <template slot-scope="scope">{{ scope.row.count }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="rate" label="占比" align="right" :formatter="formatStatus" width="90"> <el-table-column prop="rate" label="占比" align="right" :formatter="formatStatus" width="80">
<template slot-scope="scope">{{ scope.row.rate }}%</template> <template slot-scope="scope">{{ scope.row.rate }}%</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -74,10 +74,10 @@ ...@@ -74,10 +74,10 @@
<template slot-scope="scope">{{ scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="type" label="供应方式" :formatter="formatStatus"/> <el-table-column prop="type" label="供应方式" :formatter="formatStatus"/>
<el-table-column prop="count" label="土地交易项目" align="right" :formatter="formatStatus" sortable> <el-table-column prop="count" label="土地交易项目" align="right" :formatter="formatStatus" sortable min-width="120">
<template slot-scope="scope">{{ scope.row.count }}</template> <template slot-scope="scope">{{ scope.row.count }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="rate" label="占比" align="right" :formatter="formatStatus" width="90"> <el-table-column prop="rate" label="占比" align="right" :formatter="formatStatus" width="80">
<template slot-scope="scope">{{ scope.row.rate }}%</template> <template slot-scope="scope">{{ scope.row.rate }}%</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -120,10 +120,10 @@ ...@@ -120,10 +120,10 @@
<template slot-scope="scope">{{ scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="province" label="地区" :formatter="formatStatus"/> <el-table-column prop="province" label="地区" :formatter="formatStatus"/>
<el-table-column prop="count" label="土地交易项目" align="right" :formatter="formatStatus" sortable> <el-table-column prop="count" label="土地交易项目" align="right" :formatter="formatStatus" sortable min-width="120">
<template slot-scope="scope">{{ scope.row.count }}</template> <template slot-scope="scope">{{ scope.row.count }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="rate" label="占比" align="right" :formatter="formatStatus" width="90"> <el-table-column prop="rate" label="占比" align="right" :formatter="formatStatus" width="80">
<template slot-scope="scope">{{ scope.row.rate }}%</template> <template slot-scope="scope">{{ scope.row.rate }}%</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -159,10 +159,10 @@ ...@@ -159,10 +159,10 @@
<template slot-scope="scope">{{ scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="type" label="年份" :formatter="formatStatus"/> <el-table-column prop="type" label="年份" :formatter="formatStatus"/>
<el-table-column prop="count" label="土地交易项目" align="right" :formatter="formatStatus" sortable> <el-table-column prop="count" label="土地交易项目" align="right" :formatter="formatStatus" sortable min-width="120">
<template slot-scope="scope">{{ scope.row.count }}</template> <template slot-scope="scope">{{ scope.row.count }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="rate" label="占比" align="right" :formatter="formatStatus" width="90"> <el-table-column prop="rate" label="占比" align="right" :formatter="formatStatus" width="80">
<template slot-scope="scope">{{ scope.row.rate }}%</template> <template slot-scope="scope">{{ scope.row.rate }}%</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -143,21 +143,22 @@ ...@@ -143,21 +143,22 @@
<el-radio label=0></el-radio> <el-radio label=0></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="联系人角色:" class="row"> <el-form-item label="联系方式:" class="row">
<el-input type="text" v-model="queryParam.role" placeholder="请输入"></el-input> <el-input type="text" maxlength="11" @input="inputphone" v-model="queryParam.contactInformation" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="关联企业:" class="row" v-if="thistype == 'project'"> <!--<el-form-item label="关联企业:" class="row" v-if="thistype == 'project'">-->
<el-form-item label="关联企业:" class="row">
<el-input type="text" v-model="queryParam.companyName" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.companyName" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人角色:" class="row">
<el-input type="text" v-model="queryParam.role" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系人职位:" class="row"> <el-form-item label="联系人职位:" class="row">
<el-input type="text" v-model="queryParam.position" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.position" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<!--<el-form-item label="内部维护人:" class="row">--> <!--<el-form-item label="内部维护人:" class="row">-->
<!--<el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input>--> <!--<el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input>-->
<!--</el-form-item>--> <!--</el-form-item>-->
<el-form-item label="联系方式:" class="row">
<el-input type="text" maxlength="11" @input="inputphone" v-model="queryParam.contactInformation" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="备注:" class="row"> <el-form-item label="备注:" class="row">
<el-input <el-input
type="textarea" type="textarea"
...@@ -339,14 +340,17 @@ ...@@ -339,14 +340,17 @@
position:"", position:"",
contactInformation:"", contactInformation:"",
remark:"", remark:"",
companyName:"",
// accendant:"", // accendant:"",
} }
if(this.thistype == 'project'){ if(this.thistype == 'project'){
this.queryParam.businessId = this.searchParam.businessId this.queryParam.businessId = this.searchParam.businessId
this.companyName = "" this.companyName = ""
this.queryParam.companyName=this.$route.query.projectname
} }
if(this.thistype == 'custom'){ if(this.thistype == 'custom'){
this.queryParam.customerId = this.searchParam.customerId this.queryParam.customerId = this.searchParam.customerId
this.queryParam.companyName=this.customname
} }
}, },
} }
......
<template> <template>
<div> <div>
<el-card class="box-card noborder"> <el-card class="box-card noborder" >
<div class="cardtitles">相关企业</div> <div class="cardtitles">相关企业</div>
<div class="searchbtns"> <div class="searchbtns">
<el-select class="select" placeholder="企业类型" clearable v-model="searchParam.companyRole" @change="handleCurrentChange(1)"> <el-select class="select" placeholder="企业类型" clearable v-model="searchParam.companyRole" @change="handleCurrentChange(1)">
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
</el-select> </el-select>
<div class="searchInput small"> <div class="searchInput small">
<el-input type="text" placeholder="输入关键词查询" clearable v-model="searchParam.companyName"> <el-input type="text" placeholder="输入关键词查询" clearable v-model="searchParam.companyName">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/sousuo.png"></i></el-input> <i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/sousuo.png" @click="handleCurrentChange(1)"></i></el-input>
<div class="btn" @click="handleCurrentChange(1)">搜索</div> <!--<div class="btn" @click="handleCurrentChange(1)">搜索</div>-->
</div> </div>
<div class="btn btn_primary h32 b3" @click="opennew" v-if="isDisableds == false"><div class="img img1"></div>添加相关企业</div> <div class="btn btn_primary h32 b3" @click="opennew" v-if="isDisableds == false"><div class="img img1"></div>添加相关企业</div>
</div> </div>
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
<!--<div class="searchbtns" v-if="fileDatas.rows != null && fileDatas.rows.length>0">--> <!--<div class="searchbtns" v-if="fileDatas.rows != null && fileDatas.rows.length>0">-->
<div class="searchInput small"> <div class="searchInput small">
<el-input type="text" v-model="param.keyword" clearable placeholder="输入关键词查询"> <el-input type="text" v-model="param.keyword" clearable placeholder="输入关键词查询">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/sousuo.png"></i> <i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/sousuo.png" @click="handleCurrentChange(1)"></i>
</el-input> </el-input>
<div class="btn" @click="handleCurrentChange(1)">搜索</div> <!--<div class="btn" @click="handleCurrentChange(1)">搜索</div>-->
</div> </div>
<!--<div class="btn btn_primary h32 b2" @click="getUP" v-if="fileDatas.total>0"><div class="img img2"></div>上传</div>--> <!--<div class="btn btn_primary h32 b2" @click="getUP" v-if="fileDatas.total>0"><div class="img img2"></div>上传</div>-->
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
</div> </div>
</el-card> </el-card>
<el-card class="box-card noborder"> <el-card class="box-card noborder top12" style="margin-bottom: 12px">
<div class="tabslist"> <div class="tabslist">
<div class="tab" v-for="(item,index) in tabslist" :class="{'on':thistag == item.tag}" @click="getCom(item.tag)"> <div class="tab" v-for="(item,index) in tabslist" :class="{'on':thistag == item.tag}" @click="getCom(item.tag)">
<span>{{item.name}}</span> <span>{{item.name}}</span>
......
...@@ -110,8 +110,8 @@ ...@@ -110,8 +110,8 @@
</el-tabs> </el-tabs>
</el-card> </el-card>
<el-card class="box-card noborder overflows"> <el-card class="box-card noborder overflows top12">
<div class="titles">项目明细 <div class="titles"><!--项目明细-->
<div class="dc"> <div class="dc">
<div class="total">{{total}}</div> <div class="total">{{total}}</div>
<!--<el-tooltip class="item" effect="dark" content="功能正在开发中" placement="top">--> <!--<el-tooltip class="item" effect="dark" content="功能正在开发中" placement="top">-->
...@@ -573,8 +573,9 @@ export default { ...@@ -573,8 +573,9 @@ export default {
height: 60px; height: 60px;
line-height: 64px; line-height: 64px;
border-bottom: 1px solid #EFEFEF; border-bottom: 1px solid #EFEFEF;
padding-left: 26px; padding-left: 2px;
&::after{ padding-right: 24px;
/*&::after{
content: " "; content: " ";
width: 2px; width: 2px;
height: 14px; height: 14px;
...@@ -582,13 +583,13 @@ export default { ...@@ -582,13 +583,13 @@ export default {
float: left; float: left;
margin-left: -10px; margin-left: -10px;
margin-top: 24px; margin-top: 24px;
} }*/
.dc{ .dc{
width: 100%;
float: right; float: right;
font-size: 12px; font-size: 12px;
color: #3D3D3D; color: #3D3D3D;
font-weight: 400; font-weight: 400;
padding-right: 24px;
position: relative; position: relative;
&::after{ &::after{
content: ' '; content: ' ';
...@@ -604,6 +605,10 @@ export default { ...@@ -604,6 +605,10 @@ export default {
display: inline-block; display: inline-block;
margin-left: 20px; margin-left: 20px;
} }
.btn-export{
float: right;
margin-top: 18px;
}
} }
} }
.datalist{ .datalist{
...@@ -641,6 +646,9 @@ export default { ...@@ -641,6 +646,9 @@ export default {
.delform{ .delform{
right: 16px; right: 16px;
top: -94px; top: -94px;
.btnsmall{
margin-top: 0;
}
} }
&:hover{ &:hover{
background-color: #F6F9FC; background-color: #F6F9FC;
......
...@@ -121,11 +121,10 @@ ...@@ -121,11 +121,10 @@
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left" > <div class="bottomlist-title-left" >
<p class="title-left"> <p class="title-left">
查询结果 <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}
</p> </p>
</div> </div>
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}</p>
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
...@@ -964,12 +963,7 @@ export default { ...@@ -964,12 +963,7 @@ export default {
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -989,15 +983,12 @@ export default { ...@@ -989,15 +983,12 @@ export default {
display: inline-flex;; display: inline-flex;;
align-items: center; align-items: center;
.title-left{ .title-left{
border-left:2px solid #445781; height:16px;
padding-left:8px; line-height: 16px;
padding-right:32px; font-size: 12px;
font-size: 16px; font-weight: 400;
height:16px; color: #3D3D3D;
line-height: 16px; }
font-weight: bold;
color: #232323;
}
} }
} }
.bottomlist-content{ .bottomlist-content{
......
...@@ -206,11 +206,10 @@ ...@@ -206,11 +206,10 @@
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left" > <div class="bottomlist-title-left" >
<p class="title-left"> <p class="title-left">
查询结果 <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}
</p> </p>
</div> </div>
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}</p>
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
...@@ -1163,25 +1162,16 @@ export default { ...@@ -1163,25 +1162,16 @@ export default {
display: inline-flex;; display: inline-flex;;
align-items: center; align-items: center;
.title-left{ .title-left{
border-left:2px solid #445781; height:16px;
padding-left:8px; line-height: 16px;
padding-right:32px; font-size: 12px;
font-size: 16px; font-weight: 400;
height:16px; color: #3D3D3D;
line-height: 16px; }
font-weight: bold;
color: #232323;
}
} }
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -177,11 +177,10 @@ ...@@ -177,11 +177,10 @@
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left" > <div class="bottomlist-title-left" >
<p class="title-left"> <p class="title-left">
查询结果 <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}
</p> </p>
</div> </div>
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}</p>
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
...@@ -1256,12 +1255,7 @@ ...@@ -1256,12 +1255,7 @@
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -1281,15 +1275,12 @@ ...@@ -1281,15 +1275,12 @@
display: inline-flex;; display: inline-flex;;
align-items: center; align-items: center;
.title-left{ .title-left{
border-left:2px solid #445781; height:16px;
padding-left:8px; line-height: 16px;
padding-right:32px; font-size: 12px;
font-size: 16px; font-weight: 400;
height:16px; color: #3D3D3D;
line-height: 16px; }
font-weight: bold;
color: #232323;
}
} }
} }
.bottomlist-content{ .bottomlist-content{
......
...@@ -204,7 +204,7 @@ ...@@ -204,7 +204,7 @@
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left" > <div class="bottomlist-title-left" >
<p class="title-left"> <p class="title-left">
查询结果 <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}
</p> </p>
<el-popover v-model="fieldshow" placement="bottom-start" trigger="click" <el-popover v-model="fieldshow" placement="bottom-start" trigger="click"
popper-class="viewlist-el-popover"> popper-class="viewlist-el-popover">
...@@ -221,8 +221,7 @@ ...@@ -221,8 +221,7 @@
</el-popover> </el-popover>
</div> </div>
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}</p> <p>
<p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
</p> </p>
...@@ -1053,25 +1052,17 @@ ...@@ -1053,25 +1052,17 @@
display: inline-flex;; display: inline-flex;;
align-items: center; align-items: center;
.title-left{ .title-left{
border-left:2px solid #445781; height:16px;
padding-left:8px; line-height: 16px;
padding-right:32px; font-size: 12px;
font-size: 16px; font-weight: 400;
height:16px; color: #3D3D3D;
line-height: 16px; }
font-weight: bold;
color: #232323;
}
} }
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -179,11 +179,10 @@ ...@@ -179,11 +179,10 @@
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left" > <div class="bottomlist-title-left" >
<p class="title-left"> <p class="title-left">
查询结果 <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}
</p> </p>
</div> </div>
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}</p>
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
...@@ -1257,25 +1256,17 @@ ...@@ -1257,25 +1256,17 @@
display: inline-flex;; display: inline-flex;;
align-items: center; align-items: center;
.title-left{ .title-left{
border-left:2px solid #445781; height:16px;
padding-left:8px; line-height: 16px;
padding-right:32px; font-size: 12px;
font-size: 16px; font-weight: 400;
height:16px; color: #3D3D3D;
line-height: 16px; }
font-weight: bold;
color: #232323;
}
} }
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -333,11 +333,10 @@ ...@@ -333,11 +333,10 @@
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left" > <div class="bottomlist-title-left" >
<p class="title-left"> <p class="title-left">
查询结果 <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}条
</p> </p>
</div> </div>
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}条</p>
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
...@@ -2009,25 +2008,17 @@ ...@@ -2009,25 +2008,17 @@
display: inline-flex;; display: inline-flex;;
align-items: center; align-items: center;
.title-left{ .title-left{
border-left:2px solid #445781; height:16px;
padding-left:8px; line-height: 16px;
padding-right:32px; font-size: 12px;
font-size: 16px; font-weight: 400;
height:16px; color: #3D3D3D;
line-height: 16px; }
font-weight: bold;
color: #232323;
}
} }
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -93,11 +93,10 @@ ...@@ -93,11 +93,10 @@
<div class="bottomlist-title"> <div class="bottomlist-title">
<div class="bottomlist-title-left" > <div class="bottomlist-title-left" >
<p class="title-left"> <p class="title-left">
查询结果 <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}条
</p> </p>
</div> </div>
<div class="title-right"> <div class="title-right">
<p><span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}条</p>
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span> <span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
...@@ -697,25 +696,17 @@ ...@@ -697,25 +696,17 @@
display: inline-flex;; display: inline-flex;;
align-items: center; align-items: center;
.title-left{ .title-left{
border-left:2px solid #445781; height:16px;
padding-left:8px; line-height: 16px;
padding-right:32px; font-size: 12px;
font-size: 16px; font-weight: 400;
height:16px; color: #3D3D3D;
line-height: 16px; }
font-weight: bold;
color: #232323;
}
} }
.title-right{ .title-right{
display: flex; display: flex;
align-items: center; align-items: center;
p:first-child{
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child{ p:last-child{
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -767,3 +767,16 @@ export default { ...@@ -767,3 +767,16 @@ export default {
} }
}; };
</script> </script>
<style lang="scss" scoped>
.head-container{
::v-deep .el-tree-node__content{
white-space: normal !important;
height: auto;
padding: 2px 0;
.el-tree-node__expand-icon{
padding: 2px 6px;
align-self: flex-start;
}
}
}
</style>
...@@ -79,8 +79,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService { ...@@ -79,8 +79,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
QueryWrapper<SysUser> wrapper = Wrappers.query(); QueryWrapper<SysUser> wrapper = Wrappers.query();
wrapper.eq("u.del_flag", UserConstants.USER_NORMAL) wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
.eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId()) .eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId())
.like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
.eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus()) .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
.like(StringUtils.isNotBlank(user.getUserName()), "u.nick_name", user.getUserName())
.like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()) .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
.between(params.get("beginTime") != null && params.get("endTime") != null, .between(params.get("beginTime") != null && params.get("endTime") != null,
"u.create_time", params.get("beginTime"), params.get("endTime")) "u.create_time", params.get("beginTime"), params.get("endTime"))
...@@ -91,7 +91,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService { ...@@ -91,7 +91,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
List<Long> ids = StreamUtils.toList(deptList, SysDept::getDeptId); List<Long> ids = StreamUtils.toList(deptList, SysDept::getDeptId);
ids.add(user.getDeptId()); ids.add(user.getDeptId());
w.in("u.dept_id", ids); w.in("u.dept_id", ids);
}).orderByDesc("u.create_time"); })
.or()
.like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
.orderByDesc("u.create_time");
return wrapper; return wrapper;
} }
...@@ -290,7 +293,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { ...@@ -290,7 +293,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
//租户新增成功,发送短信通知租户 //租户新增成功,发送短信通知租户
LinkedHashMap<String, String> map = new LinkedHashMap<>(1); LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
map.put("company", user.getNickName()); map.put("company", user.getNickName());
map.put("pwd",password); map.put("pwd", password);
SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA); SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA);
SmsResponse smsResponse = smsBlend.sendMessage(user.getPhonenumber(), "SMS_463175230", map); SmsResponse smsResponse = smsBlend.sendMessage(user.getPhonenumber(), "SMS_463175230", map);
if (!"OK".equals(smsResponse.getCode())) { if (!"OK".equals(smsResponse.getCode())) {
......
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