Commit c61d57e4 authored by yht15023815643's avatar yht15023815643

政府专项债

parent 0a4086d8
......@@ -113,7 +113,7 @@
<ul class="bottomlist-content" v-if="!isSkeleton&&tableData.length>0">
<li class="bottomlist-list" v-for="item in tableData">
<p class="list-titel">
<router-link :to="'/radar/debtProject/details/'+ item.uuid" tag="a" class="list-titel-a" v-html="item.projectName" ></router-link>
<router-link :to="'/radar/debtProject/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName" ></router-link>
</p>
<div class="content-label" v-if="item.domicile">
......
<template>
<div class="app-container qyzx-details">
<div class="content main1">
<div class="title">
<img src="@/assets/images/financing/head_icon.png" />
<span>{{textList.projectName}}</span>
</div>
<p>{{textList.projectScale}}</p>
<div class="cont-title"><img src="@/assets/images/financing/head_icon.png" />{{details.projectName}}</div>
<p>{{details.projectScale}}</p>
</div>
<div class="content main2">
<div class="common-title">项目筹资</div>
......@@ -13,40 +10,28 @@
<div class="list">
<div class="item color1">
<div class="item-left">
<h4 v-if="textList.projectTotalInvestment">{{textList.projectTotalInvestment}}<span>亿元</span></h4>
<h4 v-else>
--
</h4>
<h4>{{details.projectTotalInvestment || '-'}}<span>{{details.projectTotalInvestment ? '亿' : ''}}</span></h4>
<p>项目总投资额</p>
</div>
<img class="img" src="@/assets/images/financing/icon1.png" />
</div>
<div class="item color2">
<div class="item-left">
<h4 v-if="textList.projectCapital">{{textList.projectCapital}}<span>亿元</span></h4>
<h4 v-else>
--
</h4>
<h4>{{details.projectCapital || '-'}}<span>{{details.projectCapital ? '亿' : ''}}</span></h4>
<p>项目资本金</p>
</div>
<img class="img" src="@/assets/images/financing/icon2.png" />
</div>
<div class="item color3">
<div class="item-left">
<h4 v-if="textList.econData_013">{{textList.econData_013}}<span>亿元</span></h4>
<h4 v-else>
--
</h4>
<h4>{{details.specialBondFinancing || '-'}}<span>{{details.specialBondFinancing ? '亿' : ''}}</span></h4>
<p>专项债融资</p>
</div>
<img class="img" src="@/assets/images/financing/icon3.png" />
</div>
<div class="item color4">
<div class="item-left">
<h4 v-if="textList.specialBondCapital">{{textList.specialBondCapital}}<span>亿元</span></h4>
<h4 v-else>
--
</h4>
<h4>{{details.specialBondCapital || '-'}}<span>{{details.specialBondCapital ? '亿' : ''}}</span></h4>
<p>专项债用作资本金</p>
</div>
<img class="img" src="@/assets/images/financing/icon4.png" />
......@@ -55,40 +40,28 @@
<div class="list">
<div class="item color4">
<div class="item-left">
<h4 v-if="textList.otherFunds">{{textList.otherFunds}}<span>亿元</span></h4>
<h4 v-else>
--
</h4>
<h4>{{details.otherFunds || '-'}}<span>{{details.otherFunds ? '亿' : ''}}</span></h4>
<p>其他资金</p>
</div>
<img class="img" src="@/assets/images/financing/icon5.png" />
</div>
<div class="item color3">
<div class="item-left">
<h4 v-if="textList.specialBondIssue_number">{{textList.specialBondIssue_number}}<span>亿元/ 10只</span></h4>
<h4 v-else>
--
</h4>
<h4>{{details.specialBondFinancingAmount || '-'}}<span>{{details.specialBondFinancingAmount ? '亿' : ''}} / {{details.specialBondIssueNumber || '-'}}{{details.specialBondIssueNumber ? '只' : ''}}</span></h4>
<p>专项债融资额/专项债只数</p>
</div>
<img class="img" src="@/assets/images/financing/icon6.png" />
</div>
<div class="item color4">
<div class="item-left">
<h4 v-if="textList.otherFinancing">{{textList.otherFinancing}}<span>亿元</span></h4>
<h4 v-else>
--
</h4>
<h4>{{details.otherFinancing || '-'}}<span>{{details.otherFinancing ? '亿' : ''}}</span></h4>
<p>其他融资</p>
</div>
<img class="img" src="@/assets/images/financing/icon7.png" />
</div>
<div class="item color2">
<div class="item-left">
<h4 v-if="textList.govSupportFunds">{{textList.govSupportFunds}}<span>亿元</span></h4>
<h4 v-else>
--
</h4>
<h4>{{details.govSupportFunds || '-'}}<span>{{details.govSupportFunds ? '亿' : ''}}</span></h4>
<p>政府安排资金</p>
</div>
<img class="img" src="@/assets/images/financing/icon8.png" />
......@@ -101,33 +74,27 @@
<div class="main3-box">
<p>
<label class="label">项目总收益/项目总债务融资本息(覆盖倍数)</label>
<span v-if="textList.econData_007">{{textList.econData_007}}</span>
<span v-else>--</span>
<span>{{details.econData007 || '-'}}{{details.econData007 ? '倍' : ''}}</span>
</p>
<p>
<label class="label">项目总收益/项目总地方债券融资本息</label>
<span v-if="textList.econData_008">{{textList.econData_008}}</span>
<span v-else>--</span>
<span>{{details.econData008 || '-'}}{{details.econData008 ? '倍' : ''}}</span>
</p>
<p>
<label class="label">项目总收益/项目总投资</label>
<span v-if="textList.econData_009">{{textList.econData_009}}</span>
<span v-else>--</span>
<span>{{details.econData009 || '-'}}{{details.econData009 ? '倍' : ''}}</span>
</p>
<p>
<label class="label">项目总收益/项目总地方债券融资本金</label>
<span v-if="textList.econData_010">{{textList.econData_010}}</span>
<span v-else>--</span>
<span>{{details.econData010 || '-'}}{{details.econData010 ? '倍' : ''}}</span>
</p>
<p>
<label class="label">项目总收益/项目总债务融资本金</label>
<span v-if="textList.econData_011">{{textList.econData_011}}</span>
<span v-else>--</span>
<span>{{details.econData011 || '-'}}{{details.econData011 ? '倍' : ''}}</span>
</p>
<p>
<label class="label">项目预测总收益</label>
<span v-if="textList.projectForecastTotalRevenue">{{textList.projectForecastTotalRevenue}}亿元</span>
<span v-else>--</span>
<span>{{details.projectForecastTotalRevenue || '-'}}{{details.projectForecastTotalRevenue ? '亿' : ''}}</span>
</p>
</div>
</div>
......@@ -135,264 +102,216 @@
<div class="common-title">项目当事人</div>
<div class="main4-box">
<label class="label">项目主体</label>
<span>
<router-link v-if="textList.projectEntity" :to="textList.projectEntityUipId?'/enterprise/' + encodeStr(textList.projectEntityId) :'/company/' + encodeStr(textList.projectEntityId) " tag="a" class="list-titel-a blue" v-html="textList.projectEntity"></router-link>
<template v-else>--</template>
</span>
<span>{{details.projectEntity || '-'}}</span>
<label class="label">主管部门</label>
<span>{{textList.chargeDepartment||'--'}}</span>
<span>{{details.chargeDepartment || '-'}}</span>
<label class="label">实施单位</label>
<span>
<router-link v-if="textList.piu" :to="textList.piuUipId?'/enterprise/' +encodeStr(textList.piuId):'/company/' + encodeStr(textList.piuId) " tag="a" class="list-titel-a blue" v-html="textList.piu"></router-link>
<template v-else>--</template>
</span>
<span>{{details.piu || '-'}}</span>
</div>
</div>
<div class="content main5">
<div class="common-title">专项债</div>
<div class="table-item">
<el-table :data="tableData" element-loading-text="Loading" border fit highlight-current-row>
<el-table-column prop="name" label="债券简称">
<template slot-scope="scope">
{{ scope.row.bondAbbreviation}}
</template>
<el-table
:data="tableData"
element-loading-text="Loading"
border
fit
highlight-current-row
>
<el-table-column prop="bondAbbreviation" label="债券简称">
<!--<template slot-scope="scope">-->
<!--<router-link :to="'/macro/financing/details/'+ scope.row.id" tag="a" class="a-link">{{ scope.row.bondAbbreviation}}</router-link>-->
<!--</template>-->
</el-table-column>
<el-table-column prop="tenderDate" label="招标日期" width="220" />
<el-table-column prop="actualBondIssueScale" label="专项债规模(亿)" width="260" />
<el-table-column prop="isUsedProjectScale" label="用于项目规模(亿)" width="260" />
<el-table-column label="是否资本金" width="200">
<el-table-column label="招标日期" width="220">
<template slot-scope="scope">
<span v-if="scope.row.isUsedCapital==1"></span>
<span v-else-if="scope.row.isUsedCapital==2"></span>
<span v-else>--</span>
{{formatDate(scope.row.tenderDate)}}
</template>
</el-table-column>
<el-table-column prop="actualBondIssueScale" label="专项债规模(亿)" width="260" :formatter="formatStatus"/>
<el-table-column prop="isUsedProjectScale" label="用于项目规模(亿)" width="260" :formatter="formatStatus"/>
<el-table-column prop="isUsedCapital" label="是否资本金" width="200" :formatter="formatStatus"/>
</el-table>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page="pageNum"
@current-change="handleCurrentChange" layout="prev, pager, next" :total="total">
</el-pagination>
</div>
</div>
</div>
</div>
</template>
</template>
<script>
import {
encodeStr
} from "@/assets/js/common.js"
import api from '@/api/radar/radar.js';
<script>
import { details,bondPage } from '@/api/macro/macro'
export default {
name: 'debtProjectDetails',
data() {
return {
encodeStr,
id: '',
tableData: [],
"pageNum": 1,
"pageSize": 10,
total: 0,
textList: {}
id:'',
tableData:[],
details:{},
tableLoading: false,
pageIndex: 1,
pageSize: 10,
tableDataTotal: 1,
}
},
created() {
this.id = this.$route.params.id;
this.specialDebtPage();
this.specialDebtProjectDetail();
this.id=this.$route.params.id;
this.getDetails()
},
methods: {
specialDebtProjectDetail() {
api.specialDebtProjectDetail({
id: this.id
}).then(res => {
// console.log(res);
this.textList = res.data;
console.log(this.textList);
}).catch(error => {
});
getDetails(){
details({id:this.id}).then(res => {
this.details=res.data;
this.getData()
})
},
handleCurrentChange(pageNum) {
this.pageNum = pageNum;
this.search(pageNum, this.pageSize);
getData(){
// const params = { pageNum: this.pageIndex, pageSize: this.pageSize,specialBondUuid:'2e59fca0-21a6-47db-975d-5481e1c52f45_74'}
const params = { pageNum: this.pageIndex, pageSize: this.pageSize,specialBondUuid:this.details.specialBondUuid}
bondPage(params).then(res => {
this.tableData=res.data.list;
this.tableDataTotal=res.data.totalCount;
})
},
formatDate(cellValue) {
if (cellValue == null || cellValue == "") return "";
var date = new Date(cellValue)
var year = date.getFullYear()
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
// var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
// var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
// var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
// return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
return year + '-' + month + '-' + day
},
formatStatus: function(row, column, cellValue) {
return cellValue? cellValue : '-'
},
specialDebtPage(pageNum, pageSize) {
if (!pageNum) {
this.pageNum = 1;
}
if (!pageSize) {
this.pageSize = 20;
}
var data = {
id: this.id,
pageNum: this.pageNum,
pageSize: this.pageSize
}
api.specialDebtPage(data).then(res => {
// console.log(res);
this.tableData = res.rows;
this.total = res.total;
console.log(this.tableData);
}).catch(error => {
});
}
}
}
</script>
</script>
<style lang="scss" scoped>
.app-container {
<style lang="scss" scoped>
.app-container{
padding: 0;
}
.qyzx-details {
.tab {
.qyzx-details{
.tab{
font-size: 12px;
color: #A1A1A1;
span {
color: #232323;
color:#A1A1A1;
span{
color:#232323;
}
}
.content {
.content{
margin-top: 16px;
background: #FFFFFF;
padding: 16px;
border-radius: 4px;
}
.common-title {
.common-title{
margin-bottom: 8px;
}
.main1 {
.title {
display: inline-flex;
.main1{
.cont-title{
color: #232323;
font-size: 16px;
line-height: 28px;
font-weight: bold;
margin-bottom: 8px;
text-align: left;
padding: 0px;
border: none;
img {
img{
width: 28px;
height: 28px;
margin-bottom: -9px;
// margin-bottom: -9px;
margin-right: 17px;
}
}
p {
p{
color: #3D3D3D;
font-size: 14px;
margin: 0;
}
}
.main2 {
.list {
.main2{
.list{
display: flex;
margin: 16px 0;
}
.item {
.item{
width: 24.5%;
margin-right: 16px;
height: 100px;
display: flex;
justify-content: space-between;
border-radius: 8px;
.item-left {
.item-left{
margin-left: 16px;
margin-top: 24px;
h4 {
h4{
color: #232323;
font-size: 22px;
line-height: 22px;
font-weight: bold;
margin: 0;
span {
span{
font-weight: 400;
margin-left: 4px;
font-size: 18px;
}
}
p {
p{
margin: 0;
color: #3D3D3D;
font-size: 14px;
padding-top: 8px;
}
}
.img {
.img{
width: 56px;
height: 56px;
margin-top: 22px;
margin-right: 12px;
}
}
.color1 {
background: rgba(246, 190, 59, 0.08);
border: 1px solid rgba(246, 190, 59, 0.2);
.color1{
background: rgba(246,190,59,0.08);
border: 1px solid rgba(246,190,59,0.2);
}
.color2 {
background: rgba(148, 216, 196, 0.102);
border: 1px solid rgba(73, 187, 154, 0.1);
.color2{
background: rgba(148,216,196,0.102);
border: 1px solid rgba(73,187,154,0.1);
}
.color3 {
background: rgba(57, 100, 199, 0.06);
border: 1px solid rgba(57, 100, 199, 0.1);
.color3{
background: rgba(57,100,199,0.06);
border: 1px solid rgba(57,100,199,0.1);
}
.color4 {
background: rgba(0, 129, 255, 0.04);
border: 1px solid rgba(0, 129, 255, 0.1);
.color4{
background: rgba(0,129,255,0.04);
border: 1px solid rgba(0,129,255,0.1);
}
}
.main3 {
.main3-box {
.main3{
.main3-box{
margin-top: 22px;
p {
p{
margin: 0;
display: inline-flex;
display: inline-block;
width: 50%;
border-top: 1px solid #E6E9F0;
border-left: 1px solid #E6E9F0;
}
p:nth-child(2n) {
p:nth-child(2n){
border-right: 1px solid #E6E9F0;
}
p:nth-child(5) {
p:nth-child(5){
border-bottom: 1px solid #E6E9F0;
}
p:last-child {
p:last-child{
border-bottom: 1px solid #E6E9F0;
}
.label {
.label{
width: 60%;
background: #F0F3FA;
display: inline-block;
......@@ -401,11 +320,10 @@
border-right: 1px solid #E6E9F0;
line-height: 40px;
font-size: 12px;
color: rgba(35, 35, 35, 0.8);
color: rgba(35,35,35,0.8);
padding-left: 12px;
}
span {
span{
width: 40%;
display: inline-block;
height: 40px;
......@@ -415,13 +333,10 @@
}
}
}
.main4 {
.main4-box {
.main4{
.main4-box{
margin-top: 22px;
display: flex;
.label {
.label{
width: 14%;
background: #F0F3FA;
border: 1px solid #E6E9F0;
......@@ -429,11 +344,10 @@
height: 40px;
line-height: 40px;
font-size: 12px;
color: rgba(35, 35, 35, 0.8);
color: rgba(35,35,35,0.8);
padding-left: 12px;
}
span {
span{
width: 19%;
display: inline-block;
height: 40px;
......@@ -442,30 +356,18 @@
border-bottom: 1px solid #E6E9F0;
padding-left: 12px;
font-size: 12px;
.blue{
color: #0081FF;
}
}
span:last-child {
span:last-child{
width: 20%;
border-right: 1px solid #E6E9F0;
}
}
}
.main5 {
.table-item {
.main5{
.table-item{
margin-top: 22px;
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
}
}
</style>
\ No newline at end of file
</style>
\ No newline at end of file
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