Commit f4f7c87b authored by danfuman's avatar danfuman
parents 6d61f64a 29918822
...@@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -81,10 +82,18 @@ public class BusinessFileController extends BaseController { ...@@ -81,10 +82,18 @@ public class BusinessFileController extends BaseController {
try { try {
//获取文件名 //获取文件名
String filename = file.getOriginalFilename(); String filename = file.getOriginalFilename();
//TODO 校验是否上传同名文件
String businessFileName = request.getHeader("FilePath"); String businessFileName = request.getHeader("FilePath");
// 上传文件路径 // 上传文件路径
String filePath = RuoYiConfig.getUploadPath() + businessFileName + "/"; String filePath = RuoYiConfig.getUploadPath() + businessFileName + "/";
//校验是否上传同名文件
File newFile = new File(filePath);
// 获取当前目录下的文件和文件夹
File[] files = newFile.listFiles();
for (File allFile : files) {
if(filename.equals(allFile.getName())) return error("文件已存在");
}
// 上传并返回文件全路径 // 上传并返回文件全路径
String fileName = FileUploadUtils.upload(filePath, file); String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName; String url = serverConfig.getUrl() + fileName;
......
...@@ -3,6 +3,7 @@ package com.dsk.web.controller.search.controller; ...@@ -3,6 +3,7 @@ package com.dsk.web.controller.search.controller;
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.dtos.ComposeQueryDto; import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.common.dtos.Page;
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService; import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
import com.dsk.web.controller.search.service.MarketAnalysisService; import com.dsk.web.controller.search.service.MarketAnalysisService;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -29,32 +30,48 @@ public class BusinessOpportunityRadarController { ...@@ -29,32 +30,48 @@ public class BusinessOpportunityRadarController {
* 公招标讯 * 公招标讯
*/ */
@RequestMapping("/jskBidPage") @RequestMapping("/jskBidPage")
public AjaxResult jskBidPage(@RequestBody ComposeQueryDto compose) { public AjaxResult jskBidPage(@RequestBody JSONObject object) {
return opportunityRadarService.jskBidPage(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.jskBidPage(object);
} }
/* /*
* 土地交易 * 土地交易
*/ */
@RequestMapping("/landMarketPage") @RequestMapping("/landMarketPage")
public AjaxResult landMarketPage(@RequestBody ComposeQueryDto compose) { public AjaxResult landMarketPage(@RequestBody JSONObject object) {
return opportunityRadarService.landMarketPage(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.landMarketPage(object);
} }
/* /*
* 拟建项目 * 拟建项目
*/ */
@RequestMapping("/establishmentPage") @RequestMapping("/establishmentPage")
public AjaxResult establishmentPage(@RequestBody ComposeQueryDto compose) { public AjaxResult establishmentPage(@RequestBody JSONObject object) {
return opportunityRadarService.establishmentPage(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.establishmentPage(object);
} }
/* /*
* 开标记录 * 开标记录
*/ */
@RequestMapping("/jskBidTenderPage") @RequestMapping("/jskBidTenderPage")
public AjaxResult jskBidTenderPage(@RequestBody ComposeQueryDto compose) { public AjaxResult jskBidTenderPage(@RequestBody JSONObject object) {
return opportunityRadarService.jskBidTenderPage(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.jskBidTenderPage(object);
} }
...@@ -62,8 +79,12 @@ public class BusinessOpportunityRadarController { ...@@ -62,8 +79,12 @@ public class BusinessOpportunityRadarController {
* 标讯pro * 标讯pro
*/ */
@RequestMapping("/jskBidNewsPage") @RequestMapping("/jskBidNewsPage")
public AjaxResult jskBidNewsPage(@RequestBody ComposeQueryDto compose) { public AjaxResult jskBidNewsPage(@RequestBody JSONObject object) {
return opportunityRadarService.jskBidNewsPage(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.jskBidNewsPage(object);
} }
...@@ -71,16 +92,24 @@ public class BusinessOpportunityRadarController { ...@@ -71,16 +92,24 @@ public class BusinessOpportunityRadarController {
* 专项债查询 * 专项债查询
*/ */
@RequestMapping("/bondProjectPage") @RequestMapping("/bondProjectPage")
public AjaxResult bondProjectPage(@RequestBody ComposeQueryDto compose) { public AjaxResult bondProjectPage(@RequestBody JSONObject object) {
return opportunityRadarService.bondProjectPage(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.bondProjectPage(object);
} }
/* /*
* 投标计划查询 * 投标计划查询
*/ */
@RequestMapping("/jskBidPlanPage") @RequestMapping("/jskBidPlanPage")
public AjaxResult jskBidPlanPage(@RequestBody ComposeQueryDto compose) { public AjaxResult jskBidPlanPage(@RequestBody JSONObject object) {
return opportunityRadarService.jskBidPlanPage(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.jskBidPlanPage(object);
} }
/* /*
...@@ -103,7 +132,11 @@ public class BusinessOpportunityRadarController { ...@@ -103,7 +132,11 @@ public class BusinessOpportunityRadarController {
* 招标来源网站 * 招标来源网站
*/ */
@RequestMapping("/bidSourceList") @RequestMapping("/bidSourceList")
public AjaxResult bidSourceList(@RequestBody ComposeQueryDto compose) { public AjaxResult bidSourceList(@RequestBody JSONObject object) {
return opportunityRadarService.bidSourceList(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.bidSourceList(object);
} }
} }
package com.dsk.web.controller.search.controller; package com.dsk.web.controller.search.controller;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto; import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService; import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
...@@ -25,8 +26,12 @@ public class CompanySearchController { ...@@ -25,8 +26,12 @@ public class CompanySearchController {
* 模糊查询企业名称 * 模糊查询企业名称
*/ */
@RequestMapping("/index") @RequestMapping("/index")
public AjaxResult landMarketPage(@RequestBody ComposeQueryDto compose) { public AjaxResult landMarketPage(@RequestBody JSONObject object) {
return opportunityRadarService.enterpriseIndex(compose); ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return opportunityRadarService.enterpriseIndex(object);
} }
/* /*
...@@ -42,6 +47,9 @@ public class CompanySearchController { ...@@ -42,6 +47,9 @@ public class CompanySearchController {
*/ */
@PostMapping("/page") @PostMapping("/page")
public AjaxResult page(@RequestBody ComposeQueryDto compose) { public AjaxResult page(@RequestBody ComposeQueryDto compose) {
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
compose.getPage().setPage(compose.getPageNum()); compose.getPage().setPage(compose.getPageNum());
compose.getPage().setLimit(compose.getPageSize()); compose.getPage().setLimit(compose.getPageSize());
compose.getPage().setField(compose.getField()); compose.getPage().setField(compose.getField());
......
package com.dsk.web.controller.search.controller;
import com.dsk.common.dtos.Page;
/**
* @author lc
* @date 2023/6/20 17:48
*/
public class PageQueryLimit {
public static boolean pageLimit(Page page){
if (null == page) {
return true;
}
if (null==page.getLimit()||null==page.getPage()){
return true;
}
if ( page.getPage()*page.getLimit()>10000){
return true;
}
return false;
}
}
...@@ -12,29 +12,30 @@ import com.dsk.common.dtos.ComposeQueryDto; ...@@ -12,29 +12,30 @@ import com.dsk.common.dtos.ComposeQueryDto;
public interface BusinessOpportunityRadarService { public interface BusinessOpportunityRadarService {
AjaxResult jskBidNewsPage(ComposeQueryDto compose); AjaxResult jskBidNewsPage(JSONObject object);
AjaxResult jskBidTenderPage(ComposeQueryDto compose);
AjaxResult jskBidPage(ComposeQueryDto compose); AjaxResult jskBidTenderPage(JSONObject object);
AjaxResult landMarketPage(ComposeQueryDto compose); AjaxResult jskBidPage(JSONObject object);
AjaxResult establishmentPage(ComposeQueryDto compose); AjaxResult landMarketPage( JSONObject object);
AjaxResult enterpriseIndex(ComposeQueryDto compose); AjaxResult establishmentPage(JSONObject object);
AjaxResult enterpriseIndex(JSONObject object);
AjaxResult enterpriseByName(String keyword); AjaxResult enterpriseByName(String keyword);
AjaxResult enterprisePage(ComposeQueryDto compose); AjaxResult enterprisePage(ComposeQueryDto compose);
AjaxResult bondProjectPage(ComposeQueryDto compose); AjaxResult bondProjectPage( JSONObject object);
AjaxResult jskBidPlanPage(ComposeQueryDto compose); AjaxResult jskBidPlanPage( JSONObject object);
AjaxResult getCapitalSourceSelect(); AjaxResult getCapitalSourceSelect();
AjaxResult keywordList(); AjaxResult keywordList();
AjaxResult bidSourceList(ComposeQueryDto compose); AjaxResult bidSourceList( JSONObject object);
} }
...@@ -26,45 +26,45 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR ...@@ -26,45 +26,45 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
@Override @Override
public AjaxResult jskBidNewsPage(ComposeQueryDto compose) { public AjaxResult jskBidNewsPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/page", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override @Override
public AjaxResult jskBidTenderPage(ComposeQueryDto compose) { public AjaxResult jskBidTenderPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidTender/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidTender/page", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override @Override
public AjaxResult establishmentPage(ComposeQueryDto compose) { public AjaxResult establishmentPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/establishment/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/establishment/page", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override @Override
public AjaxResult jskBidPage(ComposeQueryDto compose) { public AjaxResult jskBidPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/page",object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override @Override
public AjaxResult landMarketPage(ComposeQueryDto compose) { public AjaxResult landMarketPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/landMarket/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/landMarket/page", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override @Override
public AjaxResult enterpriseIndex(ComposeQueryDto compose) { public AjaxResult enterpriseIndex(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/index", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/index", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override @Override
public AjaxResult enterprisePage(ComposeQueryDto compose) { public AjaxResult enterprisePage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page",BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
...@@ -78,14 +78,14 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR ...@@ -78,14 +78,14 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
} }
@Override @Override
public AjaxResult bondProjectPage(ComposeQueryDto compose) { public AjaxResult bondProjectPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/bondProject/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/bondProject/page", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override @Override
public AjaxResult jskBidPlanPage(ComposeQueryDto compose) { public AjaxResult jskBidPlanPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/page",object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
...@@ -102,8 +102,8 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR ...@@ -102,8 +102,8 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
} }
@Override @Override
public AjaxResult bidSourceList(ComposeQueryDto compose) { public AjaxResult bidSourceList(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/source", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/source",object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
} }
...@@ -45,9 +45,13 @@ public class JskBidPlanDto { ...@@ -45,9 +45,13 @@ public class JskBidPlanDto {
Double startPlanTenderAmount; Double startPlanTenderAmount;
Double endPlanTenderAmount; Double endPlanTenderAmount;
//资金来源 //资金来源
String projecetCapitalSource; String projectCapitalSource;
//发布时间 //发布时间
String issueTime; String issueTime;
//计划发布开始时间
String planTenderDateStart;
//计划发布截止时间
String planTenderDateEnd;
//来源网站 //来源网站
String sourceName; String sourceName;
......
...@@ -16,6 +16,8 @@ public class SpecialBondProjectDto { ...@@ -16,6 +16,8 @@ public class SpecialBondProjectDto {
String uuid; String uuid;
String projectName; String projectName;
//match精确 like模糊
String nameType;
String projectType; String projectType;
//项目总投资 //项目总投资
......
...@@ -570,6 +570,10 @@ select { ...@@ -570,6 +570,10 @@ select {
height: 40px; height: 40px;
opacity: 0; opacity: 0;
} }
.el-select-dropdown.is-multiple .el-select-dropdown__item:hover {
color: #3181fa;
}
.select-list { .select-list {
color: #666; color: #666;
line-height: 24px; line-height: 24px;
...@@ -586,6 +590,31 @@ select { ...@@ -586,6 +590,31 @@ select {
background-color: #fff; background-color: #fff;
padding: 6px 0px; padding: 6px 0px;
} }
.select-radio {
max-height: 400px;
background: #fff;
}
.select-radio[x-placement^=bottom] {
margin-top: 8px;
}
.select-radio .select-radio-list {
position: relative;
}
.select-radio .select-radio-icon {
position: absolute;
top: 8px;
right: 4px;
}
.select-radio .select-radio-picker {
opacity: 0;
position: absolute;
top: -6px;
left: 0;
width: 0px;
}
.select-radio::-webkit-scrollbar-thumb { .select-radio::-webkit-scrollbar-thumb {
background-color: #b9b9b9 !important; background-color: #b9b9b9 !important;
...@@ -681,8 +710,8 @@ select { ...@@ -681,8 +710,8 @@ select {
} }
.select-list .el-radio .el-radio__label:hover { .select-list .el-radio .el-radio__label:hover {
/* color: #0381fa; color: #0381fa;
background: #f2f7ff; */ background: #f2f7ff;
} }
.select-list .el-radio__input.is-checked+.el-radio__label { .select-list .el-radio__input.is-checked+.el-radio__label {
...@@ -1074,4 +1103,26 @@ select { ...@@ -1074,4 +1103,26 @@ select {
color: #B589DB; color: #B589DB;
} }
.performance_other_select.el-select-dropdown.el-popper .el-select-dropdown__wrap.el-scrollbar__wrap {
max-height: 274px;
}
.performance_other_select .el-scrollbar {
display: block !important;
}
.performance_other_select .performance_source_name_ipt {
margin: 10px 20px;
width: 300px;
}
.performance_pagination_wrap {
border-top: 1px solid #EFEFEF;
padding-right: 6px;
padding-bottom: 16px;
margin-bottom: 24px;
}
.performance_pagination_wrap .common-pagination {
margin-top: 16px;
}
...@@ -252,6 +252,19 @@ ...@@ -252,6 +252,19 @@
height: 120px; height: 120px;
} }
.userInfo-avatar {
display: inline-block;
cursor: pointer;
width: 120px;
height: 120px;
line-height: 120px;
text-align: center;
background: #E3EEF9;
font-size: 48px;
color: #0081FF;
border-radius: 50%;
}
.avatar-upload-preview { .avatar-upload-preview {
position: relative; position: relative;
top: 50%; top: 50%;
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<i class="menu-line" /> <i class="menu-line" />
<el-dropdown class="avatar-container" trigger="hover"> <el-dropdown class="avatar-container" trigger="hover">
<div class="flex-box avatar-wrapper"> <div class="flex-box avatar-wrapper">
<img v-if="avatar" class="pic-avatar" src="@/assets/images/avatar.png"> <img v-if="avatar" class="pic-avatar" :src="avatar">
<span v-else class="user-avatar">{{ name&&name.slice(0, 1) }}</span> <span v-else class="user-avatar">{{ name&&name.slice(0, 1).toUpperCase() }}</span>
{{ name }} {{ name }}
</div> </div>
<el-dropdown-menu slot="dropdown" class="user-dropdown"> <el-dropdown-menu slot="dropdown" class="user-dropdown">
......
...@@ -55,7 +55,7 @@ const user = { ...@@ -55,7 +55,7 @@ const user = {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getInfo().then(res => { getInfo().then(res => {
const user = res.user const user = res.user
const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; const avatar = user.avatar ? process.env.VUE_APP_BASE_API + user.avatar : '';
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
commit('SET_ROLES', res.roles) commit('SET_ROLES', res.roles)
commit('SET_PERMISSIONS', res.permissions) commit('SET_PERMISSIONS', res.permissions)
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<div class="flex-box zwqk-box"> <div class="flex-box zwqk-box">
<div class="zwqk-info"> <div class="zwqk-info">
<div class="zwqk-title">总负债</div> <div class="zwqk-title">总负债</div>
<div class="zwqk-amount"><span>{{financialDetail.totalLiabilities?saveFixed(financialDetail.totalLiabilities):'0'}}</span>亿元</div> <div class="zwqk-amount"><template v-if="financialDetail.totalLiabilities"><span>{{saveFixed(financialDetail.totalLiabilities)}}</span>亿元</template><template v-else><span>--</span></template></div>
<div class="zwqk-pro">资产负债率 {{financialDetail.tdr?saveFixed(financialDetail.tdr)+'%':'--'}}</div> <div class="zwqk-pro">资产负债率 {{financialDetail.tdr?saveFixed(financialDetail.tdr)+'%':'--'}}</div>
<img src="@/assets/images/detail/financial/zwqk_bg_ico.png"> <img src="@/assets/images/detail/financial/zwqk_bg_ico.png">
</div> </div>
...@@ -170,7 +170,6 @@ export default { ...@@ -170,7 +170,6 @@ export default {
item.amount = zjqkObj[Object.keys(zjqkObj)[index]] item.amount = zjqkObj[Object.keys(zjqkObj)[index]]
}) })
this.echartsData = [ this.echartsData = [
{ value: res.data.uipInterestBearingDebt, name: '有息债务' },
{ value: res.data.econData_002, name: '有息债务/总债务' }, { value: res.data.econData_002, name: '有息债务/总债务' },
{ value: res.data.ofcb, name: '综合融资成本' }, { value: res.data.ofcb, name: '综合融资成本' },
{ value: res.data.ebitdaIcr, name: 'EBITDA保障倍数' } { value: res.data.ebitdaIcr, name: 'EBITDA保障倍数' }
...@@ -185,7 +184,11 @@ export default { ...@@ -185,7 +184,11 @@ export default {
//配置图表 //配置图表
let option = { let option = {
tooltip: { tooltip: {
trigger: 'item' trigger: 'item',
formatter: function (a, b) {
let radius = "<span style='display: inline-block; background: "+a.color+"; width:12px; height:12px; border-radius: 50%; margin-right: 6px;'></span>"
return radius+a.name +' '+ (a.percent).toFixed(2) + '%'
}
}, },
grid: { grid: {
left:"0", left:"0",
......
...@@ -124,6 +124,8 @@ export default { ...@@ -124,6 +124,8 @@ export default {
this.typeList.forEach((item, index) => { this.typeList.forEach((item, index) => {
item.count = this.statistic[item.category]?this.statistic[item.category][item.field]:0 item.count = this.statistic[item.category]?this.statistic[item.category][item.field]:0
}) })
this.typeList[2].count = 10 //写死代表有数据,英文统计里面没这项
this.typeList[3].count = 10 //写死代表有数据,英文统计里面没这项
}, },
handleType(it, idx){ handleType(it, idx){
if(it.count){ if(it.count){
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
</div> </div>
</div> </div>
<div class="company-menu"> <div class="company-menu">
<el-button v-if="ifClaim==1" class="hasClaim" v-loading="claimLoading"><i class="el-ico-claim" alt="已认领" title="已认领"></i> 已认领</el-button> <el-button v-if="ifClaim==1" class="hasClaim"><i class="el-ico-claim" alt="已认领" title="已认领"></i> 已认领</el-button>
<el-button @click="handleClaim" v-else class="claim" v-loading="claimLoading"><i class="el-ico-claim" alt="认领客户" title="认领客户"></i> 认领客户</el-button> <el-button @click="handleClaim" v-else class="claim" v-loading="claimLoading"><i class="el-ico-claim" alt="认领客户" title="认领客户"></i> 认领客户</el-button>
</div> </div>
...@@ -182,7 +182,7 @@ export default { ...@@ -182,7 +182,7 @@ export default {
this.claimLoading = true this.claimLoading = true
let param = {companyId:this.companyId, uipId:this.companyInfo.uipId, companyName:this.companyInfo.companyName} let param = {companyId:this.companyId, uipId:this.companyInfo.uipId, companyName:this.companyInfo.companyName}
let res = await claim(param) let res = await claim(param)
this.tableLoading = false this.claimLoading = false
if(res.code==200){ if(res.code==200){
this.dialogVisible=true this.dialogVisible=true
this.ifClaim = 1 this.ifClaim = 1
......
...@@ -119,7 +119,8 @@ export default { ...@@ -119,7 +119,8 @@ export default {
}).reduce((prev, cur) => prev + cur) }).reduce((prev, cur) => prev + cur)
this.viewData = this.viewData.map(item => { this.viewData = this.viewData.map(item => {
let number = this.statistic[item.category]&&this.statistic[item.category][item.field]?this.statistic[item.category][item.field]:0 let number = this.statistic[item.category]&&this.statistic[item.category][item.field]?this.statistic[item.category][item.field]:0
let it = {name:item.name, value:number, tz: '', bl:parseFloat(Number(Number(number)/Number(totalVal)*100).toFixed(2))+'%'} let bl = number ? parseFloat(Number(Number(number)/Number(totalVal)*100).toFixed(2)) : 0
let it = {name:item.name, value:number, tz: '', bl:bl+'%'}
return it return it
}) })
this.viewData.sort((a, b) => { this.viewData.sort((a, b) => {
...@@ -141,7 +142,7 @@ export default { ...@@ -141,7 +142,7 @@ export default {
if(params.data.tz){ if(params.data.tz){
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;" >'+ params.data.tz +'亿元</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;" >'+ params.data.tz +'亿元</p>'
} }
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.bl +'%</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.bl+'</p>'
return result; return result;
}, },
extraCssText:'width:150px!important;', extraCssText:'width:150px!important;',
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="common-title">招标公告</div> <div class="common-title">招标公告</div>
<template v-if="zbggList.length>0"> <template v-if="zbggList.length>0">
<div class="tender-item" v-for="(item, index) in zbggList" :key="index"> <div class="tender-item" v-for="(item, index) in zbggList" :key="index">
<div class="flex-box tender-title"><div class="text-cl1" :title="item.projectName"><router-link :to="'/radar/Bidding/details/'+item.bid" tag="a" class="a-link">{{item.projectName}}</router-link></div><span :class="item.tenderStage=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'">{{item.tenderStage}}</span></div> <div class="flex-box tender-title"><div class="text-cl1" :title="item.projectName"><router-link :to="'/radar/Tender/details/'+item.bid" tag="a" class="a-link">{{item.projectName}}</router-link></div><span :class="item.projectCategory=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'">{{item.projectCategory}}</span></div>
<span class="tender-time">{{item.issueTime}}</span> <span class="tender-time">{{item.issueTime}}</span>
</div> </div>
</template> </template>
......
...@@ -13,22 +13,22 @@ export default { ...@@ -13,22 +13,22 @@ export default {
data() { data() {
return { return {
loading: false, // 是否加载中 loading: false, // 是否加载中
navHeight: 68, // iframe距离顶部距离px
iframeHight: window.innerHeight, // iframe高度 iframeHight: window.innerHeight, // iframe高度
scrollTop: 0, // 滚动条距离内部页面顶部距离 scrollTop: 0, // 滚动条距离内部页面顶部距离
// domain: 'https://pre-plug.jiansheku.com', domain: 'https://pre-plug.jiansheku.com',
domain: 'http://192.168.60.30:3300', // domain: 'http://192.168.60.30:3300',
ak: 'aec7b3ff2y2q8x6t49a7e2c463ce21912' // 需要携带的sdkId ak: 'aec7b3ff2y2q8x6t49a7e2c463ce21912' // 需要携带的sdkId
} }
}, },
created() { created() {
if (this.$route.params.id) { // 获取companyId if (this.$route.params.id) { // 获取companyId
this.loading = true this.loading = true
// this.src = `https://pre-plug.jiansheku.com/enterprise/${this.$route.params.id}?ak=${this.ak}`
if(this.$route.name=='Company'){ //企业详情 if(this.$route.name=='Company'){ //企业详情
this.src = `${this.domain}/enterprise/${this.$route.params.id}?ak=${this.ak}` this.src = `${this.domain}/enterprise/${this.$route.params.id}?ak=${this.ak}`
} }
if(this.$route.name=='Personnel'){ //人员详情 if(this.$route.name=='Personnel'){ //人员详情
this.src = `${this.domain}/personnel/${this.$route.params.id}.html?ak=${this.ak}&referrer=true` this.src = `${this.domain}/personnel/${this.$route.params.id}.html?ak=${this.ak}`
} }
} }
}, },
...@@ -53,12 +53,16 @@ export default { ...@@ -53,12 +53,16 @@ export default {
} }
// 点击栏目名及子标签动态设置滚动高度 // 点击栏目名及子标签动态设置滚动高度
if (data.scrollHeight) { if (data.scrollHeight) {
window.scrollTo(sc, parseInt(data.scrollHeight) + 83) window.scrollTo(sc, parseInt(data.scrollHeight) + _this.navHeight + 15)
} }
// 点击下拉子标签动态设置滚动高度 // 点击下拉子标签动态设置滚动高度
if (data.clientHeight) { if (data.clientHeight) {
window.scrollTo(sc, sc - 30) window.scrollTo(sc, sc - 30)
} }
// 点击下拉子标签动态设置滚动高度
if (data.initHeight || data.initHeight===0) {
window.scrollTo(sc, data.initHeight)
}
} }
}) })
}, },
...@@ -69,7 +73,7 @@ export default { ...@@ -69,7 +73,7 @@ export default {
// 准备传值 // 准备传值
this.$nextTick(() => { this.$nextTick(() => {
const ifa = this.$refs.companyIframe const ifa = this.$refs.companyIframe
ifa.contentWindow.postMessage({ 'scrollTop': this.scrollTop }, '*') ifa.contentWindow.postMessage({ 'scrollTop': this.scrollTop, 'navHeight': this.navHeight }, '*')
}) })
} }
} }
......
...@@ -2,9 +2,8 @@ ...@@ -2,9 +2,8 @@
<div> <div>
<div class="content"> <div class="content">
<div class="content_item"> <div class="content_item">
<div class="label">项目名称</div>
<div class="content_right item_ckquery_list"> <div class="content_right item_ckquery_list">
<el-input class="ename_input" placeholder="请输入项目名称关键字" v-model="keys" > <el-input class="ename_input" placeholder="请输入企业名称关键字" v-model="keys" >
<div slot="append" class="btn-search" @click="search">搜索</div> <div slot="append" class="btn-search" @click="search">搜索</div>
</el-input> </el-input>
...@@ -12,7 +11,7 @@ ...@@ -12,7 +11,7 @@
</div> </div>
<div class="content_item"> <div class="content_item">
<div class="label">基本信息</div> <div class="label">企业地区</div>
<div class="content_right item_ckquery_list"> <div class="content_right item_ckquery_list">
<div class="select-popper" > <div class="select-popper" >
<span :class="{color_text:jskBidQueryDto.provinceIds.length ||jskBidQueryDto.cityIds.length ||jskBidQueryDto.areaIds.length,}"> <span :class="{color_text:jskBidQueryDto.provinceIds.length ||jskBidQueryDto.cityIds.length ||jskBidQueryDto.areaIds.length,}">
...@@ -111,7 +110,7 @@ ...@@ -111,7 +110,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">
项目明细 查询结果列表
</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">
...@@ -145,7 +144,7 @@ ...@@ -145,7 +144,7 @@
<el-table :data="tableData" :header-cell-style="{ background:'#F0F3FA'}" element-loading-text="Loading" border highlight-current-row> <el-table :data="tableData" :header-cell-style="{ background:'#F0F3FA'}" element-loading-text="Loading" border highlight-current-row>
<el-table-column type="index" label="序号" width="60"> <el-table-column type="index" label="序号" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{(pageNum - 1) *10 + scope.$index + 1}}</span> <span>{{(pageNum - 1) *20 + scope.$index + 1}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="公司名称" width="430" > <el-table-column label="公司名称" width="430" >
...@@ -277,7 +276,12 @@ ...@@ -277,7 +276,12 @@
{{scope.row.accountsReceivable||"--"}} {{scope.row.accountsReceivable||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="公益性&准公益性主营占比" width="168" > <el-table-column label="其他应收款(亿元)" width="132" >
<template slot-scope="scope">
{{scope.row.otherReceivable||"--"}}
</template>
</el-table-column>
<el-table-column label="公益性&准公益性主营占比(%)" width="188" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.econData_001||"--"}} {{scope.row.econData_001||"--"}}
</template> </template>
...@@ -302,7 +306,7 @@ ...@@ -302,7 +306,7 @@
{{scope.row.belongNetProfit||"--"}} {{scope.row.belongNetProfit||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="净资产收益率" width="96" > <el-table-column label="净资产收益率(%)" width="136" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.roe||"--"}} {{scope.row.roe||"--"}}
</template> </template>
...@@ -332,27 +336,27 @@ ...@@ -332,27 +336,27 @@
{{scope.row.uipInterestBearingDebt||"--"}} {{scope.row.uipInterestBearingDebt||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="有息债务/总负债" width="114" > <el-table-column label="有息债务/总负债(%)" width="134" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.econData_002||"--"}} {{scope.row.econData_002||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="综合融资成本" width="96" > <el-table-column label="综合融资成本(%)" width="116" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.ofcb||"--"}} {{scope.row.ofcb||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="现金比率" width="72" > <el-table-column label="现金比率(%)" width="92" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.cashRatio||"--"}} {{scope.row.cashRatio||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="现金流量比率" width="96" > <el-table-column label="现金流量比率(%)" width="116" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.cashFlowRatio||"--"}} {{scope.row.cashFlowRatio||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="现金到期债务比" width="112" > <el-table-column label="现金到期债务比(%)" width="132" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.cashDebtRatio||"--"}} {{scope.row.cashDebtRatio||"--"}}
</template> </template>
...@@ -362,7 +366,7 @@ ...@@ -362,7 +366,7 @@
{{scope.row.creditBalance||"--"}} {{scope.row.creditBalance||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="授信余额/全部债务" width="126" > <el-table-column label="授信余额/全部债务(%)" width="146" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.econData_003||"--"}} {{scope.row.econData_003||"--"}}
</template> </template>
...@@ -372,17 +376,17 @@ ...@@ -372,17 +376,17 @@
{{scope.row.ebitdaIcr||"--"}} {{scope.row.ebitdaIcr||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="私募债余额占比" width="108" > <el-table-column label="私募债余额占比(%)" width="128" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.ppnBalanceProp||"--"}} {{scope.row.ppnBalanceProp||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="一年内到期债权占比" width="132" > <el-table-column label="一年内到期债权占比(%)" width="152" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.econData_004||"--"}} {{scope.row.econData_004||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="债券余额/有息债务" width="132" > <el-table-column label="债券余额/有息债务(%)" width="152" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.econData_005||"--"}} {{scope.row.econData_005||"--"}}
</template> </template>
...@@ -392,7 +396,7 @@ ...@@ -392,7 +396,7 @@
{{scope.row.loan||"--"}} {{scope.row.loan||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="借款/有息债务" width="102" > <el-table-column label="借款/有息债务(%)" width="122" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.econData_006||"--"}} {{scope.row.econData_006||"--"}}
</template> </template>
...@@ -402,7 +406,7 @@ ...@@ -402,7 +406,7 @@
{{scope.row.nonStandardBalance||"--"}} {{scope.row.nonStandardBalance||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="非标余额/有息债务" width="132" > <el-table-column label="非标余额/有息债务(%)" width="152" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.nonStandardRatio||"--"}} {{scope.row.nonStandardRatio||"--"}}
</template> </template>
...@@ -412,9 +416,9 @@ ...@@ -412,9 +416,9 @@
{{scope.row.guaranteeAmount||"--"}} {{scope.row.guaranteeAmount||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="对外担保比例" width="96" > <el-table-column label="对外担保比例(%)" width="116" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.guaranteeAmount||"--"}} {{scope.row.guaranteeRatio||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="所属开发区" width="84" > <el-table-column label="所属开发区" width="84" >
...@@ -610,11 +614,12 @@ export default { ...@@ -610,11 +614,12 @@ export default {
this.domicile.push(arr[i].label); this.domicile.push(arr[i].label);
} }
} }
var obj = JSON.parse(JSON.stringify(this.landMarketDto)); var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.provinceIds = provinceIds; obj.provinceIds = provinceIds;
obj.cityIds = cityIds; obj.cityIds = cityIds;
obj.areaIds = areaIds; obj.areaIds = areaIds;
this.landMarketDto = obj; this.jskBidQueryDto = obj;
this.search();
}, },
...@@ -677,16 +682,16 @@ export default { ...@@ -677,16 +682,16 @@ export default {
}, },
checkuipExecutivebtn(val){ checkuipExecutivebtn(val){
if(val){
this.uipExecutiveText =[]; this.uipExecutiveText =[];
} this.checkuipExecutive=true;
this.search();
}, },
uipExecutiveLevelbtn(val){ uipExecutiveLevelbtn(val){
if(val.length>0){ if(val.length>0){
this.checkuipExecutive=false; this.checkuipExecutive=false;
}else if(val.length==0){ }else if(val.length==0){
this.checkuipExecutive=true; this.checkuipExecutive==true;
} }
this.search(); this.search();
...@@ -947,8 +952,11 @@ export default { ...@@ -947,8 +952,11 @@ export default {
margin-right: 20px; margin-right: 20px;
::v-deep .el-input-group__append{ ::v-deep .el-input-group__append{
cursor: pointer; cursor: pointer;
padding: 0px;
.btn-search{ .btn-search{
width: 70px;
color: #0081ff; color: #0081ff;
text-align: center;
} }
} }
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="content"> <div class="content">
<div class="content_item"> <div class="content_item">
<div class="content_right item_ckquery_list"> <div class="content_right item_ckquery_list">
<el-input class="ename_input" placeholder="请输入项目名称关键字" v-model="ename" @input="projectNamebtn('ename',ename,'关键字:')"> <el-input class="ename_input" placeholder="请输入关键字,如企业名称、统一社会信用代码等" v-model="ename" @input="projectNamebtn('ename',ename,'关键字:')">
<div slot="append" class="btn-search" @click="submitbtn">搜索</div> <div slot="append" class="btn-search" @click="submitbtn">搜索</div>
</el-input> </el-input>
<template v-if="ename"> <template v-if="ename">
...@@ -48,9 +48,9 @@ ...@@ -48,9 +48,9 @@
</div> </div>
</div> </div>
<div class="content_item content_item1"> <div class="content_item content_item1">
<div class="label">更多选项</div> <div class="label">更多筛选</div>
<div class="content_right "> <div class="content_right ">
<div class="select-popper"> <!-- <div class="select-popper">
<div class=" " :class="regionWeb.length>0?'select-active':''"> <div class=" " :class="regionWeb.length>0?'select-active':''">
备案网站{{regionWeb.length>0?(regionWeb.length+'项'):''}} 备案网站{{regionWeb.length>0?(regionWeb.length+'项'):''}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
</el-option> </el-option>
</el-select> </el-select>
</div> </div> -->
<div class="select-popper"> <div class="select-popper">
<el-dropdown trigger="click" placement='bottom-start' > <el-dropdown trigger="click" placement='bottom-start' >
<div class="el-dropdown-link " :class="filePlaceCode?'select-active':''"> <div class="el-dropdown-link " :class="filePlaceCode?'select-active':''">
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
</el-dropdown> </el-dropdown>
</div> </div>
<div class="select-popper"> <!-- <div class="select-popper">
<el-dropdown trigger="click" placement='bottom-start'> <el-dropdown trigger="click" placement='bottom-start'>
<div class="el-dropdown-link " :class="hasPhone?'select-active':''"> <div class="el-dropdown-link " :class="hasPhone?'select-active':''">
有无联系电话{{hasPhone?' 1项':''}} 有无联系电话{{hasPhone?' 1项':''}}
...@@ -153,8 +153,8 @@ ...@@ -153,8 +153,8 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div> -->
<div class="select-popper"> <!-- <div class="select-popper">
<el-dropdown trigger="click" placement='bottom-start'> <el-dropdown trigger="click" placement='bottom-start'>
<div class="el-dropdown-link " :class="hasLiceCert!=''?'select-active':''"> <div class="el-dropdown-link " :class="hasLiceCert!=''?'select-active':''">
<span>建筑安许证{{hasLiceCert!=''?' 1项':''}}</span> <span>建筑安许证{{hasLiceCert!=''?' 1项':''}}</span>
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div> -->
<div class="select-popper"> <div class="select-popper">
<div class=" " :class="systemValue.length>0?'select-active':''"> <div class=" " :class="systemValue.length>0?'select-active':''">
管理体系认证{{systemValue.length>0?(systemValue.length+'项'):''}} 管理体系认证{{systemValue.length>0?(systemValue.length+'项'):''}}
...@@ -280,7 +280,7 @@ ...@@ -280,7 +280,7 @@
<el-dropdown-menu slot="dropdown" class="dropdown-list-radio"> <el-dropdown-menu slot="dropdown" class="dropdown-list-radio">
<template v-for=" (item,i) in registeredAssets"> <template v-for=" (item,i) in registeredAssets">
<el-dropdown-item v-if='item.value!="自定义"' <el-dropdown-item v-if='item.value!="自定义"'
:class="item.value==registeredAssetsText?'colort_ext ':''" :class="item.value==registeredAssetsText?'color_text ':''"
:command="{'value':item.value,'key':'注册资本','label':item.label}"> :command="{'value':item.value,'key':'注册资本','label':item.label}">
<p @click="registeredAssetsText=item.value"> <p @click="registeredAssetsText=item.value">
{{item.value}} {{item.value}}
...@@ -288,9 +288,9 @@ ...@@ -288,9 +288,9 @@
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-else command="自定义" style="padding: 0px;"> <el-dropdown-item v-else command="自定义" style="padding: 0px;">
<div @mouseenter="showHandleNumber = true" <div @mouseenter="showHandleNumber = true"
:class="registeredAssetsText=='自定义'?'colort_ext':''" style="padding: 0px 20px;" :class="registeredAssetsText=='自定义'?'color_text':''" style="padding: 0px 20px;"
@mouseleave="showHandleNumber = false"> @mouseleave="showHandleNumber = false">
<span :class="registeredAssetsText=='自定义'?'colort_ext':''"> <span :class="registeredAssetsText=='自定义'?'color_text':''">
自定义<i class="el-icon-arrow-right" style="padding-left: 24px;"></i> 自定义<i class="el-icon-arrow-right" style="padding-left: 24px;"></i>
</span> </span>
<div class="jabph_popper_box" style="position:absolute;left: 124px;" <div class="jabph_popper_box" style="position:absolute;left: 124px;"
...@@ -324,7 +324,7 @@ ...@@ -324,7 +324,7 @@
<el-dropdown-menu slot="dropdown" class="dropdown-list-radio"> <el-dropdown-menu slot="dropdown" class="dropdown-list-radio">
<template v-for=" (item,i) in registeredAssets"> <template v-for=" (item,i) in registeredAssets">
<el-dropdown-item v-if='item.value!="自定义"' <el-dropdown-item v-if='item.value!="自定义"'
:class="item.value==actualCapi?'colort_ext ':''" :class="item.value==actualCapi?'color_text ':''"
:command="{'value':item.value,'key':'实缴资本','label':item.label}"> :command="{'value':item.value,'key':'实缴资本','label':item.label}">
<p @click="actualCapi=item.value"> <p @click="actualCapi=item.value">
{{item.value}} {{item.value}}
...@@ -332,9 +332,9 @@ ...@@ -332,9 +332,9 @@
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-else command="自定义" style="padding: 0px;"> <el-dropdown-item v-else command="自定义" style="padding: 0px;">
<div @mouseenter="showHandleNumber = true" <div @mouseenter="showHandleNumber = true"
:class="actualCapi=='自定义'?'colort_ext':''" style="padding: 0px 20px;" :class="actualCapi=='自定义'?'color_text':''" style="padding: 0px 20px;"
@mouseleave="showHandleNumber = false"> @mouseleave="showHandleNumber = false">
<span :class="actualCapi=='自定义'?'colort_ext':''"> <span :class="actualCapi=='自定义'?'color_text':''">
自定义<i class="el-icon-arrow-right" style="padding-left: 24px;"></i> 自定义<i class="el-icon-arrow-right" style="padding-left: 24px;"></i>
</span> </span>
<div class="jabph_popper_box" style="position:absolute;left: 124px;" <div class="jabph_popper_box" style="position:absolute;left: 124px;"
...@@ -373,7 +373,7 @@ ...@@ -373,7 +373,7 @@
<el-dropdown-menu slot="dropdown" class="dropdown-list-radio"> <el-dropdown-menu slot="dropdown" class="dropdown-list-radio">
<template v-for=" (item,i) in InsuredNumList"> <template v-for=" (item,i) in InsuredNumList">
<el-dropdown-item v-if='item.value!="自定义"' <el-dropdown-item v-if='item.value!="自定义"'
:class="item.value==InsuredNumText?'colort_ext ':''" :class="item.value==InsuredNumText?'color_text ':''"
:command="{'value':item.value,'key':'社保人数','label':item.label}"> :command="{'value':item.value,'key':'社保人数','label':item.label}">
<p @click="InsuredNumText=item.value"> <p @click="InsuredNumText=item.value">
{{item.value}} {{item.value}}
...@@ -381,9 +381,9 @@ ...@@ -381,9 +381,9 @@
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-else command="自定义" style="padding: 0px;"> <el-dropdown-item v-else command="自定义" style="padding: 0px;">
<div @mouseenter="showHandleNumber = true" <div @mouseenter="showHandleNumber = true"
:class="InsuredNumText=='自定义'?'colort_ext':''" style="padding: 0px 20px;"> :class="InsuredNumText=='自定义'?'color_text':''" style="padding: 0px 20px;">
<!-- @mouseleave="showHandleNumber = false" --> <!-- @mouseleave="showHandleNumber = false" -->
<span :class="InsuredNumText=='自定义'?'colort_ext':''"> <span :class="InsuredNumText=='自定义'?'color_text':''">
自定义<i class="el-icon-arrow-right" style="padding-left: 24px;"></i> 自定义<i class="el-icon-arrow-right" style="padding-left: 24px;"></i>
</span> </span>
<div class="jabph_popper_box" style="position:absolute;left: 124px;" <div class="jabph_popper_box" style="position:absolute;left: 124px;"
...@@ -777,6 +777,10 @@ ...@@ -777,6 +777,10 @@
{ {
value: '1', value: '1',
label: '是高新企业' label: '是高新企业'
},
{
value: '0',
label: '不是高新企业'
} }
], ],
...@@ -1407,7 +1411,7 @@ ...@@ -1407,7 +1411,7 @@
}).catch(error=>{ }).catch(error=>{
this.optionss = aptitudeCode; this.optionss = aptitudeCode;
}); });
this.getRegionWebList();
this.getaddressList(); this.getaddressList();
this.submitbtn(); this.submitbtn();
...@@ -1642,20 +1646,10 @@ ...@@ -1642,20 +1646,10 @@
getRegionWebList(){ getRegionWebList(){
api.searchDic().then(res=>{ api.searchDic().then(res=>{
if (res) { if (res) {
this.regionWebList = res this.regionWebList = res.regionWeb;
} else {
api.regionWebList().then(res=>{
if (res) {
this.regionWebList = res
}
})
} }
}).catch(error=>{ }).catch(error=>{
   api.regionWebList().then(res=>{
if (res) {
this.regionWebList = res
}
})
}); });
}, },
...@@ -2597,9 +2591,9 @@ ...@@ -2597,9 +2591,9 @@
reset() { reset() {
Object.assign(this.$data, this.$options.data()) //重置data Object.assign(this.$data, this.$options.data()) //重置data
this.$axios.get('https://files.jiansheku.com/file/json/common/aptitudeCode.json').then(res => { api.aptitudeCode().then(res=>{
if (res && res.status == 200) { if (res) {
this.optionss = res.data; this.optionss = res;
} else { } else {
this.optionss = aptitudeCode; this.optionss = aptitudeCode;
...@@ -2607,8 +2601,8 @@ ...@@ -2607,8 +2601,8 @@
} }
}).catch(error=>{ }).catch(error=>{
this.optionss = aptitudeCode; this.optionss = aptitudeCode;
  
}); });
this.getaddressList(); this.getaddressList();
this.getRegionWebList(); this.getRegionWebList();
......
...@@ -146,6 +146,7 @@ ...@@ -146,6 +146,7 @@
//添加客户 //添加客户
submitForm(formName) { submitForm(formName) {
this.queryParam.userId = this.$store.state.user.userId this.queryParam.userId = this.$store.state.user.userId
this.queryParam.investmentAmount = parseFloat(this.queryParam.investmentAmount)
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
addProject(this.queryParam).then(result=>{ addProject(this.queryParam).then(result=>{
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="cardtitles" v-if="showtype != 'projectgjdt'">跟进记录</div> <div class="cardtitles" v-if="showtype != 'projectgjdt'">跟进记录</div>
<div style="height: 24px" v-if="showtype == 'projectgjdt'"></div> <div style="height: 24px" v-if="showtype == 'projectgjdt'"></div>
<div class="records"> <div class="records">
<div class="writeIn"> <div class="writeIn" v-if="isDisabled == false">
<div class="default" v-if="isEdit == false" @click="getEdit"> <div class="default" v-if="isEdit == false" @click="getEdit">
<img src="@/assets/images/project/add_3.png"> <img src="@/assets/images/project/add_3.png">
<div>新建一条跟进记录,如:周五上午预约客户上门拜访</div> <div>新建一条跟进记录,如:周五上午预约客户上门拜访</div>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
</el-input> </el-input>
</div> </div>
<div class="times"><img src="@/assets/images/project/ico_4.png"> <div class="times"><img src="@/assets/images/project/ico_4.png">
<el-date-picker class="w128" <el-date-picker class="w128" value-format="yyyy-MM-dd"
v-model="addParam.nextVisitTime" v-model="addParam.nextVisitTime"
type="date" type="date"
placeholder="下次拜访时间"> placeholder="下次拜访时间">
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
<div class="rec_time"> <div class="rec_time">
<i class="el-icon-time"></i> <i class="el-icon-time"></i>
<div>{{item.creatTime}}</div> <div>{{item.creatTime}}</div>
<div class="operate"> <div class="operate" v-if="isDisabled == false">
<!--<img src="@/assets/images/edit.png">第一期不做编辑--> <!--<img src="@/assets/images/edit.png">第一期不做编辑-->
<img @click="delRecord(item.id)" src="@/assets/images/delete.png"> <img @click="delRecord(item.id)" src="@/assets/images/delete.png">
</div> </div>
...@@ -145,6 +145,7 @@ ...@@ -145,6 +145,7 @@
default: 0 default: 0
}, },
datas:[],//数据源 datas:[],//数据源
isDisabled:false,
}, },
name: 'gjjl', name: 'gjjl',
data(){ data(){
...@@ -171,11 +172,13 @@ ...@@ -171,11 +172,13 @@
projectId:this.detailId ? this.detailId : parseInt(this.$route.query.id),//项目详情id projectId:this.detailId ? this.detailId : parseInt(this.$route.query.id),//项目详情id
userId:this.$store.state.user.userId,//当前用户id userId:this.$store.state.user.userId,//当前用户id
projectList:[],//关联项目 projectList:[],//关联项目
isDisabled:this.isDisabled,
} }
}, },
computed: { computed: {
}, },
created(){ created(){
console.log(this.isDisabled)
//获取拜访方式 //获取拜访方式
getDictType('visit_mode_type').then(result=>{ getDictType('visit_mode_type').then(result=>{
this.bffslist = result.code == 200 ? result.data:[] this.bffslist = result.code == 200 ? result.data:[]
...@@ -183,6 +186,7 @@ ...@@ -183,6 +186,7 @@
this.showtype = this.types this.showtype = this.types
//客户管理跟进动态 //客户管理跟进动态
if(this.showtype == 'gjdt'){ if(this.showtype == 'gjdt'){
this.isDisabled = false
getUserList().then(result=>{ getUserList().then(result=>{
this.glqylist = result.data this.glqylist = result.data
}) })
...@@ -194,6 +198,7 @@ ...@@ -194,6 +198,7 @@
} }
//项目管理跟进动态 //项目管理跟进动态
if(this.showtype == 'projectgjdt'){ if(this.showtype == 'projectgjdt'){
this.isDisabled = false
this.projectId = null//项目id暂时清空,必须手选id this.projectId = null//项目id暂时清空,必须手选id
relateProject(this.userId).then(res=>{ relateProject(this.userId).then(res=>{
this.projectList = res.data this.projectList = res.data
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="cardtitles">工作待办</div> <div class="cardtitles">工作待办</div>
<div class="records"> <div class="records">
<div class="writeIn"> <div class="writeIn" v-if="isDisabled == false">
<div class="default" v-if="isEdit == false" @click="getEdit"> <div class="default" v-if="isEdit == false" @click="getEdit">
<img src="@/assets/images/project/add_3.png"> <img src="@/assets/images/project/add_3.png">
<div>新建一条工作代办,如:周五上午预约客户上门拜访</div> <div>新建一条工作代办,如:周五上午预约客户上门拜访</div>
...@@ -15,15 +15,17 @@ ...@@ -15,15 +15,17 @@
</div> </div>
<div class="wr_bot"> <div class="wr_bot">
<div class="times"><img src="@/assets/images/project/ico_4.png"> <div class="times"><img src="@/assets/images/project/ico_4.png">
<el-date-picker <el-date-picker value-format="yyyy-MM-dd"
v-model="queryParam.finishTime" v-model="queryParam.finishTime"
type="date" type="date"
placeholder="完成时间"> placeholder="完成时间">
</el-date-picker> </el-date-picker>
</div> </div>
<div class="sels">
<img src="@/assets/images/project/ico_2.png">
<el-input v-model="queryParam.target" placeholder="拜访对象" style="width: 100px;"> <el-input v-model="queryParam.target" placeholder="拜访对象" style="width: 100px;">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_2.png"></i>
</el-input> </el-input>
</div>
<div class="btn btn_primary h32 wc" @click="add" :disabled="queryParam.task == ''" :class="{'btn_disabled':queryParam.task == ''}">完成</div> <div class="btn btn_primary h32 wc" @click="add" :disabled="queryParam.task == ''" :class="{'btn_disabled':queryParam.task == ''}">完成</div>
</div> </div>
</div> </div>
...@@ -34,11 +36,11 @@ ...@@ -34,11 +36,11 @@
<div class="task_con"><span>发起时间:{{item.createTime}}</span><span v-if="item.target">关联客户:<font class="wordprimary">{{item.target}}</font></span><span v-if="item.finishTime">完成时间:{{item.finishTime}}</span></div> <div class="task_con"><span>发起时间:{{item.createTime}}</span><span v-if="item.target">关联客户:<font class="wordprimary">{{item.target}}</font></span><span v-if="item.finishTime">完成时间:{{item.finishTime}}</span></div>
<div class="select" :class="{'on':item.state == 2}"> <div class="select" :class="{'on':item.state == 2}">
<div class="select-popper"> <div class="select-popper">
<span class="color_text"> <span>
{{item.state == 2?"已完成":"未完成"}} {{item.state == 2?"已完成":"未完成"}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select placeholder="请选择" v-model="item.state" class="select-multiple" @change="changes(item.id,$event)"> <el-select v-if="isDisabled == false" placeholder="请选择" v-model="item.state" class="select-multiple" @change="changes(item.id,$event)">
<el-option label="未完成" value="1"></el-option> <el-option label="未完成" value="1"></el-option>
<el-option label="已完成" value="2"></el-option> <el-option label="已完成" value="2"></el-option>
</el-select> </el-select>
...@@ -73,7 +75,8 @@ ...@@ -73,7 +75,8 @@
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
} },
isDisabled:false,
}, },
data(){ data(){
return{ return{
...@@ -94,6 +97,7 @@ ...@@ -94,6 +97,7 @@
}, },
datalist:[], datalist:[],
yqnum:0,//已逾期数量 yqnum:0,//已逾期数量
isDisabled:this.isDisabled,
} }
}, },
created(){ created(){
...@@ -109,6 +113,9 @@ ...@@ -109,6 +113,9 @@
if(result.code == 200){ if(result.code == 200){
this.$message.success("添加成功!") this.$message.success("添加成功!")
this.getList() this.getList()
this.queryParam.target = ''
this.queryParam.task = ''
this.queryParam.finishTime = ''
}else{ }else{
this.$message.error(result.msg) this.$message.error(result.msg)
} }
...@@ -162,4 +169,7 @@ ...@@ -162,4 +169,7 @@
width: 100px; width: 100px;
margin-right: 12px; margin-right: 12px;
} }
.times .el-input__icon >img{
width: 16px;
}
</style> </style>
...@@ -14,13 +14,16 @@ ...@@ -14,13 +14,16 @@
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div> <div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div> <div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div> <div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisabled==false">新增联系人</div>
</div> </div>
</template> </template>
<el-table-column <el-table-column
prop="name" prop="name"
label="姓名" label="姓名"
width="113"> width="113">
<template slot-scope="scope">
{{scope.row.name || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
...@@ -38,20 +41,32 @@ ...@@ -38,20 +41,32 @@
label="角色" label="角色"
sortable sortable
width="146"> width="146">
<template slot-scope="scope">
{{scope.row.role || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="office" prop="office"
label="公司/机关"> label="关联企业">
<template slot-scope="scope">
{{scope.row.office || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="position" prop="position"
label="职位" label="职位"
width="125"> width="125">
<template slot-scope="scope">
{{scope.row.position || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="phone" prop="phone"
label="联系方式" label="联系方式"
width="175"> width="175">
<template slot-scope="scope">
{{scope.row.phone || '--'}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="accendant" prop="accendant"
...@@ -86,18 +101,24 @@ ...@@ -86,18 +101,24 @@
<el-form-item label="联系人姓名:" class="row"> <el-form-item label="联系人姓名:" class="row">
<el-input type="text" v-model="queryParam.name" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.name" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人性别:" class="row">
<el-radio-group v-model="queryParam.sex">
<el-radio label=1></el-radio>
<el-radio label=0></el-radio>
</el-radio-group>
</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" v-model="queryParam.role" 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.position" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系人公司/机关:" class="row">
<el-input type="text" v-model="queryParam.office" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.office" 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.position" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<!--<el-form-item label="内部维护人:" class="row">-->
<!--<el-input type="text" v-model="queryParam.accendant" 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.phone" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.phone" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
...@@ -120,7 +141,8 @@ ...@@ -120,7 +141,8 @@
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
} },
isDisabled:false,
}, },
data(){ data(){
return{ return{
...@@ -140,6 +162,7 @@ ...@@ -140,6 +162,7 @@
total:0, total:0,
projectname:this.$route.query.projectname, projectname:this.$route.query.projectname,
queryParam:[], queryParam:[],
isDisabled:this.isDisabled,
} }
}, },
created(){ created(){
...@@ -148,6 +171,7 @@ ...@@ -148,6 +171,7 @@
methods:{ methods:{
getDetail(item){ getDetail(item){
this.dialogVisible = true this.dialogVisible = true
item.sex = item.sex.toString()
this.queryParam = item this.queryParam = item
this.isnew = false this.isnew = false
}, },
...@@ -158,8 +182,10 @@ ...@@ -158,8 +182,10 @@
}) })
}, },
save(){ save(){
let param = JSON.parse(JSON.stringify(this.queryParam))
param.sex = parseInt(param.sex)
if(this.isnew == false){ if(this.isnew == false){
editLXR(this.queryParam).then(result=>{ editLXR(param).then(result=>{
if(result.code == 200){ if(result.code == 200){
this.$message.success('保存成功!') this.$message.success('保存成功!')
this.getList() this.getList()
...@@ -168,7 +194,7 @@ ...@@ -168,7 +194,7 @@
}) })
} }
if(this.isnew == true){ if(this.isnew == true){
addLXR(this.queryParam).then(result=>{ addLXR(param).then(result=>{
if(result.code == 200){ if(result.code == 200){
this.$message.success('新增成功!') this.$message.success('新增成功!')
this.getList() this.getList()
...@@ -192,11 +218,12 @@ ...@@ -192,11 +218,12 @@
this.queryParam = { this.queryParam = {
businessId:this.id, businessId:this.id,
name:"", name:"",
sex:"1",
role:"", role:"",
office:"", office:"",
position:"", position:"",
phone:"", phone:"",
accendant:"", // accendant:"",
} }
}, },
} }
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
<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="true" v-model="searchParam.companyType" @change="handleCurrentChange(1)"> <el-select class="select" placeholder="企业类型" clearable v-model="searchParam.companyType" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in companytype" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in companytype" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
<div class="searchInput"> <div class="searchInput">
<el-input type="text" placeholder="输入关键词查询" v-model="searchParam.companyName"></el-input> <el-input type="text" placeholder="输入关键词查询" clearable v-model="searchParam.companyName"></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"><div class="img img1"></div>添加相关企业</div> <div class="btn btn_primary h32 b3" @click="opennew" v-if="isDisabled == false"><div class="img img1"></div>添加相关企业</div>
</div> </div>
<div class="document tables"> <div class="document tables">
<el-table <el-table
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或添加相关企业,重新搜索</div> <div class="p2">建议调整关键词或添加相关企业,重新搜索</div>
<!--<div class="btn btn_primary h36 w102" @click="opennew">新增相关企业</div>--> <div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisabled==false">新增相关企业</div>
</div> </div>
</template> </template>
<el-table-column <el-table-column
...@@ -36,13 +36,13 @@ ...@@ -36,13 +36,13 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="depth" prop="depth"
sortable
label="对接深度/竞争力度" label="对接深度/竞争力度"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="companyRole" prop="companyRole"
label="企业角色" label="企业角色"
sortable
width=""> width="">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
label="负责人" label="负责人"
width=""> width="">
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-if="isDisabled == false"
prop="name" prop="name"
label="" label=""
align="right" align="right"
...@@ -143,7 +143,8 @@ ...@@ -143,7 +143,8 @@
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
} },
isDisabled:false,
}, },
data(){ data(){
return{ return{
...@@ -179,6 +180,7 @@ ...@@ -179,6 +180,7 @@
companyName:'', companyName:'',
}, },
ondel:-1, ondel:-1,
isDisabled:this.isDisabled,
} }
}, },
created(){ created(){
...@@ -266,6 +268,9 @@ ...@@ -266,6 +268,9 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.searchInput .el-input{
width: 68%;
}
.w102{ .w102{
width: 102px; width: 102px;
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<div class="con"> <div class="con">
<span>项目级别 :</span> <span>项目级别 :</span>
<div class="inputxt" id="inputxt1"> <div class="inputxt" id="inputxt1">
<div class="flex" v-if="nowedit == 1"> <div class="flex" v-if="nowedit == 1 && isDisabled == false" >
<el-input placeholder="待添加" v-model="xmsldata.projectLevel"></el-input> <el-input placeholder="待添加" v-model="xmsldata.projectLevel"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({projectLevel:xmsldata.projectLevel})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({projectLevel:xmsldata.projectLevel})">确定</div>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
{{xmjd}} {{xmjd}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select v-model="xmjd" class="select-multiple" placeholder="请选择" @change="editXMSL({projectStage:xmjd})"> <el-select v-if="isDisabled==false" v-model="xmjd" class="select-multiple" placeholder="请选择" @change="editXMSL({projectStage:xmjd})">
<el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</div> </div>
...@@ -38,9 +38,9 @@ ...@@ -38,9 +38,9 @@
<div class="flex tipinput"> <div class="flex tipinput">
<div class="tips" v-for="(item,index) in tipslit">{{item}}<img @click="deltip(item)" src="@/assets/images/project/del.png"></div> <div class="tips" v-for="(item,index) in tipslit">{{item}}<img @click="deltip(item)" src="@/assets/images/project/del.png"></div>
<div style="position: relative"> <div style="position: relative">
<el-input placeholder="待添加" v-model="tipsvalue" @input="getValue" :style="spanWidth"></el-input><span class="spanText">{{ tipsvalue }}</span> <el-input placeholder="待添加" :disabled="isDisabled" v-model="tipsvalue" @input="getValue" :style="spanWidth"></el-input><span class="spanText">{{ tipsvalue }}</span>
</div> </div>
<div class="addbtn" @click="addtips"></div> <div class="addbtn" v-if="isDisabled == false" @click="addtips"></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<div class="con"> <div class="con">
<span>主管单位 :</span> <span>主管单位 :</span>
<div class="inputxt" id="inputxt2"> <div class="inputxt" id="inputxt2">
<div class="flex" v-if="nowedit == 2"> <div class="flex" v-if="nowedit == 2 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.supervisorUnit"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorUnit"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({supervisorUnit:xmsldata.supervisorUnit})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({supervisorUnit:xmsldata.supervisorUnit})">确定</div>
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
<div class="con i"> <div class="con i">
<span>建设单位 :</span> <span>建设单位 :</span>
<div class="inputxt" id="inputxt3" :style="{width:rig1}"> <div class="inputxt" id="inputxt3" :style="{width:rig1}">
<div class="flex" v-if="nowedit == 3"> <div class="flex" v-if="nowedit == 3 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionUnit"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionUnit"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({constructionUnit:xmsldata.constructionUnit})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({constructionUnit:xmsldata.constructionUnit})">确定</div>
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
<div class="con"> <div class="con">
<span>主管单位负责人 :</span> <span>主管单位负责人 :</span>
<div class="inputxt" id="inputxt4"> <div class="inputxt" id="inputxt4">
<div class="flex" v-if="nowedit == 4"> <div class="flex" v-if="nowedit == 4 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.supervisorPrincipal"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorPrincipal"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({supervisorPrincipal:xmsldata.supervisorPrincipal})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({supervisorPrincipal:xmsldata.supervisorPrincipal})">确定</div>
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
<div class="con i"> <div class="con i">
<span>建设单位负责人 :</span> <span>建设单位负责人 :</span>
<div class="inputxt" id="inputxt5"> <div class="inputxt" id="inputxt5">
<div class="flex" v-if="nowedit == 5"> <div class="flex" v-if="nowedit == 5 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionPrincipal"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionPrincipal"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({constructionPrincipal:xmsldata.constructionPrincipal})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({constructionPrincipal:xmsldata.constructionPrincipal})">确定</div>
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
<div class="con"> <div class="con">
<span>主管单位联系电话 :</span> <span>主管单位联系电话 :</span>
<div class="inputxt" id="inputxt6"> <div class="inputxt" id="inputxt6">
<div class="flex" v-if="nowedit == 6"> <div class="flex" v-if="nowedit == 6 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.supervisorPhone"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorPhone"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" @click="isphone(1,xmsldata.supervisorPhone)" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="isphone(1,xmsldata.supervisorPhone)" style="width: 56px">确定</div>
...@@ -123,7 +123,7 @@ ...@@ -123,7 +123,7 @@
<div class="con i"> <div class="con i">
<span>建设单位联系电话 :</span> <span>建设单位联系电话 :</span>
<div class="inputxt" id="inputxt7"> <div class="inputxt" id="inputxt7">
<div class="flex" v-if="nowedit == 7"> <div class="flex" v-if="nowedit == 7 && isDisabled == false">
<el-input placeholder="待添加" v-model="xmsldata.constructionPhone"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionPhone"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" @click="isphone(2,xmsldata.constructionPhone)" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="isphone(2,xmsldata.constructionPhone)" style="width: 56px">确定</div>
...@@ -177,7 +177,6 @@ ...@@ -177,7 +177,6 @@
export default { export default {
name: 'xmsl', name: 'xmsl',
props:{ props:{
datas:'',
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
...@@ -191,9 +190,10 @@ ...@@ -191,9 +190,10 @@
xmjd:'待添加', xmjd:'待添加',
projectStage:[],//项目阶段 projectStage:[],//项目阶段
id: this.detailId ? this.detailId : this.$route.query.id, id: this.detailId ? this.detailId : this.$route.query.id,
xmsldata:this.datas, xmsldata:[],
spanWidth:'width: 70px', spanWidth:'width: 70px',
rig1:'184px', rig1:'184px',
isDisabled:false,
} }
}, },
created(){ created(){
...@@ -205,6 +205,8 @@ ...@@ -205,6 +205,8 @@
}, },
mounted(){ mounted(){
document.addEventListener('mouseup',(e) => { document.addEventListener('mouseup',(e) => {
if(this.isDisabled == true)
return false
let j = 0 let j = 0
for(var i=1;i<=7;i++){ for(var i=1;i<=7;i++){
let isSelf = document.getElementById('inputxt'+i).contains(event.target) // 这个是自己的区域 let isSelf = document.getElementById('inputxt'+i).contains(event.target) // 这个是自己的区域
...@@ -215,6 +217,33 @@ ...@@ -215,6 +217,33 @@
} }
} }
if(j == 7){ if(j == 7){
if(this.nowedit != -1){
let param = {}
switch (this.nowedit) {
case 1:
param = {'projectLevel':this.xmsldata.projectLevel}
break;
case 2 :
param = {'supervisorUnit':this.xmsldata.supervisorUnit}
break;
case 3 :
param = {'constructionUnit':this.xmsldata.constructionUnit}
break;
case 4 :
param = {'supervisorPrincipal':this.xmsldata.supervisorPrincipal}
break;
case 5 :
param = {'constructionPrincipal':this.xmsldata.constructionPrincipal}
break;
case 6 :
param = {'supervisorPhone':this.xmsldata.supervisorPhone}
break;
case 7 :
param = {'constructionPhone':this.xmsldata.constructionPhone}
break;
}
this.editXMSL(param)
}
this.nowedit = -1 this.nowedit = -1
} }
}) })
...@@ -232,6 +261,9 @@ ...@@ -232,6 +261,9 @@
}); });
}, },
editXMSL(param){ editXMSL(param){
this.nowedit = -1
if(this.isDisabled == true)
return false
if(param.projectStage){//修改项目阶段 if(param.projectStage){//修改项目阶段
this.$emit('Refreshs',param) this.$emit('Refreshs',param)
this.xmjd = param.projectStage this.xmjd = param.projectStage
...@@ -240,13 +272,14 @@ ...@@ -240,13 +272,14 @@
params.id = this.id params.id = this.id
editXMNR(JSON.stringify(params)).then(res=>{ editXMNR(JSON.stringify(params)).then(res=>{
if (res.code == 200){ if (res.code == 200){
if(!param.projectStage){
this.$message.success('修改成功!') this.$message.success('修改成功!')
}
}else{ }else{
this.$message.error(res.msg) this.$message.error(res.msg)
this.getXMSL() this.getXMSL()
} }
}) })
this.nowedit = -1
} }
}, },
//验证电话号码 //验证电话号码
...@@ -307,8 +340,7 @@ ...@@ -307,8 +340,7 @@
this.xmjd = result.data.projectStage this.xmjd = result.data.projectStage
this.tipslit = result.data.labelList this.tipslit = result.data.labelList
this.xmsldata = result.data this.xmsldata = result.data
this.isDisabled = result.data.isFounder == 1 ? false:true
const spanStyle = document.querySelector(".rig1"); const spanStyle = document.querySelector(".rig1");
this.$nextTick(() => { // 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上 this.$nextTick(() => { // 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上
this.rig1 = this.rig1 =
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="searchbtns"> <div class="searchbtns">
<!--<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"> <div class="searchInput">
<el-input type="text" v-model="param.keyword" placeholder="输入关键词查询"></el-input> <el-input type="text" v-model="param.keyword" clearable placeholder="输入关键词查询"></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"><div class="img img2"></div>上传</div> <div class="btn btn_primary h32 b2" @click="getUP"><div class="img img2"></div>上传</div>
...@@ -51,9 +51,9 @@ ...@@ -51,9 +51,9 @@
<template slot="empty"> <template slot="empty">
<div class="empty"> <div class="empty">
<img src="@/assets/images/project/empty.png"> <img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div> <div class="p1">抱歉,没找到相关数据</div>
<div class="p2">抱歉,你还未添加相关数据,快去上传吧</div> <div class="p2">建议调整关键词或筛选条件,重新搜索</div>
<div class="btn btn_primary h36 w102" @click="getUP">上传文档</div> <div v-if="isDisabled==false" class="btn btn_primary h36 w102" @click="getUP">上传文档</div>
</div> </div>
</template> </template>
<el-table-column <el-table-column
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="hoverbtn"> <div class="hoverbtn">
<div class="xz" @click="downnlod(scope.row)">下载</div> <div class="xz" @click="downnlod(scope.row)">下载</div>
<div class="sc" @click="del(scope.row.filePath)">删除</div> <div class="sc" v-if="isDisabled == false" @click="del(scope.row.filePath)">删除</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -128,7 +128,8 @@ ...@@ -128,7 +128,8 @@
detailId: { //从企业详情跳转过来ID detailId: { //从企业详情跳转过来ID
type: Number, type: Number,
default: 0 default: 0
} },
isDisabled:false,
}, },
data(){ data(){
return{ return{
...@@ -150,6 +151,7 @@ ...@@ -150,6 +151,7 @@
fileDatas:[], fileDatas:[],
filename:'', filename:'',
ondel:"", ondel:"",
isDisabled:this.isDisabled,
} }
}, },
created(){ created(){
...@@ -192,6 +194,8 @@ ...@@ -192,6 +194,8 @@
} }
}, },
getUP(){ getUP(){
if(this.isDisabled==true)
return false
this.isupload=true this.isupload=true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.uploadFile.$children[0].$refs.input.webkitdirectory = true this.$refs.uploadFile.$children[0].$refs.input.webkitdirectory = true
...@@ -345,4 +349,7 @@ ...@@ -345,4 +349,7 @@
} }
} }
} }
.searchInput .el-input{
width: 68%;
}
</style> </style>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="contets row"> <div class="contets row" readonly>
<div class="det-con"> <div class="det-con">
<span>项目类型:</span> <span>项目类型:</span>
<div class="select-popper" > <div class="select-popper" >
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
{{xmlx}} {{xmlx}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select v-model="xmlx" class="select-multiple" placeholder="请选择" @change="editXMSL({projectType:xmlx})"> <el-select v-if="isDisabled == false" v-model="xmlx" class="select-multiple" placeholder="请选择" @change="editXMSL({projectType:xmlx})">
<el-option v-for="(item,index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</div> </div>
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
{{xmlb}} {{xmlb}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select v-model="xmlb" class="select-multiple" placeholder="请选择" @change="editXMSL({projectCategory:xmlb})"> <el-select v-if="isDisabled==false" v-model="xmlb" class="select-multiple" placeholder="请选择" @change="editXMSL({projectCategory:xmlb})">
<el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</div> </div>
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<div class="det-con con" id="inputxt"> <div class="det-con con" id="inputxt">
<span>投资估算(万元):</span> <span>投资估算(万元):</span>
<div class="inputxt i" :class="{'nomar':nowedit != 3}"> <div class="inputxt i" :class="{'nomar':nowedit != 3}">
<div class="flex" v-if="nowedit == 3"> <div class="flex" v-if="nowedit == 3 && isDisabled == false">
<el-input v-model="ProjectData.investmentAmount" placeholder="待添加" @input="number"></el-input> <el-input v-model="ProjectData.investmentAmount" placeholder="待添加" @input="number"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({investmentAmount:ProjectData.investmentAmount})">确定</div> <div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL({investmentAmount:ProjectData.investmentAmount})">确定</div>
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
{{addresstxt}} {{addresstxt}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-cascader class="cascader-region select-location" v-model="ProjectData.address" <el-cascader :disabled="isDisabled" class="cascader-region select-location" v-model="ProjectData.address"
ref="myCascader" :props="props" ref="myCascader" :props="props"
:options="addressList" :options="addressList"
@change="handleChange"></el-cascader> @change="handleChange"></el-cascader>
...@@ -107,19 +107,19 @@ ...@@ -107,19 +107,19 @@
</div> </div>
</el-card> </el-card>
<!--项目速览--> <!--项目速览-->
<xmsl v-if="thistag == 'xmsl'" :key="keys" @Refreshs="getsl" :datas="ProjectData" :detailId="detailId"></xmsl> <xmsl v-if="thistag == 'xmsl'" :key="keys" @Refreshs="getsl" :detailId="detailId"></xmsl>
<!--建设内容--> <!--建设内容-->
<jsnr v-if="thistag == 'jsnr'" :detailId="detailId"></jsnr> <jsnr v-if="thistag == 'jsnr'" :isDisabled='isDisabled' :detailId="detailId"></jsnr>
<!--联系人--> <!--联系人-->
<lxr v-if="thistag == 'lxr'" :detailId="detailId"></lxr> <lxr v-if="thistag == 'lxr'" :isDisabled='isDisabled' :detailId="detailId"></lxr>
<!--跟进记录--> <!--跟进记录-->
<gjjl v-if="thistag == 'gjjl'" types="gjjl" :detailId="detailId"></gjjl> <gjjl v-if="thistag == 'gjjl'" :isDisabled='isDisabled' types="gjjl" :detailId="detailId"></gjjl>
<!--工作待办--> <!--工作待办-->
<gzdb v-if="thistag == 'gzdb'" :detailId="detailId"></gzdb> <gzdb v-if="thistag == 'gzdb'" :isDisabled='isDisabled' :detailId="detailId"></gzdb>
<!--资料文档--> <!--资料文档-->
<zlwd v-if="thistag == 'zlwd'" :detailId="detailId"></zlwd> <zlwd v-if="thistag == 'zlwd'" :isDisabled='isDisabled' :detailId="detailId"></zlwd>
<!--相关企业--> <!--相关企业-->
<xgqy v-if="thistag == 'xgqy'" :detailId="detailId"></xgqy> <xgqy v-if="thistag == 'xgqy'" :isDisabled='isDisabled' :detailId="detailId"></xgqy>
</div> </div>
</div> </div>
</template> </template>
...@@ -175,6 +175,7 @@ ...@@ -175,6 +175,7 @@
props:{ checkStrictly: true, expandTrigger: 'hover' }, props:{ checkStrictly: true, expandTrigger: 'hover' },
id:'', id:'',
ProjectData:{}, ProjectData:{},
isDisabled:false,
keys:1, keys:1,
} }
}, },
...@@ -202,9 +203,14 @@ ...@@ -202,9 +203,14 @@
this.choose(data.projectStage) this.choose(data.projectStage)
}, },
handleALL(event){ handleALL(event){
if(this.isDisabled == true)
return false
var one = document.getElementById("inputxt"); var one = document.getElementById("inputxt");
if(one){ if(one){
if(!one.contains(event.target)){ if(!one.contains(event.target)){
if(this.nowedit != -1){
this.editXMSL({investmentAmount:this.ProjectData.investmentAmount})
}
this.nowedit = -1 this.nowedit = -1
}else{ }else{
this.nowedit = 3 this.nowedit = 3
...@@ -215,6 +221,7 @@ ...@@ -215,6 +221,7 @@
getXMSL(this.id).then(result=>{ getXMSL(this.id).then(result=>{
this.ProjectData = result.code==200?result.data:{} this.ProjectData = result.code==200?result.data:{}
this.$route.query.projectname = result.data.projectName this.$route.query.projectname = result.data.projectName
this.isDisabled = result.data.isFounder == 1 ? false:true
this.xmlx = result.data.projectType==""||result.data.projectType==null?"请选择":result.data.projectType this.xmlx = result.data.projectType==""||result.data.projectType==null?"请选择":result.data.projectType
this.xmlb = result.data.projectCategory==""||result.data.projectCategory==null?"请选择":result.data.projectCategory this.xmlb = result.data.projectCategory==""||result.data.projectCategory==null?"请选择":result.data.projectCategory
this.thisindex = result.data.projectStage this.thisindex = result.data.projectStage
...@@ -249,6 +256,8 @@ ...@@ -249,6 +256,8 @@
this.ProjectData.isPrivate = isPrivate this.ProjectData.isPrivate = isPrivate
}, },
editXMSL(param){ editXMSL(param){
if(this.isDisabled == true)
return false
let params = param let params = param
params.id = this.id params.id = this.id
editXMNR(JSON.stringify(params)).then(res=>{ editXMNR(JSON.stringify(params)).then(res=>{
...@@ -294,6 +303,8 @@ ...@@ -294,6 +303,8 @@
this.lastindex = value this.lastindex = value
}, },
choose(value){ choose(value){
if(this.isDisabled == true)
return false
this.thisindex = value this.thisindex = value
this.editXMSL({projectStage:value}) this.editXMSL({projectStage:value})
let _this = this let _this = this
......
...@@ -99,7 +99,9 @@ ...@@ -99,7 +99,9 @@
<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">
<div class="btn-export"><img src="@/assets/images/EXCEL.png">导出EXCEL</div> <div class="btn-export"><img src="@/assets/images/EXCEL.png">导出EXCEL</div>
</el-tooltip>
</div> </div>
</div> </div>
<div class="tables" v-if="total == 0"> <div class="tables" v-if="total == 0">
...@@ -452,6 +454,9 @@ export default { ...@@ -452,6 +454,9 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.btn_primary{
margin-top: 16px;
}
.jabph_popper_box{ .jabph_popper_box{
left: 110px; left: 110px;
} }
......
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
placeholder="请输入项目名称关键字" v-model="keyword" ></el-input> placeholder="请输入项目名称关键字" v-model="keyword" ></el-input>
</div> </div>
</div> </div>
<!-- <div class="content_item"> <div class="content_item">
<div class="label">参投单位</div> <div class="label">参投单位</div>
<div class="content_right"> <div class="content_right">
<el-input class="ename_input" <el-input class="ename_input"
placeholder="请输入参投单位关键字" v-model="jskBidQueryDto.companyName" ></el-input> placeholder="请输入参投单位关键字" v-model="jskBidQueryDto.companyName" ></el-input>
</div> </div>
</div> --> </div>
<div class="content_item"> <div class="content_item">
<div class="label">项目信息</div> <div class="label">项目信息</div>
<div class="content_right"> <div class="content_right">
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
</div> </div>
</el-dropdown> </el-dropdown>
<el-dropdown @command="tenderDatehandleCommand" trigger="click" ref="tenderDateShowPopper" :hide-on-click="false" > <el-dropdown @command="tenderDatehandleCommand" class="el-dropdown-land" trigger="click" ref="tenderDateShowPopper" :hide-on-click="false" >
<span class="el-dropdown-link" :class="tenderDateValue ? 'color_text' : ''" >开标时间{{ tenderDateValue ? " 1项" : ""}}<i class="el-icon-caret-bottom"></i> <span class="el-dropdown-link" :class="tenderDateValue ? 'color_text' : ''" >开标时间{{ tenderDateValue ? " 1项" : ""}}<i class="el-icon-caret-bottom"></i>
</span> </span>
...@@ -134,24 +134,24 @@ ...@@ -134,24 +134,24 @@
<p class="list-titel"> <p class="list-titel">
<router-link :to="'/radar/BidRecord/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName"></router-link> <router-link :to="'/radar/BidRecord/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName"></router-link>
</p> </p>
<div class="content-label"> <div class="content-label" v-if="item.domicile">
<span class="list-label list-label-zb" v-if="item.domicile"> <span class="list-label list-label-zb" v-if="item.domicile">
{{item.domicile}} {{item.domicile}}
</span> </span>
</div> </div>
<div class="list-content"> <div class="list-content" v-if="item.tenderTime||item.source||item.punishDate">
<p class="list-content-text"> <p class="list-content-text" v-if="item.tenderTime">
<span>开标时间:</span> <span>开标时间:</span>
<span>{{item.tenderTime||'--'}}</span> <span>{{item.tenderTime||'--'}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.punishDate">
<span>发布时间:</span> <span>发布时间:</span>
<span>{{item.punishDate||'--'}}</span> <span>{{item.punishDate||'--'}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.source">
<span>来源网站:</span> <span>来源网站:</span>
<span>{{item.source||'--'}}</span> <span>{{item.source||'--'}}</span>
</p> </p>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div class="label">招标单位</div> <div class="label">招标单位</div>
<div class="content_right"> <div class="content_right">
<el-input class="ename_input" <el-input class="ename_input"
placeholder="请输入招标单位关键字" v-model="jskBidPlanDto.tenderee" ></el-input> placeholder="请输入招标采购单位关键字" v-model="jskBidPlanDto.tenderee" ></el-input>
</div> </div>
</div> </div>
<div class="content_item"> <div class="content_item">
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
</div> </div>
<el-dropdown @command="planTenderAmounthandleCommand" class="el-dropdown-land" trigger="click" ref="planTenderAmountShowPopper" :hide-on-click="false"> <el-dropdown @command="planTenderAmounthandleCommand" class="el-dropdown-land" trigger="click" ref="planTenderAmountShowPopper" :hide-on-click="false">
<span class="el-dropdown-link" :class="jskBidPlanDto.startPlanTenderAmount ||jskBidPlanDto.endPlanTenderAmount ? 'color_text': ''"> <span class="el-dropdown-link" :class="jskBidPlanDto.startPlanTenderAmount ||jskBidPlanDto.endPlanTenderAmount ? 'color_text': ''">
成交金额{{jskBidPlanDto.startPlanTenderAmount ||jskBidPlanDto.endPlanTenderAmount? " 1项": ""}}<i class="el-icon-caret-bottom"></i> 合同预估金额{{jskBidPlanDto.startPlanTenderAmount ||jskBidPlanDto.endPlanTenderAmount? " 1项": ""}}<i class="el-icon-caret-bottom"></i>
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in planTenderAmount" :class="jskBidPlanDto.startPlanTenderAmount == item.value[0] &&jskBidPlanDto.endPlanTenderAmount == item.value[1] && <el-dropdown-item v-for="(item, i) in planTenderAmount" :class="jskBidPlanDto.startPlanTenderAmount == item.value[0] &&jskBidPlanDto.endPlanTenderAmount == item.value[1] &&
...@@ -155,46 +155,55 @@ ...@@ -155,46 +155,55 @@
<router-link :to="'/radar/Bidding/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName" ></router-link> <router-link :to="'/radar/Bidding/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName" ></router-link>
<!-- <div v-else-if="item.projectName" v-html="item.projectName"></div> --> <!-- <div v-else-if="item.projectName" v-html="item.projectName"></div> -->
</p> </p>
<div class="content-label"> <div class="content-label" v-if="(item.province||item.city||item.city)||(item.projectType&&item.projectType!='其他'&&item.projectType!='空白')||(item.objectType&&item.objectType!='其他'&&item.objectType!='空白')">
<span class="list-label" v-if="item.projectType">{{item.projectType}}</span> <span class="list-label" v-if="item.domicile">
{{item.province}}
<template v-if="item.city">
-{{item.city}}
</template>
<template v-if="item.city">
-{{item.city}}
</template>
</span>
<span class="list-label list-label-wl" v-if="item.objectType">{{item.objectType}}</span> <span class="list-label list-label-wl" v-if="item.objectType">{{item.objectType}}</span>
<span class="list-label list-label-lx" v-if="item.projectType">{{item.projectType}}</span> <span class="list-label list-label-lx" v-if="item.projectType">{{item.projectType}}</span>
</div> </div>
<div class="list-content"> <div class="list-content" v-if="item.tenderee||item.planTenderAmount||item.projectCapitalSource">
<p class="list-content-text"> <p class="list-content-text" v-if="item.tenderee">
<span>招采单位:</span> <span>招采单位:</span>
<router-link v-if="item.tendereeId" :to="'/company/' + encodeStr(item.tendereeId) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.tenderee"></router-link> <router-link v-if="item.tendereeId" :to="'/company/' + encodeStr(item.tendereeId) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.tenderee"></router-link>
<span v-else>{{item.tenderee||'--'}}</span> <span v-else>{{item.tenderee||'--'}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.planTenderAmount">
<span>合同预估金额(万元):</span> <span>合同预估金额(万元):</span>
<span>{{item.planTenderAmount||'--'}}</span> <span>{{item.planTenderAmount||'--'}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.projectCapitalSource">
<span>资金来源:</span> <span>资金来源:</span>
<span>{{item.projectCapitalSource||'--'}}</span> <span>{{item.projectCapitalSource||'--'}}</span>
</p> </p>
</div> </div>
<div class="list-content"> <div class="list-content" v-if="item.issueTime||item.planTenderDateStart||item.sourceName">
<p class="list-content-text"> <p class="list-content-text" v-if="item.issueTime">
<span>发布时间:</span> <span>发布时间:</span>
<span >{{item.issueTimestamp||'--'}}</span> <span >{{item.issueTime||'--'}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.planTenderDateStart">
<span>预计招标时间:</span> <span>预计招标时间:</span>
<span>{{item.planTenderDateStart||'--'}}</span> <span>{{item.planTenderDateStart||'--'}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.sourceName">
<span>来源网站:</span> <span>来源网站:</span>
<span >{{item.sourceName||'--'}}</span> <span >{{item.sourceName||'--'}}</span>
</p> </p>
</div> </div>
<div class="list-content list-addree"> <div class="list-content list-addree" v-if="item.projectScale">
<p class="list-content-text"> <p class="list-content-text">
<span class="content-text-gc">工程规模:</span> <span class="content-text-gc">工程规模:</span>
<span class="content-text-p">{{item.projectScale||'--'}}</span> <span class="content-text-p">{{item.projectScale||'--'}}</span>
...@@ -789,7 +798,7 @@ export default { ...@@ -789,7 +798,7 @@ export default {
width: auto; width: auto;
background: #F3F4F5; background: #F3F4F5;
display: inline-flex; display: inline-flex;
margin-top: 7px; margin-top: 12px;
.list-content-text{ .list-content-text{
margin-top: 0px; margin-top: 0px;
span{ span{
......
...@@ -190,52 +190,55 @@ ...@@ -190,52 +190,55 @@
<p class="list-titel"> <p class="list-titel">
<router-link :to="'/radar/Establishment/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName" ></router-link> <router-link :to="'/radar/Establishment/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName" ></router-link>
</p> </p>
<div class="content-label" v-if="item.domicile||item.projectType&&item.projectType!='其他'&&item.projectType!='空白'||item.industry&&item.industry!='其他'&&item.industry!='空白'">
<span class="list-label " v-if="item.projectType&&item.projectType!='其他'&&item.projectType!='空白'">
{{item.projectType}}
</span>
<span class="list-label list-label-wl" v-if="item.industry&&item.industry!='其他'&&item.industry!='空白'">
{{item.industry}}
</span>
<span class="list-label list-label-lx" v-if="item.domicile">
{{item.domicile}}
</span>
</div>
<div class="list-content"> <div class="list-content">
<p class="list-content-text"v-if="item.companyName"> <p class="list-content-text" v-if="item.companyName">
<span>建设/申请单位</span> <span>项目业主</span>
<span class="blue">{{item.companyName}}</span> <router-link :to="`/company/${encodeStr(item.companyId)}/`" tag="a" class="list-titel-a blue" v-html="item.companyName" ></router-link>
</p> </p>
<p class="list-content-text"v-if="item.handleTime">
<span>发布日期:</span> <p class="list-content-text"v-if="item.money">
<span>{{item.handleTime}}</span> <span>总投资:</span>
<span v-html="item.money+'万元'"></span>
</p> </p>
<p class="list-content-text"v-if="item.examineStatus"> <p class="list-content-text"v-if="item.planStartTime">
<span>办件结果</span> <span>计划开工日期</span>
<span>{{item.examineStatus}}</span> <span>{{item.planStartTime}}</span>
</p> </p>
<p class="list-content-text"v-if="item.industry"> <p class="list-content-text"v-if="item.planEndTime">
<span>行业分类</span> <span>计划完工日期</span>
<span>{{item.industry}}</span> <span>{{item.planEndTime}}</span>
</p> </p>
<p class="list-content-text"v-if="item.buildNature"> <p class="list-content-text"v-if="item.isProject!=null">
<span>建设性质</span> <span>是否为民间推介项目</span>
<span>{{item.buildNature}}</span> <span>{{item.isProject==0?'否':'是'}}</span>
</p> </p>
</div> </div>
<div class="list-content list-addree"> <div class="list-content" v-if="item.buildScale">
<template v-if="item.province||item.city||item.district"> <p class="list-content-text" >
<img src="@/assets/images/addree.png" alt=""> <span>建设规模:</span>
<p class="list-content-text"> <span>{{item.buildScale}}</span>
<span>行政区划:</span>
<span >
{{item.province}}
<template v-if="item.city">
-{{item.city}}
</template>
<template v-if="item.district">
-{{item.district}}
</template>
</span>
</p> </p>
</template>
</div> </div>
</li> </li>
</ul> </ul>
<div class="pagination clearfix" v-show="total>0"> <div class="pagination clearfix" v-show="total>0">
...@@ -557,8 +560,8 @@ ...@@ -557,8 +560,8 @@
methods: { methods: {
searchDic(){ searchDic(){
api.searchDic().then(res=>{ api.searchDic().then(res=>{
this.projectTypeOptions = res.data.projectType; this.projectTypeOptions = res.projectType;
this.industryOptions = res.data.establishmentIndustry this.industryOptions = res.establishmentIndustry
}).catch(error=>{ }).catch(error=>{
}); });
...@@ -1260,7 +1263,7 @@ ...@@ -1260,7 +1263,7 @@
} }
} }
.content-label{ .content-label{
margin-top: 7px; margin-top: 12px;
.list-label{ .list-label{
background: #F3F3FF; background: #F3F3FF;
color: #8491E8; color: #8491E8;
...@@ -1270,11 +1273,20 @@ ...@@ -1270,11 +1273,20 @@
font-size: 12px; font-size: 12px;
} }
.list-label-wl{
background: #e8f7f0;
color: #38c8bf;
}
.list-label-lx{
background: #e4f3fd;
color: #41a1fd;
}
} }
.list-content{ .list-content{
margin-top: 3px; margin-top: 8px;
display: flex; display: flex;
justify-content: start; justify-content: start;
align-items: center; align-items: center;
......
...@@ -208,12 +208,12 @@ ...@@ -208,12 +208,12 @@
<p class="list-content-text" v-if="item.companyName"> <p class="list-content-text" v-if="item.companyName">
<span>招采单位:</span> <span>招采单位:</span>
<router-link v-if="item.jskEid" :to="'/company/' + encodeStr(item.jskEid) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.companyName"></router-link> <router-link v-if="item.jskEid" :to="'/company/' + encodeStr(item.jskEid) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.companyName"></router-link>
<span v-else class="blue">{{item.companyName||'--'}}</span> <span v-else class="blue" v-html="item.companyName"></span>
</p> </p>
<p class="list-content-text" v-if="item.agency"> <p class="list-content-text" v-if="item.agency">
<span>代理单位:</span> <span>代理单位:</span>
<router-link v-if="item.agencyId" :to="'/company/' + encodeStr(item.agencyId) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.agency"></router-link> <router-link v-if="item.agencyId" :to="'/company/' + encodeStr(item.agencyId) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.agency"></router-link>
<span v-else class="blue">{{item.agency||'--'}}</span> <span v-else class="blue" v-html="item.agency"></span>
</p> </p>
</div> </div>
...@@ -222,9 +222,16 @@ ...@@ -222,9 +222,16 @@
<span>预算金款:</span> <span>预算金款:</span>
<span>{{item.bidMoney||'--'}}万元</span> <span>{{item.bidMoney||'--'}}万元</span>
</p> </p>
<p class="list-content-text" v-if="item.contact"> <p class="list-content-text" v-if="item.contactTel || item.agencyContactTel">
<span>联系方式:</span> <span>联系方式:</span>
<span >招采单位{{item.contact}}{{item.contactTel}} </span> <span >
<template v-if="item.contactTel">
招采单位 {{ item.contact }} {{ item.contactTel}}{{item.contactTel && item.agencyContactTel ? ";" : ""}}
</template>
<template v-if="item.agencyContactTel">
代理单位 {{ item.agencyContact }} {{ item.agencyContactTel }}
</template>
</span>
</p> </p>
</div> </div>
...@@ -716,8 +723,8 @@ ...@@ -716,8 +723,8 @@
methods: { methods: {
searchDic(){ searchDic(){
api.searchDic().then(res=>{ api.searchDic().then(res=>{
this.projectTypeOptions = res.data.projectType; this.projectTypeOptions = res.projectType;
this.subjectMatterOptions = res.data.subjectMatter this.subjectMatterOptions = res.subjectMatter
}).catch(error=>{ }).catch(error=>{
}); });
......
<template> <template>
<div> <div>
<div class="user-info-head" @click="editCropper()"><img v-bind:src="options.img" title="点击上传头像" class="img-circle img-lg" /></div> <div class="user-info-head" @click="editCropper()">
<img v-bind:src="options.img" title="点击上传头像" class="img-circle img-lg" v-if="options.img" />
<span v-else class="userInfo-avatar" v-else>{{ options.name&&options.name.slice(0, 1).toUpperCase() }}</span>
</div>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body @opened="modalOpened" @close="closeDialog"> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body @opened="modalOpened" @close="closeDialog">
<el-row> <el-row>
<el-col :xs="24" :md="12" :style="{height: '350px'}"> <el-col :xs="24" :md="12" :style="{height: '350px'}">
...@@ -75,6 +78,7 @@ export default { ...@@ -75,6 +78,7 @@ export default {
// 弹出层标题 // 弹出层标题
title: "修改头像", title: "修改头像",
options: { options: {
name: store.getters.name, //用户名称
img: store.getters.avatar, //裁剪图片的地址 img: store.getters.avatar, //裁剪图片的地址
autoCrop: true, // 是否默认生成截图框 autoCrop: true, // 是否默认生成截图框
autoCropWidth: 200, // 默认生成截图框宽度 autoCropWidth: 200, // 默认生成截图框宽度
...@@ -89,7 +93,7 @@ export default { ...@@ -89,7 +93,7 @@ export default {
methods: { methods: {
// 编辑头像 // 编辑头像
editCropper() { editCropper() {
this.open = true; // this.open = true;
}, },
// 打开弹出层结束时的回调 // 打开弹出层结束时的回调
modalOpened() { modalOpened() {
...@@ -167,7 +171,7 @@ export default { ...@@ -167,7 +171,7 @@ export default {
height: 120px; height: 120px;
} }
.user-info-head:hover:after { /*.user-info-head:hover:after {
content: '+'; content: '+';
position: absolute; position: absolute;
left: 0; left: 0;
...@@ -183,5 +187,5 @@ export default { ...@@ -183,5 +187,5 @@ export default {
cursor: pointer; cursor: pointer;
line-height: 110px; line-height: 110px;
border-radius: 50%; border-radius: 50%;
} }*/
</style> </style>
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