企业端首页修改、服务业发展报告修改

des
吕天方 5 months ago
parent a91857167b
commit 9cc629e796

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

@ -0,0 +1,19 @@
import request from "@/utils/request"
// 查询模板指标自定义选择
export function templateMetrics(params) {
return request({
url: "/jjh/templateMetrics/templateMetrics",
method: "get",
params
})
}
// 新增服务业发展报告
export function templateMetricsAdd(data){
return request({
url: "/jjh/templateMetrics",
method: "post",
data
})
}

@ -41,4 +41,8 @@
@font-face {
font-family: "ArialB";
src: url("./font/Arial-BoldMT.otf");
}
@font-face {
font-family: "ArialM";
src: url("./font/ArialMT.otf");
}

@ -1,5 +1,15 @@
@import "@/assets/styles/utils.scss";
//
.el-form-item__content {
.w-e-text-container {
.w-e-text-placeholder {
top: 10px;
}
}
}
//
.my-L-breadcrumb {
// height: 55px;
@ -1839,6 +1849,15 @@
color: #fff;
font-family: AlibabaPuHuiTiM;
}
.orange {
background-color: #ff8929;
}
.green {
background-color: #5cbc69;
}
.red {
background-color: #ff6349;
}
.promoteProject-top {
.span-one {
font-family: AlibabaPuHuiTiM;
@ -2199,9 +2218,257 @@
.home-main-left {
background-color: #fff;
border-radius: 10px;
// margin-right: 20px;
margin-right: 10px;
padding: 10px 20px;
height: 100%;
display: flex;
flex-direction: column;
.enterprise-header {
display: flex;
align-items: center;
margin-bottom: 10px;
.dataCloudMap-birght {
width: 6px;
height: 18px;
background: #0086FF;
box-shadow: 3px 0 3px 0px #0086FF;
border-radius: 5px 5px 5px 5px;
}
.enterprise-header-title {
font-family: AlibabaPuHuiTiB;
margin: 0 10px;
font-weight: bold;
font-size: 18px;
color: #333333;
}
}
.home-enterprise-top,.home-enterprise-bottom {
// flex: 1;
margin-bottom: 10px;
height: 50%;
height: calc((100% - 45px) / 2);
display: flex;
.capital-proportion,.capital-declare {
margin-right: 10px;
}
.capital-proportion,.enterprise-honor,.capital-declare,.relevancy-project {
width: 100%;
background-color: #F5F8FA;
height: 100%;
padding: 20px 20px 10px;
border-radius: 10px;
display: flex;
flex-direction: column;
.box-header {
display: flex;
align-items: center;
.garden {
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #0086FF;
margin-right: 10px;
}
.box-header-title {
font-family: AlibabaPuHuiTiB;
font-size: 16px;
color: #383838;
}
}
//
.capital-echart-table {
flex: 1;
margin-top: 10px;
display: flex;
.left-echart {
flex: 1;
// width: 45%;
height: 100%;
#echartsHome {
height: 100%;
width: 100%;
}
}
.right-tables {
flex: 1;
// width: 50%;
overflow-y: scroll;
display: grid;
grid-template-columns: 1fr;
row-gap: 10px;
.table-items {
padding: 15px 15px;
text-align: left;
background-color: #fff;
display: grid;
grid-template-columns: 1fr;
row-gap: 10px;
.project-name {
font-family: AlibabaPuHuiTiM;
font-size: 16px;
color: #1890FF;
font-style: normal;
text-decoration-line: underline;
text-transform: none;
}
.project-type,.declare-time,.appropriate {
display: flex;
align-items: center;
font-size: 16px;
color: #666666;
// flex-wrap: nowrap;
.left-title {
// flex: 1;
margin-right: 5px;
font-family: AlibabaPuHuiTiR;
.left-unit {
font-size: 12px;
}
}
.right-value {
font-family: AlibabaPuHuiTiM;
width: 65%;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
white-space: nowrap;
}
.right-number {
font-family: ArialB;
}
}
}
}
}
//
.two-tables {
flex: 1;
display: grid;
grid-template-columns: 1fr;
row-gap: 10px;
margin-top: 10px;
.table-items {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
background-color: #fff;
overflow-y: scroll;
.two-left {
font-family: AlibabaPuHuiTiM;
font-size: 16px;
color: #1890FF;
}
.two-right {
display: flex;
align-items: center;
font-size: 14px;
color: #666666;
.right-left {
font-family: AlibabaPuHuiTiR;
}
.right-span {
font-family: AlibabaPuHuiTiM;
}
}
}
}
//
section {
margin-top: 10px;
.el-table {
th {
font-family: AlibabaPuHuiTiM;
font-size: 14px;
color: #333333;
}
td {
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #666666;
}
.project-trace-table-number {
font-family: ArialM;
font-size: 14px;
color: #666666;
}
.project-trace-table {
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #1890FF;
}
}
}
//
.promoteProject-box-wai-box {
margin-top: 10px;
overflow-y: auto;
display: grid;
grid-template-columns: 1fr;
row-gap: 15px;
.promoteProject-box-div {
background: #FFFFFF;
padding: 14px;
position: relative;
.promoteProject-position {
position: absolute;
top: 0;
right: 0;
padding: 5px 0;
width: 20%;
border-radius: 0px 0px 0px 20px;
background-color: #ff8929;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-family: AlibabaPuHuiTiM;
}
.orange {
background-color: #ff8929;
}
.green {
background-color: #5cbc69;
}
.red {
background-color: #ff6349;
}
.promoteProject-top {
.span-one {
font-family: AlibabaPuHuiTiM;
font-size: 16px;
color: #1890FF;
font-style: normal;
text-decoration-line: underline;
text-transform: none;
}
}
.promoteProject-bottom {
margin-top: 16px;
display: flex;
justify-content: space-between;
width: 85%;
.promoteProject-bottom-left {
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #666666;
.span-two {
font-family: AlibabaPuHuiTiM;
}
}
.promoteProject-bottom-right {
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #666666;
.span-three {
font-family: ArialB;
}
}
}
}
}
}
}
}
.home-main-right {
height: 100%;
@ -2337,6 +2604,9 @@
border-radius: 10px;
margin-right: 10px;
padding: 10px 20px;
.main-right {
height: 100%;
}
.right-header {
display: flex;
justify-content: space-between;
@ -2368,6 +2638,7 @@
}
}
.right-main {
overflow-y: scroll;
.main-items {
display: flex;
align-items: center;
@ -3678,28 +3949,47 @@
.yewufazhanbox-right {
background: #fff;
border-radius: 10px;
padding: 20px;
padding: 10px 20px;
.yewufazhan-title {
padding-left: 15px;
position: relative;
font-family: AlibabaPuHuiTiB;
font-size: 16px;
color: #383838;
text-align: left;
font-weight: 600;
.yewufazhanbox-header-box {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
.yewufazhan-title {
padding-left: 15px;
position: relative;
font-family: AlibabaPuHuiTiB;
font-size: 16px;
color: #383838;
text-align: left;
font-weight: 600;
&:before {
content: '';
position: absolute;
left: 0px;
top: 50%;
transform: translate(0, -50%);
width: 9px;
height: 9px;
background-color: #0086FF;
border-radius: 50%;
}
}
.el-button--default:hover {
background-color: oklab(0.65 -0.06 -0.18);
border-color: #1890FF;
color: #FFFEFE;
}
&:before {
content: '';
position: absolute;
left: 0px;
top: 50%;
transform: translate(0, -50%);
width: 9px;
height: 9px;
background-color: #0086FF;
border-radius: 50%;
.el-button--default {
border-color: #1890FF;
font-family: PingFang-SC;
font-size: 14px;
font-weight: bold;
color: #0086FF;
padding: 10px 100px;
}
}
@ -3719,6 +4009,38 @@
.dialog-from-item {
text-align: right;
.el-button--primary.is-active,
.el-button--primary:active {
background: oklab(0.7 -0.3 -0.4);
border-color: #1890FF;
color: #FFFEFE;
}
.el-button--primary {
background: #1890FF;
border-color: #1890FF;
color: #FFFEFE;
}
.el-button--primary:focus,
.el-button--primary:hover {
background: oklab(0.7 -0.3 -0.4);
border-color: #1890FF;
color: #FFFEFE;
}
.el-button--default:hover,
.el-button--primary:hover {
background-color: oklab(0.65 -0.06 -0.18);
border-color: #1890FF;
color: #FFFEFE;
}
.el-button--default {
border-color: #1890FF;
color: #000000;
}
}
}
@ -3726,9 +4048,32 @@
width: 25%;
position: relative;
.yewufazhan-title-right {
padding-left: 15px;
position: relative;
font-family: AlibabaPuHuiTiB;
font-size: 16px;
color: #383838;
text-align: left;
font-weight: 600;
line-height: 40px;
&:before {
content: '';
position: absolute;
left: 0px;
top: 50%;
transform: translate(0, -50%);
width: 9px;
height: 9px;
background-color: #0086FF;
border-radius: 50%;
}
}
.yewufazhanbox-right-from {
position: absolute;
top: 13px;
top: 10px;
right: 20px;
span {
@ -3747,8 +4092,8 @@
height: 95%;
overflow: auto;
.yewufazhanbox-charu {
cursor:pointer;
font-family: AlibabaPuHuiTiR;
padding: 0;
font-size: 14px;
color: #1890FF;
font-style: normal;

@ -1,27 +1,30 @@
<template>
<div class="L-public-main yewufazhan-box">
<div class="yewufazhanbox-left">
<div class="yewufazhan-title">文本编辑器</div>
<div class="yewufazhanbox-left" v-loading="loading">
<div class="yewufazhanbox-header-box">
<div class="yewufazhan-title">文本编辑器</div>
<el-button @click="footbtn('一键生成')"></el-button>
</div>
<el-form :model="addFrom" size="small" ref="importFrom" :rules="rules" class="newArticle">
<el-row :gutter="20">
<el-col>
<el-form-item class="yewufazhanbox-input" prop="name">
<el-input v-model.trim="addFrom.name" placeholder="请输入报告模板标题"></el-input>
<el-form-item class="yewufazhanbox-input" prop="title">
<el-input v-model.trim="addFrom.title" placeholder="请输入报告模板标题"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col>
<el-form-item class="yewufazhanbox-input" prop="enterUnit">
<el-input v-model.trim="addFrom.enterUnit" placeholder="副标题"></el-input>
<el-form-item class="yewufazhanbox-input" prop="subheading">
<el-input v-model.trim="addFrom.subheading" placeholder="副标题"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="enterContent">
<myEditor :height="200" v-model="addFrom.enterContent"></myEditor>
<el-form-item prop="content">
<myEditor height="480px" ref="myEditor" v-model="addFrom.content" @onFocus="onFocus" @onBlur="onBlur"></myEditor>
</el-form-item>
</el-col>
</el-row>
@ -32,30 +35,31 @@
<el-form-item class="dialog-from-item">
<el-button @click="footbtn('预览')"></el-button>
<el-button type="primary" @click="footbtn('保存')"></el-button>
<el-button type="primary" @click="footbtn('一键生成')"></el-button>
<el-button type="primary" @click="footbtn('导出')"></el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="yewufazhanbox-right">
<div class="yewufazhan-title">文本编辑器</div>
<div class="yewufazhan-title-right">模板指标自定义选择</div>
<div class="yewufazhanbox-right-from">
<span>年份</span>
<el-date-picker v-model="nianfenvalue3" type="year" placeholder="选择年">
<el-date-picker v-model="nianfenvalue3" value-format="yyyy" format="yyyy" @change="timeChange" type="year" placeholder="选择年">
</el-date-picker>
</div>
<div class="yewufazhanbox-right-table">
<el-table :data="tableData" border header-align="center" stripe>
<el-table-column prop="shuju" label="数据项" width="180" align="center">
<el-table-column prop="dataName" label="数据项" width="180" align="center">
</el-table-column>
<el-table-column prop="nianfen" label="统计年份" align="center">
<el-table-column prop="years" label="统计年份" align="center">
</el-table-column>
<el-table-column prop="shuzhi" label="数值" align="center">
<el-table-column prop="count" label="数值" align="center">
</el-table-column>
<el-table-column prop="shuzhi" label="操作" align="center">
<template slot-scope="scope">
<div class="yewufazhanbox-charu" @click="charu(scope.row)"></div>
<!-- <div class="yewufazhanbox-charu" @click="charu(scope.row)"></div> -->
<el-button type="text"class="yewufazhanbox-charu" @click="charu(scope.row)" :disabled="btnDisable">插入</el-button>
</template>
</el-table-column>
</el-table>
@ -63,12 +67,37 @@
</div>
<el-dialog
title="查看详情"
:visible.sync="infoVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
@close="infoClose"
custom-class="info-dialog"
append-to-body
>
<div class="info-content">
<div class="info-title">{{ infoFrom.title }}</div>
<div class="info-content-top">
<div>发布人{{ infoFrom.createBy }}</div>
<div>发布时间{{ infoFrom.enterTime }}</div>
</div>
<div v-html="infoFrom.content" class="info-content-content"></div>
</div>
<div slot="footer" class="dialog-footer">
<el-form size="small">
<el-form-item class="dialog-from-item">
<el-button size="mini" @click="infoClose"></el-button>
</el-form-item>
</el-form>
</div>
</el-dialog>
</div>
</template>
<script>
import myEditor from "@/views/components/myEditor/index.vue"
import { templateMetrics, templateMetricsAdd } from "@/api/jin_ji_hu/ServiceDevelopment/index"
export default {
name: '',
components: { myEditor },
@ -76,217 +105,104 @@ export default {
return {
nianfenvalue3: "",
addFrom: {
name: "",
joinProject: "",
enterUnit: "",
policyLevel: "",
title: "",
subheading: "",
content: "",
},
infoFrom :{
title: "",
content: "",
createBy: "",
enterTime: "",
},
rules: {
name: [
{ required: true, message: '请填写政策文件名称', trigger: 'blur' }
title: [
{ required: true, message: '请输入报告模板标题', trigger: 'blur' }
],
// joinProject:[
// { required: true, message: '', trigger: 'blur' }
// ],
enterUnit: [
{ required: true, message: '请填写发文单位', trigger: 'blur' }
],
policyLevel: [
{ required: true, message: '请选择政策等级', trigger: 'change' }
subheading: [
{ required: true, message: '请输入副标题', trigger: 'blur' }
],
enterTime: [
{ required: true, message: '请选择发文时间', trigger: 'change' }
content: [
{ required: true, message: '请输入内容', trigger: 'blur' }
],
},
tableData: [
{
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
}, {
shuju: "服务业企业总数 ",
nianfen: "2023",
shuzhi: "524"
},
]
tableData: [],
btnDisable:true,
loading:false,
title : '苏州工业园区服务业发展情况',
subheading: "2023年4月",
content: "<p>一、总体实力显著增强</p><p>产业规模高速增长,综合贡献明显提升。</p><p>近年来,园区服务业保持持续增长态势,截至目前,园区服务业规上企业总计 677 家。2021年,园区实现服务业增加值 1674.4亿元占GDP 比重达 50.3%。2022年全年实现服务业增加值1753.18亿元,占 GDP 比重49.9%。2023年1-3月实现服务业增加值 405.95亿元同比增加4.2%。7大服务业核算行业(①多式联运和运输代理业、②装卸报运和仓储业、③互联网和相关服务、软件信息服务业、④租赁和商务服务业、(5居民服务、修理和其他服务业、⑥文化、体育和娱乐业、⑦科学研究和技术服务业)2022年全年营股1311.71亿元增速达22%:2023年1-3月实现营收 348.34亿元,同比增速 35%。根据苏州市新兴服务业行业分类(含金融服务、信息服务、物流服务、科技服务、商务中介服务、设计服务、人力资源服务、检验栓测认证、低碳绿色服务、现代商贸、文化消费、旅游康养等 12个类别)2022年国区新兴服务业营收达 1488.57 亿元,较上年增长 24%。</p><p>二、产业结构持续优化</p><p>产业结构还步优化生产性服务占主导。经过多年发展园区服务业产业结构逐渐多样化生产性服务业与生活性服务业基本形成7:3的格局。2022年生产性服务业增加值达到1199.5亿元占服务业增加值比重达68.筑。截至目前,园区生产性服务业规上企业总计 655家(含部分工业企业)。自 2019年苏州市开展全市生产恒服务业综合译价以来园区已连续两年考评优秀。37家国区企业入选苏州市生产性服务业领军企业占全市51%位全市第一并成为苏州首个实现生产性服务业9大重点领域(信息技术服务、研发设计、金融服务、检验检测认证、知识产权服务、节能环保服务、人力资源服务、现代供应蛙管理、商务服务)全度盖的区域。推动先进制造业和现代服务业深度融合发展2022年初园区获评江苏省两业融合深度融合试点地区。</p><p>城市活力不断提升,生活性服务显潜能。完成环金鸡湖商圈城市活力提升规划并正式发布,引导环金鸡湖商圈核心商业体差异定位、错位发展,金鸡湖景区获评第一批省级现代服务业高质量发展集聚示范区。积极引入北京及上海周边外溢资源,推动园区载体与国内优质品牌对接,加快发展“首店经济”(首店经济是指一个区域利用特有的资源优势,吸引国内外品牌在区域首次开设门店,目前国区大力推动“中国首店”“苏州首店”落户园区)。通过开展“云购金鸡湖”等活动,持续打造金鸡湖系列 IP宣传园区特色消费场景在后疫情时代不断激发生活性服务业发展能。</p>",
infoVisible:false,
}
},
created() { },
mounted() { },
mounted() {
let date = new Date();
let year = date.getFullYear();
this.nianfenvalue3 = year + ''
this.getList();
},
methods: {
//
charu(item){
console.log(item);
this.addFrom.enterContent = item.shuzhi
// console.log(item);
this.$refs.myEditor.interposition(item.count)
// : editor.insertText('xxx') editor.dangerouslyInsertHtml(`<h1></h1><p> <b></b></p>`)
},
//
footbtn(type) {
if (type == '预览') {
}
if (type == '保存') {
console.log(this.addFrom.content);
// templateMetricsAdd().then(res=>{
// console.log(res);
// })
}
if (type == '一键生成') {
this.loading = true;
setTimeout(()=>{
this.addFrom.title = this.title;
this.addFrom.subheading = this.subheading;
this.addFrom.content = this.content;
this.loading = false;
},2000)
}
if (type == '导出') {
}
}
},
//
getList(){
templateMetrics({year:this.nianfenvalue3}).then(res=>{
this.tableData = res.data;
})
},
//
timeChange(time){
this.getList()
},
onFocus(){
this.btnDisable = false;
},
onBlur(){
this.btnDisable = true;
},
//
infoClose(){
this.infoFrom = {
title: "",
content: "",
createBy: "",
enterTime: "",
}
this.infoVisible = false;
},
},
computed: {}
}

@ -8,13 +8,15 @@
:mode="mode"
/>
<Editor
style="height: 500px; overflow-y: hidden;"
:style="{height: height, overflowY: 'hidden'}"
v-loading="Loading"
v-model="html"
:defaultConfig="editorConfig"
:mode="mode"
@onCreated="onCreated"
@onChange="onChange"
@onFocus="onFocus"
@onBlur="onBlur"
/>
</div>
</template>
@ -37,8 +39,10 @@ export default {
'emotion',
],
},
number: 0,
editorConfig: {
placeholder: '请输入内容...',
autoFocus:false, // focus true
MENU_CONF: {
uploadImage:{
//
@ -74,6 +78,10 @@ export default {
type: String,
default: "",
},
height: {
type: String,
default: '500px'
}
},
watch: {
value: {
@ -85,6 +93,7 @@ export default {
},
methods:{
onCreated(editor) {
//
this.editor = Object.seal(editor) // Object.seal()
this.$nextTick(()=>{
const toolbar = DomEditor.getToolbar(editor)
@ -98,6 +107,16 @@ export default {
this.$emit('input',html);
// console.log('content', editor.children)
},
onFocus(editor){
this.$emit('onFocus');
},
//
interposition(value){
this.editor.dangerouslyInsertHtml(`<span style="color: rgb(255, 255, 255); background-color: rgb(66, 144, 247);">${value}</span>`)
},
onBlur(){
this.$emit('onBlur');
},
destroy() {
const editor = this.editor
if (editor == null) return

@ -0,0 +1,148 @@
<template>
<div id="echartsHome" ref="myChartHome"></div>
</template>
<script>
import * as echarts from "echarts";
export default {
data() {
let colors = ['#5CBC69','#FF8929']
let datas = [
{ value: 5, name: '已完成', label:{color:"#5CBC69"}},
{ value: 95, name: '未完成', label:{color:"#FF8929"}},
];
//
let itemStyle = {
// normal: {
borderRadius: 4,
borderColor: "#F5F8FA",
borderWidth: 4,
color: function (params) {
return colors[params.dataIndex];
},
// },
};
return {
myChartHome: false,
option: {
color:colors,
legend: {
bottom: '10%',
right: '20%',
orient: 'horizontal',
data: datas,
icon: 'square',
itemWith: 14,
itemHeight: 14,
itemGap: 13,
// 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: ["45%", "40%"],
itemStyle: itemStyle,
emphasis: {
scale: true,
label: {
show: true
},
},
label: {
show: true,
},
data: datas,
label: {
// show: true,
// position: "outside",
padding: [10, -20],
formatter: (params) => {
return "{a|" +params.value+"}{b|" + "%}";
},
rich: {
a: {
fontFamily: "DINCondensed",
fontWeight: 'bold',
fontSize: 18,
padding: [-15, 0, 0, 0],
},
b: {
fontFamily: "AlibabaPuHuiTiR",
fontSize: 12,
fontWeight: 500,
padding: [-15, 0, 0, 0],
},
},
},
labelLine: {
show: true,
length: 15,
length2: 20,
},
},
{
name: "阴影圈",
type: "pie",
radius: ["0%", "35%"],
center: ["45%", "40%"],
hoverAnimation: false,
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],
}
],
}
}
},
mounted(){
this.$nextTick(()=>{
this.initEchart();
})
window.addEventListener('resize', this.cancalDebounce);
},
beforeDestroy() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
cancalDebounce(){
console.log("走了吗");
window.onresize = this.myChartHome.resize();
},
initEchart(){
var chartDom = document.getElementById("echartsHome");
this.myChartHome = echarts.init(chartDom);
this.myChartHome.setOption(this.option)
},
},
}
</script>
<style lang="scss" scoped>
</style>

@ -1,12 +1,107 @@
<template>
<div class="home-box">
<el-row type="flex" class="main-row">
<el-col :span="14" class="home-main-left">
<el-col :span="16" class="home-main-left">
<div class="enterprise-header">
<span class="dataCloudMap-birght"></span>
<div class="enterprise-header-title">专项资金荣誉投资等统计</div>
</div>
<el-row class="home-enterprise-top">
<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>
</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="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>
</div>
<div class="appropriate">
<span class="left-title">拨付金额<span class="left-unit">(亿元)</span>:</span>
<span class="right-number">50</span>
</div>
</div>
</div>
</div>
</el-col>
<el-col :span="12" class="enterprise-honor">
<div class="box-header">
<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 5">
<div class="two-left">xxxxx项目</div>
<div class="two-right">
<span class="right-left">项目类别</span>
<span class="right-span">自主品牌先进技术研究院</span>
</div>
</div>
</div>
</el-col>
</el-row>
<el-row class="home-enterprise-bottom">
<el-col :span="12" class="capital-declare" id="table-two">
<div class="box-header" id="table-two-title">
<span class="garden"></span>
<span class="box-header-title">往年专项资金申报10</span>
</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="projectName" align="center">
<template slot-scope="scope">
<div class="project-trace-table">{{ scope.row.projectName }}</div>
</template>
</el-table-column>
<el-table-column label="专项资金申报时间" prop="time" align="center">
<template slot-scope="scope">
<div class="project-trace-table-number">{{ scope.row.time }}</div>
</template>
</el-table-column>
</el-table>
</section>
</el-col>
<el-col :span="12" class="relevancy-project">
<div class="box-header">
<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-div" v-for="(item,index) in tableTwoData" :key="index">
<div class="promoteProject-top">
<span class="span-one">{{ item.projectName }}</span>
</div>
<div class="promoteProject-bottom">
<div class="promoteProject-bottom-left">
所属企业
<span class="span-two">{{ item.enterprice }}</span>
</div>
<div class="promoteProject-bottom-right">
申报时间
<span class="span-three">{{ item.time }}</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>
</div>
</el-col>
</el-row>
</el-col>
<el-col :span="10" class="home-main-right">
<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%;">
<el-col :span="24" class="work-main-left" style="height: 64.5%;">
<div class="main-left">
<div class="left-header">
<div class="left-header-titleS">
@ -65,16 +160,16 @@
</div>
</div>
</el-col>
<el-col :span="24" class="work-main-right" style="height: 34%;">
<div class="main-right">
<div class="right-header">
<el-col :span="24" class="work-main-right" style="height: 34.5%;">
<div class="main-right" id="task-box">
<div class="right-header" id="task-header">
<div class="right-header-box">
<span class="dataCloudMap-birght"></span>
<div class="right-header-title">待办任务</div>
</div>
<el-button @click="MoreRecords('all')" type="text" v-if="backlogArray.length > 0">>> 更多记录</el-button>
</div>
<div class="right-main" v-if="backlogArray.length > 0" v-loading="loading">
<div class="right-main" :style="{height: tabHeader+'px'}" v-if="backlogArray.length > 0" v-loading="loading">
<div class="main-items" v-for="(item,index) in backlogArray" :key="index" :class="index % 2 == 0 ? '':'main-item'">
<div>{{ item.enterpriseDirectory}}</div>
<!-- <div>{{ item.enterpriseName }}</div> -->
@ -106,8 +201,12 @@
<script>
import { listRecords } from "@/api/onlineDeclartion/records"
import { chiefAll, enterpriseAll, changeIsRead } from "@/api/jin_ji_hu/intelligentReminder"
import echart from "./components/echartsPage"
export default {
dicts: ["project_small_type"],
components:{
echart
},
data() {
return {
// 01 02
@ -124,14 +223,81 @@ export default {
fileList: [],
uploadList: [],
loading:false,
loadingTab:false,
remindList: [],
info:{},
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,
},
]
}
},
mounted(){
this.getListTwo();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
// this.entRemind();
},
beforeDestroy() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
getListTwo(){
@ -190,6 +356,27 @@ export default {
}
}
},
//
cancalDebounce(){
const element = document.getElementById('task-box'); // ID
const header = document.getElementById('task-header'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
this.tabHeader = elementHeight - headerHeight - 30;
const oneTable = document.getElementById('one-table'); // ID
const oneHeader = document.getElementById('one-table-header'); // ID
const oneTableHeight = oneTable.offsetHeight;
const oneHeaderHeight = oneHeader.offsetHeight;
this.tabOneHeader = oneTableHeight - oneHeaderHeight - 30;
const twoTable = document.getElementById('table-two'); // ID
const twoHeader = document.getElementById('table-two-title'); // ID
const twoTableHeight = twoTable.offsetHeight;
const twoHeaderHeight = twoHeader.offsetHeight;
this.tableTwoHeight = twoTableHeight - twoHeaderHeight - 50;
console.log(this.tabOneHeader);
}
},
}
</script>

@ -143,7 +143,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="发文内容:" class="importFormItem" prop="enterContent">
<myEditor v-if="openEditor" :height="200" v-model="addFrom.enterContent"></myEditor>
<myEditor v-if="openEditor" height="500px" v-model="addFrom.enterContent"></myEditor>
</el-form-item>
</el-col>
</el-row>

@ -15,7 +15,7 @@
<span class="span-three">{{ item.time }}</span>
</div>
</div>
<div class="promoteProject-position">复审中</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>
</div>
</template>

Loading…
Cancel
Save