脱敏版本回退

des
吕天方 6 months ago
parent ce5f99695c
commit 6c7a0c144b

@ -5,8 +5,8 @@ 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.108:9031'
# VUE_APP_BASE_API = 'http://39.101.188.84:9040'
# VUE_APP_BASE_API = 'https://idp.sipac.gov.cn/api'
# 路由懒加载

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

@ -0,0 +1,91 @@
/*
* @Descripttion:
* @version:
* @Author: JC9527
* @Date: 2024-09-02 14:26:02
* @LastEditors: JC9527
* @LastEditTime: 2024-09-02 14:26:16
*/
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",
})
}
// 正式环境政务端工作台 --> 服务业发展总览
export function servicesDevelop(){
return request({
url: "/jjh/chiefWork/servicesDevelop" ,
method: "get",
})
}
// 正式环境政务端工作台 --> 企业获得资金拨付排名TOP5
export function top5Fund(params){
return request({
url: "/jjh/chiefWork/top5Fund" ,
method: "get",
params
})
}
// 正式环境政务端工作台 --> 当年已申报完成的项目
export function currentYearFinish(){
return request({
url: "/jjh/chiefWork/currentYearFinish" ,
method: "get",
})
}
// 正式环境政务端工作台 --> 项目追踪情况
export function projectTrace(){
return request({
url: "/jjh/chiefWork/projectTrace" ,
method: "get",
})
}
// 正式环境政务端工作台 --> 备忘录更新情况
export function memorandum(){
return request({
url: "/jjh/chiefWork/memorandum" ,
method: "get",
})
}

@ -1444,11 +1444,18 @@
margin: 10px 0;
}
.tixing-duanxin {
display: flex;
align-items: center;
}
.content-time {
font-weight: 500;
font-size: 14px;
color: #737373;
}
.content-time-two {
margin-left: 10px;
}
}
}
@ -1786,9 +1793,9 @@
padding: 10px 0;
section {
margin-top: 10px;
// .el-table--border {
// border: 1px solid #dfe6ec;
// }
.el-table--border {
border: 1px solid #dfe6ec;
}
.el-table {
.project-trace-table-ranking {
// padding: 1px 0px;
@ -1882,6 +1889,7 @@
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
}
}
.promoteProject-bottom {
@ -2220,6 +2228,7 @@
font-style: normal;
text-decoration-line: underline;
text-transform: none;
cursor: pointer;
}
}
.promoteProject-bottom {
@ -2343,10 +2352,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;
@ -2357,9 +2369,10 @@
font-family: AlibabaPuHuiTiM;
font-size: 16px;
color: #1890FF;
font-style: normal;
text-decoration-line: underline;
text-transform: none;
// font-style: normal;
// text-decoration-line: underline;
// text-transform: none;
cursor: pointer;
}
.project-type,.declare-time,.appropriate {
display: flex;
@ -2383,41 +2396,79 @@
word-break: break-all;
white-space: nowrap;
}
.project-type-box {
width: 65%;
.right-value {
font-family: AlibabaPuHuiTiM;
width: 100%;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
white-space: nowrap;
}
}
.right-number {
font-family: ArialB;
}
}
}
}
.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;
// display: flex;
// align-items: center;
// justify-content: space-between;
// display: grid;
// grid-template-columns: 1fr 1.5fr 1fr;
padding: 14px;
margin-bottom: 10px;
background-color: #fff;
.two-left {
font-family: AlibabaPuHuiTiM;
font-size: 16px;
color: #1890FF;
.promoteProject-top {
.span-one {
font-family: AlibabaPuHuiTiM;
font-size: 16px;
color: #1890FF;
// font-style: normal;
// text-decoration-line: underline;
// text-transform: none;
cursor: pointer;
display: flex;
}
}
.two-right {
.promoteProject-bottom {
margin-top: 16px;
display: flex;
align-items: center;
font-size: 14px;
color: #666666;
.right-left {
justify-content: space-between;
width: 85%;
.promoteProject-bottom-left {
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #666666;
display: flex;
.span-two {
font-family: AlibabaPuHuiTiM;
}
}
.right-span {
font-family: AlibabaPuHuiTiM;
.promoteProject-bottom-right {
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #666666;
.span-three {
font-family: ArialB;
}
}
}
}
@ -2425,6 +2476,12 @@
//
section {
margin-top: 10px;
.el-table--border {
border: 1px solid #dfe6ec;
}
.el-table::after {
width: 0;
}
.el-table {
th {
font-family: AlibabaPuHuiTiM;
@ -2445,6 +2502,10 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #1890FF;
// font-style: normal;
// text-decoration-line: underline;
// text-transform: none;
cursor: pointer;
}
}
}
@ -2487,9 +2548,11 @@
font-family: AlibabaPuHuiTiM;
font-size: 16px;
color: #1890FF;
font-style: normal;
text-decoration-line: underline;
text-transform: none;
// font-style: normal;
// text-decoration-line: underline;
// text-transform: none;
cursor: pointer;
display: flex;
}
}
.promoteProject-bottom {
@ -2501,6 +2564,7 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #666666;
display: flex;
.span-two {
font-family: AlibabaPuHuiTiM;
}
@ -2586,6 +2650,7 @@
justify-content: space-between;
.warn-main-left {
display: flex;
flex: 1;
.warn-main-img {
padding-top: 3px;
img {
@ -2595,6 +2660,7 @@
}
}
.warn-main-content {
flex: 1;
.content-title {
font-weight: bold;
font-size: 15px;
@ -2606,11 +2672,18 @@
color: #333333;
margin: 10px 0;
}
.tixing-duanxin {
display: flex;
align-items: center;
}
.content-time {
font-weight: 500;
font-size: 14px;
color: #737373;
}
.content-time-two {
margin-left: 10px;
}
}
}
.different-left {
@ -2639,7 +2712,7 @@
margin-bottom: 10px;
}
.warn-main-right-status {
padding: 5px 15px;
padding: 0px 15px;
font-weight: 500;
font-size: 14px;
color: #4EB997;
@ -2728,7 +2801,7 @@
font-weight: 500;
font-size: 14px;
color: #1890FF;
text-decoration: underline;
// text-decoration: underline;
cursor: pointer;
}
.tab-red {

@ -43,8 +43,8 @@ export const constantRoutes = [
},
{
path: "/login",
component: () => import("@/views/login"),
// component: () => import("@/views/login_v1"), // 三方测试脱敏登录页
// component: () => import("@/views/login"),
component: () => import("@/views/login_v1"), // 三方测试脱敏登录页
hidden: true,
},
{

@ -177,7 +177,7 @@ const user = {
}).catch(error => {
reject(error)
})
} else if(state.userType == "01") {
} else if(state.token && state.clientToken) {
return new Promise((resolve, reject) => {
enterpriseLogout({clienttoken: state.clientToken}).then(()=>{
commit('SET_CLIENTTOKEN', '')

@ -16,23 +16,27 @@
<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">
<div class="project-name">{{item.projectName}}</div>
<div class="project-type">
<span class="left-title">项目类别</span>
<span class="right-value">自主品牌先进技术研究院</span>
<div class="project-type-box" v-if="item.projectBigType">
<dict-tag class="right-value" :options="dict.type.project_categories" :value="item.projectBigType"/>
</div>
<span class="right-value" v-else></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">{{ item.appropriationTime ? formatDate(item.appropriationTime,2) : '' }}</span>
</div>
<div class="appropriate">
<span class="left-title">拨付金额<span class="left-unit">(亿)</span>:</span>
<span class="right-number">50</span>
<span class="left-title">拨付金额<span class="left-unit">()</span>:</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 +44,24 @@
<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-right">
<span class="right-left">项目类别</span>
<span class="right-span">自主品牌先进技术研究院</span>
<div class="two-tables" :style="{height : tabOneHeader + 'px'}" v-if="enterpriseHonor.length > 0">
<div class="table-items" v-for="item in enterpriseHonor">
<div class="promoteProject-top">
<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"><dict-tag :options="dict.type.project_categories" :value="item.projectBigType"/></span>
</div>
<div class="promoteProject-bottom-right">
申报时间
<span class="span-three">{{ formatYear(item.createTime) }}</span>
</div>
</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 +72,22 @@
</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">
<div v-if="scope.row.projectBigType">
<dict-tag :options="dict.type.project_categories" :value="scope.row.projectBigType"/>
</div>
<span v-else></span>
</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="goProjectInfoLeft(scope.row)">{{ 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">{{ scope.row.appropriationTime ? formatDate(scope.row.appropriationTime,2) : '' }}</div>
</template>
</el-table-column>
</el-table>
@ -78,30 +98,33 @@
<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">{{ formatYear(item.createTime) }}</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>
<el-col :span="8" class="home-main-right">
<el-row type="flex" class="main-two-row">
<el-col :span="24" class="work-main-left" style="height: 64.5%;">
<el-col :span="24" class="work-main-left" style="height: 49.5%;">
<div class="main-left">
<div class="left-header">
<div class="left-header-titleS">
@ -118,7 +141,11 @@
<div class="warn-main-content">
<div class="content-title">{{ item.declarationName }}预计{{ item.daysAdvance }}天后填报结束</div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
<!-- <div class="content-time">{{ item.alertTime }}</div> -->
<div class="tixing-duanxin">
<div class="content-time">{{ item.alertTime }}</div>
<div class="content-time content-time-two">已发送短信</div>
</div>
</div>
</div>
<div class="warn-main-left" v-else-if="item.alertManner == 1 && item.qymc && item.alertRecipients == 2">
@ -126,7 +153,11 @@
<div class="warn-main-content">
<div class="content-title" style="display: flex;">{{ item.qymc }}<dict-tag :options="dict.type.project_small_type" :value="item.declarationName"/></div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
<!-- <div class="content-time">{{ item.alertTime }}</div> -->
<div class="tixing-duanxin">
<div class="content-time">{{ item.alertTime }}</div>
<div class="content-time content-time-two">已发送短信</div>
</div>
</div>
</div>
<div class="warn-main-left" v-else-if="item.alertManner == 1 && item.projectId">
@ -134,14 +165,22 @@
<div class="warn-main-content">
<div class="content-title">{{ item.declarationName }}</div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
<!-- <div class="content-time">{{ item.alertTime }}</div> -->
<div class="tixing-duanxin">
<div class="content-time">{{ item.alertTime }}</div>
<div class="content-time content-time-two">已发送短信</div>
</div>
</div>
</div>
<div class="warn-main-left different-left" v-else-if="item.alertManner == 1 && !item.projectId">
<div class="warn-main-img"><img src="@/assets/images/warn-blue.png" alt=""></div>
<div class="warn-main-content">
<div class="content-title">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
<!-- <div class="content-time">{{ item.alertTime }}</div> -->
<div class="tixing-duanxin">
<div class="content-time">{{ item.alertTime }}</div>
<div class="content-time content-time-two">已发送短信</div>
</div>
</div>
</div>
<div class="warn-main-right">
@ -160,7 +199,7 @@
</div>
</div>
</el-col>
<el-col :span="24" class="work-main-right" style="height: 34.5%;">
<el-col :span="24" class="work-main-right" style="height: 49.5%;">
<div class="main-right" id="task-box">
<div class="right-header" id="task-header">
<div class="right-header-box">
@ -200,10 +239,11 @@
</template>
<script>
import { listRecords } from "@/api/onlineDeclartion/records"
import { usualFund, enterpriseProject } from "@/api/jin_ji_hu/zijinbiao"
import { chiefAll, enterpriseAll, changeIsRead } from "@/api/jin_ji_hu/intelligentReminder"
import echart from "./components/echartsPage"
export default {
dicts: ["project_small_type"],
dicts: ["project_small_type", "project_categories"],
components:{
echart
},
@ -230,64 +270,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 +280,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;
@ -313,6 +322,25 @@ export default {
enterpriseAll({current:1,size:20}).then(res=>{
this.remindList = res.data.records;
})
},
// /
goProjectInfo(item){
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.id) }
})
},
//
goProjectInfoLeft(item){
console.log(item,"item");
if(item.projectName == "区级总部" || item.projectName == "市级服务业领军") {
if(item.projectId) {
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.projectId) }
})
}
}
},
//
enterjump(){
@ -362,6 +390,26 @@ export default {
})
}
},
formatYear(time){
const year = time.slice(0, 4);
let date = new Date();
const currentYear = date.getFullYear(); //(4)
if(Number(year) < Number(currentYear)) {
return year;
} else {
return this.parseTime(time, '{y}-{m}-{d}')
}
},
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}`;
}
},
//
cancalDebounce(){
const element = document.getElementById('task-box'); // ID

@ -40,7 +40,7 @@
/>
</el-input>
</el-form-item>
<el-form-item prop="code">
<el-form-item prop="code" v-if="false">
<el-input
v-model="loginForm.code"
auto-complete="off"
@ -144,7 +144,7 @@ export default {
},
},
created() {
this.getCode();
// this.getCode();
this.getCookie();
},
methods: {
@ -198,9 +198,9 @@ export default {
})
.catch(() => {
this.loading = false;
if (this.captchaEnabled) {
this.getCode();
}
// if (this.captchaEnabled) {
// this.getCode();
// }
});
}
});
@ -241,7 +241,7 @@ export default {
border-radius: 6px;
background: #ffffff;
width: 400px;
height: 380px;
height: 330px;
padding: 25px 25px 5px 25px;
box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
.el-input {

@ -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="huodongClick(item)">{{ item.projectName }}</span>
</div>
<div class="promoteProject-bottom">
<div class="promoteProject-bottom-left">
@ -16,6 +16,33 @@
</div>
</div>
</div>
<el-dialog
title="产业活动详情"
:visible.sync="infoVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
@close="infoClose"
custom-class="chanyehuodongxiangqing-dialog"
append-to-body
width="30%"
>
<div>
<el-descriptions :column="1">
<el-descriptions-item label="活动名称">{{ itemInfo.projectName }}</el-descriptions-item>
<el-descriptions-item label="活动时间">{{ itemInfo.time }}</el-descriptions-item>
<el-descriptions-item label="活动级别">{{ itemInfo.enterprice }}</el-descriptions-item>
<el-descriptions-item label="活动内容">这里是活动内容这里是活动内容这里是活动内容这里是活动内容这里是活动内容这里是活动内容这里是活动内容这里是活动内容这里是活动内容这里是活动内容这里是活动内容</el-descriptions-item>
</el-descriptions>
</div>
<div slot="footer" class="chanyehuodongxiangqing-footer">
<el-form size="small">
<el-form-item class="dialog-from-item">
<el-button size="mini" @click="infoVisible = false">取消</el-button>
<el-button type="primary" size="mini" @click="infoVisible = false">确定</el-button>
</el-form-item>
</el-form>
</div>
</el-dialog>
</div>
</template>
<script>
@ -24,29 +51,46 @@ 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:"活动4",
enterprice:"省级",
time:"2023-02-11",
},{
projectName:"产业活动名称",
projectName:"活动5",
enterprice:"省级",
time:"2023-02-11",
},{
projectName:"活动6",
enterprice:"省级",
time:"2023-02-11",
},
]
],
infoVisible: false,
itemInfo:{}
}
},
methods:{
huodongClick(item){
this.itemInfo = item;
this.infoVisible = true;
},
infoClose(){},
},
}
</script>
<style lang="scss" scoped>
::v-deep .chanyehuodongxiangqing-dialog {
margin-top: 20vh !important;
}
</style>

@ -3,16 +3,15 @@
<div id="echartsFour" ref="myChartFour"></div>
</template>
<script>
import { fundStatistics } from "@/api/jin_ji_hu/zijinbiao"
import * as echarts from "echarts";
export default {
data() {
let colors = ['#EE462A','#FF8929', '#FFBB00', '#5CBC69', '#00AEFF']
let datas = [
{ value: 300, proportion: 16, name: '制造业服务化奖励', label:{color:"#EE462A"}},
{ value: 500, proportion: 16, name: '鼓励社会信用体系建设', label:{color:"#FF8929"}},
{ value: 400, proportion: 36, name: '产业提升和品牌建设奖励', label:{color:"#FFBB00"}},
{ value: 500, proportion: 16, name: '经营奖励', label:{color:"#5CBC69"}},
{ value: 200, proportion: 16, name: '一事一议', label:{color:"#00AEFF"}},
{ value: 400, proportion: 36, name: '区级总部', label:{color:"#FFBB00"}},
{ value: 500, proportion: 16, name: '市级服务业领军', label:{color:"#5CBC69"}},
{ value: 200, proportion: 16, name: '其他', label:{color:"#00AEFF"}},
];
//
let itemStyle = {
@ -27,31 +26,10 @@ export default {
};
return {
myChartFour: false,
sum: 5000,
sums: 0,
pieData:[],
option: {
color:colors,
// grid: {
// top: "0%",
// left: "5%",
// right: "80%",
// bottom: "8%", //leftright
// },
// title: {
// text: "",
// subtext: 800,
// textStyle: {
// color: "#65FDFD",
// fontSize: 32,
// // align: 'center'
// },
// subtextStyle: {
// fontSize: 36,
// color: "#ffc20e",
// fontWeight: "bold"
// },
// x: "center",
// y: "center",
// },
legend: {
bottom: '32%',
right: '2%',
@ -210,14 +188,172 @@ export default {
initEchart(){
var chartDom = document.getElementById("echartsFour");
this.myChartFour = echarts.init(chartDom);
this.myChartFour.setOption(this.option)
// this.legendselectchanged(this.myChartFour)
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: '32%',
right: '2%',
orient: 'vertical',
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: ["35%", "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: ["35%", "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)
})
},
// legendselectchanged(myChart){
// myChart.on('legendselectchanged', function (params) {
// console.log('', params.name);
// });
// },
},
}
</script>

@ -2,26 +2,27 @@
<template>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" border :header-cell-style="{background:'#E8F3FC'}">
<el-table-column label="投放类型" key="type" prop="type" align="center" width="180"/>
<el-table-column label="申报年份" key="year" prop="year" align="center" width="80">
<el-table-column label="投放类型" key="type" prop="type" align="center"/>
<el-table-column label="申报年份" key="fundSum" prop="fundSum" align="center">
<template slot="header" slot-scope="scope">
<div class="Table-header">投放金额</div>
<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.fundSum }}</div>
</template>
</el-table-column>
<el-table-column label="所属项目" key="operation" prop="operation" align="center" width="80">
<!-- <el-table-column label="所属项目" key="operation" prop="operation" align="center" width="80">
<template slot-scope="scope">
<div class="project-table-Info" @click="ProjectInfo(scope.row)">{{ scope.row.project }}</div>
</template>
</el-table-column>
<el-table-column label="所属企业" key="enterprice" prop="enterprice" align="center" />
<el-table-column label="所属企业" key="enterprice" prop="enterprice" align="center" /> -->
</el-table>
</section>
</template>
<script>
import { fundStatistics } from "@/api/jin_ji_hu/zijinbiao"
export default {
data() {
return {
@ -59,17 +60,27 @@ export default {
},
mounted() {
// this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
// window.addEventListener('resize', this.cancalDebounce);
this.getList();
},
methods:{
//
cancalDebounce(){
const element = document.getElementById('zhijinyindao-qingkuang'); // ID
const header = document.getElementById('zhijinyindao-header-id'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
this.tabHeader = elementHeight - headerHeight - 35;
}
// cancalDebounce(){
// const element = document.getElementById('zhijinyindao-qingkuang'); // ID
// const header = document.getElementById('zhijinyindao-header-id'); // ID
// const elementHeight = element.offsetHeight;
// const headerHeight = header.offsetHeight;
// this.tabHeader = elementHeight - headerHeight - 35;
// }
getList(){
this.loading = true;
fundStatistics().then(res=>{
this.tableData = res.data;
this.loading = false;
}).catch(err=>{
this.loading = false;
})
},
},
}
</script>

@ -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>

@ -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,47 @@ export default {
return {
tableData:[
{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:1,
projectName:"自主品牌先进技术研究院",
// enterprice:"********",
enterprice:'博世汽车部件(苏州)有限公司',
time:"2024-07-08",
id: 1505,
type:2,
},{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
projectName:"自主品牌先进技术研究院",
// enterprice:"********",
enterprice:'博世汽车部件(苏州)有限公司',
time:"2024-07-08",
id: 1505,
type:2,
},{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:3,
projectName:"自主品牌先进技术研究院",
// enterprice:"********",
enterprice:'博世汽车部件(苏州)有限公司',
time:"2024-07-08",
id: 1505,
type:2,
},{
projectName:"项目名称",
enterprice:"苏州众汇聚合信息科技有限公司",
time:"2024-04-01",
type:3,
projectName:"自主品牌先进技术研究院",
// enterprice:"********",
enterprice:'博世汽车部件(苏州)有限公司',
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>

@ -76,7 +76,11 @@
<div class="warn-main-content">
<div class="content-title">{{ item.declarationName }}预计{{ item.daysAdvance }}天后建设完成</div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
<!-- <div class="content-time">{{ item.alertTime }}</div> -->
<div class="tixing-duanxin">
<div class="content-time">{{ item.alertTime }}</div>
<div class="content-time content-time-two">已发送短信</div>
</div>
</div>
</div>
<div class="warn-main-left" v-else-if="item.alertManner == 1 && item.qymc && item.alertRecipients == 2">
@ -85,7 +89,11 @@
<div class="content-title" style="display: flex;">{{ item.qymc }}</div>
<div class="content-title-type"><dict-tag :options="dict.type.project_small_type" :value="item.declarationName"/></div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
<!-- <div class="content-time">{{ item.alertTime }}</div> -->
<div class="tixing-duanxin">
<div class="content-time">{{ item.alertTime }}</div>
<div class="content-time content-time-two">已发送短信</div>
</div>
</div>
</div>
<div class="warn-main-left" v-else-if="item.alertManner == 1 && item.projectId">
@ -93,14 +101,22 @@
<div class="warn-main-content">
<div class="content-title">{{ item.declarationName }}</div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
<!-- <div class="content-time">{{ item.alertTime }}</div> -->
<div class="tixing-duanxin">
<div class="content-time">{{ item.alertTime }}</div>
<div class="content-time content-time-two">已发送短信</div>
</div>
</div>
</div>
<div class="warn-main-left different-left" v-else-if="item.alertManner == 1 && !item.projectId">
<div class="warn-main-img"><img src="@/assets/images/warn-blue.png" alt=""></div>
<div class="warn-main-content">
<div class="content-title">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
<!-- <div class="content-time">{{ item.alertTime }}</div> -->
<div class="tixing-duanxin">
<div class="content-time">{{ item.alertTime }}</div>
<div class="content-time content-time-two">已发送短信</div>
</div>
</div>
</div>
<div class="warn-main-right">

Loading…
Cancel
Save