Commit 346495d3 authored by 远方不远's avatar 远方不远
parents 8707a653 ac899120
...@@ -25,6 +25,14 @@ public class BusinessOpportunityRadarController { ...@@ -25,6 +25,14 @@ public class BusinessOpportunityRadarController {
@Resource @Resource
BusinessOpportunityRadarService opportunityRadarService; BusinessOpportunityRadarService opportunityRadarService;
/*
* 公招标讯
*/
@RequestMapping("/jskBidPage")
public AjaxResult jskBidPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.jskBidPage(compose);
}
/* /*
* 土地交易 * 土地交易
*/ */
...@@ -82,4 +90,20 @@ public class BusinessOpportunityRadarController { ...@@ -82,4 +90,20 @@ public class BusinessOpportunityRadarController {
public AjaxResult getCapitalSourceSelect() { public AjaxResult getCapitalSourceSelect() {
return opportunityRadarService.getCapitalSourceSelect(); return opportunityRadarService.getCapitalSourceSelect();
} }
/*
* 推荐关键词
*/
@RequestMapping("/keywordList")
public AjaxResult keywordList() {
return opportunityRadarService.keywordList();
}
/*
* 招标来源网站
*/
@RequestMapping("/bidSourceList")
public AjaxResult bidSourceList(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.bidSourceList(compose);
}
} }
...@@ -15,7 +15,10 @@ public interface BusinessOpportunityRadarService { ...@@ -15,7 +15,10 @@ public interface BusinessOpportunityRadarService {
AjaxResult jskBidNewsPage(ComposeQueryDto compose); AjaxResult jskBidNewsPage(ComposeQueryDto compose);
AjaxResult jskBidTenderPage(ComposeQueryDto compose); AjaxResult jskBidTenderPage(ComposeQueryDto compose);
AjaxResult jskBidPage(ComposeQueryDto compose);
AjaxResult landMarketPage(ComposeQueryDto compose); AjaxResult landMarketPage(ComposeQueryDto compose);
AjaxResult establishmentPage(ComposeQueryDto compose); AjaxResult establishmentPage(ComposeQueryDto compose);
AjaxResult enterpriseIndex(ComposeQueryDto compose); AjaxResult enterpriseIndex(ComposeQueryDto compose);
...@@ -30,4 +33,8 @@ public interface BusinessOpportunityRadarService { ...@@ -30,4 +33,8 @@ public interface BusinessOpportunityRadarService {
AjaxResult getCapitalSourceSelect(); AjaxResult getCapitalSourceSelect();
AjaxResult keywordList();
AjaxResult bidSourceList(ComposeQueryDto compose);
} }
...@@ -44,6 +44,12 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR ...@@ -44,6 +44,12 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override
public AjaxResult jskBidPage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/page", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override @Override
public AjaxResult landMarketPage(ComposeQueryDto compose) { public AjaxResult landMarketPage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/landMarket/page", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/landMarket/page", BeanUtil.beanToMap(compose, false, false));
...@@ -88,4 +94,16 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR ...@@ -88,4 +94,16 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/getCapitalSourceSelect", null); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/getCapitalSourceSelect", null);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override
public AjaxResult keywordList() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/project/keywordList", null);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult bidSourceList(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/source", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
} }
...@@ -307,6 +307,11 @@ ul, li { ...@@ -307,6 +307,11 @@ ul, li {
background: #F0F3FA; background: #F0F3FA;
} }
} }
.el-table__fixed{
box-shadow:none;
height: auto !important;
bottom: 12px;
}
.caret-wrapper{ .caret-wrapper{
width: 10px; width: 10px;
} }
......
...@@ -686,6 +686,7 @@ ...@@ -686,6 +686,7 @@
>img{ >img{
margin-left: 16px; margin-left: 16px;
cursor: pointer; cursor: pointer;
width: 20px;
} }
} }
} }
...@@ -1050,7 +1051,7 @@ ...@@ -1050,7 +1051,7 @@
transform: rotateX(180deg); transform: rotateX(180deg);
width: 9px; width: 9px;
height: 11px; height: 11px;
margin: 4px 2px 0 10px; margin: 6px 2px 0 10px;
} }
} }
} }
...@@ -1125,3 +1126,7 @@ ...@@ -1125,3 +1126,7 @@
.el-popper[x-placement^=bottom]{ .el-popper[x-placement^=bottom]{
margin-top: 0 !important; margin-top: 0 !important;
} }
.el-dialog__body{
padding-top: 14px;
padding-bottom: 18px;
}
...@@ -353,10 +353,9 @@ select { ...@@ -353,10 +353,9 @@ select {
width: 100px; width: 100px;
display: inline-block; display: inline-block;
margin: 0px 8px; margin: 0px 8px;
}
.el-input__inner { .jabph_popper_box .jabph_popper_wrap .jabph_popper_input .el-input__inner {
width: 100px; width: 100px;
}
} }
.jabph_popper_box div:last-child { .jabph_popper_box div:last-child {
...@@ -593,7 +592,7 @@ select { ...@@ -593,7 +592,7 @@ select {
max-width: 380px; max-width: 380px;
max-height: 400px; max-height: 400px;
overflow: auto; overflow: auto;
box-shadow: none; box-shadow: none;
border-radius: 0; border-radius: 0;
background-color: #fff; background-color: #fff;
...@@ -690,7 +689,7 @@ select { ...@@ -690,7 +689,7 @@ select {
padding-right: 16px; padding-right: 16px;
display: block; display: block;
margin: 0; margin: 0;
} }
.select-list .el-radio .el-radio__label:hover { .select-list .el-radio .el-radio__label:hover {
...@@ -725,4 +724,4 @@ select { ...@@ -725,4 +724,4 @@ select {
} }
.checkbox .checkbox-content .checkbox-content-qx{ .checkbox .checkbox-content .checkbox-content-qx{
margin-right: 30px; margin-right: 30px;
} }
\ No newline at end of file
...@@ -74,6 +74,7 @@ ...@@ -74,6 +74,7 @@
<!-- 地区选择 --> <!-- 地区选择 -->
<template v-else-if="form.type==7"> <template v-else-if="form.type==7">
<el-cascader <el-cascader
ref="cascader"
:options="form.options" :options="form.options"
:props="form.props" :props="form.props"
v-model="form.value" v-model="form.value"
......
<template> <template>
<div class="detail-container"> <div class="detail-container">
<head-form <head-form
ref="headForm"
title="招标公告" title="招标公告"
:form-data="formData" :form-data="formData"
:query-params="queryParams" :query-params="queryParams"
...@@ -129,22 +130,25 @@ export default { ...@@ -129,22 +130,25 @@ export default {
}, },
getAreaList(params){ getAreaList(params){
if(params.province&&params.province.length>0){ if(params.province&&params.province.length>0){
let arr = this.$refs.headForm.$refs.cascader[0].getCheckedNodes()
let provinceIds = [], cityIds = [], areaIds = [] let provinceIds = [], cityIds = [], areaIds = []
for(let i=0;i<params.province.length;i++){ for (var i in arr) {
params.province[i][0]?provinceIds.push(params.province[i][0]):'' if (arr[i].parent) {
params.province[i][1]?cityIds.push(params.province[i][1]):'' if (!arr[i].parent.checked) {
params.province[i][2]?areaIds.push(params.province[i][2]):'' if(arr[i].hasChildren || arr[i].level==2){
cityIds.push(arr[i].value)
}else{
areaIds.push(arr[i].value)
}
}
} else {
provinceIds.push(arr[i].value)
}
} }
delete params.province delete params.province
params.provinceIds = provinceIds.filter(function(value,index,self){ provinceIds.length>0?params.provinceIds = provinceIds:''
return self.indexOf(value) === index cityIds.length>0?params.cityIds = cityIds:''
}) areaIds.length>0?params.areaIds = areaIds:''
params.cityIds = cityIds.filter(function(value,index,self){
return self.indexOf(value) === index
})
params.areaIds = areaIds.filter(function(value,index,self){
return self.indexOf(value) === index
})
} }
return params return params
} }
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
</div> </div>
</div> </div>
<div class="company-menu"> <div class="company-menu">
<el-button @click="handleClaim" v-if="ifClaim==1" class="hasClaim" v-loading="claimLoading"><i class="el-ico-claim" alt="已认领" title="已认领"></i> 已认领</el-button> <el-button v-if="ifClaim==1" class="hasClaim" v-loading="claimLoading"><i class="el-ico-claim" alt="已认领" title="已认领"></i> 已认领</el-button>
<el-button @click="handleClaim" v-else class="claim" v-loading="claimLoading"><i class="el-ico-claim" alt="认领客户" title="认领客户"></i> 认领客户</el-button> <el-button @click="handleClaim" v-else class="claim" v-loading="claimLoading"><i class="el-ico-claim" alt="认领客户" title="认领客户"></i> 认领客户</el-button>
</div> </div>
......
...@@ -15,14 +15,14 @@ export default { ...@@ -15,14 +15,14 @@ export default {
loading: false, // 是否加载中 loading: false, // 是否加载中
iframeHight: window.innerHeight, // iframe高度 iframeHight: window.innerHeight, // iframe高度
scrollTop: 0, // 滚动条距离内部页面顶部距离 scrollTop: 0, // 滚动条距离内部页面顶部距离
secretId: '' // 需要携带的sdkId ak: 'aec7b3ff2y2q8x6t49a7e2c463ce21912' // 需要携带的sdkId
} }
}, },
created() { created() {
if (this.$route.params.id) { // 获取companyId if (this.$route.params.id) { // 获取companyId
this.loading = true this.loading = true
// this.src = `https://pre-plug.jiansheku.com/enterprise/${this.$route.params.id}?secretId=${this.secretId}` this.src = `https://pre-plug.jiansheku.com/enterprise/${this.$route.params.id}?ak=${this.ak}`
this.src = `http://192.168.60.30:3300/enterprise/${this.$route.params.id}` // this.src = `http://192.168.60.30:3300/enterprise/${this.$route.params.id}?ak=aec7b3ff2y2q8x6t49a7e2c463ce21912`
} }
}, },
mounted() { mounted() {
......
...@@ -774,6 +774,9 @@ export default { ...@@ -774,6 +774,9 @@ export default {
] ]
} }
myChart.setOption(option); myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
}, },
initChart1(){ initChart1(){
var rankPic = [ var rankPic = [
...@@ -910,6 +913,9 @@ export default { ...@@ -910,6 +913,9 @@ export default {
], ],
} }
myChart.setOption(option); myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
}, },
handleClickTab(){ handleClickTab(){
...@@ -1430,6 +1436,7 @@ export default { ...@@ -1430,6 +1436,7 @@ export default {
line-height: 32px; line-height: 32px;
background: #F3F3F4; background: #F3F3F4;
padding-left: 37px; padding-left: 37px;
border: 0;
} }
.el-icon-search{ .el-icon-search{
font-size: 16px; font-size: 16px;
......
...@@ -169,7 +169,7 @@ export default { ...@@ -169,7 +169,7 @@ export default {
.content{ .content{
width: 1320px; width: 1320px;
margin: 0 auto; margin: 0 auto;
padding-top: 160px; /*padding-top: 180px;*/
} }
.left{ .left{
float: left; float: left;
...@@ -177,13 +177,14 @@ export default { ...@@ -177,13 +177,14 @@ export default {
margin-right: 170px; margin-right: 170px;
} }
.logo{ .logo{
width: 317px; width: 253px;
height: 69px; height: 55px;
margin-bottom: 58px; margin-bottom: 53px;
margin-left: 127px;
} }
.img{ .img{
width: 730px; width: 662px;
height: 624px; height: 566px;
} }
} }
.title { .title {
...@@ -221,6 +222,7 @@ export default { ...@@ -221,6 +222,7 @@ export default {
} }
.el-input__inner{ .el-input__inner{
padding-left: 73px; padding-left: 73px;
border: 0;
} }
} }
.el-input__prefix{ .el-input__prefix{
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
<el-tab-pane label="产业结构" name="third"></el-tab-pane> <el-tab-pane label="产业结构" name="third"></el-tab-pane>
<el-tab-pane label="地区经济对比" name="four"></el-tab-pane> <el-tab-pane label="地区经济对比" name="four"></el-tab-pane>
</el-tabs> </el-tabs>
<div class="location"><i class="el-icon-location"></i>{{province}}</div> <div class="location">
<span><i class="el-icon-location"></i>{{province}}</span>
<el-cascader ref="address" class="cascader-region" popper-class='cascader-region-addd'
@input="addressListbtn" v-model="address" :options="addressList" :props="props" collapse-tags></el-cascader>
</div>
</div> </div>
<RegionalEconomy v-if="activeName === 'first' && province" :dataQuery="dataQuery"></RegionalEconomy> <RegionalEconomy v-if="activeName === 'first' && province" :dataQuery="dataQuery"></RegionalEconomy>
<LocalEconomy v-if="activeName === 'second' && province" :dataQuery="dataQuery"></LocalEconomy> <LocalEconomy v-if="activeName === 'second' && province" :dataQuery="dataQuery"></LocalEconomy>
...@@ -22,6 +26,7 @@ ...@@ -22,6 +26,7 @@
import Comparison from './component/comparison' import Comparison from './component/comparison'
import IndustrialStructure from './component/industrialStructure' import IndustrialStructure from './component/industrialStructure'
import { location } from '@/api/macro/macro' import { location } from '@/api/macro/macro'
import dataRegion from '@/assets/json/dataRegion'
export default { export default {
name: 'Economies', name: 'Economies',
components: { components: {
...@@ -34,7 +39,14 @@ export default { ...@@ -34,7 +39,14 @@ export default {
return { return {
activeName: 'first', activeName: 'first',
dataQuery:{}, dataQuery:{},
province:'' province:'',
props: {
value: 'id',
label: 'label',
checkStrictly: true
},
addressList: [],
address:''
} }
}, },
created() { created() {
...@@ -47,11 +59,11 @@ export default { ...@@ -47,11 +59,11 @@ export default {
this.dataQuery.province=this.province this.dataQuery.province=this.province
} }
}) })
console.log(this.dataQuery)
if(this.dataQuery.activeName){ if(this.dataQuery.activeName){
this.activeName=this.dataQuery.activeName; this.activeName=this.dataQuery.activeName;
} }
this.dataRegion()
// let name = sessionStorage.getItem('currentTab') // let name = sessionStorage.getItem('currentTab')
// if (name != "undefined" && name){ // if (name != "undefined" && name){
// this.activeName = name; // this.activeName = name;
...@@ -64,6 +76,64 @@ export default { ...@@ -64,6 +76,64 @@ export default {
this.activeName='four' this.activeName='four'
} }
// sessionStorage.setItem('currentTab', this.activeName) // sessionStorage.setItem('currentTab', this.activeName)
},
//地区
async dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
var str = [];
for (let x = 0; x < 3; x++) {
for (let i = 0; i < dataRegion.length; i++) {
if (dataRegion[i].regionLevel == x + 1 && x + 1 == 1) {
str.push({
'id': dataRegion[i].id,
"label": dataRegion[i].regionName,
"short": dataRegion[i].short,
"value": dataRegion[i].parentId,
"children": []
});
} else if (dataRegion[i].regionLevel == x + 1 && x + 1 == 2) {
for (let j = 0; j < str.length; j++) {
if (str[j].id == dataRegion[i].parentId) {
str[j].children.push({
'id': dataRegion[i].id,
"label": dataRegion[i].regionName,
"short": dataRegion[i].short,
"value": dataRegion[i].parentId,
"children": []
});
}
}
} else if (dataRegion[i].regionLevel == x + 1 && x + 1 == 3) {
for (let j = 0; j < str.length; j++) {
for (let k = 0; k < str[j].children.length; k++) {
if (str[j].children[k].id == dataRegion[i].parentId) {
str[j].children[k].children.push({
'id': dataRegion[i].id,
"label": dataRegion[i].regionName,
"short": dataRegion[i].short,
"value": dataRegion[i].parentId
// "children":[]
});
}
}
}
}
}
}
this.addressList = str;
},
addressListbtn() {
let nodesObj = this.$refs.address.getCheckedNodes();
console.log(nodesObj )
console.log(this.address)
} }
} }
} }
...@@ -101,11 +171,22 @@ export default { ...@@ -101,11 +171,22 @@ export default {
} }
} }
.location{ .location{
font-size: 14px; position: relative;
color: #0081FF; span{
i{ font-size: 14px;
margin-right: 6px; cursor: pointer;
font-size: 16px; color: #0081FF;
i{
margin-right: 6px;
font-size: 16px;
}
}
.cascader-region {
position: absolute;
left: 0;
top: -6px;
opacity: 0;
line-height: 22px;
} }
} }
} }
......
...@@ -37,7 +37,8 @@ ...@@ -37,7 +37,8 @@
</el-table-column> </el-table-column>
<el-table-column label="公司名称" align="left" width="300" fixed> <el-table-column label="公司名称" align="left" width="300" fixed>
<template slot-scope="scope"> <template slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-html="scope.row.name"></router-link> <router-link v-if="scope.row.jskEid" :to="`/company/${encodeStr(scope.row.jskEid)}`" tag="a" class="a-link" v-html="scope.row.name" ></router-link>
<span v-else v-html="scope.row.name" ></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="注册地址" prop="domicile" width="150"/> <el-table-column label="注册地址" prop="domicile" width="150"/>
...@@ -68,6 +69,7 @@ ...@@ -68,6 +69,7 @@
// import LocalEnterprises from './component/localEnterprises' // import LocalEnterprises from './component/localEnterprises'
// import Offsite from './component/offsite' // import Offsite from './component/offsite'
import {encodeStr} from "@/assets/js/common.js"
import aptitudeCode from '@/assets/json/aptitudeCode' import aptitudeCode from '@/assets/json/aptitudeCode'
import { enterprise,location } from '@/api/macro/macro' import { enterprise,location } from '@/api/macro/macro'
export default { export default {
...@@ -75,6 +77,7 @@ export default { ...@@ -75,6 +77,7 @@ export default {
// components: {LocalEnterprises,Offsite}, // components: {LocalEnterprises,Offsite},
data() { data() {
return { return {
encodeStr,
activeName: 'first', activeName: 'first',
queryParams:{ queryParams:{
ename:'', ename:'',
......
...@@ -68,8 +68,8 @@ ...@@ -68,8 +68,8 @@
<template slot-scope="scope">{{ scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="type" label="地区"/> <el-table-column prop="type" label="地区"/>
<el-table-column prop="count" sortable label="招标数量"/> <el-table-column prop="count" sortable label="招标数量" align="right"/>
<el-table-column prop="rate" sortable label="占比"/> <el-table-column prop="rate" sortable label="占比" align="right"/>
</el-table> </el-table>
</div> </div>
</div> </div>
...@@ -103,8 +103,8 @@ ...@@ -103,8 +103,8 @@
<template slot-scope="scope">{{ scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="label" label="月份"/> <el-table-column prop="label" label="月份"/>
<el-table-column prop="count" sortable label="招标数量"/> <el-table-column prop="count" sortable label="招标数量" align="right"/>
<el-table-column prop="rate" sortable label="占比"/> <el-table-column prop="rate" sortable label="占比" align="right"/>
</el-table> </el-table>
</div> </div>
</div> </div>
...@@ -163,7 +163,9 @@ export default { ...@@ -163,7 +163,9 @@ export default {
value:'近五年', value:'近五年',
punishDateShowPopper: false, punishDateShowPopper: false,
punishDate: "", punishDate: "",
yearData:[] yearData:[],
myChart:'',
myChart1:'',
} }
}, },
created() { created() {
...@@ -177,8 +179,22 @@ export default { ...@@ -177,8 +179,22 @@ export default {
getYear().then(res => { getYear().then(res => {
this.yearData=res.rows; this.yearData=res.rows;
}) })
window.addEventListener("resize", this.resizeEcharts);
},
beforeDestroy(){
window.removeEventListener("resize", this.resizeEcharts);
},
activated() {
this.resizeEcharts()
}, },
methods: { methods: {
resizeEcharts (){
const self = this
setTimeout(function(){ //图表跟随页面大小变化宽度
self.myChart.resize()
self.myChart1.resize()
}, 10)
},
getDataByProvince(params){ getDataByProvince(params){
countGroupByProvince(params).then(res => { countGroupByProvince(params).then(res => {
this.tableData=res.data.provinceDate; this.tableData=res.data.provinceDate;
...@@ -199,7 +215,7 @@ export default { ...@@ -199,7 +215,7 @@ export default {
}) })
}, },
initChart() { initChart() {
let myChart = echarts.init(document.getElementById("zb-echarts")) this.myChart = echarts.init(document.getElementById("zb-echarts"))
let option = { let option = {
tooltip: { tooltip: {
trigger: 'axis', //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用 trigger: 'axis', //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用
...@@ -252,10 +268,10 @@ export default { ...@@ -252,10 +268,10 @@ export default {
} }
] ]
}; };
myChart.setOption(option); this.myChart.setOption(option);
}, },
initChart1() { initChart1() {
let myChart = echarts.init(document.getElementById("gl-echarts")) this.myChart1 = echarts.init(document.getElementById("gl-echarts"))
let dataList=this.tableData1; let dataList=this.tableData1;
let option = { let option = {
tooltip: { tooltip: {
...@@ -282,7 +298,7 @@ export default { ...@@ -282,7 +298,7 @@ export default {
{ {
data: this.tableData1.map(item => item.count), data: this.tableData1.map(item => item.count),
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 16,
itemStyle: { itemStyle: {
normal: { normal: {
barBorderRadius: [4, 4, 0, 0], barBorderRadius: [4, 4, 0, 0],
...@@ -291,12 +307,12 @@ export default { ...@@ -291,12 +307,12 @@ export default {
var colorList = [] //定义一个存储颜色的数组 var colorList = [] //定义一个存储颜色的数组
//更改前二位柱形颜色 //更改前二位柱形颜色
//定义一个变量 保存柱形图数据 因为sort方法排序会改变原数组 使用JSON方法深拷贝 将原数值暂存 //定义一个变量 保存柱形图数据 因为sort方法排序会改变原数组 使用JSON方法深拷贝 将原数值暂存
let companyValue1 = JSON.parse(JSON.stringify(dataList)) let dataArr = JSON.parse(JSON.stringify(dataList))
let arr = dataList.sort((a, b) => { let arr = dataList.sort((a, b) => {
return b.count - a.count return b.count - a.count
}) })
//将原数组数据赋值回去 保持数据不变 //将原数组数据赋值回去 保持数据不变
dataList = JSON.parse(JSON.stringify(companyValue1)) dataList = JSON.parse(JSON.stringify(dataArr))
//遍历数据 将原数组和排序后的数组比较 //遍历数据 将原数组和排序后的数组比较
dataList.map(i => { dataList.map(i => {
if (i.count == arr[0].count) { if (i.count == arr[0].count) {
...@@ -315,7 +331,7 @@ export default { ...@@ -315,7 +331,7 @@ export default {
} }
] ]
}; };
myChart.setOption(option); this.myChart1.setOption(option);
}, },
handleDate(command) { handleDate(command) {
if (command && command != "自定义") { if (command && command != "自定义") {
...@@ -433,6 +449,7 @@ export default { ...@@ -433,6 +449,7 @@ export default {
i{ i{
color:#909399; color:#909399;
margin-right: 9px; margin-right: 9px;
font-size: 14px;
} }
} }
.content1{ .content1{
...@@ -507,6 +524,9 @@ export default { ...@@ -507,6 +524,9 @@ export default {
padding: 0; padding: 0;
} }
} }
.el-table__cell.is-right{
text-align: right;
}
} }
} }
} }
......
...@@ -37,21 +37,21 @@ ...@@ -37,21 +37,21 @@
</el-table-column> </el-table-column>
<el-table-column prop="major" label="资质类型"/> <el-table-column prop="major" label="资质类型"/>
<el-table-column label="特级" align="center"> <el-table-column label="特级" align="right">
<el-table-column prop="tjCount" label="数量(个)"/> <el-table-column prop="tjCount" label="数量(个)" align="right"/>
<el-table-column prop="tjRate" label="占比(%)"/> <el-table-column prop="tjRate" label="占比(%)" align="right"/>
</el-table-column> </el-table-column>
<el-table-column label="一级" align="center"> <el-table-column label="一级" align="right">
<el-table-column prop="oneCount" label="数量(个)"/> <el-table-column prop="oneCount" label="数量(个)" align="right"/>
<el-table-column prop="oneRate" label="占比(%)"/> <el-table-column prop="oneRate" label="占比(%)" align="right"/>
</el-table-column> </el-table-column>
<el-table-column label="二级"> <el-table-column label="二级" align="right">
<el-table-column prop="twoCount" label="数量(个)"/> <el-table-column prop="twoCount" label="数量(个)" align="right"/>
<el-table-column prop="twoRate" label="占比(%)"/> <el-table-column prop="twoRate" label="占比(%)" align="right"/>
</el-table-column> </el-table-column>
<el-table-column label="三级"> <el-table-column label="三级" align="right">
<el-table-column prop="threeCount" label="数量(个)"/> <el-table-column prop="threeCount" label="数量(个)" align="right"/>
<el-table-column prop="threeRate" label="占比(%)"/> <el-table-column prop="threeRate" label="占比(%)" align="right"/>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -82,21 +82,21 @@ ...@@ -82,21 +82,21 @@
<template slot-scope="scope">{{ scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="province" label="地区"/> <el-table-column prop="province" label="地区"/>
<el-table-column label="特级" align="center"> <el-table-column label="特级" align="right">
<el-table-column prop="tjCount" label="数量(个)"/> <el-table-column prop="tjCount" label="数量(个)" align="right"/>
<el-table-column prop="tjRate" label="占比(%)"/> <el-table-column prop="tjRate" label="占比(%)" align="right"/>
</el-table-column> </el-table-column>
<el-table-column label="一级" align="center"> <el-table-column label="一级" align="right">
<el-table-column prop="oneCount" label="数量(个)"/> <el-table-column prop="oneCount" label="数量(个)" align="right"/>
<el-table-column prop="oneRate" label="占比(%)"/> <el-table-column prop="oneRate" label="占比(%)" align="right"/>
</el-table-column> </el-table-column>
<el-table-column label="二级"> <el-table-column label="二级" align="right">
<el-table-column prop="twoCount" label="数量(个)"/> <el-table-column prop="twoCount" label="数量(个)" align="right"/>
<el-table-column prop="twoRate" label="占比(%)"/> <el-table-column prop="twoRate" label="占比(%)" align="right"/>
</el-table-column> </el-table-column>
<el-table-column label="三级"> <el-table-column label="三级" align="right">
<el-table-column prop="threeCount" label="数量(个)"/> <el-table-column prop="threeCount" label="数量(个)" align="right"/>
<el-table-column prop="threeRate" label="占比(%)"/> <el-table-column prop="threeRate" label="占比(%)" align="right"/>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -124,8 +124,8 @@ ...@@ -124,8 +124,8 @@
<el-table-column label="序号" width="50" align="left"> <el-table-column label="序号" width="50" align="left">
<template slot-scope="scope">{{ scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="province" label="地区"/> <el-table-column prop="province" label="地区" />
<el-table-column prop="count" label="企业异地备案数量(个)" sortable/> <el-table-column prop="count" label="企业异地备案数量(个)" sortable align="right"/>
<!--<el-table-column prop="zb" label="占比"/>--> <!--<el-table-column prop="zb" label="占比"/>-->
</el-table> </el-table>
</div> </div>
...@@ -298,8 +298,9 @@ export default { ...@@ -298,8 +298,9 @@ export default {
}) })
areaGroupByProvince().then(res => { areaGroupByProvince().then(res => {
this.zbData=res.data; this.zbData=res.data;
//定义一个变量 保存数据 因为sort方法排序会改变原数组 使用JSON方法深拷贝 将原数值暂存
let arr=this.zbData.sort((old,New)=>{ let dataArr = JSON.parse(JSON.stringify(res.data))
let arr=res.data.sort((old,New)=>{
return New.count - old.count return New.count - old.count
}) })
let data=[] let data=[]
...@@ -307,6 +308,8 @@ export default { ...@@ -307,6 +308,8 @@ export default {
data.push(arr[i]) data.push(arr[i])
} }
this.rankList=data; this.rankList=data;
//将原数组数据赋值回去 保持数据不变
this.zbData = JSON.parse(JSON.stringify(dataArr))
this.initChart2() this.initChart2()
}) })
}, },
...@@ -363,8 +366,11 @@ export default { ...@@ -363,8 +366,11 @@ export default {
} }
] ]
} }
myChart.clear(); myChart.clear(); //图表清除
myChart.setOption(option); myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
}, },
initChart1() { initChart1() {
let myChart = echarts.init(document.getElementById("jzqy-echarts")) let myChart = echarts.init(document.getElementById("jzqy-echarts"))
...@@ -529,6 +535,9 @@ export default { ...@@ -529,6 +535,9 @@ export default {
} }
myChart.clear(); myChart.clear();
myChart.setOption(option); myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
}, },
initChart2() { initChart2() {
let myChart = echarts.init(document.getElementById("ba-echarts")) let myChart = echarts.init(document.getElementById("ba-echarts"))
...@@ -585,6 +594,9 @@ export default { ...@@ -585,6 +594,9 @@ export default {
] ]
} }
myChart.setOption(option); myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
}, },
handleClick(type,index){ handleClick(type,index){
if(type === 1){ if(type === 1){
...@@ -663,6 +675,7 @@ export default { ...@@ -663,6 +675,7 @@ export default {
i{ i{
color:#909399; color:#909399;
margin-right: 9px; margin-right: 9px;
font-size: 14px;
} }
} }
.content1{ .content1{
...@@ -778,6 +791,9 @@ export default { ...@@ -778,6 +791,9 @@ export default {
padding: 0; padding: 0;
} }
} }
.el-table__cell.is-right{
text-align: right;
}
} }
} }
} }
......
...@@ -154,15 +154,18 @@ ...@@ -154,15 +154,18 @@
</el-table-column> </el-table-column>
<el-table-column prop="companyName" label="公司名称" width="300" fixed> <el-table-column prop="companyName" label="公司名称" width="300" fixed>
<template slot-scope="scope"> <template slot-scope="scope">
<p class="companyName">{{ scope.row.companyName }}</p> <router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" class="list-titel-a companyName" v-html="scope.row.companyName" ></router-link>
<span class="table-span" style="color: #3D3D3D;" v-if="scope.row.claimStatus === 0"><img src="@/assets/images/urban/rl_icon1.png"/>认领</span> <span class="table-span" style="color: #3D3D3D;" v-if="scope.row.claimStatus === 0"><img src="@/assets/images/urban/rl_icon1.png"/>认领</span>
<span class="table-span" style="color: rgba(35,35,35,0.4);" v-if="scope.row.claimStatus === 1"><img src="@/assets/images/urban/rl_icon2.png"/>已认领</span> <span class="table-span" style="color: rgba(35,35,35,0.4);" v-if="scope.row.claimStatus === 1"><img src="@/assets/images/urban/rl_icon2.png"/>已认领</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="city" label="区域" :formatter="formatStatus" width="100"> <el-table-column prop="city" label="区域" :formatter="formatStatus" width="100">
<!--<template slot-scope="scope">--> <template slot-scope="scope">
<!--{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}--> <router-link :to="{path:'/macro/economies',query:{id:scope.row.id,provinceId:scope.row.provinceId}}" tag="a" class="a-link">
<!--</template>--> {{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}
</router-link>
<!--<span v-else>-</span>-->
</template>
</el-table-column> </el-table-column>
<el-table-column prop="biddingCount" label="招标数量" :formatter="formatStatus" sortable="custom" width="120" /> <el-table-column prop="biddingCount" label="招标数量" :formatter="formatStatus" sortable="custom" width="120" />
<el-table-column prop="landInfoCount" label="城投拿地" :formatter="formatStatus" sortable="custom" width="100" /> <el-table-column prop="landInfoCount" label="城投拿地" :formatter="formatStatus" sortable="custom" width="100" />
...@@ -233,12 +236,14 @@ ...@@ -233,12 +236,14 @@
</template> </template>
<script> <script>
import {encodeStr} from "@/assets/js/common.js"
import dataRegion from '@/assets/json/dataRegion' import dataRegion from '@/assets/json/dataRegion'
import { uipGroupData,urbanInvestmentPage,urbanInvestmentStatistics } from '@/api/macro/macro' import { uipGroupData,urbanInvestmentPage,urbanInvestmentStatistics } from '@/api/macro/macro'
export default { export default {
name: 'Urban', name: 'Urban',
data() { data() {
return { return {
encodeStr,
queryParams:{ queryParams:{
keyword:'', keyword:'',
uipExecutiveLevel:'', //行政级别 uipExecutiveLevel:'', //行政级别
......
...@@ -56,6 +56,13 @@ ...@@ -56,6 +56,13 @@
</div> </div>
<div class="recordlist" v-if="showtype=='gjdt'"> <div class="recordlist" v-if="showtype=='gjdt'">
<div class="rec_detail" v-for="(item,index) in recordlist.rows"> <div class="rec_detail" v-for="(item,index) in recordlist.rows">
<div class="delform" v-if="isdel && delID == item.id">
<div class="words">是否删除该条记录</div>
<div>
<div class="btnsmall btn_primary h28" @click="delele">确定</div>
<div class="btnsmall btn_cancel h28" @click="isdel=false">取消</div>
</div>
</div>
<div class="rec_time"> <div class="rec_time">
<i class="el-icon-time"></i> <i class="el-icon-time"></i>
...@@ -114,14 +121,6 @@ ...@@ -114,14 +121,6 @@
</div> </div>
</div> </div>
</div> </div>
<div class="delform" v-if="isdel">
<div class="words">是否删除该条记录</div>
<div>
<div class="btnsmall btn_primary h28" @click="delele">确定</div>
<div class="btnsmall btn_cancel h28" @click="isdel=false">取消</div>
</div>
</div>
</el-card> </el-card>
</div> </div>
</template> </template>
...@@ -362,13 +361,21 @@ ...@@ -362,13 +361,21 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.el-card{
overflow: initial;
}
.rec_detail{
position: relative;
}
.wc{ .wc{
position: absolute; position: absolute;
right: 0; right: 0;
bottom: 0; bottom: 0;
} }
.delform{ .delform{
position: fixed; left:50%; top:50%; transform:translate(-50%,-50%) right: 0;
top: -122px;
position: absolute;
} }
.tables{ .tables{
margin-top: -26px; margin-top: -26px;
......
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