Commit d601c090 authored by Administrator's avatar Administrator

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

parents d7145723 6ad36aa9
...@@ -7,11 +7,10 @@ const steerScroll = function(iframeId, navigation, state, parentId) { // state: ...@@ -7,11 +7,10 @@ const steerScroll = function(iframeId, navigation, state, parentId) { // state:
let dom = window let dom = window
if (parentId) { // 默认页面可以滚动 if (parentId) { // 默认页面可以滚动
dom = document.getElementById(parentId) dom = document.getElementById(parentId)
if(!dom){ if (!dom) {
return return
} }
dom.style.overflow = 'auto' dom.style.overflow = 'auto'
navigation.totalHeight = 0
} else { } else {
document.body.style.overflow = 'visible' document.body.style.overflow = 'visible'
} }
...@@ -22,12 +21,12 @@ const steerScroll = function(iframeId, navigation, state, parentId) { // state: ...@@ -22,12 +21,12 @@ const steerScroll = function(iframeId, navigation, state, parentId) { // state:
if (data && typeof data === 'object') { if (data && typeof data === 'object') {
// 动态设置iFrame高度 // 动态设置iFrame高度
if (data.height) { if (data.height) {
document.getElementById(iframeId).style.height = data.height+'px' document.getElementById(iframeId).style.height = data.height + 'px'
scrolling(iframeId, navigation, parentId) // 初始加载获取滚动条距离顶部高度 scrolling(iframeId, navigation, parentId) // 初始加载获取滚动条距离顶部高度
} }
// 点击企业详情页 栏目名动态设置滚动高度 // 点击企业详情页 栏目名动态设置滚动高度
if (data.scrollHeight) { if (data.scrollHeight) {
let navHeight = navigation.isFixed ? navigation.totalHeight - navigation.fixedHeight : navigation.totalHeight const navHeight = navigation.isFixed && !parentId ? navigation.totalHeight - navigation.fixedHeight : !parentId ? navigation.totalHeight : 0
dom.scrollTo(sct, parseInt(data.scrollHeight) + navHeight) dom.scrollTo(sct, parseInt(data.scrollHeight) + navHeight)
} }
// 点击企业详情页 栏目下拉子标签动态设置滚动高度 // 点击企业详情页 栏目下拉子标签动态设置滚动高度
...@@ -63,11 +62,9 @@ const scrolling = function(iframeId, navigation, parentId) { ...@@ -63,11 +62,9 @@ const scrolling = function(iframeId, navigation, parentId) {
let scrollTop = parentId ? document.getElementById(parentId).scrollTop : window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop let scrollTop = parentId ? document.getElementById(parentId).scrollTop : window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
// 将滚动距离传入子组件 // 将滚动距离传入子组件
const ifa = document.getElementById(iframeId) const ifa = document.getElementById(iframeId)
if ((scrollTop < navigation.totalHeight && !navigation.isFixed) || navigation.isFixed) { scrollTop = scrollTop + navigation.totalHeight
scrollTop = scrollTop + navigation.totalHeight
}
const bodyHeight = document.body.clientHeight - navigation.totalHeight const bodyHeight = document.body.clientHeight - navigation.totalHeight
ifa.contentWindow.postMessage({ 'scrollTop': scrollTop, 'bodyHeight': bodyHeight }, '*') ifa.contentWindow.postMessage({ 'scrollTop': scrollTop, 'navHeight': navigation.totalHeight, 'bodyHeight': bodyHeight }, '*')
} }
export { export {
......
...@@ -90,7 +90,7 @@ export default { ...@@ -90,7 +90,7 @@ export default {
height: 100%; height: 100%;
padding-top: 24px; padding-top: 24px;
margin-bottom: 0 !important; margin-bottom: 0 !important;
overflow: auto; overflow: hidden;
} }
.is-horizontal{ .is-horizontal{
width: 0; width: 0;
......
...@@ -28,6 +28,34 @@ ...@@ -28,6 +28,34 @@
<li v-if="!isLastView()" @click="closeRightTags"><i class="el-icon-right"></i> 关闭右侧</li> <li v-if="!isLastView()" @click="closeRightTags"><i class="el-icon-right"></i> 关闭右侧</li>
<li @click="closeAllTags(selectedTag)"><i class="el-icon-circle-close"></i> 全部关闭</li> <li @click="closeAllTags(selectedTag)"><i class="el-icon-circle-close"></i> 全部关闭</li>
</ul> </ul>
<div class="alltags" v-if="visitedViews.length > 0">
<div class="" @click="closeall"><i class="el-icon-arrow-down" v-if="!showall"></i> <i class="el-icon-arrow-up" v-if="showall"></i></div>
<div class="tagslist" v-if="showall">
<!--<div v-for="(tag, index) in visitedViews"-->
<!--:key="tag.path"-->
<!--:class="isActive(tag)?'active':''"-->
<!--&gt;-->
<!--<i class="el-icon-check"></i>-->
<!--</div>-->
<router-link
v-for="(tag, index) in visitedViews"
ref="tag"
:key="tag.path"
:class="isActive(tag)?'active':''"
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag="span"
class="tags-view-item"
@contextmenu.prevent.native="openMenu(tag,$event)"
>
<div @click="changetags">
<i class="el-icon-check"></i>
<span :id="isActive(tag)?'tagTitle':''">{{ tag.title }}</span>
</div>
</router-link>
<div class="clasall" @click="closeAllTag(selectedTag)">关闭全部标签</div>
</div>
</div>
</div> </div>
</template> </template>
...@@ -43,7 +71,8 @@ export default { ...@@ -43,7 +71,8 @@ export default {
top: 0, top: 0,
left: 0, left: 0,
selectedTag: {}, selectedTag: {},
affixTags: [] affixTags: [],
showall:false,
} }
}, },
computed: { computed: {
...@@ -83,13 +112,24 @@ export default { ...@@ -83,13 +112,24 @@ export default {
} else { } else {
document.body.removeEventListener('click', this.closeMenu) document.body.removeEventListener('click', this.closeMenu)
} }
} },
}, },
mounted() { mounted() {
this.initTags() this.initTags()
this.addTags() this.addTags()
}, },
methods: { methods: {
changetags(){
console.log(88)
this.showall = false
},
closeall(){
if(this.showall == true){
this.showall = false
}else{
this.showall = true
}
},
isActive(route) { isActive(route) {
return route.path === this.$route.path return route.path === this.$route.path
}, },
...@@ -202,6 +242,12 @@ export default { ...@@ -202,6 +242,12 @@ export default {
this.moveToCurrentTag() this.moveToCurrentTag()
}) })
}, },
closeAllTag(view){
this.$nextTick(()=>{
this.showall = false
this.closeAllTags(view)
})
},
closeAllTags(view) { closeAllTags(view) {
this.$tab.closeAllPage().then(({ visitedViews }) => { this.$tab.closeAllPage().then(({ visitedViews }) => {
if (this.affixTags.some(tag => tag.path === this.$route.path)) { if (this.affixTags.some(tag => tag.path === this.$route.path)) {
...@@ -257,6 +303,7 @@ export default { ...@@ -257,6 +303,7 @@ export default {
height: 56px; height: 56px;
width: 100%; width: 100%;
background: #fff; background: #fff;
position: relative;
.tags-view-wrapper { .tags-view-wrapper {
.tags-view-item { .tags-view-item {
display: inline-block; display: inline-block;
...@@ -336,6 +383,68 @@ export default { ...@@ -336,6 +383,68 @@ export default {
} }
} }
} }
.alltags{
position: absolute;
align-items: center;
border-radius: 9px;
height: 17px;
justify-content: center;
width: 36px;
right: -46px;
bottom: 10px;
cursor: pointer;
text-align: center;
&:hover{
background: #EFEFEF;
}
.tagslist{
position: absolute;
right: 0;
top: 20px;
background-color: #fcfcfc;
color: #141414;
font-size: 13px;
line-height: 1em;
margin-bottom: 0;
max-height: 450px;
overflow-y: auto;
overflow-y: overlay;
padding: 20px 0 10px;
width: 325px;
text-align: left;
box-shadow: 0 2px 9px 2px rgba(0,0,0,.09), 0 1px 2px -2px rgba(0,0,0,.16);
.tags-view-item{
display: block;
position: relative;
>div{
padding: 8px 24px;
}
&:hover{
color: #0081FF;
}
.el-icon-check{
display: none;
position: absolute;
left: 5px;
width: 13px;
}
&.active{
color: #0081FF;
.el-icon-check{
display: block;
}
}
}
.clasall{
border-top: 1px solid #EFEFEF;
padding: 10px 24px 0;
margin-top: 10px;
&:hover{
color: #0081FF;
}
}
}
}
} }
</style> </style>
......
...@@ -105,7 +105,7 @@ export default { ...@@ -105,7 +105,7 @@ export default {
data() { data() {
return { return {
encodeStr, encodeStr,
datatype:'3',//切换类型 datatype:'1',//切换类型
dataAll: {}, dataAll: {},
dtdata:[],//数据 dtdata:[],//数据
dttime:[],//坐标 dttime:[],//坐标
...@@ -166,7 +166,7 @@ export default { ...@@ -166,7 +166,7 @@ export default {
} }
}, },
grid:{ grid:{
left:'1', left:'1%',
top:'8%', top:'8%',
right:'5%', right:'5%',
bottom:'8%', bottom:'8%',
......
...@@ -84,12 +84,6 @@ export default { ...@@ -84,12 +84,6 @@ export default {
let res = await financialData({cid: this.companyId}) let res = await financialData({cid: this.companyId})
if(res.code==200 && res.data){ if(res.code==200 && res.data){
this.viewData = 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){ if(this.viewData.length>0){
this.$nextTick(() => { this.$nextTick(() => {
this.getDT(val) this.getDT(val)
...@@ -101,10 +95,12 @@ export default { ...@@ -101,10 +95,12 @@ export default {
let myChart = echarts.init(document.getElementById("echartsFinance")) let myChart = echarts.init(document.getElementById("echartsFinance"))
let barData = [],years = [],compareData = []; let barData = [],years = [],compareData = [];
this.viewData.map(item=>{ this.viewData.map(item=>{
barData.push(item[val]); barData.push(item[val+'Size'].toFixed(2));
compareData.push(item[val+'Compare']||''); compareData.push(item[val+'Compare']||'');
years.push(item.year) years.push(item.year)
}) })
// let compareDataMax = Math.max(...compareData)
// let compareDataMin = Math.min(...compareData)
let option = { let option = {
legend: { legend: {
show:true, show:true,
...@@ -145,7 +141,7 @@ export default { ...@@ -145,7 +141,7 @@ export default {
yAxis: [ yAxis: [
{ {
type: 'value', type: 'value',
min:0, // min:0,
splitLine : { //网格线 splitLine : { //网格线
lineStyle: { lineStyle: {
type: 'dashed' //设置网格线类型 dotted:虚线 solid:实线 type: 'dashed' //设置网格线类型 dotted:虚线 solid:实线
...@@ -156,7 +152,7 @@ export default { ...@@ -156,7 +152,7 @@ export default {
type: 'value', type: 'value',
// min:'dataMin', // min:'dataMin',
// max:'dataMax', // max:'dataMax',
// interval:compareData.length, // interval:((compareDataMax-compareDataMin)/5).toFixed(2),
splitLine : { //网格线 splitLine : { //网格线
show:false show:false
}, },
...@@ -193,7 +189,7 @@ export default { ...@@ -193,7 +189,7 @@ export default {
color: "#0081FF" color: "#0081FF"
}, },
type: 'line', type: 'line',
// yAxisIndex: 1, yAxisIndex: 1,
data: compareData data: compareData
}, },
], ],
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
<tables <tables
:tableLoading="tableLoading" :tableLoading="tableLoading"
:tableData="tableData" :tableData="tableData"
:tableDataTotal="tableDataTotal"
:forData="forData" :forData="forData"
:isIndex="false" :isIndex="false"
:queryParams="queryParams" :queryParams="queryParams"
......
<template>
<el-skeleton animated>
<template slot="template">
<el-skeleton-item variant="text" style="width: 60%;"/>
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 60%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
</template>
</el-skeleton>
</template>
<script>
export default {
name: 'skeleton'
}
</script>
<style lang="scss" scoped>
.el-skeleton__item{
height: 20px;
border-radius: 0;
margin: 9px 0;
background: #f0f0f0;
}
</style>
...@@ -164,9 +164,9 @@ export default { ...@@ -164,9 +164,9 @@ export default {
list.push(item); list.push(item);
} }
this.data=list; this.data=list;
if(list.length > 0){ // if(list.length > 0){
this.initChart() this.initChart()
} // }
} }
}) })
}, },
......
...@@ -7,57 +7,57 @@ ...@@ -7,57 +7,57 @@
<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="Number(getMoneyNum(recentlyYear.gdpGrowth)) > 0" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(recentlyYear.gdpCompare) > 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>
<div class="item-text up" v-if="Number(recentlyYear.gdpGrowth) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gdpGrowth}}%</span></div> <div class="item-text up" v-if="Number(recentlyYear.gdpCompare) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gdpCompare}}亿</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.gdpGrowth).toFixed(2).toString().substring(1)}}%</span></div> <div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.gdpCompare).toString().substring(1)}}亿</span></div>
</div> </div>
<div class="item"> <div class="item">
<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="(Number(getMoneyNum(recentlyYear.gdpGrowth))-Number(getMoneyNum(nextYearMap.gdpGrowth))) > 0" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(recentlyYear.gdpGrowthCompare) > 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>
<div class="item-text up" v-if="(Number(getMoneyNum(recentlyYear.gdpGrowth))-Number(getMoneyNum(nextYearMap.gdpGrowth))) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gdpGrowthCompare}}%</span></div> <div class="item-text up" v-if="Number(recentlyYear.gdpGrowthCompare) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gdpGrowthCompare}}%</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.gdpGrowthCompare).toFixed(2).toString().substring(1)}}%</span></div> <div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.gdpGrowthCompare).toString().substring(1)}}%</span></div>
</div> </div>
<div class="item"> <div class="item">
<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="Number(getMoneyNum(recentlyYear.populationGrowthRate)) > 0" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(recentlyYear.populationCompare) > 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>
<div class="item-text up" v-if="Number(recentlyYear.populationGrowthRate) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.populationGrowthRate}}%</span></div> <div class="item-text up" v-if="Number(recentlyYear.populationCompare) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.populationCompare}}</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.populationGrowthRate).toFixed(2).toString().substring(1)}}%</span></div> <div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.populationCompare).toString().substring(1)}}</span></div>
</div> </div>
<div class="item"> <div class="item">
<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="Number(getMoneyNum(recentlyYear.gbrGrowth)) > 0" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(recentlyYear.gbrCompare) > 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>
<div class="item-text up" v-if="Number(recentlyYear.gbrGrowth) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gbrGrowth}}%</span></div> <div class="item-text up" v-if="Number(recentlyYear.gbrCompare) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gbrCompare}}亿</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.gbrGrowth).toFixed(2).toString().substring(1)}}%</span></div> <div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.gbrCompare).toString().substring(1)}}亿</span></div>
</div> </div>
<div class="item"> <div class="item">
<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="Number(getMoneyNum(recentlyYear.govDebtBalance)) > Number(getMoneyNum(nextYearMap.govDebtBalance))" src="@/assets/images/economies/icon_up.png"> <img v-if="Number(recentlyYear.govDebtBalanceCompare) > 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="echartsYE" style="height: 75px;"></div> <div id="echartsYE" style="height: 75px;"></div>
<div class="item-text up" v-if="Number(getMoneyNum(recentlyYear.govDebtBalance)) > Number(getMoneyNum(nextYearMap.govDebtBalance))"> <div class="item-text up" v-if="Number(recentlyYear.govDebtBalanceCompare) > 0">
{{nextYearMap.year}}年上升<span>{{recentlyYear.govDebtBalanceCompare}}%</span></div> {{nextYearMap.year}}年上升<span>{{recentlyYear.govDebtBalanceCompare}}亿</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{recentlyYear.govDebtBalanceCompare}}%</span></div> <div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.govDebtBalanceCompare).toString().substring(1)}}亿</span></div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -24,16 +24,16 @@ ...@@ -24,16 +24,16 @@
</el-input> </el-input>
<span class="total">{{tableDataTotal}}</span> <span class="total">{{tableDataTotal}}</span>
</div> </div>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="table-item"> <div class="table-item">
<el-table <el-table
v-loading="tableLoading"
:data="tableData" :data="tableData"
element-loading-text="Loading" element-loading-text="Loading"
border border
fit fit
@sort-change="sortChange" @sort-change="sortChange"
highlight-current-row highlight-current-row
v-if="tableDataTotal > 0" v-if="tableDataTotal > 0 && !isSkeleton"
:default-sort = "{prop: 'skyCount', order: 'descending'}" :default-sort = "{prop: 'skyCount', order: 'descending'}"
> >
<el-table-column label="序号" width="60" align="left" fixed> <el-table-column label="序号" width="60" align="left" fixed>
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="empty" v-if="tableDataTotal === 0"> <div class="empty" v-if="tableDataTotal === 0 && !isSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div> <div class="p2">建议调整关键词或筛选条件,重新搜索</div>
...@@ -92,10 +92,10 @@ ...@@ -92,10 +92,10 @@
import aptitudeCode from '@/assets/json/aptitudeCode' import aptitudeCode from '@/assets/json/aptitudeCode'
import { enterprise,location,getUipIdByCid } from '@/api/macro/macro' import { enterprise,location,getUipIdByCid } from '@/api/macro/macro'
import Region from '../component/region' import Region from '../component/region'
import skeleton from '../component/skeleton'
export default { export default {
name: 'Enterprises', name: 'Enterprises',
components: {Region}, components: {Region,skeleton},
data() { data() {
return { return {
encodeStr, encodeStr,
...@@ -124,6 +124,7 @@ export default { ...@@ -124,6 +124,7 @@ export default {
provinceId:'', provinceId:'',
show_page:true, show_page:true,
MaxPage:500, MaxPage:500,
isSkeleton:true
} }
}, },
created() { created() {
...@@ -166,6 +167,7 @@ export default { ...@@ -166,6 +167,7 @@ export default {
this.aptitudeCodeList=aptitudeCode this.aptitudeCodeList=aptitudeCode
}, },
async querySubmit(){ async querySubmit(){
this.isSkeleton = true;
const params = { pageNum: this.pageIndex, pageSize: this.pageSize} const params = { pageNum: this.pageIndex, pageSize: this.pageSize}
if(this.queryParams.field){ if(this.queryParams.field){
params.field=this.queryParams.field params.field=this.queryParams.field
...@@ -192,6 +194,7 @@ export default { ...@@ -192,6 +194,7 @@ export default {
params.aptitudeQueryDto.aptitudeDtoList=aptitudeType params.aptitudeQueryDto.aptitudeDtoList=aptitudeType
} }
enterprise(params).then(res => { enterprise(params).then(res => {
this.isSkeleton = false
if(res.code === 200){ if(res.code === 200){
this.tableData=res.data.list; this.tableData=res.data.list;
this.tableDataTotal=res.data.total; this.tableDataTotal=res.data.total;
......
...@@ -28,16 +28,16 @@ ...@@ -28,16 +28,16 @@
<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div> </div>
</div> </div>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="table-item"> <div class="table-item">
<el-table <el-table
v-loading="tableLoading"
class="fixed-table" class="fixed-table"
:data="tableData" :data="tableData"
element-loading-text="Loading" element-loading-text="Loading"
@sort-change="sortChange" @sort-change="sortChange"
border border
highlight-current-row highlight-current-row
v-if="tableDataTotal > 0" v-if="tableDataTotal > 0 && !isSkeleton"
:default-sort = "{prop: 'gdp', order: 'descending'}" :default-sort = "{prop: 'gdp', order: 'descending'}"
> >
<el-table-column label="序号" width="60" align="left" fixed> <el-table-column label="序号" width="60" align="left" fixed>
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
<el-table-column label="社会消费品零售总额(亿元)" prop="trscg" :formatter="formatStatus" width="160" align="right"></el-table-column> <el-table-column label="社会消费品零售总额(亿元)" prop="trscg" :formatter="formatStatus" width="160" align="right"></el-table-column>
<el-table-column label="城镇居民人均可支配收入(元)" prop="urbanPcdi" :formatter="formatStatus" width="160" align="right"></el-table-column> <el-table-column label="城镇居民人均可支配收入(元)" prop="urbanPcdi" :formatter="formatStatus" width="160" align="right"></el-table-column>
</el-table> </el-table>
<div class="empty" v-if="tableDataTotal === 0"> <div class="empty" v-if="tableDataTotal === 0 && !isSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div> <div class="p2">建议调整关键词或筛选条件,重新搜索</div>
...@@ -117,11 +117,12 @@ ...@@ -117,11 +117,12 @@
import { nationalPage,getYears } from '@/api/macro/macro' import { nationalPage,getYears } from '@/api/macro/macro'
import dataRegion from '@/assets/json/dataRegion' import dataRegion from '@/assets/json/dataRegion'
import economiesDetail from './economies-detail' import economiesDetail from './economies-detail'
import skeleton from '../../component/skeleton'
import axios from 'axios' import axios from 'axios'
export default { export default {
name: 'NationalEconomies', name: 'NationalEconomies',
components: { components: {
economiesDetail economiesDetail,skeleton
}, },
data() { data() {
return { return {
...@@ -142,7 +143,8 @@ ...@@ -142,7 +143,8 @@
pageSize: 20, pageSize: 20,
tableDataTotal: null, tableDataTotal: null,
show_page:true, show_page:true,
MaxPage:500 MaxPage:500,
isSkeleton:true
} }
}, },
created() { created() {
...@@ -227,7 +229,7 @@ ...@@ -227,7 +229,7 @@
}, },
// 查询提交 // 查询提交
async querySubmit() { async querySubmit() {
this.tableLoading = true this.isSkeleton = true
const params = { pageNum: this.pageIndex, pageSize: this.pageSize, year: this.queryParams.year,type:1 } const params = { pageNum: this.pageIndex, pageSize: this.pageSize, year: this.queryParams.year,type:1 }
if(this.queryParams.address){ if(this.queryParams.address){
let arr = this.$refs.address.getCheckedNodes(); let arr = this.$refs.address.getCheckedNodes();
...@@ -272,7 +274,7 @@ ...@@ -272,7 +274,7 @@
} }
nationalPage(params).then(res => { nationalPage(params).then(res => {
this.tableLoading = false this.isSkeleton = false
this.tableData = res.data.list; this.tableData = res.data.list;
this.tableDataTotal = res.data.totalCount this.tableDataTotal = res.data.totalCount
}) })
......
...@@ -144,8 +144,9 @@ ...@@ -144,8 +144,9 @@
<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div> </div>
</div> </div>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="table-item"> <div class="table-item">
<div v-if="tableDataTotal > 0"> <div v-if="tableDataTotal > 0 && !isSkeleton">
<el-table <el-table
v-loading="tableLoading" v-loading="tableLoading"
:data="tableData" :data="tableData"
...@@ -234,7 +235,7 @@ ...@@ -234,7 +235,7 @@
<!--<el-table-column prop="bl" label="开发区类别" width="160" />--> <!--<el-table-column prop="bl" label="开发区类别" width="160" />-->
</el-table> </el-table>
</div> </div>
<div class="empty" v-if="tableDataTotal === 0"> <div class="empty" v-if="tableDataTotal === 0 && !isSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div> <div class="p2">建议调整关键词或筛选条件,重新搜索</div>
...@@ -282,6 +283,7 @@ ...@@ -282,6 +283,7 @@
<script> <script>
import {encodeStr} from "@/assets/js/common.js" import {encodeStr} from "@/assets/js/common.js"
import skeleton from '../component/skeleton'
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"
...@@ -291,7 +293,7 @@ ...@@ -291,7 +293,7 @@
export default { export default {
name: 'Urban', name: 'Urban',
components: { components: {
Region Region,skeleton
}, },
data() { data() {
return { return {
...@@ -336,7 +338,7 @@ export default { ...@@ -336,7 +338,7 @@ export default {
dataQuery:{}, dataQuery:{},
province:'', province:'',
provinceId:[], provinceId:[],
fixed: false, isSkeleton:true
} }
}, },
watch:{ watch:{
...@@ -452,7 +454,8 @@ export default { ...@@ -452,7 +454,8 @@ export default {
}, },
// 查询提交 // 查询提交
async querySubmit() { async querySubmit() {
this.tableLoading = true // this.tableLoading = true;
this.isSkeleton = true
const params = { pageNum: this.pageIndex, pageSize: this.pageSize,type:Number(this.queryParams.radio)} const params = { pageNum: this.pageIndex, pageSize: this.pageSize,type:Number(this.queryParams.radio)}
const param={} const param={}
// if(this.queryParams.address.length > 0){ // if(this.queryParams.address.length > 0){
...@@ -529,7 +532,7 @@ export default { ...@@ -529,7 +532,7 @@ export default {
} }
urbanInvestmentPage(params).then(res => { urbanInvestmentPage(params).then(res => {
this.tableLoading = false this.isSkeleton = false
this.tableData = res.data.list; this.tableData = res.data.list;
this.tableDataTotal = res.data.totalCount this.tableDataTotal = res.data.totalCount
}) })
......
<template> <template>
<div> <div>
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="cardtitles">基本信息</div> <div class="cardtitles">联系人</div>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton> <skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="tables" v-else> <div class="tables" v-else>
......
...@@ -359,28 +359,20 @@ export default { ...@@ -359,28 +359,20 @@ export default {
value: "今天", value: "今天",
}, },
{ {
label: "近3日", label: "未来3天",
value: "近3日", value: "未来3天",
},
{
label: "近7日",
value: "近7日",
},
{
label: "近1个月",
value: "近1个月",
}, },
{ {
label: "近3个月", label: "未来7天",
value: "近3个月", value: "未来7天",
}, },
{ {
label: "近半年", label: "未来1个月",
value: "近半年", value: "未来1个月",
}, },
{ {
label: "近1年", label: "未来3个月",
value: "近1年", value: "未来3个月",
}, },
], ],
PlanTenderDateValue: "", PlanTenderDateValue: "",
...@@ -746,58 +738,30 @@ export default { ...@@ -746,58 +738,30 @@ export default {
startTime = Year + "-" + Month +"-" + Day; startTime = Year + "-" + Month +"-" + Day;
endTime = Year + "-" + Month + "-" + Day; endTime = Year + "-" + Month + "-" + Day;
break; break;
case "近3日": case "未来3天":
endTime = Year + "-" + Month + "-" + Day; startTime = Year + "-" + Month + "-" + Day;
if (Day > 3) { endTime = this.getDate(3)
startTime = Year + "-" + Month + "-" +(Day-3);
} else {
let newTime = datetime.getTime()-3*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break; break;
case "近7日": case "未来7天":
endTime = Year + "-" + Month + "-" + Day; startTime = Year + "-" + Month + "-" + Day;
if (Day > 7) { endTime = this.getDate(7)
startTime = Year + "-" + Month + "-" +(Day-7);
} else {
let newTime = datetime.getTime()-7*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近1个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 1) {
startTime = Year + "-" + (Month - 1) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 1) + "-1";
}
break; break;
case "近3个月": case "未来1个月":
endTime = Year + "-" + Month + "-" + Day; startTime = Year + "-" + Month + "-" + Day;
if (Month > 3) { if (Month == 12) {
startTime = Year + "-" + (Month - 3) + "-1"; endTime = Year+1 + "-01-" + + Day;
} else { } else {
startTime = Year - 1 + "-" + (12 + Month - 3) + "-1"; endTime = Year + "-" + (Month + 1) + "-" + Day;
} }
break; break;
case "近半年": case "未来3个月":
endTime = Year + "-" + Month + "-" + Day; startTime = Year + "-" + Month + "-" + Day;
if (Month > 6) { if (Month >9) {
startTime = Year + "-" + (Month - 6) + "-1"; endTime = Year+1 + "-" + Month-9 + "-" + + Day;
} else { } else {
startTime = Year - 1 + "-" + (12 + Month - 6) + "-1"; endTime = Year + "-" + (Month + 3) + "-" + Day;
} }
break; break;
case "近1年":
startTime = Year - 1 + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "自定义": case "自定义":
if (!this.PlanTenderDate) { if (!this.PlanTenderDate) {
this.PlanTenderDateValue = ""; this.PlanTenderDateValue = "";
...@@ -839,6 +803,13 @@ export default { ...@@ -839,6 +803,13 @@ export default {
} }
this.jskBidPlanDto = obj; this.jskBidPlanDto = obj;
}, },
getDate(n){
let date1 = new Date();
let date2 = new Date(date1);
date2.setDate(date1.getDate() + n);
let time2 = date2.getFullYear() + "-" + ("0" + (date2.getMonth() + 1)).slice(-2) + "-" + ("0" + date2.getDate()).slice(-2);
return time2
},
changeIssueTime(type) { changeIssueTime(type) {
if(type=='bid'&&this.tenderDate){ if(type=='bid'&&this.tenderDate){
this.tenderDateValue = "自定义"; this.tenderDateValue = "自定义";
......
...@@ -20,5 +20,9 @@ public class CustomerStatusListVo implements Serializable { ...@@ -20,5 +20,9 @@ public class CustomerStatusListVo implements Serializable {
* 城投id * 城投id
*/ */
private String uipId; private String uipId;
/**
* 企业名称
*/
private String companyName;
} }
...@@ -28,6 +28,8 @@ public interface CustomerMapper extends BaseMapper<Customer> { ...@@ -28,6 +28,8 @@ public interface CustomerMapper extends BaseMapper<Customer> {
List<CustomerStatusListVo> selectStatusList(@Param("uipIds") List<String> uipIds, @Param("userId") Long userId); List<CustomerStatusListVo> selectStatusList(@Param("uipIds") List<String> uipIds, @Param("userId") Long userId);
List<CustomerStatusListVo> selectStatusListByCompanyName(@Param("companyNames") List<String> companyNames, @Param("userId") Long userId);
// List<String> selectUipIdList(@Param("uipIds") List<String> uipIds, @Param("userId") Long userId); // List<String> selectUipIdList(@Param("uipIds") List<String> uipIds, @Param("userId") Long userId);
} }
......
...@@ -29,6 +29,8 @@ public interface ICustomerService { ...@@ -29,6 +29,8 @@ public interface ICustomerService {
List<CustomerStatusListVo> selectStatusList(List<String> uipIds); List<CustomerStatusListVo> selectStatusList(List<String> uipIds);
List<CustomerStatusListVo> selectStatusListByCompanyName(List<String> companyNames);
// List<String> selectUipIdList(List<String> uipIds); // List<String> selectUipIdList(List<String> uipIds);
Integer status(String companyName); Integer status(String companyName);
......
...@@ -119,6 +119,11 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -119,6 +119,11 @@ public class CustomerServiceImpl implements ICustomerService {
return baseMapper.selectStatusList(uipIds, SecurityUtils.getUserId()); return baseMapper.selectStatusList(uipIds, SecurityUtils.getUserId());
} }
@Override
public List<CustomerStatusListVo> selectStatusListByCompanyName(List<String> companyNames) {
return baseMapper.selectStatusListByCompanyName(companyNames, SecurityUtils.getUserId());
}
// @Override // @Override
// public List<String> selectUipIdList(List<String> uipIds) { // public List<String> selectUipIdList(List<String> uipIds) {
......
...@@ -58,6 +58,17 @@ ...@@ -58,6 +58,17 @@
</foreach> </foreach>
</select> </select>
<select id="selectStatusListByCompanyName" resultType="com.dsk.system.domain.customer.vo.CustomerStatusListVo">
select
ct.customer_id, ct.company_name
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId} and ctu.status = 0 and ct.company_name in
<foreach collection="companyNames" item="companyName" open="(" separator="," close=")">
#{companyName}
</foreach>
</select>
<!-- <select id="selectUipIdList" resultType="java.lang.String">--> <!-- <select id="selectUipIdList" resultType="java.lang.String">-->
<!-- select--> <!-- select-->
<!-- ct.uip_id--> <!-- ct.uip_id-->
......
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