Commit 047a873d authored by lcl's avatar lcl
parents ecb66a76 cf5ab054
......@@ -35,7 +35,7 @@ public class EnterpriseBussinessController {
@ApiOperation(value = "客户项目列表(openApi)")
@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);
}
......@@ -59,7 +59,7 @@ public class EnterpriseBussinessController {
@ApiOperation(value = "供应商项目列表(openApi)")
@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);
}
......
......@@ -18,6 +18,11 @@ public class EnterpriseBussinessHistorySendPageBody extends BasePage {
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 排序条件:1金额倒序,2金额正序,3时间倒序,4时间正序,7下浮率倒序,8下浮率正序,9工期倒序,10工期正序
*/
......
......@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectLandDetailBody {
/**
* 企业id
* id
*/
@NotNull(message = "id不能为空")
private Integer id;
......
......@@ -17,7 +17,7 @@ public class EnterpriseUipSearchBody extends BasePage {
/**
* 查询关键字
*/
private String keys;
private List<String> keys;
/*
......
......@@ -41,4 +41,9 @@ public class SpecialPurposeBondsDto {
* 排序 (降序desc 升序asc)
*/
private String order;
/**
* 是否为历史(1是,0否)
*/
private Integer isHistory;
}
......@@ -5,7 +5,7 @@ import lombok.Data;
/**
* @ClassName SpecialPurposeBonds
* @Description 专项债-项目类别统计
* @Description 专项债-项目分页列表
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
......@@ -16,4 +16,18 @@ public class SpecialPurposeBondsPageDto extends BasePage {
* 省Id
*/
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) {
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}
\ No newline at end of file
export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim,enterprisePage}
\ No newline at end of file
......@@ -28,7 +28,7 @@
width: 200px;
height: 114px;
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;
position: absolute;
z-index: 3;
......@@ -279,12 +279,15 @@
//表格样式
.tables{
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;
background: #F0F3FA;
font-size: 12px;
font-weight: 400;
}
.el-table__fixed::before{
background: none;
}
.is-sortable .sort-caret.ascending{
border-bottom-color: #0081FF;
opacity: 0.4;
......@@ -339,7 +342,7 @@
font-weight: 400;
color: #333333;
line-height: 21px;
margin-bottom: 4px;
margin-bottom: 8px;
}
.p2{
height: 18px;
......@@ -1130,3 +1133,30 @@
padding-top: 14px;
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 {
display: inline-block;
}
.viewlist-el-popover .pup_list li .VIP {
width: 24px;
height: 12px;
top: 0px;
right: -8px;
position: absolute;
}
.viewlist-el-popover .pup_list li .SVIP {
width: 24px;
height: 12px;
top: 0px;
right: -10px;
position: absolute;
}
.viewlist-el-popover .pup_list li:hover {
color: #0081FF;
......@@ -725,3 +710,365 @@ select {
.checkbox .checkbox-content .checkbox-content-qx{
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 = [
path: '/company',
component: Layout,
hidden: true,
name: 'Company',
redirect: 'noredirect',
children: [
{
path: '/company/:id',
component: () => import('@/views/detail/party-b/index'),
name: 'PartyB',
name: 'Company',
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',
component: Layout,
......
......@@ -16,7 +16,7 @@
</div>
<div class="table_search">
<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>
<div class="dc">
......@@ -34,6 +34,7 @@
<el-table-column
prop="index"
label="序号"
fixed="left"
width="47">
<template slot-scope='scope'>
<span>{{ (searchParam.pageNum - 1) * searchParam.pageSize + scope.$index + 1 }}</span>
......@@ -42,6 +43,7 @@
<el-table-column
prop="date"
label="企业名称"
fixed="left"
width="441">
<template slot-scope="scope">
<div class="ps1">
......@@ -120,7 +122,10 @@
prop="isMajor"
label="局级大客户" width="88">
<template slot-scope="scope">
<span v-if="scope.row.isMajor">
{{scope.row.isMajor == 1?"是":"否"}}
</span>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column
......@@ -219,7 +224,7 @@
<el-input type="text" placeholder="请输入" v-model="queryParam.creditCode"></el-input>
</el-form-item>
<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_primary h32" @click="submitForm('ruleForm')">添加</div>
</div>
......@@ -297,6 +302,9 @@ export default {
this.prvinceTree()
},
methods:{
toct(){
this.$router.push({path:'/macro/urban'})
},
getDictType(){
//获取客户等级
getDictType('customer_level_type').then(result=>{
......@@ -509,7 +517,7 @@ export default {
transform: translate(-50%,-50%);
.btn{
margin-right: 8px;
margin-top: 12px;
margin-top: 16px;
}
}
}
......@@ -543,4 +551,7 @@ export default {
padding-right: 26px;
}
}
.app-container{
height: auto;
}
</style>
......@@ -54,12 +54,12 @@
label="名称">
</el-table-column>
<el-table-column
prop="name"
label="数量(家)">
prop="sum"
label="数量(家)" align="right">
</el-table-column>
<el-table-column
prop="point"
label="占比">
label="占比" align="right">
</el-table-column>
</el-table>
</div>
......@@ -333,6 +333,12 @@ export default {
axisTick: {
show: false
},
boundaryGap: false,
nameLocation:'end',
nameTextStyle: {
fontSize:12,
padding: [0, 0, 0, -30]
},
},
yAxis: {
type: 'value',
......
......@@ -9,6 +9,7 @@
</el-input>
<el-menu
ref="sideMenu"
:unique-opened="true"
:default-active="routeIndex"
class="detail-menu"
@open="handleOpen">
......@@ -76,7 +77,7 @@ export default {
]},
{title: '城投分析', pathName: '', children: [
{title: '区域经济', pathName: 'regionalEconomies'},
{title: '城投地', pathName: 'landAcquisition'},
{title: '城投地', pathName: 'landAcquisition'},
{title: '同地区城投', pathName: 'sameRegion'}
]},
{title: '风险信息', pathName: '', children: [
......
......@@ -86,17 +86,17 @@
</div>
</el-form-item>
<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-select>
</el-form-item>
<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-select>
</el-form-item>
<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-select>
</el-form-item>
......
......@@ -26,7 +26,7 @@
>
<template slot="projectAllName" slot-scope="scope">
<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>
<!-- <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>
......@@ -35,6 +35,9 @@
<template slot="province" slot-scope="scope">
{{scope.row.province}}{{`${scope.row.city?'-'+scope.row.city:''}`}}
</template>
<template slot="lowerRate" slot-scope="scope">
<span>{{scope.row.lowerRate ? scope.row.lowerRate+'%' : '--'}}</span>
</template>
</tables>
</el-drawer>
</div>
......@@ -74,7 +77,7 @@ export default {
{label: '项目地区', prop: 'province', width: '160', slot: true},
{label: '项目类型', prop: 'boundType', width: '130'},
{label: '工期(天)', prop: 'period', width: '90'},
{label: '下浮率', prop: 'lowerRate', width: '90'}
{label: '下浮率', prop: 'lowerRate', width: '90', slot: true}
],
//列表
tableLoading:false,
......@@ -99,7 +102,8 @@ export default {
this.tableDataTotal = res.total
this.amountTotal = res.totalAmount
},
handlePic(url){
handlePic(url, isPic){
isPic ? url = 'https://imgs.jiansheku.com/'+url : ''
if(url){
window.open(url, "_blank")
}
......
......@@ -26,7 +26,7 @@
>
<template slot="projectAllName" slot-scope="scope">
<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>
<!-- <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>
......@@ -35,6 +35,9 @@
<template slot="province" slot-scope="scope">
{{scope.row.province}}{{`${scope.row.city?'-'+scope.row.city:''}`}}
</template>
<template slot="lowerRate" slot-scope="scope">
<span>{{scope.row.lowerRate ? scope.row.lowerRate+'%' : '--'}}</span>
</template>
</tables>
</el-drawer>
</div>
......@@ -74,7 +77,7 @@ export default {
{label: '项目地区', prop: 'province', width: '160', slot: true},
{label: '项目类型', prop: 'boundType', width: '130'},
{label: '工期(天)', prop: 'period', width: '90'},
{label: '下浮率', prop: 'lowerRate', width: '90'}
{label: '下浮率', prop: 'lowerRate', width: '90', slot: true}
],
//列表
tableLoading:false,
......@@ -99,7 +102,8 @@ export default {
this.tableDataTotal = res.total
this.amountTotal = res.totalAmount
},
handlePic(url){
handlePic(url, isPic){
isPic ? url = 'https://imgs.jiansheku.com/'+url : ''
if(url){
window.open(url, "_blank")
}
......
......@@ -44,6 +44,7 @@
import mixin from '../mixins/mixin'
import { clientPage } from '@/api/detail/party-a/dealings'
import ClientDetail from './component/customDetail'
import auth from "@/plugins/auth";
export default {
name: 'Custom',
props: ['companyId'],
......@@ -90,6 +91,12 @@ export default {
this.tableLoading = false
if(res.code==200){
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
},
......
......@@ -90,6 +90,12 @@ export default {
this.tableLoading = false
if(res.code==200){
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
},
......
......@@ -23,7 +23,7 @@
<div v-else v-html="scope.row.name || '--'"></div>
<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.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span>
<span class="tag style1" v-if="scope.row.biddingCount">招标数{{scope.row.biddingCount}}</span>
</div>
</template>
</tables>
......@@ -51,7 +51,7 @@ export default {
],
formData: [
{ type: 1, fieldName: 'hasBid', value: '', placeholder: '招标公告', options: [
{name:'不限',value:''},
{name:'不限',value:'noLimit'},
{name:'有招标公告',value:1},
{name:'无招标公告',value:0}
]
......@@ -70,6 +70,9 @@ export default {
async handleQuery(params) {
this.tableLoading = true
let param = params?params:this.queryParams
if(param.hasBid=='noLimit'){
delete param.hasBid
}
let res = await affiliates(param)
this.tableLoading = false
if(res.code==200){
......
......@@ -9,7 +9,7 @@
<div class="operations-title">{{item.bratingSubjectLevel}}-<span>{{item.ratingDate}}</span></div>
<div class="flex-box operations-info">
<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>
</li>
......
<template>
<div class="app-container rela-container">
<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="second"></el-tab-pane>
</el-tabs>
<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-column label="序号" width="55" align="left" fixed>
<template slot-scope="scope">{{ holderParams.pageNum * holderParams.pageSize - holderParams.pageSize + scope.$index + 1 }}</template>
</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 label="持股比例">
<el-table-column prop="shouldCapiConv" label="应缴金额"></el-table-column>
<el-table-column prop="stockPercent" label="持股比例"></el-table-column>
<el-table-column prop="" label="法定代表人">
<template slot-scope="scope">
<span>{{scope.row.stockPercent?parseFloat(Number(scope.row.stockPercent*100).toFixed(4))+'%':'--'}}</span>
<span>{{scope.row.corporatePerson || '--'}}</span>
</template>
</el-table-column>
<el-table-column label="法定代表人">
<el-table-column prop="" label="成立日期">
<template slot-scope="scope">
<span>{{scope.row.corporatePerson || '--'}}</span>
<span>{{scope.row.registeredDate || '--'}}</span>
</template>
</el-table-column>
<el-table-column label="成立日期">
<el-table-column prop="" label="企业状态">
<template slot-scope="scope">
<span>{{scope.row.registeredDate || '--'}}</span>
<span>{{scope.row.businessStatus || '--'}}</span>
</template>
</el-table-column>
</el-table>
......@@ -39,21 +40,21 @@
<div v-else v-html="scope.row.investName || '--'"></div>
<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.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span>
<span class="tag style1" v-if="scope.row.biddingCount">招标数{{scope.row.biddingCount}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="investOperName" label="法定代表人"></el-table-column>
<el-table-column prop="investRegistCapi" label="注册资本(万元)"></el-table-column>
<el-table-column prop="investStartDate" label="成立日期"></el-table-column>
<el-table-column prop="stockPercentage" label="股权占比">
<el-table-column label="注册资本">
<template slot-scope="scope">
<span>{{scope.row.stockPercentage?parseFloat(Number(scope.row.stockPercentage*100).toFixed(4))+'%':'--'}}</span>
<span>{{scope.row.investRegistCapi || '--'}}</span>
</template>
</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>
<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>
</template>
......@@ -87,16 +88,35 @@ export default {
},
created() {
this.handleQuery()
this.handleInvest()
},
mounted() {
},
methods: {
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){
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.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
}
this.activeName=='second'?this.shipTotal = res.total:''
},
handleClick(){
},
handlePath(){
changePath(this, 'overseas')
......
......@@ -5,7 +5,7 @@
<template v-if="zbggList.length>0">
<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>
<span class="tender-time">{{item.contact}} {{item.issueTime}}</span>
<span class="tender-time">{{item.issueTime}}</span>
</div>
</template>
<div class="tender-no-data" v-else>
......
......@@ -24,6 +24,9 @@
<div v-else v-html="scope.row.stockName || '--'"></div>
<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.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>
</template>
<template slot="stockPercent" slot-scope="scope">
......@@ -52,7 +55,7 @@ export default {
forData: [
{label: '发起人/股东', prop: 'stockName', minWidth: '230', slot: true},
{label: '持股比例', prop: 'stockPercent', slot: true},
{label: '认缴出资(万)', prop: 'shouldCapiConv'},
{label: '认缴出资', prop: 'shouldCapiConv'},
{label: '实缴出资额', prop: 'realCapi'},
{label: '认缴出资日期', prop: 'conDate'},
{label: '参股日期', prop: 'realCapiDate', width: '150'}
......
......@@ -23,7 +23,7 @@
<div v-else v-html="scope.row.investName || '--'"></div>
<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.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span>
<span class="tag style1" v-if="scope.row.biddingCount">招标数{{scope.row.biddingCount}}</span>
</div>
</template>
<template slot="proportion">
......@@ -59,25 +59,25 @@ export default {
forData: [
{label: '被投资企业名称', prop: 'investName', minWidth: '180', slot: true},
{label: '法定代表人', prop: 'investOperName'},
{label: '注册资本(万元)', prop: 'investRegistCapi'},
{label: '注册资本', prop: 'investRegistCapi'},
{label: '成立日期', prop: 'investStartDate'},
{label: '股权占比', prop: 'stockPercentage', slot: true, slotHeader: true, slotName: 'proportion'},
{label: '认缴出资额(万元)', prop: 'shouldCapi'}
],
formData: [
{ type: 1, fieldName: 'hasBid', value: '', placeholder: '招标公告', options: [
{name:'不限',value:''},
{name:'不限',value:'noLimit'},
{name:'有招标公告',value:1},
{name:'无招标公告',value:0}
]
},
{ type: 1, fieldName: 'proportion', value: '', placeholder: '股权占比', options: [
{name:'不限',value:''},
{name:'不限',value:'noLimit'},
{name:'100%',value:'1~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:'25%以上',value:'0.05~0.25'},
{name:'25%以上',value:'0.25~1'},
{name:'不到5%',value:'0~0.05'}
]
}
......@@ -105,10 +105,15 @@ export default {
handleSearch(){
let params = this.formParams()
if(params.proportion){
params.stockPercentageMin = parseFloat(params.proportion.split('~')[0])
params.stockPercentageMax = parseFloat(params.proportion.split('~')[1])
if(params.proportion!='noLimit'){
params.stockPercentageMin = parseFloat(params.proportion.split('~')[0])
params.stockPercentageMax = parseFloat(params.proportion.split('~')[1])
}
delete params.proportion
}
if(params.hasBid=='noLimit'){
delete params.hasBid
}
params.pageNum = 1
this.queryParams.pageNum = 1
this.handleQuery(params)
......
......@@ -94,6 +94,10 @@ export default {
prop: 'industryTotalValue',
label: '工业总产值(亿元)',
},
{
prop: 'fixedInvestment',
label: '固定资产投资(亿元)',
},
{
prop: 'realEstateInvestment',
label: '房地产开发投资(亿元)',
......@@ -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(16) td:first-child,
::v-deep .el-table__body-wrapper tr:nth-child(28) td:first-child{
::v-deep .el-table__body-wrapper tr:nth-child(2) td,
::v-deep .el-table__body-wrapper tr:nth-child(17) td,
::v-deep .el-table__body-wrapper tr:nth-child(29) td{
font-weight: bold;
color: #232323;
}
......
......@@ -24,7 +24,7 @@
<span class="wrap_label">行政等级</span>
<div class="item_ckquery">
<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>
</template>
</div>
......@@ -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>
<div v-else v-html="scope.row.companyName || '--'"></div>
</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>
</div>
......@@ -137,7 +147,7 @@ export default {
},
forData: [
{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: 'landInfoCount', width: '100', sortable: true},
{label: '供应商', prop: 'supplierCount', width: '100', sortable: true},
......
......@@ -15,14 +15,21 @@ export default {
loading: false, // 是否加载中
iframeHight: window.innerHeight, // iframe高度
scrollTop: 0, // 滚动条距离内部页面顶部距离
// domain: 'https://pre-plug.jiansheku.com',
domain: 'http://192.168.60.30:3300',
ak: 'aec7b3ff2y2q8x6t49a7e2c463ce21912' // 需要携带的sdkId
}
},
created() {
if (this.$route.params.id) { // 获取companyId
this.loading = true
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`
// this.src = `https://pre-plug.jiansheku.com/enterprise/${this.$route.params.id}?ak=${this.ak}`
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() {
......
......@@ -168,7 +168,6 @@
</el-table-column>
<el-table-column label="区域" width="120">
<template slot-scope="scope">
<router-link :to="'/radar/bxprozbgg/details/'+ 1" tag="a" class="list-titel-a" >
{{scope.row.province}}
<template v-if="scope.row.city">
-
......@@ -178,8 +177,6 @@
-
</template>
{{scope.row.area}}
</router-link>
</template>
</el-table-column>
......@@ -591,7 +588,7 @@ export default {
},
mounted() {
this.addressListfn();
this.init();
},
methods: {
domicileChange() {
......@@ -675,7 +672,7 @@ export default {
},
init(){
// this.search();
this.search();
this.addressListfn();
},
......
......@@ -317,6 +317,7 @@ export default {
//客户跟进动态
this.option = {
xAxis: {
boundaryGap: false,
type: 'category',
data: labels,
axisTick: {
......@@ -334,7 +335,7 @@ export default {
},
grid:{
left:'4%',
top:'20%',
top:'21%',
right:'2%',
bottom:'15%',
},
......@@ -345,8 +346,8 @@ export default {
// trigger: 'axis'
},
legend: {
left: '12px',
top:"15px",
right: '20px',
top:"30px",
data: ['成交金额', '储备项目', '跟进动态'],
itemHeight: 8, // 修改icon图形大小
itemGap: 20
......
......@@ -44,7 +44,7 @@
</el-select>
</el-form-item>
<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_primary h32" @click="submitForm('ruleForm')">新建商机</div>
</div>
......@@ -109,6 +109,9 @@
})
},
methods:{
toradar(){
this.$router.push({path:'/radar'})
},
handleALL(event){
var one = document.getElementById("box");
if(one){
......
......@@ -42,7 +42,8 @@
<div class="p3">
<img src="@/assets/images/project/success.png">查询成功
</div>
<div class="p2">导入成功,已为您去掉重复{{titletext}}{{successCount}}</div>
<!--<div class="p2">导入成功,已为您去掉重复{{titletext}}{{successCount}}</div>-->
<div class="p2">{{messages}}</div>
<div class="btns">
<div class="btn btn_primary h32" @click="getmsg">查看</div>
</div>
......@@ -74,6 +75,7 @@
downloadhref:'',//样例地址
titletext:'',
successCount:0,//成功条数
messages:'',
}
},
created(){
......@@ -120,6 +122,14 @@
onSuccess(res, file, fileList) {
if (res.code == 200) {
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
}else {
this.importCancel()
......
......@@ -57,6 +57,9 @@
prop="accendant"
label="内部维护人"
width="146">
<template slot-scope="scope">
{{scope.row.accendant || '--'}}
</template>
</el-table-column>
</el-table>
<div class="bottems">
......
......@@ -368,7 +368,7 @@ export default {
this.$router.push({ path: '/project/projectList/detail', query: {id:id,tag:tag} });
},
handleClick(){
this.getList(1)
},
handleChange(value) {
// console.log(value);
......
......@@ -56,7 +56,7 @@
<el-table-column label="项目名称" >
<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>
</el-table-column>
......@@ -100,14 +100,14 @@
<script>
import "@/assets/styles/public.css";
import {
encodeStr
} from "@/assets/js/common.js"
import {encodeStr} from "@/assets/js/common.js"
import api from '@/api/radar/radar.js';
export default {
name: 'BidRecordDetails',
data() {
return {
encodeStr,
id: '',
tableData: [],
"pageNum": 1,
......
......@@ -10,7 +10,8 @@
<div class="list-content">
<p class="list-content-text">
<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 class="list-content-text">
<span>成交金额:</span>
......@@ -192,12 +193,14 @@
<script>
import api from '@/api/radar/radar.js';
import {encodeStr} from "@/assets/js/common.js"
export default {
name: 'LandDetails',
data() {
return {
id: '',
encodeStr,
textList: {}
}
......
......@@ -25,13 +25,17 @@
</div>
<div class="list-content">
<p class="list-content-text">
<p class="list-content-text" v-if="textList.tenderee">
<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 class="list-content-text">
<p class="list-content-text" v-if="textList.agency">
<span>代理单位:</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>
</div>
......@@ -89,11 +93,13 @@
<script>
import "@/assets/styles/public.css";
import api from '@/api/radar/radar.js';
import {encodeStr} from "@/assets/js/common.js"
export default {
name: 'TenderDetails',
data() {
return {
encodeStr,
id: '',
textList:{},
showimg:true
......
......@@ -173,10 +173,13 @@
<div class="main3-box">
<p>
<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>
<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>
<label class="label">招标人联系方式</label>
<span>{{textList.tendereeTel||'--'}}</span>
......@@ -199,11 +202,13 @@
<script>
import "@/assets/styles/public.css";
import api from '@/api/radar/radar.js';
import {encodeStr} from "@/assets/js/common.js"
export default {
name: 'bxprozbggDetails',
data() {
return {
encodeStr,
id: '',
textList: {},
showimg:true,
......@@ -512,6 +517,11 @@
.color2{
color: #0081FF;
cursor: pointer;
display: flex;
align-items: center;
width: 40%;
padding: 12px;
font-size: 12px;
}
}
......
......@@ -164,7 +164,8 @@
<div class="list-content">
<p class="list-content-text">
<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 class="list-content-text">
<span>合同预估金额(万元):</span>
......
......@@ -234,7 +234,7 @@
<div class="list-content">
<p class="list-content-text">
<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 class="list-content-text">
<span>成交金额:</span>
......@@ -1127,7 +1127,7 @@
}
.bottomlist-list:hover{
background: #F6F9FC;
cursor: pointer;
}
.pagination{
padding: 14px ;
......
......@@ -207,11 +207,13 @@
<div class="list-content" v-if="item.companyName||item.agency">
<p class="list-content-text" v-if="item.companyName">
<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 class="list-content-text" v-if="item.agency">
<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>
</div>
......@@ -275,6 +277,7 @@
data() {
return {
//有无联系方式
encodeStr,
phonePointType: [{
value: '',
label: '不限'
......
......@@ -103,20 +103,20 @@
<router-link :to="'/radar/debtProject/details/'+item.uuid " tag="a" class="list-titel-a" v-html="item.projectName"></router-link>
</p>
<div class="content-label">
<div class="content-label" v-if="item.domicile">
<span class="list-label">{{item.domicile}}</span>
</div>
<div class="list-content">
<p class="list-content-text">
<p class="list-content-text" v-if="item.projectType">
<span>项目类型:</span>
<span>{{item.projectType}}</span>
</p>
<p class="list-content-text">
<p class="list-content-text"v-if="item.projectTotalInvestment">
<span>项目总投资(亿):</span>
<span>{{item.projectTotalInvestment}}</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.specialCapital">
<span>项目资本金(亿):</span>
<span>{{item.projectCapital}}</span>
</p>
......@@ -126,17 +126,17 @@
</p>
</div>
<div class="list-content">
<p class="list-content-text">
<p class="list-content-text" v-if="item.specialCapital">
<span>项目主体:</span>
<span class="blue">{{item.projectEntity}}</span>
<span >{{item.projectEntity}}</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.chargeDepartment">
<span>主管部门:</span>
<span class="blue">{{item.chargeDepartment}}</span>
<span >{{item.chargeDepartment}}</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.piu">
<span>实施单位:</span>
<span class="blue">{{item.piu}}</span>
<span >{{item.piu}}</span>
</p>
</div>
</li>
......@@ -228,6 +228,7 @@
created() {
this.addressListfn();
this.searchDic();
this.search();
},
methods: {
searchDic(){
......@@ -319,16 +320,16 @@
let arr = (this.$refs.address.getCheckedNodes())
let provinceCode = [],
cityCode = [],
countyCode = [];
areaCode = [];
let province = [],
city = [],
county = [];
area = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
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 {
provinceCode.push(arr[i].value)
......@@ -360,12 +361,12 @@
}
}
if (countyCode.length > 0) {
for (let i = 0; i < countyCode.length; i++) {
if (countyCode[i] == jsk_data[j].id) {
county.push({
if (areaCode.length > 0) {
for (let i = 0; i < areaCode.length; i++) {
if (areaCode[i] == jsk_data[j].id) {
area.push({
value: jsk_data[j].regionName,
key: countyCode[i]
key: areaCode[i]
})
}
......@@ -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 = [];
if (province.length > 0) {
for (let i in province) {
......@@ -385,9 +386,9 @@
arrlist.push(city[i].value)
}
}
if (county.length > 0) {
for (let i in county) {
arrlist.push(county[i].value)
if (area.length > 0) {
for (let i in area) {
arrlist.push(area[i].value)
}
}
console.log(this.addressType);
......@@ -396,7 +397,7 @@
keyid: 'address',
provinceCode: provinceCode,
cityCode: cityCode,
countyCode: countyCode,
areaCode: areaCode,
title: '项目属地:',
key: '',
addressType:this.addressType
......@@ -464,17 +465,14 @@
if (this.arrList[i].keyid == "address") {
params.specialBondProjectDto['province'] = this.arrList[i].provinceCode.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]!='不限'){
params.specialBondProjectDto['projectType'] = this.projectType.join(',');
}
if(!this.ckhasValue(params.specialBondProjectDto)){
this.$message.warning("请选择筛选条件后添加多组业绩!");
return
}
api.bondProjectPage(params).then(res=>{
if (res.code==200) {
this.tableData=res.data.list;
......
......@@ -43,7 +43,7 @@
import "@/assets/styles/public.css";
export default {
name: 'radar',
name: 'Radar',
components: { debtProject,Land,Establishment,bxprozbgg,Tender,BidRecord,Bidding },
data() {
return {
......@@ -95,7 +95,9 @@
personnelHerf:'debtProject'
}
},
created() {},
created() {
// console.log(this.$route.name)
},
methods: {
personnelListbtn(index) {
for (var i = 0; i < this.personnelList.length; i++) {
......
......@@ -22,9 +22,9 @@ public class BusinessListDto {
private Integer userId;
/**
* 部门id
* 用户查看全部他人可见项目标示
*/
private Integer deptId;
private Integer others;
/**
* 省id
......
package com.dsk.system.dskService;
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.model.*;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
......@@ -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));
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 {
public R tenderDetail(EnterpriseBussinessTenderDetailBody body) throws Exception {
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);
}
......@@ -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));
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;
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.model.*;
import com.dsk.common.core.page.TableDataInfo;
......@@ -124,9 +125,10 @@ public class EnterpriseProjectService {
contentParam.put("data_type", "bid_plan");
contentParam.put("filter_type", 2);
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);
log.info("contentData:{}", JSONUtil.toJsonStr(contentData));
if (200 != MapUtils.getInteger(contentMap, "code", 300)) {
return BeanUtil.toBean(map, R.class);
......@@ -134,7 +136,8 @@ public class EnterpriseProjectService {
String htmlContent = MapUtils.getString(contentData, "htmlContent");
map.put("content", htmlContent);
data.put("content", htmlContent);
map.put("data", data);
return BeanUtil.toBean(map, R.class);
}
......
package com.dsk.system.service.impl;
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.SecurityUtils;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.vo.BusinessListVo;
......@@ -47,12 +45,12 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
@Override
public List<BusinessFollowRecord> allFollow(BusinessListDto dto) {
//userId不传值,就查询全部门项目
if (dto.getUserId() == null) {
Long deptId = SecurityUtils.getLoginUser().getDeptId();
if (deptId == null) throw new BaseException("请登录");
dto.setDeptId(deptId.intValue());
}
//userId不传值,就查询全部
// if (dto.getUserId() == null) {
// Long deptId = SecurityUtils.getLoginUser().getDeptId();
// if (deptId == null) throw new BaseException("请登录");
// dto.setDeptId(deptId.intValue());
// }
return businessFollowRecordMapper.allFollow(dto);
}
......
......@@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
......@@ -80,13 +81,21 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
*/
@Override
public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto) {
//userId不传值,就查询全部门项目
List<BusinessListVo> othersList = new ArrayList<>();
//userId不传值,就查询全部他人可见项目+自己的
if (dto.getUserId() == null) {
Long deptId = SecurityUtils.getLoginUser().getDeptId();
if (deptId == null) throw new BaseException("请登录");
dto.setDeptId(deptId.intValue());
Long userId = SecurityUtils.getLoginUser().getUserId();
if (userId == null) throw new BaseException("请登录");
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
......@@ -146,7 +155,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
}
}
result.add("导入项目成功条数" + rowSuccess);
result.add("导入项目失败条数" + errorCount);
result.add("导入项目去重条数" + errorCount);
AjaxResult success = AjaxResult.success(String.join(",", result));
success.put("successCount",rowSuccess);
return success;
......
......@@ -72,9 +72,6 @@
<if test="userId != null">
and f.user_id = #{userId}
</if>
<if test="deptId != null">
and u.dept_id = #{deptId}
</if>
</where>
ORDER BY f.creat_time DESC
</select>
......
......@@ -131,8 +131,8 @@
<if test="userId != null">
and bu.user_id = #{userId}
</if>
<if test="deptId != null">
and bu.dept_id = #{deptId} and i.is_private = 1
<if test="others != null">
and bu.user_id != #{others} and i.is_private = 1
</if>
<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