假数据做真跳转、政务端、企业端关于资金拨付数据对接、脱敏数据库的登录页替换

master
吕天方 5 months ago
parent c709a76189
commit c49d36d548

@ -5,8 +5,12 @@ VUE_APP_TITLE = 金鸡湖现代服务业品牌管理系统
ENV = 'development'
# 金鸡湖现代服务业品牌管理系统/开发环境
# VUE_APP_BASE_API = 'http://192.168.0.111:9040'
VUE_APP_BASE_API = 'http://39.101.188.84:9040'
VUE_APP_BASE_API = 'http://192.168.0.110:9031'
# 测试环境数据库
# VUE_APP_BASE_API = 'http://39.101.188.84:9040'
# 脱敏三方测试用数据库
# VUE_APP_BASE_API = 'http://39.101.188.84:9031'
# 正式环境数据库
# VUE_APP_BASE_API = 'https://idp.sipac.gov.cn/api'
# 路由懒加载

@ -6,7 +6,10 @@ ENV = 'production'
# 金鸡湖现代服务业品牌管理系统/生产环境
# VUE_APP_BASE_API = '/prod-api'
# 测试环境数据库
VUE_APP_BASE_API = 'http://39.101.188.84:9040'
# 脱敏三方测试用数据库
# VUE_APP_BASE_API = 'http://39.101.188.84:9031'
# VUE_APP_BASE_API = 'http://192.114.0.197/api'
# 正式环境数据库
# VUE_APP_BASE_API = 'https://idp.sipac.gov.cn/api'

@ -1,6 +1,6 @@
{
"name": "ruoyi",
"version": "1.0.202408091105",
"version": "1.0.202408121511",
"description": "金鸡湖现代服务业品牌管理系统",
"author": "若依",
"license": "MIT",

@ -0,0 +1,42 @@
import request from "@/utils/request"
// 查询项目库详情下的资金情况
export function jProjectFund(id) {
return request({
url: "/jjh/jProjectFund/" + id,
method: "get",
})
}
// 企业端首页-->往年专项资金申报
export function usualFund() {
return request({
url: "/jjh/jProjectFund/usualFund" ,
method: "get",
})
}
// 企业端首页--> 荣誉资质 关联项目进展 type1企业荣誉资质 type2关联项目进展
export function enterpriseProject(params) {
return request({
url: "/jjh/jProjectFund/enterpriseProject" ,
method: "get",
params
})
}
// 政务端工作台-->拨付资金企业申请情况TOP5
export function appropriationTop5() {
return request({
url: "/jjh/jProjectFund/appropriationTop5" ,
method: "get",
})
}
// 政务端工作台-->资金引导拨付情况统计
export function fundStatistics() {
return request({
url: "/jjh/jProjectFund/fundStatistics" ,
method: "get",
})
}

@ -1882,6 +1882,7 @@
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
}
}
.promoteProject-bottom {
@ -1971,6 +1972,7 @@
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
}
}
.promoteProject-bottom {
@ -2285,6 +2287,7 @@
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
}
}
.promoteProject-bottom {
@ -2397,10 +2400,13 @@
flex: 1;
// width: 50%;
overflow-y: scroll;
display: grid;
grid-template-columns: 1fr;
row-gap: 10px;
// display: grid;
// grid-template-columns: 1fr;
// row-gap: 10px;
display: flex;
flex-direction: column;
.table-items {
margin-bottom: 10px;
padding: 15px 15px;
text-align: left;
background-color: #fff;
@ -2414,6 +2420,7 @@
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
}
.project-type,.declare-time,.appropriate {
display: flex;
@ -2443,24 +2450,34 @@
}
}
}
.right-tables-Two {
flex: 1;
}
}
//
.two-tables {
display: grid;
grid-template-columns: 1fr;
row-gap: 10px;
// display: grid;
// grid-template-columns: 1fr;
// row-gap: 10px;
margin-top: 10px;
display: flex;
flex-direction: column;
overflow-y: scroll;
.table-items {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
margin-bottom: 10px;
background-color: #fff;
.two-left {
font-family: AlibabaPuHuiTiM;
font-size: 16px;
color: #1890FF;
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
}
.two-right {
display: flex;
@ -2479,6 +2496,12 @@
//
section {
margin-top: 10px;
.el-table--border {
border: 1px solid #dfe6ec;
}
.el-table::after {
width: 0;
}
.el-table {
th {
font-family: AlibabaPuHuiTiM;
@ -2499,6 +2522,10 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #1890FF;
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
}
}
}
@ -2544,6 +2571,8 @@
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
display: flex;
}
}
.promoteProject-bottom {
@ -2555,6 +2584,7 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #666666;
display: flex;
.span-two {
font-family: AlibabaPuHuiTiM;
}

@ -107,7 +107,7 @@
<div class="card-type">规上企业数量:</div>
</div>
<div class="card-item-right">
<div class="card-number" @click="enterInfo(item.servicesType)">{{ item.qyCount }}</div>
<div class="card-number" @click="enterInfo(item.servicesType)">{{ item.qyCount ? item.qyCount : '-' }}</div>
<div class="card-unit"></div>
</div>
</div>
@ -117,7 +117,7 @@
<div class="card-type">规上企业营收:</div>
</div>
<div class="card-item-right">
<div class="card-number number-two">{{ item.allRevenue }}</div>
<div class="card-number number-two">{{ item.allRevenue ? item.allRevenue : '-' }}</div>
<div class="card-unit unit-two">亿</div>
</div>
</div>
@ -127,7 +127,7 @@
<div class="card-type">全口径增加值:</div>
</div>
<div class="card-item-right">
<div class="card-number number-three">{{ item.addValue }}</div>
<div class="card-number number-three">{{ item.addValue ? item.addValue : '-' }}</div>
<div class="card-unit unit-two">亿</div>
</div>
</div>
@ -142,7 +142,7 @@
<div class="statistics-item-img"></div>
<div class="statistics-item-type">企业数量:</div>
<div class="statistics-item-right">
<div class="statistics-item-number" @click="headqEnterpriseBtn">{{ AllData.qyCount }}</div>
<div class="statistics-item-number" @click="headqEnterpriseBtn">{{ AllData.qyCount ? AllData.qyCount : '-' }}</div>
<div class="statistics-item-unit">
<span></span>
</div>
@ -154,7 +154,7 @@
<div class="statistics-item-img item-img-two"></div>
<div class="statistics-item-type">税收贡献:</div>
<div class="statistics-item-right">
<div class="statistics-item-number number-two">{{ AllData.allRevenue }}</div>
<div class="statistics-item-number number-two">{{ AllData.allRevenue ? AllData.allRevenue : '-' }}</div>
<div class="statistics-item-unit unit-two">
<span>亿</span>
<el-popover
@ -417,7 +417,7 @@ export default {
},
//
enterInfo(title) {
this.titleDialog = title == 1 ? '生产性服务业' : title == 2 ? '生活性服务业' : title == 3 ? '新兴服务业' : title == 4 ? '限上批零住餐' : '';
this.titleDialog = title == 1 ? '生产性服务业' : title == 2 ? '生活性服务业' : title == 3 ? '规上服务业' : title == 4 ? '限上批零住餐' : '';
this.$refs.serviceIndustry.open(title)
},
//

@ -7,15 +7,15 @@ export default {
data() {
let colors = ['#5CBC69','#FF8929']
let datas = [
{ value: 5, name: '已完成', label:{color:"#5CBC69"}},
{ value: 95, name: '未完成', label:{color:"#FF8929"}},
{ value: 100, name: '已完成', label:{color:"#5CBC69"},labelLine: {show: true,length: 25,length2: 20,}},
{ value: 0, name: '未完成', label:{color:"#FF8929"},labelLine: {show: true,length: 25,length2: 20,}},
];
//
let itemStyle = {
// normal: {
borderRadius: 4,
borderColor: "#F5F8FA",
borderWidth: 4,
borderWidth: 0,
color: function (params) {
return colors[params.dataIndex];
},
@ -27,7 +27,7 @@ export default {
color:colors,
legend: {
bottom: '10%',
right: '20%',
// right: '20%',
orient: 'horizontal',
data: datas,
icon: 'square',
@ -59,43 +59,48 @@ export default {
radius: ["40%", "55%"],
center: ["45%", "40%"],
itemStyle: itemStyle,
emphasis: {
scale: true,
label: {
show: true
},
},
label: {
show: true,
},
data: datas,
// emphasis: {
// scale: true,
// label: {
// show: false,
// },
// // labelLine: {
// // show: false,
// // }
// },
data: [
{ value: 100, name: '已完成', label:{show:true,color:"#5CBC69"},labelLine: {show: true,length: 25,length2: 25,},emphasis:{scale:true,label:{show: true}}},
{ value: 0, name: '未完成', label:{show:true,color:"#FF8929"},labelLine: {show: true,length: 25,length2: 25,},emphasis:{scale:true,label:{show: true}}},
],
label: {
// show: true,
// position: "outside",
padding: [10, -20],
padding: [10, -30],
formatter: (params) => {
return "{a|" +params.value+"}{b|" + "%}";
let data = params.data;
if(params.value == 0) {
data.labelLine.show = false
data.label.show = false
data.emphasis.label.show = false
} else {
return "{a|" +params.value+"}{b|" + "%}";
}
},
rich: {
a: {
fontFamily: "DINCondensed",
fontWeight: 'bold',
fontSize: 18,
padding: [-15, 0, 0, 0],
padding: [-17, 0, 0, 0],
},
b: {
fontFamily: "AlibabaPuHuiTiR",
fontSize: 12,
fontWeight: 500,
padding: [-15, 0, 0, 0],
padding: [-17, 0, 0, 0],
},
},
},
labelLine: {
show: true,
length: 15,
length2: 20,
},
},
{
name: "阴影圈",
@ -132,7 +137,6 @@ export default {
},
methods:{
cancalDebounce(){
console.log("走了吗");
window.onresize = this.myChartHome.resize();
},
initEchart(){

@ -10,29 +10,30 @@
<el-col :span="12" class="capital-proportion" id="one-table">
<div class="box-header" id="one-table-header">
<span class="garden"></span>
<span class="box-header-title">往年资金拨付完成比例5%</span>
<span class="box-header-title">往年资金拨付完成比例100%</span>
</div>
<div class="capital-echart-table" id="echart-wai-box">
<div class="left-echart">
<echart></echart>
</div>
<div class="right-tables" :style="{height : tabOneHeader + 'px'}">
<div class="table-items" v-for="item in 5">
<div class="project-name">项目名称</div>
<div class="right-tables" :style="{height : tabOneHeader + 'px'}" v-if="tableData.length > 0">
<div class="table-items" v-for="item in tableData" :key="item.id">
<div class="project-name" @click="goProjectInfoLeft(item)">{{item.projectName}}</div>
<div class="project-type">
<span class="left-title">项目类别</span>
<span class="right-value">自主品牌先进技术研究院</span>
</div>
<div class="declare-time">
<span class="left-title">申报时间</span>
<span class="right-number">2023-04-01</span>
<span class="left-title">拨付时间</span>
<span class="right-number">{{ parseTime(item.appropriationTime, '{y}-{m}-{d}') }}</span>
</div>
<div class="appropriate">
<span class="left-title">拨付金额<span class="left-unit">(亿元)</span>:</span>
<span class="right-number">50</span>
<span class="right-number">{{item.fundAmount}}</span>
</div>
</div>
</div>
<el-empty class="right-tables-Two" :style="{height : tabOneHeader + 'px'}" :image-size="160" v-else></el-empty>
</div>
</el-col>
<el-col :span="12" class="enterprise-honor">
@ -40,15 +41,16 @@
<span class="garden"></span>
<span class="box-header-title">企业荣誉资质5</span>
</div>
<div class="two-tables" :style="{height : tabOneHeader + 'px'}">
<div class="table-items" v-for="item in 10">
<div class="two-left">xxxxx项目</div>
<div class="two-tables" :style="{height : tabOneHeader + 'px'}" v-if="enterpriseHonor.length > 0">
<div class="table-items" v-for="item in enterpriseHonor" :key="item.id">
<div class="two-left" @click="goProjectInfo(item)"><dict-tag :options="dict.type.project_small_type" :value="item.projectSmallType"/></div>
<div class="two-right">
<span class="right-left">项目类别</span>
<span class="right-span">自主品牌先进技术研究院</span>
<span class="right-span"><dict-tag :options="dict.type.project_categories" :value="item.projectBigType"/></span>
</div>
</div>
</div>
<el-empty :style="{height : tabOneHeader + 'px'}" :image-size="160" v-else></el-empty>
</el-col>
</el-row>
<el-row class="home-enterprise-bottom">
@ -59,15 +61,19 @@
</div>
<section>
<el-table v-loading="loadingTab" class="dataMap-two-table" :data="tableData" :height="tableTwoHeight" border :header-cell-style="{background:'#E8F3FC'}">
<el-table-column label="项目类别" prop="projectType" align="center"/>
<el-table-column label="项目类别" prop="projectType" align="center">
<template slot-scope="scope">
<dict-tag :options="dict.type.projectBigType" :value="item.projectBigType"/>
</template>
</el-table-column>
<el-table-column label="项目名称" prop="projectName" align="center">
<template slot-scope="scope">
<div class="project-trace-table">{{ scope.row.projectName }}</div>
<div class="project-trace-table" @click="goProjectInfo(item)">{{ scope.row.projectName }}</div>
</template>
</el-table-column>
<el-table-column label="专项资金申报时间" prop="time" align="center">
<el-table-column label="专项资金拨付时间" prop="time" align="center">
<template slot-scope="scope">
<div class="project-trace-table-number">{{ scope.row.time }}</div>
<div class="project-trace-table-number">{{ parseTime(scope.row.appropriationTime, '{y}-{m}-{d}') }}</div>
</template>
</el-table-column>
</el-table>
@ -78,24 +84,27 @@
<span class="garden"></span>
<span class="box-header-title">关联项目进展3</span>
</div>
<div class="promoteProject-box-wai-box" :style="{height:tableTwoHeight + 'px'}">
<div class="promoteProject-box-wai-box" :style="{height:tableTwoHeight + 'px'}" v-if="tableTwoData.length > 0">
<div class="promoteProject-box-div" v-for="(item,index) in tableTwoData" :key="index">
<div class="promoteProject-top">
<span class="span-one">{{ item.projectName }}</span>
<span class="span-one" @click="goProjectInfo(item)"><dict-tag :options="dict.type.project_small_type" :value="item.projectSmallType"/></span>
</div>
<div class="promoteProject-bottom">
<div class="promoteProject-bottom-left">
所属企业
<span class="span-two">{{ item.enterprice }}</span>
项目类别
<span class="span-two"><dict-tag :options="dict.type.project_categories" :value="item.projectBigType"/></span>
</div>
<div class="promoteProject-bottom-right">
申报时间
<span class="span-three">{{ item.time }}</span>
<span class="span-three">{{ parseTime(item.createTime, '{y}-{m}-{d}') }}</span>
</div>
</div>
<div class="promoteProject-position" :class="item.type == 1 ? 'orange' : item.type == 2 ? 'green' : item.type == 3 ? 'red' : ''">{{item.type == 1 ? '复审中' : item.type == 2 ? '评审通过' : item.type == 3 ? '复审不通过' : ''}}</div>
<div class="promoteProject-position" :class="(item.status == 0 || item.status == 1 || item.status == 2 || item.status == 3) ? 'orange' : (item.status == 6) ? 'green' : (item.status == 7 || item.status == 8 || item.status == 9 || item.status == 10) ? 'red' : ''">
{{item.status == 0 ? '待填报' : item.status == 1 ? '初审中' : item.status == 2 ? '复审中' : item.status == 3 ? '终审中' : item.status == 6 ? '已填报' : item.status == 7 ? '复审不通过' : item.status == 8 ? '初审不通过' : item.status == 9 ? '终审不通过' : item.status == 10 ? '初审驳回' : ''}}
</div>
</div>
</div>
<el-empty :style="{height : tableTwoHeight + 'px'}" :image-size="160" v-else></el-empty>
</el-col>
</el-row>
</el-col>
@ -155,9 +164,10 @@
</div>
</el-card>
</div>
<div class="right-main" v-else>
<el-empty class="left-main" :image-size="160" v-else></el-empty>
<!-- <div class="right-main" v-else>
<el-divider content-position="center">暂无</el-divider>
</div>
</div> -->
</div>
</el-col>
<el-col :span="24" class="work-main-right" style="height: 49.5%;">
@ -178,9 +188,10 @@
<div @click="MoreRecords(item.status)" class="last_child_item" :class="item.status == 0 ? 'tab-red' : item.status == 10 ? 'tab-red' : 'last_child_item'">{{ item.status == 0 ? "去填报" : item.status == 10 ? "去修改" : "去查看"}}</div>
</div>
</div>
<div class="right-main" v-else>
<el-empty :style="{height: tabHeader+'px'}" :image-size="160" v-else></el-empty>
<!-- <div class="right-main" v-else>
<el-divider content-position="center">暂无</el-divider>
</div>
</div> -->
</div>
</el-col>
</el-row>
@ -201,13 +212,15 @@
<script>
import { listRecords } from "@/api/onlineDeclartion/records"
import { chiefAll, enterpriseAll, changeIsRead } from "@/api/jin_ji_hu/intelligentReminder"
import { usualFund, enterpriseProject } from "@/api/jin_ji_hu/zijinbiao"
import echart from "./components/echartsPage"
export default {
dicts: ["project_small_type"],
dicts: ["project_small_type", "project_categories"],
components:{
echart
},
data() {
//
return {
// 01 02
// userType: this.$store.state.user.userType,
@ -230,64 +243,9 @@ export default {
tabHeader: 200,
tabOneHeader: 200,
tableTwoHeight:null,
tableData:[
{
projectType:"省级总部",
projectName:"xxx项目",
time:"2024-04-01"
},{
projectType:"市级总部",
projectName:"xxx项目",
time:"2024-04-01"
},{
projectType:"区级总部",
projectName:"xxx项目",
time:"2024-04-01"
},{
projectType:"省级服务业领军",
projectName:"xxx项目",
time:"2024-04-01"
},{
projectType:"两业融合试点单位",
projectName:"xxx项目",
time:"2024-04-01"
},{
projectType:"市级工业设计中心",
projectName:"xxx项目",
time:"2024-04-01"
},{
projectType:"两业融合试点单位",
projectName:"xxx项目",
time:"2024-04-01"
},{
projectType:"市级工业设计中心",
projectName:"xxx项目",
time:"2024-04-01"
},
],
tableTwoData:[
{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:1,
},{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:2,
},{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:3,
},{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:3,
},
]
tableData:[],
tableTwoData:[],
enterpriseHonor:[],
}
},
mounted(){
@ -295,11 +253,35 @@ export default {
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
this.entRemind();
//
this.getUsualFund();
//
this.getEnterpriseProjectOne();
//
this.getEnterpriseProjectTwo();
},
beforeDestroy() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
getEnterpriseProjectOne(){
enterpriseProject({type:1}).then(res=>{
this.enterpriseHonor = res.data;
})
},
//
getEnterpriseProjectTwo(){
enterpriseProject({type:2}).then(res=>{
this.tableTwoData = res.data;
})
},
//
getUsualFund(){
usualFund().then(res=>{
this.tableData = res.data
})
},
//
getListTwo(){
this.loading = true;
@ -314,6 +296,22 @@ export default {
this.remindList = res.data.records;
})
},
// /
goProjectInfo(item){
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.id) }
})
},
//
goProjectInfoLeft(item){
if(item.projectName == "区级总部" || item.projectName == "市级服务业领军") {
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.id) }
})
}
},
//
enterjump(){
this.$router.push({

@ -719,6 +719,8 @@ export default {
this.isForm = false;
this.isApprovalDisabled = false;
this.getList();
}).catch(err=>{
this.diaLoading = false;
});
} else {
addTemplateRecord(this.form).then(response => {
@ -729,6 +731,8 @@ export default {
this.isForm = false;
this.isApprovalDisabled = false;
this.getList();
}).catch(err=>{
this.diaLoading = false;
});
}
}

@ -2,22 +2,24 @@
<div class="money-schedule">
<div class="schedule-title">资金拨付进度</div>
<div class="schedule-timeline">
<el-timeline>
<el-timeline v-loading="loading">
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:icon="activity.icon"
:type="activity.type"
:size="activity.size"
>
<el-card> <!-- 去除阴影 shadow="never -->
<div class="schedule-content">
<div class="schedule-card-title">xxxx年xx月xx日 政府财务审核通过</div>
<div class="schedule-status" :class="activity.status == 0 ? 'orange' : activity.status == 1 ? 'green' : activity.status == 2 ? 'blue' : ''">
<div class="schedule-card-title">{{ activity.appropriationTime ? formatDate(activity.appropriationTime,1) : '' }} 拨付{{ activity.fundAmount }}</div>
<!-- <div class="schedule-status" :class="activity.status == 0 ? 'orange' : activity.status == 1 ? 'green' : activity.status == 2 ? 'blue' : ''">
{{ activity.status == 0 ? '已提交' : activity.status == 1 ? '审核通过' : activity.status == 2 ? '已拨付' : '' }}
</div> -->
<div class="schedule-status blue">
已拨付
</div>
</div>
<div class="schedule-time">2023-05-11</div>
<div class="schedule-time">{{ activity.appropriationTime ? formatDate(activity.appropriationTime,2) : '' }}</div>
</el-card>
</el-timeline-item>
</el-timeline>
@ -25,11 +27,19 @@
</div>
</template>
<script>
import { jProjectFund } from "@/api/jin_ji_hu/zijinbiao"
export default {
name:"tabThree",
props:{
id:{
type:Number,
default:null,
}
},
data() {
return {
activities: [{
/**
* {
size: 'large',
icon: 'icon iconfont icon-jc-kong-yuan',
status: 2,
@ -41,10 +51,48 @@ export default {
size: 'large',
icon: 'icon iconfont icon-jc-kong-yuan',
status: 0,
}]
}
*
*/
activities: [],
loading:false,
}
},
mounted(){
this.getList();
},
methods:{
//
getList() {
this.loading = true;
jProjectFund(this.id).then(res=>{
let arr = [];
res.data.forEach(element => {
let obj = {};
obj.size = 'large';
obj.icon = 'icon iconfont icon-jc-kong-yuan';
obj.fundAmount = element.fundAmount;
obj.appropriationTime = element.appropriationTime;
arr.push(obj);
});
this.activities = arr;
this.loading = false;
}).catch((err)=>{
// console.log(err);
this.activities = [];
this.loading = false;
})
},
formatDate(dateString,id) {
const year = dateString.slice(0, 4);
const month = dateString.slice(4, 6);
const day = dateString.slice(6, 8);
if(id == 1) {
return `${year}${month}${day}`;
} else {
return `${year}-${month}-${day}`;
}
}
},
}
</script>

@ -28,7 +28,7 @@
<div class="tabs-bottom" :style="tabStyle">
<tab-one v-if="active == 1" :detailedInfo="detailedInfo" :fileJson="fileJson" :enterInfo="info"></tab-one>
<tab-two v-if="active == 2" :info="enterInfo"></tab-two>
<tab-three v-if="active == 3"></tab-three>
<tab-three v-if="active == 3" :id="Number($route.query.userId)"></tab-three>
<tab-four v-if="active == 4" :id="$route.query.userId"></tab-four>
<tab-five v-if="active == 5" :id="Number($route.query.userId)"></tab-five>
</div>

@ -24,27 +24,27 @@ export default {
return {
tableData:[
{
projectName:"产业活动名称",
projectName:"活动1",
enterprice:"国家级",
time:"2023-02-11",
},{
projectName:"产业活动名称",
projectName:"活动2",
enterprice:"国家级",
time:"2023-02-11",
},{
projectName:"产业活动名称",
projectName:"活动3",
enterprice:"省级",
time:"2023-02-11",
},{
projectName:"产业活动名称",
projectName:"活动4",
enterprice:"省级",
time:"2023-02-11",
},{
projectName:"产业活动名称",
projectName:"活动5",
enterprice:"省级",
time:"2023-02-11",
},{
projectName:"产业活动名称",
projectName:"活动6",
enterprice:"省级",
time:"2023-02-11",
},

@ -3,6 +3,7 @@
<div id="echartsFour" ref="myChartFour"></div>
</template>
<script>
import { fundStatistics } from "@/api/jin_ji_hu/zijinbiao"
import * as echarts from "echarts";
export default {
data() {
@ -15,182 +16,219 @@ export default {
{ value: 500, proportion: 16, name: '市级服务业领军', label:{color:"#5CBC69"}},
{ value: 200, proportion: 16, name: '其他', label:{color:"#00AEFF"}},
];
//
let itemStyle = {
// normal: {
borderRadius: 4,
borderColor: "#F5F8FA",
borderWidth: 4,
color: function (params) {
return colors[params.dataIndex];
},
// },
};
return {
myChartFour: false,
sum: 5000,
option: {
color:colors,
legend: {
bottom: '2%',
right: '0%',
left: '0%',
orient: 'horizontal',
data: datas,
icon: 'square',
itemWith: 14,
itemHeight: 14,
itemGap: 10,
selectedMode: true,
// padding: [5, 10, 5, 0],
formatter(name) {
debugger;
const item = datas.filter((item) => item.name === name)[0];
return `{name|${name}}`;
},
textStyle: {
rich: {
name: {
color: '#666666',
fontSize: 14,
width: 100,
fontFamily: "AlibabaPuHuiTiR",
},
},
},
},
series: [
{
//
type: "pie",
zlevel: 3,
radius: ["40%", "55%"],
center: ["50%", "50%"],
itemStyle: itemStyle,
emphasis: {
scale: true,
label: {
show: true
},
},
label: {
show: true,
},
data: datas,
label: {
// show: true,
// position: "outside",
padding: [10, -30],
formatter: (params) => {
return "{a|" +params.value+"}{b|" + "万元}\n{c|" + params.data.proportion + "}{d|" + "%}";
},
rich: {
a: {
fontFamily: "DINCondensed",
fontWeight: 'bold',
fontSize: 18,
padding: [5, 0, 0, 0],
},
b: {
fontFamily: "AlibabaPuHuiTiR",
fontSize: 10,
fontWeight: 500,
color: "#666666",
padding: [5, 0, 0, 0],
},
c: {
fontFamily: "DINCondensed",
fontWeight: 'bold',
fontSize: 18,
padding: [5, 0, 0, 0],
},
d: {
fontFamily: "AlibabaPuHuiTiR",
fontSize: 10,
fontWeight: 500,
padding: [5, 0, 0, 0],
}
},
},
labelLine: {
show: true,
length: 20,
length2: 25,
},
},
{
name: "阴影圈",
type: "pie",
radius: ["0%", "35%"],
center: ["50%", "50%"],
hoverAnimation: false,
label: {
normal: {
show: true,
position: 'center',
formatter: (params) => {
return "{value|总额}\n\n{label|"+ this.sum + "}{unit|万元}";
},
rich: {
//
value: {
align: 'center',
verticalAlign: 'middle',
fontSize: 14,
fontFamily: 'AlibabaPuHuiTiM',
color: "#666"
},
label: {
align: 'center',
verticalAlign: 'middle',
fontFamily: 'DINCondensed',
color: "#333",
fontSize: 24,
},
unit: {
verticalAlign: 'middle',
fontSize: 12,
fontFamily: 'AlibabaPuHuiTiR',
color: "#666"
}
},
},
},
tooltip: {
show: false,
},
itemStyle: {
color: "rgba(0, 174, 255, 0.1)",
borderWidth:1,
borderColor: "rgba(0, 174, 255, 0.6)",
},
zlevel: 4,
labelLine: {
show: false,
},
data: [100],
}
],
}
sums: 0,
pieData:[],
}
},
mounted(){
this.$nextTick(()=>{
this.initEchart();
// this.getList();
})
setTimeout(()=>{
// this.getList();
},200)
window.addEventListener('resize', this.cancalDebounce);
},
beforeDestroy() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
getList(){
fundStatistics().then(res=>{
let colors = ['#FFBB00', '#5CBC69', '#00AEFF']
let arr = [];
let sum = 0;
res.data.forEach((element,index) => {
let obj = {};
obj.label = {};
obj.name = element.type;
obj.value = element.fundSum;
obj.label.color = colors[index];
sum += element.fundSum;
arr.push(obj);
});
this.sums = sum;
this.option.legend.data = arr;
this.option.series[0].data = arr;
})
},
cancalDebounce(){
window.onresize = this.myChartFour.resize();
},
initEchart(){
var chartDom = document.getElementById("echartsFour");
this.myChartFour = echarts.init(chartDom);
this.myChartFour.setOption(this.option)
fundStatistics().then(res=>{
let colors = ['#FFBB00', '#5CBC69', '#00AEFF']
let arr = [];
let sum = 0;
res.data.forEach((element,index) => {
let obj = {};
obj.label = {};
obj.name = element.type;
obj.value = element.fundSum;
obj.label.color = colors[index];
sum += element.fundSum;
arr.push(obj);
});
let option = {
color:colors,
legend: {
bottom: '2%',
right: '0%',
left: '10%',
orient: 'horizontal',
data: arr,
icon: 'square',
itemWith: 14,
itemHeight: 14,
itemGap: 10,
selectedMode: true,
// padding: [5, 10, 5, 0],
formatter(name) {
return `{name|${name}}`;
},
textStyle: {
rich: {
name: {
color: '#666666',
fontSize: 14,
width: 100,
fontFamily: "AlibabaPuHuiTiR",
},
},
},
},
series: [
{
//
type: "pie",
zlevel: 3,
radius: ["40%", "55%"],
center: ["50%", "50%"],
itemStyle: {
// normal: {
borderRadius: 4,
borderColor: "#F5F8FA",
borderWidth: 4,
color: function (params) {
return colors[params.dataIndex];
},
},
emphasis: {
scale: true,
label: {
show: true
},
},
label: {
show: true,
},
data: arr,
label: {
// show: true,
// position: "outside",
padding: [10, -30],
formatter: (params) => {
let total = arr.reduce((sum, item) => sum + item.value, 0);
let percentage = ((params.value / total) * 100).toFixed(1);
return "{a|" +params.value+"}{b|" + "亿元}\n{c|" + percentage + "}{d|" + "%}";
},
rich: {
a: {
fontFamily: "DINCondensed",
fontWeight: 'bold',
fontSize: 18,
padding: [5, 0, 0, 0],
},
b: {
fontFamily: "AlibabaPuHuiTiR",
fontSize: 10,
fontWeight: 500,
color: "#666666",
padding: [5, 0, 0, 0],
},
c: {
fontFamily: "DINCondensed",
fontWeight: 'bold',
fontSize: 18,
padding: [5, 0, 0, 0],
},
d: {
fontFamily: "AlibabaPuHuiTiR",
fontSize: 10,
fontWeight: 500,
padding: [5, 0, 0, 0],
}
},
},
labelLine: {
show: true,
length: 20,
length2: 25,
},
},
{
name: "阴影圈",
type: "pie",
radius: ["0%", "35%"],
center: ["50%", "50%"],
hoverAnimation: false,
label: {
normal: {
show: true,
position: 'center',
formatter: (params) => {
return "{value|总额}\n\n{label|"+ sum + "}{unit|亿元}";
},
rich: {
//
value: {
align: 'center',
verticalAlign: 'middle',
fontSize: 14,
fontFamily: 'AlibabaPuHuiTiM',
color: "#666"
},
label: {
align: 'center',
verticalAlign: 'middle',
fontFamily: 'DINCondensed',
color: "#333",
fontSize: 24,
},
unit: {
verticalAlign: 'middle',
fontSize: 12,
fontFamily: 'AlibabaPuHuiTiR',
color: "#666"
}
},
},
},
tooltip: {
show: false,
},
itemStyle: {
color: "rgba(0, 174, 255, 0.1)",
borderWidth:1,
borderColor: "rgba(0, 174, 255, 0.6)",
},
zlevel: 4,
labelLine: {
show: false,
},
data: [100],
}
],
}
this.myChartFour.setOption(option)
})
// this.myChartFour.setOption(this.option)
// this.legendselectchanged(this.myChartFour)
},
// legendselectchanged(myChart){

@ -13,64 +13,66 @@
<span class="Table-unit">(亿元)</span>
</template>
<template slot-scope="scope">
<div class="project-trace-table-number">{{ scope.row.deliveryAmount }}</div>
<div class="project-trace-table-number">{{ scope.row.fundAmount }}</div>
</template>
</el-table-column>
<el-table-column label="所属项目" align="center" width="100">
<el-table-column label="所属项目" align="center" width="130">
<template slot-scope="scope">
<div class="project-table-Info" @click="ProjectInfo(scope.row)">{{ scope.row.project }}</div>
<div class="project-table-Info" @click="ProjectInfo(scope.row)">{{ scope.row.projectName }}</div>
<!-- <el-button type="text" class="project-table-Info" @click="charu(scope.row)" :disabled="!scope.row.projectId">{{ scope.row.projectName }}</el-button> -->
</template>
</el-table-column>
<el-table-column label="所属企业" key="enterprice" prop="enterprice" align="center" />
<el-table-column label="所属企业" key="qymc" prop="qymc" align="center" />
</el-table>
</section>
</template>
<script>
import { appropriationTop5 } from "@/api/jin_ji_hu/zijinbiao"
export default {
data() {
return {
loading:false,
tableData:[
{
ranking:"TOP1",
rankingBg:"#EE462A",
deliveryAmount: 58,
project:"xxx项目",
enterprice:"苏州众汇聚合信息科技有限公司",
},{
ranking:"TOP2",
rankingBg:"#FF8929",
deliveryAmount: 60,
project:"xxx项目",
enterprice:"苏州众汇聚合信息科技有限公司",
},{
ranking:"TOP3",
rankingBg:"#ffbb00",
deliveryAmount: 48,
project:"xxx项目",
enterprice:"苏州众汇聚合信息科技有限公司",
},{
ranking:"TOP4",
rankingBg:"#5CBC69",
deliveryAmount: 64,
project:"xxx项目",
enterprice:"苏州众汇聚合信息科技有限公司",
},{
ranking:"TOP5",
rankingBg:"#00AEFF",
deliveryAmount: 48,
project:"xxx项目",
enterprice:"苏州众汇聚合信息科技有限公司",
}
],
tableData:[],
tabHeader: 288,
}
},
mounted() {
// this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
this.getList();
},
methods:{
// top5
getList(){
this.loading = true;
appropriationTop5().then(res=>{
let arr = [];
let bgc = ['#EE462A','#FF8929','#ffbb00','#5CBC69','#00AEFF']
res.data.forEach((element,index) => {
let obj = {};
obj.ranking = 'TOP' + (index + 1);
obj.rankingBg = bgc[index];
obj.fundAmount = element.fundAmount;
obj.projectName = element.projectName;
obj.qymc = element.qymc;
obj.projectId = element.projectId;
arr.push(obj);
});
this.tableData = arr;
this.loading = false;
}).catch(err=>{
this.loading = false;
})
},
ProjectInfo(item){
console.log(item,"item");
if((item.projectName == "区级总部" || item.projectName == "市级服务业领军") && item.projectId) {
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.projectId) }
})
}
},
//
cancalDebounce(){
const element = document.getElementById('zhijinbofu-qingkaung'); // ID

@ -20,39 +20,46 @@ export default {
loading:false,
tableData:[
{
projectName:"项目落户",
projectName:"自主品牌先进技术研究院",
year: 2024,
projectType:"省级总部",
projectType:"自主品牌先进技术研究院",
id: 1505,
show:true,
},{
projectName:"项目落户",
projectName:"自主品牌先进技术研究院",
year: 2024,
projectType:"省级总部",
projectType:"自主品牌先进技术研究院",
id: 1505,
show:true,
},{
projectName:"项目落户",
projectName:"自主品牌先进技术研究院",
year: 2024,
projectType:"省级总部",
projectType:"自主品牌先进技术研究院",
id: 1505,
show:false,
},{
projectName:"项目落户",
projectName:"自主品牌先进技术研究院",
year: 2024,
projectType:"省级总部",
projectType:"自主品牌先进技术研究院",
id: 1505,
show:false,
},{
projectName:"项目落户",
projectName:"自主品牌先进技术研究院",
year: 2024,
projectType:"省级总部",
projectType:"自主品牌先进技术研究院",
id: 1505,
show:true,
},{
projectName:"项目落户",
projectName:"自主品牌先进技术研究院",
year: 2024,
projectType:"省级总部",
projectType:"自主品牌先进技术研究院",
id: 1505,
show:true,
},{
projectName:"项目落户",
projectName:"自主品牌先进技术研究院",
year: 2024,
projectType:"省级总部",
projectType:"自主品牌先进技术研究院",
id: 1505,
show:false,
},
],
@ -64,6 +71,15 @@ export default {
// window.addEventListener('resize', this.cancalDebounce);
},
methods:{
ProjectInfo(item){
// if(item.projectName == "" || item.projectName == "") {
// }
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.id) }
})
},
//
cancalDebounce(){
const element = document.getElementById('zhongdian-xiangmu'); // ID

@ -1,9 +1,9 @@
<!-- 重点及特项目 -->
<!-- 重点及特项目 -->
<template>
<div class="promoteProject-box-wai-box">
<div class="promoteProject-box-div" v-for="(item,index) in tableData" :key="index">
<div class="promoteProject-top">
<span class="span-one">{{ item.projectName }}</span>
<span class="span-one" @click="ProjectInfo(item)">{{ item.projectName }}</span>
</div>
<div class="promoteProject-bottom">
<div class="promoteProject-bottom-left">
@ -24,26 +24,39 @@ export default {
return {
tableData:[
{
projectName:"项目名称",
projectName:"自主品牌先进技术研究院",
enterprice:"自主品牌先进技术研究院",
time:"2023",
id: 1505,
time:"2024",
},{
projectName:"项目名称",
projectName:"自主品牌先进技术研究院",
enterprice:"自主品牌先进技术研究院",
time:"2023",
id: 1505,
time:"2024",
},{
projectName:"项目名称",
projectName:"自主品牌先进技术研究院",
enterprice:"自主品牌先进技术研究院",
time:"2023",
id: 1505,
time:"2024",
},{
projectName:"项目名称",
projectName:"自主品牌先进技术研究院",
enterprice:"自主品牌先进技术研究院",
time:"2023",
id: 1505,
time:"2024",
},
]
}
},
methods:{
ProjectInfo(item){
// if(item.projectName == "" || item.projectName == "") {
// }
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.id) }
})
},
},
}
</script>

@ -9,7 +9,7 @@ export { default as echartDataFive } from './TopEchart'
// 重点及特色项目
export { default as TableOne } from './emphasisProject'
// 资金引导情况分析
export { default as TableTwo } from './capitalCondition'
// export { default as TableTwo } from './capitalCondition'
// 拨付资金企业申请情况TOP5
export { default as TableThree } from './capitalConditionTOP5'
// 促进产业项目情况

@ -3,7 +3,7 @@
<div class="promoteProject-box-wai-box">
<div class="promoteProject-box-div" v-for="(item,index) in tableData" :key="index">
<div class="promoteProject-top">
<span class="span-one">{{ item.projectName }}</span>
<span class="span-one" @click="ProjectInfo(item)">{{ item.projectName }}</span>
</div>
<div class="promoteProject-bottom">
<div class="promoteProject-bottom-left">
@ -25,30 +25,43 @@ export default {
return {
tableData:[
{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:1,
projectName:"自主品牌先进技术研究院",
enterprice:"博世********有限公司",
time:"2024-07-08",
id: 1505,
type:2,
},{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
projectName:"自主品牌先进技术研究院",
enterprice:"博世********有限公司",
time:"2024-07-08",
id: 1505,
type:2,
},{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:3,
projectName:"自主品牌先进技术研究院",
enterprice:"博世********有限公司",
time:"2024-07-08",
id: 1505,
type:2,
},{
projectName:"项目名称",
projectName:"自主品牌先进技术研究院",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:3,
time:"2024-07-08",
id: 1505,
type:2,
},
]
}
},
methods:{
ProjectInfo(item){
// if(item.projectName == "" || item.projectName == "") {
// }
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.id) }
})
},
},
}
</script>

@ -114,9 +114,10 @@
</div>
</el-card>
</div>
<div class="right-main" v-else>
<el-empty class="left-main" :image-size="160" v-else></el-empty>
<!-- <div class="right-main" v-else>
<el-divider content-position="center">暂无</el-divider>
</div>
</div> -->
</div>
</el-col>
<el-col :span="6">
@ -137,9 +138,10 @@
<div @click="MoreRecords('id',item.status)" class="last_child_item">去审批</div>
</div>
</div>
<div class="right-main" v-else>
<el-empty class="right-main" :image-size="160" v-else></el-empty>
<!-- <div class="right-main" v-else>
<el-divider content-position="center">暂无</el-divider>
</div>
</div> -->
</div>
</div>
</el-col>
@ -277,7 +279,7 @@
</div>
<span class="industry-condition-statistics">统计数据截至2024-01</span>
</div>
<div class="rightBtn" @click="industryBtn">>></div>
<!-- <div class="rightBtn" @click="industryBtn">>></div> -->
</div>
<div class="headline-two-main">
<TableFive></TableFive>
@ -332,8 +334,9 @@ import { selectAll, workSearch } from "@/api/jin_ji_hu/home"
import { chiefAll, changeIsRead } from "@/api/jin_ji_hu/intelligentReminder"
import homeIndex from "@/views/home/index.vue"
import echartData from '@/views/dataCloudMap/components/echartData.vue'
// TableTwo,
import { echartDataTwo, echartDataThree,
TableOne, TableTwo, TableThree, TableFour, echartDataFour,
TableOne, TableThree, TableFour, echartDataFour,
echartDataFive, TableFive, TableSix, TableSeven, TableEight,
zhinengtixing, daibanrenwu
} from "./components"
@ -346,7 +349,7 @@ export default {
echartDataTwo,
echartDataThree,
TableOne,
TableTwo,
// TableTwo,
TableThree,
TableFour,
echartDataFour,

@ -18,8 +18,12 @@ module.exports = {
// 部署生产环境和开发环境下的URL。
// 默认情况下Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
// demo/JinJiHu
// 测试环境部署地址
publicPath: process.env.NODE_ENV === "production" ? "/demo/JinJiHu" : "/",
// 第三方测试脱敏部署地址
// publicPath: process.env.NODE_ENV === "production" ? "/demo/JinJiHuTest" : "/",
// 正式环境部署地址
// publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
// 在npm run build 或 yarn build 时 生成文件的目录名称要和baseUrl的生产环境路径一致默认dist
outputDir: "dist",
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)

Loading…
Cancel
Save