Commit 27a4117b authored by caixingbing's avatar caixingbing
parents 17645c41 e2e67737
......@@ -88,10 +88,12 @@ public class BusinessFileController extends BaseController {
//校验是否上传同名文件
File newFile = new File(filePath);
// 获取当前目录下的文件和文件夹
File[] files = newFile.listFiles();
for (File allFile : files) {
if(filename.equals(allFile.getName())) return error("文件已存在");
if (newFile.exists()) {
// 获取当前目录下的文件和文件夹
File[] files = newFile.listFiles();
for (File allFile : files) {
if (filename.equals(allFile.getName())) return error("文件已存在");
}
}
// 上传并返回文件全路径
......
package com.dsk.web.controller.search.macroMarket;
import com.dsk.common.core.page.TableDataInfo;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.system.service.RegionalEnterprisesService;
import com.dsk.web.controller.search.controller.PageQueryLimit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -24,7 +26,15 @@ public class RegionalEnterprisesController {
private RegionalEnterprisesService regionalEnterprisesService;
@PostMapping("regional/page")
public TableDataInfo page(@RequestBody ComposeQueryDto compose) throws Exception{
return regionalEnterprisesService.page(compose);
public AjaxResult page(@RequestBody JSONObject object) throws Exception{
ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
compose.getPage().setPage(compose.getPageNum());
compose.getPage().setLimit(compose.getPageSize());
compose.getPage().setField(compose.getField());
compose.getPage().setOrder(compose.getOrder());
if (PageQueryLimit.pageLimit(compose.getPage())){
return AjaxResult.error("翻页已达到上限");
}
return regionalEnterprisesService.enterprisePage(compose);
}
}
......@@ -168,7 +168,7 @@ export function bondPage(param) {
//区域企业
export function enterprise(param) {
return request({
url: '/enterprise/page',
url: '/enterprises/regional/page',
method: 'POST',
data: param
})
......
......@@ -158,11 +158,11 @@ select {
}
.el-popper[x-placement^=top] {
margin-bottom: 12px;
margin-bottom: 4px;
}
.el-popper[x-placement^=bottom] {
margin-top: 12px;
margin-top: 4px;
}
.el-select-dropdown .popper__arrow {
......@@ -390,12 +390,13 @@ select {
height: 0px;
opacity: 1;
border-bottom: 1px solid #EFEFEF;
margin: 16px 0px;
margin-top: 20px;
margin-bottom: 24px;
}
.content_item .search-new {
width: 100%;
padding-bottom: 16px;
padding-bottom: 24px;
}
.content_item .search-new span:last-child {
......@@ -433,6 +434,7 @@ select {
border-color: #0081FF;
}
.toolbar-right-download {
padding: 6px 18px;
margin: 0px;
......@@ -1181,6 +1183,6 @@ select {
font-weight: 400;
color: #999999;
line-height: 18px;
margin-bottom: 24px;
padding-bottom: 48px;
text-align: center;
}
\ No newline at end of file
......@@ -28,9 +28,7 @@
<el-table v-if="tableData.total > 0"
:data="tableData.rows"
stripe border
style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
>
style="width: 100%">
<el-table-column
prop="index"
label="序号"
......@@ -428,8 +426,6 @@ export default {
//
// return;
// }
console.log(this.queryParam)
return false
this.$refs[formName].validate((valid) => {
if (valid) {
addCustomer(this.queryParam).then(result=>{
......
<template>
<div class="app-container operations-container">
<div class="common-title">基本信息</div>
<div class="part-swiper">
<div class="baseinfo">
<div class="row">
<div class="con">
<Elselects
title="企业性质"
:list="companyType.companyNaturelist"
:id="infos.customerId"
:val="infos.companyNature"
field="companyNature"
@changenowedit="clickNowedit" />
</div>
<div class="con i">
<Elselects
title="企业级别"
:list="companyType.companyLevellist"
:id="infos.customerId"
:val="infos.companyLevel"
field="companyLevel"
@changenowedit="clickNowedit" />
</div>
</div>
<div class="row">
<div class="con">
<span>企业母公司:</span>
<div class="inputxt" id="inputxt2">
<div class="flex" v-if="nowedit == noweditis && isDisabled == false" >
<el-input placeholder="待添加" v-model="superCompany"></el-input>
<div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px" @click="editXMSL(superCompany)">确定</div>
<div class="cancels h28" @click="clickNowedit(-1)" style="">取消</div>
</div>
</div>
<span :class="{txt:!superCompany}" v-else @click="clickNowedit(noweditis)">{{superCompany||'待添加'}}</span>
</div>
</div>
<div class="con i">
<Elselects
title="上市公司"
:list="companyType.isOnlistlist"
:id="infos.customerId"
:val="infos.isOn"
field="isOn"
@changenowedit="clickNowedit" />
</div>
</div>
<div class="row">
<div class="con">
<Elselects
title="局级大客户"
:list="companyType.isOnlistlist"
:id="infos.customerId"
:val="infos.isMajor"
field="isMajor"
@changenowedit="clickNowedit" />
</div>
<div class="con i">
<Elselects
title="资信等级"
:list="companyType.creditLevellist"
:id="infos.customerId"
:val="infos.creditLevel"
field="creditLevel"
@changenowedit="clickNowedit" />
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { customerUpdate } from '@/api/detail/party-a/cooperate'
import Elselects from "./elselects"
export default {
name: "basicIinformation",
props: ['infos','companyType','nowedit','noweditis'],
components: {
Elselects,
},
data() {
return {
isDisabled:false,
isselect:false,
superCompany:this.infos.superCompany,
}
},
created(){
},
methods:{
editXMSL(val){
if(this.isDisabled == true)
return false
let params = {
customerId: this.infos.customerId,
superCompany: val,
}
this.clickNowedit(-1)
customerUpdate(params).then(res=>{
if (res.code == 200){
this.$message.success('修改成功!')
}else{
this.$message.error(res.msg)
}
})
},
clickNowedit(e){
this.$emit("focus-nowedit", e)
}
}
}
</script>
<style lang="scss" scoped>
.operations-container {
margin: 0;
padding: 24px 16px;
background: #FFFFFF;
border-radius: 4px;
.part-swiper {
position: relative;
margin-top: 16px;
}
}
.select-popper{
top: 3px;
}
.inputxt .flex{
background: #fff;
}
.baseinfo .row{
padding-left: 0;
}
</style>
<template>
<div class="">
<el-card class="box-card noborder">
<div class="cardtitles">{{ title }}</div>
<div class="baseinfo" >
<el-input id="inputxt9" v-model="val" @focus="focusNowedit(noweditis)" class="textarea" type="textarea" :placeholder="'请输入' + title" maxlength="500" :show-word-limit="true" ></el-input>
<div class="flex btns" v-if="nowedit == noweditis">
<div class="flex">
<div class="btnsmall btn_primary h28" @click="changes(val,field)" style="width: 56px">确定</div>
<div class="cancels h28" @click="focusNowedit(-1)" style="">取消</div>
</div>
</div>
</div>
</el-card>
</div>
</template>
<script>
import { customerUpdate } from '@/api/detail/party-a/cooperate'
export default {
name: "elCardinput",
props: ['infos','title','projectDetails','nowedit','noweditis','field'],
data() {
return {
val: this.projectDetails
}
},
created() {
},
methods: {
changes(v,n){
let data = {
customerId: this.infos.customerId,
}
data[n] = v
this.$emit("focus-nowedit", -1)
customerUpdate(data).then(res=>{
if (res.code == 200){
this.$message.success('修改成功!')
}else{
this.$message.error(res.msg)
}
})
},
focusNowedit(e){
this.$emit("focus-nowedit", e)
},
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="baseinfoselect">
<span class="select-title">{{ title }}</span>
<div class="select-popper " >
<span :class="{'txt':selectTxt1.name == '待添加'}">
{{selectTxt1.name}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-if="isDisabled==false" v-model="selectTxt1.val" class="select-multiple" placeholder="请选择" @change="editXMSL($event)">
<el-option v-for="(item,index) in list" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</div>
</div>
</template>
<script>
import { customerUpdate } from '@/api/detail/party-a/cooperate'
export default {
name: "elselects",
props: [
'title',
'list',
'id',
'val',
'field'
],
data() {
return {
isDisabled:false,
selectTxt1:this.selectTxts(),
isselect: false
}
},
created(){
this.selectTxts()
},
methods:{
editXMSL(val){
let option = this.lists(val)
if (option) {
this.selectTxt1.name = option.dictLabel;
this.selectTxt1.val = option.val;
this.$emit("changenowedit", -1);
let params = {
customerId: this.id,
}
params[this.field] = val
customerUpdate(params).then(res=>{
if (res.code == 200){
this.$message.success('修改成功!')
}else{
this.$message.error(res.msg)
}
})
}
},
lists(val){
return this.list.find(option => option.dictValue === val);
},
selectTxts(){
let option = this.lists(this.val)
if (option) {
return {
name: option.dictLabel,
val: this.val
}
}else{
return {
name:'待添加',
val:'',
}
}
}
}
}
</script>
<style lang="scss" scoped>
.baseinfoselect{
.select-title{
color: rgba(35,35,35,0.8);
}
}
</style>
<template>
<div class="app-container info-container">
<div class="company-box">
<div class="company-nav flex-box">
<div class="company-left">
<img :src="companyInfo.logoUrl" :alt="companyInfo.companyName" :title="companyInfo.companyName" v-if="companyInfo.logoUrl">
<span
:class="companyInfo.nameSimple&&companyInfo.nameSimple.length<3?'conenctLogo textOne bg'+companyInfo.nameSimple.length:'conenctLogo textTwo bg'+companyInfo.nameSimple.length"
v-else-if="companyInfo.nameSimple"
v-html="companyInfo.nameSimple"></span>
<img :src="require('@/assets/images/detail/overview/logo@2x.png')" :alt="companyInfo.companyName" :title="companyInfo.companyName" v-else>
</div>
<div class="company-title">
<div class="company-name">
{{companyInfo.companyName || ''}}
</div>
<div class="company-tag">
<div style="float: left;margin-top: 8px;" class="company-history" v-if="companyInfo.historyNames && companyInfo.historyNames.length>0">
<el-popover
placement="bottom-start"
popper-class="enterpriseLabel-item"
trigger="hover">
<el-button slot="reference">曾用名 <i class="el-icon-caret-bottom"></i></el-button>
<ul class="history-item">
<li v-for="(item, index) in companyInfo.historyNames" :key="index">{{item.value}}</li>
</ul>
</el-popover>
</div>
<span style="float: left;" :class="!labelArr.includes(companyInfo.businessStatus)?'label-bg1':'label-bg3'" v-if="companyInfo.businessStatus">{{companyInfo.businessStatus}}</span>
</div>
</div>
</div>
<div class="company-info">
<div class="info-item flex-box">
<div class="flex-box item"><label>法定代表人:</label><span class="text-cl1">{{companyInfo.corporatePerson || '--'}}</span></div>
<div class="flex-box item"><label>统一社会信用代码:</label><span class="text-cl1">{{companyInfo.creditCode || '--'}}</span></div>
</div>
<div class="info-item flex-box">
<div class="flex-box item"><label>注册资本:</label><span class="text-cl1">{{companyInfo.regCapital || '--'}}</span></div>
<div class="flex-box item"><label>注册地址:</label><span class="text-cl1">{{companyInfo.addressDetail || '--'}}</span></div>
</div>
</div>
</div>
</div>
</template>
<script>
var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js')
export default {
name: "info",
props: ['companyId', 'companyInfo'],
data() {
return {
labelArr:['失信联合惩戒企业','司法纠纷','注销'], //负向经营状态
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.info-container{
margin: 0;
padding: 0px 16px 10px 16px;
background: #FFFFFF;
border-radius: 4px;
.company-box{
width: 100%;
position: relative;
.company-nav{
align-items: normal;
.company-left{
width: 64px;
height: 64px;
margin-right: 12px;
flex-shrink: 0;
img{
width: 100%;
height: 100%;
border-radius: 4px;
overflow: hidden;
}
.conenctLogo{
width: 100%;
height: 100%;
color: #FFFFFF;
border-radius: 4px;
overflow: hidden;
text-align: center;
display: block;
&.textOne{
font-size: 18px;
line-height: 64px;
}
&.textTwo{
font-size: 18px;
padding: 9px 10px;
line-height: 24px;
}
&.bg1{
background: #99BE81;
}
&.bg2{
background: #76B4D4;
}
&.bg3{
background: #7A91D9;
}
&.bg4{
background: #8F8DD2;
}
&.bg5{
background: #C4A89F;
}
}
p{
font-size: 12px;
color: #999999;
text-align: center;
margin-top: 7px;
}
}
.company-title{
.company-name{
font-size: 20px;
color: #000000;
font-weight: bold;
margin-right: 100px;
}
.company-tag{
overflow: hidden;
font-size: 12px;
padding: 2px 0 10px 0;
.company-history, .company-highTech{
display: inline-block;
height: 22px;
background: #EFEFEF;
border-radius: 2px;
margin-right: 8px;
margin-left: 0;
button{
height: 22px;
line-height: 22px;
font-size: 12px;
padding: 0 8px;
background: #EFEFEF;
color: #838383;
border: 1px solid #EFEFEF;
border-radius: 2px;
}
}
.company-highTech{
button{
background: #DFEAFE;
color: #0065F9;
}
}
.enterpriseLabel-highTech{
background: #ffffff;
margin-top: 8px;
margin-right: 8px;
float: left;
}
>span{
display: inline-block;
height: 22px;
line-height: 22px;
padding: 0 8px;
border-radius: 2px;
margin-right: 8px;
margin-top: 8px;
&:last-child{
margin-right: 0;
}
}
.enterpriseLabel-span{
display: inline-block;
height: 22px;
line-height: 22px;
padding: 0 8px;
border-radius: 2px;
margin-right: 8px;
margin-top: 8px;
float: left;
}
.label-bg1{
background: #DEF6F0;
color: #0BAE8D;
}
.label-bg2{
background: #DFEAFE;
color: #0065F9;
}
.label-bg3{
background: #fbf2f1;
color: #fa5640;
}
}
}
}
.company-info{
background: #F5F9FE;
border-radius: 2px;
padding: 12px 10px 12px 16px;
.info-item{
margin-bottom: 12px;
&:last-child{
margin-bottom: 0;
}
.item-link{
color: #0081FF;
cursor: pointer;
font-size: 12px;
line-height: 20px;
&:hover{
color: #0069D0;
text-decoration: none;
}
}
.item{
font-size: 14px;
color: #333333;
&:first-child{
width: 280px;
}
&:nth-child(2){
//width: 350px;
}
&.item-line{
width: 100%;
align-items: flex-end;
.item-all{
width: calc(100% - 50px);
text-overflow: initial;
white-space: initial;
overflow: initial;
}
.item-more{
width: calc(100% - 50px);
}
}
label{
color: #666666;
flex-shrink: 0;
font-weight: 400;
}
span{
display: inline-block;
}
}
}
}
}
.history-item{
padding: 8px 8px;
li{
font-size: 12px;
color: #333333;
padding: 2px 0;
}
}
.enterpriseLabel-item{
padding: 0;
//width: 100%;
max-width: 276px;
margin-top: 8px !important;
}
.ml-4{
margin-left: 4px;
}
}
</style>
<template>
<div class="app-container part-container">
<div style="background: #FFFFFF; height: 300px;">
商务信息
</div>
<template v-if="isInfo">
<!-- 企业信息 -->
<div class="view-content">
<Info :companyInfo="companyInfo" />
</div>
<!-- 基本信息 -->
<div class="view-content">
<BasicIinformation
:infos="infos"
:companyType="companyType"
:nowedit="nowedit"
:noweditis="1"
@focus-nowedit="focusNowedits"/>
</div>
<!-- 发包属性 -->
<div class="view-content">
<ElCardinput
:infos="infos"
title="发包属性"
field="companyAttribute"
:projectDetails="infos.companyAttribute"
:nowedit="nowedit"
:noweditis="2"
@focus-nowedit="focusNowedits" />
</div>
<!-- 主营业务 -->
<div class="view-content">
<ElCardinput
:infos="infos"
title="主营业务"
field="mainBusiness"
:projectDetails="infos.mainBusiness"
:nowedit="nowedit"
:noweditis="3"
@focus-nowedit="focusNowedits" />
</div>
<!-- 经营范围 -->
<div class="view-content">
<ElCardinput
:infos="infos"
title="经营范围"
field="businessScope"
:projectDetails="infos.businessScope"
:nowedit="nowedit"
:noweditis="4"
@focus-nowedit="focusNowedits" />
</div>
</template>
</div>
</template>
<script>
import { getDictType } from '@/api/main'
import { customerInfo } from '@/api/detail/party-a/cooperate'
import Info from "./component/info"
import BasicIinformation from "./component/basicIinformation"
import ElCardinput from "./component/elCardinput"
export default {
name: 'Business',
props: ['customerIds', 'companyInfo', 'customerInfo'],
components: {
Info,
BasicIinformation,
ElCardinput
},
data() {
return {
isInfo:false,
infos:{},
projectDetails:'',
nowedit: -1,
companyType: {
companyNaturelist: [],//企业性质
companyLevellist: [],//企业级别
isOnlistlist:[
{
dictValue: 0,
dictLabel:'否',
},
{
dictValue: 1,
dictLabel:'是',
}
],//上市公司
isMajorlist:[
{
dictValue: 0,
dictLabel:'否',
},
{
dictValue: 1,
dictLabel:'是',
}
],//局级大客户
creditLevellist: [],//资信等级
}
}
},
created() {
this.handleQuery()
this.infos = this.customerInfo
},
mounted(){
this.customerInfos()
},
methods: {
async handleQuery() {
let [type1,type2,type3] = await Promise.all([
getDictType('company_nature_type'),
getDictType('company_level_type'),
getDictType('credit_level_type')
])
if(type1.code==200){
type1.data.forEach(item => {
this.companyType.companyNaturelist.push({dictLabel:item.dictLabel,dictValue:item.dictLabel})
})
}
if(type2.code==200){
type2.data.forEach(item => {
this.companyType.companyLevellist.push({dictLabel:item.dictLabel,dictValue:item.dictLabel})
})
}
if(type3.code==200){
type3.data.forEach(item => {
this.companyType.creditLevellist.push({dictLabel:item.dictLabel,dictValue:item.dictLabel})
})
}
this.isInfo = true
},
customerInfos(){
customerInfo(this.customerIds).then(res=>{
this.infos = res.data
})
},
focusNowedits(e){
this.nowedit = e
}
}
}
</script>
<style lang="scss" scoped>
.part-container{
padding: 0;
.part-container{
margin: 0;
padding: 0;
.view-content{
margin-top: 16px;
}
}
</style>
......@@ -90,13 +90,14 @@ export default {
{title: '开庭公告', pathName: 'openacourtsessionNotice'},
// {title: '信用中国', pathName: ''}
]},
// {title: '商务信息', pathName: 'business'},
{title: '商务信息', pathName: 'business'},
{title: '招标偏好', pathName: 'preference'},
{title: '合作情况', pathName: 'cooperate'},
{title: '决策链条', pathName: 'decisionMaking'},
{title: '跟进记录', pathName: 'gjjl'}
],
customer:[
'business',
'preference',
'cooperate',
'decisionMaking',
......
......@@ -320,5 +320,7 @@ export default {
::v-deep .el-table__fixed::before, ::v-deep .el-table__fixed-right::before{
background-color:unset;
}
::v-deep .el-dialog__headerbtn{
z-index: 9;
}
</style>
......@@ -43,10 +43,12 @@
<CourtNotice v-if="currentPath.pathName=='courtNotice'" :company-id="companyId" />
<OpenacourtsessionNotice v-if="currentPath.pathName=='openacourtsessionNotice'" :company-id="companyId" />
<template v-if="customerId">
<!-- 商务信息 -->
<Business v-if="currentPath.pathName=='business'" :customer-ids="customerId" :companyInfo="companyInfo" :customerInfo="customerInfo" />
<!-- 招标偏好 -->
<Preference v-if="currentPath.pathName=='preference'" :customer-ids="customerId" />
<Preference v-if="currentPath.pathName=='preference'" :customer-ids="customerId" :customerInfo="customerInfo" />
<!-- 合作情况 -->
<Cooperate v-if="currentPath.pathName=='cooperate'" :customer-ids="customerId" :companyInfo="companyInfo" :cooDetail="cooDetail" @detail="cooperateDetail" />
<Cooperate v-if="currentPath.pathName=='cooperate'" :customer-ids="customerId" :companyInfo="companyInfo" :cooDetail="cooDetail" :customerInfo="customerInfo" @detail="cooperateDetail" />
<!-- 决策链条 -->
<DecisionMaking v-if="currentPath.pathName=='decisionMaking'" :customer-ids="customerId" :companyInfo="companyInfo" />
<!-- 跟进记录 -->
......@@ -62,6 +64,7 @@
<script>
import { idRemark } from '@/api/common'
import { infoHeader } from '@/api/detail/party-a/index'
import { customerInfo } from '@/api/detail/party-a/cooperate'
import elementResizeDetectorMaker from "element-resize-detector"
import Header from "./component/Header"
import SideBar from "./component/Sidebar"
......@@ -95,6 +98,7 @@ import Dishonesty from "./riskInformation/dishonesty" //风险信息-失信被
import Judgment from "./riskInformation/judgment" //风险信息-判决文书
import CourtNotice from "./riskInformation/courtNotice" //风险信息-法院公告
import OpenacourtsessionNotice from "./riskInformation/openacourtsessionNotice" //风险信息-开庭公告
import Business from "./business" //商务信息
import Preference from "./preference" //招标偏好
import Cooperate from "./cooperate" //合作情况
import DecisionMaking from "./decisionMaking" //决策链条
......@@ -134,6 +138,7 @@ export default {
Judgment,
CourtNotice,
OpenacourtsessionNotice,
Business,
Preference,
Cooperate,
DecisionMaking,
......@@ -142,6 +147,7 @@ export default {
data() {
return {
companyInfo: {},
customerInfo: {},
companyId: '', //企业Id(测试默认3068)
customerId: '', //企业Id(测试默认'a00d582a6041f32c16aac804e4924736')
currentPath: {
......@@ -173,9 +179,6 @@ export default {
if (this.$route.query.path) { // 获取跳转对应板块
this.currentPath.pathName = this.$route.query.path
}
if (this.$route.query.customerId) { // 判断是否显示
this.customerId = this.$route.query.customerId
}
},
mounted() {
console.log('进入了mounted')
......@@ -193,6 +196,7 @@ export default {
this.listenSider()
})
this.handleQuery()
this.association(this.$route.query.customerId)
}
},
async handleQuery() {
......@@ -212,7 +216,23 @@ export default {
},
closeDetail(){
this.cooDetail = false
},
// 判断客户是否关联显示修改
association(id){
customerInfo(id).then(res=>{
if(res.code == 200){
if(res.data.companyId == this.companyId && res.data.userId == this.$store.state.user.userId){
this.customerInfo = res.data
this.customerId = res.data.customerId
}else{
this.currentPath.pathName = 'overview'
}
}
}).catch(err=>{
this.currentPath.pathName = 'overview'
})
}
}
}
</script>
......
......@@ -160,7 +160,7 @@ export default {
components: {
},
props: ['customerIds'],
props: ['customerIds','customerInfo'],
data() {
return {
autosize: {
......@@ -181,6 +181,9 @@ export default {
}
},
created() {
this.queryParams = this.customerInfo
},
mounted(){
this.customerInfos()
},
computed: {
......
......@@ -689,7 +689,7 @@ export default {
if(val.length>0){
this.checkuipExecutive=false;
}else if(val.length==0){
this.checkuipExecutive==true;
this.checkuipExecutive=true;
}
this.search();
......
......@@ -5,13 +5,13 @@
<div class="content_item">
<div class="content_right item_ckquery_list">
<el-input class="ename_input" placeholder="请输入关键字,如企业名称、统一社会信用代码等" v-model="ename" @input="projectNamebtn('ename',ename,'关键字:')">
<div slot="append" class="btn-search" @click="submitbtn">搜索</div>
<div slot="append" class="btn-search" @click="search">搜索</div>
</el-input>
<template v-if="ename">
<!-- <template v-if="ename">
<span v-for=" (item,k) in enameQueryTypeList" :key="k" style="margin-right: 24px;">
<el-radio v-model="enameQueryType" :label="item.key">{{item.value}}</el-radio>
</span>
</template>
</template> -->
</div>
</div>
<div class="content_item">
......@@ -243,7 +243,7 @@
<div class="select-popper">
<el-dropdown trigger="click" ref="establishPopper" placement='bottom-start'>
<div class=" "
<div class="el-dropdown-link"
:class="(establishText!='不限'&&establishText!='自定义')||(establishText=='自定义'&&startTimetext.length>0)?'select-active':''">
成立年限{{(establishText!='不限'&&establishText!='自定义')||(establishText=='自定义'&&startTimetext.length>0)?('1项'):''}}
<i class="el-icon-caret-bottom"></i>
......@@ -417,7 +417,7 @@
<div class="content_item content_item_nopadding ">
<div class="search-new" >
<span @click="submitbtn()">查询</span>
<span @click="search()">查询</span>
<span @click="reset()">重置</span>
</div>
......@@ -441,7 +441,7 @@
</el-popover>
<div class="toolbar-right-search">
<el-input placeholder="请输入企业名称关键词" class="toolbar-right_input" v-model="resultEname">
<div slot="append" class="result-search" @click="submitbtn()">过滤企业</div>
<div slot="append" class="result-search" @click="search()">过滤企业</div>
</el-input>
</div>
</div>
......@@ -1418,7 +1418,7 @@
});
this.getRegionWebList();
this.getaddressList();
this.submitbtn();
this.search();
},
mounted() {
......@@ -2608,6 +2608,7 @@
this.getaddressList();
this.getRegionWebList();
this.search();
},
reloadPage() {
......@@ -2642,8 +2643,7 @@
}
},
// submitbtn
submitbtn(page, limit,exportFlag){
search(page, limit,exportFlag){
// return false;
if (!page) {
this.page = 1;
......
This diff is collapsed.
......@@ -39,7 +39,7 @@
<el-table-column prop="rate" label="占比(%)"> </el-table-column>
</el-table-column>
<el-table-column :label="twoYear">
<el-table-column prop="lastMoney" label="金额(亿元)"> </el-table-column>
<el-table-column prop="lastMoney" label="金额(亿元)" sortable> </el-table-column>
<el-table-column prop="lastRate" label="占比(%)" > </el-table-column>
</el-table-column>
</el-table>
......@@ -227,7 +227,6 @@ export default {
// return;
// }
});
console.log(sums)
return sums;
},
......
......@@ -29,7 +29,7 @@
<!--{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}-->
<!--</template>-->
<template slot-scope="scope">
<router-link :to="{path:'/macro/economies',query:{provinceId:scope.row.provinceId}}" tag="a" class="a-link">{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}</router-link>
<span @click="childMethod(scope.row)" class="a-link" style="cursor: pointer;">{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}</span>
</template>
</el-table-column>
......@@ -37,14 +37,14 @@
<el-table-column prop="gdpGrowth" label="GDP增速" sortable width="100" :formatter="formatStatus"/>
<el-table-column prop="gdpPerCapita" label="人均GDP(元)" sortable width="130" :formatter="formatStatus"/>
<el-table-column prop="population" label="人口(万人)" sortable width="120" :formatter="formatStatus"/>
<el-table-column prop="fixedInvestment" label="固定资产投资 (亿元) " sortable width="170" :formatter="formatStatus"/>
<el-table-column prop="gbr" label="一般公共预算收入(亿元)" sortable width="180" :formatter="formatStatus"/>
<el-table-column prop="gbe" label="一般公共预算支出(亿 元)" sortable width="190" :formatter="formatStatus"/>
<el-table-column prop="govFundIncome" label="政府性基金收入(亿元)" sortable width="180" :formatter="formatStatus"/>
<el-table-column prop="govDebtBalance" label="地方政府债务余额(亿元)" sortable width="180" :formatter="formatStatus"/>
<el-table-column prop="uipInterestBearingDebt" label="城投平台有息债务(亿元)" sortable width="180" :formatter="formatStatus"/>
<el-table-column prop="fiscalSelfSufficiencyRate" label="财政自给率(%)" sortable width="120":formatter="formatStatus"/>
<el-table-column prop="govDebtRateWild" label="债务率-宽口径(%)" sortable :formatter="formatStatus"/>
<el-table-column prop="fixedInvestment" label="固定资产投资 (亿元) " sortable width="200" :formatter="formatStatus"/>
<el-table-column prop="gbr" label="一般公共预算收入(亿元)" sortable width="200" :formatter="formatStatus"/>
<el-table-column prop="gbe" label="一般公共预算支出(亿 元)" sortable width="200" :formatter="formatStatus"/>
<el-table-column prop="govFundIncome" label="政府性基金收入(亿元)" sortable width="200" :formatter="formatStatus"/>
<el-table-column prop="govDebtBalance" label="地方政府债务余额(亿元)" sortable width="200" :formatter="formatStatus"/>
<el-table-column prop="uipInterestBearingDebt" label="城投平台有息债务(亿元)" sortable width="200" :formatter="formatStatus"/>
<el-table-column prop="fiscalSelfSufficiencyRate" label="财政自给率(%)" sortable width="150" :formatter="formatStatus"/>
<el-table-column prop="govDebtRateWild" label="债务率-宽口径(%)" sortable width="170" :formatter="formatStatus"/>
</el-table>
</div>
<div class="pagination-box">
......@@ -70,7 +70,7 @@ export default {
tableData:[],
tableLoading: false,
pageIndex: 1,
pageSize: 10,
pageSize: 20,
tableDataTotal: 0,
}
},
......@@ -147,6 +147,18 @@ export default {
message: '功能正在开发中',
type: 'warning'
});
},
childMethod(item) {
let data={}
data.provinceId=item.provinceId;
data.cityId=item.cityId;
data.areaId=item.areaId;
if(item.area){
data.province=item.area;
}else {
data.province=item.province;
}
this.$parent.handleClick('first',data);
}
}
}
......
......@@ -96,6 +96,24 @@ export default {
if(key === 'four'){
this.activeName='four'
}
if(key === 'first'){
this.activeName='first'
}
if(item.cityId){
if(this.provinceId.length >= 2){
this.provinceId.splice(1, 1, item.cityId);
}else {
this.provinceId.push(item.cityId)
}
if(item.areaId){
if(this.provinceId.length >= 3){
this.provinceId.splice(2, 1, item.areaId);
}else {
this.provinceId.push(item.areaId)
}
}
this.province=item.province;
}
// sessionStorage.setItem('currentTab', this.activeName)
},
//地区
......
......@@ -34,10 +34,10 @@
highlight-current-row
v-if="tableDataTotal > 0"
>
<el-table-column label="序号" width="50" align="left" fixed>
<el-table-column label="序号" width="60" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="公司名称" align="left" fixed>
<el-table-column label="公司名称" align="left" fixed width="300">
<template slot-scope="scope">
<router-link v-if="scope.row.jskEid" :to="`/company/${encodeStr(scope.row.jskEid)}`" tag="a" class="a-link" v-html="scope.row.name" ></router-link>
<span v-else v-html="scope.row.name" ></span>
......@@ -47,15 +47,15 @@
<el-table-column label="资质资格" prop="aptitudeCountNew" sortable="custom" width="120" :formatter="formatStatus"/>
<el-table-column label="专业人员" prop="persionCount" sortable="custom" width="120" :formatter="formatStatus"/>
<el-table-column label="中标业绩" prop="recentlyCount" sortable="custom" width="120" :formatter="formatStatus"/>
<!--<el-table-column label="最大中标金额(万元)" prop="cgfs" sortable="custom" width="160" :formatter="formatStatus"/>-->
<!--<el-table-column label="中标总金额(万元)" prop="cgfs" sortable="custom" width="160" :formatter="formatStatus"/>-->
<el-table-column label="最大中标金额(万元)" prop="bidMaxAmount" sortable="custom" width="170" :formatter="formatStatus"/>
<el-table-column label="中标总金额(万元)" prop="bidSumAmount" sortable="custom" width="170" :formatter="formatStatus"/>
<el-table-column label="四库业绩" prop="skyCount" sortable="custom" width="120" :formatter="formatStatus"/>
<el-table-column label="公路业绩" prop="cgfs" sortable="custom" width="100" :formatter="formatStatus"/>
<el-table-column label="水利业绩" prop="cgfs" sortable="custom" width="100" :formatter="formatStatus"/>
<el-table-column label="常合作业主" prop="cgfs" width="130" :formatter="formatStatus"/>
<el-table-column label="公路业绩" prop="roadConservancy" sortable="custom" width="100" :formatter="formatStatus"/>
<el-table-column label="水利业绩" prop="waterConservancy" sortable="custom" width="100" :formatter="formatStatus"/>
<el-table-column label="常合作业主" prop="topCustomer" width="150" :formatter="formatStatus"/>
<el-table-column label="客户(个)" prop="customerCount" sortable="custom" width="120" :formatter="formatStatus"/>
<el-table-column label="供应商(个)" prop="supplierCount" sortable="custom" width="130" :formatter="formatStatus"/>
<!--<el-table-column label="常合作供应商" prop="gys" width="120" :formatter="formatStatus"/>-->
<el-table-column label="供应商(个)" prop="supplierCount" sortable="custom" :formatter="formatStatus"/>
<el-table-column label="常合作供应商" prop="topSupplier" width="150" :formatter="formatStatus"/>
</el-table>
<div class="empty" v-if="tableDataTotal === 0">
<img class="img" src="@/assets/images/project/empty.png">
......
......@@ -11,28 +11,28 @@
<div class="list">
<div class="item color1">
<div class="item-left">
<h4>{{details.projectTotalInvestment || '-'}}<span>{{details.projectTotalInvestment ? '' : ''}}</span></h4>
<h4>{{details.projectTotalInvestment || '-'}}<span>{{details.projectTotalInvestment ? '亿' : ''}}</span></h4>
<p>项目总投资额</p>
</div>
<img class="img" src="@/assets/images/financing/icon1.png" />
</div>
<div class="item color2">
<div class="item-left">
<h4>{{details.projectCapital || '-'}}<span>{{details.projectCapital ? '' : ''}}</span></h4>
<h4>{{details.projectCapital || '-'}}<span>{{details.projectCapital ? '亿' : ''}}</span></h4>
<p>项目资本金</p>
</div>
<img class="img" src="@/assets/images/financing/icon2.png" />
</div>
<div class="item color3">
<div class="item-left">
<h4>{{details.specialBondFinancing || '-'}}<span>{{details.specialBondFinancing ? '' : ''}}</span></h4>
<h4>{{details.specialBondFinancing || '-'}}<span>{{details.specialBondFinancing ? '亿' : ''}}</span></h4>
<p>专项债融资</p>
</div>
<img class="img" src="@/assets/images/financing/icon3.png" />
</div>
<div class="item color4">
<div class="item-left">
<h4>{{details.specialBondCapital || '-'}}<span>{{details.specialBondCapital ? '' : ''}}</span></h4>
<h4>{{details.specialBondCapital || '-'}}<span>{{details.specialBondCapital ? '亿' : ''}}</span></h4>
<p>专项债用作资本金</p>
</div>
<img class="img" src="@/assets/images/financing/icon4.png" />
......@@ -41,28 +41,28 @@
<div class="list">
<div class="item color4">
<div class="item-left">
<h4>{{details.otherFunds || '-'}}<span>{{details.otherFunds ? '' : ''}}</span></h4>
<h4>{{details.otherFunds || '-'}}<span>{{details.otherFunds ? '亿' : ''}}</span></h4>
<p>其他资金</p>
</div>
<img class="img" src="@/assets/images/financing/icon5.png" />
</div>
<div class="item color3">
<div class="item-left">
<h4>{{details.specialBondFinancingAmount || '-'}}<span>{{details.specialBondFinancingAmount ? '' : ''}} / {{details.specialBondIssueNumber || '-'}}{{details.specialBondIssueNumber ? '只' : ''}}</span></h4>
<h4>{{details.specialBondFinancingAmount || '-'}}<span>{{details.specialBondFinancingAmount ? '亿' : ''}} / {{details.specialBondIssueNumber || '-'}}{{details.specialBondIssueNumber ? '只' : ''}}</span></h4>
<p>专项债融资额/专项债只数</p>
</div>
<img class="img" src="@/assets/images/financing/icon6.png" />
</div>
<div class="item color4">
<div class="item-left">
<h4>{{details.otherFinancing || '-'}}<span>{{details.otherFinancing ? '' : ''}}</span></h4>
<h4>{{details.otherFinancing || '-'}}<span>{{details.otherFinancing ? '亿' : ''}}</span></h4>
<p>其他融资</p>
</div>
<img class="img" src="@/assets/images/financing/icon7.png" />
</div>
<div class="item color2">
<div class="item-left">
<h4>{{details.govSupportFunds || '-'}}<span>{{details.govSupportFunds ? '' : ''}}</span></h4>
<h4>{{details.govSupportFunds || '-'}}<span>{{details.govSupportFunds ? '亿' : ''}}</span></h4>
<p>政府安排资金</p>
</div>
<img class="img" src="@/assets/images/financing/icon8.png" />
......@@ -95,7 +95,7 @@
</p>
<p>
<label class="label">项目预测总收益</label>
<span>{{details.projectForecastTotalRevenue || '-'}}{{details.projectForecastTotalRevenue ? '' : ''}}</span>
<span>{{details.projectForecastTotalRevenue || '-'}}{{details.projectForecastTotalRevenue ? '亿' : ''}}</span>
</p>
</div>
</div>
......@@ -130,8 +130,8 @@
{{formatDate(scope.row.tenderDate)}}
</template>
</el-table-column>
<el-table-column prop="actualBondIssueScale" label="专项债规模()" width="260" />
<el-table-column prop="isUsedProjectScale" label="用于项目规模()" width="260" />
<el-table-column prop="actualBondIssueScale" label="专项债规模(亿)" width="260" />
<el-table-column prop="isUsedProjectScale" label="用于项目规模(亿)" width="260" />
<el-table-column prop="isUsedCapital" label="是否资本金" width="200" />
</el-table>
</div>
......
......@@ -52,11 +52,11 @@
<router-link :to="'/macro/financing/details/'+ scope.row.id" tag="a" class="a-link">{{ scope.row.projectName}}</router-link>
</template>
</el-table-column>
<el-table-column prop="projectTotalInvestment" label="项目总投资(万元)" :formatter="formatStatus" align="right" sortable="custom" width="165" />
<el-table-column prop="projectCapital" label="项目资本金(万元)" :formatter="formatStatus" align="right" sortable="custom" width="155" />
<el-table-column prop="econData007" label="项目收益倍数(倍)" :formatter="formatStatus" align="right" sortable="custom" width="150" />
<el-table-column prop="projectTotalInvestment" label="项目总投资(亿)" :formatter="formatStatus" align="right" sortable="custom" width="165" />
<el-table-column prop="projectCapital" label="项目资本金(亿)" :formatter="formatStatus" align="right" sortable="custom" width="160" />
<el-table-column prop="econData007" label="项目收益倍数(倍)" :formatter="formatStatus" align="right" sortable="custom" width="160" />
<!--<el-table-column prop="zxz" label="专项债金额(亿)" :formatter="formatStatus" sortable="custom" width="150" />-->
<el-table-column prop="specialBondCapital" label="专项债用作资本金(万元)" align="right" sortable="custom" :formatter="formatStatus" width="180" />
<el-table-column prop="specialBondCapital" label="专项债用作资本金(亿)" align="right" sortable="custom" :formatter="formatStatus" width="180" />
<el-table-column prop="projectEntity" :formatter="formatStatus" label="项目主体">
<!--<template slot-scope="scope">-->
<!--<router-link :to="'/macro/financing/details/'+ scope.row.projectEntityId" tag="a" class="a-link">{{ scope.row.projectEntity}}</router-link>-->
......
......@@ -104,7 +104,7 @@
</el-table-column>
<el-table-column prop="label" label="月份"/>
<el-table-column prop="count" sortable label="招标数量" align="right"/>
<el-table-column prop="rate" sortable label="占比" align="right"/>
<el-table-column prop="rate" sortable label="占比(%)" align="right"/>
</el-table>
</div>
</div>
......
......@@ -10,7 +10,7 @@
<div class="main1">
<div style="height: 300px;">
<div class="left">
<div class="item" v-for="(item,index) in glData" :class="typeIndex === index ? 'color':''" @click="handleClick(1,index)">{{item.major}}<i></i></div>
<div class="item" v-for="(item,index) in glData" :class="typeIndex === index ? 'color':''" @click="handleClick(1,index)">{{item.major}}企业<i></i></div>
</div>
<div class="right">
<div id="gl-echarts" style="height: 260px;background: #ffffff;"></div>
......@@ -232,7 +232,7 @@ export default {
for (let i=0; i<res.data.length; i++){
res.data[i].levelList=res.data[i].levelList.reverse();
let item={};
item.major=res.data[i].major;
item.major=res.data[i].major+'施工总承包';
for (let j=0; j<res.data[i].levelList.length; j++){
if(res.data[i].levelList[j].levelValue === '特级'){
item.tjCount=res.data[i].levelList[j].count;
......
......@@ -183,7 +183,7 @@
<el-table-column prop="uipBusinessType" label="城投业务类型" :formatter="formatStatus" width="140" >
<template slot="header" slot-scope="scope">
<span>城投业务类型
<el-tooltip popper-class="tips" effect="light" content=" 根据主营业务构成划分为土地开发整理、基础设施建设、交通建设运营、棚改保障房建设、公用事业等8大类型。" placement="top">
<el-tooltip popper-class="tips" effect="light" content=" 根据主营业务构成划分为土地开发整理、基础设施建设、交通建设运营、棚改保障房建设、公用事业等7大类型。" placement="top">
<i class="el-icon-warning-outline"></i>
</el-tooltip>
</span>
......@@ -244,7 +244,11 @@
<el-dialog :visible.sync="claimVisible" width="244" :show-close="false">
<div>认领成功,是否完善客户信息?</div>
<div slot="footer" class="dialog-footer">
<el-button @click="innerVisible = true">立即完善</el-button>
<el-button @click="innerVisible = true">
<router-link :to="`/enterprise/${encodeStr(companyId)}?customerId=${customerId}`" tag="a" >
立即完善
</router-link>
</el-button>
<el-button @click="claimVisible = false">稍后</el-button>
</div>
</el-dialog>
......@@ -288,6 +292,8 @@ export default {
typeList:[],
statistics:{},
claimVisible:false,
customerId:'',
companyId:'',
}
},
watch:{
......@@ -386,7 +392,7 @@ export default {
this.tableData = res.data.list;
this.tableDataTotal = res.data.totalCount
})
urbanInvestmentStatistics(param).then(res => {
urbanInvestmentStatistics(params).then(res => {
this.statistics=res.data;
})
},
......@@ -581,9 +587,11 @@ export default {
});
},
handleClick(item){
this.companyId=item.companyId
claim({uipId:item.uipId,companyName:item.companyName}).then(res => {
if(res.code === 200){
this.claimVisible=true;
this.customerId=res.data.customerId;
}
})
},
......
......@@ -226,7 +226,7 @@
},
selCompany(item){
this.queryParam.companyId = item.jskEid
this.queryParam.ownerCompany = item.name.replace(/<[^>]+>/g, '')
this.queryParam.companyName = item.name.replace(/<[^>]+>/g, '')
this.showlist = false
},
handleALL(event){
......
......@@ -36,7 +36,7 @@
<div class="con i" style="width: 100%;">
<span style="float: left;margin-top: 2px">项目标签 :</span>
<div class="flex tipinput">
<div class="tips" v-for="(item,index) in tipslit">{{item}}<img v-if="disabled == false" @click="deltip(item)" src="@/assets/images/project/del.png"></div>
<div class="tips" v-for="(item,index) in tipslit">{{item.label}}<img v-if="isDisabled == false" @click="deltip(item)" src="@/assets/images/project/del.png"></div>
<div style="position: relative">
<el-input placeholder="待添加" :disabled="isDisabled" v-model="tipsvalue" @input="getValue" :style="spanWidth"></el-input><span class="spanText">{{ tipsvalue }}</span>
</div>
......@@ -323,10 +323,10 @@
})
// this.tipslit.push(this.tipsvalue)
},
deltip(value){
deltip(item){
let param={
businessId:this.id,
label:value
id:item.id
}
removeLabel(JSON.stringify(param)).then(res=>{
if (res.code == 200){
......@@ -341,7 +341,11 @@
getXMSL(){
getXMSL(this.id).then(result=> {
this.xmjd = result.data.projectStage
this.tipslit = result.data.labelList
if(result.data.labelList == null || result.data.labelList == "" || result.data.labelList == undefined){
this.tipslit = []
}else {
this.tipslit = JSON.parse(result.data.labelList)
}
this.xmsldata = result.data
this.isDisabled = result.data.isFounder == 1 ? false:true
const spanStyle = document.querySelector(".rig1");
......
......@@ -9,7 +9,21 @@
<el-input type="text" v-model="param.keyword" clearable placeholder="输入关键词查询"></el-input>
<div class="btn" @click="handleCurrentChange(1)">搜索</div>
</div>
<div class="btn btn_primary h32 b2" @click="getUP"><div class="img img2"></div>上传</div>
<!--<div class="btn btn_primary h32 b2" @click="getUP" v-if="fileDatas.total>0"><div class="img img2"></div>上传</div>-->
<div class="btn btn_primary h32 b2" v-if="fileDatas.total>0"><div class="img img2"></div>
<el-upload
class="upload-demo"
:action="action"
:on-change="handleFileListChange"
:multiple="false"
ref="upload"
:file-list="fileList"
accept=".word,.pdf.excel,.xlsx,.doc,.docx"
:headers="headers"
:show-file-list="false"
:on-success="onSuccess">
上传
</el-upload></div>
</div>
<div class="filepath" v-if="filename"><font @click="getall">全部</font> / <span> <img class="img" src="@/assets/images/folder.png">{{filename}}</span></div>
<div class="uploadbox" v-if="isupload">
......@@ -53,7 +67,20 @@
<img src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div>
<div v-if="isDisabled==false" class="btn btn_primary h36 w102" @click="getUP">上传文档</div>
<!--<div v-if="isDisabled==false" class="btn btn_primary h36 w102" @click="getUP">上传文档</div>-->
<div v-if="isDisabled==false" class="btn btn_primary h36 w102"> <el-upload
class="upload-demo"
:action="action"
:on-change="handleFileListChange"
:multiple="false"
ref="upload"
:file-list="fileList"
accept=".word,.pdf.excel,.xlsx,.doc,.docx"
:headers="headers"
:show-file-list="false"
:on-success="onSuccess">
上传文档
</el-upload></div>
</div>
</template>
<el-table-column
......
......@@ -15,6 +15,12 @@
<div class="titles">
<img src="@/assets/images/project/headimg.png" class="headimg">
<strong class="text">{{ProjectData.projectName}}</strong>
<div class="protypes i1" v-if="isDisabled == false">
<span v-for="(item,index) in projectStatus"><i v-if="ProjectData.status == item.dictValue">{{item.dictLabel}}</i></span>
<el-select class="sels" v-model="ProjectData.status" @change="editXMSL({status:ProjectData.status})">
<el-option v-for="(item,index) in projectStatus" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</div>
<div class="locks" v-if="ProjectData.isFounder == 1">
<div @click="islock=true">
<img v-if="ProjectData.isPrivate == 0" src="@/assets/images/project/lock.png">
......@@ -167,6 +173,7 @@
projectStage:[],//项目阶段
projectType:[],//项目类型
projectCategory:[],//项目类别
projectStatus:[],//项目状态
nowedit:-1,
address:[],
addresstxt:'待添加',
......@@ -198,6 +205,10 @@
getDictType('project_category').then(result=>{
this.projectCategory = result.code == 200 ? result.data:[]
})
//项目状态
getDictType('project_status_type').then(result=>{
this.projectStatus = result.code == 200 ? result.data:[]
})
//获取基本信息
this.getXMSL()
},
......@@ -235,6 +246,7 @@
this.xmlx = result.data.projectType==""||result.data.projectType==null?"请选择":result.data.projectType
this.xmlb = result.data.projectCategory==""||result.data.projectCategory==null?"请选择":result.data.projectCategory
this.thisindex = result.data.projectStage
this.ProjectData.status = result.data.status.toString()
let list = []
let txt = ''
if(result.data.provinceId != ""){
......@@ -271,6 +283,9 @@
return false
let params = param
params.id = this.id
if(param.status){
param.status = parseInt(param.status)
}
editXMNR(JSON.stringify(params)).then(res=>{
if (res.code == 200){
this.$message.success('修改成功!')
......@@ -398,6 +413,57 @@
.head{
.titles{
line-height: 31px;
.protypes{
min-width: 96px;
padding: 0 18px;
height: 24px;
border-radius: 20px;
margin-left: 16px;
display: inline-block;
cursor: pointer;
font-size: 12px;
line-height: 24px;
text-align: center;
position: relative;
&.i1{
background: #FCF3DF;
color: #B5760B;
&:hover{
background: #F3E2BB;
}
}
&.i2{
background: #E5F6E4;
color: #09A442;
&:hover{
background: #B8EBB7;
}
}
&.i3{
background: #E5F2FF;
color: #0081FF;
&:hover{
background: #CBE5FF;
}
}
>span{
width: 100%;
}
.sels{
opacity: 0;
}
.el-select{
position: absolute;
top: 0;
width: 100%;
left: 0;
height: 24px;
::v-deep.el-input,::v-deep.el-input__inner{
height: 24px;
}
}
}
.headimg{
float: left;
margin-right: 16px;
......
......@@ -45,7 +45,7 @@
:data="tableData"
element-loading-text="Loading"
border
fit
highlight-current-row
>
<el-table-column label="序号" width="80">
......@@ -56,7 +56,7 @@
<el-table-column label="项目名称" >
<template slot-scope="scope">
<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>
<router-link v-if="scope.row.id" :to="'/company/' + encodeStr(scope.row.id) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="scope.row.name"></router-link>
</template>
</el-table-column>
......@@ -376,6 +376,11 @@
.main5 {
.table-item {
margin-top: 22px;
.blue {
color: #0081FF !important;
cursor: pointer;
}
}
.pagination {
padding: 14px;
......
......@@ -84,7 +84,7 @@
</p>
<p>
<label class="label">项目联系方式</label>
<span>{{textList.money||'--'}}</span>
<span>{{textList.personTel||'--'}}</span>
<label class="label">行业分类</label>
<span>{{textList.projectIndustry||'--'}}</span>
</p>
......
......@@ -19,12 +19,12 @@
<p class="list-content-text">
<span>成交金额:</span>
<span v-if="textList.transactionPrice">{{textList.transactionPrice}}万元</span>
<span>--</span>
<span v-else>--</span>
</p>
<p class="list-content-text">
<span>总面积:</span>
<span v-if="textList.transactionPrice">{{textList.transactionPrice}}平方米</span>
<span>--</span>
<span v-if="textList.acreage">{{textList.acreage}}平方米</span>
<span v-else>--</span>
</p>
<p class="list-content-text">
<span>合同签订:</span>
......@@ -76,7 +76,7 @@
</p>
<p>
<label class="label">面积(平方米)</label>
<span>{{textList.buildArea||"--"}}</span>
<span>{{textList.acreage||"--"}}</span>
<label class="label">土地来源</label>
<span>{{textList.landSource||"--"}}</span>
</p>
......@@ -134,7 +134,7 @@
<p>
<label class="label">地块名称</label>
<span>{{textList.landName||"--"}}</span>
<label class="label">建筑面积</label>
<label class="label">建筑面积(平方米)</label>
<span>{{textList.buildArea||"--"}}</span>
</p>
<p>
......
......@@ -37,19 +37,24 @@
<div class="common-title-list">
<p>
<img src="@/assets/images/bxpro/pdf.png" alt="">
<span>竞争对手</span>
<span v-if="textList.marketAnalysis" @click="download(textList.marketAnalysis,'项目简析')">竞争对手</span>
<span v-else class="spanset">竞争对手</span>
</p>
<p>
<img src="@/assets/images/bxpro/pdf.png" alt="">
<span>项目简析</span>
<span v-if="textList.projectCharacteristics" @click="download(textList.projectCharacteristics,'项目简析')">项目简析</span>
<span v-else class="spanset">项目简析</span>
</p>
<p>
<img src="@/assets/images/bxpro/pdf.png" alt="">
<span>成本分析</span>
<span v-if="textList.costAnalysis" @click="download(textList.costAnalysis,'成本分析')">成本分析</span>
<span v-else class="spanset">成本分析</span>
</p>
<p>
<img src="@/assets/images/bxpro/pdf.png" alt="">
<span>招标文件</span>
<span v-if="textList.fileUrl&&textList.fileUrl.length>0" @click="download(textList.fileUrl[0],'招标文件')">招标文件</span>
<span v-else class="spanset">招标文件</span>
</p>
</div>
......@@ -215,7 +220,6 @@
}
},
created() {
console.log(this.$route.params)
this.id = this.$route.params.id;
this.bidNoticeProDetail();
},
......@@ -224,12 +228,36 @@
api.bidNoticeProDetail({
id: this.id
}).then(res => {
// console.log(res);
this.textList = res.data;
if(this.textList.eligibleEnterprisesUrl){
let tempUrl = this.textList.eligibleEnterprisesUrl.replace('http://', 'https://')
this.textList.eligibleEnterprisesUrl = tempUrl
}
if(this.textList.fileUrl&&this.textList.fileUrl.length>0){
this.textList.fileUrl=this.textList.fileUrl.substr(2,this.textList.fileUrl.length-4);
this.textList.fileUrl=this.textList.fileUrl.split(',');
this.textList.fileUrl = this.textList.fileUrl.map(item=>{
let it = item.replace('http://', 'https://')
return it
})
}
}).catch(error => {
});
},
download(url,name){
console.log(url);
const a = document.createElement('a');
a.style.display = 'none';
a.download = name;
a.href = url;
a.target="_blank";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
}
}
......@@ -466,6 +494,10 @@
width: 14px;
margin-right: 4px;
}
.spanset{
color: #23232366;
cursor: text;
}
}
p:hover{
color: #0081FF;
......
......@@ -211,7 +211,8 @@
<div class="list-content">
<p class="list-content-text" v-if="item.companyName">
<span>项目业主:</span>
<router-link :to="`/company/${encodeStr(item.companyId)}/`" tag="a" class="list-titel-a blue" v-html="item.companyName" ></router-link>
<span><router-link :to="`/company/${encodeStr(item.companyId)}/`" tag="a" class="list-titel-a blue" v-html="item.companyName" ></router-link></span>
</p>
<p class="list-content-text"v-if="item.money">
......
......@@ -236,45 +236,44 @@
<router-link :to="'/radar/Land/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName"></router-link>
</p>
<div class="list-content">
<p class="list-content-text">
<div class="list-content" v-if="item.companyName||item.transactionPrice||item.acreage||item.acreage">
<p class="list-content-text" v-if="item.companyName">
<span>受让人:</span>
<span v-if="item.companyName">
<span >
<router-link :to="'/company/' + encodeStr(item.companyId) + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.companyName"></router-link>
</span>
<span v-else>--</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.transactionPrice">
<span>成交金额:</span>
<span>{{item.transactionPrice||'--'}}万元</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.acreage">
<span>总面积:</span>
<span>{{item.acreage||'--'}}</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.contractSignTime">
<span>合同签订:</span>
<span>{{item.contractSignTime||'--'}}</span>
</p>
</div>
<div class="list-content">
<p class="list-content-text">
<div class="list-content" v-if="item.landUse||item.industry||item.supplyLandWay">
<p class="list-content-text" v-if="item.landUse">
<span>土地用途:</span>
<span >{{item.landUse||'--'}}</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.industry">
<span>行业分类:</span>
<span >{{item.industry||'--'}}</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.supplyLandWay">
<span>供应方式:</span>
<span >{{item.supplyLandWay||'--'}}</span>
</p>
</div>
<div class="list-content list-addree">
<div class="list-content list-addree" v-if="item.province||item.city||item.area||item.landAddr">
<img src="@/assets/images/addree.png" alt="">
<p class="list-content-text">
<p class="list-content-text" v-if="item.province||item.city||item.area">
<span>行政区划:</span>
<span >
{{item.province}}
......@@ -286,10 +285,9 @@
</template>
</span>
</p>
<p class="list-content-text">
<p class="list-content-text" v-if="item.landAddr">
<span>土地坐落:</span>
<span v-if="item.landAddr" v-html="item.landAddr"></span>
<span v-else>--</span>
<span v-html="item.landAddr"></span>
</p>
</div>
</li>
......
......@@ -373,11 +373,44 @@
</el-table-column>
<el-table-column prop="zj" label="项目金额" width="161" >
<template slot-scope="scope">
{{ scope.row.projectAmount||'--'}}
<ul class="bxpro_list_money">
<template v-if="scope.row.projectInvestmentAmount ||
scope.row.projectContractAmount ||
scope.row.projectSafeAmount ||
scope.row.projectSurveyAmount ||
scope.row.projectDesignAmount">
<li v-if="scope.row.projectInvestmentAmount">
<span >
<span >投资额:{{ scope.row.projectInvestmentAmount }}万元</span>
</span>
</li>
<li v-if="scope.row.projectContractAmount">
<span >
<span >控制价:{{ scope.row.projectContractAmount }}万元</span>
</span>
</li>
<li v-if="scope.row.projectSafeAmount">
<span >
<span >建安费:{{ scope.row.projectSafeAmount }}万元</span>
</span>
</li>
<li v-if="scope.row.projectSurveyAmount">
<span >
<span >勘察费:{{ scope.row.projectSurveyAmount }}万元</span>
</span>
</li>
<li v-if="scope.row.projectDesignAmount">
<span >
<span >设计费:{{ scope.row.projectDesignAmount }}万元</span>
</span>
</li>
</template>
<li v-else>--</li>
</ul>
</template>
</el-table-column>
<el-table-column prop="zj" label="债券保证金(万元)" width="146" >
<el-table-column prop="zj" label="投标保证金(万元)" width="146" >
<template slot-scope="scope">
{{ scope.row.projectEnsureAmount||'--'}}
</template>
......@@ -1962,6 +1995,16 @@
.list-titel-a{
color:#0081FF;
}
.bxpro_list_money{
li{
margin-bottom: 8px;
line-height: 18px;
display: flex;
&:last-child{
margin-bottom: 0;
}
}
}
}
.bottomlist-content{
......
<template>
<div>
<div class="content">
<div class="content_item">
<div class="content_item content_item_padding0">
<div class="label">项目名称</div>
<div class="content_right">
<el-input class="ename_input"
......@@ -13,7 +13,7 @@
</template>
</div>
</div>
<div class="content_item">
<div class="content_item ">
<div class="label">项目主体</div>
<div class="content_right">
<div class="item_ckquery_list" >
......@@ -21,7 +21,7 @@
<el-input ref="inp"
v-model="projectEntity" autocomplete="off" type="text"
class="register_count_ipt" placeholder="请输入企业名称">
<el-dropdown trigger="click" slot="prepend" style="cursor:pointer;"
<el-dropdown trigger="click" slot="prepend" placement="bottom-start" style="cursor:pointer;"
@command="changeCommand">
<span class="el-dropdown-link">
{{chargeDepartment.value}}<i class="el-icon-caret-bottom"></i>
......@@ -35,7 +35,7 @@
</div>
</div>
</div>
<div class="content_item">
<div class="content_item content_item16">
<div class="label">项目地区</div>
<div class="content_right">
<div class="select-popper">
......@@ -51,7 +51,7 @@
</div>
</div>
</div>
<div class="content_item">
<div class="content_item content_item16">
<div class="label">项目类型</div>
<div class="content_right">
<!-- <div class="content-projecttype">
......@@ -178,16 +178,16 @@
projectName:'',
nameTypeList: [{
key: 'like',
status: false,
status: true ,
value: '模糊搜索',
},
{
key: 'match',
status: true,
status: false,
value: '精准匹配',
},
],
nameType: 'match',
nameType: 'like',
projectEntity:'',
countTypelist: [{
key: '1',
......@@ -550,10 +550,11 @@
<style lang="scss" scoped>
.content{
padding: 0px 16px;
padding-top: 16px;
border-radius: 4px 4px 4px 4px;
background: #FFFFFF;
.content_item{
padding-top: 12px;
padding-top: 20px;
display: flex;
align-items: center;
.label{
......@@ -577,6 +578,7 @@
}
.item_ckquery_list .el-input__icon {
position: relative;
top: 1px;
......@@ -593,6 +595,10 @@
}
::v-deep .el-input-group__prepend{
padding: 0 8px;
background-color:#F3F4F5;
border-radius:2px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.content-projecttype{
display: flex;
......@@ -626,8 +632,12 @@
.content_item_padding0{
padding: 0;
}
.content_item18{
padding-top: 16px;
}
}
.bottomlist{
width: 100%;
background-color: #FFFFFF;
......@@ -679,7 +689,8 @@
}
}
.content-label{
margin-top: 7px;
margin-top: 5px;
margin-bottom: 5px;
.list-label{
background: #F3F3FF;
color: #8491E8;
......@@ -703,7 +714,7 @@
display: flex;
justify-content: start;
align-items: center;
margin-right: 27px;
margin-right: 32px;
font-size: 14px;
span:first-child{
......
......@@ -154,13 +154,12 @@
<el-table :data="tableData" element-loading-text="Loading" border fit highlight-current-row>
<el-table-column prop="name" label="债券简称">
<template slot-scope="scope">
<router-link :to="'/macro/financing/details/'+ scope.row.id" tag="a"
class="a-link">{{ scope.row.bondAbbreviation}}</router-link>
{{ scope.row.bondAbbreviation}}
</template>
</el-table-column>
<el-table-column prop="tenderDate" label="招标日期" width="220" />
<el-table-column prop="actualBondIssueScale" label="专项债规模(亿)" width="260" />
<el-table-column prop="isUsedProjectScale" label="用于项目规模(亿)" width="260" />
<el-table-column prop="isUsedProjectScale" label="用于项目规模(万元)" width="260" />
<el-table-column label="是否资本金" width="200">
<template slot-scope="scope">
......
......@@ -9,9 +9,10 @@
<p>{{itme.value}}</p>
</div>
</div>
<p class="solid"></p>
</div>
</div>
<p class="solid"></p>
</div>
<!-- 企业专项债 -->
<debtProject v-if="personnelHerf=='debtProject'" />
......@@ -168,8 +169,11 @@
top: -1px;
margin-right: 6px;
}
.app-container .content{
position: relative;
}
.app-container .combined-title .title-right .solid {
.app-container .solid {
width: 100%;
height: 1px;
background-color: #EEEEEE;
......
......@@ -15,6 +15,11 @@ public class BusinessIdDto {
*/
private Integer businessId;
/**
* 项目标签id
*/
private Integer labelId;
/**
* 项目标签名称
*/
......
......@@ -2,8 +2,6 @@ package com.dsk.system.domain.vo;
import lombok.Data;
import java.util.List;
/**
* @author lxl
* @Description:
......@@ -90,7 +88,7 @@ public class BusinessBrowseVo {
/**
* 项目标签
*/
private List<String> labelList;
private String labelList;
/** 建设单位 */
private String constructionUnit;
......
package com.dsk.system.domain.vo;
import lombok.Data;
/**
* @author lxl
* @Description:
* @Date 2023/6/27 下午 2:51
**/
@Data
public class BusinessLabelVo {
//主键
private Integer id;
//标签
private String label;
}
......@@ -28,5 +28,7 @@ public interface CustomerMapper extends BaseMapper<Customer> {
List<CustomerStatusListVo> selectStatusList(@Param("uipIds") List<String> uipIds, @Param("userId") Long userId);
List<String> selectUipIdList(@Param("uipIds") List<String> uipIds, @Param("userId") Long userId);
}
......@@ -3,10 +3,7 @@ package com.dsk.system.service;
import com.dsk.system.domain.customer.Customer;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerStatusListVo;
import com.dsk.system.domain.customer.vo.CustomerVo;
import com.dsk.system.domain.customer.vo.*;
import java.util.List;
......@@ -32,4 +29,6 @@ public interface ICustomerService {
List<CustomerStatusListVo> selectStatusList(List<String> uipIds);
List<String> selectUipIdList(List<String> uipIds);
}
package com.dsk.system.service;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.ComposeQueryDto;
/**
......@@ -19,5 +19,5 @@ public interface RegionalEnterprisesService {
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
TableDataInfo page(ComposeQueryDto compose) throws Exception;
AjaxResult enterprisePage(ComposeQueryDto compose) throws Exception;
}
......@@ -3,6 +3,7 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.config.RuoYiConfig;
import com.dsk.common.constant.HttpStatus;
import com.dsk.common.core.domain.AjaxResult;
......@@ -21,10 +22,10 @@ import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.vo.BusinessBrowseVo;
import com.dsk.system.domain.vo.BusinessLabelVo;
import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.mapper.BusinessInfoMapper;
import com.dsk.system.mapper.BusinessLabelMapper;
import com.dsk.system.mapper.BusinessRelateCompanyMapper;
import com.dsk.system.mapper.BusinessUserMapper;
import com.dsk.system.service.IBusinessInfoService;
import lombok.extern.slf4j.Slf4j;
......@@ -36,7 +37,6 @@ import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 项目详情Service业务层处理
......@@ -52,8 +52,6 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Resource
private BusinessUserMapper businessUserMapper;
@Resource
private BusinessRelateCompanyMapper businessRelateCompanyMapper;
@Resource
private BusinessLabelMapper businessLabelMapper;
@Resource
private ReadBusinessInfoExcel readBusinessInfoExcel;
......@@ -108,12 +106,15 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
//商务团队
businessBrowseVo.setTeam(businessUserMapper.selectCreatorByBusinessId(businessId));
//查询是否是项目创建人
Long userId = SecurityUtils.getLoginUser().getUserId();
if (userId == null) throw new BaseException("请登录");
// Long userId = SecurityUtils.getLoginUser().getUserId();
// if (userId == null) throw new BaseException("请登录");
Long userId = 103l;
Integer founder = businessUserMapper.selectFounder(businessId, userId);
businessBrowseVo.setIsFounder(founder == null ? 0 : founder);
//查询项目标签
businessBrowseVo.setLabelList(businessLabelMapper.selectBusinessLabelList(new BusinessLabel(businessId)).stream().map(p -> p.getLabel()).collect(Collectors.toList()));
List<BusinessLabel> labels = businessLabelMapper.selectBusinessLabelList(new BusinessLabel(businessId));
String labelList = CollectionUtil.isEmpty(labels) ? null : JSONObject.toJSONString(BeanUtil.copyToList(labels, BusinessLabelVo.class));
businessBrowseVo.setLabelList(labelList);
//相关数据统计
BusinessBrowseVo total = businessInfoMapper.selectTotal(businessId);
businessBrowseVo.setBacklogCount(total.getBacklogCount());
......
......@@ -11,10 +11,7 @@ import com.dsk.system.domain.customer.Customer;
import com.dsk.system.domain.customer.CustomerUser;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerStatusListVo;
import com.dsk.system.domain.customer.vo.CustomerVo;
import com.dsk.system.domain.customer.vo.*;
import com.dsk.system.dskService.EnterpriseService;
import com.dsk.system.mapper.CustomerMapper;
import com.dsk.system.mapper.CustomerUserMapper;
......@@ -51,16 +48,6 @@ public class CustomerServiceImpl implements ICustomerService {
@Override
public List<CustomerListVo> selectList(CustomerSearchDto dto) {
dto.setUserId(SecurityUtils.getUserId());
// List<CustomerListVo> vos = baseMapper.selectList(dto);
// vos.parallelStream().forEach(vo -> {
// //合作项目
// vo.setCooperationProject(businessInfoService.selectCountByStatusAndCustomerId(2, vo.getCustomerId()));
// //跟进项目
// vo.setFollowProject(businessInfoService.selectCountByStatusAndCustomerId(1, vo.getCustomerId()));
// //储备项目
// vo.setReserveProject(businessInfoService.selectCountByStatusAndCustomerId(0, vo.getCustomerId()));
// });
// return vos;
return baseMapper.selectList(dto);
}
......@@ -131,4 +118,10 @@ public class CustomerServiceImpl implements ICustomerService {
return baseMapper.selectStatusList(uipIds, SecurityUtils.getUserId());
}
@Override
public List<String> selectUipIdList(List<String> uipIds) {
return baseMapper.selectUipIdList(uipIds, SecurityUtils.getUserId());
}
}
package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.page.TableDataInfo;
import cn.hutool.core.util.ObjectUtil;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.model.EnterpriseInfoHeaderBody;
import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.service.RegionalEnterprisesService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
......@@ -24,8 +31,51 @@ public class RegionalEnterprisesServiceImpl implements RegionalEnterprisesServic
private DskOpenApiUtil dskOpenApiUtil;
@Override
public TableDataInfo page(ComposeQueryDto compose) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page", BeanUtil.beanToMap(compose, false, false));
return dskOpenApiUtil.responsePage(map);
public AjaxResult enterprisePage(ComposeQueryDto pageDto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page",BeanUtil.beanToMap(pageDto, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (code.equals(HttpStatus.OK.value())) {
Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
if (CollectionUtils.isNotEmpty(list)) {
for (Object companyObj : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
//常合作客户id
Integer topCustomerId = MapUtils.getInteger(companyMap, "topCustomerId");
EnterpriseInfoHeaderBody body = new EnterpriseInfoHeaderBody();
body.setCompanyId(topCustomerId);
if (ObjectUtil.isNotEmpty(topCustomerId)) {
Map<String, Object> infoHeaderMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false));
Integer infoHeaderCode = MapUtils.getInteger(infoHeaderMap, "code", 300);
if (infoHeaderCode.equals(HttpStatus.OK.value())) {
Map infoHeaderData = MapUtils.getMap(infoHeaderMap, "data", null);
String companyName = MapUtils.getString(infoHeaderData, "companyName", null);
companyMap.put("topCustomer", companyName);
} else {
companyMap.put("topCustomer", null);
}
} else {
companyMap.put("topCustomer", null);
}
//常合作供应商id
Integer topSupplierId = MapUtils.getInteger(companyMap, "topSupplierId");
body.setCompanyId(topSupplierId);
if (ObjectUtil.isNotEmpty(topSupplierId)) {
Map<String, Object> infoHeaderMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false));
Integer infoHeaderCode = MapUtils.getInteger(infoHeaderMap, "code", 300);
if (infoHeaderCode.equals(HttpStatus.OK.value())) {
Map infoHeaderData = MapUtils.getMap(infoHeaderMap, "data", null);
String companyName = MapUtils.getString(infoHeaderData, "companyName", null);
companyMap.put("topSupplier", companyName);
} else {
companyMap.put("topSupplier", null);
}
} else {
companyMap.put("topSupplier", null);
}
}
}
}
return BeanUtil.toBean(map, AjaxResult.class);
}
}
......@@ -5,7 +5,6 @@ import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.UrbanInvestmentPlatformDto;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.domain.customer.vo.CustomerStatusListVo;
import com.dsk.system.service.ICustomerService;
import com.dsk.system.service.UrbanInvestmentPlatformService;
import org.apache.commons.collections4.CollectionUtils;
......@@ -52,21 +51,17 @@ public class UrbanInvestmentPlatformServiceImpl implements UrbanInvestmentPlatfo
for (Object dataMap : list) {
uipIds.add(MapUtils.getString(CommonUtils.assertAsMap(dataMap), "uipId"));
}
List<CustomerStatusListVo> claimStatusList = iCustomerService.selectStatusList(uipIds);
List<String> claimStatusList = iCustomerService.selectUipIdList(uipIds);
//按照城投企业id合并两个list
for (Object companyObj : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
String uipId = MapUtils.getString(companyMap, "uipId","uipId");
if (CollectionUtils.isEmpty(claimStatusList)) {
companyMap.put("claimStatus", 0);
}
for (CustomerStatusListVo vo : claimStatusList) {
if (uipId.equals(vo.getUipId())) {
companyMap.put("claimStatus", 1);
} else {
companyMap.put("claimStatus", 0);
}
} else if (claimStatusList.contains(uipId)) {
companyMap.put("claimStatus", 1);
} else {
companyMap.put("claimStatus", 0);
}
}
return BeanUtil.toBean(map, AjaxResult.class);
......
......@@ -62,7 +62,7 @@
<delete id="deleteBusinessLabelById">
delete
from business_label
where business_id = #{businessId} and label = #{label}
where id = #{labelId}
</delete>
<delete id="deleteBusinessLabelByIds" parameterType="String">
......
......@@ -10,17 +10,6 @@
ct.performance_characteristic, ct.other_ms_characteistic, ct.create_id, ct.create_time, ct.update_id, ct.update_time
</sql>
<select id="selectList1" resultType="com.dsk.system.domain.customer.vo.CustomerListVo">
select
u.nick_name followUser,
<include refid="Base_Bean"></include>
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
join sys_user u on ctu.user_id = u.user_id
where ctu.user_id = #{dto.userId}
<if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if>
</select>
<select id="selectList" resultType="com.dsk.system.domain.customer.vo.CustomerListVo">
select
u.nick_name followUser, bi1.num reserveProject, bi2.num followProject, bi3.num cooperationProject,
......@@ -69,5 +58,16 @@
</foreach>
</select>
<select id="selectUipIdList" resultType="java.lang.String">
select
ct.uip_id
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId} and ct.uip_id in
<foreach collection="uipIds" item="uipId" open="(" separator="," close=")">
#{uipId}
</foreach>
</select>
</mapper>
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