This commit is contained in:
Your Name
2019-12-25 10:02:39 +08:00
parent 29ea1900b3
commit d3ec979ec6
13 changed files with 1704 additions and 110 deletions

BIN
dist.zip Normal file

Binary file not shown.

131
package-lock.json generated
View File

@@ -4488,6 +4488,7 @@
"version": "1.1.0",
"resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.0.tgz",
"integrity": "sha1-MQPN+KttMs9KjfeGVFjyuNM/N0U=",
"dev": true,
"requires": {
"is-arguments": "^1.0.4",
"is-date-object": "^1.0.1",
@@ -4614,6 +4615,7 @@
"version": "1.1.3",
"resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz",
"integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
"dev": true,
"requires": {
"object-keys": "^1.0.12"
}
@@ -6131,11 +6133,6 @@
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-2.0.1.tgz",
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
},
"fast-diff": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz",
"integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
},
"fast-glob": {
"version": "2.2.7",
"resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz",
@@ -6220,10 +6217,6 @@
"schema-utils": "^1.0.0"
}
},
"file-saver": {
"version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"from": "github:eligrey/FileSaver.js#1.3.8"
},
"filename-regex": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz",
@@ -6509,7 +6502,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
@@ -6924,7 +6918,8 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -6980,6 +6975,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -7023,12 +7019,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"yallist": {
"version": "3.0.3",
"bundled": true,
"dev": true
"dev": true,
"optional": true
}
}
},
@@ -7046,7 +7044,8 @@
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
"integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
"integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
"dev": true
},
"functional-red-black-tree": {
"version": "1.0.1",
@@ -7324,6 +7323,7 @@
"version": "1.0.3",
"resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
"integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
"dev": true,
"requires": {
"function-bind": "^1.1.1"
}
@@ -7433,12 +7433,8 @@
"highlight.js": {
"version": "9.15.10",
"resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.15.10.tgz",
"integrity": "sha1-exjtdckDSMBF7vntCMoTGaIhmtI="
},
"highlight.js-async-webpack": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/highlight.js-async-webpack/-/highlight.js-async-webpack-1.0.4.tgz",
"integrity": "sha1-wGtnv5nwSQRdYrdW5YVbCRLsYWw="
"integrity": "sha1-exjtdckDSMBF7vntCMoTGaIhmtI=",
"dev": true
},
"hmac-drbg": {
"version": "1.0.1",
@@ -8041,7 +8037,8 @@
"is-arguments": {
"version": "1.0.4",
"resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz",
"integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM="
"integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=",
"dev": true
},
"is-arrayish": {
"version": "0.2.1",
@@ -8115,7 +8112,8 @@
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
"dev": true
},
"is-descriptor": {
"version": "0.1.6",
@@ -8283,6 +8281,7 @@
"version": "1.0.4",
"resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"dev": true,
"requires": {
"has": "^1.0.1"
}
@@ -9539,11 +9538,6 @@
"merge-stream": "^1.0.1"
}
},
"jquery": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz",
"integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI="
},
"js-base64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
@@ -9715,7 +9709,6 @@
"integrity": "sha512-J9X76xnncMw+wIqb15HeWfPMqPwYxSpPY8yWPJ7rAZN/ZDzFkjCSZObryCyUe8zbrVRNiuCnIeQteCzMn7GnWw==",
"requires": {
"canvg": "1.5.3",
"file-saver": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"html2canvas": "1.0.0-alpha.12",
"omggif": "1.0.7",
"promise-polyfill": "8.1.0",
@@ -9735,6 +9728,10 @@
"base64-arraybuffer": "^0.1.5"
}
},
"file-saver": {
"version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"from": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e"
},
"html2canvas": {
"version": "1.0.0-alpha.12",
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-alpha.12.tgz",
@@ -10146,15 +10143,6 @@
"integrity": "sha1-XdaUPJOFSCZwFtTjTwV1gwgMUUw=",
"dev": true
},
"mavon-editor": {
"version": "2.7.6",
"resolved": "https://registry.npmjs.org/mavon-editor/-/mavon-editor-2.7.6.tgz",
"integrity": "sha512-s5RpdpXG9WFvQZf5ckCgNzwgoTfxxm9estwMyE5dbUcrip96vrtdsEQOFTMCATKpbQ2cam4kTjX0ZTTw5rDrBw==",
"requires": {
"highlight.js": "^9.11.0",
"highlight.js-async-webpack": "^1.0.4"
}
},
"md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz",
@@ -10904,12 +10892,14 @@
"object-is": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.0.1.tgz",
"integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY="
"integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=",
"dev": true
},
"object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
"integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4="
"integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
"dev": true
},
"object-visit": {
"version": "1.0.1",
@@ -11269,11 +11259,6 @@
"no-case": "^2.2.0"
}
},
"parchment": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz",
"integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
},
"parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz",
@@ -12337,41 +12322,6 @@
"integrity": "sha1-YOWl/WSn+L+k0qsu1v30yFutFU4=",
"dev": true
},
"quill": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz",
"integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==",
"requires": {
"clone": "^2.1.1",
"deep-equal": "^1.0.1",
"eventemitter3": "^2.0.3",
"extend": "^3.0.2",
"parchment": "^1.1.4",
"quill-delta": "^3.6.2"
},
"dependencies": {
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
},
"eventemitter3": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
"integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo="
}
}
},
"quill-delta": {
"version": "3.6.3",
"resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz",
"integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
"requires": {
"deep-equal": "^1.0.1",
"extend": "^3.0.2",
"fast-diff": "1.1.2"
}
},
"randomatic": {
"version": "3.1.1",
"resolved": "https://registry.npm.taobao.org/randomatic/download/randomatic-3.1.1.tgz",
@@ -12595,6 +12545,7 @@
"version": "1.2.0",
"resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.2.0.tgz",
"integrity": "sha1-azByTjBqJ4M+6xcbZqyIkLo35Bw=",
"dev": true,
"requires": {
"define-properties": "^1.1.2"
}
@@ -12935,7 +12886,8 @@
"version": "4.0.8",
"resolved": "https://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz",
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
"dev": true
"dev": true,
"optional": true
},
"rx-lite-aggregates": {
"version": "4.0.8",
@@ -15001,15 +14953,6 @@
"vue-style-loader": "^4.1.0"
}
},
"vue-quill-editor": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz",
"integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==",
"requires": {
"object-assign": "^4.1.1",
"quill": "^1.3.4"
}
},
"vue-router": {
"version": "3.1.3",
"resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.1.3.tgz",
@@ -15065,12 +15008,10 @@
}
},
"wangeditor": {
"version": "2.1.23",
"resolved": "https://registry.npmjs.org/wangeditor/-/wangeditor-2.1.23.tgz",
"integrity": "sha1-WbptIkyyFuvJ1AzpJzJpDZmH+3o=",
"requires": {
"jquery": "^2.2.3"
}
"version": "3.1.1",
"resolved": "https://registry.npm.taobao.org/wangeditor/download/wangeditor-3.1.1.tgz",
"integrity": "sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk=",
"dev": true
},
"watch": {
"version": "0.18.0",

View File

@@ -74,4 +74,13 @@ body {
font-family: "HanWangKaiBold-Gb5";
src: url("../static/fontFile/HanWangKaiBold-Gb5.ttf");
}
.el-dialog__header{
background: #E60012 !important;
text-align: center;
}
.el-dialog__title {
line-height: 24px;
font-size: 18px;
color: #fff !important;
}
</style>

View File

@@ -3,7 +3,7 @@
<div class="div1">
<p style="font-weight:600;">版权所有朝阳区委社会工委区民政局</p>
<p>京ICP备19040879号 Copyright 2019-2029 www.cyteam.orz.cn All Rights Reserved</p>
<p style="font-weight:600;">
<!-- <p style="font-weight:600;">
<span>友情链接</span>
<a style="font-weight:600;" href="https://inv-veri.chinatax.gov.cn/" target="_blank">发票查验平台</a>
<a
@@ -12,7 +12,7 @@
target="_blank"
>北京市税务局</a>
<a style="font-weight:600;" href="https://www.tianyancha.com/" target="_blank">天眼查</a>
</p>
</p> -->
</div>
<div class="div2">
<div class="img-box">

67
src/components/SubMid.vue Normal file
View File

@@ -0,0 +1,67 @@
<template>
<div ref="subMid" id="subMid"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
subMidVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
phoneEditor = new E(this.$refs.subMid)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('subMid', html)
}
phoneEditor.customConfig.menus = [
'head', // 标题
'bold', // 粗体
'fontSize', // 字号
'fontName', // 字体
'italic', // 斜体
'underline', // 下划线
'strikeThrough', // 删除线
'foreColor', // 文字颜色
'backColor', // 背景颜色
// 'link', // 插入链接
// 'list', // 列表
'justify', // 对齐方式
// 'quote', // 引用
// 'emoticon', // 表情
// 'image', // 插入图片
'table', // 表格
// 'video', // 插入视频
// 'code', // 插入代码
'undo', // 撤销
'redo' // 重复
]
phoneEditor.create()
},
methods: {},
computed: {},
watch: {
subMidtVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#subMid {
width: 100%;
height: 250px;
font-family:'宋体' !important;
}
</style>

View File

@@ -8,6 +8,7 @@ import ElementUI from 'element-ui'
import md5 from 'js-md5'
import htmlToPdf from './htmlToPdf'
import '../static/css/reset.css'
import '../static/css/swiper.css'
import '../static/fonts/iconfont.css'

View File

@@ -19,6 +19,12 @@ import Project from './views/project/Project'
import Schedule from './views/project/Schedule'
/** 项目创建 */
import Application from './views/project/Application'
/** 项目材料详情 */
import Excute from './views/excutes/Excute'
/*中期评审材料提交*/
import Submit_mid from './views/excutes/Submit_mid'
/*结项评审材料提交*/
import Post_pro from './views/excutes/Post_pro'
/** 个人中心 */
import PersonalZte from './views/personal/PersonalZte'
/** 党组织申请 */
@@ -75,6 +81,30 @@ export default new Router({
},
component: Apply
},
{
path: '/submit_mid',
name: 'submit_mid',
meta: {
requireAuth: true
},
component: Submit_mid
},
{
path: '/post_pro',
name: 'post_pro',
meta: {
requireAuth: true
},
component: Post_pro
},
{
path: '/excute',
name: 'excute',
meta: {
requireAuth: true
},
component: Excute
},
{
path: '/personalZte',
name: 'personalZte',

View File

@@ -0,0 +1,166 @@
<template>
<div class="cl">
<header-nav :index_num="index_num"></header-nav>
<div id="excute_box">
<!--内容-->
<div class="excute_con">
<h3>项目申报书</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<h3>项目实施方案</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<h3>中期报告</h3>
<h3>1基本信息</h3>
<aside>
<div>
<label>项目名称:</label>
<input type="text" name="name" value v-model="name" required class="division" />
</div>
<div>
<label>机构名称:</label>
<input type="text" name="name" value v-model="name" required class="division"/>
</div>
<div>
<label>申请日期:</label>
<input type="date" name="aterm" v-model="aterm" value required />
<span> </span>
<input type="date" name="fterm" v-model="fterm" value required />
</div>
<div>
<label>项目执行团队人员构成及分工:</label>
<input type="text" name="name" value v-model="name" required class="division"/>
</div>
</aside>
<h3>2发展性状况</h3>
<p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p>
<h3>3项目实施情况</h3>
<h3>3.1项目目标</h3>
<p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p>
<h3>3.2项目活动</h3>
<p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p>
<h3>3.3项目中期完成目标与活动对照表</h3>
<p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p>
<h3>4项目取得的成就</h3>
<h3>4.1项目活动</h3>
<p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p>
<h3>4.2项目产生的其他重要影响</h3>
<p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p>
<h3>4.3媒体报道</h3>
<p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p>
<h3>5对项目实施至今的情况总结</h3>
<p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p>
<h3>6项目财务报告<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
<h3>7中期电子报告<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
<h3>项目调整申请表及批复意见表<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
<h3>活动类/培训类/会议类材料</h3>
<h3>呵呵呵的爱心活动<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
<h3>呵呵呵的爱心活动<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
<h3>呵呵呵的爱心活动<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
<h3>财务中期预算表<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
<h3>其他类<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
<h3>中期PPT文件<span class="download"><a href="#">下载</a> | <a href="#">预览</a></span></h3>
</div>
</div>
<footer-nav class="footer"></footer-nav>
</div>
</template>
<script>
import HeaderNav from '../../components/HeaderNav'
import FooterNav from '../../components/FooterNav'
export default {
components: {
HeaderNav,
FooterNav
},
data () {
return{
index_num: 2,
sub: 0,
name:""
}
},
methods:{
aterm(){
},
fterm(){
}
},
getData(){
}
}
</script>
<style lang="scss" scoped>
#excute_box{
width: 100%;
.excute_con{
width: 1200px;
margin: 0 auto;
padding: 80px 30px;
h3{
line-height: 260%;
font-size: 20px;
}
p a{
line-height: 10%;
color:#7471EF;
font-size: 14px;
margin-right: 10px;
}
label {
margin-left: 16px;
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
line-height: 25px;
letter-spacing: 0px;
color: #333333;
text-align: right;
display: inline-block;
width: 200px;
}
input {
box-sizing: border-box;
width: 33.8%;
height: 35px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
outline: none;
margin-left: 35px;
margin-bottom: 15px;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #323232;
margin-right: 35px;
}
.division{
width: 76%;
}
span{
font-size: 18px;
}
span a{
color: #7471EF
}
p{
font-size: 17px;
color: #666;
line-height: 30px;
}
.download{
color: #7471EF;
padding-left: 30px;
font-size: 14px;
}
}
}
</style>

View File

@@ -0,0 +1,549 @@
<template>
<div class="cl">
<header-nav :index_num="index_num"></header-nav>
<div id="excute_box">
<!--内容-->
<div class="excute_con">
<h3>项目申报书</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<h3>立项批复文件</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<h3>实施方案</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<h3>项目合同</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<h3>服务承诺书</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<div class="mid_box">
<h3>街道地区办事处关于2019年社会建设资金购买社会组织服务结项材料的说明</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>项目实施各阶段情况报告</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="excute_tab">
<div class="caption">
<span @click="num=0" :class="{active:num==0}">月工作报表统计</span>
<div class="speed_box">
<a href="#" v-show="num==0">+月工作报表</a>
<a href="#" v-show="num==1">+新闻稿</a>
</div>
</div>
<div class="excute_text">
<div class="statistics" v-show="num==0">
<table>
<tr>
<th>月份</th>
<th>提交情况</th>
<th>月报文件</th>
<th>提交时间</th>
<th> </th>
</tr>
<tr v-for="(names,index) in convers" :key="index" :class="{on:index%2==0,off:index%2!=0}">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
</div><!--tab切换-->
<div class="mid_box">
<h3>中期评估报告</h3>
<h3>8.1中期评估报告</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>8.2中期整改材料</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<h3>结项报告</h3>
<h3>1基本信息</h3>
<aside>
<div>
<label>项目名称:</label>
<input type="text" name="name" value v-model="name" required class="division"/>
</div>
<div>
<label>机构名称:</label>
<input type="text" name="company" v-model="company" value disabled required class="division"/>
</div>
<div>
<label>申请日期:</label>
<input type="date" name="aterm" v-model="aterm" value required />
<span> </span>
<input type="date" name="fterm" v-model="fterm" value required />
</div>
<div>
<label>项目执行团队人员构成及分工:</label>
<input type="text" name="share" value v-model="share" required class="division"/>
</div>
</aside>
<div class="mid_box">
<h3>2项目发展性状况</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>3项目实施情况</h3>
<h3>3.1项目目标</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>3.2项目活动</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>3.3项目中期完成目标与活动对照表</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>4项目取得的成效</h3>
<h3>4.1项目活动</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>4.2项目产生的其他重要影响</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>4.3媒体报道</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>5项目实施至今的情况总结</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>6项目财务报告按实际支出列出明细上传文件</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>7中期电子报告上传</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>项目调整申请及批复</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>十一会议活动的相关资料通知议程参加人员名单及签到表现场照片或视频会议纪要活动总结报告媒体报道满意度测评表及报告等</h3>
<span>活动一:</span><input type="text" name="activity" value v-model="activity" required class="midsion"/>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>十二反映项目实施效果的相关材料媒体报道获奖情况文字成果案例等</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>十三财务管理制度</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>十四项目经费表</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<!-- <div class="ll">
<button type="button" @click="submit(0)">保存</button>
<button type="submit" @click="submit(1)">提交</button>
</div> -->
<div class="ll">
<el-form :model="numberValidateForm" ref="numberValidateForm" label-width="100px" class="demo-ruleForm">
<el-form-item>
<button type="button" @click="submitForm('numberValidateForm')">保存</button>
<button type="submit" @click="resetForm('numberValidateForm')">提交</button>
</el-form-item>
</el-form>
</div>
</div>
</div>
<footer-nav class="footer"></footer-nav>
</div>
</template>
<script>
const path = require('path')
const files = require.context('@/components', false, /\.vue$/)
const modules = {}
files.keys().forEach(key => {
const name = path.basename(key, '.vue')
modules[name] = files(key).default || files(key)
})
var preD = function (e) {
e.preventDefault()
}
export default {
components: modules,
props: {},
data () {
return {
convers:['1','2','3','4','5','6'],
index_num: 2,
sub: 0,
subMidText: '',
subMidVal: '',
name:'',
imageUrl: '',
num: 0,
share:'',
company:'',
activity:'',
numberValidateForm:'',
}
},
computed: {},
watch: {
popupStatus (val) {
if (val) {
document.body.style.overflow = 'hidden'
document.addEventListener('touchmove', preD, {
passive: false
}) /** 禁止页面滑动 */
} else {
document.body.style.overflow = '' /** 出现滚动条 */
document.removeEventListener('touchmove', preD, { passive: false })
}
}
},
model:{
},
methods: {
subMid (data) {
this.subMidText = data
},
aterm(){
},
fterm(){
},
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
},
beforeAvatarUpload(file) {
const isJPG = file.type === 'image/jpeg';
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG) {
this.$message.error('上传头像图片只能是 JPG 格式!');
}
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!');
}
return isJPG && isLt2M;
},
submitForm(formName) {
// this.$refs[formName].validate((valid) => {
// if (valid) {
// alert('submit!');
// } else {
// console.log('error submit!!');
// return false;
// }
// });
alert('保存成功')
},
resetForm(formName) {
// this.$refs[formName].validate((valid) => {
// if (valid) {
// alert('submit!');
// } else {
// console.log('error submit!!');
// return false;
// }
// });
alert('提交成功')
},
}
}
</script>
<style lang="scss" scoped>
.rich{
z-index: 10;
width: 100%;
margin: 30px auto 0px;
height: 320px;
}
#excute_box{
width: 100%;
.excute_con{
width: 1200px;
margin: 0 auto;
padding: 80px 30px;
h3{
line-height: 260%;
font-size: 20px;
}
p a{
line-height: 10%;
color:#7471EF;
font-size: 14px;
margin-right: 10px;
}
label {
margin-left: 16px;
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
line-height: 25px;
letter-spacing: 0px;
color: #333333;
text-align: right;
display: inline-block;
width: 200px;
}
input {
box-sizing: border-box;
width: 33.8%;
height: 35px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
outline: none;
margin-left: 35px;
margin-bottom: 15px;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #323232;
margin-right: 35px;
}
.division{
width: 76%;
}
.midsion{
width: 80%;
margin-left: 3px;
}
span{
font-size: 18px;
}
span a{
color: #7471EF
}
p{
font-size: 17px;
color: #666;
line-height: 30px;
}
.download{
color: #7471EF;
padding-left: 30px;
font-size: 14px;
}
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
border: 1.5px dashed #666;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
.mid_box span{
font-size: 14px;
}
.ll {
margin-top: 80px;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
button[type="button"] {
margin-right: 152px;
width: 197px;
height: 63px;
background-color: #ff9800;
border-radius: 5px;
font-family: "MicrosoftYaHei";
font-size: 26px;
font-weight: normal;
font-stretch: normal;
// line-height: 63px;
letter-spacing: 0px;
color: #ffffff;
text-align: center;
outline: none;
border: 0;
}
button[type="submit"] {
width: 197px;
height: 63px;
background-color: #e60012;
border-radius: 5px;
font-family: "MicrosoftYaHei";
font-size: 26px;
font-weight: normal;
font-stretch: normal;
// line-height: 63px;
text-align: center;
letter-spacing: 0px;
color: #ffffff;
outline: none;
border: 0;
}
}
.excute_tab{
clear: both;
width: 90%;
margin: 0 auto;
padding-top: 40px;
// border: 1px solid green;
}
.caption {
width: 100%;
height: 38px;
border-bottom: 1px solid #dedede;
margin-top: 76px;
margin-bottom: 30px;
padding-left: 30px;
box-sizing: border-box;
position: relative;
span {
display: inline-block;
height: 38px;
text-align: center;
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
margin-right: 49px;
}
span.active{
border-bottom: 2px solid #7471EF;
}
.speed_box{
position: absolute;
right: 10px;
top: 10px;
}
.speed_box a{
color: #7471EF;
font-size: 16px;
padding-left: 20px;
}
}
.statistics{
td{
border:none !important;
}
}
th {
line-height: 40px;
text-align: center;
height: 40px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
background-color: rgba(247,247,247,1);
box-sizing: border-box;
&:nth-of-type(1) {
width: 200px;
}
&:nth-of-type(2) {
width: 250px;
}
&:nth-of-type(3) {
width: 200px;
}
&:nth-of-type(4) {
width: 200px;
}
&:nth-of-type(5) {
width: 180px;
}
}
.on{
background-color: #fff;
}
.off{
background-color: #F7F7F7;
}
}
</style>

View File

@@ -0,0 +1,397 @@
<template>
<div class="cl">
<header-nav :index_num="index_num"></header-nav>
<div id="excute_box">
<!--内容-->
<div class="excute_con">
<h3>项目申报书</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<h3>项目实施方案</h3>
<p><a href="#">示例文字.DOC</a> <a href="#">预览</a> </p>
<h3>中期报告</h3>
<h3>1基本信息</h3>
<aside>
<div>
<label>项目名称:</label>
<input type="text" name="company" v-model="company" value disabled required/>
</div>
<div>
<label>机构名称:</label>
<input type="text" name="name" value v-model="name" required class="division"/>
</div>
<div>
<label>申请日期:</label>
<input type="date" name="aterm" v-model="aterm" value required />
<span> </span>
<input type="date" name="fterm" v-model="fterm" value required />
</div>
<div>
<label>项目执行团队人员构成及分工:</label>
<input type="text" name="share" value v-model="share" required class="division"/>
</div>
</aside>
<div class="mid_box">
<h3>1基本信息</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>3项目实施情况</h3>
<h3>3.1项目目标</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>3.2项目活动</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>3.3项目中期完成目标与活动对照表</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>4项目取得的成效</h3>
<h3>4.1项目活动</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>4.2项目产生的其他重要影响</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>4.3媒体报道</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>5项目实施至今的情况总结</h3>
<div class="rich">
<sub-mid @subMid="subMid" :subMidVal="subMidVal"></sub-mid>
</div>
</div>
<div class="mid_box">
<h3>6项目财务报告按实际支出列出明细上传文件</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>7中期电子报告上传</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>项目调整申请表及批复意见表若无项目调整此项材料就不需要提交</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>活动类/培训类/会议类材料以下内容基于但不限于签到表活动方案或内容活动反馈(反馈记录或反馈表)活动照片
或视频培训课件媒体报导等(原则上体现两点活动实际发生&活动效果)</h3>
<span>活动一:</span><input type="text" name="activity" value v-model="activity" required class="midsion"/>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>上传财务中期预算表</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>其他类(请依据项目书内容产出进行交付例如实物产出物调研报告等)</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<div class="mid_box">
<h3>中期PTT文件上传</h3>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<!-- <div class="ll">
<button type="button" @click="submit(0)">保存</button>
<button type="submit" @click="submit(1)">提交</button>
</div> -->
<div class="ll">
<el-form :model="numberValidateForm" ref="numberValidateForm" label-width="100px" class="demo-ruleForm">
<el-form-item>
<button type="button" @click="buttonForm('numberValidateForm')">保存</button>
<button type="submit" @click="submmitForm('numberValidateForm')">提交</button>
</el-form-item>
</el-form>
</div>
</div>
</div>
<footer-nav class="footer"></footer-nav>
</div>
</template>
<script>
const path = require('path')
const files = require.context('@/components', false, /\.vue$/)
const modules = {}
files.keys().forEach(key => {
const name = path.basename(key, '.vue')
modules[name] = files(key).default || files(key)
})
var preD = function (e) {
e.preventDefault()
}
export default {
components: modules,
props: {},
data () {
return {
index_num: 2,
sub: 0,
subMidText: '',
subMidVal: '',
name:'',
imageUrl: '',
company:'',
share:'',
activity:'',
numberValidateForm:'',
uploadForm: new FormData(),
}
},
computed: {},
watch: {
popupStatus (val) {
if (val) {
document.body.style.overflow = 'hidden'
document.addEventListener('touchmove', preD, {
passive: false
}) /** 禁止页面滑动 */
} else {
document.body.style.overflow = '' /** 出现滚动条 */
document.removeEventListener('touchmove', preD, { passive: false })
}
}
},
methods: {
subMid (data) {
this.subMidText = data
},
aterm(){
},
fterm(){
},
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
},
beforeAvatarUpload(file) {
const isJPG = file.type === 'image/jpeg';
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG) {
this.$message.error('上传头像图片只能是 JPG 格式!');
}
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!');
}
return isJPG && isLt2M;
},
buttonForm(formName) {
// this.$refs[formName].validate((valid) => {
// if (valid) {
// alert('submit!');
// } else {
// console.log('error submit!!');
// return false;
// }
// });
alert('保存成功')
},
submmitForm(formName) {
// this.$refs[formName].validate((valid) => {
// if (valid) {
// alert('submit!');
// } else {
// console.log('error submit!!');
// return false;
// }
// });
alert('提交成功')
},
}
}
</script>
<style lang="scss" scoped>
.rich{
z-index: 10;
width: 100%;
margin: 30px auto 0px;
height: 320px;
}
#excute_box{
width: 100%;
.excute_con{
width: 1200px;
margin: 0 auto;
padding: 80px 30px;
h3{
line-height: 260%;
font-size: 20px;
}
p a{
line-height: 10%;
color:#7471EF;
font-size: 14px;
margin-right: 10px;
}
label {
margin-left: 16px;
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
line-height: 25px;
letter-spacing: 0px;
color: #333333;
text-align: right;
display: inline-block;
width: 200px;
}
input {
box-sizing: border-box;
width: 33.8%;
height: 35px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
outline: none;
margin-left: 35px;
margin-bottom: 15px;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #323232;
margin-right: 35px;
}
.division{
width: 76%;
}
.midsion{
width: 80%;
margin-left: 3px;
}
span{
font-size: 18px;
}
span a{
color: #7471EF
}
p{
font-size: 17px;
color: #666;
line-height: 30px;
}
.download{
color: #7471EF;
padding-left: 30px;
font-size: 14px;
}
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
border: 1.5px dashed #666;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
.mid_box span{
font-size: 14px;
}
.ll {
margin-top: 80px;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
button[type="button"] {
margin-right: 152px;
width: 197px;
height: 63px;
background-color: #ff9800;
border-radius: 5px;
font-family: "MicrosoftYaHei";
font-size: 26px;
font-weight: normal;
font-stretch: normal;
line-height: 63px;
letter-spacing: 0px;
color: #ffffff;
text-align: center;
outline: none;
border: 0;
}
button[type="submit"] {
width: 197px;
height: 63px;
background-color: #e60012;
border-radius: 5px;
font-family: "MicrosoftYaHei";
font-size: 26px;
font-weight: normal;
font-stretch: normal;
line-height: 63px;
text-align: center;
letter-spacing: 0px;
color: #ffffff;
outline: none;
border: 0;
}
}
}
</style>

View File

@@ -69,7 +69,7 @@
</div>
<ul class="ult">
<template v-for="(build, index) in bgData.build">
<li :key="index" v-if="index < 3" @click="details(build.id)">
<li :key="index" v-if="index < 4" @click="details(build.id)">
<a href="javascript:void(0);">{{ build.title }}</a>
</li>
</template>
@@ -81,6 +81,13 @@
</div>
<!-- <span class="more" @click="$jump('informationQuery')">更多>></span> -->
</div>
<!-- <ul class="ult">
<template v-for="(build, index) in bgData.build">
<li :key="index" v-if="index < 4" @click="details(build.id)">
<a href="javascript:void(0);">{{ build.title }}</a>
</li>
</template>
</ul> -->
<div class="p">
<ul class="ult-t">
<template v-for="(party, index) in bgData.party">
@@ -145,9 +152,18 @@
<!-- THREE -->
<div class="container-three">
<p class="title">@书记</p>
<div class="btn_ques">
<el-button size="small" type="primary" @click="dialogTableVisible = true">发布提问</el-button>
<el-dialog title="请输入问题描述" :visible.sync="dialogTableVisible">
<textarea :rows="5" placeholder="某某某问题....." v-model="textarea" >
</textarea>
<el-button size="small" type="primary" style="display:block;margin:20px auto">提交</el-button>
</el-dialog>
</div><!--发布提问-->
<div class="box-list">
<template v-for="(contact, index) in bgData.contact">
<div class="list" :key="index" v-if="index < 3">
<div class="list" :key="index" v-if="index < 4">
<img :src="contact.thumb" alt />
<div class="wen-ben">
<h3>{{ contact.society_name }}</h3>
@@ -204,7 +220,6 @@
import HeaderNav from '../../components/HeaderNav'
import FooterNav from '../../components/FooterNav'
import Swiper from 'swiper'
export default {
components: {
HeaderNav,
@@ -229,7 +244,9 @@ export default {
},
bgData: [],
loading: true,
fullscreenLoading: true
fullscreenLoading: true,
textarea: '',
dialogTableVisible: false
}
},
computed: {},
@@ -471,6 +488,7 @@ li {
padding: 0 40px;
box-sizing: border-box;
margin-top: 59px;
position: relative;
.box-list {
width: 100%;
@@ -534,6 +552,11 @@ li {
color: #333333;
margin-bottom: 30px;
}
.btn_ques{
position: absolute;
right: 0;
top: 0;
}
}
/** TWO */
@@ -562,7 +585,7 @@ li {
.ult-t {
margin-top: 29px;
height: 100px;
// height: 100px;
overflow-y: scroll;
&::-webkit-scrollbar {
@@ -941,5 +964,30 @@ li {
}
}
}
/deep/ .el-button--primary {
border: none;
cursor: pointer;
margin-right:20px;
height: 30px;
border-radius: 4px;
background-image: linear-gradient(
69deg,
#cc263f 0%,
#f42b47 100%,
#ed162d 100%,
#e60012 100%
),
linear-gradient(#e60012, #e60012);
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
}
textarea{
resize: none;
width: 100%;
}
}
</style>

View File

@@ -634,9 +634,9 @@
:file-list="fileLists"
>
<el-button size="small" type="primary">上传文件</el-button>
<div slot="tip" class="el-upload__tip">
可上传同意申报说明扫描版PDF文件或图片压缩包
</div>
<span slot="tip" class="el-upload__tip">
只能上传一张不同的图片
</span>
</el-upload>
</template>
</div>
@@ -766,7 +766,11 @@ export default {
proimages: '',
subStatus: 0,
picture: [],
pid: 0
pid: 0,
imgs:[],
imgData: {
accept: 'image/gif, image/jpeg, image/png, image/jpg',
}
}
},
computed: {},
@@ -790,6 +794,9 @@ export default {
url: file.response.data.url
})
},
imgData: {
accept: 'image/gif, image/jpeg, image/png, image/jpg',
},
handleRemove (file, fileList) {
this.picture.forEach(element => {
if (file.name === element.name) {
@@ -1276,7 +1283,6 @@ export default {
height: 0px;
}
}
.wrapper {
min-width: 1280px;
box-sizing: border-box;
@@ -1536,7 +1542,7 @@ export default {
height: 138px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
resize: none;
resize: none !important;
font-family: "MicrosoftYaHei";
font-size: 18px;

View File

@@ -7,6 +7,7 @@
<div class="span">
<span @click="btn(0)" :class="sub == 0 ? 'style' : ''">项目进度</span>
<span @click="btn(1)" :class="sub == 1 ? 'style' : ''">项目信息</span>
<span @click="btn(2)" :class="sub == 2 ? 'style' : ''">项目执行信息</span>
</div>
<div class="daochu" v-if="sub == 1" @click="download()">项目导出</div>
</div>
@@ -196,6 +197,148 @@
</p>
</div>
</div>
<div class="boxx" v-if="sub == 2" :class="popupStatus == true ? 'fliter' : ''" id="pdfDom">
<div class="excuteBox">
<!-- <el-collapse v-model="activeName" accordion>
<el-collapse-item title="展开" name="1">
</el-collapse-item>
</el-collapse> -->
<ul class="excute_list">
<li>项目信息</li>
<li>项目申报书</li>
<li>实施方案</li>
<li>立项批复文件</li>
<li>项目合同</li>
<li>服务承诺书</li>
<li>中期评审材料</li>
<li>结项评审材料</li>
</ul><!--左边-->
<div class="excute_rt">
<ul>
<li>项目名称 执行机构</li>
<li><span><a href="#">下载</a> | <a href="#">预览</a></span></li>
<li><span><a href="#">下载</a> | <a href="#">预览</a></span></li>
<li><el-button size="small" type="primary">上传</el-button><span><a href="#">下载</a> | <a href="#">预览</a></span></li>
<li><el-button size="small" type="primary">上传</el-button><span><a href="#">下载</a> | <a href="#">预览</a></span></li>
<li><el-button size="small" type="primary">上传</el-button><span><a href="#">下载</a> | <a href="#">预览</a></span></li>
<li><el-button size="small" type="primary" @click="submit_mid">填写并提交</el-button><el-button size="small" type="primary">修改</el-button><el-button size="small" type="primary" @click="excute">查看</el-button><span><a href="#">中期评估报告.DOC</a></span><span><a href="#">下载</a> | <a href="#">预览</a></span></li>
<li><el-button size="small" type="primary" @click="post_pro">填写并提交</el-button><el-button size="small" type="primary">修改</el-button><el-button size="small" type="primary" @click="excute">查看</el-button><span><a href="#">中期评估报告.DOC</a></span><span><a href="#">下载</a> | <a href="#">预览</a></span><span><a href="#">中期评估报告.DOC</a></span><span><a href="#">下载</a> | <a href="#">预览</a></span></li>
</ul>
</div><!--右边-->
<div class="excute_tab">
<div class="caption">
<span @click="num=0" :class="{active:num==0}">月工作报表统计</span>
<span @click="num=1" :class="{active:num==1}">优秀活动新闻稿</span>
<span @click="num=2" :class="{active:num==2}">监测活动信息</span>
<div class="speed_box">
<el-button type="text" v-show="num==0" @click="dialogTableVisible = true">+月工作报表</el-button>
<el-dialog title="添加月度报告" :visible.sync="dialogTableVisible">
<aside>
<div>
<label>项目名称:</label>
<input type="text" name="name" value v-model="name" required class="division" />
</div>
<div>
<label>机构名称:</label>
<input type="text" name="name" value v-model="name" required class="division"/>
</div>
<div>
<label>月份选择:</label>
<input type="date" name="aterm" v-model="aterm" value required />
</div>
<div>
<label>模板下载</label>
<span><a href="#">示例文字下载.DOC</a> <a href="#"> 下载</a></span>
</div>
<div class="mid_box">
<label>上传电子版月报文件</label>
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload><!--文件上传-->
</div>
<el-button size="small" type="primary" style="display:block;margin:0 auto">提交</el-button>
</aside>
</el-dialog>
<a href="#" v-show="num==1">+新闻稿</a>
</div>
</div>
<div class="excute_text">
<div class="statistics" v-show="num==0">
<table>
<tr>
<th>月份</th>
<th>提交情况</th>
<th>月报文件</th>
<th>提交时间</th>
<th> </th>
</tr>
<tr v-for="(names,index) in convers" :key="index" :class="{on:index%2==0,off:index%2!=0}">
<td></td>
<td></td>
<td></td>
<td></td>
<td><i class="el-icon-download"></i></td>
</tr>
</table>
</div>
<div class="news_release" v-show="num==1">
<table>
<tr>
<th>项目名称</th>
<th>项目执行机构</th>
<th>文件名称</th>
<th>提交时间</th>
<th> </th>
</tr>
<tr v-for="(names,index) in convers" :key="index" :class="{on:index%2==0,off:index%2!=0}">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
<div class="monitor" v-show="num==2">
<table>
<tr>
<th>机构名称</th>
<td></td>
<th>预计参与人数</th>
<td></td>
</tr>
<tr>
<th>活动时间</th>
<td></td>
<th>项目联系人</th>
<td></td>
</tr>
<tr>
<th>活动名称</th>
<td></td>
<th>联系方式</th>
<td></td>
</tr>
<tr>
<th>活动地点</th>
<td></td>
<th>检查机构</th>
<td></td>
</tr>
<tr>
<th>活动内容</th>
<td colspan="3"></td>
</tr>
</table>
</div>
</div>
</div><!--tab切换-->
</div>
</div>
<section id="preview" v-if="popupStatus">
<div class="tc" @click="preview()"></div>
<section class="tc-text">
@@ -227,6 +370,8 @@ export default {
props: {},
data () {
return {
convers:['1','2','3','4','5','6'],
num: 0,
index_num: 2,
sub: 0,
imgUrl: {
@@ -254,7 +399,24 @@ export default {
zDate: [],
dataFile: null,
id: Number,
fileName: null
fileName: null,
dialogTableVisible: false,
dialogFormVisible: false,
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
formLabelWidth: '120px',
name:'',
handleAvatarSuccess:'',
beforeAvatarUpload:'',
imageUrl:'',
}
},
computed: {},
@@ -287,6 +449,21 @@ export default {
// window.location.href = o; // 本窗口打开下载
// window.open(centent, '_blank'); // 新开窗口下载
// },
aterm(){
},
tableData(){
},
excute(){
this.$router.replace('/excute')
},
submit_mid(){
this.$router.replace('/submit_mid')
},
post_pro(){
this.$router.replace('/post_pro')
},
download () {
this.getPdf('pdfDom', '项目申请书')
},
@@ -739,9 +916,212 @@ export default {
}
}
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 80px;
height: 80px;
line-height: 80px;
text-align: center;
border: 1.5px dashed #666;
margin-left: 30px;
margin-top: 15px;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
.excuteBox{
// border: 1px solid red;
width: 100%;
height: 800px;
}
.excute_list{
float: left;
}
.excute_list li{
font-size: 18px;
line-height: 50px;
color: #333;
}
.excute_rt li{
line-height:49px;
color: #666666;
}
.excute_rt{
// border:1px solid red;
margin-left: 50px;
float: left;
}
.excute_rt span{
padding-right: 20px;
font-size: 14px;
color: #7471EF;
}
.excute_rt a{
font-size: 14px;
color: #7471EF;
}
.excute_tab{
clear: both;
width: 90%;
margin: 0 auto;
padding-top: 40px;
// border: 1px solid green;
}
/deep/ .el-button--primary {
border: none;
cursor: pointer;
margin-right:20px;
height: 30px;
border-radius: 4px;
background-image: linear-gradient(
69deg,
#cc263f 0%,
#f42b47 100%,
#ed162d 100%,
#e60012 100%
),
linear-gradient(#e60012, #e60012);
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
}
.caption {
width: 100%;
height: 38px;
border-bottom: 1px solid #dedede;
margin-top: 76px;
margin-bottom: 30px;
padding-left: 30px;
box-sizing: border-box;
position: relative;
span {
display: inline-block;
height: 38px;
text-align: center;
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
margin-right: 49px;
}
span.active{
border-bottom: 2px solid #7471EF;
}
.speed_box{
position: absolute;
right: 10px;
top: 10px;
}
.speed_box a{
color: #7471EF;
font-size: 16px;
}
}
th {
line-height: 40px;
text-align: center;
height: 40px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
background-color: rgba(247,247,247,1);
box-sizing: border-box;
&:nth-of-type(1) {
width: 200px;
}
&:nth-of-type(2) {
width: 250px;
}
&:nth-of-type(3) {
width: 200px;
}
&:nth-of-type(4) {
width: 200px;
}
&:nth-of-type(5) {
width: 180px;
}
}
.statistics{
td{
border: none !important;
}
}
.on{
background-color: #fff;
}
.off{
background-color: #F7F7F7;
}
.monitor{
th{
width: 252px;
border: 2px solid #D7D3D3;
}
td{
width: 260px;
border: 2px solid #D7D3D3 !important;
}
}
.news_release{
td{
border: none !important;
}
}
.footer {
margin-top: 80px;
}
label {
margin-left: 16px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: bold;
font-stretch: normal;
line-height: 25px;
letter-spacing: 0px;
color: #333333;
text-align: right;
display: inline-block;
}
input {
box-sizing: border-box;
width: 33.8%;
height: 35px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
outline: none;
margin-left: 35px;
margin-bottom: 15px;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #323232;
margin-right: 35px;
}
}
</style>
</style>