Commit 09cc8b30 authored by MyName's avatar MyName
parents 20ea96f0 23ed1b68
...@@ -83,6 +83,12 @@ public class EnterpriseProjectController { ...@@ -83,6 +83,12 @@ public class EnterpriseProjectController {
return enterpriseProjectService.specialDebtProjectDetail(body); return enterpriseProjectService.specialDebtProjectDetail(body);
} }
@ApiOperation(value = "专项债列表")
@RequestMapping(value = "/specialDebtPage", method = RequestMethod.POST)
public TableDataInfo specialDebtPage(@RequestBody @Valid Object body) throws Exception {
return enterpriseProjectService.specialDebtPage(body);
}
@ApiOperation(value = "招标公告列表") @ApiOperation(value = "招标公告列表")
@RequestMapping(value = "/bidNoticePage",method = RequestMethod.POST) @RequestMapping(value = "/bidNoticePage",method = RequestMethod.POST)
public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception { public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception {
......
import request from '@/utils/request'
// 行政处罚列表
export function penalizePage(data) {
return request({
url: '/enterpriseCredit/penalizePage',
method: 'post',
data:data
})
}
// 行政处罚类型
export function penalizeReasonType(data) {
return request({
url: '/enterpriseCredit/penalizeReasonType',
method: 'post',
data:data
})
}
<template>
<div class="headForm">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title" v-if="title">{{ title }}</span>
<div class="headForm-from">
<div class="from-item" :key="i" v-for="(form, i) in formData">
<!-- 单选 -->
<template v-if="form.type==1">
<el-select
v-model="form.value"
clearable
class="form-content-width"
style="max-width: 110px"
:placeholder="form.placeholder"
@change="changeSelect">
<el-option v-for="(item, index) in form.options" :key="index" :label="item.name" :value="item.value" />
</el-select>
</template>
<!-- 年月日 -->
<template v-if="form.type==2">
<el-date-picker
@change="changeSelect"
class="fromTime"
style="width: 210px"
v-model="form.value"
type="daterange"
prefix-icon="fromTime-icon"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始月份"
end-placeholder="结束月份">
</el-date-picker>
</template>
<!-- 输入框 -->
<template v-if="form.type==3">
<div class="cooperate-name">
<el-input v-model="form.value" placeholder="请输入关键词"></el-input>
<span @click="changeSelect">搜索</span>
</div>
</template>
<!-- 多选 -->
<template v-if="form.type==4">
<el-select
class="form-content-width"
v-model="form.value"
multiple
collapse-tags
clearable
style="max-width: 170px"
:placeholder="form.placeholder"
@change="changeSelect">
<el-option v-for="(item, index) in form.options" :key="index" :label="item.name" :value="item.value" />
</el-select>
</template>
</div>
</div>
</div>
<template v-if="slots">
<slot name="slot"></slot>
</template>
<div v-else class="flex-box">
<span class="flex-box ability-total" v-if="isTotal">共{{ total }}条</span>
<span class="flex-box ability-excel" v-if="isExcel" @click="clickEXCEL"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div>
</div>
</div>
</template>
<script>
export default {
name: "HeadForm",
props: {
title: {
type: String,
default: ''
},
queryParams: {
type: Object,
default: {}
},
formData: {
type: Array,
default: []
},
isTotal: {
type: Boolean,
default: true
},
total: {
type: Number,
default: 0
},
isExcel: {
type: Boolean,
default: false
},
slots: {
type: Boolean,
default: false
}
},
data() {
return {
}
},
methods: {
changeSelect(){
console.log(this.formData)
this.$emit('handle-search')
},
clickEXCEL() {
this.$message({
message: '功能正在开发中',
type: 'warning'
});
}
}
}
</script>
<style lang="scss" scoped>
.headForm{
margin-bottom: 14px;
.common-title{
margin-right: 19px;
}
::v-deep .el-input__inner{
border: 1px solid #EFEFEF;
height: 32px;
line-height: 32px;
}
::v-deep .el-form-item{
margin-right: 8px !important;
}
::v-deep .el-input--medium .el-input__icon{
line-height: 32px;
}
.headForm-from {
display: flex;
.from-item{
margin-right: 8px;
&:last-child{
margin-right: 0;
}
.cooperate-name {
display: flex;
span {
width: 60px;
height: 32px;
line-height: 32px;
font-size: 14px;
background: #F5F5F5;
text-align: center;
color: #0081FF;
border: 1px solid #EFEFEF;
border-left: 0;
cursor: pointer;
}
::v-deep .el-input{
flex: 1;
}
::v-deep .el-input__inner {
border-right: 0;
border-radius: 2px 0 2px 0;
width: 259px;
}
}
.fromTime{
::v-deep .el-range-input{
width: 100%;
}
::v-deep .el-range-separator, ::v-deep .el-range__close-icon{
line-height: 24px;
width: 20px;
}
}
.fromTime-icon {
display: none;
}
}
::v-deep .form-content-width{
width: 170px;
}
}
.ability-total{
font-size: 12px;
color: #3D3D3D;
position: relative;
&:before{
content: '';
display: inline-block;
width: 2px;
height: 2px;
background: rgba(35,35,35,0.4);
margin-right: 4px;
}
}
.ability-excel{
font-size: 14px;
color: rgba(35,35,35,0.8);
margin-left: 16px;
cursor: pointer;
img{
width: 18px;
height: 18px;
margin-right: 4px;
}
}
}
</style>
...@@ -66,18 +66,18 @@ export default { ...@@ -66,18 +66,18 @@ export default {
{title: '开标记录', pathName: ''} {title: '开标记录', pathName: ''}
]}, ]},
{title: '城投分析', pathName: '', children: [ {title: '城投分析', pathName: '', children: [
{title: '区域经济', pathName: ''}, {title: '区域经济', pathName: 'regionalEconomies'},
{title: '城投那地', pathName: ''}, {title: '城投那地', pathName: 'landAcquisition'},
{title: '同地区城投', pathName: ''} {title: '同地区城投', pathName: 'sameRegion'}
]}, ]},
{title: '风险信息', pathName: '', children: [ {title: '风险信息', pathName: '', children: [
{title: '行政处罚', pathName: ''}, {title: '行政处罚', pathName: 'punish'},
{title: '经营异常', pathName: ''}, {title: '经营异常', pathName: 'businessAnomaly'},
{title: '被执行人', pathName: ''}, {title: '被执行人', pathName: 'ifThePerson'},
{title: '失信被执行人', pathName: ''}, {title: '失信被执行人', pathName: 'dishonesty'},
{title: '裁判文书', pathName: ''}, {title: '裁判文书', pathName: 'judgment'},
{title: '法院公告', pathName: ''}, {title: '法院公告', pathName: 'courtNotice'},
{title: '开庭公告', pathName: ''}, {title: '开庭公告', pathName: 'openacourtsessionNotice'},
{title: '信用中国', pathName: ''} {title: '信用中国', pathName: ''}
]}, ]},
{title: '商务信息', pathName: 'business'}, {title: '商务信息', pathName: 'business'},
......
<template>
<div class="Tables">
<div class="table-item">
<el-table
v-loading="tableLoading"
:data="tableData"
element-loading-text="Loading"
border
fit
highlight-current-row
@sort-change="sortChange"
>
<el-table-column
v-if="isIndex"
label="序号"
width="50"
align="left"
:fixed="indexFixed"
:resizable="false">
<template slot-scope="scope">{{ queryParams.pageNum * queryParams.pageSize - queryParams.pageSize + scope.$index + 1 }}</template>
</el-table-column>
<template v-for="item in forData">
<el-table-column
v-if="item.slot"
:label="item.label"
:prop="item.prop"
:width="item.width"
align="left"
:fixed="item.fixed"
:sortable="item.sortable"
:resizable="false">
<template slot-scope="scope">
<slot :name="item.prop" :row="item" :index="scope.$index" :data="scope.row.punishReason"></slot>
</template>
</el-table-column>
<el-table-column
v-else
:label="item.label"
:prop="item.prop"
:width="item.width"
align="left"
:fixed="item.fixed"
:sortable="item.sortable"
:resizable="false" />
</template>
</el-table>
</div>
<div class="pagination-box">
<el-pagination background :current-page="queryParams.pageNum" :page-size="queryParams.pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
</div>
</template>
<script>
export default {
name: "Tables",
props: {
isIndex: {
type: Boolean,
default: true
},
indexFixed: {
type: Boolean,
default: false
},
tableLoading: {
type: Boolean,
default: false
},
tableData: {
type: Array,
default: []
},
forData: {
type: Array,
default: []
},
tableDataTotal: {
type: Number,
default: 0
},
queryParams: {
type: Object,
default: {}
},
},
data() {
return {
}
},
methods:{
handleCurrentChange(e){
this.$emit('handle-current-change',e)
},
handleSizeChange(e){
this.$emit('handle-current-change',e)
},
sortChange(e){
this.$emit('sort-change',e)
}
}
}
</script>
<style lang="scss" scoped>
</style>
...@@ -2,50 +2,31 @@ ...@@ -2,50 +2,31 @@
<div class="cooperate"> <div class="cooperate">
<template v-if="ifEmpty"> <template v-if="ifEmpty">
<div class="flex-box query-box">
<div class="flex-box query-params"> <head-form
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> :form-data="formData"
<el-form-item prop="stage"> :query-params="queryParams"
<el-select v-model="queryParams.stage" clearable class="form-content-width" placeholder="请选择项目阶段"> :total="tableDataTotal"
<el-option v-for="(item, index) in stageOptions" :key="index" :label="item.name" :value="item.value" /> :isExcel="true"
</el-select> :slots="true"
</el-form-item> @handle-search="handleSearch"
<el-form-item prop="status"> >
<el-select v-model="queryParams.status" clearable class="form-content-width" placeholder="请选择项目状态"> <template slot="slot">
<el-option v-for="(item, index) in statusOptions" :key="index" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item class="cooperate-name">
<el-input v-model="queryParams.name" placeholder="输入企业名称查询"></el-input>
<span>搜索</span>
</el-form-item>
</el-form>
</div>
<div class="flex-box query-add"> <div class="flex-box query-add">
<el-button type="primary" icon="el-icon-plus" @click="drawer = true">添加商务信息</el-button> <el-button type="primary" icon="el-icon-plus" @click="drawer = true">添加商务信息</el-button>
</div> </div>
</div> </template>
<div class="table-item"> </head-form>
<el-table
v-loading="tableLoading" <tables
:data="tableData" :tableLoading="tableLoading"
element-loading-text="Loading" :tableData="tableData"
border :forData="forData"
fit :tableDataTotal="tableDataTotal"
highlight-current-row :queryParams="queryParams"
> @handle-current-change="handleCurrentChange"
<el-table-column label="序号" width="50" align="left"> />
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="项目名称" prop="enterpriseName" min-width="70" align="left" />
<el-table-column label="项目阶段" prop="level" min-width="70" align="left" />
<el-table-column label="投资金额(万元)" prop="legalPerson" min-width="70" align="left" />
<el-table-column label="项目状态" prop="capital" min-width="115" align="right" />
</el-table>
</div>
<div class="pagination-box">
<el-pagination background :current-page="pageIndex" :page-size="pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
</template> </template>
<template v-else> <template v-else>
<div class="cooperate_empty"> <div class="cooperate_empty">
...@@ -154,17 +135,46 @@ ...@@ -154,17 +135,46 @@
</template> </template>
<script> <script>
import mixin from '../mixins/mixin'
export default { export default {
name: 'Cooperate', name: 'Cooperate',
mixins: [mixin],
components: { components: {
}, },
data() { data() {
return { return {
ifEmpty:true, ifEmpty:true,
queryParams:{ queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '项目名称', prop: 'punishReason'},
{label: '项目阶段', prop: 'punishBegin', width: '120'},
{label: '投资金额(万元)', prop: 'punishResult', width: '140'},
{label: '项目状态', prop: 'fileNum', width: '90'}
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '项目阶段',
options: [
{ name: '项目阶段', value: '1' },
{ name: '项目阶段', value: '2' },
{ name: '项目阶段', value: '3' },
{ name: '项目阶段', value: '4' }
]
},
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '项目状态',
options: [
{ name: '项目状态', value: '1' },
{ name: '项目状态', value: '2' },
{ name: '项目状态', value: '3' },
{ name: '项目状态', value: '4' }
]
}, },
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入企业名称查询', options: []},
],
stageOptions:[], stageOptions:[],
statusOptions:[], statusOptions:[],
//列表 //列表
......
...@@ -8,30 +8,19 @@ ...@@ -8,30 +8,19 @@
<el-button type="primary" icon="el-icon-plus" @click="opennew">新增决策链条</el-button> <el-button type="primary" icon="el-icon-plus" @click="opennew">新增决策链条</el-button>
</div> </div>
</div> </div>
<div class="table-item"> <div class="table-item">
<el-table <tables
v-loading="tableLoading" :indexFixed="true"
:data="tableData" :tableLoading="tableLoading"
element-loading-text="Loading" :tableData="tableData"
border :forData="forData"
fit :tableDataTotal="tableDataTotal"
highlight-current-row :queryParams="queryParams"
> @handle-current-change="handleCurrentChange"
<el-table-column label="序号" width="50" align="left"> />
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="姓名" prop="enterpriseName" min-width="70" align="left" />
<el-table-column label="角色" prop="level" min-width="70" align="left" />
<el-table-column label="公司/机关" prop="legalPerson" min-width="70" align="left" />
<el-table-column label="职位" prop="capital" min-width="115" align="left" />
<el-table-column label="联系方式" prop="capital" min-width="115" align="left" />
<el-table-column label="内部维护人" prop="capital" min-width="115" align="left" />
<el-table-column label="备注" prop="capital" min-width="115" align="left" />
</el-table>
</div>
<div class="pagination-box">
<el-pagination background :current-page="queryParams.pageNum" :page-size="queryParams.pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="cooperate_empty"> <div class="cooperate_empty">
...@@ -94,10 +83,11 @@ import { ...@@ -94,10 +83,11 @@ import {
getList, getList,
addChain addChain
} from '@/api/decisionMaking/decisionMaking' } from '@/api/decisionMaking/decisionMaking'
import Tables from "../component/Tables"
export default { export default {
name: 'DecisionMaking', name: 'DecisionMaking',
components: { components: {
Tables
}, },
data() { data() {
return { return {
...@@ -107,6 +97,15 @@ export default { ...@@ -107,6 +97,15 @@ export default {
pageNum:1, pageNum:1,
pageSize:10, pageSize:10,
}, },
forData: [
{label: '姓名', prop: 'punishReason', width: '124'},
{label: '角色', prop: 'punishBegin', width: '110'},
{label: '公司/机关', prop: 'punishResult', width: '268'},
{label: '职位', prop: 'fileNum', width: '110'},
{label: '联系方式', prop: 'cgrdm', width: '105'},
{label: '内部维护人', prop: 'office', width: '88'},
{label: '备注', prop: 'dataId'},
],
stageOptions:[], stageOptions:[],
statusOptions:[], statusOptions:[],
//列表 //列表
...@@ -114,7 +113,7 @@ export default { ...@@ -114,7 +113,7 @@ export default {
tableData:[], tableData:[],
pageIndex:1, pageIndex:1,
pageSize:10, pageSize:10,
tableDataTotal:0, tableDataTotal:50,
//弹窗 //弹窗
dialogVisible: false, dialogVisible: false,
} }
...@@ -136,7 +135,7 @@ export default { ...@@ -136,7 +135,7 @@ export default {
}, },
//分页 //分页
handleCurrentChange(e){ handleCurrentChange(e){
console.log(e)
}, },
handleSizeChange(e){ handleSizeChange(e){
......
...@@ -15,6 +15,18 @@ ...@@ -15,6 +15,18 @@
<Branch v-if="currentPath.pathName=='branch'" /> <Branch v-if="currentPath.pathName=='branch'" />
<Financial v-if="currentPath.pathName=='financial'" :company-id="companyId" /> <Financial v-if="currentPath.pathName=='financial'" :company-id="companyId" />
<Business v-if="currentPath.pathName=='business'" /> <Business v-if="currentPath.pathName=='business'" />
<!-- 投诚分析 -->
<LandAcquisition v-if="currentPath.pathName=='landAcquisition'" />
<RegionalEconomies v-if="currentPath.pathName=='regionalEconomies'" />
<SameRegion v-if="currentPath.pathName=='sameRegion'" />
<!-- 风险信息 -->
<Punish v-if="currentPath.pathName=='punish'" />
<BusinessAnomaly v-if="currentPath.pathName=='businessAnomaly'" />
<IfThePerson v-if="currentPath.pathName=='ifThePerson'" />
<Dishonesty v-if="currentPath.pathName=='dishonesty'" />
<Judgment v-if="currentPath.pathName=='judgment'" />
<CourtNotice v-if="currentPath.pathName=='courtNotice'" />
<OpenacourtsessionNotice v-if="currentPath.pathName=='openacourtsessionNotice'" />
<!-- 招标偏好 --> <!-- 招标偏好 -->
<Preference v-if="currentPath.pathName=='preference'" /> <Preference v-if="currentPath.pathName=='preference'" />
<!-- 合作情况 --> <!-- 合作情况 -->
...@@ -42,6 +54,16 @@ import Overseas from "./overview/overseas" //企业概览-对外投资 ...@@ -42,6 +54,16 @@ import Overseas from "./overview/overseas" //企业概览-对外投资
import Branch from "./overview/branch" //企业概览-分支机构 import Branch from "./overview/branch" //企业概览-分支机构
import Financial from "./financial" //财务简析 import Financial from "./financial" //财务简析
import Business from "./business" //商务信息 import Business from "./business" //商务信息
import LandAcquisition from "./urbanLnvestment/landAcquisition" //投诚分析-城投拿地
import RegionalEconomies from "./urbanLnvestment/regionalEconomies" //投诚分析-区域经济
import SameRegion from "./urbanLnvestment/sameRegion" //投诚分析-同地区城投
import Punish from "./riskInformation/punish" //风险信息-行政处罚
import BusinessAnomaly from "./riskInformation/businessAnomaly" //风险信息-经营异常
import IfThePerson from "./riskInformation/ifThePerson" //风险信息-被执行人
import Dishonesty from "./riskInformation/dishonesty" //风险信息-失信被执行
import Judgment from "./riskInformation/judgment" //风险信息-判决文书
import CourtNotice from "./riskInformation/courtNotice" //风险信息-法院公告
import OpenacourtsessionNotice from "./riskInformation/openacourtsessionNotice" //风险信息-开庭公告
import Preference from "./preference" //招标偏好 import Preference from "./preference" //招标偏好
import Cooperate from "./cooperate" //合作情况 import Cooperate from "./cooperate" //合作情况
import DecisionMaking from "./decisionMaking" //决策链条 import DecisionMaking from "./decisionMaking" //决策链条
...@@ -59,6 +81,16 @@ export default { ...@@ -59,6 +81,16 @@ export default {
Branch, Branch,
Financial, Financial,
Business, Business,
LandAcquisition,
RegionalEconomies,
SameRegion,
Punish,
BusinessAnomaly,
IfThePerson,
Dishonesty,
Judgment,
CourtNotice,
OpenacourtsessionNotice,
Preference, Preference,
Cooperate, Cooperate,
DecisionMaking, DecisionMaking,
......
import HeadForm from "../component/HeadForm"
import Tables from "../component/Tables"
export default {
components: {
HeadForm,
Tables
},
data() {
return {
}
},
mounted() {
},
methods: {
formParams(){
let condtion = {}
let reqData = {}
this.formData.forEach(item => {
if(item.value || (item.value && item.value.length)) {
if(item.fieldName == 'time') {
condtion[item.startTime] = item.value[0];
condtion[item.endTime] = item.value[1];
return
}
condtion[item.fieldName] = item.value
}
})
Object.keys(condtion).forEach(key => {
if(condtion[key]) {
reqData[key] = condtion[key]
}
})
if(this.queryParams && Object.keys(this.queryParams)) {
reqData = Object.assign(reqData, this.queryParams)
}
return reqData
},
//条件
handleSearch(){
let params = this.formParams()
params.pageNum = 1
this.handleQuery(params)
},
//分页
handleCurrentChange(e){
console.log(e)
let params = this.formParams()
params.pageNum = e
this.handleQuery(params)
},
handleSizeChange(e){
},
//排序
sortChange(e){
console.log(e)
}
}
}
...@@ -7,17 +7,26 @@ ...@@ -7,17 +7,26 @@
</div> </div>
</div> </div>
<div class="query-params"> <div class="query-params">
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <div class="params-item">
<el-form-item> <div class="flex-box item-flex">
<el-input v-model="queryParams.key" <el-input
v-model="queryParams.key"
@focus="nowedit = 1"
placeholder="请输入商务条件特点"
class="textarea"
type="textarea" type="textarea"
:autosize="{ minRows: 8, maxRows: 8}" :autosize="autosize"
maxlength="500" maxlength="500"
show-word-limit :show-word-limit="true">
placeholder="请输入商务条件特点">
</el-input> </el-input>
</el-form-item> <div class="flex btns" v-if="nowedit === 1">
</el-form> <div class="flex">
<div class="btnsmall btn_primary">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
<div class="preference-item"> <div class="preference-item">
...@@ -27,17 +36,26 @@ ...@@ -27,17 +36,26 @@
</div> </div>
</div> </div>
<div class="query-params"> <div class="query-params">
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <div class="params-item">
<el-form-item> <div class="flex-box item-flex">
<el-input v-model="queryParams.key" <el-input
v-model="queryParams.key"
@focus="nowedit = 2"
placeholder="请输入决策链条"
class="textarea"
type="textarea" type="textarea"
:autosize="{ minRows: 8, maxRows: 8}" :autosize="autosize"
maxlength="500" maxlength="500"
show-word-limit :show-word-limit="true" >
placeholder="请输入决策链条">
</el-input> </el-input>
</el-form-item> <div class="flex btns" v-if="nowedit === 2">
</el-form> <div class="flex">
<div class="btnsmall btn_primary">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
<div class="preference-item"> <div class="preference-item">
...@@ -47,17 +65,26 @@ ...@@ -47,17 +65,26 @@
</div> </div>
</div> </div>
<div class="query-params"> <div class="query-params">
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <div class="params-item">
<el-form-item> <div class="flex-box item-flex">
<el-input v-model="queryParams.key" <el-input
v-model="queryParams.key"
@focus="nowedit = 3"
placeholder="请输入招投标流程特点"
class="textarea"
type="textarea" type="textarea"
:autosize="{ minRows: 8, maxRows: 8}" :autosize="autosize"
maxlength="500" maxlength="500"
show-word-limit :show-word-limit="true">
placeholder="请输入招投标流程特点">
</el-input> </el-input>
</el-form-item> <div class="flex btns" v-if="nowedit === 3">
</el-form> <div class="flex">
<div class="btnsmall btn_primary">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
<div class="preference-item"> <div class="preference-item">
...@@ -67,17 +94,26 @@ ...@@ -67,17 +94,26 @@
</div> </div>
</div> </div>
<div class="query-params"> <div class="query-params">
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <div class="params-item">
<el-form-item> <div class="flex-box item-flex">
<el-input v-model="queryParams.key" <el-input
v-model="queryParams.key"
@focus="nowedit = 4"
placeholder="请输入履约阶段特点"
class="textarea"
type="textarea" type="textarea"
:autosize="{ minRows: 8, maxRows: 8}" :autosize="autosize"
maxlength="500" maxlength="500"
show-word-limit :show-word-limit="true">
placeholder="请输入履约阶段特点">
</el-input> </el-input>
</el-form-item> <div class="flex btns" v-if="nowedit === 4">
</el-form> <div class="flex">
<div class="btnsmall btn_primary">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
...@@ -93,9 +129,15 @@ export default { ...@@ -93,9 +129,15 @@ export default {
}, },
data() { data() {
return { return {
autosize: {
minRows: 8,
maxRows: 8
},
queryParams:{ queryParams:{
} },
key:'',
nowedit: 0
} }
}, },
created() { created() {
...@@ -116,12 +158,34 @@ export default { ...@@ -116,12 +158,34 @@ export default {
padding: 16px; padding: 16px;
.query-params{ .query-params{
margin-top:20px; margin-top:20px;
::v-deep .el-form-item{ .params-item{
width: 100%; width: 100%;
.el-textarea{
width: 800px;
textarea{
color: rgb(35, 35, 35);
border-radius: 2px;
border: 1px solid rgb(217, 217, 217);
font-size: 14px;
padding: 10px;
} }
::v-deep .el-form-item__content{
width: 80%;
} }
.item-flex{
align-items: flex-end;
.btns{
.btnsmall{
width: 56px;
height: 28px;
line-height: 28px;
margin-left: 12px;
}
.cancels{
line-height: 28px;
}
}
}
}
} }
} }
</style> </style>
<template>
<div class="corePersonnel">
<head-form
title="经营异常"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="true"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'BusinessAnomaly',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '列入原因', prop: 'inReason', width: '508'},
{label: '列入日期', prop: 'inDate', width: '95'},
{label: '做出决定机关(移入)', prop: 'department', width: '264'},
{label: '移出经营异常名录原因', prop: 'outReason', width: '320'},
{label: '移除日期', prop: 'outDate', width: '95'},
{label: '做出决定机关(移除)', prop: 'outDepartment', width: '264'}
],
formData: [
{ type: 1, fieldName: 'years', value: '', placeholder: '列入时间',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
}
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
computed: {
},
methods: {
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)
// }
// })
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
<template>
<div class="corePersonnel">
<head-form
title="法院公告"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="true"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'CourtNotice',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '案由', prop: 'enterpriseName'},
{label: '公告时间', prop: 'level', width: '95'},
{label: '当事人', prop: 'capital', width: '240'},
{label: '案号', prop: 'cgrdm', width: '210'},
{label: '公告类型', prop: 'cgrssqy', width: '210'},
{label: '公告法院', prop: 'dataId', width: '280'}
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '公告类型',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '案由',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '身份',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
computed: {
},
methods: {
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)
// }
// })
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
<template>
<div class="corePersonnel">
<head-form
title="失信被执行人"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="false"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'Dishonesty',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '失信被执行人行为具体情形', prop: 'executionDesc', width: '508'},
{label: '立案日期', prop: 'date', width: '95'},
{label: '履行情况', prop: 'executionStatus', width: '120'},
{label: '立案文号', prop: 'caseNumber', width: '210'},
{label: '执行依据文号', prop: 'docNumber', width: '360'},
{label: '执行法院', prop: 'court', width: '280'}
],
formData: [
{ type: 2, fieldName: 'time', value: '', placeholder: '执行时间',startTime: 'dateFrom',endTime: 'dateTo', options: []}
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
computed: {
},
methods: {
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)
// }
// })
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
<template>
<div class="corePersonnel">
<head-form
title="被执行人"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="false"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'IfThePerson',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '执行标的(元)', prop: 'amount', width: '140'},
{label: '案号', prop: 'caseNumber', width: '320'},
{label: '执行法院', prop: 'court'},
{label: '立案日期', prop: 'caseDate', width: '95'}
],
formData: [
{ type: 2, fieldName: 'time', value: '', placeholder: '执行时间',startTime: 'dateFrom',endTime: 'dateTo', options: []}
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
computed: {
},
methods: {
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)
// }
// })
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
<template>
<div class="corePersonnel">
<head-form
title="判决文书"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="false"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'Judgment',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '案由', prop: 'causeAction', width: '240'},
{label: '执行案号', prop: 'causeNo', width: '210'},
{label: '身份', prop: 'role', width: '120'},
{label: '当事人', prop: 'relatedCompanies', width: '240'},
{label: '案件金额(元)', prop: 'subAmount', width: '140'},
{label: '判决结果', prop: 'judgeresult', width: '508'},
{label: '判决日期', prop: 'date', width: '95'},
],
formData: [
{ type: 1, fieldName: 'causeAction', value: '', placeholder: '案由',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 1, fieldName: 'role', value: '', placeholder: '身份',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 2, fieldName: 'tiem', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '搜索关键字', options: []}
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
computed: {
},
methods: {
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)
// }
// })
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
<template>
<div class="corePersonnel">
<head-form
title="开庭公告"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="false"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'OpenacourtsessionNotice',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '案由', prop: 'causeAction', width: '240'},
{label: '开庭日期', prop: 'hearingDate', width: '95'},
{label: '当事人', prop: 'relatedCompanies', width: '428'},
{label: '身份', prop: 'pureRole', width: '120'},
{label: '公告内容', prop: 'cgrssqy', width: '508'},
{label: '案号', prop: 'caseNo', width: '210'},
{label: '法院', prop: 'dataId', width: '280'},
{label: '法庭', prop: 'dataId', width: '180'},
{label: '承办部门', prop: 'dataId', width: '280'},
{label: '审判长/主判人', prop: 'dataId', width: '106'}
],
formData: [
{ type: 1, fieldName: 'causeAction', value: '', placeholder: '案由',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 1, fieldName: 'pureRole', value: '', placeholder: '身份',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
computed: {
},
methods: {
toDetail(){
let Id = '111'
this.$router.push({ path: '/project/projectList/detail', query: Id });
},
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)
// }
// })
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
<template>
<div class="corePersonnel">
<head-form
title="行政处罚"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="true"
@handle-search="handleSearch"
/>
<tables
:indexFixed="true"
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="punishReason" slot-scope="scope">
<span :class="[isOverHiddenFlag(scope.row.width, showList, scope.index, 0, scope.data)?'cell-span':'']" :style="{'-webkit-line-clamp': 5}">
{{ scope.data }}
<span v-if="isOverHiddenFlag(scope.row.width, showList, scope.index, 0, scope.data)" @click="changeShowAll(scope.index, 0)">...<span style="color: #0081FF;">更多</span></span>
</span>
</template>
</tables>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
import {
penalizePage,
penalizeReasonType
} from '@/api/riskInformation/punish'
export default {
name: 'Punish',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '处罚原因', prop: 'punishReason', width: '508', slot: true, fixed: true},
{label: '决定日期', prop: 'punishBegin', width: '95'},
{label: '处罚结果', prop: 'punishResult', width: '264'},
{label: '处罚文书号', prop: 'fileNum', width: '200'},
{label: '相关人员', prop: 'cgrdm', width: '88'},
{label: '处罚机关', prop: 'office', width: '264'},
{label: '处罚结束日期', prop: 'dataId', width: '100'},
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '处罚类别',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
],
//列表
tableLoading:false,
tableData:[
{
punishReason:'根据成都市住房和城乡建设局《关于持续开展建设工地扬尘治理专项攻坚行动的通知》(成住建发(2021]178号),对你单位参建的项目住宅、商业及配套设施(2020-510107-47-03-506368) (金茂府三期)(安监备案编号:WH-CJ-AJ-2021-001)监督检查中发现未湿法作业(现场存在露天切割石材,未采取降尘防尘措施)。)的违规行为,予以记录并扣分,预扣减施工企业现场信用信息得分0.05分,预扣减监理企业现场信用信息得分...预扣减施工企业现场信用信息得分0.05分,预扣减监理企业现场信用信息得分',
punishBegin:'2015-08-06',
punishResult:'列入全省3-6月份拖欠农民工工资预警项目,现予以限期整改通报。',
fileNum:'铜城建罚决字【2021)】18-5号',
cgrdm:'测试1',
office:'江苏省住房和城乡建设厅',
dataId:'2015-08-06',
}
],
tableDataTotal:200,
showList:[],
}
},
created() {
this.dataRegion()
this.penalizeReasonTypeData()
},
computed: {
},
methods: {
async dataRegion() {
penalizePage(this.queryParams).then((res) => {
console.log(res)
})
},
penalizeReasonTypeData(){
penalizeReasonType({cid:6034}).then((res) => {
console.log(res)
})
},
handleQuery(params) {
console.log(params)
},
changeShowAll(row, column) {
this.showList.push({
row: row,
column: column
})
},
isOverHiddenFlag(data, showList, row, column, value) {
if(value && String(value).length > this.getLenth(data)) {
return !showList.some(item => item.row==row&&item.column==column)
}else {
return false
}
},
getLenth(data) {
return Math.floor(data / 12) * 5
},
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
input{
border: 1px solid #EFEFEF;
}
::v-deep .el-form-item{
margin-right: 8px !important;
}
::v-deep .el-table__body tr.current-row > td.el-table__cell{
background-color: #ffffff;
}
.query-box{
margin: 10px 0 20px;
}
.cell-span {
display: inline-block;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
cursor: pointer;
>span {
display: inline-block;
width: 37px;
position: absolute;
right: 0;
bottom: 0;
background-color: #fff;
z-index: 1;
}
}
}
</style>
<template>
<div class="corePersonnel">
<head-form
title="城投拿地"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="true"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'landAcquisition',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '项目名称', prop: 'punishReason', width: '508'},
{label: '土地用途', prop: 'punishBegin', width: '120'},
{label: '行业分类', prop: 'punishResult', width: '120'},
{label: '供地方式', prop: 'fileNum', width: '120'},
{label: '土地坐落', prop: 'cgrdm', width: '120'},
{label: '成交金额(万元)', prop: 'office', width: '130'},
{label: '总面积(㎡)', prop: 'dataId', width: '120'},
{label: '批准单位', prop: 'dataId', width: '120'},
{label: '签订日期', prop: 'dataId', width: '120'}
],
formData: [
{ type: 4, fieldName: 'penalizeReasonType', value: [], placeholder: '土地用途',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
computed: {
},
methods: {
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)
// }
// })
},
handleQuery() {
},
resetQuery() {
},
//分页
handleCurrentChange(e){
},
handleSizeChange(e){
}
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
<template>
<div class="regionalEconomies">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">区域经济</span>
</div>
</div>
<div class="table-item">
<el-table
:data="getValues"
:show-header="false"
border
>
<el-table-column
v-for="(item, index) in getHeaders"
:key="index"
:prop="item"
>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
name: 'regionalEconomies',
components: {
},
data() {
return {
tableData: [
{
zb:"2023年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2022年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2021年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2020年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2019年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2018年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
],
headers: [
{
prop: 'zb',
label: '指标',
},
{
prop: 'name',
label: '经济',
},
{
prop: 'gdp',
label: 'GDP(亿元)',
},
{
prop: 'gdpzs',
label: 'GDP增速',
},
{
prop: 'rjgdp',
label: '人均GDP(元)',
},
{
prop: 'rjgdp',
label: '第一产业增加值(亿元)',
},
{
prop: 'rjgdp',
label: '第二产业增加值(亿元)',
},
{
prop: 'rjgdp',
label: '第三产业增加值(亿元)',
},
{
prop: 'rjgdp',
label: '人口(万人)',
},
{
prop: 'rjgdp',
label: '工业增加值(亿元)',
},
{
prop: 'rjgdp',
label: '工业总产值(亿元)',
},
{
prop: 'rjgdp',
label: '房地产开发投资(亿元)',
},
{
prop: 'rjgdp',
label: '进出口总额(亿美元)',
},
{
prop: 'rjgdp',
label: '社会消费品零售总额(亿元)',
},
{
prop: 'rjgdp',
label: '城镇居民人均可支配收入(元)',
},
{
prop: 'cz',
label: '财政',
},
{
prop: 'rjgdp',
label: '一般公共预算收入(亿元)',
},
{
prop: 'rjgdp',
label: '般公共预算收入增速',
},
{
prop: 'rjgdp',
label: '税收收入(亿元)',
},
{
prop: 'rjgdp',
label: '转移性收入(亿元)',
},
{
prop: 'rjgdp',
label: '上级补助收入(亿元)',
},
{
prop: 'rjgdp',
label: '一般公共预算支出(亿元)',
},
{
prop: 'rjgdp',
label: '政府性基金收入(亿元)',
},
{
prop: 'rjgdp',
label: '土地出让收入(亿元)',
},
{
prop: 'rjgdp',
label: '政府性基金支出(亿元)',
},
{
prop: 'rjgdp',
label: '国有资本经营收入(亿元)',
},
{
prop: 'rjgdp',
label: '国有资本经营支出(亿元)',
},
{
prop: 'zw',
label: '债务',
},
{
prop: 'rjgdp',
label: '地方政府债务余额(亿元)',
},
{
prop: 'rjgdp',
label: '一般债余额(亿元)',
},
{
prop: 'rjgdp',
label: '专项债余额(亿元)',
},
{
prop: 'rjgdp',
label: '地方政府债务限额(亿元)',
},
{
prop: 'rjgdp',
label: '城投平台有息债务(亿元)',
},
{
prop: 'rjgdp',
label: '财政自给率',
},
{
prop: 'rjgdp',
label: '负债率',
},
{
prop: 'rjgdp',
label: '负债率-宽口径',
},
{
prop: 'rjgdp',
label: '债务率',
},
{
prop: 'rjgdp',
label: '债务率-宽口径',
},
],
}
},
created() {
this.dataRegion()
},
computed: {
getHeaders() {
return this.tableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
},
getValues() {
return this.headers.map(item => {
return this.tableData.reduce((pre, cur, index) => Object.assign(pre, {['value' + index]: cur[item.prop]}), {'title': item.label,});
});
}
},
methods: {
//地区
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)
// }
// })
},
}
}
</script>
<style lang="scss" scoped>
.regionalEconomies{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
<template>
<div class="corePersonnel">
<head-form
title="同地区城投"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="true"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
@sort-change="sortChange"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
import dataRegion from '@/assets/json/dataRegion'
export default {
name: 'SameRegion',
mixins: [mixin],
components: {
},
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '企业名称', prop: 'punishReason'},
{label: '成员层级', prop: 'punishBegin', width: '120'},
{label: '法定代表人', prop: 'punishResult', width: '120'},
{label: '注册资本', prop: 'fileNum', width: '120', sortable:true},
{label: '成立日期', prop: 'cgrdm', width: '120', sortable:true},
{label: '实控人控股', prop: 'office', width: '130', sortable:true},
{label: '行业类型', prop: 'dataId', width: '120'},
{label: '所属省', prop: 'dataId', width: '120'},
{label: '所属市', prop: 'dataId', width: '120'},
{label: '所属区/县', prop: 'dataId', width: '120'}
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '筛选',
options: []
},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
],
props: {
value: 'id',
multiple: true,
},
addressList: [],
//列表
tableLoading:false,
tableData:[],
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
computed: {
},
methods: {
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;
},
handleQuery() {
},
resetQuery() {
},
//分页
handleCurrentChange(e){
},
handleSizeChange(e){
}
}
}
</script>
<style lang="scss" scoped>
.corePersonnel{
background: #ffffff;
border-radius: 4px;
padding: 16px;
.query-box{
margin: 10px 0 20px;
}
}
</style>
...@@ -35,14 +35,14 @@ export default { ...@@ -35,14 +35,14 @@ export default {
} }
}, },
created() { created() {
let name = sessionStorage.getItem('currentTab') // let name = sessionStorage.getItem('currentTab')
if (name != "undefined" && name){ // if (name != "undefined" && name){
this.activeName = name; // this.activeName = name;
} // }
}, },
methods: { methods: {
handleClick() { handleClick() {
sessionStorage.setItem('currentTab', this.activeName) // sessionStorage.setItem('currentTab', this.activeName)
} }
} }
} }
......
<template>
<div class="qgjjdq">
<div class="content">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">全国经济大全</span>
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item prop="year">
<el-select v-model="queryParams.year" filterable multiple collapse-tags class="form-content-width" placeholder="请选择年度" @change="querySubmit">
<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item prop="area">
<el-cascader
ref="address"
:options="addressList"
:props="props"
v-model="queryParams.address"
@change="querySubmit"
placeholder="地区选择"
collapse-tags
clearable></el-cascader>
</el-form-item>
</el-form>
</div>
<div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span>
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div>
</div>
<div class="table-item">
<el-table
v-loading="tableLoading"
:data="tableData"
element-loading-text="Loading"
border
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="地区" min-width="70" align="left" fixed>
<template slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ scope.row.address || '广东省' }}</router-link>
</template>
</el-table-column>
<el-table-column label="年度明细" prop="dataId" width="90" align="left" fixed>
<template slot-scope="scope">
<img src="@/assets/images/icon_detailed.png" class="icon-detailed" @click="handleDetail(scope.row)">
</template>
</el-table-column>
<el-table-column label="GDP(元)" prop="dataId" sortable min-width="115" align="right" />
<el-table-column label="GDP增速" prop="cgrdm" sortable min-width="100" align="right" />
<el-table-column label="人均GDP(元)" prop="cgrssqy" sortable width="125" align="right" />
<el-table-column label="人口(万人)" prop="cgrssqy" sortable width="120" align="right" />
<el-table-column label="一般公共预算收入 (亿元)" prop="cgrzyhy" sortable width="170" align="right" />
<el-table-column label="一般公共预算收入增速(%)" prop="cgzzxs" sortable min-width="140" align="right" />
<el-table-column label="一般公共预算支出(亿元)" prop="cgfs" sortable width="140" align="left" />
<el-table-column label="政府性基金收入(亿元)" width="140" sortable align="left">
<template slot-scope="scope">
<router-link to="/purchaserDetail" target="_blank" tag="a" class="a-link">{{ scope.row.zbwj }}</router-link>
</template>
</el-table-column>
<el-table-column label="政府性基金收入:土地出让收入(亿元)" prop="cgfs" sortable width="150" align="left" />
<el-table-column label="政府性基金支出(亿元)" prop="cgfs" width="170" sortable align="left" />
<el-table-column label="国有资产经营收入(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="国有资产经营支出(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="固定资产投资(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="财政自给率(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="地方政府债务余额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="一般债余额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="专项债余额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="地方政府债务限额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="城投平台有息债务(亿元)" prop="cgfs" width="160" align="left" >
<template slot="header" slot-scope="scope">
<span>城投平台有息债务(亿元)
<el-tooltip popper-class="tips" effect="light" content="城投平台有息债务是该地区行政区划下所有的城投公司的短期债务与长期债务合计。其中,短期债务=短期借款+一年内到期的非流动负债+应付短期债券,长期债务=长期借款+应付长期债券。" placement="top">
<i class="el-icon-warning-outline"></i>
</el-tooltip>
</span>
</template>
</el-table-column>
<el-table-column label="负债率(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="负债率(宽口径)(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="债务率(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="债务率(宽口径)(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="金融机构存款余额(本外币)(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="金融机构贷款余额(本外币)(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="第一产业增加值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="第二产业增加值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="第三产业增加值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="工业增加值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="工业总产值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="进出口总额(亿美元)" prop="cgfs" width="160" align="left" />
<el-table-column label="社会消费品零售总额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="城镇居民人均可支配收入(元)" prop="cgfs" width="160" align="left" />
</el-table>
</div>
<div class="pagination-box">
<el-pagination background :current-page="pageIndex" :page-size="pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
<economies-detail ref="economiesDetail" />
</div>
</div>
</template>
<script>
import { browsedIndexPage } from '@/api/nationalEconomies'
import dataRegion from '@/assets/json/dataRegion'
import economiesDetail from './economies-detail'
import axios from 'axios'
export default {
name: 'NationalEconomies',
components: {
economiesDetail
},
data() {
return {
queryParams: {
year: '',
address: ''
},
yearOptions: [
{ name: '2023年', value: '2023' },
{ name: '2022年', value: '2022' },
{ name: '2021年', value: '2021' },
],
props: {
value: 'id',
multiple: true,
},
addressList: [],
tableData: [
{
dataId:'1',
cgrssqy:'100',
cgfs:'200'
}
],
tableLoading: false,
pageIndex: 1,
pageSize: 10,
tableDataTotal: 0,
}
},
created() {
this.querySubmit()
this.dataRegion()
},
methods: {
//地区
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;
},
// 查询提交
async querySubmit() {
// this.tableLoading = true
const params = { pageIndex: this.pageIndex, pageSize: this.pageSize, browsedType: 1 }
if(this.queryParams.address){
let arr = this.$refs.address.getCheckedNodes();
let provinceCode = [],cityCode = [],countyCode = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && cityCode.push(arr[i].value);
!arr[i].hasChildren && countyCode.push(arr[i].value);
}
} else {
provinceCode.push(arr[i].value)
}
}
if(provinceCode.length > 0){
params.procinceId=provinceCode.join(',')
}
if(cityCode.length > 0){
params.cityId=cityCode.join(',')
}
if(countyCode.length > 0){
params.districtId=countyCode.join(',')
}
}
console.log(params)
// browsedIndexPage(params).then(res => {
// this.tableData = res.data.list
// this.tableDataTotal = res.data.totalCount
// })
// // 延迟关闭加载效果
// setTimeout(() => {
// this.tableLoading = false
// }, 200)
},
// 明细
handleDetail(row) {
this.$refs.economiesDetail.open(row)
},
// 重置页数
handleSizeChange(val) {
this.pageIndex = 1
this.pageSize = val
this.querySubmit()
},
// 跳转指定页数
handleCurrentChange(val) {
this.pageIndex = val
this.querySubmit()
},
}
}
</script>
<style lang="scss" scoped>
.qgjjdq{
.query-box{
margin: -8px 0 8px 0;
.query-params{
.el-form{
margin-left: 24px;
}
}
}
.content{
background: #ffffff;
padding: 16px;
margin-top: 12px;
.table-item{
::v-deep .el-table{
th{
font-size: 12px !important;
font-weight: 400 !important;
}
.el-table__fixed-header-wrapper th{
background: #F0F3FA;
}
.caret-wrapper{
width: 10px;
/*<!--position: absolute;-->*/
/*<!--right: 12px;-->*/
/*<!--top: -3px;-->*/
}
/*.sort-caret{*/
/*position: initial;*/
/*}*/
/*.ascending{*/
/*margin-bottom: 3px;*/
/*}*/
}
}
}
}
</style>
<template>
<div class="zhaobiao">
<div class="zb-content content1">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">近五年全国招标数量</span>
</div>
</div>
<div class="text">近五年全国项目招标数量达到10,610,000个,招标数量前五的地区分别是广东(38251个)、江苏(36812个)、山东(32615个)、浙江(26341个)、河南(21621个)。</div>
<div class="main1">
<div id="zb-echarts" style="height: 250px"></div>
<p class="tips"><i class="el-icon-info"></i>数据来源大司空建筑大数据平台,统计范围为近5年全国公开的招标项目,未公开的不含在内</p>
</div>
<div class="main2">
<div class="flex-box query-box head">
<span>近五年全国招标总数<span class="number">10,610,000 </span></span>
<!--<el-select v-model="year" filterable multiple collapse-tags class="form-content-width" placeholder="请选择">-->
<!--<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.name" :value="item.value" />-->
<!--</el-select>-->
</div>
<div class="table-item">
<el-table
:data="tableData"
border
height="430"
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column prop="area" label="地区"/>
<el-table-column prop="number" sortable label="招标数量"/>
<el-table-column prop="zb" sortable label="占比"/>
</el-table>
</div>
</div>
</div>
<div class="zb-content content2">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">全国招标项目概览</span>
</div>
</div>
<div class="text">通过对近五年全国招标数据进行分析,发现该企业主要集中在3月(230个)、6月(209个)进行招标。</div>
<div class="main1">
<div id="gl-echarts" style="height: 250px"></div>
<p class="tips"><i class="el-icon-info"></i>数据来源大司空建筑大数据平台,统计范围为近五年全国公开的招标项目,未公开的不含在内</p>
</div>
<div class="table-item">
<el-table
:data="tableData1"
border
height="430"
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column prop="area" label="月份"/>
<el-table-column prop="number" sortable label="招标数量"/>
<el-table-column prop="zb" sortable label="占比"/>
</el-table>
</div>
</div>
</div>
</template>
<script>
import * as echarts from 'echarts';
export default {
name: 'NationalEconomies',
data() {
return {
year:'',
yearOptions: [
{ name: '2023年', value: '2023' },
{ name: '2022年', value: '2022' },
{ name: '2021年', value: '2021' },
],
zbData:['广东','江苏','山东','浙江','河南','安徽','河北','四川','湖北','江西','甘肃','重庆','福建','云南','北京','湖南','山西'],
zbData1:[123,156,236,426,412,231,96,105,210,420,213,86,120,230,150,132,196],
tableData:[
{
area:'广东',
number:'123',
zb:'0.19%'
},
{
area:'江苏',
number:'156',
zb:'0.29%'
},
{
area:'山东',
number:'236',
zb:'0.34%'
},
{
area:'浙江',
number:'426',
zb:'0.34%'
},
{
area:'河南',
number:'412',
zb:'0.34%'
},
{
area:'安徽',
number:'231',
zb:'0.34%'
},
{
area:'河北',
number:'96',
zb:'0.34%'
},
{
area:'四川',
number:'105',
zb:'0.34%'
},
{
area:'湖北',
number:'210',
zb:'0.34%'
},
{
area:'江西',
number:'420',
zb:'0.34%'
},
{
area:'甘肃',
number:'213',
zb:'0.34%'
},
],
glData:['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
glData1:[103,156,132,186,203,143,189,301,211,195,132,176],
tableData1:[
{
area:'1月',
number:'123',
zb:'0.19%'
},
{
area:'2月',
number:'156',
zb:'0.29%'
},
{
area:'3月',
number:'236',
zb:'0.34%'
},
{
area:'4月',
number:'426',
zb:'0.34%'
},
{
area:'5月',
number:'412',
zb:'0.34%'
},
{
area:'6月',
number:'231',
zb:'0.34%'
},
{
area:'7月',
number:'96',
zb:'0.34%'
},
{
area:'8月',
number:'105',
zb:'0.34%'
},
{
area:'9月',
number:'210',
zb:'0.34%'
},
{
area:'10月',
number:'420',
zb:'0.34%'
},
{
area:'11月',
number:'213',
zb:'0.34%'
},
{
area:'12月',
number:'213',
zb:'0.34%'
},
],
}
},
created() {
this.$nextTick(()=>{
this.initChart()
this.initChart1()
})
},
methods: {
initChart() {
let myChart = echarts.init(document.getElementById("zb-echarts"))
let option = {
tooltip: {
trigger: 'axis', //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用
axisPointer: {// 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '5',
right: '5',
top: '10',
bottom: '10',
containLabel: true
},
xAxis: {
type: 'category',
data: this.zbData
},
yAxis: {
type: 'value'
},
series: [
{
data: this.zbData1,
type: 'bar',
itemStyle: {
normal: {
barBorderRadius: [4, 4, 0, 0],
color: '#165DFF',
label: {
show: true, //开启显示
position: 'top', //在上方显示
textStyle: { //数值样式
color: '#165DFF',
fontSize: 16
}
}
},
// 移入当前的柱状图时改变颜色
emphasis: {
color: '#3384FF',
}
}
}
]
};
myChart.setOption(option);
},
initChart1() {
let myChart = echarts.init(document.getElementById("gl-echarts"))
let option = {
tooltip: {
trigger: 'axis', //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用
axisPointer: {// 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '5',
right: '5',
top: '20',
bottom: '10',
containLabel: true
},
xAxis: {
type: 'category',
data: this.glData
},
yAxis: {
type: 'value'
},
series: [
{
data: this.glData1,
markPoint:{
data:[
{type:'max',name:'最大值'},
]
},
type: 'bar',
barWidth: 20,
itemStyle: {
normal: {
barBorderRadius: [4, 4, 0, 0],
color: '#2ECFCF',
},
}
}
]
};
myChart.setOption(option);
},
}
}
</script>
<style lang="scss" scoped>
.zhaobiao{
.zb-content{
background: #ffffff;
border-radius: 4px;
margin-top: 12px;
padding: 16px;
}
.text{
width: 100%;
line-height: 28px;
padding: 0 16px;
margin-top: 24px;
font-size: 12px;
color: rgba(35,35,35,0.8);
background: #F4F4F5;
border-radius: 2px;
margin-bottom: 24px;
}
.tips{
margin: 0;
font-size: 12px;
color: rgba(35,35,35,0.4);
i{
color:#909399;
margin-right: 9px;
}
}
.content1{
.main2{
margin-top: 30px;
.head{
span{
font-size: 12px;
color: rgba(35,35,35,0.8);
}
.number{
color:#FF3C3C;
}
::v-deep .el-select{
width: 100px;
height: 32px;
.el-input{
width: 100%;
height: 32px;
}
.el-input__inner{
height: 32px !important;
line-height: 32px;
}
}
}
}
.table-item{
margin-top: 12px;
}
}
.content2{
.table-item{
margin-top: 32px;
}
}
.table-item{
::v-deep .el-table{
.el-table__header-wrapper{
th{
padding: 0;
}
}
}
}
}
</style>
<template>
<div class="zhongbiao">
<div class="zb-content content1">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">全国建筑企业概览</span>
</div>
</div>
<div class="text">截止2022年8月1日,全国共有建筑工程施工总承包资质的企业197572家,其中特级资质企业118家,占比0.06%;一级资质企业3879家,占比1.96%;二级资质企业22235家,占比11.25%;三级资质企业171340家,占比86.73%</div>
<div class="main1">
<div style="height: 300px;">
<div class="left">
<div class="item" v-for="(item,index) in typeList" :class="typeIndex === index ? 'color':''" @click="handleClick(1,index)">{{item}}<i></i></div>
</div>
<div class="right">
<div id="gl-echarts" style="height: 260px;background: #ffffff;"></div>
</div>
</div>
<p class="tips"><i class="el-icon-info"></i>数据来源大司空建筑大数据平台,统计范围为有效期内资质,未公开不包含在内</p>
</div>
<div class="main2">
<div class="flex-box query-box head">
<span>近五年全国招标总数<span class="number">10,610,000 </span></span>
<!--<el-select v-model="year" filterable multiple collapse-tags class="form-content-width" placeholder="请选择">-->
<!--<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.name" :value="item.value" />-->
<!--</el-select>-->
</div>
<div class="table-item">
<el-table
:data="zzTableData"
border
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column prop="name" label="资质类型"/>
<el-table-column label="特级" align="center">
<el-table-column prop="number" label="数量(个)"/>
<el-table-column prop="zb" label="占比(%)"/>
</el-table-column>
<el-table-column label="一级" align="center">
<el-table-column prop="number" label="数量(个)"/>
<el-table-column prop="zb" label="占比(%)"/>
</el-table-column>
<el-table-column label="二级">
<el-table-column prop="number" label="数量(个)"/>
<el-table-column prop="zb" label="占比(%)"/>
</el-table-column>
<el-table-column label="三级">
<el-table-column prop="number" label="数量(个)"/>
<el-table-column prop="zb" label="占比(%)"/>
</el-table-column>
</el-table>
</div>
</div>
</div>
<div class="zb-content content2">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">全国建筑企业地区分布</span>
</div>
</div>
<div class="main1">
<div class="tabs">
<div class="item" v-for="(item,index) in typeList" :class="qydqIndex === index ? 'color':''" @click="handleClick(2,index)">{{item}}<i></i></div>
</div>
<div id="jzqy-echarts" style="height: 250px"></div>
<p class="tips"><i class="el-icon-info"></i>数据来源大司空建筑大数据平台,统计范围为有效期内资质,未公开不包含在内</p>
</div>
<div class="table-item">
<el-table
:data="tableData"
border
height="470"
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column prop="area" label="地区"/>
<el-table-column label="特级" align="center">
<el-table-column prop="number" label="数量(个)"/>
<el-table-column prop="zb" label="占比(%)"/>
</el-table-column>
<el-table-column label="一级" align="center">
<el-table-column prop="number" label="数量(个)"/>
<el-table-column prop="zb" label="占比(%)"/>
</el-table-column>
<el-table-column label="二级">
<el-table-column prop="number" label="数量(个)"/>
<el-table-column prop="zb" label="占比(%)"/>
</el-table-column>
<el-table-column label="三级">
<el-table-column prop="number" label="数量(个)"/>
<el-table-column prop="zb" label="占比(%)"/>
</el-table-column>
</el-table>
</div>
</div>
<div class="zb-content content3">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">全国建筑企业备案分布</span>
</div>
</div>
<div class="text">通过对全国建筑工程总承包一级及以上资质企业的备案数据分析,我们发现这些优质企业主要去了广东、安徽、江西、福建、湖北、浙江等地开展经营。</div>
<div class="main1">
<div id="ba-echarts" style="height: 250px"></div>
<p class="tips"><i class="el-icon-info"></i>数据来源大司空建筑大数据平台,统计范围为公开企业备案地数据。</p>
</div>
<div class="table-item">
<el-table
:data="tableData"
border
height="430"
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column prop="area" label="地区"/>
<el-table-column prop="number" label="企业异地备案数量(个)"/>
<el-table-column prop="zb" label="占比"/>
</el-table>
</div>
</div>
</div>
</template>
<script>
import * as echarts from 'echarts';
export default {
name: 'NationalEconomies',
data() {
return {
year:'',
yearOptions: [
{ name: '2023年', value: '2023' },
{ name: '2022年', value: '2022' },
{ name: '2021年', value: '2021' },
],
glData:['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
glData1:[103,156,132,186,203,143,189,301,211,195,132,176],
tableData1:[
{
area:'1月',
number:'123',
zb:'0.19%'
},
{
area:'2月',
number:'156',
zb:'0.29%'
},
{
area:'3月',
number:'236',
zb:'0.34%'
},
{
area:'4月',
number:'426',
zb:'0.34%'
},
{
area:'5月',
number:'412',
zb:'0.34%'
},
{
area:'6月',
number:'231',
zb:'0.34%'
},
{
area:'7月',
number:'96',
zb:'0.34%'
},
{
area:'8月',
number:'105',
zb:'0.34%'
},
{
area:'9月',
number:'210',
zb:'0.34%'
},
{
area:'10月',
number:'420',
zb:'0.34%'
},
{
area:'11月',
number:'213',
zb:'0.34%'
},
{
area:'12月',
number:'213',
zb:'0.34%'
},
],
typeList:['建筑工程企业','市政工程企业','公路工程企业','水利水电工程企业'],
typeIndex:0,
jzglData:['特级','一级','二级','三级'],
jzglData1:[103,156,132,186],
zzTableData:[
{
name:'建筑工程施工总承包',
number:'123',
zb:'0.19%'
},
{
name:'市政工程施工总承包',
number:'123',
zb:'0.19%'
},
{
name:'公路工程施工总承包',
number:'123',
zb:'0.19%'
},
{
name:'水利水电工程施工总承包',
number:'123',
zb:'0.19%'
},
],
qydqIndex:0,
zbData:['广东','江苏','山东','浙江','河南','安徽','河北','四川','湖北','江西','甘肃','重庆','福建','云南','北京','湖南','山西'],
zbData1:[123,156,236,426,412,231,96,105,210,420,213,86,120,230,150,132,196],
tableData:[
{
area:'广东',
number:'123',
zb:'0.19%'
},
{
area:'江苏',
number:'156',
zb:'0.29%'
},
{
area:'山东',
number:'236',
zb:'0.34%'
},
{
area:'浙江',
number:'426',
zb:'0.34%'
},
{
area:'河南',
number:'412',
zb:'0.34%'
},
{
area:'安徽',
number:'231',
zb:'0.34%'
},
{
area:'河北',
number:'96',
zb:'0.34%'
},
{
area:'四川',
number:'105',
zb:'0.34%'
},
{
area:'湖北',
number:'210',
zb:'0.34%'
},
{
area:'江西',
number:'420',
zb:'0.34%'
},
{
area:'甘肃',
number:'213',
zb:'0.34%'
},
],
}
},
created() {
this.$nextTick(()=>{
this.initChart()
this.initChart1()
this.initChart2()
})
},
methods: {
initChart() {
let myChart = echarts.init(document.getElementById("gl-echarts"))
let option ={
tooltip: {
show:false
},
xAxis: {
type: 'category',
boundaryGap: false,
data: this.jzglData,
},
yAxis: {
type: 'value',
},
grid: {
top:40,
left:50,
right:40,
bottom:40,
},
series: [
{
data: this.jzglData1,
type: 'line',
smooth: true,
emphasis: {
disabled: true,
focus: 'none'
},
//设置折线颜色和粗细
lineStyle: {
width: 1,
color: "#0081FF",
},
itemStyle:{
color: "#4E8EFF",
},
//设置面积区域为渐变效果
areaStyle: {
color: echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0.2,
color: "#DFEAFF",
},
{
offset: 1,
color: "#5895FF",
},
]),
},
}
]
}
myChart.setOption(option);
},
initChart1() {
let myChart = echarts.init(document.getElementById("jzqy-echarts"))
let option = {
tooltip: {
trigger: 'axis', //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用
axisPointer: {// 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '5',
right: '5',
top: '20',
bottom: '10',
containLabel: true
},
xAxis: {
type: 'category',
data: this.zbData
},
yAxis: {
type: 'value'
},
series: [
{
data: this.zbData1,
type: 'bar',
itemStyle: {
normal: {
barBorderRadius: [4, 4, 0, 0],
color: '#165DFF',
label: {
show: true, //开启显示
position: 'top', //在上方显示
textStyle: { //数值样式
color: '#165DFF',
fontSize: 16
}
}
},
// 移入当前的柱状图时改变颜色
emphasis: {
color: '#3384FF',
}
}
}
]
};
myChart.setOption(option);
},
initChart2() {
let myChart = echarts.init(document.getElementById("ba-echarts"))
let option ={
tooltip: {
show:false
},
xAxis: {
type: 'category',
boundaryGap: false,
data: this.zbData,
},
yAxis: {
type: 'value',
},
grid: {
top:20,
left:30,
right:20,
bottom:20,
},
series: [
{
data: this.zbData1,
type: 'line',
smooth: true,
emphasis: {
disabled: true,
focus: 'none'
},
//设置折线颜色和粗细
lineStyle: {
width: 1,
color: "#FFAB44",
},
itemStyle:{
color: "#FFAB44",
},
//设置面积区域为渐变效果
areaStyle: {
color: echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0.2,
color: "#FFEDD0",
},
{
offset: 1,
color: "#FFC671",
},
]),
},
}
]
}
myChart.setOption(option);
},
handleClick(type,index){
if(type === 1){
this.typeIndex=index;
}
if(type === 2){
this.qydqIndex=index;
}
},
}
}
</script>
<style lang="scss" scoped>
.zhongbiao{
.zb-content{
background: #ffffff;
border-radius: 4px;
margin-top: 12px;
padding: 16px;
}
.text{
width: 100%;
line-height: 28px;
padding: 0 16px;
margin-top: 24px;
font-size: 12px;
color: rgba(35,35,35,0.8);
background: #F4F4F5;
border-radius: 2px;
margin-bottom: 24px;
}
.tips{
margin: 0;
padding-top: 16px;
font-size: 12px;
color: rgba(35,35,35,0.4);
i{
color:#909399;
margin-right: 9px;
}
}
.content1{
.main1{
.left{
width: 20%;
float: left;
.item{
height: 74px;
line-height: 74px;
color: #333333;
font-size: 16px;
padding-left: 30px;
border-top: 1px solid #EAF3FF;
border-left: 1px solid #EAF3FF;
border-right: 1px solid #EAF3FF;
cursor: pointer;
}
.item:last-child{
border-bottom: 1px solid #EAF3FF;
}
.color{
background: #F0F3FA;
color:#0081FF;
i{
width: 4px;
height: 29px;
background: #0081FF;
border-radius: 10px;
display: inline-block;
float: right;
margin-top: 22px;
}
}
}
.right{
width: 79%;
float: right;
background: #F0F3FA;
height: 295px;
padding: 16px;
}
}
.main2{
margin-top: 30px;
.head{
span{
font-size: 12px;
color: rgba(35,35,35,0.8);
}
.number{
color:#FF3C3C;
}
::v-deep .el-select{
width: 100px;
height: 32px;
.el-input{
width: 100%;
height: 32px;
}
.el-input__inner{
height: 32px !important;
line-height: 32px;
}
}
}
}
.table-item{
margin-top: 12px;
}
}
.content2{
.tabs{
margin-top: 32px;
margin-bottom: 24px;
.item{
display: inline-block;
color: #3D3D3D;
font-size: 14px;
margin-right: 24px;
cursor: pointer;
}
.color{
color: #3D3D3D;
font-weight: 700;
position: relative;
i{
width: 42px;
height: 2px;
background: #0081FF;
display: inline-block;
position: absolute;
bottom:-4px;
left: 50%;
transform: translate(-50%,0);
}
}
}
.table-item{
margin-top: 32px;
}
}
.content3{
.table-item{
margin-top: 32px;
}
}
.table-item{
::v-deep .el-table{
.el-table__header-wrapper{
th{
padding: 0;
}
}
}
}
}
</style>
<template> <template>
<div class="app-container container-box nationalEconomies"> <div class="app-container container-box nationalEconomies">
<div class="flex-box query-box"> <div class="header">
<div class="flex-box query-params"> <el-tabs v-model="activeName" @tab-click="handleClick">
<span class="common-title">全国经济大全</span> <el-tab-pane label="全国经济大全" name="first"></el-tab-pane>
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <el-tab-pane label="全国招标市场分析" name="second"></el-tab-pane>
<el-form-item prop="year"> <el-tab-pane label="全国中标市场分析" name="third"></el-tab-pane>
<el-select v-model="queryParams.year" filterable multiple collapse-tags class="form-content-width" placeholder="请选择年度" @change="querySubmit"> </el-tabs>
<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item prop="area">
<el-cascader
ref="address"
:options="addressList"
:props="props"
v-model="queryParams.address"
@change="querySubmit"
placeholder="地区选择"
collapse-tags
clearable></el-cascader>
</el-form-item>
</el-form>
</div> </div>
<div class="flex-box query-ability"> <Economic v-if="activeName === 'first'"></Economic>
<span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span> <ZhaoBiao v-if="activeName === 'second'"></ZhaoBiao>
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <ZhongBiao v-if="activeName === 'third'"></ZhongBiao>
</div>
</div>
<div class="table-item">
<el-table
v-loading="tableLoading"
:data="tableData"
element-loading-text="Loading"
border
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="地区" min-width="70" align="left" fixed>
<template slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ scope.row.address || '广东省' }}</router-link>
</template>
</el-table-column>
<el-table-column label="年度明细" prop="dataId" width="90" align="left" fixed>
<template slot-scope="scope">
<img src="@/assets/images/icon_detailed.png" class="icon-detailed" @click="handleDetail(scope.row)">
</template>
</el-table-column>
<el-table-column label="GDP(元)" prop="dataId" sortable min-width="115" align="right" />
<el-table-column label="GDP增速" prop="cgrdm" sortable min-width="100" align="right" />
<el-table-column label="人均GDP(元)" prop="cgrssqy" sortable width="125" align="right" />
<el-table-column label="人口(万人)" prop="cgrssqy" sortable width="120" align="right" />
<el-table-column label="一般公共预算收入 (亿元)" prop="cgrzyhy" sortable width="170" align="right" />
<el-table-column label="一般公共预算收入增速(%)" prop="cgzzxs" sortable min-width="140" align="right" />
<el-table-column label="一般公共预算支出(亿元)" prop="cgfs" sortable width="140" align="left" />
<el-table-column label="政府性基金收入(亿元)" width="140" sortable align="left">
<template slot-scope="scope">
<router-link to="/purchaserDetail" target="_blank" tag="a" class="a-link">{{ scope.row.zbwj }}</router-link>
</template>
</el-table-column>
<el-table-column label="政府性基金收入:土地出让收入(亿元)" prop="cgfs" sortable width="150" align="left" />
<el-table-column label="政府性基金支出(亿元)" prop="cgfs" width="170" sortable align="left" />
<el-table-column label="国有资产经营收入(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="国有资产经营支出(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="固定资产投资(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="财政自给率(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="地方政府债务余额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="一般债余额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="专项债余额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="地方政府债务限额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="城投平台有息债务(亿元)" prop="cgfs" width="160" align="left" >
<template slot="header" slot-scope="scope">
<span>城投平台有息债务(亿元)
<el-tooltip popper-class="tips" effect="light" content="城投平台有息债务是该地区行政区划下所有的城投公司的短期债务与长期债务合计。其中,短期债务=短期借款+一年内到期的非流动负债+应付短期债券,长期债务=长期借款+应付长期债券。" placement="top">
<i class="el-icon-warning-outline"></i>
</el-tooltip>
</span>
</template>
</el-table-column>
<el-table-column label="负债率(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="负债率(宽口径)(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="债务率(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="债务率(宽口径)(%)" prop="cgfs" width="160" align="left" />
<el-table-column label="金融机构存款余额(本外币)(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="金融机构贷款余额(本外币)(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="第一产业增加值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="第二产业增加值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="第三产业增加值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="工业增加值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="工业总产值(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="进出口总额(亿美元)" prop="cgfs" width="160" align="left" />
<el-table-column label="社会消费品零售总额(亿元)" prop="cgfs" width="160" align="left" />
<el-table-column label="城镇居民人均可支配收入(元)" prop="cgfs" width="160" align="left" />
</el-table>
</div>
<div class="pagination-box">
<el-pagination background :current-page="pageIndex" :page-size="pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
<economies-detail ref="economiesDetail" />
</div> </div>
</template> </template>
<script> <script>
import { browsedIndexPage } from '@/api/nationalEconomies' import Economic from './component/qgjjdq'
import dataRegion from '@/assets/json/dataRegion' import ZhaoBiao from './component/zhaobiao'
import economiesDetail from './component/economies-detail' import ZhongBiao from './component/zhongbiao'
import axios from 'axios'
export default { export default {
name: 'NationalEconomies', name: 'NationalEconomies',
components: { components: {
economiesDetail Economic,ZhaoBiao,ZhongBiao
}, },
data() { data() {
return { return {
queryParams: { activeName: 'first'
year: '',
address: ''
},
yearOptions: [
{ name: '2023年', value: '2023' },
{ name: '2022年', value: '2022' },
{ name: '2021年', value: '2021' },
],
props: {
value: 'id',
multiple: true,
},
addressList: [],
tableData: [
{
dataId:'1',
cgrssqy:'100',
cgfs:'200'
}
],
tableLoading: false,
pageIndex: 1,
pageSize: 10,
tableDataTotal: 0
} }
}, },
created() { created() {
this.querySubmit()
this.dataRegion()
}, },
methods: { methods: {
//地区
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;
},
// 查询提交
async querySubmit() {
// this.tableLoading = true
const params = { pageIndex: this.pageIndex, pageSize: this.pageSize, browsedType: 1 }
if(this.queryParams.address){ handleClick() {
let arr = this.$refs.address.getCheckedNodes();
let provinceCode = [],cityCode = [],countyCode = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && cityCode.push(arr[i].value);
!arr[i].hasChildren && countyCode.push(arr[i].value);
}
} else {
provinceCode.push(arr[i].value)
}
}
if(provinceCode.length > 0){
params.procinceId=provinceCode.join(',')
}
if(cityCode.length > 0){
params.cityId=cityCode.join(',')
}
if(countyCode.length > 0){
params.districtId=countyCode.join(',')
}
}
console.log(params)
// browsedIndexPage(params).then(res => {
// this.tableData = res.data.list
// this.tableDataTotal = res.data.totalCount
// })
// // 延迟关闭加载效果
// setTimeout(() => {
// this.tableLoading = false
// }, 200)
},
// 明细
handleDetail(row) {
this.$refs.economiesDetail.open(row)
},
// 重置页数
handleSizeChange(val) {
this.pageIndex = 1
this.pageSize = val
this.querySubmit()
},
// 跳转指定页数
handleCurrentChange(val) {
this.pageIndex = val
this.querySubmit()
} }
} }
} }
...@@ -274,15 +55,10 @@ export default { ...@@ -274,15 +55,10 @@ export default {
} }
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.app-container{
.query-box{ padding: 0;
margin: -8px 0 8px 0;
.query-params{
.el-form{
margin-left: 24px;
}
}
} }
.icon-detailed{ .icon-detailed{
width: 16px; width: 16px;
height: 16px; height: 16px;
...@@ -290,30 +66,42 @@ export default { ...@@ -290,30 +66,42 @@ export default {
} }
.nationalEconomies{ .nationalEconomies{
background: #ffffff;
border-radius: 4px; border-radius: 4px;
.table-item{ .header{
::v-deep .el-table{ justify-content: space-between;
th{ height: 48px;
font-size: 12px !important; background: #FFFFFF;
font-weight: 400 !important; border-radius: 4px;
color: #232323;
::v-deep .el-tabs{
height: 48px;
line-height: 48px;
.el-tabs__nav-wrap::after {
position: static !important;
} }
.el-table__fixed-header-wrapper th{ .el-tabs__header{
background: #F0F3FA; margin: 0;
.el-tabs__item{
padding: 0 16px;
font-size: 16px;
} }
.caret-wrapper{ .is-active{
width: 10px; font-weight: bold;
/*<!--position: absolute;-->*/
/*<!--right: 12px;-->*/
/*<!--top: -3px;-->*/
} }
/*.sort-caret{*/
/*position: initial;*/
/*}*/
/*.ascending{*/
/*margin-bottom: 3px;*/
/*}*/
} }
.el-tabs__content{
width: 100%;
} }
} }
.location{
font-size: 14px;
color: #0081FF;
i{
margin-right: 6px;
font-size: 16px;
}
}
}
}
</style> </style>
...@@ -28,97 +28,97 @@ public class EnterpriseCreditService { ...@@ -28,97 +28,97 @@ public class EnterpriseCreditService {
public TableDataInfo penalizePage(EnterpriseCreditPenalizePageBody body) throws Exception { public TableDataInfo penalizePage(EnterpriseCreditPenalizePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/penalizePage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/penalizePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R penalizeReasonType(EnterpriseCreditPenalizeReasonTypeBody body) throws Exception { public R penalizeReasonType(EnterpriseCreditPenalizeReasonTypeBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/penalizeReasonType", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/penalizeReasonType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo abnormalPage(EnterpriseCreditAbnormalPageBody body) throws Exception { public TableDataInfo abnormalPage(EnterpriseCreditAbnormalPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/abnormalPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/abnormalPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R abnormalYears(EnterpriseCreditAbnormalYearsBody body) throws Exception { public R abnormalYears(EnterpriseCreditAbnormalYearsBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/abnormalYears", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/abnormalYears", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo executedPersonsPage(EnterpriseCreditExecutedPersonsPageBody body) throws Exception { public TableDataInfo executedPersonsPage(EnterpriseCreditExecutedPersonsPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/executedPersonsPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/executedPersonsPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public TableDataInfo executedPage(EnterpriseCreditExecutedPageBody body) throws Exception { public TableDataInfo executedPage(EnterpriseCreditExecutedPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/executedPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/executedPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public TableDataInfo lawsuitsPage(EnterpriseCreditLawsuitsPageBody body) throws Exception { public TableDataInfo lawsuitsPage(EnterpriseCreditLawsuitsPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R lawsuitsCauseAction(EnterpriseCreditLawsuitsCauseActionBody body) throws Exception { public R lawsuitsCauseAction(EnterpriseCreditLawsuitsCauseActionBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsCauseAction", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsCauseAction", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R lawsuitsRole(EnterpriseCreditLawsuitsRoleBody body) throws Exception { public R lawsuitsRole(EnterpriseCreditLawsuitsRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsRole", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo noticesPage(EnterpriseCreditNoticePageBody body) throws Exception { public TableDataInfo noticesPage(EnterpriseCreditNoticePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R noticesType(EnterpriseCreditNoticeTypeBody body) throws Exception { public R noticesType(EnterpriseCreditNoticeTypeBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesType", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R noticesRole(EnterpriseCreditNoticeRoleBody body) throws Exception { public R noticesRole(EnterpriseCreditNoticeRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesRole", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R noticesCaseReason(EnterpriseCreditNoticeCaseReasonBody body) throws Exception { public R noticesCaseReason(EnterpriseCreditNoticeCaseReasonBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesCaseReason", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesCaseReason", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo kaitingPage(EnterpriseCreditKaitingPageBody body) throws Exception { public TableDataInfo kaitingPage(EnterpriseCreditKaitingPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R kaitingCauseAction(EnterpriseCreditKaitingCauseActionBody body) throws Exception { public R kaitingCauseAction(EnterpriseCreditKaitingCauseActionBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingCauseAction", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingCauseAction", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R kaitingPureRole(EnterpriseCreditKaitingPureRoleBody body) throws Exception { public R kaitingPureRole(EnterpriseCreditKaitingPureRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingPureRole", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingPureRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
} }
package com.dsk.system.dskService; package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*; import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
@Service @Service
...@@ -22,79 +25,83 @@ public class EnterpriseProjectService { ...@@ -22,79 +25,83 @@ public class EnterpriseProjectService {
public TableDataInfo landTransactionPage(EnterpriseProjectLandTransactionPageBody body) throws Exception { public TableDataInfo landTransactionPage(EnterpriseProjectLandTransactionPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/landTransactionPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landTransactionPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R landUse(EnterpriseProjectLandUseBody body) throws Exception { public R landUse(EnterpriseProjectLandUseBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/landUse", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landUse", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R landDetail(EnterpriseProjectLandDetailBody body) throws Exception { public R landDetail(EnterpriseProjectLandDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/landDetail", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/landDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo approvalProjectPage(EnterpriseProjectApprovalProjectPageBody body) throws Exception { public TableDataInfo approvalProjectPage(EnterpriseProjectApprovalProjectPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/approvalProjectPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R approvalInfoDetail(EnterpriseProjectApprovalInfoDetailBody body) throws Exception { public R approvalInfoDetail(EnterpriseProjectApprovalInfoDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/approvalInfoDetail", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalInfoDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo approvalExaminePage(EnterpriseProjectApprovalExaminePageBody body) throws Exception { public TableDataInfo approvalExaminePage(EnterpriseProjectApprovalExaminePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/approvalExaminePage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalExaminePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public TableDataInfo approvalMarketingPage(EnterpriseProjectApprovalMarketingPageBody body) throws Exception { public TableDataInfo approvalMarketingPage(EnterpriseProjectApprovalMarketingPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/approvalMarketingPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/approvalMarketingPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public TableDataInfo specialDebtProjectPage(Object body) throws Exception { public TableDataInfo specialDebtProjectPage(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/specialDebtProjectPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/specialDebtProjectPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R specialDebtProjectDetail(Object body) throws Exception { public R specialDebtProjectDetail(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/specialDebtProjectDetail", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/specialDebtProjectDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo specialDebtPage(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/specialDebtPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo bidNoticePage(EnterpriseProjectBidNoticePageBody body) throws Exception { public TableDataInfo bidNoticePage(EnterpriseProjectBidNoticePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticePage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R bidNoticeTenderStage(EnterpriseProjectBidNoticeTenderStageBody body) throws Exception { public R bidNoticeTenderStage(EnterpriseProjectBidNoticeTenderStageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeTenderStage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeTenderStage", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R bidNoticeArea(EnterpriseProjectBidNoticeAreaBody body) throws Exception { public R bidNoticeArea(EnterpriseProjectBidNoticeAreaBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeArea", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeArea", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R bidNoticeDetail(EnterpriseProjectBidNoticeDetailBody body) throws Exception { public R bidNoticeDetail(EnterpriseProjectBidNoticeDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeDetail", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
...@@ -107,39 +114,65 @@ public class EnterpriseProjectService { ...@@ -107,39 +114,65 @@ public class EnterpriseProjectService {
public R bidPlanDetail(Object body) throws Exception { public R bidPlanDetail(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidPlanDetail", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidPlanDetail", BeanUtil.beanToMap(body, false, false));
Map data = MapUtils.getMap(map, "data", null);
String contentId = MapUtils.getString(data, "contentId");
if (ObjectUtil.isEmpty(contentId)) {
return BeanUtil.toBean(map, R.class);
}
// HashMap<String, Object> contentParam = new HashMap<>();
// contentParam.put("data_type", "bid_plan");
// contentParam.put("filter_type", 2);
// contentParam.put("strategy_id", contentId);
HashMap<String, Object> param = new HashMap<>();
param.put("data_type", "kaibiao");
param.put("filter_type", 2);
param.put("strategy_id", "647477d52ba0e4cb1410c7f6");
Map<String, Object> contentMap = dskOpenApiUtil.requestBody("/mongocontent/v1/cjb/mongo_content", BeanUtil.beanToMap(param, false, false));
Map contentData = MapUtils.getMap(contentMap, "data", null);
if (200 != MapUtils.getInteger(contentMap, "code", 300)) {
return BeanUtil.toBean(map, R.class);
}
String htmlContent = MapUtils.getString(contentData, "htmlContent");
map.put("content", htmlContent);
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo bidNoticeProPage(EnterpriseProjectBidNoticeProPageBody body) throws Exception { public TableDataInfo bidNoticeProPage(EnterpriseProjectBidNoticeProPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R bidNoticeProProjectType(EnterpriseProjectBidNoticeProProjectTypeBody body) throws Exception { public R bidNoticeProProjectType(EnterpriseProjectBidNoticeProProjectTypeBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProProjectType", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProProjectType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R bidNoticeProProjectPurposes(EnterpriseProjectBidNoticeProProjectPurposesBody body) throws Exception { public R bidNoticeProProjectPurposes(EnterpriseProjectBidNoticeProProjectPurposesBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProProjectPurposes", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProProjectPurposes", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R bidNoticeProAssessmentWay(EnterpriseProjectBidNoticeProAssessmentWayBody body) throws Exception { public R bidNoticeProAssessmentWay(EnterpriseProjectBidNoticeProAssessmentWayBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProAssessmentWay", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProAssessmentWay", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R bidNoticeProDetail(EnterpriseProjectBidNoticeProDetailBody body) throws Exception { public R bidNoticeProDetail(EnterpriseProjectBidNoticeProDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidNoticeProDetail", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidNoticeProDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo creditXzxkPage(EnterpriseProjectCreditXzxkPageBody body) throws Exception { public TableDataInfo creditXzxkPage(EnterpriseProjectCreditXzxkPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/creditXzxkPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/creditXzxkPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
} }
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