Commit 78318b31 authored by Administrator's avatar Administrator

Merge remote-tracking branch 'origin/dev20230707' into dev20230707

parents 75668d8a 09dea24c
...@@ -44,6 +44,14 @@ export function projectTenderDataGroup(data) { ...@@ -44,6 +44,14 @@ export function projectTenderDataGroup(data) {
data: data data: data
}) })
} }
// 财务数据
export function financialData(data) {
return request({
url: '/enterprise/financialData',
method: 'post',
data: data
})
}
// 招标公告 // 招标公告
export function bidNoticePage(data) { export function bidNoticePage(data) {
......
...@@ -59,6 +59,22 @@ let cancelClaim= function cancelClaim(data) { ...@@ -59,6 +59,22 @@ let cancelClaim= function cancelClaim(data) {
// data: data // data: data
}) })
} }
// 历史认领用户
let historyClaim= function historyClaim(data) {
return request({
url: '/customer/historyClaim/'+data,
method: 'put',
// data: data
})
}
// 客户状态
let customerStatus= function customerStatus(data) {
return request({
url: '/customer/status/'+data,
method: 'get',
// data: data
})
}
// 查建筑企业 // 查建筑企业
let enterprisePage= function enterprisePage(param) { let enterprisePage= function enterprisePage(param) {
...@@ -80,4 +96,4 @@ let infoHeader= function infoHeader(param) { ...@@ -80,4 +96,4 @@ let infoHeader= function infoHeader(param) {
export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim,cancelClaim,enterprisePage,infoHeader} export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim,cancelClaim,enterprisePage,infoHeader,historyClaim,customerStatus}
\ No newline at end of file
...@@ -215,11 +215,18 @@ export function claim(param) { ...@@ -215,11 +215,18 @@ export function claim(param) {
data: param data: param
}) })
} }
//城投平台-取消认领 //客户状态
export function cancelClaim(name) { export function customerStatus(name) {
return request({ return request({
url:`/customer/cancelClaim/`+name, url:`/customer/status/`+name,
method: 'PUT', method: 'get',
})
}
//历史客户认领
export function historyClaim(name) {
return request({
url:`/customer/historyClaim/`+name,
method: 'put',
}) })
} }
//批量获取城投企业id //批量获取城投企业id
......
...@@ -1223,4 +1223,14 @@ ...@@ -1223,4 +1223,14 @@
.el-table__fixed-header-wrapper { .el-table__fixed-header-wrapper {
z-index: 9; z-index: 9;
} }
.el-table__fixed-header-wrapper{
position: sticky;
z-index: 9;
top: 56px;
}
.el-table__fixed{
overflow-x: clip;
overflow-y: clip;
}
} }
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
</div> </div>
</div> </div>
<skeleton v-if="isSkeleton"></skeleton> <skeleton v-if="isSkeleton"></skeleton>
<el-table id="tables" v-if="!isSkeleton&&tableData.total > 0" class="fixed-table" <el-table v-if="!isSkeleton&&tableData.total > 0" class="fixed-table"
:data="tableData.rows" :data="tableData.rows"
stripe border stripe border
style="width: 100%"> style="width: 100%">
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
prop="date" prop="date"
label="企业名称" label="企业名称"
fixed="left" fixed="left"
width="441"> width="316">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="ps1"> <div class="ps1">
<div class="wordprimary ps2" @click="toDetail(scope.row,'')">{{scope.row.companyName}}</div> <div class="wordprimary ps2" @click="toDetail(scope.row,'')">{{scope.row.companyName}}</div>
...@@ -317,53 +317,7 @@ ...@@ -317,53 +317,7 @@
this.getDictType() this.getDictType()
this.prvinceTree() this.prvinceTree()
}, },
mounted() {
window.addEventListener("scroll",this.scrolling)
},
beforeDestroy() {
window.removeEventListener("scroll", this.scrolling);
},
// mounted(){
// // tables
// // var box = document.getElementById('tables').offsetTop // 获取元素
// var box = document.getElementsByClassName("el-table")[0].offsetTop
// console.log(box)
// if (box) {
// let topheight = box.offsetTop
// console.log(topheight)
// }
// },
methods:{ methods:{
scrolling() {
// let e1 = document.getElementsByClassName("tables")[0].offsetTop
// console.log(e1)
// return false
// let e2 = document.getElementsByClassName("navbar")[0].getBoundingClientRect().height
// let con = document.getElementsByClassName('el-table__fixed-header-wrapper')[0]
// // let con1 = document.getElementsByClassName('el-table__fixed-header-wrapper')[0]
// console.log(con)
// if(e1<=e2){
// con.style.top=e2+'px'
// // con.style.position='fixed'
// con.style.zIndex=5
// }else{
// // con.style.position='relative'
// con.style.top='0px'
// }
let e1 = document.getElementById("tables").offsetTop
let e2 = document.getElementsByClassName("navbar")[0].getBoundingClientRect().height
let e3 = document.getElementsByClassName("el-card")[0].offsetTop
console.log(e3)
let el = document.getElementsByClassName("el-table__fixed-header-wrapper")[0]
let scrollTop = document.documentElement.scrollTop ||document.body.scrollTop;
if (scrollTop>105){
let top = scrollTop-105
el.style.top = top+'px'
}else{
el.style.top = 0
}
},
sq1(item,sq){ sq1(item,sq){
this.$nextTick(()=>{ this.$nextTick(()=>{
item.sq1 = sq item.sq1 = sq
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</div> </div>
</div> </div>
<skeleton v-if="isSkeleton"></skeleton> <skeleton v-if="isSkeleton"></skeleton>
<el-table v-if="!isSkeleton&&tableData.total > 0" <el-table v-if="!isSkeleton&&tableData.total > 0" class="fixed-table"
:data="tableData.rows" :data="tableData.rows"
stripe border stripe border
style="width: 100%"> style="width: 100%">
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
prop="date" prop="date"
label="企业名称" label="企业名称"
fixed="left" fixed="left"
width="441"> width="316">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="ps1"> <div class="ps1">
<div class="wordprimary ps2" @click="toDetail(scope.row,'')">{{scope.row.companyName}}</div> <div class="wordprimary ps2" @click="toDetail(scope.row,'')">{{scope.row.companyName}}</div>
......
<template> <template>
<div class="Tables"> <div class="Tables">
<div class="table-item"> <div class="table-item">
<el-table v-if="tableDataTotal>0" <el-table v-if="tableDataTotal>0" class="fixed-table"
v-loading="tableLoading" v-loading="tableLoading"
:data="tableData" :data="tableData"
element-loading-text="Loading" element-loading-text="Loading"
......
...@@ -30,22 +30,24 @@ ...@@ -30,22 +30,24 @@
<span class="zbph-item-num">{{dataAll.bidAmount?parseFloat(dataAll.bidAmount.toFixed(6)):'--'}}</span></div> <span class="zbph-item-num">{{dataAll.bidAmount?parseFloat(dataAll.bidAmount.toFixed(6)):'--'}}</span></div>
</div> </div>
<div class="zbph-account">招标动态 <div class="zbph-account">招标动态
<div class="labels"> <div class="labels" v-if="dataAll.totalCount">
<div :class="{'on':datatype==3}" @click="getDT(3)">近7天</div> <div :class="{'on':datatype==3}" @click="getDT(3)">近7天</div>
<div :class="{'on':datatype==2}" @click="getDT(2)">近30天</div> <div :class="{'on':datatype==2}" @click="getDT(2)">近30天</div>
<div :class="{'on':datatype==1}" @click="getDT(1)">近5年</div> <div :class="{'on':datatype==1}" @click="getDT(1)">近5年</div>
</div> </div>
</div> </div>
<div id="myEcharts" style="height:250px; margin: 0 auto;"></div> <div v-if="dataAll.totalCount" id="myEcharts" style="height:250px; margin: 0 auto;"></div>
<div class="bid-no-data" v-else>
<no-data />
</div>
</template> </template>
<div class="bid-no-data" v-else>
<no-data />
</div>
</div> </div>
<div class="bid-ywwl"> <div class="bid-ywwl">
<div class="common-title">业务往来供应商TOP5</div> <div class="common-title">业务往来供应商TOP5</div>
<div class="table-item"> <div class="table-item">
<el-table <el-table
v-if="tableData.length>0"
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
> >
...@@ -80,12 +82,10 @@ ...@@ -80,12 +82,10 @@
<span style="padding-right: 28px;">{{ scope.row.amount }}</span> <span style="padding-right: 28px;">{{ scope.row.amount }}</span>
</template> </template>
</el-table-column> </el-table-column>
<template slot="empty">
<div style="padding: 30px 0">
<no-data />
</div>
</template>
</el-table> </el-table>
<div class="bid-no-data" style="margin-top: 100px;" v-else>
<no-data />
</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
</el-tabs> </el-tabs>
<div class="flex-box clue-box"> <div class="flex-box clue-box">
<div class="clue-echarts" v-if="viewData.length>0"><div id="echartsClue" style="width: 100%;height:300px; margin: 0 auto;"></div></div> <div class="clue-echarts" v-if="viewData.length>0"><div id="echartsClue" style="width: 100%;height:300px; margin: 0 auto;"></div></div>
<div class="busc-no-data" v-else>
<no-data /> <div class="table-item" v-if="viewData.length>0">
</div>
<div class="table-item">
<el-table <el-table
v-if="viewData.length>0"
:data="viewData" :data="viewData"
border border
max-height="231"
style="width: 100%" style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}" :default-sort = "{prop: 'date', order: 'descending'}"
> >
...@@ -30,13 +30,11 @@ ...@@ -30,13 +30,11 @@
align="right" align="right"
label="占比(%)"> label="占比(%)">
</el-table-column> </el-table-column>
<template slot="empty">
<div style="padding: 30px 0">
<no-data />
</div>
</template>
</el-table> </el-table>
</div> </div>
<div class="busc-no-data" v-else>
<no-data />
</div>
</div> </div>
<div class="flex-box clue-type"> <div class="flex-box clue-type">
<div class="flex-box clue-type-item" :class="!item.count?'disab':''" v-for="(item, index) in typeList" :key="index" @click="handleType(item, index)"><img :src="!item.count?item.dis_ico:item.ico">{{item.name}}</div> <div class="flex-box clue-type-item" :class="!item.count?'disab':''" v-for="(item, index) in typeList" :key="index" @click="handleType(item, index)"><img :src="!item.count?item.dis_ico:item.ico">{{item.name}}</div>
...@@ -197,7 +195,7 @@ export default { ...@@ -197,7 +195,7 @@ export default {
width: calc(50% - 8px); width: calc(50% - 8px);
} }
.busc-no-data{ .busc-no-data{
width: calc(50% - 8px); width: 100%;
} }
.table-item{ .table-item{
width: calc(50% - 8px); width: calc(50% - 8px);
......
<template>
<div class="app-container finance-container">
<div class="common-title">财务数据
<el-tooltip placement="top">
<div slot="content">营业收入数据优先取“营业总收入”<br/>营业总收入未披露时取“营业收入”</div>
<img style="width: 18px; height: 18px;margin-left:9px;" src="@/assets/images/detail/overview/zbph_question.png" >
</el-tooltip>
</div>
<el-tabs v-model="activeIndex" @tab-click="handleQuery(vals[activeIndex])" class="tabpane selfTab">
<el-tab-pane label="营业收入" name="0"></el-tab-pane>
<el-tab-pane label="净利润" name="1"></el-tab-pane>
<el-tab-pane label="总资产" name="2"></el-tab-pane>
<el-tab-pane label="净资产" name="3"></el-tab-pane>
</el-tabs>
<div class="flex-box finance-box">
<div class="finance-echarts" v-if="viewData.length>0"><div id="echartsFinance" style="width: 100%;height:300px; margin: 0 auto;"></div></div>
<div class="finance-no-data" v-else>
<no-data />
</div>
<div class="table-item" v-if="viewData.length>0">
<el-table
:data="viewData"
border
style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
>
<el-table-column label="币种:人民币">
<el-table-column
prop="year"
align="left"
label="报告期(年度)"></el-table-column>
<el-table-column
prop="operatingIncome"
align="right"
label="营业收入(亿)">
</el-table-column>
<el-table-column
prop="netProfit"
align="right"
label="净利润(亿)">
</el-table-column>
<el-table-column
prop="totalAssets"
align="right"
label="总资产(亿)">
</el-table-column>
<el-table-column
prop="netAssets"
align="right"
label="净资产(亿)">
</el-table-column>
</el-table-column>
</el-table>
</div>
</div>
</div>
</template>
<script>
import {financialData} from '@/api/detail/party-a/overview'
import * as echarts from 'echarts'
import NoData from '../../component/noData'
export default {
name: 'Finance',
props: ['companyId'],
components: {
NoData
},
data() {
return {
viewData:[],
activeIndex:0,
vals:['operatingIncome','netProfit','totalAssets','netAssets'],
names:['营业收入(亿)','净利润(亿)','总资产(亿)','净资产(亿)'],
}
},
created() {
this.handleQuery()
},
mounted() {
},
methods: {
async handleQuery(val){
let res = await financialData({cid: this.companyId})
if(res.code==200 && res.data){
this.viewData = res.data
// totalVal = data.map(item => item.value).reduce((prev, cur) => prev + cur)
// this.viewData = data.map(item => {
// let it = {name:item.year, value:item.value, percent:parseFloat(Number(Number(item.value)/Number(totalVal)*100).toFixed(2))}
// return it
// })
// console.log(this.viewData)
if(this.viewData.length>0){
this.$nextTick(() => {
this.getDT(val)
})
}
}
},
getDT(val="operatingIncome"){
let myChart = echarts.init(document.getElementById("echartsFinance"))
let barData = [],years = [],compareData = [];
this.viewData.map(item=>{
barData.push(item[val]);
compareData.push(item[val+'Compare']||'');
years.push(item.year)
})
let option = {
legend: {
show:true,
width: "100%",
left: 'center',
bottom:0,
textStyle: {
width: 120,
padding: [0, 26, 0, 0],
backgroundColor: "transparent",
},
itemWidth: 18,
itemHeight: 8,
data: [this.names[this.activeIndex], '同比(%)']
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '32',
containLabel: true
},
xAxis: [
{
type: 'category',
data: years,
axisTick: {
alignWithLabel: true,
show: false
}
}
],
yAxis: [
{
type: 'value',
min:0,
splitLine : { //网格线
lineStyle: {
type: 'dashed' //设置网格线类型 dotted:虚线 solid:实线
},
}
},
{
type: 'value',
// min:'dataMin',
// max:'dataMax',
// interval:compareData.length,
splitLine : { //网格线
show:false
},
axisLabel: {
formatter: '{value}%'
}
}
],
series: [
{
name: this.names[this.activeIndex],
type: 'bar',
barWidth: '20px',
data: barData,
itemStyle:{
normal:{
barBorderRadius:[4,4,0,0],
color:'#14C9C9'
},
}
},
{
name: '同比(%)',
symbolSize: 12, //标记的大小(折线图圆点大小)
label: {
color: "#666666",
},
lineStyle: {
color: "#0081FF",
width: 1
},
itemStyle: {
color: "#0081FF"
},
type: 'line',
// yAxisIndex: 1,
data: compareData
},
],
emphasis: {
itemStyle: {
// 高亮时点的颜色。
color: 'rgb(134,231,231)'
},
}
}
myChart.setOption(option)
},
},
}
</script>
<style lang="scss" scoped>
.finance-container{
margin: 0;
padding: 24px 16px;
background: #FFFFFF;
border-radius: 4px;
.selfTab{
margin: 24px 0 0 -12px;
::v-deep .el-tabs__nav-wrap::after{
display: none;
}
::v-deep .el-tabs__item{
height: 30px;
line-height: 30px;
padding: 0 12px;
}
}
.finance-box{
width: 100%;
justify-content: space-between;
margin: 8px 0 24px 0;
.finance-echarts{
width: calc(50% - 8px);
}
.finance-no-data{
width: 100%;
}
.table-item{
width: calc(50% - 8px);
}
}
}
</style>
...@@ -134,6 +134,13 @@ ...@@ -134,6 +134,13 @@
<span class="dialog-footer-btn2" @click="renHide()">稍后</span> <span class="dialog-footer-btn2" @click="renHide()">稍后</span>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :visible.sync="dialogVisible2" custom-class='dialog-renlin' title="重新认领" width="260px" :show-close="false">
<div>再次认领将会恢复客户数据</div>
<div slot="footer" class="dialog-footer">
<span class="dialog-footer-btn1" type="primary" @click="handleHistoryClaim()">确认</span>
<span class="dialog-footer-btn2" @click="dialogVisible2 = false">关闭</span>
</div>
</el-dialog>
<el-dialog <el-dialog
title="取消认领" title="取消认领"
:visible.sync="dialogVisible1" :visible.sync="dialogVisible1"
...@@ -185,6 +192,7 @@ export default { ...@@ -185,6 +192,7 @@ export default {
enterpriseLabel:[],//企业标签 enterpriseLabel:[],//企业标签
dialogVisible: false, dialogVisible: false,
dialogVisible1: false, dialogVisible1: false,
dialogVisible2: false,
} }
}, },
created() { created() {
...@@ -211,12 +219,18 @@ export default { ...@@ -211,12 +219,18 @@ export default {
registerAddress:this.companyInfo.provinceName+(this.companyInfo.cityName?'-'+this.companyInfo.cityName:'')+(this.companyInfo.districtName?'-'+this.companyInfo.districtName:''), registerAddress:this.companyInfo.provinceName+(this.companyInfo.cityName?'-'+this.companyInfo.cityName:'')+(this.companyInfo.districtName?'-'+this.companyInfo.districtName:''),
creditCode:this.companyInfo.creditCode creditCode:this.companyInfo.creditCode
} }
let res = await claim(param) let res = await api.customerStatus(this.companyInfo.companyName)
this.claimLoading = false if(res.data === 1){
if(res.code==200){ this.claimLoading = false
this.dialogVisible=true this.dialogVisible2=true;
this.companyInfo.claimStatus = 1 }else{
this.customerId = res.data.customerId let res = await claim(param)
this.claimLoading = false
if(res.code==200){
this.dialogVisible=true
this.companyInfo.claimStatus = 1
this.customerId = res.data.customerId
}
} }
}else{ }else{
this.$message.warning('对不起,当前不能认领') this.$message.warning('对不起,当前不能认领')
...@@ -226,6 +240,16 @@ export default { ...@@ -226,6 +240,16 @@ export default {
cancelClaimClick(){ cancelClaimClick(){
this.dialogVisible1 = true; this.dialogVisible1 = true;
}, },
async handleHistoryClaim(){
let res = await api.historyClaim(this.companyInfo.companyName)
if(res.code==200){
this.dialogVisible2 = false;
this.companyInfo.claimStatus = 1
}else{
this.$message.error(res.msg)
}
},
async confirm(){ async confirm(){
let res = await api.cancelClaim(this.companyInfo.companyName) let res = await api.cancelClaim(this.companyInfo.companyName)
if(res.code==200){ if(res.code==200){
...@@ -235,7 +259,7 @@ export default { ...@@ -235,7 +259,7 @@ export default {
this.$message.error(res.msg) this.$message.error(res.msg)
} }
// api.cancelClaim(this.companyInfo.companyName).then(res=>{ // api.cancelClaim(this.companyInfo.companyName).then(res=>{
// }) // })
}, },
companySwiper(){ companySwiper(){
...@@ -329,9 +353,9 @@ export default { ...@@ -329,9 +353,9 @@ export default {
renlin(){ renlin(){
this.dialogVisible=false; this.dialogVisible=false;
// window.location.href = window.location.origin+window.location.pathname+'?customerId='+this.customerId+'&path=business' // window.location.href = window.location.origin+window.location.pathname+'?customerId='+this.customerId+'&path=business'
this.$router.replace({ this.$router.replace({
path: '/enterprise/'+encodeStr(this.companyId), path: '/enterprise/'+encodeStr(this.companyId),
query: { query: {
'customerId': this.customerId, 'customerId': this.customerId,
'path':'business' 'path':'business'
} , } ,
...@@ -711,6 +735,12 @@ export default { ...@@ -711,6 +735,12 @@ export default {
text-align: center; text-align: center;
padding-bottom: 24px; padding-bottom: 24px;
} }
.el-dialog__header{
text-align: center;
.el-dialog__title{
font-size: 16px;
}
}
.el-dialog__footer{ .el-dialog__footer{
padding: 0px; padding: 0px;
padding-bottom: 24px; padding-bottom: 24px;
......
...@@ -35,13 +35,8 @@ ...@@ -35,13 +35,8 @@
<span>{{scope.row.businessStatus || '--'}}</span> <span>{{scope.row.businessStatus || '--'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<template slot="empty">
<div style="padding: 30px 0">
<no-data />
</div>
</template>
</el-table> </el-table>
<el-table :data="shipData" border style="width: 100%" v-show="activeName=='second'"> <el-table v-if="shipData.length>0" :data="shipData" border style="width: 100%" v-show="activeName=='second'">
<el-table-column label="序号" width="55" align="left" fixed> <el-table-column label="序号" width="55" align="left" fixed>
<template slot-scope="scope">{{ shipParams.pageNum * shipParams.pageSize - shipParams.pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ shipParams.pageNum * shipParams.pageSize - shipParams.pageSize + scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
...@@ -64,12 +59,8 @@ ...@@ -64,12 +59,8 @@
<el-table-column prop="investStartDate" label="成立日期"></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="stockPercentage" label="股权占比"></el-table-column>
<el-table-column prop="shouldCapi" label="认缴出资额(万元)"></el-table-column> <el-table-column prop="shouldCapi" label="认缴出资额(万元)"></el-table-column>
<template slot="empty">
<div style="padding: 30px 0">
<no-data />
</div>
</template>
</el-table> </el-table>
<no-data v-if="activeName=='second'&&shipData.length<1"/>
<el-table :data="affiliatesData" border style="width: 100%" v-show="activeName=='third'"> <el-table :data="affiliatesData" border style="width: 100%" v-show="activeName=='third'">
<el-table-column label="序号" width="55" align="left" > <el-table-column label="序号" width="55" align="left" >
<template slot-scope="scope">{{ affiliatesParams.pageNum * affiliatesParams.pageSize - affiliatesParams.pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ affiliatesParams.pageNum * affiliatesParams.pageSize - affiliatesParams.pageSize + scope.$index + 1 }}</template>
......
<template> <template>
<div class="app-container clue-container"> <div class="app-container clue-container">
<div class="common-title">风险概览</div> <div class="common-title">风险概览</div>
<div class="flex-box clue-box"> <div class="flex-box clue-box" v-if="count>0">
<div class="clue-echarts"><div id="echartsRisk" style="width: 100%;height:300px; margin: 0 auto;"></div></div> <div class="clue-echarts"><div id="echartsRisk" style="width: 100%;height:300px; margin: 0 auto;"></div></div>
<div class="table-item"> <div class="table-item">
<el-table <el-table
...@@ -28,14 +28,10 @@ ...@@ -28,14 +28,10 @@
<span>{{ scope.row.bl }}</span> <span>{{ scope.row.bl }}</span>
</template> </template>
</el-table-column> </el-table-column>
<template slot="empty">
<div style="padding: 30px 0">
<no-data />
</div>
</template>
</el-table> </el-table>
</div> </div>
</div> </div>
<no-data v-else/>
</div> </div>
</template> </template>
...@@ -123,7 +119,8 @@ export default { ...@@ -123,7 +119,8 @@ export default {
tz:'', tz:'',
bl:'' bl:''
}, },
] ],
count:0,
} }
}, },
created() { created() {
...@@ -145,6 +142,11 @@ export default { ...@@ -145,6 +142,11 @@ export default {
this.viewData.sort((a, b) => { this.viewData.sort((a, b) => {
return a.value < b.value ? 1 : -1; return a.value < b.value ? 1 : -1;
}) })
for(var i in this.viewData){
if(this.viewData[i].value>0){
this.count = this.viewData[i].value
}
}
this.getDT() this.getDT()
}, },
getDT(){ getDT(){
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<div class="common-title">高管</div> <div class="common-title">高管</div>
<div class="table-item"> <div class="table-item">
<el-table <el-table
v-if="tableData.length>0"
:data="tableData" :data="tableData"
border border
style="width: 100%" style="width: 100%"
...@@ -26,12 +27,8 @@ ...@@ -26,12 +27,8 @@
<el-table-column <el-table-column
prop="userJobs" prop="userJobs"
label="职务"></el-table-column> label="职务"></el-table-column>
<template slot="empty">
<div style="padding: 30px 0">
<no-data />
</div>
</template>
</el-table> </el-table>
<no-data v-else/>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<div class="view-content"><Operations :companyId="companyId" :financial="financial" /></div><!-- 公司经营 --> <div class="view-content"><Operations :companyId="companyId" :financial="financial" /></div><!-- 公司经营 -->
<div class="view-content"><Bidding :companyId="companyId" /></div><!--招标偏好、业务往来--> <div class="view-content"><Bidding :companyId="companyId" /></div><!--招标偏好、业务往来-->
<div class="view-content"><Busclue :companyId="companyId" :statistic="statistic" /></div><!--商机线索--> <div class="view-content"><Busclue :companyId="companyId" :statistic="statistic" /></div><!--商机线索-->
<div class="view-content"><Finance :companyId="companyId" /></div><!--财务数据-->
<div class="view-content"><Relationship :companyId="companyId" :financial="financial" /></div><!--关系企业--> <div class="view-content"><Relationship :companyId="companyId" :financial="financial" /></div><!--关系企业-->
<div class="view-content"><Senior :companyId="companyId" /></div><!--高管--> <div class="view-content"><Senior :companyId="companyId" /></div><!--高管-->
<div class="view-content"><Risk :companyId="companyId" :statistic="statistic" /></div><!--风险概览--> <div class="view-content"><Risk :companyId="companyId" :statistic="statistic" /></div><!--风险概览-->
...@@ -18,6 +19,7 @@ import Infoheader from "./component/infoheader" ...@@ -18,6 +19,7 @@ import Infoheader from "./component/infoheader"
import Operations from "./component/operations" import Operations from "./component/operations"
import Bidding from "./component/bidding" import Bidding from "./component/bidding"
import Busclue from './component/busclue' import Busclue from './component/busclue'
import Finance from './component/finance'
import Relationship from './component/relationship' import Relationship from './component/relationship'
import Senior from './component/senior' import Senior from './component/senior'
import Risk from './component/risk' import Risk from './component/risk'
...@@ -33,6 +35,7 @@ export default { ...@@ -33,6 +35,7 @@ export default {
Relationship, Relationship,
Senior, Senior,
Risk, Risk,
Finance,
Tender Tender
}, },
data() { data() {
......
...@@ -27,7 +27,15 @@ export default { ...@@ -27,7 +27,15 @@ export default {
if (this.$route.params.id) { // 获取companyId if (this.$route.params.id) { // 获取companyId
this.loading = true this.loading = true
if(this.$route.name=='Company'){ //企业详情 if(this.$route.name=='Company'){ //企业详情
this.src = `${this.domain}/enterprise/${this.$route.params.id}?ak=${this.ak}` if(this.$route.query.html){
if(this.$route.query.type){
this.src = `${this.domain}/enterprise/${this.$route.params.id}/${this.$route.query.html}?flag=true&type=${this.$route.query.type}&ak=${this.ak}`
}else{
this.src = `${this.domain}/enterprise/${this.$route.params.id}/${this.$route.query.html}?ak=${this.ak}`
}
}else{
this.src = `${this.domain}/enterprise/${this.$route.params.id}?ak=${this.ak}`
}
} }
if(this.$route.name=='Personnel'){ //人员详情 if(this.$route.name=='Personnel'){ //人员详情
this.src = `${this.domain}/personnel/${this.$route.params.id}.html?ak=${this.ak}` this.src = `${this.domain}/personnel/${this.$route.params.id}.html?ak=${this.ak}`
......
...@@ -614,25 +614,9 @@ export default { ...@@ -614,25 +614,9 @@ export default {
}); });
}, },
mounted() { mounted() {
window.addEventListener("scroll",this.scrolling)
this.init(); this.init();
}, },
beforeDestroy() {
window.removeEventListener("scroll", this.scrolling);
},
methods: { methods: {
scrolling() {
let el = document.getElementsByClassName("el-table__fixed-header-wrapper")[0]
let el1 = document.getElementsByClassName("el-table")[0]
let scrollTop = document.documentElement.scrollTop ||document.body.scrollTop;
if (scrollTop>el1.offsetTop){
let top = scrollTop-el1.offsetTop-13
el.style.top = top+'px'
}else{
el.style.top = 0
}
},
domicileChange() { domicileChange() {
let arr = this.$refs.address.getCheckedNodes(); let arr = this.$refs.address.getCheckedNodes();
let provinceIds = [], let provinceIds = [],
...@@ -1271,9 +1255,14 @@ export default { ...@@ -1271,9 +1255,14 @@ export default {
z-index: 9; z-index: 9;
} }
::v-deep .el-table__fixed-header-wrapper{ ::v-deep .el-table__fixed-header-wrapper{
position: sticky;
z-index: 9; z-index: 9;
top: 56px;
}
::v-deep .el-table__fixed{
overflow-x: clip;
overflow-y: clip;
} }
} }
.table-item-jf1{ .table-item-jf1{
......
...@@ -512,43 +512,43 @@ ...@@ -512,43 +512,43 @@
</template> </template>
<template v-if="item.recentlyCount!=null"> <template v-if="item.recentlyCount!=null">
<span class="right-title-grey">中标业绩:</span> <span class="right-title-grey">中标业绩:</span>
<router-link :to="toEnterprise(item.jskEid,'/performance')" target="_blank" > <router-link :to="toEnterprise(item.jskEid,'performance')" target="_blank" >
<span class="right-title-blue" v-html="item.recentlyCount"> </span> <span class="right-title-blue" v-html="item.recentlyCount"> </span>
</router-link> </router-link>
</template> </template>
<template v-if="item.skyCount!=null"> <template v-if="item.skyCount!=null">
<span class="right-title-grey">四库业绩:</span> <span class="right-title-grey">四库业绩:</span>
<router-link :to="toEnterprise(item.jskEid,'/performance',1)" target="_blank" > <router-link :to="toEnterprise(item.jskEid,'performance',2)" target="_blank" >
<span class="right-title-blue" v-html="item.skyCount"> </span> <span class="right-title-blue" v-html="item.skyCount"> </span>
</router-link> </router-link>
</template> </template>
<template v-if="item.registeredPersonnelCount!=null"> <template v-if="item.registeredPersonnelCount!=null">
<span class="right-title-grey">注册人员:</span> <span class="right-title-grey">注册人员:</span>
<router-link :to="toEnterprise(item.jskEid,'/personnel',1)" target="_blank" > <router-link :to="toEnterprise(item.jskEid,'personnel',2)" target="_blank" >
<span class="right-title-blue" v-html="item.registeredPersonnelCount"> </span> <span class="right-title-blue" v-html="item.registeredPersonnelCount"> </span>
</router-link> </router-link>
</template> </template>
<template v-if="item.threePersonnelCount!=null"> <template v-if="item.threePersonnelCount!=null">
<span class="right-title-grey">三类人员:</span> <span class="right-title-grey">三类人员:</span>
<router-link :to="toEnterprise(item.jskEid,'/personnel',4)" target="_blank" > <router-link :to="toEnterprise(item.jskEid,'personnel',5)" target="_blank" >
<span class="right-title-blue" v-html="item.threePersonnelCount"> </span> <span class="right-title-blue" v-html="item.threePersonnelCount"> </span>
</router-link> </router-link>
</template> </template>
<template v-if="item.jskBidCount>0"> <template v-if="item.jskBidCount>0">
<span class="right-title-grey">招标公告:</span> <span class="right-title-grey">招标公告:</span>
<router-link :to="toEnterprise(item.jskEid,'/business',6)" target="_blank" > <router-link :to="toEnterprise(item.jskEid,'business',5)" target="_blank" >
<span class="right-title-blue" v-html="item.jskBidCount"> </span> <span class="right-title-blue" v-html="item.jskBidCount"> </span>
</router-link> </router-link>
</template> </template>
<template v-if="item.customerCount>0"> <template v-if="item.customerCount>0">
<span class="right-title-grey">客户:</span> <span class="right-title-grey">客户:</span>
<router-link :to="toEnterprise(item.jskEid,'/business',1)" target="_blank" > <router-link :to="toEnterprise(item.jskEid,'business',1)" target="_blank" >
<span class="right-title-blue" v-html="item.customerCount"> </span> <span class="right-title-blue" v-html="item.customerCount"> </span>
</router-link> </router-link>
</template> </template>
<template v-if="item.supplierCount>0"> <template v-if="item.supplierCount>0">
<span class="right-title-grey">供应商:</span> <span class="right-title-grey">供应商:</span>
<router-link :to="toEnterprise(item.jskEid,'/business',2)" target="_blank" > <router-link :to="toEnterprise(item.jskEid,'business',2)" target="_blank" >
<span class="right-title-blue" v-html="item.supplierCount"> </span> <span class="right-title-blue" v-html="item.supplierCount"> </span>
</router-link> </router-link>
</template> </template>
...@@ -2626,6 +2626,7 @@ ...@@ -2626,6 +2626,7 @@
this.fieldOptions[i].status = false; this.fieldOptions[i].status = false;
} }
this.fieldText = this.fieldOptions[index].value; this.fieldText = this.fieldOptions[index].value;
this.orderText = this.fieldOptions[index].order;
this.fieldOptions[index].status = true; this.fieldOptions[index].status = true;
this.search(); this.search();
}, },
...@@ -2763,7 +2764,7 @@ ...@@ -2763,7 +2764,7 @@
}, },
toEnterprise(id, html,type) { toEnterprise(id, html,type) {
return '/company/' + encodeStr(id) + html + '/'+(type?'?flag=true&type='+type:''); return '/company/' + encodeStr(id) + '/'+(html?'?html='+html:'')+(type?'&flag=true&type='+type:'');
}, },
toEnterpriseDetail(id) { toEnterpriseDetail(id) {
......
...@@ -174,7 +174,7 @@ export default { ...@@ -174,7 +174,7 @@ export default {
.left{ .left{
float: left; float: left;
width: 730px; width: 730px;
margin-right: 170px; /*margin-right: 170px;*/
} }
.logo{ .logo{
width: 253px; width: 253px;
......
<template> <template>
<div class="region"> <div class="region">
<div class="region_left"> <div class="region_left">
<span class="province">{{province}}</span> <div>
<span class="icon"> <span class="province">{{province}}</span>
<i class="el-icon-location"></i> <span class="icon">
切换 <i class="el-icon-location"></i>切换
<el-cascader ref="address" class="cascader-region" popper-class='cascader-region-addd'
@change="addressListbtn" v-model="address" :options="addressList" :props="props" collapse-tags></el-cascader>
</span> </span>
<el-cascader ref="address" class="cascader-region" popper-class='cascader-region-addd' </div>
@change="addressListbtn" v-model="address" :options="addressList" :props="props" collapse-tags></el-cascader>
</div> </div>
</div> </div>
</template> </template>
...@@ -49,6 +50,7 @@ ...@@ -49,6 +50,7 @@
data.provinceId=this.provinceId data.provinceId=this.provinceId
data.provinces=nodesObj.pathLabels data.provinces=nodesObj.pathLabels
this.$parent.addressListbtn(data) this.$parent.addressListbtn(data)
localStorage.setItem('location', true)
}, },
//地区 //地区
async dataRegion() { async dataRegion() {
...@@ -118,7 +120,6 @@ ...@@ -118,7 +120,6 @@
background-size: 100%; background-size: 100%;
width: 603px; width: 603px;
height: 48px; height: 48px;
position: relative;
padding-left: 16px; padding-left: 16px;
.province{ .province{
font-size: 20px; font-size: 20px;
...@@ -136,6 +137,7 @@ ...@@ -136,6 +137,7 @@
font-size: 12px; font-size: 12px;
display: inline-block; display: inline-block;
height: 48px; height: 48px;
position: relative;
i{ i{
margin-left: 4px; margin-left: 4px;
font-size: 16px; font-size: 16px;
...@@ -145,11 +147,11 @@ ...@@ -145,11 +147,11 @@
} }
.cascader-region { .cascader-region {
position: absolute; position: absolute;
left: 20px; left: -50px;
top: 8px; top: 8px;
opacity: 0; opacity: 0;
line-height: 22px; line-height: 22px;
width: 100px; width: 80px;
} }
} }
} }
......
...@@ -45,6 +45,12 @@ ...@@ -45,6 +45,12 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<!--<div class="content content-box" v-else>-->
<!--<div class="empty">-->
<!--<img class="img" src="@/assets/images/project/empty.png">-->
<!--<div class="p1">抱歉,暂无专项债项目数据</div>-->
<!--</div>-->
<!--</div>-->
</div> </div>
</template> </template>
...@@ -66,11 +72,13 @@ export default { ...@@ -66,11 +72,13 @@ export default {
data:[], data:[],
oneYear:'', oneYear:'',
twoYear:'', twoYear:'',
state:false
} }
}, },
watch: { watch: {
provinceId(newValue, oldValue){ provinceId(newValue, oldValue){
this.getData() this.getData()
this.getGroupCount()
} }
}, },
created() { created() {
...@@ -116,10 +124,10 @@ export default { ...@@ -116,10 +124,10 @@ export default {
} }
} }
for(let i=0; i<list.length; i++){ for(let i=0; i<list.length; i++){
list[i].money=Number(list[i].money).toFixed(2) list[i].money=list[i].money ? Number(list[i].money).toFixed(2) : '-';
list[i].rate=Number(list[i].rate).toFixed(2) list[i].rate=list[i].rate ? Number(list[i].rate).toFixed(2) : '-';
list[i].lastMoney=Number(list[i].lastMoney).toFixed(2) list[i].lastMoney=list[i].lastMoney ? Number(list[i].lastMoney).toFixed(2) : '-';
list[i].lastRate=Number(list[i].lastRate).toFixed(2) list[i].lastRate=list[i].lastRate ? Number(list[i].lastRate).toFixed(2) : '-';
} }
this.tableData=list.reverse() this.tableData=list.reverse()
} }
...@@ -136,7 +144,17 @@ export default { ...@@ -136,7 +144,17 @@ export default {
startTime=this.queryParams.year+'-01-01'; startTime=this.queryParams.year+'-01-01';
endTime=this.queryParams.year+'-12-31'; endTime=this.queryParams.year+'-12-31';
} }
bidGroupCountByProjectType({startDate:startTime,endDate:endTime}).then(res => { let params={startDate:startTime,endDate:endTime}
if(this.provinceId.length >= 0){
params.province=this.provinceId[0]
}
if(this.provinceId.length >= 1){
params.city=this.provinceId[1]
}
if(this.provinceId.length >= 2){
params.county=this.provinceId[2]
}
bidGroupCountByProjectType(params).then(res => {
if(res.code === 200){ if(res.code === 200){
let list=[] let list=[]
for(let i=0; i<res.data.length; i++){ for(let i=0; i<res.data.length; i++){
...@@ -318,6 +336,26 @@ export default { ...@@ -318,6 +336,26 @@ export default {
} }
} }
} }
.empty{
margin: 0 auto;
height: 550px;
text-align: center;
.img{
width: 108px;
height: 108px;
margin-bottom: 24px;
margin-top: 150px;
}
.p1{
color: #333333;
font-size: 16px;
}
.p2{
color: #999999;
font-size: 14px;
margin-top: 8px;
}
}
} }
} }
</style> </style>
...@@ -203,6 +203,21 @@ export default { ...@@ -203,6 +203,21 @@ export default {
.table-item{ .table-item{
margin-top: 22px; margin-top: 22px;
::v-deep .el-table{ ::v-deep .el-table{
overflow:visible;
.el-table__header-wrapper{
position: sticky;
top:56px;
z-index: 9;
}
.el-table__fixed-header-wrapper{
position: sticky;
z-index: 9;
top: 56px;
}
.el-table__fixed{
overflow-x: clip;
overflow-y: clip;
}
th{ th{
font-size: 12px !important; font-size: 12px !important;
font-weight: 400 !important; font-weight: 400 !important;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="item-title"><i style="background: #4E8EFF;"></i>{{recentlyYear.year}}年GDP</div> <div class="item-title"><i style="background: #4E8EFF;"></i>{{recentlyYear.year}}年GDP</div>
<div class="item-count"> <div class="item-count">
<span>{{recentlyYear.gdp}}</span>亿 <span>{{recentlyYear.gdp}}</span>亿
<img v-if="recentlyYear.gdpGrowth > 0" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(getMoneyNum(recentlyYear.gdpGrowth)) > 0" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png"> <img v-else src="@/assets/images/economies/icon_down.png">
</div> </div>
<div id="echartsGDP" style="height: 75px;"></div> <div id="echartsGDP" style="height: 75px;"></div>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<div class="item-title"><i style="background: #718AFF;"></i>{{recentlyYear.year}}年GDP增速</div> <div class="item-title"><i style="background: #718AFF;"></i>{{recentlyYear.year}}年GDP增速</div>
<div class="item-count"> <div class="item-count">
<span>{{recentlyYear.gdpGrowth}}</span>% <span>{{recentlyYear.gdpGrowth}}</span>%
<img v-if="(recentlyYear.gdpGrowth-nextYearMap.gdpGrowth) > 0" src="@/assets/images/economies/icon_up.png"> <img v-if="(Number(getMoneyNum(recentlyYear.gdpGrowth))-Number(getMoneyNum(nextYearMap.gdpGrowth))) > 0" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png"> <img v-else src="@/assets/images/economies/icon_down.png">
</div> </div>
<div id="echartsZS" style="height: 75px;"></div> <div id="echartsZS" style="height: 75px;"></div>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<div class="item-title"><i style="background: #3AD0D1;"></i>{{recentlyYear.year}}年人口</div> <div class="item-title"><i style="background: #3AD0D1;"></i>{{recentlyYear.year}}年人口</div>
<div class="item-count"> <div class="item-count">
<span>{{recentlyYear.population}}</span> <span>{{recentlyYear.population}}</span>
<img v-if="recentlyYear.populationGrowthRate > 0" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(getMoneyNum(recentlyYear.populationGrowthRate)) > 0" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png"> <img v-else src="@/assets/images/economies/icon_down.png">
</div> </div>
<div id="echartsRK" style="height: 75px;"></div> <div id="echartsRK" style="height: 75px;"></div>
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<div class="item-title"><i style="background: #FFBE5D;"></i>{{recentlyYear.year}}年一般公共预算收入</div> <div class="item-title"><i style="background: #FFBE5D;"></i>{{recentlyYear.year}}年一般公共预算收入</div>
<div class="item-count"> <div class="item-count">
<span>{{recentlyYear.gbr}}</span>亿 <span>{{recentlyYear.gbr}}</span>亿
<img v-if="recentlyYear.gbrGrowth > 0" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(getMoneyNum(recentlyYear.gbrGrowth)) > 0" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png"> <img v-else src="@/assets/images/economies/icon_down.png">
</div> </div>
<div id="echartsSR" style="height: 75px;"></div> <div id="echartsSR" style="height: 75px;"></div>
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<div class="item-title"><i style="background: #FF8935;"></i>{{recentlyYear.year}}年地方政府债务余额</div> <div class="item-title"><i style="background: #FF8935;"></i>{{recentlyYear.year}}年地方政府债务余额</div>
<div class="item-count"> <div class="item-count">
<span>{{recentlyYear.govDebtBalance}}</span>亿 <span>{{recentlyYear.govDebtBalance}}</span>亿
<img v-if="recentlyYear.govDebtBalance > nextYearMap.govDebtBalance" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(getMoneyNum(recentlyYear.govDebtBalance)) > Number(getMoneyNum(nextYearMap.govDebtBalance))" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png"> <img v-else src="@/assets/images/economies/icon_down.png">
</div> </div>
<div id="echartsYE" style="height: 75px;"></div> <div id="echartsYE" style="height: 75px;"></div>
...@@ -279,10 +279,10 @@ export default { ...@@ -279,10 +279,10 @@ export default {
} }
}, },
created() { created() {
this.getData()
let mydate=new Date(); let mydate=new Date();
this.labelData=[mydate.getFullYear()-2,mydate.getFullYear()-1] this.labelData=[mydate.getFullYear()-2,mydate.getFullYear()-1]
this.$nextTick(()=>{ this.$nextTick(()=>{
this.getData()
// console.log(this.dataQuery) // console.log(this.dataQuery)
}) })
}, },
...@@ -300,11 +300,6 @@ export default { ...@@ -300,11 +300,6 @@ export default {
// } // }
}, },
watch: { watch: {
dataQuery: {
handler(newValue, oldValue) {
},
deep: true
},
provinceId(newValue, oldValue){ provinceId(newValue, oldValue){
this.getData() this.getData()
} }
......
...@@ -63,7 +63,9 @@ export default { ...@@ -63,7 +63,9 @@ export default {
} }
}, },
created() { created() {
this.dataQuery=this.$route.query; //使用JSON方法深拷贝
let data = JSON.parse(JSON.stringify(this.$route.query))
this.dataQuery=data;
if(this.dataQuery.provinceId){ if(this.dataQuery.provinceId){
if(Array.isArray(this.dataQuery.province)){ if(Array.isArray(this.dataQuery.province)){
this.province=this.dataQuery.province[0]; this.province=this.dataQuery.province[0];
...@@ -71,41 +73,54 @@ export default { ...@@ -71,41 +73,54 @@ export default {
this.province=this.dataQuery.province this.province=this.dataQuery.province
this.dataQuery.province = [this.dataQuery.province]; this.dataQuery.province = [this.dataQuery.province];
} }
this.provinceId.push(this.dataQuery.provinceId) if(Array.isArray(this.dataQuery.provinceId)){
this.provinceId=this.dataQuery.provinceId
}else {
this.provinceId.push(this.dataQuery.provinceId)
}
}else { }else {
location({}).then(res => { location({}).then(res => {
if(res.data.area){ if(localStorage.getItem('location')){
this.province=res.data.area if(res.data.area){
}else { this.province=res.data.area
if(res.data.city){
this.province=res.data.city
}else { }else {
this.province=res.data.province if(res.data.city){
this.province=res.data.city
}else {
this.province=res.data.province
}
} }
} if(!this.dataQuery.provinceId){
if(!this.dataQuery.provinceId){ if(res.data.areaId){
if(res.data.areaId){ this.dataQuery.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
this.dataQuery.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId] this.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
this.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
}else {
if(res.data.cityId){
this.provinceId=[res.data.provinceId,res.data.cityId]
}else { }else {
this.provinceId=[res.data.provinceId] if(res.data.cityId){
this.provinceId=[res.data.provinceId,res.data.cityId]
}else {
this.provinceId=[res.data.provinceId]
}
} }
let arr=[res.data.province]
this.dataQuery.province=arr;
}else {
this.provinceId=this.dataQuery.provinceId
} }
let arr=[res.data.province]
this.dataQuery.province=arr;
}else { }else {
this.provinceId=this.dataQuery.provinceId this.province=res.data.province
if(!this.dataQuery.provinceId){
this.provinceId=[res.data.provinceId]
let arr=[res.data.province]
this.dataQuery.province=arr;
}else {
this.provinceId=this.dataQuery.provinceId
}
} }
}) })
} }
if(this.dataQuery.activeName){ if(this.dataQuery.activeName){
this.activeName=this.dataQuery.activeName; this.activeName=this.dataQuery.activeName;
} }
// let name = sessionStorage.getItem('currentTab') // let name = sessionStorage.getItem('currentTab')
// if (name != "undefined" && name){ // if (name != "undefined" && name){
// this.activeName = name; // this.activeName = name;
......
...@@ -136,10 +136,10 @@ export default { ...@@ -136,10 +136,10 @@ export default {
}, },
mounted() { mounted() {
window.addEventListener("scroll",this.scrolling) // window.addEventListener("scroll",this.scrolling)
}, },
beforeDestroy() { beforeDestroy() {
window.removeEventListener("scroll", this.scrolling); // window.removeEventListener("scroll", this.scrolling);
}, },
methods: { methods: {
scrolling() { scrolling() {
...@@ -428,7 +428,13 @@ export default { ...@@ -428,7 +428,13 @@ export default {
z-index: 9; z-index: 9;
} }
.el-table__fixed-header-wrapper{ .el-table__fixed-header-wrapper{
position: sticky;
z-index: 9; z-index: 9;
top: 56px;
}
.el-table__fixed{
overflow-x: clip;
overflow-y: clip;
} }
th{ th{
font-size: 12px !important; font-size: 12px !important;
......
...@@ -110,30 +110,41 @@ export default { ...@@ -110,30 +110,41 @@ export default {
}, },
created() { created() {
location({}).then(res => { location({}).then(res => {
if(res.data.area){ if(localStorage.getItem('location')){
this.province=res.data.area if(res.data.area){
}else { this.province=res.data.area
if(res.data.city){
this.province=res.data.city
}else { }else {
this.province=res.data.province if(res.data.city){
this.province=res.data.city
}else {
this.province=res.data.province
}
} }
} if(!this.dataQuery.provinceId){
if(!this.dataQuery.provinceId){ if(res.data.areaId){
if(res.data.areaId){ this.dataQuery.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
this.dataQuery.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId] this.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
this.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
}else {
if(res.data.cityId){
this.provinceId=[res.data.provinceId,res.data.cityId]
}else { }else {
this.provinceId=[res.data.provinceId] if(res.data.cityId){
this.provinceId=[res.data.provinceId,res.data.cityId]
}else {
this.provinceId=[res.data.provinceId]
}
} }
let arr=[res.data.province]
this.dataQuery.province=arr;
}else {
this.provinceId=this.dataQuery.provinceId
} }
let arr=[res.data.province]
this.dataQuery.province=arr;
}else { }else {
this.provinceId=this.dataQuery.provinceId this.province=res.data.province;
if(!this.dataQuery.provinceId){
this.provinceId=[res.data.provinceId]
let arr=[res.data.province]
this.dataQuery.province=arr;
}else {
this.provinceId=this.dataQuery.provinceId
}
} }
this.$nextTick(() => { this.$nextTick(() => {
this.getData() this.getData()
......
...@@ -151,21 +151,21 @@ ...@@ -151,21 +151,21 @@
this.getYears() this.getYears()
}, },
mounted() { mounted() {
window.addEventListener("scroll",this.scrolling) // window.addEventListener("scroll",this.scrolling)
}, },
beforeDestroy() { beforeDestroy() {
window.removeEventListener("scroll", this.scrolling); // window.removeEventListener("scroll", this.scrolling);
}, },
methods: { methods: {
scrolling() { scrolling() {
let el = document.getElementsByClassName("el-table__fixed-header-wrapper")[0] // let el = document.getElementsByClassName("el-table__fixed-header-wrapper")[0]
let scrollTop =window.pageYOffset ||document.documentElement.scrollTop ||document.body.scrollTop; // let scrollTop =window.pageYOffset ||document.documentElement.scrollTop ||document.body.scrollTop;
if (scrollTop>138){ // if (scrollTop>138){
let top = scrollTop-138 // let top = scrollTop-138
el.style.top = top+'px' // el.style.top = top+'px'
}else{ // }else{
el.style.top = 0 // el.style.top = 0
} // }
}, },
getYears(){ getYears(){
getYears({}).then(res => { getYears({}).then(res => {
...@@ -408,7 +408,13 @@ ...@@ -408,7 +408,13 @@
z-index: 9; z-index: 9;
} }
.el-table__fixed-header-wrapper{ .el-table__fixed-header-wrapper{
position: sticky;
z-index: 9; z-index: 9;
top: 56px;
}
.el-table__fixed{
overflow-x: clip;
overflow-y: clip;
} }
th{ th{
font-size: 12px !important; font-size: 12px !important;
......
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
<el-pagination background :current-page="pageIndex" :page-size="pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" /> <el-pagination background :current-page="pageIndex" :page-size="pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div> </div>
</div> </div>
<el-dialog :visible.sync="claimVisible" width="244" :show-close="false"> <el-dialog :visible.sync="claimVisible" width="244" custom-class='dialog-claim' :show-close="false">
<div>认领成功,是否完善客户信息?</div> <div>认领成功,是否完善客户信息?</div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="innerVisible = true"> <el-button @click="innerVisible = true">
...@@ -255,6 +255,13 @@ ...@@ -255,6 +255,13 @@
<el-button @click="claimVisible = false">稍后</el-button> <el-button @click="claimVisible = false">稍后</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :visible.sync="claimVisible1" custom-class='historyClaim' title="重新认领" width="260" :show-close="false">
<div>再次认领将会恢复客户数据</div>
<div slot="footer" class="dialog-footer">
<el-button @click="handleHistoryClaim">确认</el-button>
<el-button @click="claimVisible1 = false">取消</el-button>
</div>
</el-dialog>
<el-dialog <el-dialog
title="取消认领" title="取消认领"
:visible.sync="dialogVisible1" :visible.sync="dialogVisible1"
...@@ -278,7 +285,7 @@ ...@@ -278,7 +285,7 @@
import dataRegion from '@/assets/json/dataRegion' import dataRegion from '@/assets/json/dataRegion'
import api from '@/api/enterpriseData/enterpriseData.js'; import api from '@/api/enterpriseData/enterpriseData.js';
import elementResizeDetectorMaker from "element-resize-detector" import elementResizeDetectorMaker from "element-resize-detector"
import { uipGroupData,urbanInvestmentPage,urbanInvestmentStatistics,claim,location } from '@/api/macro/macro' import { uipGroupData,urbanInvestmentPage,urbanInvestmentStatistics,claim,location,customerStatus,historyClaim } from '@/api/macro/macro'
import { infoHeader } from '@/api/detail/party-a/index' import { infoHeader } from '@/api/detail/party-a/index'
import Region from '../component/region' import Region from '../component/region'
export default { export default {
...@@ -317,9 +324,11 @@ export default { ...@@ -317,9 +324,11 @@ export default {
typeList:[], typeList:[],
statistics:{}, statistics:{},
claimVisible:false, claimVisible:false,
claimVisible1:false,
dialogVisible1: false, dialogVisible1: false,
customerId:'', customerId:'',
companyId:'', companyId:'',
companyName:'',
show_page:true, show_page:true,
MaxPage:500, MaxPage:500,
// 表格高度 // 表格高度
...@@ -328,7 +337,6 @@ export default { ...@@ -328,7 +337,6 @@ export default {
province:'', province:'',
provinceId:[], provinceId:[],
fixed: false, fixed: false,
StyWidth:null
} }
}, },
watch:{ watch:{
...@@ -345,20 +353,10 @@ export default { ...@@ -345,20 +353,10 @@ export default {
} }
}, },
mounted(){ mounted(){
window.addEventListener("scroll",this.scrolling) // window.addEventListener("scroll",this.scrolling)
window.addEventListener('scroll', this.handleScroll);
const _this = this, erd = elementResizeDetectorMaker(), partBox = document.getElementById("content")
erd.listenTo(partBox, element => {
_this.$nextTick(() => {
this.StyWidth = partBox.offsetWidth + 'px';
})
})
},
destroyed () {
window.removeEventListener('scroll', this.handleScroll)
}, },
beforeDestroy() { beforeDestroy() {
window.removeEventListener("scroll", this.scrolling); // window.removeEventListener("scroll", this.scrolling);
}, },
created() { created() {
this.dataRegion() this.dataRegion()
...@@ -379,33 +377,45 @@ export default { ...@@ -379,33 +377,45 @@ export default {
this.querySubmit() this.querySubmit()
}else { }else {
location({}).then(res => { location({}).then(res => {
if(res.data.area){ if(localStorage.getItem('location')){
this.province=res.data.area if(res.data.area){
}else { this.province=res.data.area
if(res.data.city){
this.province=res.data.city
}else {
this.province=res.data.province
}
}
if(!this.dataQuery.provinceId){
if(res.data.areaId){
this.dataQuery.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
this.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
}else { }else {
if(res.data.cityId){ if(res.data.city){
this.provinceId=[res.data.provinceId,res.data.cityId] this.province=res.data.city
}else { }else {
this.provinceId=[res.data.provinceId] this.province=res.data.province
} }
} }
if(!this.dataQuery.provinceId){
if(res.data.areaId){
this.dataQuery.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
this.provinceId=[res.data.provinceId,res.data.cityId,res.data.areaId]
}else {
if(res.data.cityId){
this.provinceId=[res.data.provinceId,res.data.cityId]
}else {
this.provinceId=[res.data.provinceId]
}
}
let arr=[res.data.province] let arr=[res.data.province]
this.dataQuery.province=arr; this.dataQuery.province=arr;
}else {
this.provinceId=this.dataQuery.provinceId
}
}else { }else {
this.provinceId=this.dataQuery.provinceId this.province=res.data.province
if(!this.dataQuery.provinceId){
this.provinceId=[res.data.provinceId]
let arr=[res.data.province]
this.dataQuery.province=arr;
}else {
this.provinceId=this.dataQuery.provinceId
}
} }
this.querySubmit() this.querySubmit()
}) })
} }
...@@ -416,21 +426,24 @@ export default { ...@@ -416,21 +426,24 @@ export default {
methods: { methods: {
scrolling() { scrolling() {
let el = document.getElementsByClassName("el-table__fixed-header-wrapper")[0] let el = document.getElementsByClassName("el-table__fixed-header-wrapper")[0]
let scrollTop =window.pageYOffset ||document.documentElement.scrollTop ||document.body.scrollTop; // let scrollTop =window.pageYOffset ||document.documentElement.scrollTop ||document.body.scrollTop;
if (scrollTop>368){ // if (scrollTop>368){
let top = scrollTop-368 // let top = scrollTop-368
el.style.top = top+'px' // el.style.top = top+'px'
}else{ // }else{
el.style.top = 0 // el.style.top = 0
} // }
}, let el1 = document.getElementsByClassName("el-table")[0].offsetTop
handleScroll () { let el2 = document.getElementsByClassName("content")[1].offsetTop
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop let scrollTop = document.documentElement.scrollTop ||document.body.scrollTop;
if (scrollTop > 300) { this.$nextTick(() => {
this.fixed = true if (scrollTop>(el1+el2)){
} else { let top = scrollTop-(el1+el2)-13
this.fixed = false el.style.top = top+'px'
} }else{
el.style.top = 0
}
})
}, },
getType(){ getType(){
uipGroupData({}).then(res => { uipGroupData({}).then(res => {
...@@ -736,8 +749,17 @@ export default { ...@@ -736,8 +749,17 @@ export default {
} }
}) })
}, },
handleHistoryClaim(){
historyClaim(this.companyName).then(res => {
if(res.code === 200){
this.claimVisible1=false;
this.querySubmit()
}
})
},
handleClick(item){ handleClick(item){
this.companyId=item.companyId; this.companyId=item.companyId;
this.companyName=item.companyName;
infoHeader({companyId:this.companyId}).then(res => { infoHeader({companyId:this.companyId}).then(res => {
if(res.code === 200){ if(res.code === 200){
let registerAddress=res.data.provinceName let registerAddress=res.data.provinceName
...@@ -760,11 +782,18 @@ export default { ...@@ -760,11 +782,18 @@ export default {
registerAddress:registerAddress, registerAddress:registerAddress,
creditCode:res.data.creditCode, creditCode:res.data.creditCode,
} }
claim(params).then(res => { customerStatus(item.companyName).then(res => {
if(res.code === 200){ if(res.data === 1){
this.claimVisible=true; this.claimVisible1=true;
this.customerId=res.data.customerId; }else {
this.querySubmit() claim(params).then(res => {
if(res.code === 200){
this.claimVisible=true;
this.customerId=res.data.customerId;
this.querySubmit()
}
})
} }
}) })
} }
...@@ -934,7 +963,13 @@ export default { ...@@ -934,7 +963,13 @@ export default {
z-index: 9; z-index: 9;
} }
.el-table__fixed-header-wrapper{ .el-table__fixed-header-wrapper{
position: sticky;
z-index: 9; z-index: 9;
top: 56px;
}
.el-table__fixed{
overflow-x: clip;
overflow-y: clip;
} }
th{ th{
font-size: 12px !important; font-size: 12px !important;
...@@ -1041,9 +1076,25 @@ export default { ...@@ -1041,9 +1076,25 @@ export default {
} }
} }
} }
::v-deep .historyClaim{
.el-dialog__header{
display: block;
padding: 12px;
text-align: center;
.el-dialog__title{
font-size: 16px;
}
}
.el-dialog__body{
padding: 0;
text-align: center;
padding-bottom: 24px;
}
}
::v-deep .dialog-renlin{ ::v-deep .dialog-renlin{
.el-dialog__header{ .el-dialog__header{
display: block; display: block;
text-align: center;
} }
.el-dialog__body{ .el-dialog__body{
padding: 0; padding: 0;
...@@ -1086,10 +1137,5 @@ export default { ...@@ -1086,10 +1137,5 @@ export default {
} }
} }
} }
.fixed{
position: fixed;
z-index: 999;
top: 56px;
}
} }
</style> </style>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div> <div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisableds == false">新增联系人</div> <div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisableds == false">新增联系人</div>
</div> </div>
<el-table v-else <el-table class="fixed-table" v-else
:data="tableData" :data="tableData"
stripe border stripe border
style="width: 100%" style="width: 100%"
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<div class="p2">建议调整关键词或添加相关企业,重新搜索</div> <div class="p2">建议调整关键词或添加相关企业,重新搜索</div>
<div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisableds==false">新增相关企业</div> <div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisableds==false">新增相关企业</div>
</div> </div>
<el-table v-else-if="!isSkeleton" <el-table v-else-if="!isSkeleton" class="fixed-table"
:data="tableData.rows" :data="tableData.rows"
style="width: 100%" style="width: 100%"
:default-sort = "{prop: 'depth', order: 'descending'}" :default-sort = "{prop: 'depth', order: 'descending'}"
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
上传文档 上传文档
</el-upload></div> </el-upload></div>
</div> </div>
<el-table v-else-if="!isSkeleton" <el-table v-else-if="!isSkeleton" class="fixed-table"
:data="fileDatas.rows" :data="fileDatas.rows"
style="width: 100%" style="width: 100%"
:default-sort = "{prop: 'creatTime', order: 'descending'}" :default-sort = "{prop: 'creatTime', order: 'descending'}"
......
...@@ -202,7 +202,7 @@ ...@@ -202,7 +202,7 @@
<span class="list-label list-label-zb" v-if="item.domicile"> <span class="list-label list-label-zb" v-if="item.domicile">
{{item.domicile}} {{item.domicile}}
</span> </span>
<span class="list-label list-label-zb" v-if="item.tenderingManner&&item.tenderingManner!='其他'&&item.tenderingManner!='空白'"> <span class="list-label list-label-zb" v-if="item.tenderingManner&&item.tenderingManner!='其他'&&item.tenderingManner!='空白'&&item.tenderingManner!='未知'">
{{ item.tenderingManner}} {{ item.tenderingManner}}
</span> </span>
<span class="list-label list-label-lx" v-if="item.projectType&&item.projectType!='其他'&&item.projectType!='空白'"> <span class="list-label list-label-lx" v-if="item.projectType&&item.projectType!='其他'&&item.projectType!='空白'">
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<div class="list"> <div class="list">
<div class="item color1"> <div class="item color1">
<div class="item-left"> <div class="item-left">
<h4 v-if="textList.projectTotalInvestment">{{textList.projectTotalInvestment}}<span></span></h4> <h4 v-if="textList.projectTotalInvestment">{{textList.projectTotalInvestment}}<span>亿</span></h4>
<h4 v-else> <h4 v-else>
-- --
</h4> </h4>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</div> </div>
<div class="item color2"> <div class="item color2">
<div class="item-left"> <div class="item-left">
<h4 v-if="textList.projectCapital">{{textList.projectCapital}}<span></span></h4> <h4 v-if="textList.projectCapital">{{textList.projectCapital}}<span>亿</span></h4>
<h4 v-else> <h4 v-else>
-- --
</h4> </h4>
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</div> </div>
<div class="item color3"> <div class="item color3">
<div class="item-left"> <div class="item-left">
<h4 v-if="textList.econData_013">{{textList.econData_013}}<span></span></h4> <h4 v-if="textList.econData_013">{{textList.econData_013}}<span>亿</span></h4>
<h4 v-else> <h4 v-else>
-- --
</h4> </h4>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
</div> </div>
<div class="item color4"> <div class="item color4">
<div class="item-left"> <div class="item-left">
<h4 v-if="textList.specialBondCapital">{{textList.specialBondCapital}}<span></span></h4> <h4 v-if="textList.specialBondCapital">{{textList.specialBondCapital}}<span>亿</span></h4>
<h4 v-else> <h4 v-else>
-- --
</h4> </h4>
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<div class="list"> <div class="list">
<div class="item color4"> <div class="item color4">
<div class="item-left"> <div class="item-left">
<h4 v-if="textList.otherFunds">{{textList.otherFunds}}<span></span></h4> <h4 v-if="textList.otherFunds">{{textList.otherFunds}}<span>亿</span></h4>
<h4 v-else> <h4 v-else>
-- --
</h4> </h4>
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
</div> </div>
<div class="item color3"> <div class="item color3">
<div class="item-left"> <div class="item-left">
<h4 v-if="textList.specialBondIssue_number">{{textList.specialBondIssue_number}}<span>元/ 10只</span></h4> <h4 v-if="textList.specialBondIssue_number">{{textList.specialBondIssue_number}}<span>亿元/ 10只</span></h4>
<h4 v-else> <h4 v-else>
-- --
</h4> </h4>
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
</div> </div>
<div class="item color4"> <div class="item color4">
<div class="item-left"> <div class="item-left">
<h4 v-if="textList.otherFinancing">{{textList.otherFinancing}}<span></span></h4> <h4 v-if="textList.otherFinancing">{{textList.otherFinancing}}<span>亿</span></h4>
<h4 v-else> <h4 v-else>
-- --
</h4> </h4>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
</div> </div>
<div class="item color2"> <div class="item color2">
<div class="item-left"> <div class="item-left">
<h4 v-if="textList.govSupportFunds">{{textList.govSupportFunds}}<span></span></h4> <h4 v-if="textList.govSupportFunds">{{textList.govSupportFunds}}<span>亿</span></h4>
<h4 v-else> <h4 v-else>
-- --
</h4> </h4>
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
</p> </p>
<p> <p>
<label class="label">项目预测总收益</label> <label class="label">项目预测总收益</label>
<span v-if="textList.projectForecastTotalRevenue">{{textList.projectForecastTotalRevenue}}</span> <span v-if="textList.projectForecastTotalRevenue">{{textList.projectForecastTotalRevenue}}亿</span>
<span v-else>--</span> <span v-else>--</span>
</p> </p>
</div> </div>
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="tenderDate" label="招标日期" width="220" /> <el-table-column prop="tenderDate" label="招标日期" width="220" />
<el-table-column prop="actualBondIssueScale" label="专项债规模(亿)" width="260" /> <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"> <el-table-column label="是否资本金" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
......
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import com.dsk.system.domain.BusinessExcelDto; import com.dsk.system.domain.BusinessExcelDto;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
...@@ -13,6 +8,11 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; ...@@ -13,6 +8,11 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/** /**
* @author lxl * @author lxl
* @Description: * @Description:
...@@ -120,25 +120,29 @@ public class ReadBusinessInfoExcel { ...@@ -120,25 +120,29 @@ public class ReadBusinessInfoExcel {
for (int c = 0; c < this.totalCells; c++) { for (int c = 0; c < this.totalCells; c++) {
Cell cell = row.getCell(c); Cell cell = row.getCell(c);
if (null != cell) { if (null != cell) {
//项目名称
if (c == 0) { if (c == 0) {
//如果是纯数字,比如你写的是25,cell.getNumericCellValue()获得是25.0,通过截取字符串去掉.0获得25 //如果是纯数字,比如你写的是25,cell.getNumericCellValue()获得是25.0,通过截取字符串去掉.0获得25
if (cell.getCellType() == CellType.NUMERIC) { if (cell.getCellType() == CellType.NUMERIC) {
String name = String.valueOf(cell.getNumericCellValue()); String name = String.valueOf(cell.getNumericCellValue());
businessExcelDto.setProjectName(name.substring(0, name.length() - 2 > 0 ? name.length() - 2 : 1));//项目名称 businessExcelDto.setProjectName(name.substring(0, name.length() - 2 > 0 ? name.length() - 2 : 1));
} else { } else {
businessExcelDto.setProjectName(cell.getStringCellValue());//名称 businessExcelDto.setProjectName(cell.getStringCellValue());
} }
//业主单位
} else if (c == 1) { } else if (c == 1) {
if (cell.getCellType() == CellType.NUMERIC) { if (cell.getCellType() == CellType.NUMERIC) {
String company = String.valueOf(cell.getNumericCellValue()); String company = String.valueOf(cell.getNumericCellValue());
businessExcelDto.setOwnerCompany(company.substring(0, company.length() - 2 > 0 ? company.length() - 2 : 1));//业主单位 businessExcelDto.setOwnerCompany(company.substring(0, company.length() - 2 > 0 ? company.length() - 2 : 1));
} else { } else {
businessExcelDto.setOwnerCompany(cell.getStringCellValue());//性别 businessExcelDto.setOwnerCompany(cell.getStringCellValue());
} }
//投资估算(万元)
} else if (c == 2) { } else if (c == 2) {
if (cell.getCellType() == CellType.NUMERIC) { if (cell.getCellType() == CellType.NUMERIC) {
String amount = String.valueOf(cell.getNumericCellValue()); String amount = String.valueOf(cell.getNumericCellValue());
businessExcelDto.setInvestmentAmount(amount.substring(0, amount.length() - 2 > 0 ? amount.length() - 2 : 1));//投资估算(万元) // businessExcelDto.setInvestmentAmount(amount.substring(0, amount.length() - 2 > 0 ? amount.length() - 2 : 1));
businessExcelDto.setInvestmentAmount(amount);
} else { } else {
businessExcelDto.setInvestmentAmount(cell.getStringCellValue()); businessExcelDto.setInvestmentAmount(cell.getStringCellValue());
} }
......
...@@ -110,15 +110,15 @@ ...@@ -110,15 +110,15 @@
#{projectType} #{projectType}
</foreach> </foreach>
</if> </if>
<if test="minAmount != null and minAmount != '' and minAmount != 0 and maxAmount != minAmount"> <if test="minAmount != null and minAmount != '' and minAmount != '0' and maxAmount != minAmount">
and i.investment_amount &gt; #{minAmount} and i.investment_amount &gt; #{minAmount}
</if> </if>
<if test="minAmount == 0 and maxAmount != minAmount"> <if test="minAmount == '0' and maxAmount != minAmount">
and ((i.investment_amount &gt; #{minAmount} and ((i.investment_amount &gt; #{minAmount}
and i.investment_amount &lt;= #{maxAmount}) and i.investment_amount &lt;= #{maxAmount})
or i.investment_amount is null) or i.investment_amount is null)
</if> </if>
<if test="maxAmount != null and maxAmount != '' and maxAmount != minAmount and minAmount != 0"> <if test="maxAmount != null and maxAmount != '' and maxAmount != minAmount and minAmount != '0'">
and i.investment_amount &lt;= #{maxAmount} and i.investment_amount &lt;= #{maxAmount}
</if> </if>
<if test="minAmount != null and minAmount != '' and maxAmount != null and maxAmount != '' and maxAmount == minAmount"> <if test="minAmount != null and minAmount != '' and maxAmount != null and maxAmount != '' and maxAmount == minAmount">
......
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