Commit 047a873d authored by lcl's avatar lcl
parents ecb66a76 cf5ab054
...@@ -35,7 +35,7 @@ public class EnterpriseBussinessController { ...@@ -35,7 +35,7 @@ public class EnterpriseBussinessController {
@ApiOperation(value = "客户项目列表(openApi)") @ApiOperation(value = "客户项目列表(openApi)")
@RequestMapping(value = "/clientProjectPage", method = RequestMethod.POST) @RequestMapping(value = "/clientProjectPage", method = RequestMethod.POST)
public TableDataInfo clientProjectPage(@RequestBody EnterpriseBussinessClientProjectPageBody paramMap) throws Exception { public Map<String, Object> clientProjectPage(@RequestBody EnterpriseBussinessClientProjectPageBody paramMap) throws Exception {
return enterpriseBussinessService.clientProjectPage(paramMap); return enterpriseBussinessService.clientProjectPage(paramMap);
} }
...@@ -59,7 +59,7 @@ public class EnterpriseBussinessController { ...@@ -59,7 +59,7 @@ public class EnterpriseBussinessController {
@ApiOperation(value = "供应商项目列表(openApi)") @ApiOperation(value = "供应商项目列表(openApi)")
@RequestMapping(value = "/supplierProjectPage",method = RequestMethod.POST) @RequestMapping(value = "/supplierProjectPage",method = RequestMethod.POST)
public TableDataInfo supplierProjectPage(@RequestBody EnterpriseBussinessSupplierProjectPageBody paramMap) throws Exception { public Map<String, Object> supplierProjectPage(@RequestBody EnterpriseBussinessSupplierProjectPageBody paramMap) throws Exception {
return enterpriseBussinessService.supplierProjectPage(paramMap); return enterpriseBussinessService.supplierProjectPage(paramMap);
} }
......
...@@ -18,6 +18,11 @@ public class EnterpriseBussinessHistorySendPageBody extends BasePage { ...@@ -18,6 +18,11 @@ public class EnterpriseBussinessHistorySendPageBody extends BasePage {
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer cid; private Integer cid;
/**
* 查询关键字
*/
private String keys;
/* /*
* 排序条件:1金额倒序,2金额正序,3时间倒序,4时间正序,7下浮率倒序,8下浮率正序,9工期倒序,10工期正序 * 排序条件:1金额倒序,2金额正序,3时间倒序,4时间正序,7下浮率倒序,8下浮率正序,9工期倒序,10工期正序
*/ */
......
...@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull; ...@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectLandDetailBody { public class EnterpriseProjectLandDetailBody {
/** /**
* 企业id * id
*/ */
@NotNull(message = "id不能为空") @NotNull(message = "id不能为空")
private Integer id; private Integer id;
......
...@@ -17,7 +17,7 @@ public class EnterpriseUipSearchBody extends BasePage { ...@@ -17,7 +17,7 @@ public class EnterpriseUipSearchBody extends BasePage {
/** /**
* 查询关键字 * 查询关键字
*/ */
private String keys; private List<String> keys;
/* /*
......
...@@ -41,4 +41,9 @@ public class SpecialPurposeBondsDto { ...@@ -41,4 +41,9 @@ public class SpecialPurposeBondsDto {
* 排序 (降序desc 升序asc) * 排序 (降序desc 升序asc)
*/ */
private String order; private String order;
/**
* 是否为历史(1是,0否)
*/
private Integer isHistory;
} }
...@@ -5,7 +5,7 @@ import lombok.Data; ...@@ -5,7 +5,7 @@ import lombok.Data;
/** /**
* @ClassName SpecialPurposeBonds * @ClassName SpecialPurposeBonds
* @Description 专项债-项目类别统计 * @Description 专项债-项目分页列表
* @Author Dgm * @Author Dgm
* @Date 2023/5/23 14:05 * @Date 2023/5/23 14:05
* @Version * @Version
...@@ -16,4 +16,18 @@ public class SpecialPurposeBondsPageDto extends BasePage { ...@@ -16,4 +16,18 @@ public class SpecialPurposeBondsPageDto extends BasePage {
* 省Id * 省Id
*/ */
private Integer provinceId; private Integer provinceId;
/**
* 排序字段 默认-投资金额
*/
private String field;
/**
* 排序 (降序desc 升序asc)
*/
private String order;
/**
* 是否为历史(1是,0否)
*/
private Integer isHistory;
} }
...@@ -51,7 +51,17 @@ let claim= function claim(param) { ...@@ -51,7 +51,17 @@ let claim= function claim(param) {
data: param data: param
}) })
} }
// 查建筑企业
let enterprisePage= function enterprisePage(param) {
return request({
url: '/enterprise/page',
method: 'post',
data: param
})
}
export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim} export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim,enterprisePage}
\ No newline at end of file \ No newline at end of file
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
width: 200px; width: 200px;
height: 114px; height: 114px;
background: #FFFFFF; background: #FFFFFF;
box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1608); box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.12);
border-radius: 2px; border-radius: 2px;
position: absolute; position: absolute;
z-index: 3; z-index: 3;
...@@ -279,12 +279,15 @@ ...@@ -279,12 +279,15 @@
//表格样式 //表格样式
.tables{ .tables{
padding: 0 16px 24px; padding: 0 16px 24px;
.el-table .el-table__header-wrapper th{ .el-table .el-table__header-wrapper th,.el-table th.el-table__cell.is-leaf{
color: #4f4f4f; color: #4f4f4f;
background: #F0F3FA; background: #F0F3FA;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
} }
.el-table__fixed::before{
background: none;
}
.is-sortable .sort-caret.ascending{ .is-sortable .sort-caret.ascending{
border-bottom-color: #0081FF; border-bottom-color: #0081FF;
opacity: 0.4; opacity: 0.4;
...@@ -339,7 +342,7 @@ ...@@ -339,7 +342,7 @@
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
line-height: 21px; line-height: 21px;
margin-bottom: 4px; margin-bottom: 8px;
} }
.p2{ .p2{
height: 18px; height: 18px;
...@@ -1130,3 +1133,30 @@ ...@@ -1130,3 +1133,30 @@
padding-top: 14px; padding-top: 14px;
padding-bottom: 18px; padding-bottom: 18px;
} }
.tables{
::-webkit-scrollbar-track-piece {
//滚动条凹槽的颜色,还可以设置边框属性
background-color: #F3F4F5;
height: 16px;
padding: 0 4px;
}
//滚动条的宽度
::-webkit-scrollbar {
width: 8px;
height: 16px;
background-color: #F3F4F5;
border-radius: 6px;
}
//滚动条的滑块
::-webkit-scrollbar-thumb {
border-radius: 8px;
height: 8px;
margin: 0 4px;
background: rgba(98,110,126,0.2);
border: 4px solid #F3F4F5;
&:hover{
background: #566380;
}
}
}
...@@ -463,21 +463,6 @@ select { ...@@ -463,21 +463,6 @@ select {
display: inline-block; display: inline-block;
} }
.viewlist-el-popover .pup_list li .VIP {
width: 24px;
height: 12px;
top: 0px;
right: -8px;
position: absolute;
}
.viewlist-el-popover .pup_list li .SVIP {
width: 24px;
height: 12px;
top: 0px;
right: -10px;
position: absolute;
}
.viewlist-el-popover .pup_list li:hover { .viewlist-el-popover .pup_list li:hover {
color: #0081FF; color: #0081FF;
...@@ -725,3 +710,365 @@ select { ...@@ -725,3 +710,365 @@ select {
.checkbox .checkbox-content .checkbox-content-qx{ .checkbox .checkbox-content .checkbox-content-qx{
margin-right: 30px; margin-right: 30px;
} }
.toolbar-right-search {
margin-left: 16px;
}
.bottomlist-title-left{
display: inline-flex;
align-items: center;
}
.toolbar-right-search .toolbar-right_input {
width: 228px;
display: inline-flex;
align-items: center;
}
.toolbar-right-search .el-input__inner {
width: 228px;
height: 32px;
line-height: 32px;
}
.toolbar-right-search .el-input .el-input__inner {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: none;
height: 32px;
line-height: 32px;
}
.toolbar-right-search .el-input-group__append{
padding: 0;
}
.toolbar-right-search .result-search {
height: 32px;
line-height: 32px;
}
.toolbar-right-search .toolbar-right-search .el-input .el-input__inner {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: none;
height: 32px;
line-height: 32px;
}
.toolbar-right-search .result-search {
width: 80px;
height: 32px;
background: #0081FF;
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
text-align: center;
line-height: 32px;
padding: 0;
cursor: pointer;
color: #fff;
}
.toolbar-right-search .result-search:hover {
background: #0074E5;
}
.info-list {
display: flex;
/* width: 1200px; */
margin: auto;
background: #fff;
padding: 24px 0px;
border-bottom: 1px solid #EFEFEF;
/* cursor: pointer; */
}
.info-list:hover {
background: #F5FAFF;
}
.info-list .info-list-left {
width: 128px;
display: flex;
justify-content: center;
align-items: flex-start;
}
.info-list .info-list-right {
width: auto;
}
.info-list-left img {
width: 96px;
height: 96px;
}
.info-list-left .list-left-titel {
width: 78px;
height: 78px;
line-height: 78px;
border-radius: 4px 4px 4px 4px;
text-align: center;
color: #fff;
font-size: 32px;
}
.info-list-right .card-right-title {
display: flex;
align-items: center;
line-height: 18px;
/* cursor: pointer; */
}
.info-list-right .card-right-title .card-right-img {
width: 14px;
height: 14px;
margin-right: 2px;
margin-top: 2px;
}
.info-list-right .card-right-title .right-title-black {
display: inline-block;
font-weight: 400;
color: #333333;
margin-right: 24px;
}
.info-list-right .card-right-title .right-title-black-640 {
max-width: 640px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.info-list-right .card-right-title .right-title-blue {
font-weight: 400;
color: #0081FF;
margin-right: 24px;
cursor: pointer;
}
.info-list-right .card-right-title .right-title-grey {
font-weight: 400;
color: #999999;
}
.info-list-right .card-right-title .right-title-blue .blue {
color: #0081FF;
margin-right: 12px;
}
.info-list-right .card-right-title .right-title-blue .black {
color: #333333;
margin-right: 12px;
}
.info-list-right .card-right-title .right-title-blue .grey {
color: #999999;
margin-right: 12px;
}
/* 标题 */
.info-list-right .card-right-title .title {
font-size: 18px;
font-weight: bold;
color: #333333;
margin-right: 12px;
line-height: 24px;
cursor: pointer;
padding: 0;
}
.info-list-right .card-right-title .right-title-caption {
font-size: 18px;
font-weight: bold;
color: #333333;
margin-right: 12px;
line-height: 24px;
cursor: pointer;
/* height: 24px; */
}
/* 地区标签 */
.info-list-right .card-right-title .region {
display: inline-block;
border-radius: 2px 2px 2px 2px;
border: 1px solid #099D4B;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #F3F3FF;
color: #8491E8;
margin-right: 8px;
}
/* 曾用名 */
.info-list-right .card-right-title .formername {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #EEEEEE;
color: #838383;
margin-right: 8px;
}
/* 正向标签 */
.info-list-right .card-right-title .positive {
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
height: 22px;
padding: 0 16px;
color: #54BC7E;
background-color: #ECF6E7;
margin-right: 8px;
}
/* 中性标签 */
.info-list-right .card-right-title .neutral {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #E4F3FD;
color: #41A1FD;
margin-right: 8px;
}
.info-list-right .card-right-title .neutral1 {
margin-bottom: 8px;
}
/* 警示标签 */
.info-list-right .card-right-title .warning {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FFF3F3;
color: #FD5757;
margin-right: 8px;
}
/* 其它紫色 */
.info-list-right .card-right-title .purple {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FCF3FF;
color: #B589DB;
margin-right: 8px;
}
/*地区淡蓝色 */
.info-list-right .card-right-title .cityblue {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #F3F3FF;
color: #8491E8;
margin-right: 8px;
}
/* 工程用途 */
.info-list-right .card-right-title .purposeStr {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #E3F6F8;
color: #44BCC4;
margin-right: 8px;
}
/* 荣誉奖项 */
.info-list-right .card-right-title .honoraryaward {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FFF1DC;
color: #BFA061;
margin-right: 8px;
}
.info-list-right .card-right-title .honoraryaward .color-0 {
background: #E4F3FD;
color: #41A1FD;
}
.info-list-right .card-right-title .honoraryaward .color-1 {
background: #FFF1DC;
color: #BFA061;
}
.info-list-right .card-right-title .honoraryaward .color-2 {
background: #E3F6F8;
color: #44BCC4;
}
.info-list-right .card-right-title .honoraryaward .color-3 {
background: #F3F3FF;
color: #8491E8;
}
.info-list-right .card-right-title .honoraryaward .color-4 {
background: #FCF3FF;
color: #B589DB;
}
.info-list-right .card-right-title .honoraryaward .color-5 {
background: #E4F3FD;
color: #41A1FD;
}
.info-list-right .card-right-title .honoraryaward .color-6 {
background: #FFF1DC;
color: #BFA061;
}
.info-list-right .card-right-title .honoraryaward .color-7 {
background: #E3F6F8;
color: #44BCC4;
}
.info-list-right .card-right-title .honoraryaward .color-8 {
background: #F3F3FF;
color: #8491E8;
}
.info-list-right .card-right-title .honoraryaward .color-9 {
background: #FCF3FF;
color: #B589DB;
}
...@@ -107,17 +107,30 @@ export const constantRoutes = [ ...@@ -107,17 +107,30 @@ export const constantRoutes = [
path: '/company', path: '/company',
component: Layout, component: Layout,
hidden: true, hidden: true,
name: 'Company',
redirect: 'noredirect', redirect: 'noredirect',
children: [ children: [
{ {
path: '/company/:id', path: '/company/:id',
component: () => import('@/views/detail/party-b/index'), component: () => import('@/views/detail/party-b/index'),
name: 'PartyB', name: 'Company',
meta: { title: '已方详情' } meta: { title: '已方详情' }
} }
] ]
}, },
{
path: '/personnel',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: '/personnel/:id',
component: () => import('@/views/detail/party-b/index'),
name: 'Personnel',
meta: { title: '已方人员详情' }
}
]
},
{ {
path: '/structure', path: '/structure',
component: Layout, component: Layout,
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</div> </div>
<div class="table_search"> <div class="table_search">
<div class="searchInput"> <div class="searchInput">
<el-input type="text" v-model="searchParam.companyName" placeholder="输入企业名称查询"></el-input> <el-input type="text" clearable v-model="searchParam.companyName" placeholder="输入企业名称查询"></el-input>
<div class="btn" @click="handleCurrentChange(1)">搜索</div> <div class="btn" @click="handleCurrentChange(1)">搜索</div>
</div> </div>
<div class="dc"> <div class="dc">
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
<el-table-column <el-table-column
prop="index" prop="index"
label="序号" label="序号"
fixed="left"
width="47"> width="47">
<template slot-scope='scope'> <template slot-scope='scope'>
<span>{{ (searchParam.pageNum - 1) * searchParam.pageSize + scope.$index + 1 }}</span> <span>{{ (searchParam.pageNum - 1) * searchParam.pageSize + scope.$index + 1 }}</span>
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
<el-table-column <el-table-column
prop="date" prop="date"
label="企业名称" label="企业名称"
fixed="left"
width="441"> width="441">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="ps1"> <div class="ps1">
...@@ -120,7 +122,10 @@ ...@@ -120,7 +122,10 @@
prop="isMajor" prop="isMajor"
label="局级大客户" width="88"> label="局级大客户" width="88">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.isMajor">
{{scope.row.isMajor == 1?"是":"否"}} {{scope.row.isMajor == 1?"是":"否"}}
</span>
<span v-else>--</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -219,7 +224,7 @@ ...@@ -219,7 +224,7 @@
<el-input type="text" placeholder="请输入" v-model="queryParam.creditCode"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.creditCode"></el-input>
</el-form-item> </el-form-item>
<div class="popbot"> <div class="popbot">
<div class="wordprimary">前往城投平台寻找客户线索></div> <div class="wordprimary" @click="toct">前往城投平台寻找客户线索></div>
<div class="btn btn_cancel h32" @click="resetForm('ruleForm')">返回</div> <div class="btn btn_cancel h32" @click="resetForm('ruleForm')">返回</div>
<div class="btn btn_primary h32" @click="submitForm('ruleForm')">添加</div> <div class="btn btn_primary h32" @click="submitForm('ruleForm')">添加</div>
</div> </div>
...@@ -297,6 +302,9 @@ export default { ...@@ -297,6 +302,9 @@ export default {
this.prvinceTree() this.prvinceTree()
}, },
methods:{ methods:{
toct(){
this.$router.push({path:'/macro/urban'})
},
getDictType(){ getDictType(){
//获取客户等级 //获取客户等级
getDictType('customer_level_type').then(result=>{ getDictType('customer_level_type').then(result=>{
...@@ -509,7 +517,7 @@ export default { ...@@ -509,7 +517,7 @@ export default {
transform: translate(-50%,-50%); transform: translate(-50%,-50%);
.btn{ .btn{
margin-right: 8px; margin-right: 8px;
margin-top: 12px; margin-top: 16px;
} }
} }
} }
...@@ -543,4 +551,7 @@ export default { ...@@ -543,4 +551,7 @@ export default {
padding-right: 26px; padding-right: 26px;
} }
} }
.app-container{
height: auto;
}
</style> </style>
...@@ -54,12 +54,12 @@ ...@@ -54,12 +54,12 @@
label="名称"> label="名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="sum"
label="数量(家)"> label="数量(家)" align="right">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="point" prop="point"
label="占比"> label="占比" align="right">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -333,6 +333,12 @@ export default { ...@@ -333,6 +333,12 @@ export default {
axisTick: { axisTick: {
show: false show: false
}, },
boundaryGap: false,
nameLocation:'end',
nameTextStyle: {
fontSize:12,
padding: [0, 0, 0, -30]
},
}, },
yAxis: { yAxis: {
type: 'value', type: 'value',
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
</el-input> </el-input>
<el-menu <el-menu
ref="sideMenu" ref="sideMenu"
:unique-opened="true"
:default-active="routeIndex" :default-active="routeIndex"
class="detail-menu" class="detail-menu"
@open="handleOpen"> @open="handleOpen">
...@@ -76,7 +77,7 @@ export default { ...@@ -76,7 +77,7 @@ export default {
]}, ]},
{title: '城投分析', pathName: '', children: [ {title: '城投分析', pathName: '', children: [
{title: '区域经济', pathName: 'regionalEconomies'}, {title: '区域经济', pathName: 'regionalEconomies'},
{title: '城投地', pathName: 'landAcquisition'}, {title: '城投地', pathName: 'landAcquisition'},
{title: '同地区城投', pathName: 'sameRegion'} {title: '同地区城投', pathName: 'sameRegion'}
]}, ]},
{title: '风险信息', pathName: '', children: [ {title: '风险信息', pathName: '', children: [
......
...@@ -86,17 +86,17 @@ ...@@ -86,17 +86,17 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="项目阶段:" prop="projectStage"> <el-form-item label="项目阶段:" prop="projectStage">
<el-select v-model="addParam.projectStage" style="width: 100%" class="form-content-width" placeholder="请选择项目状态"> <el-select v-model="addParam.projectStage" style="width: 100%" class="form-content-width" placeholder="请选择项目阶段">
<el-option v-for="(item, index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue" /> <el-option v-for="(item, index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目类型:" prop="projectType"> <el-form-item label="项目类型:" prop="projectType">
<el-select v-model="addParam.projectType" style="width: 100%" class="form-content-width" placeholder="请选择项目阶段"> <el-select v-model="addParam.projectType" style="width: 100%" class="form-content-width" placeholder="请选择项目类型">
<el-option v-for="(item, index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue" /> <el-option v-for="(item, index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目类别:" prop="projectCategory"> <el-form-item label="项目类别:" prop="projectCategory">
<el-select v-model="addParam.projectCategory" style="width: 100%" class="form-content-width" placeholder="请选择项目阶段"> <el-select v-model="addParam.projectCategory" style="width: 100%" class="form-content-width" placeholder="请选择项目类别">
<el-option v-for="(item, index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue" /> <el-option v-for="(item, index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue" />
</el-select> </el-select>
</el-form-item> </el-form-item>
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
> >
<template slot="projectAllName" slot-scope="scope"> <template slot="projectAllName" slot-scope="scope">
<div class="flex-box"> <div class="flex-box">
<img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.sourceUrl" @click="handlePic(scope.row.sourceUrl)"/> <img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.snapshootPic" @click="handlePic(scope.row.snapshootPic, true)"/>
<div class="a-link" @click="handlePic(scope.row.sourceUrl)" v-if="scope.row.sourceUrl&&scope.row.projectAllName" v-html="scope.row.projectAllName" style="cursor: pointer"></div> <div class="a-link" @click="handlePic(scope.row.sourceUrl)" v-if="scope.row.sourceUrl&&scope.row.projectAllName" v-html="scope.row.projectAllName" style="cursor: pointer"></div>
<!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link>--> <!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link>-->
<span v-else v-html="scope.row.projectAllName || '--'"></span> <span v-else v-html="scope.row.projectAllName || '--'"></span>
...@@ -35,6 +35,9 @@ ...@@ -35,6 +35,9 @@
<template slot="province" slot-scope="scope"> <template slot="province" slot-scope="scope">
{{scope.row.province}}{{`${scope.row.city?'-'+scope.row.city:''}`}} {{scope.row.province}}{{`${scope.row.city?'-'+scope.row.city:''}`}}
</template> </template>
<template slot="lowerRate" slot-scope="scope">
<span>{{scope.row.lowerRate ? scope.row.lowerRate+'%' : '--'}}</span>
</template>
</tables> </tables>
</el-drawer> </el-drawer>
</div> </div>
...@@ -74,7 +77,7 @@ export default { ...@@ -74,7 +77,7 @@ export default {
{label: '项目地区', prop: 'province', width: '160', slot: true}, {label: '项目地区', prop: 'province', width: '160', slot: true},
{label: '项目类型', prop: 'boundType', width: '130'}, {label: '项目类型', prop: 'boundType', width: '130'},
{label: '工期(天)', prop: 'period', width: '90'}, {label: '工期(天)', prop: 'period', width: '90'},
{label: '下浮率', prop: 'lowerRate', width: '90'} {label: '下浮率', prop: 'lowerRate', width: '90', slot: true}
], ],
//列表 //列表
tableLoading:false, tableLoading:false,
...@@ -99,7 +102,8 @@ export default { ...@@ -99,7 +102,8 @@ export default {
this.tableDataTotal = res.total this.tableDataTotal = res.total
this.amountTotal = res.totalAmount this.amountTotal = res.totalAmount
}, },
handlePic(url){ handlePic(url, isPic){
isPic ? url = 'https://imgs.jiansheku.com/'+url : ''
if(url){ if(url){
window.open(url, "_blank") window.open(url, "_blank")
} }
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
> >
<template slot="projectAllName" slot-scope="scope"> <template slot="projectAllName" slot-scope="scope">
<div class="flex-box"> <div class="flex-box">
<img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.sourceUrl" @click="handlePic(scope.row.sourceUrl)"/> <img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.snapshootPic" @click="handlePic(scope.row.snapshootPic, true)"/>
<div class="a-link" @click="handlePic(scope.row.sourceUrl)" v-if="scope.row.sourceUrl&&scope.row.projectAllName" v-html="scope.row.projectAllName" style="cursor: pointer"></div> <div class="a-link" @click="handlePic(scope.row.sourceUrl)" v-if="scope.row.sourceUrl&&scope.row.projectAllName" v-html="scope.row.projectAllName" style="cursor: pointer"></div>
<!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link>--> <!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link>-->
<span v-else v-html="scope.row.projectAllName || '--'"></span> <span v-else v-html="scope.row.projectAllName || '--'"></span>
...@@ -35,6 +35,9 @@ ...@@ -35,6 +35,9 @@
<template slot="province" slot-scope="scope"> <template slot="province" slot-scope="scope">
{{scope.row.province}}{{`${scope.row.city?'-'+scope.row.city:''}`}} {{scope.row.province}}{{`${scope.row.city?'-'+scope.row.city:''}`}}
</template> </template>
<template slot="lowerRate" slot-scope="scope">
<span>{{scope.row.lowerRate ? scope.row.lowerRate+'%' : '--'}}</span>
</template>
</tables> </tables>
</el-drawer> </el-drawer>
</div> </div>
...@@ -74,7 +77,7 @@ export default { ...@@ -74,7 +77,7 @@ export default {
{label: '项目地区', prop: 'province', width: '160', slot: true}, {label: '项目地区', prop: 'province', width: '160', slot: true},
{label: '项目类型', prop: 'boundType', width: '130'}, {label: '项目类型', prop: 'boundType', width: '130'},
{label: '工期(天)', prop: 'period', width: '90'}, {label: '工期(天)', prop: 'period', width: '90'},
{label: '下浮率', prop: 'lowerRate', width: '90'} {label: '下浮率', prop: 'lowerRate', width: '90', slot: true}
], ],
//列表 //列表
tableLoading:false, tableLoading:false,
...@@ -99,7 +102,8 @@ export default { ...@@ -99,7 +102,8 @@ export default {
this.tableDataTotal = res.total this.tableDataTotal = res.total
this.amountTotal = res.totalAmount this.amountTotal = res.totalAmount
}, },
handlePic(url){ handlePic(url, isPic){
isPic ? url = 'https://imgs.jiansheku.com/'+url : ''
if(url){ if(url){
window.open(url, "_blank") window.open(url, "_blank")
} }
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
import mixin from '../mixins/mixin' import mixin from '../mixins/mixin'
import { clientPage } from '@/api/detail/party-a/dealings' import { clientPage } from '@/api/detail/party-a/dealings'
import ClientDetail from './component/customDetail' import ClientDetail from './component/customDetail'
import auth from "@/plugins/auth";
export default { export default {
name: 'Custom', name: 'Custom',
props: ['companyId'], props: ['companyId'],
...@@ -90,6 +91,12 @@ export default { ...@@ -90,6 +91,12 @@ export default {
this.tableLoading = false this.tableLoading = false
if(res.code==200){ if(res.code==200){
this.tableData = res.rows this.tableData = res.rows
if(this.tableData&&this.tableData.length>0){
this.tableData.forEach(item => {
typeof item.projectInfo=='string' ? item.projectInfo = JSON.parse(item.projectInfo) : ''
item.amount ? item.amount = parseFloat(item.amount.toFixed(4)) : ''
})
}
} }
this.tableDataTotal = res.total this.tableDataTotal = res.total
}, },
......
...@@ -90,6 +90,12 @@ export default { ...@@ -90,6 +90,12 @@ export default {
this.tableLoading = false this.tableLoading = false
if(res.code==200){ if(res.code==200){
this.tableData = res.rows this.tableData = res.rows
if(this.tableData&&this.tableData.length>0){
this.tableData.forEach(item => {
typeof item.projectInfo=='string' ? item.projectInfo = JSON.parse(item.projectInfo) : ''
item.amount ? item.amount = parseFloat(item.amount.toFixed(4)) : ''
})
}
} }
this.tableDataTotal = res.total this.tableDataTotal = res.total
}, },
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div v-else v-html="scope.row.name || '--'"></div> <div v-else v-html="scope.row.name || '--'"></div>
<div class="tags" v-if="scope.row.status || scope.row.biddingAnnouncement"> <div class="tags" v-if="scope.row.status || scope.row.biddingAnnouncement">
<span class="tag style1" v-if="scope.row.status">{{scope.row.status}}</span> <span class="tag style1" v-if="scope.row.status">{{scope.row.status}}</span>
<span class="tag style1" v-if="scope.row.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span> <span class="tag style1" v-if="scope.row.biddingCount">招标数{{scope.row.biddingCount}}</span>
</div> </div>
</template> </template>
</tables> </tables>
...@@ -51,7 +51,7 @@ export default { ...@@ -51,7 +51,7 @@ export default {
], ],
formData: [ formData: [
{ type: 1, fieldName: 'hasBid', value: '', placeholder: '招标公告', options: [ { type: 1, fieldName: 'hasBid', value: '', placeholder: '招标公告', options: [
{name:'不限',value:''}, {name:'不限',value:'noLimit'},
{name:'有招标公告',value:1}, {name:'有招标公告',value:1},
{name:'无招标公告',value:0} {name:'无招标公告',value:0}
] ]
...@@ -70,6 +70,9 @@ export default { ...@@ -70,6 +70,9 @@ export default {
async handleQuery(params) { async handleQuery(params) {
this.tableLoading = true this.tableLoading = true
let param = params?params:this.queryParams let param = params?params:this.queryParams
if(param.hasBid=='noLimit'){
delete param.hasBid
}
let res = await affiliates(param) let res = await affiliates(param)
this.tableLoading = false this.tableLoading = false
if(res.code==200){ if(res.code==200){
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<div class="operations-title">{{item.bratingSubjectLevel}}-<span>{{item.ratingDate}}</span></div> <div class="operations-title">{{item.bratingSubjectLevel}}-<span>{{item.ratingDate}}</span></div>
<div class="flex-box operations-info"> <div class="flex-box operations-info">
<div>{{item.bondType || '--'}}</div> <div>{{item.bondType || '--'}}</div>
<span class="text-cl1"><img src="@/assets/images/detail/overview/oper_source.png">{{item.creditRatingAgency || '--'}}</span> <span class="text-cl1" :title="item.creditRatingAgency"><img src="@/assets/images/detail/overview/oper_source.png">{{item.creditRatingAgency || '--'}}</span>
</div> </div>
</div> </div>
</li> </li>
......
<template> <template>
<div class="app-container rela-container"> <div class="app-container rela-container">
<div class="common-title">关系企业</div> <div class="common-title">关系企业</div>
<el-tabs v-model="activeName" @tab-click="handleQuery" class="tabpane selfTab"> <el-tabs v-model="activeName" @tab-click="handleClick" class="tabpane selfTab">
<el-tab-pane label="股东" name="first"></el-tab-pane> <el-tab-pane label="股东" name="first"></el-tab-pane>
<el-tab-pane label="对外投资" name="second"></el-tab-pane> <el-tab-pane label="对外投资" name="second"></el-tab-pane>
</el-tabs> </el-tabs>
<div class="table-item"> <div class="table-item">
<div class="rela-person" v-if="activeName=='first'">实际控制人:{{financial&&financial.actualController || '--'}}</div> <div class="rela-person" v-show="activeName=='first'">实际控制人:{{financial&&financial.actualController || '--'}}</div>
<el-table :data="holderData" border style="width: 100%" v-show="activeName=='first'"> <el-table :data="holderData" border style="width: 100%" v-show="activeName=='first'">
<el-table-column label="序号" width="55" align="left" fixed> <el-table-column label="序号" width="55" align="left" fixed>
<template slot-scope="scope">{{ holderParams.pageNum * holderParams.pageSize - holderParams.pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ holderParams.pageNum * holderParams.pageSize - holderParams.pageSize + scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="stockName" min-width="140" label="股东名称"></el-table-column> <el-table-column prop="stockName" min-width="140" label="股东名称"></el-table-column>
<el-table-column prop="shouldCapiConv" label="持股数量(亿)"></el-table-column> <el-table-column prop="shouldCapiConv" label="应缴金额"></el-table-column>
<el-table-column label="持股比例"> <el-table-column prop="stockPercent" label="持股比例"></el-table-column>
<el-table-column prop="" label="法定代表人">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.stockPercent?parseFloat(Number(scope.row.stockPercent*100).toFixed(4))+'%':'--'}}</span> <span>{{scope.row.corporatePerson || '--'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="法定代表人"> <el-table-column prop="" label="成立日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.corporatePerson || '--'}}</span> <span>{{scope.row.registeredDate || '--'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="成立日期"> <el-table-column prop="" label="企业状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.registeredDate || '--'}}</span> <span>{{scope.row.businessStatus || '--'}}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -39,21 +40,21 @@ ...@@ -39,21 +40,21 @@
<div v-else v-html="scope.row.investName || '--'"></div> <div v-else v-html="scope.row.investName || '--'"></div>
<div class="tags" v-if="scope.row.businessStatus || scope.row.biddingAnnouncement"> <div class="tags" v-if="scope.row.businessStatus || scope.row.biddingAnnouncement">
<span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span> <span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span>
<span class="tag style1" v-if="scope.row.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span> <span class="tag style1" v-if="scope.row.biddingCount">招标数{{scope.row.biddingCount}}</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="investOperName" label="法定代表人"></el-table-column> <el-table-column prop="investOperName" label="法定代表人"></el-table-column>
<el-table-column prop="investRegistCapi" label="注册资本(万元)"></el-table-column> <el-table-column label="注册资本">
<el-table-column prop="investStartDate" label="成立日期"></el-table-column>
<el-table-column prop="stockPercentage" label="股权占比">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.stockPercentage?parseFloat(Number(scope.row.stockPercentage*100).toFixed(4))+'%':'--'}}</span> <span>{{scope.row.investRegistCapi || '--'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="investStartDate" label="成立日期"></el-table-column>
<el-table-column prop="stockPercentage" label="股权占比"></el-table-column>
<el-table-column prop="shouldCapi" label="认缴出资额(万元)"></el-table-column> <el-table-column prop="shouldCapi" label="认缴出资额(万元)"></el-table-column>
</el-table> </el-table>
<div class="rela-more" v-if="activeName=='second'&& shipTotal>shipParams.pageSize"><span class="a-link" @click="handlePath">查看更多数据 ></span></div> <div class="rela-more" v-show="activeName=='second'&& shipTotal>shipParams.pageSize"><span class="a-link" @click="handlePath">查看更多数据 ></span></div>
</div> </div>
</div> </div>
</template> </template>
...@@ -87,16 +88,35 @@ export default { ...@@ -87,16 +88,35 @@ export default {
}, },
created() { created() {
this.handleQuery() this.handleQuery()
this.handleInvest()
}, },
mounted() { mounted() {
}, },
methods: { methods: {
async handleQuery(){ async handleQuery(){
let res = this.activeName=='first'?await bestStockPage(this.holderParams):await investment(this.shipParams) let res = await bestStockPage(this.holderParams)
if(res.code==200){ if(res.code==200){
this.activeName=='first'?this.holderData = res.rows:this.shipData = res.rows if(res.rows&&res.rows.length>0){
res.rows.forEach(item => {
item.stockPercent?item.stockPercent = parseFloat(Number(item.stockPercent*100).toFixed(4))+'%':''
})
} }
this.activeName=='second'?this.shipTotal = res.total:'' this.holderData = res.rows
}
},
async handleInvest(){
let res = await investment(this.shipParams)
if(res.code==200){
if(res.rows&&res.rows.length>0){
res.rows.forEach(item => {
item.stockPercentage?item.stockPercentage = parseFloat(Number(item.stockPercentage*100).toFixed(4))+'%':''
})
}
this.shipData = res.rows
this.shipTotal = res.total
}
},
handleClick(){
}, },
handlePath(){ handlePath(){
changePath(this, 'overseas') changePath(this, 'overseas')
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<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/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>
<span class="tender-time">{{item.contact}} {{item.issueTime}}</span> <span class="tender-time">{{item.issueTime}}</span>
</div> </div>
</template> </template>
<div class="tender-no-data" v-else> <div class="tender-no-data" v-else>
......
...@@ -24,6 +24,9 @@ ...@@ -24,6 +24,9 @@
<div v-else v-html="scope.row.stockName || '--'"></div> <div v-else v-html="scope.row.stockName || '--'"></div>
<div class="tags" v-if="scope.row.businessStatus"> <div class="tags" v-if="scope.row.businessStatus">
<span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span> <span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span>
<span class="tag style1" v-if="scope.row.biddingCount">招标{{scope.row.biddingCount}}</span>
<span class="tag style1" v-if="scope.row.landInfoCount">土地{{scope.row.landInfoCount}}</span>
<span class="tag style1" v-if="scope.row.proposedProjectCount">拟建{{scope.row.proposedProjectCount}}</span>
</div> </div>
</template> </template>
<template slot="stockPercent" slot-scope="scope"> <template slot="stockPercent" slot-scope="scope">
...@@ -52,7 +55,7 @@ export default { ...@@ -52,7 +55,7 @@ export default {
forData: [ forData: [
{label: '发起人/股东', prop: 'stockName', minWidth: '230', slot: true}, {label: '发起人/股东', prop: 'stockName', minWidth: '230', slot: true},
{label: '持股比例', prop: 'stockPercent', slot: true}, {label: '持股比例', prop: 'stockPercent', slot: true},
{label: '认缴出资(万)', prop: 'shouldCapiConv'}, {label: '认缴出资', prop: 'shouldCapiConv'},
{label: '实缴出资额', prop: 'realCapi'}, {label: '实缴出资额', prop: 'realCapi'},
{label: '认缴出资日期', prop: 'conDate'}, {label: '认缴出资日期', prop: 'conDate'},
{label: '参股日期', prop: 'realCapiDate', width: '150'} {label: '参股日期', prop: 'realCapiDate', width: '150'}
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div v-else v-html="scope.row.investName || '--'"></div> <div v-else v-html="scope.row.investName || '--'"></div>
<div class="tags" v-if="scope.row.businessStatus || scope.row.biddingAnnouncement"> <div class="tags" v-if="scope.row.businessStatus || scope.row.biddingAnnouncement">
<span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span> <span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span>
<span class="tag style1" v-if="scope.row.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span> <span class="tag style1" v-if="scope.row.biddingCount">招标数{{scope.row.biddingCount}}</span>
</div> </div>
</template> </template>
<template slot="proportion"> <template slot="proportion">
...@@ -59,25 +59,25 @@ export default { ...@@ -59,25 +59,25 @@ export default {
forData: [ forData: [
{label: '被投资企业名称', prop: 'investName', minWidth: '180', slot: true}, {label: '被投资企业名称', prop: 'investName', minWidth: '180', slot: true},
{label: '法定代表人', prop: 'investOperName'}, {label: '法定代表人', prop: 'investOperName'},
{label: '注册资本(万元)', prop: 'investRegistCapi'}, {label: '注册资本', prop: 'investRegistCapi'},
{label: '成立日期', prop: 'investStartDate'}, {label: '成立日期', prop: 'investStartDate'},
{label: '股权占比', prop: 'stockPercentage', slot: true, slotHeader: true, slotName: 'proportion'}, {label: '股权占比', prop: 'stockPercentage', slot: true, slotHeader: true, slotName: 'proportion'},
{label: '认缴出资额(万元)', prop: 'shouldCapi'} {label: '认缴出资额(万元)', prop: 'shouldCapi'}
], ],
formData: [ formData: [
{ type: 1, fieldName: 'hasBid', value: '', placeholder: '招标公告', options: [ { type: 1, fieldName: 'hasBid', value: '', placeholder: '招标公告', options: [
{name:'不限',value:''}, {name:'不限',value:'noLimit'},
{name:'有招标公告',value:1}, {name:'有招标公告',value:1},
{name:'无招标公告',value:0} {name:'无招标公告',value:0}
] ]
}, },
{ type: 1, fieldName: 'proportion', value: '', placeholder: '股权占比', options: [ { type: 1, fieldName: 'proportion', value: '', placeholder: '股权占比', options: [
{name:'不限',value:''}, {name:'不限',value:'noLimit'},
{name:'100%',value:'1~1'}, {name:'100%',value:'1~1'},
{name:'66.66%以上',value:'0.6666~1'}, {name:'66.66%以上',value:'0.6666~1'},
{name:'50%以上',value:'0.4~1'}, {name:'50%以上',value:'0.5~1'},
{name:'33.33%以上',value:'0.3333~1'}, {name:'33.33%以上',value:'0.3333~1'},
{name:'25%以上',value:'0.05~0.25'}, {name:'25%以上',value:'0.25~1'},
{name:'不到5%',value:'0~0.05'} {name:'不到5%',value:'0~0.05'}
] ]
} }
...@@ -105,10 +105,15 @@ export default { ...@@ -105,10 +105,15 @@ export default {
handleSearch(){ handleSearch(){
let params = this.formParams() let params = this.formParams()
if(params.proportion){ if(params.proportion){
if(params.proportion!='noLimit'){
params.stockPercentageMin = parseFloat(params.proportion.split('~')[0]) params.stockPercentageMin = parseFloat(params.proportion.split('~')[0])
params.stockPercentageMax = parseFloat(params.proportion.split('~')[1]) params.stockPercentageMax = parseFloat(params.proportion.split('~')[1])
}
delete params.proportion delete params.proportion
} }
if(params.hasBid=='noLimit'){
delete params.hasBid
}
params.pageNum = 1 params.pageNum = 1
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1
this.handleQuery(params) this.handleQuery(params)
......
...@@ -94,6 +94,10 @@ export default { ...@@ -94,6 +94,10 @@ export default {
prop: 'industryTotalValue', prop: 'industryTotalValue',
label: '工业总产值(亿元)', label: '工业总产值(亿元)',
}, },
{
prop: 'fixedInvestment',
label: '固定资产投资(亿元)',
},
{ {
prop: 'realEstateInvestment', prop: 'realEstateInvestment',
label: '房地产开发投资(亿元)', label: '房地产开发投资(亿元)',
...@@ -291,9 +295,9 @@ export default { ...@@ -291,9 +295,9 @@ export default {
} }
} }
::v-deep .el-table__body-wrapper tr:nth-child(2) td:first-child, ::v-deep .el-table__body-wrapper tr:nth-child(2) td,
::v-deep .el-table__body-wrapper tr:nth-child(16) td:first-child, ::v-deep .el-table__body-wrapper tr:nth-child(17) td,
::v-deep .el-table__body-wrapper tr:nth-child(28) td:first-child{ ::v-deep .el-table__body-wrapper tr:nth-child(29) td{
font-weight: bold; font-weight: bold;
color: #232323; color: #232323;
} }
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<span class="wrap_label">行政等级</span> <span class="wrap_label">行政等级</span>
<div class="item_ckquery"> <div class="item_ckquery">
<span :class="{color_text:queryParams.uipExecutiveLevel == ''}" @click="changeXZDJ('')">全部</span> <span :class="{color_text:queryParams.uipExecutiveLevel == ''}" @click="changeXZDJ('')">全部</span>
<template v-for="(item,index) in xzdj"> <template v-for="(item,index) in uipGroupDatalist.uipExecutiveLevel">
<span :class="{color_text:item == queryParams.uipExecutiveLevel}" @click="changeXZDJ(item)">{{item}}</span> <span :class="{color_text:item == queryParams.uipExecutiveLevel}" @click="changeXZDJ(item)">{{item}}</span>
</template> </template>
</div> </div>
...@@ -101,6 +101,16 @@ ...@@ -101,6 +101,16 @@
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName " v-html="scope.row.companyName"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName " v-html="scope.row.companyName"></router-link>
<div v-else v-html="scope.row.companyName || '--'"></div> <div v-else v-html="scope.row.companyName || '--'"></div>
</template> </template>
<template slot="area" slot-scope="scope">
<template v-if="scope.row.province || scope.row.city || scope.row.area">
<span v-if="scope.row.province"> {{ scope.row.province }}</span>
<span v-if="scope.row.city"> <span v-if="scope.row.province">-</span>{{ scope.row.city }}</span>
<span v-if="scope.row.area"> <span v-if="scope.row.city">-</span>{{ scope.row.area }}</span>
</template>
<template v-else>
--
</template>
</template>
</tables> </tables>
</div> </div>
...@@ -137,7 +147,7 @@ export default { ...@@ -137,7 +147,7 @@ export default {
}, },
forData: [ forData: [
{label: '企业名称', prop: 'companyName', width: '369', slot: true}, {label: '企业名称', prop: 'companyName', width: '369', slot: true},
{label: '区域', prop: 'area', width: '100'}, {label: '区域', prop: 'area', width: '120', slot: true},
{label: '招标数量', prop: 'biddingCount', width: '100', sortable: true}, {label: '招标数量', prop: 'biddingCount', width: '100', sortable: true},
{label: '城投拿地', prop: 'landInfoCount', width: '100', sortable: true}, {label: '城投拿地', prop: 'landInfoCount', width: '100', sortable: true},
{label: '供应商', prop: 'supplierCount', width: '100', sortable: true}, {label: '供应商', prop: 'supplierCount', width: '100', sortable: true},
......
...@@ -15,14 +15,21 @@ export default { ...@@ -15,14 +15,21 @@ export default {
loading: false, // 是否加载中 loading: false, // 是否加载中
iframeHight: window.innerHeight, // iframe高度 iframeHight: window.innerHeight, // iframe高度
scrollTop: 0, // 滚动条距离内部页面顶部距离 scrollTop: 0, // 滚动条距离内部页面顶部距离
// domain: 'https://pre-plug.jiansheku.com',
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}` // this.src = `https://pre-plug.jiansheku.com/enterprise/${this.$route.params.id}?ak=${this.ak}`
// this.src = `http://192.168.60.30:3300/enterprise/${this.$route.params.id}?ak=aec7b3ff2y2q8x6t49a7e2c463ce21912` if(this.$route.name=='Company'){ //企业详情
this.src = `${this.domain}/enterprise/${this.$route.params.id}?ak=${this.ak}`
}
if(this.$route.name=='Personnel'){ //人员详情
this.src = `${this.domain}/personnel/${this.$route.params.id}.html?ak=${this.ak}&referrer=true`
}
} }
}, },
mounted() { mounted() {
......
...@@ -168,7 +168,6 @@ ...@@ -168,7 +168,6 @@
</el-table-column> </el-table-column>
<el-table-column label="区域" width="120"> <el-table-column label="区域" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="'/radar/bxprozbgg/details/'+ 1" tag="a" class="list-titel-a" >
{{scope.row.province}} {{scope.row.province}}
<template v-if="scope.row.city"> <template v-if="scope.row.city">
- -
...@@ -178,8 +177,6 @@ ...@@ -178,8 +177,6 @@
- -
</template> </template>
{{scope.row.area}} {{scope.row.area}}
</router-link>
</template> </template>
</el-table-column> </el-table-column>
...@@ -591,7 +588,7 @@ export default { ...@@ -591,7 +588,7 @@ export default {
}, },
mounted() { mounted() {
this.addressListfn(); this.init();
}, },
methods: { methods: {
domicileChange() { domicileChange() {
...@@ -675,7 +672,7 @@ export default { ...@@ -675,7 +672,7 @@ export default {
}, },
init(){ init(){
// this.search(); this.search();
this.addressListfn(); this.addressListfn();
}, },
......
...@@ -317,6 +317,7 @@ export default { ...@@ -317,6 +317,7 @@ export default {
//客户跟进动态 //客户跟进动态
this.option = { this.option = {
xAxis: { xAxis: {
boundaryGap: false,
type: 'category', type: 'category',
data: labels, data: labels,
axisTick: { axisTick: {
...@@ -334,7 +335,7 @@ export default { ...@@ -334,7 +335,7 @@ export default {
}, },
grid:{ grid:{
left:'4%', left:'4%',
top:'20%', top:'21%',
right:'2%', right:'2%',
bottom:'15%', bottom:'15%',
}, },
...@@ -345,8 +346,8 @@ export default { ...@@ -345,8 +346,8 @@ export default {
// trigger: 'axis' // trigger: 'axis'
}, },
legend: { legend: {
left: '12px', right: '20px',
top:"15px", top:"30px",
data: ['成交金额', '储备项目', '跟进动态'], data: ['成交金额', '储备项目', '跟进动态'],
itemHeight: 8, // 修改icon图形大小 itemHeight: 8, // 修改icon图形大小
itemGap: 20 itemGap: 20
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<div class="popbot"> <div class="popbot">
<div class="wordprimary">前往商机雷达寻找项目线索></div> <div class="wordprimary" @click="toradar">前往商机雷达寻找项目线索></div>
<div class="btn btn_cancel h32" @click="resetForm('ruleForm')">返回</div> <div class="btn btn_cancel h32" @click="resetForm('ruleForm')">返回</div>
<div class="btn btn_primary h32" @click="submitForm('ruleForm')">新建商机</div> <div class="btn btn_primary h32" @click="submitForm('ruleForm')">新建商机</div>
</div> </div>
...@@ -109,6 +109,9 @@ ...@@ -109,6 +109,9 @@
}) })
}, },
methods:{ methods:{
toradar(){
this.$router.push({path:'/radar'})
},
handleALL(event){ handleALL(event){
var one = document.getElementById("box"); var one = document.getElementById("box");
if(one){ if(one){
......
...@@ -42,7 +42,8 @@ ...@@ -42,7 +42,8 @@
<div class="p3"> <div class="p3">
<img src="@/assets/images/project/success.png">查询成功 <img src="@/assets/images/project/success.png">查询成功
</div> </div>
<div class="p2">导入成功,已为您去掉重复{{titletext}}{{successCount}}</div> <!--<div class="p2">导入成功,已为您去掉重复{{titletext}}{{successCount}}</div>-->
<div class="p2">{{messages}}</div>
<div class="btns"> <div class="btns">
<div class="btn btn_primary h32" @click="getmsg">查看</div> <div class="btn btn_primary h32" @click="getmsg">查看</div>
</div> </div>
...@@ -74,6 +75,7 @@ ...@@ -74,6 +75,7 @@
downloadhref:'',//样例地址 downloadhref:'',//样例地址
titletext:'', titletext:'',
successCount:0,//成功条数 successCount:0,//成功条数
messages:'',
} }
}, },
created(){ created(){
...@@ -120,6 +122,14 @@ ...@@ -120,6 +122,14 @@
onSuccess(res, file, fileList) { onSuccess(res, file, fileList) {
if (res.code == 200) { if (res.code == 200) {
this.successCount = res.successCount this.successCount = res.successCount
if(this.importtype == 'project'){//项目管理
this.messages = res.msg
}
if(this.importtype == 'custom'){//客户管理
let str = '成功导入客户条数'+res.successCount+',客户去重条数'+res.data?res.data.length:0
this.messages = str
}
this.addsuccess = true this.addsuccess = true
}else { }else {
this.importCancel() this.importCancel()
......
...@@ -57,6 +57,9 @@ ...@@ -57,6 +57,9 @@
prop="accendant" prop="accendant"
label="内部维护人" label="内部维护人"
width="146"> width="146">
<template slot-scope="scope">
{{scope.row.accendant || '--'}}
</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="bottems"> <div class="bottems">
......
...@@ -368,7 +368,7 @@ export default { ...@@ -368,7 +368,7 @@ export default {
this.$router.push({ path: '/project/projectList/detail', query: {id:id,tag:tag} }); this.$router.push({ path: '/project/projectList/detail', query: {id:id,tag:tag} });
}, },
handleClick(){ handleClick(){
this.getList(1)
}, },
handleChange(value) { handleChange(value) {
// console.log(value); // console.log(value);
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<el-table-column label="项目名称" > <el-table-column label="项目名称" >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.name||'--'}} <router-link v-if="scope.row.companyId" :to="'/company/' + encodeStr(scope.row.companyId) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="scope.row.name"></router-link>
</template> </template>
</el-table-column> </el-table-column>
...@@ -100,14 +100,14 @@ ...@@ -100,14 +100,14 @@
<script> <script>
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
import { import {encodeStr} from "@/assets/js/common.js"
encodeStr
} from "@/assets/js/common.js"
import api from '@/api/radar/radar.js'; import api from '@/api/radar/radar.js';
export default { export default {
name: 'BidRecordDetails', name: 'BidRecordDetails',
data() { data() {
return { return {
encodeStr,
id: '', id: '',
tableData: [], tableData: [],
"pageNum": 1, "pageNum": 1,
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<div class="list-content"> <div class="list-content">
<p class="list-content-text"> <p class="list-content-text">
<span>受让人:</span> <span>受让人:</span>
<span class="blue">{{textList.company||"--"}}</span> <router-link v-if="textList.company" :to="'/company/' + encodeStr(textList.id) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="textList.company"></router-link>
<span v-else class="blue">{{textList.company||"--"}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text">
<span>成交金额:</span> <span>成交金额:</span>
...@@ -192,12 +193,14 @@ ...@@ -192,12 +193,14 @@
<script> <script>
import api from '@/api/radar/radar.js'; import api from '@/api/radar/radar.js';
import {encodeStr} from "@/assets/js/common.js"
export default { export default {
name: 'LandDetails', name: 'LandDetails',
data() { data() {
return { return {
id: '', id: '',
encodeStr,
textList: {} textList: {}
} }
......
...@@ -25,13 +25,17 @@ ...@@ -25,13 +25,17 @@
</div> </div>
<div class="list-content"> <div class="list-content">
<p class="list-content-text"> <p class="list-content-text" v-if="textList.tenderee">
<span>招采单位:</span> <span>招采单位:</span>
<span class="blue"> {{textList.tenderee||'--'}}</span> <router-link v-if="textList.projectUnitId" :to="'/company/' + encodeStr(textList.projectUnitId) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="textList.tenderee"></router-link>
<span v-else class="blue"> {{textList.tenderee||'--'}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="textList.agency">
<span>代理单位:</span> <span>代理单位:</span>
<span class="blue">{{textList.agency||'--'}}</span> <span class="blue">{{textList.agency||'--'}}</span>
<router-link v-if="textList.agencyId" :to="'/company/' + encodeStr(textList.agencyId) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="textList.agency"></router-link>
<span v-else class="blue"> {{textList.agency||'--'}}</span>
</p> </p>
</div> </div>
...@@ -89,11 +93,13 @@ ...@@ -89,11 +93,13 @@
<script> <script>
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
import api from '@/api/radar/radar.js'; import api from '@/api/radar/radar.js';
import {encodeStr} from "@/assets/js/common.js"
export default { export default {
name: 'TenderDetails', name: 'TenderDetails',
data() { data() {
return { return {
encodeStr,
id: '', id: '',
textList:{}, textList:{},
showimg:true showimg:true
......
...@@ -173,10 +173,13 @@ ...@@ -173,10 +173,13 @@
<div class="main3-box"> <div class="main3-box">
<p> <p>
<label class="label">招标人</label> <label class="label">招标人</label>
<span class="color2">{{textList.tenderee||'--'}}</span> <router-link v-if="textList.tendereeId" :to="'/company/' + encodeStr(textList.tendereeId) + '/?index=true'" tag="a" class="list-titel-a color2" v-html="textList.tenderee"></router-link>
<span v-else class="color2">{{textList.tenderee||'--'}}</span>
<label class="label">代理机构</label> <label class="label">代理机构</label>
<span class="color2">{{textList.agency||'--'}}</span> <router-link v-if="textList.agencyId" :to="'/company/' + encodeStr(textList.agencyId) + '/?index=true'" tag="a" class="list-titel-a color2" v-html="textList.agency"></router-link>
<span v-else class="color2">{{textList.agency||'--'}}</span>
</p> </p>
<p> <p>
<label class="label">招标人联系方式</label> <label class="label">招标人联系方式</label>
<span>{{textList.tendereeTel||'--'}}</span> <span>{{textList.tendereeTel||'--'}}</span>
...@@ -199,11 +202,13 @@ ...@@ -199,11 +202,13 @@
<script> <script>
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
import api from '@/api/radar/radar.js'; import api from '@/api/radar/radar.js';
import {encodeStr} from "@/assets/js/common.js"
export default { export default {
name: 'bxprozbggDetails', name: 'bxprozbggDetails',
data() { data() {
return { return {
encodeStr,
id: '', id: '',
textList: {}, textList: {},
showimg:true, showimg:true,
...@@ -512,6 +517,11 @@ ...@@ -512,6 +517,11 @@
.color2{ .color2{
color: #0081FF; color: #0081FF;
cursor: pointer; cursor: pointer;
display: flex;
align-items: center;
width: 40%;
padding: 12px;
font-size: 12px;
} }
} }
......
...@@ -164,7 +164,8 @@ ...@@ -164,7 +164,8 @@
<div class="list-content"> <div class="list-content">
<p class="list-content-text"> <p class="list-content-text">
<span>招采单位:</span> <span>招采单位:</span>
<span class="blue">{{item.tenderee||'--'}}</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>
<span v-else>{{item.tenderee||'--'}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text">
<span>合同预估金额(万元):</span> <span>合同预估金额(万元):</span>
......
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
<div class="list-content"> <div class="list-content">
<p class="list-content-text"> <p class="list-content-text">
<span>受让人:</span> <span>受让人:</span>
<span class="blue">{{item.companyName||'--'}}</span> <router-link :to="'/company/' + encodeStr(item.id) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.companyName"></router-link>
</p> </p>
<p class="list-content-text"> <p class="list-content-text">
<span>成交金额:</span> <span>成交金额:</span>
...@@ -1127,7 +1127,7 @@ ...@@ -1127,7 +1127,7 @@
} }
.bottomlist-list:hover{ .bottomlist-list:hover{
background: #F6F9FC; background: #F6F9FC;
cursor: pointer;
} }
.pagination{ .pagination{
padding: 14px ; padding: 14px ;
......
...@@ -207,11 +207,13 @@ ...@@ -207,11 +207,13 @@
<div class="list-content" v-if="item.companyName||item.agency"> <div class="list-content" v-if="item.companyName||item.agency">
<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 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>
</p> </p>
<p class="list-content-text" v-if="item.agency"> <p class="list-content-text" v-if="item.agency">
<span>代理单位:</span> <span>代理单位:</span>
<span class="blue">{{item.agency||'--'}}</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>
<span v-else class="blue">{{item.agency||'--'}}</span>
</p> </p>
</div> </div>
...@@ -275,6 +277,7 @@ ...@@ -275,6 +277,7 @@
data() { data() {
return { return {
//有无联系方式 //有无联系方式
encodeStr,
phonePointType: [{ phonePointType: [{
value: '', value: '',
label: '不限' label: '不限'
......
...@@ -103,20 +103,20 @@ ...@@ -103,20 +103,20 @@
<router-link :to="'/radar/debtProject/details/'+item.uuid " tag="a" class="list-titel-a" v-html="item.projectName"></router-link> <router-link :to="'/radar/debtProject/details/'+item.uuid " 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">{{item.domicile}}</span> <span class="list-label">{{item.domicile}}</span>
</div> </div>
<div class="list-content"> <div class="list-content">
<p class="list-content-text"> <p class="list-content-text" v-if="item.projectType">
<span>项目类型:</span> <span>项目类型:</span>
<span>{{item.projectType}}</span> <span>{{item.projectType}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text"v-if="item.projectTotalInvestment">
<span>项目总投资(亿):</span> <span>项目总投资(亿):</span>
<span>{{item.projectTotalInvestment}}</span> <span>{{item.projectTotalInvestment}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.specialCapital">
<span>项目资本金(亿):</span> <span>项目资本金(亿):</span>
<span>{{item.projectCapital}}</span> <span>{{item.projectCapital}}</span>
</p> </p>
...@@ -126,17 +126,17 @@ ...@@ -126,17 +126,17 @@
</p> </p>
</div> </div>
<div class="list-content"> <div class="list-content">
<p class="list-content-text"> <p class="list-content-text" v-if="item.specialCapital">
<span>项目主体:</span> <span>项目主体:</span>
<span class="blue">{{item.projectEntity}}</span> <span >{{item.projectEntity}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.chargeDepartment">
<span>主管部门:</span> <span>主管部门:</span>
<span class="blue">{{item.chargeDepartment}}</span> <span >{{item.chargeDepartment}}</span>
</p> </p>
<p class="list-content-text"> <p class="list-content-text" v-if="item.piu">
<span>实施单位:</span> <span>实施单位:</span>
<span class="blue">{{item.piu}}</span> <span >{{item.piu}}</span>
</p> </p>
</div> </div>
</li> </li>
...@@ -228,6 +228,7 @@ ...@@ -228,6 +228,7 @@
created() { created() {
this.addressListfn(); this.addressListfn();
this.searchDic(); this.searchDic();
this.search();
}, },
methods: { methods: {
searchDic(){ searchDic(){
...@@ -319,16 +320,16 @@ ...@@ -319,16 +320,16 @@
let arr = (this.$refs.address.getCheckedNodes()) let arr = (this.$refs.address.getCheckedNodes())
let provinceCode = [], let provinceCode = [],
cityCode = [], cityCode = [],
countyCode = []; areaCode = [];
let province = [], let province = [],
city = [], city = [],
county = []; area = [];
for (var i in arr) { for (var i in arr) {
if (arr[i].parent) { if (arr[i].parent) {
if (!arr[i].parent.checked) { if (!arr[i].parent.checked) {
arr[i].hasChildren && cityCode.push(arr[i].value); arr[i].hasChildren && cityCode.push(arr[i].value);
!arr[i].hasChildren && countyCode.push(arr[i].value); !arr[i].hasChildren && areaCode.push(arr[i].value);
} }
} else { } else {
provinceCode.push(arr[i].value) provinceCode.push(arr[i].value)
...@@ -360,12 +361,12 @@ ...@@ -360,12 +361,12 @@
} }
} }
if (countyCode.length > 0) { if (areaCode.length > 0) {
for (let i = 0; i < countyCode.length; i++) { for (let i = 0; i < areaCode.length; i++) {
if (countyCode[i] == jsk_data[j].id) { if (areaCode[i] == jsk_data[j].id) {
county.push({ area.push({
value: jsk_data[j].regionName, value: jsk_data[j].regionName,
key: countyCode[i] key: areaCode[i]
}) })
} }
...@@ -373,7 +374,7 @@ ...@@ -373,7 +374,7 @@
} }
} }
if (province.length > 0 || city.length > 0 || county.length > 0) { if (province.length > 0 || city.length > 0 || area.length > 0) {
let arrlist = []; let arrlist = [];
if (province.length > 0) { if (province.length > 0) {
for (let i in province) { for (let i in province) {
...@@ -385,9 +386,9 @@ ...@@ -385,9 +386,9 @@
arrlist.push(city[i].value) arrlist.push(city[i].value)
} }
} }
if (county.length > 0) { if (area.length > 0) {
for (let i in county) { for (let i in area) {
arrlist.push(county[i].value) arrlist.push(area[i].value)
} }
} }
console.log(this.addressType); console.log(this.addressType);
...@@ -396,7 +397,7 @@ ...@@ -396,7 +397,7 @@
keyid: 'address', keyid: 'address',
provinceCode: provinceCode, provinceCode: provinceCode,
cityCode: cityCode, cityCode: cityCode,
countyCode: countyCode, areaCode: areaCode,
title: '项目属地:', title: '项目属地:',
key: '', key: '',
addressType:this.addressType addressType:this.addressType
...@@ -464,17 +465,14 @@ ...@@ -464,17 +465,14 @@
if (this.arrList[i].keyid == "address") { if (this.arrList[i].keyid == "address") {
params.specialBondProjectDto['province'] = this.arrList[i].provinceCode.join(','); params.specialBondProjectDto['province'] = this.arrList[i].provinceCode.join(',');
params.specialBondProjectDto['city'] = this.arrList[i].cityCode.join(','); params.specialBondProjectDto['city'] = this.arrList[i].cityCode.join(',');
params.specialBondProjectDto['county'] = this.arrList[i].countyCode.join(','); params.specialBondProjectDto['area'] = this.arrList[i].areaCode.join(',');
} }
} }
} }
if(this.projectType.length>0&&this.projectType[0]!='不限'){ if(this.projectType.length>0&&this.projectType[0]!='不限'){
params.specialBondProjectDto['projectType'] = this.projectType.join(','); params.specialBondProjectDto['projectType'] = this.projectType.join(',');
} }
if(!this.ckhasValue(params.specialBondProjectDto)){
this.$message.warning("请选择筛选条件后添加多组业绩!");
return
}
api.bondProjectPage(params).then(res=>{ api.bondProjectPage(params).then(res=>{
if (res.code==200) { if (res.code==200) {
this.tableData=res.data.list; this.tableData=res.data.list;
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
export default { export default {
name: 'radar', name: 'Radar',
components: { debtProject,Land,Establishment,bxprozbgg,Tender,BidRecord,Bidding }, components: { debtProject,Land,Establishment,bxprozbgg,Tender,BidRecord,Bidding },
data() { data() {
return { return {
...@@ -95,7 +95,9 @@ ...@@ -95,7 +95,9 @@
personnelHerf:'debtProject' personnelHerf:'debtProject'
} }
}, },
created() {}, created() {
// console.log(this.$route.name)
},
methods: { methods: {
personnelListbtn(index) { personnelListbtn(index) {
for (var i = 0; i < this.personnelList.length; i++) { for (var i = 0; i < this.personnelList.length; i++) {
......
...@@ -22,9 +22,9 @@ public class BusinessListDto { ...@@ -22,9 +22,9 @@ public class BusinessListDto {
private Integer userId; private Integer userId;
/** /**
* 部门id * 用户查看全部他人可见项目标示
*/ */
private Integer deptId; private Integer others;
/** /**
* 省id * 省id
......
package com.dsk.system.dskService; package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*; import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
@Service @Service
...@@ -27,9 +32,17 @@ public class EnterpriseBussinessService { ...@@ -27,9 +32,17 @@ public class EnterpriseBussinessService {
} }
public TableDataInfo clientProjectPage(EnterpriseBussinessClientProjectPageBody body) throws Exception { public Map<String, Object> clientProjectPage(EnterpriseBussinessClientProjectPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientProjectPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); Integer code = MapUtils.getInteger(map, "code", 300);
Map data = MapUtils.getMap(map, "data", null);
if (200 != code) throw new RuntimeException();
Integer count = MapUtils.getInteger(data, "totalCount", 0);
Object list = MapUtils.getObject(data, "list", "");
TableDataInfo tableDataInfo = new TableDataInfo((List<?>) list, count);
Map<String, Object> resMap = BeanUtil.beanToMap(tableDataInfo);
resMap.put("totalAmount", MapUtils.getDouble(data, "totalAmount", 0.0));
return resMap;
} }
...@@ -41,6 +54,30 @@ public class EnterpriseBussinessService { ...@@ -41,6 +54,30 @@ public class EnterpriseBussinessService {
public R tenderDetail(EnterpriseBussinessTenderDetailBody body) throws Exception { public R tenderDetail(EnterpriseBussinessTenderDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/tenderDetail", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/tenderDetail", BeanUtil.beanToMap(body, false, false));
Map data = MapUtils.getMap(map, "data", null);
String mongoContentId = MapUtils.getString(data, "mongoContentId");
if (ObjectUtil.isEmpty(mongoContentId)) {
return BeanUtil.toBean(map, R.class);
}
HashMap<String, Object> contentParam = new HashMap<>();
contentParam.put("data_type", "kaibiao");
contentParam.put("filter_type", 2);
contentParam.put("strategy_id", mongoContentId);
Map<String, Object> contentMap = dskOpenApiUtil.requestBody("/mongocontent/v1/cjb/mongo_content", contentParam);
Map contentData = MapUtils.getMap(contentMap, "data", null);
log.info("contentData:{}", JSONUtil.toJsonStr(contentData));
if (200 != MapUtils.getInteger(contentMap, "code", 300)) {
return BeanUtil.toBean(map, R.class);
}
String htmlContent = MapUtils.getString(contentData, "htmlContent");
data.put("content", htmlContent);
map.put("data", data);
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
...@@ -51,9 +88,18 @@ public class EnterpriseBussinessService { ...@@ -51,9 +88,18 @@ public class EnterpriseBussinessService {
} }
public TableDataInfo supplierProjectPage(EnterpriseBussinessSupplierProjectPageBody body) throws Exception { public Map<String, Object> supplierProjectPage(EnterpriseBussinessSupplierProjectPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierProjectPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); log.info(JSONUtil.toJsonStr(map));
Integer code = MapUtils.getInteger(map, "code", 300);
Map data = MapUtils.getMap(map, "data", null);
if (200 != code) throw new RuntimeException();
Integer count = MapUtils.getInteger(data, "totalCount", 0);
Object list = MapUtils.getObject(data, "list", "");
TableDataInfo tableDataInfo = new TableDataInfo((List<?>) list, count);
Map<String, Object> resMap = BeanUtil.beanToMap(tableDataInfo);
resMap.put("totalAmount", MapUtils.getDouble(data, "totalAmount", 0.0));
return resMap;
} }
......
...@@ -2,6 +2,7 @@ package com.dsk.system.dskService; ...@@ -2,6 +2,7 @@ package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*; import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
...@@ -124,9 +125,10 @@ public class EnterpriseProjectService { ...@@ -124,9 +125,10 @@ public class EnterpriseProjectService {
contentParam.put("data_type", "bid_plan"); contentParam.put("data_type", "bid_plan");
contentParam.put("filter_type", 2); contentParam.put("filter_type", 2);
contentParam.put("strategy_id", contentId); contentParam.put("strategy_id", contentId);
Map<String, Object> contentMap = dskOpenApiUtil.requestBody("/mongocontent/v1/cjb/mongo_content", BeanUtil.beanToMap(contentParam, false, false)); Map<String, Object> contentMap = dskOpenApiUtil.requestBody("/mongocontent/v1/cjb/mongo_content", contentParam);
Map contentData = MapUtils.getMap(contentMap, "data", null); Map contentData = MapUtils.getMap(contentMap, "data", null);
log.info("contentData:{}", JSONUtil.toJsonStr(contentData));
if (200 != MapUtils.getInteger(contentMap, "code", 300)) { if (200 != MapUtils.getInteger(contentMap, "code", 300)) {
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
...@@ -134,7 +136,8 @@ public class EnterpriseProjectService { ...@@ -134,7 +136,8 @@ public class EnterpriseProjectService {
String htmlContent = MapUtils.getString(contentData, "htmlContent"); String htmlContent = MapUtils.getString(contentData, "htmlContent");
map.put("content", htmlContent); data.put("content", htmlContent);
map.put("data", data);
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
......
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import com.dsk.common.core.domain.entity.BusinessFollowRecord; import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.common.exception.base.BaseException;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.BusinessIdDto; import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.BusinessListDto; import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.vo.BusinessListVo; import com.dsk.system.domain.vo.BusinessListVo;
...@@ -47,12 +45,12 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer ...@@ -47,12 +45,12 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
@Override @Override
public List<BusinessFollowRecord> allFollow(BusinessListDto dto) { public List<BusinessFollowRecord> allFollow(BusinessListDto dto) {
//userId不传值,就查询全部门项目 //userId不传值,就查询全部
if (dto.getUserId() == null) { // if (dto.getUserId() == null) {
Long deptId = SecurityUtils.getLoginUser().getDeptId(); // Long deptId = SecurityUtils.getLoginUser().getDeptId();
if (deptId == null) throw new BaseException("请登录"); // if (deptId == null) throw new BaseException("请登录");
dto.setDeptId(deptId.intValue()); // dto.setDeptId(deptId.intValue());
} // }
return businessFollowRecordMapper.allFollow(dto); return businessFollowRecordMapper.allFollow(dto);
} }
......
...@@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -80,13 +81,21 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -80,13 +81,21 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
*/ */
@Override @Override
public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto) { public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto) {
//userId不传值,就查询全部门项目 List<BusinessListVo> othersList = new ArrayList<>();
//userId不传值,就查询全部他人可见项目+自己的
if (dto.getUserId() == null) { if (dto.getUserId() == null) {
Long deptId = SecurityUtils.getLoginUser().getDeptId(); Long userId = SecurityUtils.getLoginUser().getUserId();
if (deptId == null) throw new BaseException("请登录"); if (userId == null) throw new BaseException("请登录");
dto.setDeptId(deptId.intValue()); dto.setOthers(userId.intValue());
//查询他人可见项目
othersList = businessInfoMapper.selectBusinessInfoList(dto);
} }
return businessInfoMapper.selectBusinessInfoList(dto); dto.setOthers(null);
//查询自己参与的项目
List<BusinessListVo> businessList = businessInfoMapper.selectBusinessInfoList(dto);
businessList.addAll(othersList);
return businessList;
} }
@Override @Override
...@@ -146,7 +155,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -146,7 +155,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
} }
} }
result.add("导入项目成功条数" + rowSuccess); result.add("导入项目成功条数" + rowSuccess);
result.add("导入项目失败条数" + errorCount); result.add("导入项目去重条数" + errorCount);
AjaxResult success = AjaxResult.success(String.join(",", result)); AjaxResult success = AjaxResult.success(String.join(",", result));
success.put("successCount",rowSuccess); success.put("successCount",rowSuccess);
return success; return success;
......
...@@ -72,9 +72,6 @@ ...@@ -72,9 +72,6 @@
<if test="userId != null"> <if test="userId != null">
and f.user_id = #{userId} and f.user_id = #{userId}
</if> </if>
<if test="deptId != null">
and u.dept_id = #{deptId}
</if>
</where> </where>
ORDER BY f.creat_time DESC ORDER BY f.creat_time DESC
</select> </select>
......
...@@ -131,8 +131,8 @@ ...@@ -131,8 +131,8 @@
<if test="userId != null"> <if test="userId != null">
and bu.user_id = #{userId} and bu.user_id = #{userId}
</if> </if>
<if test="deptId != null"> <if test="others != null">
and bu.dept_id = #{deptId} and i.is_private = 1 and bu.user_id != #{others} and i.is_private = 1
</if> </if>
<if test="provinceId != null and provinceId.size > 0 and cityId == null and districtId == null"> <if test="provinceId != null and provinceId.size > 0 and cityId == null and districtId == null">
......
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