This commit is contained in:
ly
2020-05-11 21:31:05 +08:00
commit 10e67f7c00
158 changed files with 55652 additions and 0 deletions

2
.browserslistrc Normal file
View File

@@ -0,0 +1,2 @@
> 1%
last 2 versions

5
.editorconfig Normal file
View File

@@ -0,0 +1,5 @@
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true

15
.env.development Normal file
View File

@@ -0,0 +1,15 @@
# just a flag
ENV = 'development'
# base api
VUE_APP_BASE_API = '/url/'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require().
# This configuration can significantly increase the speed of hot updates,
# when you have a large number of pages.
# Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
VUE_CLI_BABEL_TRANSPILE_MODULES = true

5
.env.production Normal file
View File

@@ -0,0 +1,5 @@
# just a flag
ENV = 'production'
# base api
VUE_APP_BASE_API = http://chaoyang.nxers.com/api/

54
.eslintrc.js Normal file
View File

@@ -0,0 +1,54 @@
module.exports = {
"env": {
"browser": true,
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 2015,
"sourceType": "module"
},
"rules": {
// 缩进
"indent": [
"error",
4 //我的是编辑器自动格式化不是使用tabs而是四个空格
],
"linebreak-style": [
"error",
"windows"
],
// 引号
"quotes": [
1,
"single"
],
// 分号结尾
"semi": [
"error",
"always"
],
"no-unused-vars": [2, {
// 允许声明未使用变量
"vars": "local",
// 参数不检查
"args": "none"
}],
// 最大空行100
"no-multiple-empty-lines": [0, { "max": 100 }],
"no-mixed-spaces-and-tabs": [0],
//不能使用console
"no-console": 'off',
//未定义变量不能使用
"no-undef": 0,
//一行结束后面不要有空格
"no-trailing-spaces": 1,
//强制驼峰法命名
"camelcase": 2,
//对象字面量项尾不能有逗号
"comma-dangle": [2, "never"],
//this别名
"consistent-this": [2, "that"],
}
};

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/node_modules
/dist

65
README.en.md Normal file
View File

@@ -0,0 +1,65 @@
# The rising sun
#### Description
社会服务类
# chaoyangpc
#### Description
朝阳政府pc
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
<<<<<<< HEAD
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
=======
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
>>>>>>> 01e5249df568cec40298165d799d9a119c0553e6

68
README.md Normal file
View File

@@ -0,0 +1,68 @@
# The rising sun
#### 介绍
社会服务类
# chaoyangpc
#### 介绍
朝阳政府pc
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 码云特技
<<<<<<< HEAD
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
# chaoyangpc
=======
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
>>>>>>> 01e5249df568cec40298165d799d9a119c0553e6

5
babel.config.js Normal file
View File

@@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/app'
]
}

30
jest.config.js Normal file
View File

@@ -0,0 +1,30 @@
module.exports = {
moduleFileExtensions: [
'js',
'jsx',
'json',
'vue'
],
transform: {
'^.+\\.vue$': 'vue-jest',
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
'^.+\\.jsx?$': 'babel-jest'
},
transformIgnorePatterns: [
'/node_modules/'
],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1'
},
snapshotSerializers: [
'jest-serializer-vue'
],
testMatch: [
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
],
testURL: 'http://localhost/',
watchPlugins: [
'jest-watch-typeahead/filename',
'jest-watch-typeahead/testname'
]
}

17311
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

42
package.json Normal file
View File

@@ -0,0 +1,42 @@
{
"name": "rising_sun",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"test:unit": "vue-cli-service test:unit"
},
"dependencies": {
"axios": "^0.19.2",
"core-js": "^2.6.11",
"element-ui": "^2.13.0",
"html2canvas": "^1.0.0-rc.5",
"jspdf": "^1.5.3",
"node-sass": "^4.13.1",
"sass-loader": "^8.0.2",
"swiper": "^5.3.1",
"vue": "^2.6.11",
"vue-router": "^3.1.5",
"vuex": "^3.1.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.12.1",
"@vue/cli-plugin-eslint": "^3.12.1",
"@vue/cli-plugin-unit-jest": "^3.12.1",
"@vue/cli-service": "^3.12.1",
"@vue/eslint-config-standard": "^4.0.0",
"@vue/test-utils": "1.0.0-beta.29",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "^10.0.1",
"babel-jest": "^23.6.0",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
"js-md5": "^0.7.3",
"less": "^3.11.1",
"less-loader": "^5.0.0",
"vue-template-compiler": "^2.6.11",
"wangeditor": "^3.1.1"
}
}

12
postcss.config.js Normal file
View File

@@ -0,0 +1,12 @@
// module.exports = {
// plugins: {
// autoprefixer: {}
// }
// }
module.exports = {
plugins: {
'autoprefixer': {browsers: 'last 5 version'}
}
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

21
public/index.html Normal file
View File

@@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>朝阳社会组织服务管理平台</title>
</head>
<body>
<noscript>
<strong>We're sorry but rising_sun doesn't work properly without JavaScript enabled. Please enable it to
continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

86
src/App.vue Normal file
View File

@@ -0,0 +1,86 @@
<template>
<div id="app">
<router-view />
</div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {}
},
computed: {},
watch: {},
methods: {},
created () {},
mounted () {},
updated () {
window.scroll(0, 0)
}
}
</script>
<style lang="less">
// * {
// /*隐藏滚动条当IE下溢出仍然可以滚动*/
// // -ms-overflow-style: none;
// /*火狐下隐藏滚动条*/
// // scrollbar-width: none;
// }
// html {
// /*隐藏滚动条当IE下溢出仍然可以滚动*/
// // -ms-overflow-style: none;
// /*火狐下隐藏滚动条*/
// // scrollbar-width: none;
// }
// @font-face{
// font-family: "微软雅黑" !important;
// }
/deep/ .w-e-text-container p {
color: red;
}
body {
background-color: #fcfbfb;
// font {
// font-family: "微软雅黑" !important;
// }
// &::-webkit-scrollbar {
// width: 0px;
// height: 5px;
// }
table {
td {
border: 1px solid #000 !important;
height: 25px;
line-height: 25px;
text-align: center;
padding: none;
}
}
img {
cursor: pointer;
}
}
@font-face {
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

@@ -0,0 +1,97 @@
<template>
<div>
<div ref="aboutUs" id="aboutUs"></div>
</div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
aboutUsVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
_this.aboutUs=_this.aboutUsVal
phoneEditor = new E(_this.$refs.aboutUs)
phoneEditor.customConfig.pasteFilterStyle = false
// this.editor.customConfig.uploadImgShowBase64 = true
phoneEditor.customConfig.onchange = html => {
_this.$emit('aboutUs', html)
}
// phoneEditor.customConfig.pasteTextHandle = function (content) {
// // content 即粘贴过来的内容html 或 纯文本),可进行自定义处理然后返回
// if (content == '' && !content) return ''
// var str = content
// str = str.replace(/<xml>[\s\S]*?<\/xml>/ig, '')
// str = str.replace(/<style>[\s\S]*?<\/style>/ig, '')
// str = str.replace(/<\/?[^>]*>/g, '')
// str = str.replace(/[ | ]*\n/g, '\n')
// // str = str.replace(/&nbsp;/ig, '')
// console.log('****', content)
// console.log('****', str)
// return str
// }
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()
// console.log(_this.$refs)
phoneEditor.txt.html(_this.aboutUs)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
aboutUsVal (val) {
// console.log(val)
phoneEditor.txt.html(val)
phoneEditor.txt.html(val)
},
}
}
</script>
<style lang="scss" scoped>
#aboutUs {
width: 100%;
height: 250px !important;
font-family: "宋体" !important;
}
</style>

72
src/components/Active.vue Normal file
View File

@@ -0,0 +1,72 @@
<template>
<div ref="active" id="active"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
activeVal: {
type: String,
required: false
},
ifmodified:{
type:Boolean,
value:false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.active)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('active', 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()
phoneEditor.$textElem.attr('contenteditable', this.ifmodified)
},
methods: {},
computed: {},
watch: {
activeVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#active {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="comtab" id="comtab"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
comtabVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.comtab)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('comtab', 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: {
comtabVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#comtab {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

73
src/components/Cover.vue Normal file
View File

@@ -0,0 +1,73 @@
<template>
<div ref="cover" id="cover"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
coverVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
phoneEditor = new E(this.$refs.cover)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('cover', 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()
phoneEditor.txt.html(_this.coverVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
coverVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#cover {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,74 @@
<template>
<div ref="desiredEffect" id="desiredEffect"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
desiredEffectVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
phoneEditor = new E(this.$refs.desiredEffect)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('desiredEffect', 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()
// phoneEditor.$txt.html(this.val)
phoneEditor.txt.html(_this.desiredEffectVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
desiredEffectVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#desiredEffect {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,83 @@
<template>
<div :ref="time" :id="time"></div>
</template>
<script>
import E from 'wangeditor'
export default {
components: {},
props: {
divisionLaborVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {
time:'divisionLabor' + Math.random(),
phoneEditor:{}
}
},
mounted () {
let t = this
this.$nextTick(()=>{
console.log(t.time,document.getElementById(t.time))
this.phoneEditor = new E(document.getElementById(t.time))
let phoneEditor = this.phoneEditor
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
this.$emit('divisionLabor', 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()
// phoneEditor.$txt.html(this.val)
let _this = this
phoneEditor.txt.html(_this.divisionLaborVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
})
},
methods: {
},
computed: {},
watch: {
divisionLaborVal (val) {
this.phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#desiredEffect {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="effect" id="effect"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
effectVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.effect)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('effect', 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: {
effectVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#effect {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,75 @@
<template>
<div ref="existingBasis" id="existingBasis"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
existingBasisVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
_this.existingBasisVal=_this.existingBasisVal
phoneEditor = new E(this.$refs.existingBasis)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('existingBasis', 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()
phoneEditor.txt.html(_this.existingBasisVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
existingBasisVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#existingBasis {
width: 100%;
height: 250px;
font-family:'宋体' !important;
}
</style>

View File

@@ -0,0 +1,150 @@
<template>
<div id="wrapper-w" :style="{'background-image':'url('+imgUrl.foot1+')'}">
<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;">
<span>友情链接</span>
<a style="font-weight:600;" href="https://inv-veri.chinatax.gov.cn/" target="_blank">发票查验平台</a>
<a
style="font-weight:600;"
href="http://beijing.chinatax.gov.cn/bjswjwz/"
target="_blank"
>北京市税务局</a>
<a style="font-weight:600;" href="https://www.tianyancha.com/" target="_blank">天眼查</a>
</p> -->
</div>
<div class="div2">
<div class="img-box">
<img :src="imgUrl.wxtp0" alt />
<p>朝阳社工e空间</p>
</div>
<div class="img-box">
<img :src="imgUrl.wxtp2" alt />
<p>朝阳社团办</p>
</div>
<div class="img-box">
<img :src="imgUrl.wxtp1" alt />
<p>朝阳社会组织</p>
</div>
</div>
</div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {
imgUrl: {
foot: require('../../static/img/foot.png'),
foot1: require('../../static/img/foot1.png'),
wxtp0: require('../../static/img/wxtp0.png'),
wxtp1: require('../../static/img/wxtp1.png'),
wxtp2: require('../../static/img/wxtp2.png')
}
}
},
computed: {},
watch: {},
methods: {},
created () { },
mounted () { }
}
</script>
<style lang='scss' scoped>
#wrapper-w {
// width: 1280px;
width: 100%;
height: 292px !important;
background-size: 100% 100%;
background-color: rgba($color: #000000, $alpha: 0.6);
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
.div2 {
width: 540px;
height: 110px;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 30px;
.img-box{
display: flex;
flex-direction: column;
align-items: center;
}
img {
width: 80px;
height: 80px;
margin-bottom: 11px;
cursor: default;
}
p {
font-family: 'MicrosoftYaHei';
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
}
}
& > .div1 {
display: inline-block;
height: 64px;
text-align: center;
p {
&:nth-of-type(1) {
font-family: 'MicrosoftYaHei';
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: -1px;
color: #ffffff;
}
&:nth-of-type(2) {
font-family: 'MicrosoftYaHei';
font-size: 16px;
font-weight: bold;
font-stretch: normal;
margin-top: 15px;
letter-spacing: 0px;
color: #ffffff;
}
&:nth-of-type(3) {
margin-top: 15px;
display: flex;
justify-content: center;
align-items: center;
span {
font-family: 'MicrosoftYaHei';
font-size: 16px;
font-weight: bold;
font-stretch: normal;
letter-spacing: 0px;
color: #fff;
}
a {
margin-left: 10px;
color: #fff;
&:hover {
color: #0099ff;
}
}
}
}
}
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="goals" id="goals"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
goalsVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.goals)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('goals', 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: {
goalsVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#goals {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="great" id="great"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
greatVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.great)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('great', 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: {
greatVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#great {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,152 @@
<template>
<div id="wrapper">
<!-- :style="{'background-image':'url('+imgUrl.home1+')'}" -->
<div class="img-box">
<img :src="imgUrl.home1" alt />
</div>
<div class="box">
<div @click="$jump('homePage')" :class="styleNum == 0 ? 'style': ''">党组织建设</div>
<div
@click="$jump('informationQuery',{id:1,text:'666'})"
:class="styleNum == 1 ? 'style': ''"
>社会组织信用信息查询</div>
<div @click="$jump('project')" :class="styleNum == 2 ? 'style': ''">政府购买社会组织服务项目管理</div>
<div @click="$jump('personalZte')" :class="styleNum == 3 ? 'style': ''">个人中心</div>
<div>
<span v-if="enter" @click="$jump('login')">登录&nbsp;|&nbsp;</span>
<span v-if="enter" @click="$jump('registered')">注册</span>
<el-tooltip class="item" effect="dark" :content="name" placement="top">
<span class="three" v-if="!enter">{{name}}</span>
</el-tooltip>
<span v-if="!enter" @click="quit()">&nbsp;|&nbsp;退出</span>
</div>
</div>
</div>
</template>
<script>
export default {
components: {},
props: ['index_num'],
data () {
return {
imgUrl: {
home: require('../../static/img/home.png'),
home1: require('../../static/img/home1.png')
},
styleNum: 0,
enter: true,
name: ''
}
},
computed: {},
watch: {},
methods: {
judge () {
if (sessionStorage.id) {
this.name = sessionStorage.name
this.enter = false
}
},
quit () {
this.$router.push({
name: 'homePage'
})
this.$message.success('退出成功!')
sessionStorage.clear()
localStorage.clear()
this.enter = true
}
},
created () {
let sub = this.styleNum
sub = this.$props.index_num
this.styleNum = sub
this.judge()
},
mounted () {
}
}
</script>
<style lang='scss' scoped>
#wrapper {
min-width: 1280px;
// width: 100%;
height: 389px;
box-sizing: border-box;
background-repeat: no-repeat;
background-size: 100% 100%;
position: relative;
overflow: hidden;
.img-box {
width: 100%;
height: 389px;
display: flex;
justify-content: center;
img {
// width: 100%;
height: 100%;
cursor: default;
}
}
.box {
position: absolute;
bottom: 0%;
left: 0%;
// width: 1280px;
width: 100%;
height: 63px;
background-color: rgba($color: #fff, $alpha: 0.5);
display: flex;
justify-content: space-around;
align-items: center;
& > div {
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: bold;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
cursor: pointer;
&:last-child {
width: 120px;
display: flex;
align-items: center;
.three {
text-align: right;
display: inline-block;
width: 58px;
overflow: hidden;
text-overflow: ellipsis;
word-break: keep-all;
cursor: default;
}
}
}
.style {
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: bold;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
text-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.35);
padding: 21px;
background-color: #e60012;
border-radius: 10px;
}
}
}
</style>

69
src/components/Inform.vue Normal file
View File

@@ -0,0 +1,69 @@
<template>
<div ref="inform" id="inform"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor
export default {
components: {},
props: {
informVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () {
console.log(this.informVal,464446464)
},
mounted () {
var _this = this
phoneEditor = new E(this.$refs.inform)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('inform', 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: {
informVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#inform {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="media" id="media"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
mediaVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.media)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('media', 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: {
mediaVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#media {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,74 @@
<template>
<div ref="methodsWay" id="methodsWay"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
methodsWayVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
_this.methodsWayVal=_this.methodsWayVal
phoneEditor = new E(this.$refs.methodsWay)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('methodsWay', 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()
phoneEditor.txt.html(_this.methodsWayVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
methodsWayVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#methodsWay {
width: 100%;
height: 250px;
font-family:'宋体' !important;
}
</style>

View File

@@ -0,0 +1,67 @@
<template>
<div ref="plement" id="plement"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
plementVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.plement)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('plement', 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: {
plementVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#plement {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="proact" id="proact"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
proactVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.proact)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('proact', 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: {
proactVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#proact {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,77 @@
<template>
<div ref="projectAssessment" id="projectAssessment"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
projectAssessmentVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
console.log(33333)
// _this.projectAssessmentVal=_this.projectAssessmentVal
phoneEditor = new E(this.$refs.projectAssessment)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('projectAssessment', 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()
phoneEditor.txt.html(_this.projectAssessmentVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
projectAssessmentVal (val) {
console.log(val,33333)
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#projectAssessment {
width: 100%;
height: 250px;
font-family:'宋体' !important;
}
</style>

View File

@@ -0,0 +1,74 @@
<template>
<div ref="projectBrief" id="projectBrief"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
projectBriefVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
_this.projectBriefVal=_this.projectBriefVal
phoneEditor = new E(this.$refs.projectBrief)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('projectBrief', 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()
phoneEditor.txt.html(_this.projectBriefVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
projectBriefVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#projectBrief {
width: 100%;
height: 250px;
font-family:'宋体' !important;
}
</style>

View File

@@ -0,0 +1,67 @@
<template>
<div ref="projects" id="projects"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
projectsVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.projects)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('projects', 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: {
projectsVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#projects {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,67 @@
<template>
<div ref="release" id="release"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
releaseVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.release)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('release', 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: {
releaseVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#release {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="resona" id="resona"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
resonaVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.resona)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('resona', 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: {
resonaVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#resona {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,74 @@
<template>
<div ref="editor" id="websiteEditorElem"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
initialTextVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
phoneEditor = new E(this.$refs.editor)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('quillVal', 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()
// phoneEditor.$txt.html(this.val)
phoneEditor.txt.html(_this.initialTextVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
initialTextVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#websiteEditorElem {
width: 100%;
height: 250px;
font-family:'宋体' !important;
}
</style>

View File

@@ -0,0 +1,74 @@
<template>
<div ref="scheduling" id="scheduling"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
schedulingVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
phoneEditor = new E(this.$refs.scheduling)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('scheduling', 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()
// phoneEditor.$txt.html(this.val)
phoneEditor.txt.html(_this.schedulingVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
schedulingVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#scheduling {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="state" id="state"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
stateVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.state)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('state', 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: {
stateVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#state {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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>

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

@@ -0,0 +1,67 @@
<template>
<div ref="sumup" id="sumup"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
sumupVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.sumup)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('sumup', 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: {
sumupVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#sumup {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="target" id="target"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
targetVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.target)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('target', 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: {
targetVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#target {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

74
src/components/editor.vue Normal file
View File

@@ -0,0 +1,74 @@
<template>
<div ref="desiredEffect" id="desiredEffect"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
desiredEffectVal: {
type: String,
required: false
},
writeable:{
type:Boolean,
value:true
}
},
data () {
return {}
},
created () {},
mounted () {
_this = this
phoneEditor = new E(this.$refs.desiredEffect)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('desiredEffect', 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()
// phoneEditor.$txt.html(this.val)
phoneEditor.txt.html(_this.desiredEffectVal)
phoneEditor.$textElem.attr('contenteditable', this.writeable)
},
methods: {},
computed: {},
watch: {
desiredEffectVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#desiredEffect {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

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

@@ -0,0 +1,67 @@
<template>
<div ref="team" id="team"></div>
</template>
<script>
import E from 'wangeditor'
var phoneEditor, _this
export default {
components: {},
props: {
teamVal: {
type: String,
required: false
}
},
data () {
return {}
},
created () { },
mounted () {
_this = this
phoneEditor = new E(this.$refs.inform)
phoneEditor.customConfig.pasteFilterStyle = false
phoneEditor.customConfig.onchange = html => {
_this.$emit('team', 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: {
teamVal (val) {
phoneEditor.txt.html(val)
}
}
}
</script>
<style lang="scss" scoped>
#inform {
width: 100%;
height: 250px;
font-family: "宋体" !important;
}
</style>

View File

@@ -0,0 +1,58 @@
import html2Canvas from 'html2canvas'
import JsPDF from 'jspdf'
export default {
install(Vue, options) {
Vue.prototype.getPdf = function (idStr, title) {
console.log(idStr,1111110)
html2Canvas(document.querySelector('#' + idStr), {
allowTaint: true,
scale: 2 // 提升画面质量,但是会增加文件大小
}).then(function (canvas) {
// var contentWidth = canvas.width
// var contentHeight = canvas.height
// var pageData = canvas.toDataURL('image/jpeg', 0.4)
// var pdfWidth = ((contentWidth + 10) / 2) * 0.75
// var pdfHeight = ((contentHeight + 200) / 2) * 0.75 // 500为底部留白
// var imgWidth = pdfWidth
// var imgHeight = (contentHeight / 2) * 0.75 // 内容图片这里不需要留白的距离
// var pdf = new JsPDF('', 'pt', [pdfWidth, pdfHeight])
// pdf.addImage(pageData, 'jpeg', 0, 0, imgWidth, imgHeight)
// // pdf.save('report_pdf_' + new Date().getTime() + '.pdf')
// pdf.save(title + '.pdf')
let contentWidth = canvas.width
let contentHeight = canvas.height
let pageHeight = (contentWidth / 592.28) * 841.89
let leftHeight = contentHeight
let position = 0
let imgWidth = 595.28
// let imgWidth = 595.28
let imgHeight = (592.28/ contentWidth) * contentHeight
let pageData = canvas.toDataURL('image/jpeg', 0.4)
var d1 = document.getElementsByTagName("body")[0];
var img = document.createElement("img");
img.src=pageData
d1.appendChild(img);
let PDF = new JsPDF('', 'pt', 'a4')
if (leftHeight < pageHeight) {
PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
} else {
while (leftHeight > 0) {
PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
leftHeight -= pageHeight
// position -= 841.89
position -= 841.89
if (leftHeight > 0) {
PDF.addPage()
}
}
}
PDF.save(title + '.pdf')
})
}
}
}

59
src/htmlToPdf.js Normal file
View File

@@ -0,0 +1,59 @@
import html2Canvas from 'html2canvas'
import JsPDF from 'jspdf'
export default {
install(Vue, options) {
Vue.prototype.getPdf = function (idStr, title) {
console.log(idStr,1111110)
html2Canvas(document.querySelector('#' + idStr), {
allowTaint: true,
y:530,
scale: 2 // 提升画面质量,但是会增加文件大小
}).then(function (canvas) {
// var contentWidth = canvas.width
// var contentHeight = canvas.height
// var pageData = canvas.toDataURL('image/jpeg', 0.4)
// var pdfWidth = ((contentWidth + 10) / 2) * 0.75
// var pdfHeight = ((contentHeight + 200) / 2) * 0.75 // 500为底部留白
// var imgWidth = pdfWidth
// var imgHeight = (contentHeight / 2) * 0.75 // 内容图片这里不需要留白的距离
// var pdf = new JsPDF('', 'pt', [pdfWidth, pdfHeight])
// pdf.addImage(pageData, 'jpeg', 0, 0, imgWidth, imgHeight)
// // pdf.save('report_pdf_' + new Date().getTime() + '.pdf')
// pdf.save(title + '.pdf')
let contentWidth = canvas.width
let contentHeight = canvas.height
let pageHeight = (contentWidth / 592.28) * 841.89
let leftHeight = contentHeight
let position = 0
let imgWidth = 595.28
// let imgWidth = 595.28
let imgHeight = (597.28/ contentWidth) * contentHeight
let pageData = canvas.toDataURL('image/jpeg', 0.4)
// var d1 = document.getElementsByTagName("body")[0];
// var img = document.createElement("img");
// img.src=pageData
// d1.appendChild(img);
let PDF = new JsPDF('', 'pt', 'a4')
if (leftHeight < pageHeight) {
PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
} else {
while (leftHeight > 0) {
PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
leftHeight -= pageHeight
// position -= 841.89
position -= 841.89
if (leftHeight > 0) {
PDF.addPage()
}
}
}
PDF.save(title + '.pdf')
})
}
}
}

105
src/http.js Normal file
View File

@@ -0,0 +1,105 @@
import axios from 'axios'
import router from './router'
import Vue from 'vue'
import ElementUI from 'element-ui'
import { Loading } from 'element-ui';
var root = process.env.VUE_APP_BASE_API
let loading;
const startLoading = () => {
loading = Loading.service({
lock: true,
text: '加载中……',
background: 'rgba(0, 0, 0, 0.7)'
});
};
const endLoading = () => {
loading.close();
};
axios.interceptors.request.use(config => {
// --请求之前重新拼装url--
config.nol = config.nol == undefined ? true : false
if(config.nol){
startLoading();
}
config.url = root + config.url
if (
config.url === '/url/v1/login/reg' ||
config.url === '/url/v1/login/login'
) {
// 如果是登录和注册操作则不需要携带header里面的token
} else {
if (sessionStorage.id) {
config.headers = {
Authorization: sessionStorage.id
}
}
}
return config
})
axios.interceptors.response.use(
response => {
if (response.data.errno === 999) {
router.replace('/')
// console.log('token过期')
}
if (response.data.code ===200) {
endLoading();
}
if (response.data.code ===500) {
// this.$message({
// type: "info",
// message: response.data.message
// });
endLoading();
}
return response
},
error => {
return error
}
)
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth) {
// 判断该路由是否需要登录权限
if (sessionStorage.id) {
// 获取当前的token是否存在
// console.log('token存在')
next()
// if (to.name !== 'application') {
// next()
// } else {
// if (
// sessionStorage.party_id !== 'null') {
// next()
// } else {
// alert('请先成为党组织!')
// next({
// path: '/', // 将跳转的路由path作为参数登录成功后跳转到该路由
// query: { redirect: to.fullPath }
// })
// }
// }
} else {
alert('请先登录!')
next({
path: '/login', // 将跳转的路由path作为参数登录成功后跳转到该路由
query: { redirect: to.fullPath }
})
}
} else {
// 如果不需要权限校验,直接进入路由界面
next()
}
})
export default axios

47
src/main.js Normal file
View File

@@ -0,0 +1,47 @@
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import http from './http'
import tool from '../static/js/tool'
import ElementUI from 'element-ui'
import md5 from 'js-md5'
import htmlToPdf from './htmlToPdf'
import axios from 'axios'
import '../static/css/reset.css'
import '../static/css/swiper.css'
import '../static/fonts/iconfont.css'
import 'element-ui/lib/theme-chalk/index.css'
Vue.prototype.$axios = axios
Vue.prototype.$md5 = md5
Vue.prototype.$tool = tool
Vue.prototype.$http = http
Vue.prototype.$upload = 'http://chaoyang.nxers.com/api/v1/file/files'
Vue.prototype.$jump = function (url) {
this.$router.push({
name: url
})
}
Vue.prototype.$jParams = function (url, parameters) {
// console.log(parameters)
this.$router.push({
name: url,
params: parameters
})
}
Vue.prototype.$jP = function (url, queryters) {
this.$router.push({
name: url,
query: queryters
})
}
Vue.use(htmlToPdf)
Vue.use(ElementUI)
Vue.config.productionTip = false
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')

219
src/router.js Normal file
View File

@@ -0,0 +1,219 @@
import Vue from 'vue'
import Router from 'vue-router'
/** 首页 */
import HomePage from './views/home/HomePage'
/** 党组织申请 */
import ApplyFor from './views/home/ApplyFor'
/** 新闻详情 */
import NewsDetails from './views/home/NewsDetails'
/** 新闻列表 */
import NewsList from './views/home/NewsList'
/** 登录 */
import Login from './views/Login'
/** 注册 */
import Registered from './views/Registered'
/** 项目管理 */
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 Over from './views/excutes/Over'
/*中期评审材料提交*/
import Submit_mid from './views/excutes/Submit_mid'
/*结项评审材料提交*/
import Post_pro from './views/excutes/Post_pro'
/** 个人中心 */
import PersonalZte from './views/personal/PersonalZte'
/** 党组织申请 */
import Apply from './views/personal/Apply'
/** 我的收藏 */
import Collection from './views/personal/Collection'
/** 项目申报 */
import Declare from './views/personal/Declare'
/** 修改密码 */
import Modify from './views/personal/Modify'
/** 信息查询 */
import InformationQuery from './views/InformationQuery'
import Appcationnew from './views/project/Appcationnew'
// 党组织详情
import dangzuzhixq from './views/dangzuzhixq'
//社会信用
import socialcredit from './views/socialcredit'
// 活动详情监测
import activedetail from './views/activedetail'
// 中期详情
import middetail from './views/middetail'
Vue.use(Router)
export default new Router({
mode: 'hash',
base: process.env.BASE_URL,
routes: [
{
path: '/informationQuery',
name: 'informationQuery',
component: InformationQuery
},
{
path: '/modify',
name: 'modify',
meta: {
requireAuth: true
},
component: Modify
},
{
path: '/declare',
name: 'declare',
meta: {
requireAuth: true
},
component: Declare
},
{
path: '/collection',
name: 'collection',
meta: {
requireAuth: true
},
component: Collection
},
{
path: '/apply',
name: 'apply',
meta: {
requireAuth: true
},
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: '/over',
name: 'over',
meta: {
requireAuth: true
},
component: Over
},
{
path: '/personalZte',
name: 'personalZte',
meta: {
requireAuth: true
},
component: PersonalZte
},
{
path: '/application',
name: 'application',
meta: {
requireAuth: true
},
component: Application
},
{
path: '/appcationnew',
name: 'appcationnew',
meta: {
requireAuth: true
},
component: Appcationnew
},
{
path: '/schedule:id',
name: 'schedule',
meta: {
requireAuth: true
},
component: Schedule
},
{
path: '/project',
name: 'project',
meta: {
requireAuth: true
},
component: Project
},
{
path: '/registered',
name: 'registered',
component: Registered
},
{
path: '/login',
name: 'login',
component: Login
},
{
path: '/dangzuzhixq',
name: 'dangzuzhixq',
component: dangzuzhixq
},
{
path: '/middetail',
name: 'middetail',
component: middetail
},
{
path: '/activedetail',
name: 'activedetail',
component: activedetail
},
{
path: '/socialcredit',
name: 'socialcredit',
component: socialcredit
},
{
path: '/newsList',
name: 'newsList',
component: NewsList
},
{
path: '/newsDetails',
name: 'newsDetails',
component: NewsDetails
},
{
path: '/applyFor',
name: 'applyFor',
meta: {
requireAuth: true
},
component: ApplyFor
},
{
path: '/',
name: 'homePage',
component: HomePage
},
]
})

10
src/store.js Normal file
View File

@@ -0,0 +1,10 @@
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {},
mutations: {},
actions: {}
})

View File

@@ -0,0 +1,674 @@
<template>
<div class="wrapper">
<header-nav :index_num="index_num"></header-nav>
<div id="box">
<!-- 搜索框 -->
<div class="search">
<input type="text" placeholder="请输入组织名称" v-model.trim="searchVal" @keyup.enter="getData()" />
<label @click="getData()" style="cursor:pointer">搜索</label>
</div>
<!-- 分类搜索 -->
<div class="select-box">
<select name="type" v-model="type_value" @change="scree()">
<option value="组织类型">组织类型</option>
<template v-for="(type, index) in types">
<option :key="index" :value="index">{{ type }}</option>
</template>
</select>
<select name="year" v-model="year_value" @change="scree()">
<option value="年检时间">年检时间</option>
<template v-for="(year, index) in years">
<option :key="index" :value="index">{{ year }}</option>
</template>
</select>
<select name="condition" v-model="year_status" @change="scree()">
<option value="年检结果">年检结果</option>
<option value="0">不合格</option>
<option value="1">合格</option>
</select>
</div>
<!-- 搜索记录 -->
<!-- <div class="record">
<template v-for="(item,index) in record">
<div class="list" :key="index" @click="searchRecord(item.nameOf)">
<span>{{item.category + '' + item.nameOf}}</span>
<span class="iconfont icon-cuowu" @click="del(index)"></span>
</div>
</template>
</div>-->
<!-- 表格 -->
<div class="box-table">
<div class="caption">
<span
v-for="(list, index) in text"
:class="sub == index ? 'color' : ''"
:key="index"
@click="btn(index)"
>{{ list }}</span>
</div>
<table>
<tr>
<th>序号</th>
<th>社会组织名称</th>
<th>统一社会信用代码</th>
<th>社会组织类型</th>
<th>法定代表人</th>
<th>成立登记日期</th>
<th>状态</th>
</tr>
<template v-if="searchValue.length == 0">
<tr
v-for="(info, index) in conversion"
:key="index"
:class="index % 2 == 0 ? 'bgcbz' : 'bgcz'"
class="tr"
>
<td @click="$jP('socialcredit',{id:info.id})" class="orgname">{{ info.name }}</td>
<td>{{ info.unicode }}</td>
<td>{{ info.society_type }}</td>
<td>{{ info.legal_person }}</td>
<td>{{ info.reg_time }}</td>
<td v-if="info.status == '白名单'" style="color:#2fd63f">信用良好</td>
<td v-if="info.status == '黑名单'" style="color:#e13232">活动异常</td>
</tr>
</template>
<template v-if="searchValue.length > 0">
<tr
class="tr"
v-for="(info, index) in searchValue"
:key="index"
:class="index % 2 == 0 ? 'bgcbz' : 'bgcz'"
>
<td>{{ info.name }}</td>
<td>{{ info.unicode }}</td>
<td>{{ info.society_type }}</td>
<td>{{ info.legal_person }}</td>
<td>{{ info.reg_time }}</td>
<td v-if="info.status == '白名单'" style="color:#2fd63f">信用良好</td>
<td v-if="info.status == '黑名单'" style="color:#e13232">活动异常</td>
</tr>
</template>
</table>
</div>
<!-- 分页按钮 -->
<div class="page">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
:pager-count="5"
background
layout="prev, pager, next"
:total="totalCount"
></el-pagination>
</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
},
props: {},
data () {
return {
index_num: 1,
text: ['全部', '异常名录', '信用良好名录'],
sub: 0,
imgUrl: {
xa: require('../../static/img/xa.png')
},
searchVal: '',
searchValue: [],
record: [],
types: [],
years: '',
year_status: '年检结果',
type_value: '组织类型',
year_value: '年检时间',
bgData: [],
arr1: [],
arr0: [],
conversion: [],
pageSize: 1,
currentPage: 1,
totalCount: 1,
status: ''
}
},
computed: {},
watch: {
// record(newVal, oldVal) { }
},
methods: {
/** 筛选函数 */
scree () {
this.currentPage = 1
if (this.sub === 0) {
this.sub = ''
} else if (this.sub === 1) {
this.sub = 0
} else {
this.sub = 1
}
this.getData(
this.searchVal,
this.type_value,
this.years[this.year_value],
this.year_status,
this.sub,
this.currentPage
)
if (this.sub === '') {
this.sub = 0
} else if (this.sub === 0) {
this.sub = 1
} else {
this.sub = 2
}
},
/** 删除单条数据 */
// del(index) {
// let delArr = this.record.splice(index, 1)
// },
/** 调用搜索函数 */
// searchRecord(str) {
// this.getSearch(str)
// },
/** 名单切换 */
btn (index) {
let s = this.sub
s = index
this.sub = s
this.currentPage = 1
switch (this.sub) {
case 0:
this.getData(
this.searchVal,
this.type_value,
this.years[this.year_value],
this.year_status,
(this.status = '')
)
break
case 1:
this.getData(
this.searchVal,
this.type_value,
this.years[this.year_value],
this.year_status,
(this.status = 0)
)
break
case 2:
this.getData(
this.searchVal,
this.type_value,
this.years[this.year_value],
this.year_status,
(this.status = 1)
)
break
}
},
/** 获取后台数据 */
getData (
name = this.searchVal,
type = this.type_value,
year = this.years[this.year_value],
yearStatus = this.year_status,
status = this.status,
page = this.currentPage
) {
if (type === '组织类型') {
type = ''
// this.type_value = ''
}
if (year === '年检时间') {
year = ''
// this.years[this.year_value] = ''
}
if (yearStatus === '年检结果') {
yearStatus = ''
// this.year_status = ''
}
let _this = this
this.$http({
method: 'post',
url: 'v1/society/society',
data: {
name: name,
type: type,
year: year,
yearStatus: yearStatus,
status: status,
page: page
}
})
.then(res => {
if (res.data.data.code !== 200) {
return
}
// if (this.page == 1) {
if (res.data.data.data.info.length === 0) {
this.currentPage=1
alert('您所查询的数据暂时没有!')
return
} else {
_this.conversion = res.data.data.data.info
_this.totalCount = res.data.data.data.allPage
// console.log(_this.conversion);
}
_this.page++
})
.catch(err => {
console.log(err)
})
// console.log(this.type_value);
if (this.type_value === '') {
this.type_value = '组织类型'
}
if (this.years[this.year_value] === '') {
this.year_value = '年检时间'
}
if (this.year_status === '') {
this.year_status = '年检结果'
}
},
/** 获取类型 */
getDataG () {
let _this = this
this.$http({
method: 'get',
url: 'v1/society/get-type',
params: {}
})
.then(res => {
if (res.data.code !== 200) {
return
}
_this.types = res.data.data.type
_this.years = res.data.data.year
})
.catch(err => {
console.log(err)
})
},
handleSizeChange (val) {
this.pageSize = val
this.getPackData()
},
handleCurrentChange (val) {
this.currentPage = val
this.getData()
this.getPackData()
},
getPackData () { }
},
created () {
this.getDataG()
this.getData()
},
mounted () { }
}
</script>
<style lang="scss" scoped>
.wrapper {
min-width: 1280px;
box-sizing: border-box;
position: relative;
.orgname{
cursor: pointer;
}
#box {
width: 1200px;
background-color: #ffffff;
margin: 40px auto 80px;
box-sizing: border-box;
padding: 35px 30px 86px;
.page {
margin-top: 60px;
height: 36px;
display: flex;
justify-content: flex-end;
align-items: center;
/deep/ .el-pagination.is-background .el-pager li {
color: #333 !important;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #e60012;
color: #fff !important;
}
/deep/ .el-icon.el-icon-arrow-left::before {
content: "上一页";
font-family: "MicrosoftYaHei";
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #666;
}
/deep/ .el-pagination .btn-prev {
width: 80px;
}
/deep/ .el-pagination .btn-next {
width: 80px;
}
/deep/ .el-icon.el-icon-arrow-right::before {
content: "下一页";
font-family: "MicrosoftYaHei";
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #666;
}
}
.box-table {
width: 100%;
margin-top: -25px;
table {
width: 1130px;
counter-reset: items 0; /* 0 可以省略 */
counter-increment: counter-name integer;
box-sizing: border-box;
.tr {
counter-increment: items 1; /* 1 同样可以省略 */
&:before {
content: counter(items);
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #595959;
width: 86px;
height: 40px;
display: inline-block;
text-align: center;
line-height: 40px;
box-sizing: border-box;
}
}
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: #f6fafd;
box-sizing: border-box;
&:nth-of-type(1) {
width: 86px;
}
&:nth-of-type(2) {
width: 160px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(3) {
width: 240px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(4) {
width: 160px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(5) {
width: 160px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(6) {
width: 160px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(7) {
width: 140px;
border-left: 1px solid #dcebf6 !important;
}
}
.bgcz {
background-color: #f6fafd;
}
.bgcbz {
background-color: #fff;
}
td {
border: none !important;
line-height: 40px;
text-align: center;
height: 40px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
box-sizing: border-box;
color: #595959;
&:nth-of-type(1) {
width: 160px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(2) {
width: 240px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(3) {
width: 160px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(4) {
width: 160px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(5) {
width: 160px;
border-left: 1px solid #dcebf6 !important;
}
&:nth-of-type(6) {
width: 140px;
border-left: 1px solid #dcebf6 !important;
}
/*
&:nth-of-type(7) {
width: 144px;
}
*/
}
}
.caption {
width: 1140px;
height: 38px;
border-bottom: 1px solid #dedede;
margin-top: 76px;
margin-bottom: 30px;
padding-left: 30px;
box-sizing: border-box;
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;
&:nth-of-type(1) {
width: 60px;
}
&:nth-of-type(2) {
width: 110px;
}
&:nth-of-type(3) {
width: 121px;
}
}
.color {
color: #e60012;
position: relative;
&::after {
content: "";
width: 100%;
height: 2px;
background-image: linear-gradient(#e60012, #e60012),
linear-gradient(#ff7f7f, #ff7f7f);
background-blend-mode: normal, normal;
position: absolute;
left: 0%;
bottom: 0%;
}
}
}
}
.record {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
.list {
margin-right: 25px;
border-radius: 4px;
border: solid 1px #c7c7c7;
padding: 10px 24px;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
margin-bottom: 25px;
.iconfont {
margin-left: 10px;
}
}
}
.select-box {
display: flex;
align-items: center;
select {
color: #666 !important;
font-size: 18px;
&:nth-of-type(1) {
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../static/img/xa.png") 90% center no-repeat;
background-size: 14px 8px;
// width: 170px;
padding: 0 30px;
height: 38px;
background-color: #f9f8f8;
border-radius: 4px;
border: solid 1px #c7c7c7;
}
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../static/img/xa.png") 126px center no-repeat;
background-size: 14px 8px;
width: 170px;
height: 38px;
background-color: #f9f8f8;
border-radius: 4px;
border: solid 1px #c7c7c7;
margin-right: 55px;
padding-left: 30px;
box-sizing: border-box;
outline: none;
margin-bottom: 30px;
}
}
.search {
width: 100%;
height: 50px;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
input {
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 2px;
color: #666666;
padding: 0 18px;
box-sizing: border-box;
width: 1025px;
height: 50px;
border: solid 1px #c7c7c7;
outline: none;
}
label {
width: 96px;
height: 50px;
background-color: #e60012;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 50px;
letter-spacing: 0px;
color: #ffffff;
text-align: center;
}
}
}
}
</style>

235
src/views/Login.vue Normal file
View File

@@ -0,0 +1,235 @@
<template>
<div class="wrapper">
<img :src="imgUrl.login" id="img" />
<div class="box">
<div class="box-o">
<h3> </h3>
<div class="input">
<input
type="text"
v-model="account"
name="account"
placeholder="组织名称"
/>
<img class="one" :src="imgUrl.yh" alt />
<input
type="password"
v-model="password"
name="password"
placeholder="密码"
/>
<img class="two" :src="imgUrl.mm" alt />
</div>
<div class="three">
<span @click="$jump('registered')">注册</span>
<span v-show="0">忘记密码</span>
</div>
<div class="btn" @click="login()">
<button type="submit">立即登录</button>
</div>
<div id="home" @click="$jump('homePage')">
<span>返回首页</span>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {
imgUrl: {
login: require('../../static/img/login.png'),
yh: require('../../static/img/yh.png'),
registered: require('../../static/img/registered.png'),
mm: require('../../static/img/mm.png')
},
account: '',
password: ''
}
},
computed: {},
watch: {},
methods: {
login () {
let _this = this
this.$http({
method: 'post',
url: 'v1/login/login',
data: {
user: _this.account,
password: _this.password
}
})
.then(res => {
if (res.data.data.code === 200) {
this.$message.success('登陆成功')
this.$router.push('/')
window.sessionStorage['id'] = res.data.data.data.id
window.sessionStorage['name'] = res.data.data.data.name
window.sessionStorage['party_id'] = res.data.data.data.party_id
window.sessionStorage['party_name'] = res.data.data.data.party_name
} else {
alert(res.data.data.msg)
}
})
.catch(err => {
console.log(err)
})
}
},
created () {},
mounted () {}
}
</script>
<style lang="scss" scoped>
.wrapper {
min-width: 1280px;
height: 720px;
background-size: 100% 100%;
background-repeat: no-repeat;
display: flex;
justify-content: center;
align-items: center;
#home {
width: 100%;
color: red;
font-size: 12px;
margin: 20px auto 0;
text-align: center;
cursor: pointer;
}
#img {
position: fixed;
left: 0%;
top: 0%;
width: 100vw;
height: 100vh;
z-index: -1;
}
.box {
z-index: 999;
width: 736px;
height: 489px;
background-color: rgba($color: #fff, $alpha: 0.5);
box-shadow: 0px 3px 29px 0px rgba(0, 0, 0, 0.18);
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
.box-o {
width: 434px;
height: 309px;
.btn {
width: 218px;
height: 56px;
margin: 0 auto;
button {
box-sizing: border-box;
width: 218px;
height: 56px;
background-color: #e60012;
border: 1px solid #e60012;
box-shadow: 3px 5px 9px 0px rgba(252, 142, 142, 0.47);
border-radius: 28px;
text-align: center;
line-height: 50px;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
cursor: pointer;
outline: none;
}
}
.three {
margin: 15px auto 31px;
width: 96%;
display: flex;
justify-content: space-between;
align-items: center;
span {
font-family: 'MicrosoftYaHei';
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
cursor: pointer;
}
}
.input {
width: 100%;
height: 135px;
margin-top: 33px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
position: relative;
.one {
width: 15px;
height: 17px;
position: absolute;
top: 14%;
left: 5%;
}
.two {
width: 18px;
height: 19px;
position: absolute;
bottom: 14%;
left: 5%;
}
input {
width: 434px;
height: 56px;
border-radius: 28px;
border: solid 1px #a5acbb;
opacity: 0.8;
padding: 0 54px;
box-sizing: border-box;
outline: none;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 88px;
letter-spacing: 0px;
color: #333333;
}
}
h3 {
// font-family: "HanWangKaiBold-Gb5";
font-family: 'MicrosoftYaHei';
font-size: 26px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
text-align: center;
}
}
}
}
</style>

300
src/views/Registered.vue Normal file
View File

@@ -0,0 +1,300 @@
<template>
<div class="wrapper">
<img :src="imgUrl.registered" id="img" />
<div class="box">
<div class="boxx">
<h3> </h3>
<form enctype="multipart/form-data" action method onsubmit="return false">
<!-- 请输入组织名称 pattern
oninvalid="setCustomValidity('不能为空')"
oninput="setCustomValidity('')"
-->
<template v-for="(reg,index) in reg.data">
<label :key="index">
<span :class="index === 0 ? 'one' : 'two'">
<span class="iconfont" :class="reg.icon"></span>
<span class="iconfont icon-vertical_line"></span>
</span>
<input
class="input"
:type="reg.data_type"
:placeholder="'请输入'+ reg.notes"
:name="reg.name"
v-model="obj[reg.name]"
required
/>
<span v-if="index === 0" class="span1">组织名称将用于用户登录</span>
</label>
</template>
<label class="s" @click="submit()">
<input type="submit" class="sub" value="立即注册" />
</label>
</form>
<div id="home" @click="$jump('homePage')">
<span>返回首页</span>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {
imgUrl: {
registered: require('../../static/img/registered.png'),
yy: require('../../static/img/yy.png')
},
fieldsName: [],
reg: [],
arr: [],
obj: {}
}
},
computed: {},
watch: {},
methods: {
submit () {
for (var key of Object.keys(this.obj)) {
if (this.obj[key] === '') {
alert('以上内容不可为空!')
return
}
}
let _this = this
this.$http({
method: 'post',
url: 'v1/login/reg',
data: {
object: _this.obj
}
}).then(res => {
if (res.data.code === 200) {
// alert(res.data.data.msg)
if (res.data.data.code !== 200) {
alert(res.data.data.msg)
return false
}
_this.$router.push({
name: 'login'
})
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
},
getData () {
let _this = this
this.$http({
method: 'get',
url: 'v1/login/reg-fields',
params: {}
}).then(res => {
if (res.data.code === 200) {
_this.reg = res.data
_this.reg.data.forEach(item => {
_this.obj[item.name] = ''
})
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
}
},
created () {
this.getData()
},
mounted () { }
}
</script>
<style lang='scss' scoped>
/** 无效 */
input:required:invalid {
border-color: #ccc !important;
}
/** 有效 */
input:required:valid {
border-color: green !important;
}
.wrapper {
min-width: 1280px;
height: 1398px;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
#home {
width: 100%;
color: red;
font-size: 12px;
margin: 20px auto 0;
text-align: center;
cursor: pointer;
}
#img {
width: 100vw;
height: auto;
position: absolute;
left: 0%;
top: 0%;
z-index: -1;
}
.box {
width: 736px;
background-color: rgba($color: #fff, $alpha: 0.5);
box-shadow: 0px 3px 29px 0px rgba(0, 0, 0, 0.18);
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
padding: 120px 0px;
box-sizing: border-box;
.boxx {
width: 474px;
h3 {
font-family: 'HanWangKaiBold-Gb5';
font-size: 26px;
font-weight: normal;
font-stretch: normal;
line-height: 24px;
letter-spacing: 0px;
color: #333333;
text-align: center;
margin-bottom: 33px;
}
form {
.s {
width: 100%;
text-align: center;
.sub {
margin: 0 auto;
width: 218px;
height: 56px;
background-color: #e60012;
box-shadow: 3px 5px 9px 0px rgba(252, 142, 142, 0.47);
border-radius: 28px;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 56px;
text-align: center;
letter-spacing: 0px;
color: #ffffff;
outline: none;
}
}
.label {
display: flex;
align-items: center;
height: 15px;
.checkout {
width: 14px;
height: 14px;
background-image: linear-gradient(0deg, #e5e2e2 0%, #ffffff 100%);
border-radius: 3px;
border: solid 1px #bfbfbf;
margin-right: 16px;
}
.span2 {
font-family: 'MicrosoftYaHei';
font-size: 14px;
font-weight: normal;
font-stretch: normal;
line-height: 62px;
letter-spacing: 0px;
color: #333333;
}
.span3 {
font-family: 'MicrosoftYaHei';
font-size: 14px;
font-weight: normal;
letter-spacing: 0px;
color: #e60012;
}
}
label {
position: relative;
margin-bottom: 25px;
display: inline-block;
.two {
position: absolute;
left: 4%;
top: 33%;
display: flex;
.iconfont {
font-size: 20px;
font-weight: 900;
color: #000;
}
}
.one {
position: absolute;
left: 4%;
top: 24%;
display: flex;
.iconfont {
font-size: 20px;
font-weight: 900;
color: #000;
}
}
.input {
width: 474px;
height: 56px;
border-radius: 28px;
border: solid 1px #a5acbb;
opacity: 0.8;
outline: none;
padding: 0 60px;
box-sizing: border-box;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 88px;
letter-spacing: 0px;
color: #666666;
}
.span1 {
display: inline-block;
margin-top: 8px;
margin-left: 25px;
font-family: 'MicrosoftYaHei';
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #999999;
}
}
}
}
}
}
</style>

View File

@@ -0,0 +1,85 @@
<template>
<div>
<header-nav :index_num="index_num"></header-nav>
<div class="content">
<div>
<span>状态</span>
<span>劳动组织</span>
</div>
<div>
<span>监测方</span>
<span>组织</span>
</div>
<div>
<span>预测时间</span>
<span>示例文字</span>
</div>
<div>
<span>项目名称 </span>
<span>示例文字</span>
</div>
<div>
<span>机构名称</span>
<span>示例文字</span>
</div>
<div>
<span>活动名称</span>
<span>示例文字</span>
</div>
<div>
<span>活动地点</span>
<span>示例文字</span>
</div>
<div>
<span>活动内容</span>
<span>示例文字</span>
</div>
<div>
<span>预计参与人数</span>
<span>示例文字</span>
</div>
<div>
<span>项目联系人</span>
<span>示例文字</span>
</div>
<div>
<span>联系方式</span>
<span>示例文字</span>
</div>
</div>
</div>
</template>
<script>
import HeaderNav from "../components/HeaderNav";
export default {
name: "dangzuzhixq",
components: {
HeaderNav
},
data() {
return {
index_num: 0
};
}
};
</script>
<style lang="scss" scoped>
.content{
margin-left:121px;
margin-top: 67px;
&>div{
margin-bottom: 38px;
display: flex;
}
.line{
width: 1088px;
height: 1px;
border-top: 1px dashed #E7E7E7;
position: relative;
top: 8px;
left: 20px;
}
}
</style>

248
src/views/dangzuzhixq.vue Normal file
View File

@@ -0,0 +1,248 @@
<template>
<div>
<header-nav :index_num="index_num"></header-nav>
<div class="content">
<!-- <div class="top">
<div class="homeicon">
<img src="../../static/img/homeicon.png" alt="" class="homeicon">
</div>
<div class="el-icon-right"></div>
<div class="titleshot">党组织信息</div>
</div> -->
<!-- <img src="../../static/img/apple.png" alt class="apply" /> -->
<div class="infobox">
<div class="infotablebg">
<div class="infotable">
<div class="tabletitle">党组织信息</div>
<table>
<!-- <tr>
<th class="tabletitle">社会组织信息</th>
</tr>-->
<tr>
<td class="key">社会组织名称</td>
<td class="val">{{result.name}}</td>
<td class="key">社会组织类型</td>
<td class="val">{{result.type}}</td>
</tr>
<tr>
<td class="key">流动党员数量</td>
<td class="val">{{result.flow_party_person}}</td>
<td class="key">已有党员数量</td>
<td class="val">{{result.party_person}}</td>
</tr>
<tr>
<td class="key">从业人员总数</td>
<td class="val">{{result.work_person}}</td>
<td class="key">党组织名称</td>
<td class="val">{{result.party_name}}</td>
</tr>
<tr>
<td class="key">是否建立党组织</td>
<td class="val">{{result.is_reg_party==1?"是":"否"}}</td>
<td class="key">是否建立功能性党组织</td>
<td class="val">{{result.is_reg_fun_party==1?"是":"否"}}</td>
</tr>
<tr>
<td class="key">近三年发展党员数</td>
<td class="val">{{result.near_party_person}}</td>
<td class="key">是否建立群团组织</td>
<td class="val">{{result.is_reg_group==1?"是":"否"}}</td>
</tr>
<tr>
<td class="key">党组织书记姓名</td>
<td class="val">{{result.sec_name}}</td>
<td class="key">党组织书记性别</td>
<td class="val">{{result.sec_sex==1?"男":"女"}}</td>
</tr>
<tr>
<td class="key">党组织书记年龄</td>
<td class="val">{{result.sec_age}}</td>
<td class="key">党组织书记行政职务</td>
<td class="val">{{result.sec_job}}</td>
</tr>
<tr>
<td class="key">
<p class="keywrap" style="text-align:center;width:230px;">近三年参加上级党组织培训情况</p>
</td>
<td class="val">
<p class="valwrap" style="top:0">{{result.sec_study}}</p>
</td>
<td class="key">
<p class="keywrap" style="text-align:center;width:230px;position:relative;">是否派选党建工作指导员</p>
</td>
<td class="val">
<p class="valwrap" style="top:0">{{result.is_choice_instructor ==1?"是":"否"}}</p>
</td>
</tr>
<tr>
<td class="key">是否建立群团组织</td>
<td class="val">{{result.is_reg_group==1?"是":"否"}}</td>
<td class="key">专执党务工作者人数</td>
<td class="val">{{result.major_party_person}}</td>
</tr>
<tr>
<td class="key">
<p class="keywrap" style="text-align:center;width:230px;position:relative;">党组织年度活动经费万元</p>
</td>
<td class="val">
<p class="valwrap" style="top:0">{{result.year_money}}</p>
</td>
<td class="key">
<p class="keywrap" style="text-align:center;width:230px;position:relative;">党组织年度活动面积平米</p>
</td>
<td class="val">
<p class="valwrap" style="top:0">{{result.active_year}}</p>
</td>
</tr>
</table>
<table>
<tr>
<td class="key">登记管理机关</td>
<td class="valself">{{result.reg_manage}}</td>
</tr>
<tr>
<td class="key">业务主管单位</td>
<td class="valself">{{result.supervisor}}</td>
</tr>
<tr>
<td class="key">隶属的上一级党组织名称</td>
<td class="valself">{{result.party_pname}}</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<footer-nav class="footer"></footer-nav>
</div>
</template>
<script>
import HeaderNav from "../components/HeaderNav";
import FooterNav from "../components/FooterNav";
export default {
name: "dangzuzhixq",
components: {
HeaderNav,
FooterNav
},
data() {
return {
index_num: 0,
result: []
};
},
mounted() {
console.log(this.$route.query.id);
this.$http({
method: "get",
url: "v1/user/get-info",
params:{id:this.$route.query.id}
// params: { sid: sessionStorage.getItem("party_id") }
}).then(res => {
console.log(res);
this.result = res.data.data;
});
}
};
</script>
<style lang="scss" scoped>
.infobox {
width: 100vw;
display: flex;
justify-content: center;
// margin-top: 70px;
}
.el-icon-s-home {
color: #9a9899;
font-size: 20px;
}
.content {
background-color: #f5f5f5;
.top {
width: 178px;
position: relative;
top: 50px;
left: 70px;
display: flex;
justify-content: space-around;
.titleshot {
font-size: 20px;
// font-weight: bold;
}
.homeicon{
width: 22px;
height: 22px;
}
}
.apply {
width: 233px;
float: right;
margin-right: 71px;
}
.infotablebg {
width: 1200px;
background-color: white;
margin: 0 auto;
margin-top:42px;
// margin-top: 67px;
display: flex;
justify-content: center;
padding-bottom: 180px;
.infotable {
margin-top: 36px;
.tabletitle {
background-color: #f24e77;
width: 1070px;
height: 60px;
color: white;
text-align: center;
line-height: 60px;
font-size: 24px;
}
.key {
width: 266px;
height: 40px;
line-height: 40px;
background-color: #f7f5f6;
text-align: left;
text-indent: 40px;
}
.keywrap {
width: 150px;
margin: 0 auto;
line-height: 35px;
text-indent: -17px;
text-align: left;
}
.valwrap {
// line-height: 50px;
position: relative;
top: 15px;
}
.valself {
width: 802px;
height: 40px;
line-height: 40px;
text-align: left;
text-indent: 30px;
}
.val {
width: 266px;
height: 40px;
line-height: 40px;
}
}
}
}
</style>
<style>
body table td {
border: 2px solid #dfe0eb !important;
}
</style>

View File

@@ -0,0 +1,495 @@
<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="centers.probook?centers.probook:''" download>{{centers.probook?(centers.probook.split('/')[8]).split('_')[0]+'.'+(centers.probook.split('.')[3]):''}}</a>
<a :href="centers.probook?centers.probook:''" target="_blank">预览</a>
</p>
<h3>项目实施方案</h3>
<!-- probook -->
<p>
<a :href="centers.fangan?centers.fangan:''" download>{{centers.fangan?((centers.fangan.split('/')[8]).split('_')[0]?(centers.fangan.split('/')[8]).split('_')[0]:centers.fangan.split('/')[8]):''}}</a>
<a :href="centers.fangan?centers.fangan:''" target="_blank">预览</a>
</p>
<h3>中期报告</h3>
<h3>1基本信息</h3>
<aside>
<div style="position:relative;right:30px">
<div style="margin-bottom:15px;position:relative;right:94px">
<label style="">项目名称:</label>
<span style="margin-left:20px">{{zDatc.name}}</span>
<!-- <el-input
v-model="zDatc.name"
name="name"
placeholder="请输入项目名称"
style="width:300px;margin-left:10px"
></el-input>-->
<!-- <input
type="text"
name="name"
readonly
v-model="zDatc.name"
required
disabled
class="division"
/>-->
</div>
<div style="margin-bottom:15px;position:relative;right:94px">
<label style="">机构名称:</label>
<span style="margin-left:20px">{{zDatc.company}}</span>
<!-- <el-input
v-model="zDatc.company"
name="name"
placeholder="请输入机构名称"
style="width:300px;margin-left:10px"
></el-input>-->
<!-- <input
type="text"
name="name"
value
v-model="zDatc.company"
required
disabled
class="division"
/>-->
</div>
<div style="margin-bottom:15px;position:relative;right:94px">
<label style="">申请日期:</label>
<span style="margin-left:20px">{{zDatc.aterm}}</span>
<!-- <el-date-picker
v-model="zDatc.month"
type="date"
value-format="timestamp"
placeholder="选择日期时间"
style="margin-left:10px;margin-bottom:10px"
></el-date-picker>-->
<!-- <input type="date" name="aterm" v-model="zDatc.aterm" value required />
<span></span>
<input type="date" name="fterm" v-model="zDatc.fterm" value required />-->
</div>
</div>
<div style="margin-bottom:15px">
<label style="font-size:20px;white-space:nowrap;margin-left:6px">项目执行团队人员构成及分工:</label>
<span style="font-size:15px;margin-left:20px">{{zDatc.people}}</span>
<div class="rich">
<!-- <team @team1="team1" :teamVal="teamval"></team> -->
<aboutUs @aboutUs="inform2" :aboutUsVal="centers.people" :writeable="!ifupdate"></aboutUs>
</div>
<!-- <el-input
v-model="zDatc.people"
name="name"
placeholder="请输入项目执行团队人员构成及分工"
style="width:300px;margin-left:10px"
></el-input>-->
<!-- <input
type="text"
name="name"
value
v-model="zDatc.people"
required
disabled
class="division"
/>-->
</div>
</aside>
<h3>2发展性状况</h3>
<div class="rich">
<ProjectBrief
@projectBrief="inform"
:projectBriefVal="centers.develop"
:writeable="!ifupdate"
></ProjectBrief>
</div>
<!-- <p>我国仍处于井将长期处于社会主义初级阶段,是最大的国情和实际我们开展各项工作,要一切从实际出发,牢牢立足这个最大国情和实际,不要超越阶段从能源来看,我国當富煤少油缺气?的资源禀赋,决定了煤炭在较长一个时期内作为我国主体能源的地位不会发玍变化,这就婓求我们坚持从煤炭资源丰富的囯情出发,切实抓好煤炭清洁高效利用章建华</p> -->
<h3>3项目实施情况</h3>
<div class="rich">
<ProjectAssessment
@projectAssessment="goals"
:projectAssessmentVal="centers.pro_condition"
:writeable="!ifupdate"
></ProjectAssessment>
</div>
<h3>4项目取得的成就</h3>
<div class="rich">
<ExistingBasis
@existingBasis="effect"
:existingBasisVal="centers.result"
:writeable="!ifupdate"
></ExistingBasis>
</div>
<h3>5对项目实施至今的情况总结</h3>
<div class="rich">
<MethodsWay
@methodsWay="plement"
:methodsWayVal="centers.summary"
:writeable="!ifupdate"
></MethodsWay>
</div>
<!-- <p>{{ centers.summary }}</p> -->
<h3>
6项目财务报告
<span class="download">
<span style="margin-left:15px;margin-right:5px"> {{caiwu?(caiwu.split(".")[0]).split('_')[0]+'.'+caiwu.split('.')[1]:''}}</span>
<a :href="centers.fina" download v-if="caiwu">下载</a> |
<a :href="centers.fina" target="_blank" v-if="caiwu">预览</a>
</span>
</h3>
<h3>
7中期电子报告
<span class="download">
<span style="margin-left:15px;margin-right:5px"> {{dianzi?(dianzi.split('.')[0]).split('_')[0]+'.'+dianzi.split('.')[1]:''}}</span>
<a :href="centers.elereport" download>下载</a> |
<a :href="centers.elereport" target="_blank">预览</a>
</span>
</h3>
<h3>
项目调整申请表及批复意见表
<span class="download">
<span style="margin-left:15px;margin-right:5px"> {{shenqing?(shenqing.split('.')[0]).split('_')[0]+shenqing.split('.')[1]:''}}</span>
<a :href="centers.adjust" download v-if="shenqing">下载 |</a>
<a :href="centers.adjust" target="_blank" v-if="shenqing">预览</a>
</span>
</h3>
<h3>活动类/培训类/会议类材料</h3>
<h3 v-for="(i,j) in centers.ziliao" :key="j">
<a :href="i.elereport">{{i.name}}</a>
<a :href="i.elereport?i.elereport:''" download style="margin-left:15px">{{i.elereport?(i.elereport.split('/')[8]).split('_')[0]+'.'+(i.elereport.split('/')[8]).split('.')[1]:''}}</a>
<span class="download" >
<a :href="i.elereport" download v-if="i.elereport">下载 |</a>
<a :href="i.elereport" target="_blank" v-if="i.elereport">预览</a>
</span>
</h3>
<!-- <h3>
呵呵呵的爱心活动
<span class="download">
<a href="#" download>下载</a> |
<a href="#">预览</a>
</span>
</h3>
<h3>
呵呵呵的爱心活动
<span class="download">
<a href="#" download>下载</a> |
<a href="#">预览</a>
</span>
</h3> -->
<h3>
财务中期预算表
<span class="download">
<span style="margin-left:15px;margin-right:5px"> {{midcaiwu?(midcaiwu.split('.')[0]).split('_')[0]+midcaiwu.split('.')[1]:""}}</span>
<a :href="centers.budget" download v-if="midcaiwu">下载</a> |
<a :href="centers.budget" target="_blank" v-if="midcaiwu">预览</a>
</span>
</h3>
<h3>
其他类
<span class="download">
<span style="margin-left:15px;margin-right:5px"> {{qita?(qita.split(".")[0]).split('_')[0]+'.'+qita.split('.')[1]:''}}</span>
<a :href="centers.other" download v-if="qita">下载</a> |
<a :href="centers.other" target="_blank" v-if="qita">预览</a>
</span>
</h3>
<h3>
中期PPT文件
<span class="download">
<span style="margin-left:15px;margin-right:5px"> {{ppt?(ppt.split('.')[0]).split('_')[0]+'.'+ppt.split('.')[1]:""}}</span>
<a :href="centers.PPT" download v-if="ppt">下载</a> |
<a :href="centers.PPT" target="_blank" v-if="ppt">预览</a>
</span>
</h3>
</div>
<section id="preview" v-if="popupStatus">
<div class="tc" @click="preview()"></div>
<section class="tc-text">
<a
v-for="(list, index) in dataFile"
:key="index"
:href="list.url"
target="_blank"
>{{ list.url }}</a>
</section>
<!-- <img class="tc-text" :src="zData.proimages" /> -->
</section>
<section id="popup" v-if="pop" @click="popUp()">
<aside @click.stop>
<img :src="linkData" alt />
</aside>
</section>
</div>
<footer-nav class="footer"></footer-nav>
</div>
</template>
<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
<script>
import HeaderNav from "../../components/HeaderNav";
import FooterNav from "../../components/FooterNav";
const path = require("path");
const files = require.context("@/components", false, /\.vue$/);
const modules = {};
files.keys().forEach(key => {
const names = path.basename(key, ".vue");
modules[names] = files(key).default || files(key);
});
var preD = function(e) {
e.preventDefault();
};
export default {
// components: {
// HeaderNav,
// FooterNav
// },
components: modules,
data() {
return {
index_num: 2,
sub: 0,
name: " ",
info: ["1"],
zDatc: [],
zDatb: [],
dataFile: null,
id: null,
fileName: null,
centers: null,
linkData: "",
popupStatus: false,
pop: false,
informVal: "aaaa",
goalsVal:"",
effectVal:'',
plementVal: "",
ifupdate:true,
caiwu:"",
dianzi:"",
shenqing:"",
midcaiwu:"",
qita:"",
ppt:""
};
},
created() {
this.GetListImg();
},
methods: {
inform(data) {
console.log(data, "e");
this.infomrText = data;
},
inform2(data) {
console.log(data, "111111e");
this.team = data;
},
goals(data) {
this.goalsText = data;
},
preview() {
this.popupStatus = !this.popupStatus;
},
effect(data) {
this.effectText = data;
},
plement(data) {
this.plementText = data;
},
aterm() {},
fterm() {},
getData() {
this.$http({
method: "post",
url: "v1/project/details",
data: {
id: this.id
}
})
.then(res => {
console.log(res, 234568);
if (res.data.data.code === 200) {
this.zDatc = res.data.data.data.ProjectDetails;
console.log(this.zDatc, 256);
} else {
alert("请求失败!");
}
})
.catch(err => {
console.log(err);
});
},
getCenter() {
this.$http({
method: "get",
url: "v1/pro/center",
params: {
// id: 83,
id: this.id,
category: "center"
}
})
.then(res => {
if (res.data.data.code === 200) {
let data = res.data.data.data[0];
this.centers = data;
console.log(this.centers);
this.caiwu = this.centers.fina.substring(
this.centers.fina.lastIndexOf("/") + 1
);
this.dianzi = this.centers.elereport.substring(
this.centers.elereport.lastIndexOf("/") + 1
);
this.shenqing = this.centers.adjust.substring(
this.centers.adjust.lastIndexOf("/") + 1
);
this.midcaiwu = this.centers.budget.substring(
this.centers.budget.lastIndexOf("/") + 1
);
this.qita = this.centers.other.substring(
this.centers.other.lastIndexOf("/") + 1
);
this.ppt = this.centers.PPT.substring(
this.centers.PPT.lastIndexOf("/") + 1
);
} else {
alert(res.data.data.msg);
// this.$jParams("schedule", { id: this.id, mid_sub: 1 });
this.$router.push({path: `/schedule${this.id}`});
}
})
.catch(err => {
console.log(err);
});
}, //预览
popUp(link) {
console.log(link);
this.pop = !this.pop;
this.linkData = link;
}
},
created() {
this.id = this.$route.query.id;
this.getData();
this.getCenter();
}
};
</script>
<style lang="scss" scoped>
.rich {
margin-bottom: 105px;
}
#preview {
width: 100%;
height: 100%;
position: fixed;
top: 0%;
left: 0%;
z-index: 999;
.tc {
width: 100%;
height: 100%;
background-color: rgba($color: #000, $alpha: 0.58);
position: fixed;
top: 0%;
left: 0%;
}
.tc-text {
// width: 350px;
// width:100%;
padding: 30px;
box-sizing: border-box;
height: auto;
background-color: #fff;
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
a {
display: inline-block;
margin-top: 10px;
cursor: pointer;
}
}
}
#excute_box {
width: 100%;
.excute_con {
width: 1200px;
margin: 0 auto;
padding: 50px 30px;
background: white;
margin-top: 50px;
margin-bottom: 50px;
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>

362
src/views/excutes/Over.vue Normal file
View File

@@ -0,0 +1,362 @@
<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="over.probook">{{over.probook?over.probook.split('/')[8]:'未上传'}}</a>
<a :href="over.probook" target="_blank" v-if="over.probook">预览</a>
</p>
<h3>立项批复文件</h3>
<p>
<a :href="over.fangan">{{over.fangan?over.fangan.split('/')[8]:'未上传'}}</a>
<a :href="over.fangan" target="_blank" v-if="over.fangan">预览</a>
</p>
<h3>实施方案</h3>
<p>
<a :href="over.fangan">{{over.fangan?over.fangan.split('/')[8]:'未上传'}}</a>
<a :href="over.fangan" target="_blank" v-if="over.fangan">预览</a>
</p>
<!-- <h3>街道地区办事处关于2019年社会建设资金购买社会组织服务结项材料的说明</h3>
<p>
<span>
<a href="#">下载</a> |
<a href="#">预览</a>
</span>
</p> -->
<h3>项目实施各阶段情况报告月度报告</h3>
<p>
<!-- <a href="#">未上传</a> -->
<a :href="over.pro_condition">{{over.pro_condition?over.pro_condition.split('/')[8]:'未上传'}}</a>
&nbsp;&nbsp;&nbsp;
<a :href="over.pro_condition" download="" v-if="over.pro_condition">下载</a>
<a :href="over.pro_condition" target="_blank" v-if="over.pro_condition">预览</a>
</p>
<!-- <h3>中期评估报告</h3>
<p>
<span>
<a href="#">下载</a> |
<a href="#">预览</a>
</span>
</p> -->
<h3>结项报告绩效报告</h3>
<h3>1基本信息</h3>
<aside>
<div class="baseinfo">
<label style="margin-left:27px">项目名称:</label>
<p class="right" style="right:12px">{{over.name}}</p>
</div>
<div class="baseinfo">
<label class="left">机构名称:</label>
<p class="right">{{over.company}}</p>
</div>
<div class="baseinfo">
<label class="left">申请日期:</label>
<p class="right">{{over.aterm}}</p>
</div>
<div>
<label class="left" style="font-size:20px">项目执行团队人员构成及分工:</label>
<!-- <input
type="text"
name="name"
value
v-model="over.people"
required
disabled
class="division"
/> -->
<DivisionLabor
@divisionLabor="plement"
:divisionLaborVal="over.people"
:writeable="false"
></DivisionLabor>
<!-- <p v-html="over.people"></p> -->
</div>
</aside>
<!-- <h3>2发展性状况</h3> -->
<!-- <p></p> -->
<!-- <h3>3项目实施情况</h3> -->
<!-- <p>{{over.pro_condition}}</p> -->
<!-- <p v-html="over.pro_condition"></p> -->
<!-- <DivisionLabor
@divisionLabor="plement"
:divisionLaborVal="over.pro_condition"
:writeable="false"
></DivisionLabor> -->
<h3>1项目取得的成就</h3>
<!-- <p>{{over.result}}</p> -->
<!-- <p v-html="over.result"></p> -->
<DivisionLabor
@divisionLabor="plement"
:divisionLaborVal="over.result"
:writeable="false"
></DivisionLabor>
<h3>2对项目实施至今的情况总结</h3>
<!-- <p>{{ over.summary }}</p> -->
<!-- <p v-html="over.summary"></p> -->
<DivisionLabor
@divisionLabor="plement"
:divisionLaborVal="over.summary"
:writeable="false"
></DivisionLabor>
<h3>
3项目财务报告
<span class="download">
<!-- {{over.fina}} -->
<a :href="over.fina">{{over.fina?over.fina.split('/')[8]:'未上传'}}</a>
&nbsp;&nbsp;&nbsp;
<a :href="over.fina" download v-if="over.fina"> 下载 |</a>
<a :href="over.fina" target="_blank" v-if="over.fina">预览</a>
</span>
</h3>
<h3>
4结项电子报告
<span class="download">
<a :href="over.elereport">{{over.elereport?over.elereport.split('/')[8]:'未上传'}}</a>
&nbsp;&nbsp;&nbsp;
<a :href="over.elereport" download v-if="over.elereport"> 下载 |</a>
<a :href="over.elereport" target="_blank" v-if="over.elereport">预览</a>
</span>
</h3>
<h3>
项目调整申请表及批复意见表
<span class="download">
<a :href="over.adjust">{{over.adjust?over.adjust.split('/')[8]:'未上传'}}</a>
&nbsp;&nbsp;&nbsp;
<a :href="over.adjust" download v-if="over.adjust">下载 |</a>
<a :href="over.adjust" target="_blank" v-if="over.adjust">预览</a>
</span>
</h3>
<h3>会议活动相关资料通知议程参加人员名单及签到表现场照片或视频会议纪要活动总结报告媒体报道满意度测评表及报告等</h3>
<span class="download" v-for="(item,index) in over.ziliao" :key="index" style="display:block;margin: 20px 0">
<a :href="item.elereport">{{item.elereport?item.elereport.split('/')[8]:'未上传'}}</a>
&nbsp;&nbsp;&nbsp;
<a :href="item.elereport" download v-if="item.elereport">下载 |</a>
<a :href="item.elereport" target="_blank" v-if="item.elereport">预览</a>
</span>
<h3>
反映项目实施效果的相关资料
媒体报道获奖情况文字成果案例等
<span class="download">
<a :href="over.pro_result">{{over.pro_result?over.pro_result.split('/')[8]:'未上传'}}</a>
&nbsp;&nbsp;&nbsp;
<a :href="over.pro_result" download v-if="over.pro_result">下载 |</a>
<a :href="over.pro_result" target="_blank" v-if="over.pro_result">预览</a>
</span>
</h3>
<h3>
财务管理制度
<span class="download">
<a :href="over.manage">{{over.manage?over.manage.split('/')[8]:'未上传'}}</a>
&nbsp;&nbsp;&nbsp;
<a :href="over.manage" download v-if="over.manage">下载 |</a>
<a :href="over.manage" target="_blank" v-if="over.manage">预览</a>
</span>
</h3>
<h3>
项目经费表决算表
<span class="download">
<a :href="over.money">{{over.money?over.money.split('/')[8]:'未上传'}}</a>
&nbsp;&nbsp;&nbsp;
<a :href="over.money" download v-if="over.money">下载 |</a>
<a :href="over.money" target="_blank" v-if="over.money">预览</a>
</span>
</h3>
</div>
</div>
<footer-nav class="footer"></footer-nav>
</div>
</template>
<script>
import HeaderNav from '../../components/HeaderNav'
import FooterNav from '../../components/FooterNav'
const path = require("path");
const files = require.context("@/components", false, /\.vue$/);
const modules = {};
files.keys().forEach(key => {
const names = path.basename(key, ".vue");
modules[names] = files(key).default || files(key);
});
// eslint-disable-next-line no-unused-vars
var preD = function (e) {
e.preventDefault()
}
export default {
components: modules,
data () {
return {
index_num: 2,
sub: 0,
name: ' ',
info: ['1'],
zDatc: [],
zDatb: [],
dataFile: null,
id: null,
fileName: null,
over: null,
probook:""
}
},
created () {
this.GetListImg()
},
methods: {
plement(){},
aterm () { },
fterm () { },
getData () {
this.$http({
method: 'post',
url: 'v1/project/details',
data: {
id: this.id
}
})
.then(res => {
console.log(res, 234568)
if (res.data.data.code === 200) {
this.zDatc = res.data.data.data.ProjectDetails
console.log(this.zDatc, 256)
} else {
alert('请求失败!')
}
})
.catch(err => {
console.log(err)
})
},
getOver () {
this.$http({
method: 'get',
url: 'v1/pro/center',
params: {
// id: 83,
id:this.$route.query.id,
category: 'over'
}
})
.then(res => {
// console.log(res,500)
if (res.data.data.code === 200) {
let data = res.data.data.data[0]
this.over = data
console.log(this.over.probook.split('/')[8],500)
// var index = file.response.data.url.lastIndexOf(".");
// var filetype = file.response.data.url.substr(index + 1);
} else {
alert(res.data.data.msg)
this.$router.push({path: `/schedule${this.id}`});
}
})
.catch(err => {
console.log(err)
})
}
},
// eslint-disable-next-line no-dupe-keys
created () {
this.id = this.$route.query.id
this.getData()
this.getOver()
}
}
</script>
<style lang="scss" scoped>
.baseinfo{
// min-width:180px;
display: flex;
.right{
margin-left: 15px;
margin-bottom: 20px;
position: relative;
top: -5px;
}
.left{
margin-left:29px;
}
}
#excute_box {
width: 100%;
.excute_con {
width: 1200px;
margin: 0 auto;
padding: 80px 30px;
background: white;
margin-top: 50px;
margin-bottom: 50px;
h3 {
line-height: 260%;
font-size: 20px;
}
p a {
line-height: 10%;
color: #7471ef;
font-size: 14px;
margin-right: 10px;
}
p{
font-size: 14px!important;
margin-left: 33px;
line-height: 33px!important;
}
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;
// font-size: 20px;
// 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>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

831
src/views/home/ApplyFor.vue Normal file
View File

@@ -0,0 +1,831 @@
<template>
<div class="wr">
<header-nav :index_num="index_num"></header-nav>
<div class="wrapperr">
<p class="title">党组织申请</p>
<!-- 进度条 -->
<div class="he">
<div
class="list"
v-for="(item,index) in text"
:key="index"
:style="{'background-image': sub == index ? 'url('+imgUrl.bg0+')' : 'url('+imgUrl.bg1+')'}"
>
<span :style="sub == index ? 'color:#fff' : 'color:#000'">{{item}}</span>
</div>
</div>
<!-- 用户填写的内容 -->
<form action method onsubmit="return false" enctype="multipart/form-data">
<!-- 党组织申请1 -->
<div id="boxOne" v-if="sub == 0">
<h3>基本信息</h3>
<div class="b">
<div class="o">
<label>
<span>社会组织名称:</span>
<input class="input" type="text" name="name" v-model="name" disabled />
</label>
<label>
<span>社会组织类型:</span>
<select name="type" v-model="type">
<template v-for="(list,index) in types">
<option :key="index" :value="index">{{list}}</option>
</template>
</select>
</label>
</div>
<div class="o">
<label>
<span>流动党员数量:</span>
<input
class="input"
type="number"
min="0"
name="flow_party_person"
v-model="flow_party_person"
/>
</label>
<label>
<span>已有党员数量:</span>
<input
class="input"
type="number"
min="0"
name="party_person"
v-model="party_person"
/>
</label>
</div>
<div class="o">
<label>
<span>从业人员总数:</span>
<input class="input" type="number" min="0" name="work_person" v-model="work_person" />
</label>
<label>
<span>党组织名称:</span>
<input class="input" type="text" name="party_name" v-model="party_name" />
</label>
</div>
<div class="o-zero">
<span>是否建立党组织:</span>
<div>
<label for>
<input type="radio" name="is_reg_party" v-model="is_reg_party" value="1" checked />&nbsp;&nbsp;
</label>&nbsp;&nbsp;&nbsp;&nbsp;
<label for>
<input type="radio" name="is_reg_party" v-model="is_reg_party" value="2" />&nbsp;&nbsp;
</label>
</div>
</div>
<div class="o-one">
<span>是否建立功能型党组织:</span>
<div>
<label for>
<input type="radio" name="is_reg_fun_party" v-model="is_reg_fun_party" value="1" />&nbsp;&nbsp;
</label>&nbsp;&nbsp;&nbsp;&nbsp;
<label for>
<input type="radio" name="is_reg_fun_party" v-model="is_reg_fun_party" value="2" />&nbsp;&nbsp;
</label>
</div>
</div>
<div class="o-o">
<label>登记管理机关:</label>
<input type="text" name="reg_manage" v-model="reg_manage" />
</div>
<div class="o-o">
<label>业务主管单位:</label>
<input type="text" name="supervisor" v-model="supervisor" />
</div>
<div class="o-two">
<label>隶属的上一级党组织名称:</label>
<input type="text" name="party_pname" v-model="party_pname" />
</div>
</div>
<div class="btn" @click="btn(1)">下一页</div>
</div>
<!-- 党组织申请2 -->
<div id="boxTwo" v-if="sub == 1">
<!-- !!!!!! -->
<h3>党组织书记情况</h3>
<div class="b">
<div>
<label for>姓名:</label>
<input type="text" name="sec_name" v-model="sec_name" />
</div>
<div style="display: flex;
align-items: center;">
<label for>姓别:</label>
<label class="label">
<input type="radio" name="sec_sex" v-model="sec_sex" value="1" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input
type="radio"
name="sec_sex"
v-model="sec_sex"
value="0"
/>&nbsp;&nbsp;
</label>
</div>
<div>
<label for>年龄:</label>
<input type="text" v-model="sec_age" name="sec_age" title="请输入大于或等于零的阿拉伯数字" />
</div>
<div>
<label for>行政职务:</label>
<input type="text" v-model="sec_job" name="sec_job" />
</div>
<div>
<label for>近三年参加上级党组织培训次数:</label>
<input type="text" name="sec_study" v-model="sec_study" title="请输入大于或等于零的阿拉伯数字" />
</div>
</div>
<!-- !!!!!! -->
<h3 style="margin-top:35px;">党组织信息</h3>
<div class="b">
<div>
<label for>近三年发展党员数:</label>
<input
type="text"
name="near_party_person"
v-model="near_party_person"
title="请输入大于或等于零的阿拉伯数字"
/>
</div>
<div style="display: flex;
align-items: center;">
<label for>是否建立群团组织:</label>
<label class="label">
<input type="radio" name="is_reg_group" value="1" v-model="is_reg_group" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input
type="radio"
name="is_reg_group"
value="2"
v-model="is_reg_group"
/>&nbsp;&nbsp;
</label>
</div>
<div>
<label for>专职党务工作者人数:</label>
<input
type="text"
name="major_party_person"
v-model="major_party_person"
title="请输入大于或等于零的阿拉伯数字"
/>
</div>
<div style="display: flex;
align-items: center;">
<label for>是否选派党建工作指导员:</label>
<label class="label">
<input
type="radio"
name="is_choice_instructor"
value="1"
v-model="is_choice_instructor"
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input
type="radio"
name="is_choice_instructor"
value="2"
v-model="is_choice_instructor"
/>&nbsp;&nbsp;
</label>
</div>
<div>
<label for>党组织年度活动经费(万元):</label>
<input type="text" name="year_money" v-model="year_money" title="请输入大于或等于零的阿拉伯数字" />
</div>
<div>
<label for>党组织年度活动场所面积(平米):</label>
<input type="text" name="active_year" v-model="active_year" title="请输入大于或等于零的阿拉伯数字" />
</div>
</div>
<div
@click="btn(2)"
style="outline:none;display:flex;justify-content:center;margin-top:35px;"
>
<input type="submit" value="立即提交" />
</div>
</div>
</form>
<!-- succeed -->
<div class="succeed" v-if="sub == 2">
<div>
<img :src="imgUrl.succeed" alt />
<span>党组织申请已提交成功</span>
</div>
</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
},
props: {},
data () {
return {
imgUrl: {
bg0: require('../../../static/img/bg0.png'),
bg1: require('../../../static/img/bg1.png'),
succeed: require('../../../static/img/succeed.png')
},
text: ['1 填写基本信息', '2 填写党组织信息', '3 提交审核'],
sub: 0,
index_num: 0,
types: [],
type: '',
supervisor: '',
reg_manage: '',
work_person: '',
flow_party_person: '',
party_person: '',
is_reg_party: '',
is_reg_fun_party: '',
party_name: '',
party_pname: '',
sec_name: '',
sec_sex: '',
sec_job: '',
sec_age: '',
sec_study: '',
near_party_person: '',
major_party_person: '',
is_reg_group: '',
is_choice_instructor: '',
year_money: '',
active_year: ''
}
},
computed: {},
watch: {},
methods: {
btn (n) {
// let regz = /^(0|\+?[1-9][0-9]*)$/
let s = this.sub
s = n
if (s === 1) {
if (this.type === '' || this.flow_party_person === '' || this.party_person === '' || this.work_person === '' ||
this.party_name === '' || this.is_reg_party === '' || this.is_reg_fun_party === '' ||
this.reg_manage === '' || this.supervisor === '' || this.party_pname === ''
) {
alert('以上内容不可为空!')
} else {
if (this.flow_party_person < 0 || this.party_person < 0 || this.work_person < 0) {
alert('不能出现负数呦!')
} else {
this.sub = s
}
}
}
if (s === 2) {
if (this.sec_name === '' || this.sec_sex === '' || this.sec_age === '' || this.sec_job === '' ||
this.sec_study === '' || this.near_party_person === '' || this.is_reg_group === '' ||
this.major_party_person === '' || this.is_choice_instructor === '' || this.year_money === '' ||
this.active_year === ''
) {
alert('以上内容不可为空!')
} else if (isNaN(this.sec_age) || isNaN(this.sec_study) || isNaN(this.near_party_person) ||
isNaN(this.major_party_person) || isNaN(this.year_money) || isNaN(this.active_year)
) {
alert('请输入数字!')
} else if (this.sec_age < 0 || this.sec_study < 0 || this.near_party_person < 0 ||
this.major_party_person < 0 || this.year_money < 0 || this.active_year < 0
) {
alert('请输入大于或等于零的阿拉伯数字!')
} else {
let sid = sessionStorage.id
let _this = this
this.$http({
method: 'post',
url: 'v1/user/apply',
data: {
sid: sid,
type: _this.type,
supervisor: _this.supervisor,
reg_manage: _this.reg_manage,
work_person: _this.work_person,
flow_party_person: _this.flow_party_person,
party_person: _this.party_person,
is_reg_party: _this.is_reg_party,
is_reg_fun_party: _this.is_reg_fun_party,
party_name: _this.party_name,
party_pname: _this.party_pname,
sec_name: _this.sec_name,
sec_sex: _this.sec_sex,
sec_job: _this.sec_job,
sec_age: _this.sec_age,
sec_study: _this.sec_study,
near_party_person: _this.near_party_person,
major_party_person: _this.major_party_person,
is_reg_group: _this.is_reg_group,
is_choice_instructor: _this.is_choice_instructor,
year_money: _this.year_money,
active_year: _this.active_year
}
}).then(res => {
if (res.data.code === 200) {
if (res.data.data.code !== 200) {
alert(res.data.data.msg)
return
}
_this.sub = s
} else {
_this.$message.warning(res.data.message)
}
})
.catch(err => {
console.log(err)
})
}
}
},
getData () {
let _this = this
this.$http({
method: 'post',
url: 'v1/user/get-society-type',
data: {}
}).then(res => {
if (res.data.code === 200) {
_this.types = res.data.data
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
}
},
created () {
this.name = sessionStorage.name
this.getData()
},
mounted () { }
}
</script>
<style lang='scss' scoped>
.wr {
min-width: 1280px;
box-sizing: border-box;
.footer {
margin-top: 80px;
}
}
.wrapperr {
width: 1200px;
margin: 40px auto;
padding: 34px 31px 100px;
box-sizing: border-box;
background-color: #ffffff;
.succeed {
margin-top: 70px;
div {
width: 100%;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
img {
width: 118px;
height: 118px;
margin-bottom: 28px;
}
span {
font-family: "MicrosoftYaHei";
font-size: 26px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
}
}
form {
h3 {
width: 1138px;
height: 38px;
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
border-bottom: 2px solid #dedede;
padding-left: 30px;
box-sizing: border-box;
margin-bottom: 58px;
}
input[type="submit"] {
outline: none;
}
label input[type="radio"] {
width: 17px;
height: 17px;
appearance: none;
-webkit-appearance: none;
outline: none;
margin: 0;
cursor: pointer;
}
label input[type="radio"]:after {
width: 17px;
height: 17px;
display: block;
content: "";
background: url("../../../static/img/wxz.png") no-repeat;
background-size: 100% 100%;
}
label input[type="radio"]:checked:after {
background: url("../../../static/img/xz.png") no-repeat;
}
#boxTwo {
.b {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
div {
margin-bottom: 30px;
height: 43px;
label {
text-align: right;
width: 229px;
height: 16px;
display: inline-block;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
input[type="text"] {
margin-left: 28px;
width: 386px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
outline: none;
padding-left: 30px;
box-sizing: border-box;
}
.label {
width: 386px;
height: 43px;
margin-left: 30px;
display: flex;
align-items: center;
}
}
}
input[type="submit"] {
width: 330px;
height: 63px;
line-height: 63px;
text-align: center;
background-color: #e60012;
border-radius: 5px;
font-family: "MicrosoftYaHei";
font-size: 26px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
}
}
#boxOne {
.b {
width: 100%;
.o-two {
width: 100%;
height: 43px;
display: flex;
align-items: center;
padding-left: 16px;
box-sizing: border-box;
margin-bottom: 60px;
label {
display: inline-block;
width: 181px;
height: 16px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
input {
width: 913px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
margin-left: 28px;
outline: none;
padding-left: 30px;
box-sizing: border-box;
}
}
.o-o {
width: 100%;
height: 43px;
display: flex;
align-items: center;
padding-left: 96px;
box-sizing: border-box;
margin-bottom: 25px;
label {
display: inline-block;
width: 101px;
height: 16px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
input {
width: 913px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
margin-left: 28px;
outline: none;
padding-left: 30px;
box-sizing: border-box;
}
}
.o-one {
width: 100%;
height: 43px;
box-sizing: border-box;
display: flex;
align-items: center;
margin-bottom: 11px;
div {
margin-left: 30px;
display: flex;
align-items: center;
label {
display: flex;
align-items: center;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
line-height: 25px;
letter-spacing: 0px;
color: #333333;
}
/*
label input[type="radio"] {
width: 17px;
height: 17px;
appearance: none;
-webkit-appearance: none;
outline: none;
margin: 0;
cursor: pointer;
}
label input[type="radio"]:after {
width: 17px;
height: 17px;
display: block;
content: "";
background: url("../../../static/img/wxz.png") no-repeat;
background-size: 100% 100%;
}
label input[type="radio"]:checked:after {
background: url("../../../static/img/xz.png") no-repeat;
}*/
}
span {
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
}
.o-zero {
margin-bottom: 11px;
width: 100%;
height: 43px;
padding-left: 80px;
box-sizing: border-box;
display: flex;
align-items: center;
div {
margin-left: 30px;
display: flex;
align-items: center;
label {
display: flex;
align-items: center;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
line-height: 25px;
letter-spacing: 0px;
color: #333333;
}
/*
label input[type="radio"] {
width: 17px;
height: 17px;
appearance: none;
-webkit-appearance: none;
outline: none;
margin: 0;
cursor: pointer;
}
label input[type="radio"]:after {
width: 17px;
height: 17px;
display: block;
content: "";
background: url("../../../static/img/wxz.png") no-repeat;
background-size: 100% 100%;
}
label input[type="radio"]:checked:after {
background: url("../../../static/img/xz.png") no-repeat;
}
*/
}
span {
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
}
.o {
margin-bottom: 30px;
width: 100%;
height: 43px;
display: flex;
justify-content: space-between;
align-items: center;
padding-left: 96px;
box-sizing: border-box;
label {
// width: 547px;
height: 43px;
display: inline-block;
box-sizing: border-box;
select {
width: 386px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
outline: none;
box-sizing: border-box;
padding-left: 30px;
box-sizing: border-box;
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../../static/img/xa.png") 360px center
no-repeat;
background-size: 14px 8px;
}
.input {
width: 386px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
outline: none;
box-sizing: border-box;
padding-left: 30px;
box-sizing: border-box;
}
span {
margin-right: 20px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333;
display: inline-block;
width: 101px;
text-align: right;
white-space: nowrap;
}
}
}
}
.btn {
cursor: pointer;
margin: 0 auto;
width: 230px;
height: 63px;
background-color: #e60012;
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;
}
}
}
.he {
margin: 44px auto 70px;
width: 598px;
height: 34px;
display: flex;
justify-content: space-between;
align-items: center;
.list {
width: 192px;
height: 34px;
line-height: 34px;
text-align: center;
background-size: 100% 100%;
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
}
}
.title {
text-align: center;
font-family: "MicrosoftYaHei";
font-size: 22px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
}
</style>

1007
src/views/home/HomePage.vue Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,345 @@
<template>
<div class="wrapper" v-if="bgData">
<header-nav :index_num="index_num"></header-nav>
<div class="box">
<div class="left">
<dl>
<dt>
<div>
<img class="one" :src="bgData.cover ? bgData.cover : 'imgUrl.moren'" alt />
</div>
<span
@click="collection(bgData.id)"
class="iconfont icon-changyongtubiao-mianxing-"
:class="coll ? 'colorTrue' : 'colorFalse'"
v-if="1"
></span>
</dt>
<dd>
<span class="d-o">{{bgData.title}}</span>
</dd>
<dd>
<span class="d-b">
来源:{{bgData.author}}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
发布时间:{{bgData.created_at}}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
浏览量:{{bgData.view}}
</span>
</dd>
</dl>
<div class="text" v-html="bgData.content">{{bgData.content}}</div>
</div>
<div class="right">
<h3>热点新闻</h3>
<div>
<template v-for="(hotArticle,index) in bgDataZ">
<dl :key="index" v-if="index < 4" @click="news(hotArticle.id)">
<dt>
<img :src="hotArticle.cover ? hotArticle.cover : imgUrl.moren" alt />
</dt>
<dd>
<span class="dd">{{hotArticle.title}}</span>
</dd>
<dd>
<time>{{hotArticle.created_at}}</time>
</dd>
</dl>
</template>
</div>
</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
},
props: {},
data () {
return {
index_num: 0,
coll: 0,
imgUrl: {
img4: require('../../../static/img/img4.png'),
moren: require('../../../static/img/default.jpg'),
img5: require('../../../static/img/img5.png'),
wjx: require('../../../static/img/wjx.png')
},
bgData: [],
bgDataZ: [],
id: Number
}
},
computed: {},
watch: {},
methods: {
news (newId) {
let _this = this
this.$http({
method: 'post',
url: 'v1/article/details',
data: {
id: newId
}
}).then(res => {
if (res.data.data.code === 200) {
_this.bgData = res.data.data.data
_this.bgDataZ = res.data.data.hotArticle
_this.coll = res.data.data.is_collection
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
},
collection (articleId) {
console.log(11111)
if (!sessionStorage.id) {
alert('请先登录~')
return
}
let _this = this
this.$http({
method: 'post',
url: 'v1/article/collection',
data: {
sid: sessionStorage.getItem("party_id"),
article_id: articleId
}
}).then(res => {
if (res.data.data.code === 200) {
_this.coll = _this.coll === 1 ? 0 : 1
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
},
getData (id) {
let _this = this
this.$http({
method: 'post',
url: 'v1/article/details',
data: {
id: id
}
}).then(res => {
if (res.data.data.code === 200) {
_this.bgData = res.data.data.data
_this.bgDataZ = res.data.data.hotArticle
_this.coll = res.data.data.is_collection
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
}
},
created () {
// this.id = this.$route.params.id
// let type = this.$route.params.type
// this.getData(this.id)
},
mounted () {
this.id = this.$route.query.id
// let type = this.$route.query.type
this.getData(this.id)
}
}
</script>
<style lang='scss' scoped>
.wrapper {
min-width: 1280px;
box-sizing: border-box;
.box {
margin: 0 auto;
width: 1280px;
padding: 42px 40px 0px;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: flex-start;
.left {
width: 840px;
height: auto;
background-color: #ffffff;
padding: 35px 30px 70px;
box-sizing: border-box;
dl {
position: relative;
width: 780px;
// height: 587px;
box-sizing: border-box;
dd {
width: 95%;
.d-o {
display: inline-block;
margin: 28px 0 23px;
font-family: "MicrosoftYaHei";
font-size: 24px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
word-wrap: break-word;
white-space: normal;
}
.d-b {
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #999999;
}
}
dt {
.one {
width: 780px;
height: 494px;
}
.colorFalse {
font-size: 28px;
color: #ccc;
position: absolute;
right: 0%;
bottom: 5%;
}
.colorTrue {
font-size: 28px;
color: #fec300;
position: absolute;
right: 0%;
bottom: 5%;
}
}
}
.text {
margin: 38px auto 0px;
overflow: hidden;
width: 775px;
height: auto;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 40px;
letter-spacing: 0px;
color: #666666;
p {
text-indent: 1em;
line-height: 0px !important;
}
}
}
.right {
width: 301px;
height: 1282px;
background-color: #ffffff;
border: solid 1px rgba($color: #ccc, $alpha: 0.48);
padding-top: 33px;
box-sizing: border-box;
div {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
dl {
margin-bottom: 30px;
dt {
img {
width: 260px;
height: 144px;
border-radius: 10px;
}
}
dd {
span {
margin-top: 10px;
display: inline-block;
width: 266px;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 30px;
letter-spacing: 1px;
color: #333333;
display: -webkit-box;
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
word-wrap: break-word;
white-space: normal;
}
time {
display: inline-block;
width: 266px;
text-align: right;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
line-height: 30px;
letter-spacing: 1px;
color: #999999;
}
}
}
h3 {
margin-left: 20px;
margin-bottom: 30px;
font-family: "MicrosoftYaHei";
font-size: 22px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
}
}
.footer {
margin-top: 80px;
}
}
</style>

251
src/views/home/NewsList.vue Normal file
View File

@@ -0,0 +1,251 @@
<template>
<div class="wrapper">
<header-nav :index_num="index_num"></header-nav>
<div id="box">
<template v-if="cd > 0">
<!-- @click="$jParams('newsDetails',{id:info.id,type:getType})" -->
<router-link id="news" v-for="(info,index) in bgData.info" :key="index" :to="{path:'/newsDetails',query:{id:info.id}}" target="_blank">
<div class="news-box">
<img :src="info.cover ? info.cover : 'moren'" />
<section>
<h3>{{info.title}}</h3>
<aside>
<span>来源:{{info.author}}</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span>发布时间:{{info.created_at}}</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span>浏览量:{{info.view}}</span>
</aside>
<p>{{info.content}}</p>
</section>
</div>
</router-link>
</template>
<template v-else>
<span>没有内容了呦</span>
</template>
<!-- 分页按钮 -->
<div class="page">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
:pager-count="5"
background
layout="prev, pager, next"
:total="totalCount"
></el-pagination>
</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
},
props: {},
data () {
return {
moren: require('../../../static/img/default.jpg'),
index_num: 0,
pageSize: 1, /** 每页的条数 */
currentPage: 1, /** 当前页数 */
totalCount: 1, /** 总页数 */
bgData: [],
getType: null,
cd: Number
}
},
computed: {},
watch: {},
methods: {
getData () {
let _this = this
this.$http({
method: 'get',
url: 'v1/article/list',
params: {
page: _this.currentPage,
type: _this.getType
}
}).then(res => {
if (res.data.data.code === 200) {
_this.bgData = res.data.data.data
_this.cd = _this.bgData.info.length
_this.totalCount = _this.bgData.allPage
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
},
handleSizeChange (val) {
this.pageSize = val
this.getPackData()
},
handleCurrentChange (val) {
this.currentPage = val
this.getData()
this.getPackData()
},
getPackData () { }
},
created () {
this.getType = this.$route.params.type
this.currentPage = Number(localStorage.getItem('pagination')) || 1
this.getType = this.getType || Number(localStorage.getItem('getType'))
this.handleCurrentChange(this.currentPage)
},
mounted () { },
beforeUpdate () {
localStorage.setItem('pagination', this.currentPage)
localStorage.setItem('getType', this.getType)
},
beforeDestroy () {
// localStorage.clear()
localStorage.setItem('pagination', this.currentPage)
localStorage.setItem('getType', this.getType)
},
destroyed () {
localStorage.setItem('pagination', 1)
localStorage.setItem('getType', this.getType)
}
}
</script>
<style lang='scss' scoped>
.wrapper {
min-width: 1280px;
box-sizing: border-box;
position: relative;
#box {
width: 1200px;
background-color: #ffffff;
margin: 40px auto 80px;
box-sizing: border-box;
padding: 21px 30px 100px 11px;
.news-box {
width: 1159px;
height: 255px;
padding: 14px 7px 40px 19px;
box-sizing: border-box;
border-bottom: 1px solid #e6e6e6;
margin-bottom: 26px;
img {
width: 290px;
height: 200px;
border-radius: 10px;
}
display: flex;
justify-content: space-between;
align-items: center;
section {
width: 813px;
height: 96%;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: flex-start;
h3 {
font-family: "MicrosoftYaHei";
font-size: 22px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
aside {
// width: 434px;
height: 17px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #999999;
}
p {
width: 813px;
height: 100px;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 36px;
letter-spacing: 0px;
color: #666666;
overflow: hidden;
-o-text-overflow: clip;
text-overflow: clip;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
word-wrap: break-word;
white-space: normal;
}
}
}
.page {
margin-top: 60px;
height: 36px;
display: flex;
justify-content: flex-end;
align-items: center;
/deep/ .el-pagination.is-background .el-pager li {
color: #333 !important;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #e60012;
color: #fff !important;
}
/deep/ .el-icon.el-icon-arrow-left::before {
content: "上一页";
font-family: "MicrosoftYaHei";
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #666;
}
/deep/ .el-pagination .btn-prev {
width: 80px;
}
/deep/ .el-pagination .btn-next {
width: 80px;
}
/deep/ .el-icon.el-icon-arrow-right::before {
content: "下一页";
font-family: "MicrosoftYaHei";
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #666;
}
}
}
}
</style>

201
src/views/middetail.vue Normal file
View File

@@ -0,0 +1,201 @@
<template>
<div>
<header-nav :index_num="index_num"></header-nav>
<div class="box">
<div class="box1">
<p class="title">项目申报书</p>
<a class="link">预览</a>|
<a class="link">下载</a>
</div>
<div class="box1">
<p class="title">项目实施方案</p>
<a class="link">预览</a>|
<a class="link">下载</a>
</div>
<div class="box1">
<p class="title">中期报告</p>
</div>
<div class="box1">
<p class="title">1.基本信息</p>
</div>
<div class="box1">
<p>
<span class="title">项目名称</span>
<span>世界婚博会</span>
</p>
</div>
<div class="box1">
<p>
<span class="title">机构名称</span>
<span>世界婚博会</span>
</p>
</div>
<div class="box1">
<p>
<span class="title">项目起止日期</span>
<span>世界婚博会</span>
</p>
</div>
<div class="box1">
<p>
<span class="title">项目执行团队人员构成及分工</span>
<span>世界婚博会</span>
</p>
</div>
<div class="box1">
<p class="article">
<span class="title">2.项目发展性状况</span>
<span>我国仍处于并将长期处于社会主义初级阶段是最大的国情和实际我们开展各项工作要一切从实际出发牢牢立足这个最大国情和实际不要超越阶段从能源来看我国富煤少油缺气的资源禀赋决定了煤炭在较长一个时期内作为我国主体能源的地位不会发生变化这就要求我们坚持从煤炭资源丰富的国情出发切实抓好煤炭清洁高效利用章建华说</span>
</p>
</div>
<div class="box1">
<p class="article">
<span class="title">3.1 项目目标</span>
<span>我国仍处于并将长期处于社会主义初级阶段是最大的国情和实际我们开展各项工作要一切从实际出发牢牢立足这个最大国情和实际不要超越阶段从能源来看我国富煤少油缺气的资源禀赋决定了煤炭在较长一个时期内作为我国主体能源的地位不会发生变化这就要求我们坚持从煤炭资源丰富的国情出发切实抓好煤炭清洁高效利用章建华说</span>
</p>
</div>
<div class="box1">
<p class="article">
<span class="title">3.2 项目活动</span>
<span >我国仍处于并将长期处于社会主义初级阶段是最大的国情和实际我们开展各项工作要一切从实际出发牢牢立足这个最大国情和实际不要超越阶段从能源来看我国富煤少油缺气的资源禀赋决定了煤炭在较长一个时期内作为我国主体能源的地位不会发生变化这就要求我们坚持从煤炭资源丰富的国情出发切实抓好煤炭清洁高效利用章建华说</span>
</p>
</div>
<div class="box1">
<p class="article">
<span class="title">3.3项目中期完成目标与活动对照表</span>
<span class="article">我国仍处于并将长期处于社会主义初级阶段是最大的国情和实际我们开展各项工作要一切从实际出发牢牢立足这个最大国情和实际不要超越阶段从能源来看我国富煤少油缺气的资源禀赋决定了煤炭在较长一个时期内作为我国主体能源的地位不会发生变化这就要求我们坚持从煤炭资源丰富的国情出发切实抓好煤炭清洁高效利用章建华说</span>
</p>
</div>
<div class="box1">
<p>
<span class="title">4项目取得的成效</span>
</p>
</div>
<div class="box1">
<p class="article">
<span class="title">4.1 项目活动</span>
<span>我国仍处于并将长期处于社会主义初级阶段是最大的国情和实际我们开展各项工作要一切从实际出发牢牢立足这个最大国情和实际不要超越阶段从能源来看我国富煤少油缺气的资源禀赋决定了煤炭在较长一个时期内作为我国主体能源的地位不会发生变化这就要求我们坚持从煤炭资源丰富的国情出发切实抓好煤炭清洁高效利用章建华说</span>
</p>
</div>
<div class="box1">
<p class="article">
<span class="title">4.2 项目产生的其他重要影响</span>
<span >我国仍处于并将长期处于社会主义初级阶段是最大的国情和实际我们开展各项工作要一切从实际出发牢牢立足这个最大国情和实际不要超越阶段从能源来看我国富煤少油缺气的资源禀赋决定了煤炭在较长一个时期内作为我国主体能源的地位不会发生变化这就要求我们坚持从煤炭资源丰富的国情出发切实抓好煤炭清洁高效利用章建华说</span>
</p>
</div>
<div class="box1">
<p class="article">
<span class="title">4.3 媒体报道</span>
<span >我国仍处于并将长期处于社会主义初级阶段是最大的国情和实际我们开展各项工作要一切从实际出发牢牢立足这个最大国情和实际不要超越阶段从能源来看我国富煤少油缺气的资源禀赋决定了煤炭在较长一个时期内作为我国主体能源的地位不会发生变化这就要求我们坚持从煤炭资源丰富的国情出发切实抓好煤炭清洁高效利用章建华说</span>
</p>
</div>
<div class="box1">
<p class="article">
<span class="title">5.对项目实施至今整体情况的总结</span>
<span>我国仍处于并将长期处于社会主义初级阶段是最大的国情和实际我们开展各项工作要一切从实际出发牢牢立足这个最大国情和实际不要超越阶段从能源来看我国富煤少油缺气的资源禀赋决定了煤炭在较长一个时期内作为我国主体能源的地位不会发生变化这就要求我们坚持从煤炭资源丰富的国情出发切实抓好煤炭清洁高效利用章建华说</span>
</p>
</div>
<div class="box1">
<p>
<span class="title">6.项目财务报告</span>
<a class="link">预览</a>|
<a class="link">下载</a>
</p>
</div>
<div class="box1">
<p>
<span class="title">项目调整申请表及批复意见表</span>
<a class="link">预览</a>|
<a class="link">下载</a>
</p>
</div>
<div class="box1">
<p>
<span class="title">活动类/培训类/会议类材料</span>
</p>
</div>
<div class="box1">
<p>
<span>xxx活动</span>
<a class="link">预览</a>|
<a class="link">下载</a>
</p>
</div>
<div class="box1">
<p>
<span>xxx活动</span>
<a class="link">预览</a>|
<a class="link">下载</a>
</p>
</div>
<div class="box1">
<p>
<span>xxx活动</span>
<a class="link">预览</a>|
<a class="link">下载</a>
</p>
</div>
<div class="box1">
<p>
<span class="title">财务中期预算表</span>
<a class="link">预览</a>|
<a class="link">下载</a>
</p>
</div>
<div class="box1">
<p>
<span class="title">其他类 </span>
<a class="link">预览</a>|
<a class="link">下载</a>
</p>
</div>
<div class="box1">
<p>
<span class="title">中期PPT文件 </span>
<a class="link">预览</a>|
<a class="link">下载</a>
</p>
</div>
</div>
</div>
</template>
<script>
import HeaderNav from "../components/HeaderNav";
export default {
name: "middetail",
components: {
HeaderNav
},
data() {
return {
index_num: 0
};
}
};
</script>
<style lang='scss' scoped>
.box {
margin-left: 28px;
margin-top: 16px;
.box1{
display: flex;
margin-top:27px;
}
.title {
font-weight: bold;
margin-right: 11px;
}
.link {
color: #5f73e1;
}
.article{
width: 1000px;
line-height: 30px;
}
}
</style>

View File

@@ -0,0 +1,758 @@
<template>
<div class="w" :style="{ height: num + 'px' }">
<div class="img-box" v-if="is_value">
<img class="img" :src="imgUrl.tg" v-if="bgData.examine == 1" />
<img class="img" :src="imgUrl.btg" v-if="bgData.examine == 2" />
<img class="img" :src="imgUrl.dsh" v-if="bgData.examine == 0" />
</div>
<form
v-if="is_value"
action
method
enctype="multipart/form-data"
onsubmit="return false"
>
<div class="items" v-if="!zhuangtai">
<h3>基本信息</h3>
<!-- start -->
<div class="item">
<label for>社会组织名称:</label>
<input class="input0" type="text" :value="name" disabled />
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>社会组织类型:</label>
<select class="input1" name="type" disabled>
<option :value="bgData.type">{{ bgData.type }}</option>
</select>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>流动党员数量:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.flow_party_person"
/>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>已有党员数量:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.party_person"
/>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>从业人员总数:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.work_person"
/>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>党组织名称:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.party_name"
/>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>是否建立党组织:</label>
<label class="label" for>
<input
type="radio"
name="is_reg_party"
v-model="bgData.is_reg_party"
value="1"
:disabled="bgData.examine === 0"
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input
type="radio"
name="is_reg_party"
v-model="bgData.is_reg_party"
value="2"
:disabled="bgData.examine === 0"
/>&nbsp;&nbsp;
</label>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>是否建立功能型党组织:</label>
<label class="label" for>
<input
type="radio"
:disabled="bgData.examine === 0"
value="1"
name="is_reg_fun_party"
v-model="bgData.is_reg_fun_party"
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input
type="radio"
:disabled="bgData.examine === 0"
name="is_reg_fun_party"
v-model="bgData.is_reg_fun_party"
value="2"
/>
&nbsp;&nbsp;
</label>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>登记管理机关:</label>
<input
class="input2"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.reg_manage"
/>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>业务主管单位:</label>
<input
class="input2"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.supervisor"
/>
</div>
<!-- end -->
<!-- start -->
<div class="item">
<label for>隶属的上一级党组织名称:</label>
<input
class="input2"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.party_pname"
/>
</div>
<!-- end -->
<div class="btn" @click="anNui()">下一页</div>
</div>
<div class="items" v-if="zhuangtai">
<div>
<h3>党组织书记情况</h3>
<!-- start -->
<div class="it">
<label for>姓名:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.sec_name"
/>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>性别:</label>
<label class="label" for>
<input
type="radio"
name="sec_sex"
v-model="bgData.sec_sex"
value="1"
:disabled="bgData.examine === 0"
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input
type="radio"
name="sec_sex"
:disabled="bgData.examine === 0"
v-model="bgData.sec_sex"
value="0"
/>
&nbsp;&nbsp;
</label>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>年龄:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.sec_age"
/>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>行政职务:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.sec_job"
/>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>近三年参加上级党组织培训次数:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.sec_study"
/>
</div>
<!-- end -->
</div>
<div style="margin-top:60px;">
<h3>党组织信息</h3>
<!-- start -->
<div class="it">
<label for>近三年发展党员数:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.near_party_person"
/>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>是否建立群团组织:</label>
<label class="label" for>
<input
type="radio"
name="is_reg_group"
v-model="bgData.is_reg_group"
:disabled="bgData.examine === 0"
value="1"
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input
type="radio"
name="is_reg_group"
v-model="bgData.is_reg_group"
:disabled="bgData.examine === 0"
value="2"
/>
&nbsp;&nbsp;
</label>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>专职党务工作者人数:</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.major_party_person"
/>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>是否选派党建工作指导员:</label>
<label class="label" for>
<input
type="radio"
name="is_choice_instructor"
:disabled="bgData.examine === 0"
v-model="bgData.is_choice_instructor"
value="1"
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input
type="radio"
name="is_choice_instructor"
v-model="bgData.is_choice_instructor"
:disabled="bgData.examine === 0"
value="2"
/>
&nbsp;&nbsp;
</label>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>党组织年度活动经费(万元):</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.year_money"
/>
</div>
<!-- end -->
<!-- start -->
<div class="it">
<label for>党组织年度活动场所面积(平米):</label>
<input
class="input0"
type="text"
:disabled="bgData.examine === 0"
v-model="bgData.active_year"
/>
</div>
<!-- end -->
<!-- start -->
<div id="btn">
<button type="button" v-if="bgData.examine !== 0" @click="anNui()" style="cursor:pointer">
上一页
</button>
<button type="submit" v-if="bgData.examine !== 0" @click="submit()" style="cursor:pointer">
重新提交
</button>
</div>
<!-- end -->
</div>
</div>
</form>
<div class="img-g" v-if="!is_value" @click="$jump('applyFor')">
<!-- <div class="img-bx">
<img :src="imgUrl.wjx" alt />
<span>申请成为党组织</span>
</div>-->
<img :src="imgUrl.apple" alt />
</div>
</div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {
imgUrl: {
tg: require('../../../static/img/tg.png'),
btg: require('../../../static/img/btg.png'),
dsh: require('../../../static/img/dsh.png'),
xa: require('../../../static/img/xa.png'),
wjx: require('../../../static/img/wjx.png'),
apple: require('../../../static/img/apple.png')
},
state: 0,
zhuangtai: false,
num: 1050,
bgData: [],
is_value: Boolean,
name: '',
typeVal: []
}
},
computed: {},
watch: {
num (newValue, oldValue) {
this.$emit('listenToChildExen', this.num)
}
},
methods: {
submit () {
for (var key of Object.keys(this.bgData)) {
if (this.bgData[key] === '') {
alert('以上所有内容都不可为空呦!')
return
}
}
let _this = this
for (var list in _this.typeVal) {
if (_this.typeVal[list] === _this.bgData.type) {
_this.bgData.type = list
}
}
this.$http({
method: 'post',
url: 'v1/user/resubmit',
data: {
object: _this.bgData
}
})
.then(res => {
if (res.data.code === 200) {
alert(res.data.message)
_this.$router.go(1)
} else {
alert(res.data.message)
}
})
.catch(err => {
console.log(err)
})
},
getData () {
let sid = sessionStorage.id
let _this = this
this.$http({
method: 'get',
url: 'v1/user/get-info',
params: {
sid: sid
}
})
.then(res => {
if (res.data.code === 200) {
if (res.data.data === null) {
_this.is_value = false
} else {
_this.is_value = true
}
_this.bgData = res.data.data
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
},
getType () {
let _this = this
this.$http({
method: 'post',
url: 'v1/user/get-society-type',
data: {}
})
.then(res => {
_this.typeVal = res.data.data
})
.catch(err => {
console.log(err)
})
},
anNui () {
if (this.zhuangtai) {
this.num = 1050
this.zhuangtai = !this.zhuangtai
} else {
this.num = 1200
this.zhuangtai = !this.zhuangtai
}
},
sendMsgToParent () {
this.$emit('listenToChildExen', this.num)
}
},
created () {
this.name = sessionStorage.name
this.getData()
this.getType()
},
mounted () {
this.sendMsgToParent()
}
}
</script>
<style lang="scss" scoped>
.w {
width: 934px;
background-color: #ffffff;
padding: 35px 30px 0px;
box-sizing: border-box;
position: relative;
.img-g {
width: 100%;
/*
display: flex;
justify-content: flex-end;
*/
cursor: pointer;
text-align: center;
/*
.img-bx {
width: 131px;
height: 27px;
background-image: linear-gradient(35deg, #f82747 0%, #fe5b2c 100%);
border-radius: 25px;
text-align: center;
line-height: 27px;
position: relative;
img {
width: 15px;
height: 15px;
position: absolute;
left: -5%;
top: 24%;
}
span {
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: bold;
font-stretch: normal;
letter-spacing: 0px;
color: #fbfffb;
text-shadow: 2px 4px 7px rgba(175, 14, 39, 0.83);
}
}
*/
}
.items {
width: 100%;
label input[type='radio'] {
width: 17px;
height: 17px;
appearance: none;
-webkit-appearance: none;
outline: none;
margin: 0;
cursor: pointer;
}
label input[type='radio']:after {
width: 17px;
height: 17px;
display: block;
content: '';
background: url('../../../static/img/wxz.png') no-repeat;
background-size: 100% 100%;
}
label input[type='radio']:checked:after {
background: url('../../../static/img/xz.png') no-repeat;
}
h3 {
width: 874px;
height: 37px;
padding-left: 29px;
box-sizing: border-box;
font-family: 'MicrosoftYaHei';
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
border-bottom: 1px solid #dedede;
margin-bottom: 60px;
}
.btn {
width: 230px;
height: 63px;
background-color: #e60012;
border-radius: 5px;
margin: 60px auto 0px;
text-align: center;
line-height: 63px;
font-family: 'MicrosoftYaHei';
font-size: 26px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
cursor: pointer;
}
.item {
width: 100%;
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 24px;
.label {
display: inline-block;
width: 386px;
height: 43px;
margin-left: 30px;
text-align: left;
}
label {
width: 197px;
height: 43px;
font-family: 'MicrosoftYaHei';
font-size: 16px;
font-weight: normal;
font-stretch: normal;
line-height: 43px;
text-align: right;
letter-spacing: 0px;
color: #333333;
}
.input0 {
margin-left: 30px;
width: 386px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
padding-left: 30px;
box-sizing: border-box;
outline: none;
}
.input1 {
margin-left: 30px;
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url('../../../static/img/xa.png') 360px center no-repeat;
background-size: 14px 8px;
width: 386px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
padding-left: 30px;
box-sizing: border-box;
outline: none;
}
.input2 {
margin-left: 30px;
width: 647px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
padding-left: 30px;
box-sizing: border-box;
outline: none;
}
}
#btn {
margin: 60px auto 0px;
display: flex;
justify-content: space-between;
align-items: center;
width: 500px;
button[type='submit'] {
width: 230px;
height: 63px;
background-color: #e60012;
border-radius: 5px;
outline: none;
border: 0;
font-family: 'MicrosoftYaHei';
font-size: 26px;
font-weight: normal;
font-stretch: normal;
line-height: 63px;
letter-spacing: 0px;
color: #ffffff;
}
button[type='button'] {
width: 230px;
height: 63px;
background-color: #ff9800;
border-radius: 5px;
outline: none;
border: 0;
font-family: 'MicrosoftYaHei';
font-size: 26px;
font-weight: normal;
font-stretch: normal;
line-height: 63px;
letter-spacing: 0px;
color: #ffffff;
}
}
.it {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 24px;
&:last-child {
margin-bottom: 0;
}
.label {
display: inline-block;
width: 386px;
height: 43px;
margin-left: 30px;
text-align: left;
}
label {
width: 229px;
height: 43px;
font-family: 'MicrosoftYaHei';
font-size: 16px;
font-weight: normal;
font-stretch: normal;
line-height: 43px;
text-align: right;
letter-spacing: 0px;
color: #333333;
}
.input0 {
margin-left: 30px;
width: 386px;
height: 43px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
padding-left: 30px;
box-sizing: border-box;
outline: none;
}
}
}
.img-box {
width: 158px;
height: 121px;
opacity: 0.5;
position: absolute;
right: 0%;
top: 0%;
img {
width: 158px;
height: 121px;
}
}
}
</style>

View File

@@ -0,0 +1,277 @@
<template>
<div class="wr">
<template v-for="(item, index) in collect">
<div class="page" :key="index">
<time>
<span class="iconfont icon-shizhong"></span>
{{ item.date }}
</time>
<div id="box">
<template v-for="(list, index) in item.data">
<div class="box" :key="index" @click="tonewsdetail(list.article_id)">
<span class="iconfont icon-changyongtubiao-mianxing-"></span>
<aside>
<span class="span1">{{list.title}}</span>
<span class="span2">来源板块{{list.type}}</span>
</aside>
<p>
{{list.content}}
</p>
</div>
</template>
</div>
</div>
</template>
<!-- 分页按钮 -->
<div class="pages">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
background
layout="prev, pager, next"
:total="pageall"
></el-pagination>
</div>
<!-- end -->
</div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {
pageSize: 1,
currentPage: 1,
totalCount: 1,
mData: [
{ time: '2019-10-14', shujv: [1, 2, 3, 4] },
{ time: '2019-10-14', shujv: [1, 2, 3, 4, 5] }
],
num: 1019,
collect:[],
pageall:1
}
},
computed: {},
watch: {},
methods: {
tonewsdetail(e){
console.log(e)
let routeUrl = this.$router.resolve({
path: '/newsDetails',
query: { id: e }
})
window.open(routeUrl.href, '_blank')
},
getData (e) {
let id = sessionStorage.id
let _this = this
this.$http({
method: 'post',
url: 'v1/user/collection',
data: {
id: id,
page:e?e:1
}
})
.then(res => {
if (res.data.data.code === 200) {
console.log(res)
this.collect=res.data.data.data.info
this.pageall=res.data.data.data.allPage
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
},
sendMsgToParent () {
this.$emit('listenToChildExen', this.num)
},
handleSizeChange (val) {
this.pageNum = val
this.getPackData()
},
handleCurrentChange (val) {
this.currentPage = val
this.getPackData()
},
getPackData () {}
},
created () {
this.currentPage = Number(localStorage.getItem('pagination')) || 1
this.handleCurrentChange(this.currentPage)
this.getData()
},
mounted () {
this.sendMsgToParent()
}
}
</script>
<style lang="scss" scoped>
.wr {
width: 934px;
height:1109px;
background-color: #ffffff;
box-sizing: border-box;
padding-top: 35px;
.pages {
margin-top: -71px;
margin-right: 24px;
height: 36px;
display: flex;
justify-content: flex-end;
align-items: center;
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #e60012;
}
/deep/ .el-icon.el-icon-arrow-left::before {
content: '上一页';
font-family: 'MicrosoftYaHei';
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #646464;
}
/deep/ .el-pagination .btn-prev {
width: 80px;
}
/deep/ .el-pagination .btn-next {
width: 80px;
}
/deep/ .el-icon.el-icon-arrow-right::before {
content: '下一页';
font-family: 'MicrosoftYaHei';
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #646464;
}
}
.page {
margin-bottom: 60px;
max-height: 364px;
box-sizing: border-box;
#box {
overflow-y: scroll;
max-height: 375px;
padding-bottom: 40px;
box-sizing: border-box;
&::-webkit-scrollbar {
width: 0px;
}
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.box {
width: 875px;
height: 135px;
box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.15);
border-radius: 5px;
margin-top: 40px;
padding: 31px 23px 32px 28px;
box-sizing: border-box;
position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
&:nth-of-type(1) {
margin-top: 30px;
}
.iconfont {
font-size: 23px;
color: #fec300;
position: absolute;
right: 23px;
top: 23px;
}
aside {
width: 689px;
height: 23px;
display: flex;
justify-content: space-between;
align-items: center;
.span1 {
display: inline-block;
width: 60%;
font-family: 'MicrosoftYaHei';
font-size: 22px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #333333;
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
}
.span2 {
font-family: 'MicrosoftYaHei';
font-size: 16px;
font-weight: normal;
letter-spacing: 1px;
color: #999999;
}
}
p {
height: 20px;
line-height: 20px;
width: 100%;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #666666;
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
}
}
time {
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
display: flex;
align-items: center;
margin-left: 30px;
.iconfont {
font-size: 24px;
margin-right: 24px;
}
}
}
}
</style>

View File

@@ -0,0 +1,279 @@
<template>
<div>
<div class="wr">
<template v-for="(item, index) in list">
<div class="page" :key="index">
<time>
<span class="iconfont icon-shizhong"></span>
{{item.date}}
</time>
<div id="box">
<template v-for="(list, index) in item.data">
<div class="box" :key="index">
<!-- <span class="iconfont icon-changyongtubiao-mianxing-"></span> -->
<aside>
<span class="span1">活动策划是提高市场占有率的有效行为</span>
<!-- <span class="span2">来源板块{{list.society_name}}</span> -->
</aside>
<p>
{{list.content}}
</p>
</div>
</template>
</div>
</div>
</template>
<!-- 分页按钮 -->
<!-- end -->
</div>
<div class="pages">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
background
layout="prev, pager, next"
:total="pageall"
></el-pagination>
</div>
</div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {
pageSize: 1,
currentPage: 1,
totalCount: 1,
pageall:1,
mData: [
{ time: '2019-10-14', shujv: [1, 2, 3, 4] },
{ time: '2019-10-14', shujv: [1, 2, 3, 4, 5] }
],
num: 1019,
list:[]
}
},
computed: {},
watch: {},
methods: {
getData (e) {
let id = sessionStorage.id
let _this = this
this.$http({
method: 'post',
url: 'v1/user/get-contact-list',
data: {
page:e?e:1,
sid:sessionStorage.getItem("party_id")
}
})
.then(res => {
if (res.data.data.code === 200) {
console.log(res)
this.list=res.data.data.data.info
console.log(this.list)
this.pageall=res.data.data.data.allPage
} else {
_this.$message.error('请求数据有问题!')
}
})
.catch(err => {
console.log(err)
})
},
sendMsgToParent () {
this.$emit('listenToChildExen', this.num)
},
handleSizeChange (val) {
this.pageNum = val
this.getPackData()
},
handleCurrentChange (val) {
this.currentPage = val
// this.getPackData()
this.getData(val)
},
getPackData () {}
},
created () {
this.currentPage = Number(localStorage.getItem('pagination')) || 1
this.handleCurrentChange(this.currentPage)
this.getData()
},
mounted () {
this.sendMsgToParent()
}
}
</script>
<style lang="scss" scoped>
.pages {
margin-top: 34px;
margin-right: 24px;
height: 36px;
display: flex;
justify-content: flex-end;
align-items: center;
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #e60012;
}
/deep/ .el-icon.el-icon-arrow-left::before {
content: '上一页';
font-family: 'MicrosoftYaHei';
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #646464;
}
/deep/ .el-pagination .btn-prev {
width: 80px;
}
/deep/ .el-pagination .btn-next {
width: 80px;
}
/deep/ .el-icon.el-icon-arrow-right::before {
content: '下一页';
font-family: 'MicrosoftYaHei';
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #646464;
}
}
.wr {
width: 934px;
height: 951px;
background-color: #ffffff;
box-sizing: border-box;
padding-top: 35px;
overflow-y: auto;
.page {
margin-bottom: 60px;
height: 364px;
box-sizing: border-box;
#box {
overflow-y: scroll;
height: 375px;
padding-bottom: 40px;
box-sizing: border-box;
&::-webkit-scrollbar {
width: 0px;
}
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.box {
width: 875px;
height: 135px;
box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.15);
border-radius: 5px;
margin-top: 40px;
padding: 31px 23px 32px 28px;
box-sizing: border-box;
position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
&:nth-of-type(1) {
margin-top: 30px;
}
.iconfont {
font-size: 23px;
color: #fec300;
position: absolute;
right: 23px;
top: 23px;
}
aside {
width: 689px;
height: 23px;
display: flex;
justify-content: space-between;
align-items: center;
.span1 {
display: inline-block;
width: 60%;
font-family: 'MicrosoftYaHei';
font-size: 22px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #333333;
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
}
.span2 {
font-family: 'MicrosoftYaHei';
font-size: 16px;
font-weight: normal;
letter-spacing: 1px;
color: #999999;
}
}
p {
height: 20px;
line-height: 20px;
width: 100%;
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #666666;
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
}
}
time {
font-family: 'MicrosoftYaHei';
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
display: flex;
align-items: center;
margin-left: 30px;
.iconfont {
font-size: 24px;
margin-right: 24px;
}
}
}
}
</style>

View File

@@ -0,0 +1,867 @@
<template>
<div class="wra">
<div id="box">
<div class="bottom">
<!-- 公告 -->
<div class="top">
<img :src="imgUrl.xlb" alt />
<!-- {{bgValue.announcement[0].name}} -->
<div v-if="bgValue.announcement[0].name.length">
<span>
{{
bgValue.announcement[0].name + bgValue.announcement[0].pro_content
}}
</span>
<time>{{ bgValue.announcement[0].protime }}</time>
</div>
<div v-else>
<span>暂无项目申报内容</span>
<time>
{{
new Date().getFullYear() +
"-" +
(new Date().getMonth() + 1) +
"-" +
new Date().getDate()
}}
</time>
</div>
</div>
<!-- 表格 -->
<div class="table">
<div class="top-p">项目概览</div>
<div class="top-b">
<div>
<section>
<span>初筛通过</span>
<span>{{ bgValue.overview_one }}</span>
</section>
</div>
<div>
<section>
<span>立项通过</span>
<span>{{ bgValue.overview_two }}</span>
</section>
</div>
<div>
<section>
<span>执行中</span>
<span>{{ bgValue.overview_three }}</span>
</section>
</div>
<div>
<section>
<span>已完结</span>
<span>{{ bgValue.overview_four }}</span>
</section>
</div>
</div>
</div>
<!-- 下拉框 -->
<div class="select">
<div >
<el-date-picker
v-model="value_date"
type="daterange"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="bolting()"
></el-date-picker>
</div>
<el-select v-model="typeval" placeholder="请选择项目类型" @change="prolist" style="text-align:center">
<el-option
v-for="(i,j) in bgValue.type"
:key="j"
:label="bgValue.type[j]"
:value="j"
></el-option>
</el-select>
<!-- <select class="two" name="type" v-model="type_value" @change="bolting()">
<option>项目类型</option>
<template v-for="(type, index) in bgValue.type">
<option :key="index" :value="index">{{ type }}</option>
</template>
</select> -->
<el-select v-model="statusval" placeholder="请选择项目状态" @change="prolist">
<el-option
v-for="(i,j) in bgValue.status"
:key="j"
:label="bgValue.status[j]"
:value="j"
></el-option>
</el-select>
<!-- <select class="two" name="type" v-model="status_value" @change="bolting()">
<option>项目状态</option>
<template v-for="(status, index) in bgValue.status">
<option :key="index" :value="index">{{ status }}</option>
</template>
</select> -->
<el-select v-model="areaval" placeholder="请选择落地区域" @change="prolist">
<el-option
v-for="(i,j) in bgValue.area"
:key="j"
:label="bgValue.area[j]"
:value="j"
></el-option>
</el-select>
<!-- <select class="three" name="area" v-model="area_value" @change="bolting()">
<option>落地区域</option>
<template v-for="(area, index) in bgValue.area">
<option :key="index" :value="index">{{ area }}</option>
</template>
</select> -->
</div>
<div class="reporting">
<span @click="$jump('application')" style="cursor:pointer">项目申报</span>
</div>
<!-- container -->
<div class="con">
<!-- 导航 -->
<div class="top-t">
<h3
@click="btn(index)"
v-for="(item, index) in text"
:key="index"
:class="sub == index ? 'style' : ''"
>{{ item }}</h3>
</div>
<!-- 主题内容 -->
<div class="cc">
<template v-if="cd > 0">
<div
class="list"
v-for="(item, index) in bgData.info"
:key="index"
@click="
item.tid == 1000
? $jP('application', { id: item.id })
: $jParams('schedule', { id: item.id })
"
>
<div class="div">
<div class="bb">
<h3>{{ item.name }}</h3>
<h5>项目</h5>
</div>
<time>{{ item.protime }}</time>
</div>
<dl>
<dt>
<img :src="imgUrl.tg" v-if="item.tid == 5" />
<img :src="imgUrl.btg" v-else-if="item.tid == 4 || item.tid == 9" />
<img :src="imgUrl.zxz" v-else-if="item.tid == 10" />
<img :src="imgUrl.wtj" v-else-if="item.tid == 1000" />
<img
:src="imgUrl.yjx"
v-else-if="item.tid == 110"
style="width:119px;height:95px"
/>
<img :src="imgUrl.shz" v-else />
</dt>
<dd >
<span class="iconfont icon-zuzhijiegou"></span>
<span>{{ item.party_id }}</span>
</dd>
<dd>
<span class="iconfont icon-weizhi"></span>
<span>{{ item.postaladdress }}</span>
</dd>
<dd>
<div class="block-ky">
<span class="iconfont icon-shenhetongguo1"></span>
<b>当前申报阶段</b>
<el-tooltip class="item" effect="dark" :content="item.status " placement="top">
<p class="status1">{{ item.status }}</p>
</el-tooltip>
</div>
<!-- <span class="iconfont icon-shenhetongguo1"></span>
<span>当前申报阶段{{ item.status }}</span> -->
</dd>
</dl>
</div>
</template>
<template v-else>
<span>您搜索的内容暂无</span>
</template>
</div>
</div>
<!-- 分页按钮 -->
<div class="page">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
:pager-count="7"
background
layout="prev, pager, next"
:total="totalCount"
></el-pagination>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
components: {},
props: {},
data() {
return {
typeval:'',
areaval:'',
statusval:"",
num: 1240,
pageSize: 1,
currentPage: 1,
totalCount: 1,
imgUrl: {
xlb: require("../../../static/img/xlb.png"),
tg: require("../../../static/img/tg.png"),
btg: require("../../../static/img/btg.png"),
shz: require("../../../static/img/shz.png"),
zxz: require("../../../static/img/zxz.png"),
wtj: require("../../../static/img/wtj.png"),
yjx: require("../../../static/img/yjx.png")
},
// text: ['全部', '项目初筛', '项目立项'],
text: ["全部"],
sub: 0,
bgData: [],
bgValue: [],
type_value: "项目类型",
status_value: "项目状态",
area_value: "落地区域",
value_date: [],
start_time: "",
end_time: "",
cd: Number
};
},
computed: {},
watch: {},
methods: {
/** 筛选函数 */
prolist(time0, time1, type, area, status, currentPage) {
this.$http({
method: "get",
url: "v1/project/list",
params: {
start_time: this.value_date[0],
end_time: this.value_date[1],
type: this.typeval,
area: this.areaval,
status: this.statusval,
page: currentPage ? currentPage : 0,
num: 6
}
})
.then(res => {
if (res.data.code === 200) {
this.bgData = res.data.data.data;
this.totalCount = this.bgData.allPage;
this.cd = this.bgData.info.length;
} else {
this.$message.error("请求数据有问题!");
}
})
.catch(err => {
console.log(err);
});
},
bolting() {
this.start_time = this.value_date[0];
this.end_time = this.value_date[1];
this.getDataTwo(
this.start_time,
this.end_time,
this.type_value,
this.status_value,
this.area_value
);
},
/** 获取项目列表 */
getDataTwo(
start_time = this.start_time,
end_time = this.end_time,
type = this.type_value,
status = this.status_value,
area = this.area_value
) {
if (type === "项目类型") {
this.type_value = "";
type = "";
}
if (status === "项目状态") {
this.status_value = "";
status = "";
}
if (area === "落地区域") {
this.area_value = "";
area = "";
}
let _this = this;
this.$http({
method: "get",
url: "v1/project/list",
params: {
start_time: start_time,
end_time: end_time,
type: type,
area: area,
status: status,
page: _this.currentPage,
num: 4
}
})
.then(res => {
if (res.data.code === 200) {
_this.bgData = res.data.data.data;
_this.totalCount = _this.bgData.allPage;
_this.cd = _this.bgData.info.length;
} else {
_this.$message.error("请求数据有问题!");
}
})
.catch(err => {
console.log(err);
});
if (this.type_value === "") {
this.type_value = "项目类型";
}
if (this.status_value === "") {
this.status_value = "项目状态";
}
if (this.area_value === "") {
this.area_value = "落地区域";
}
},
/** 获取下拉框数据 */
getDataOne() {
let _this = this;
this.$http({
method: "get",
url: "v1/project/get-info",
data: {}
})
.then(res => {
if (res.data.code === 200) {
console.log(res)
_this.bgValue = res.data.data;
// console.log(_this.bgValue)
delete _this.bgValue.area[""];
} else {
_this.$message.error("请求数据有问题!");
}
})
.catch(err => {
console.log(err);
});
},
btn(index) {
let s = this.sub;
s = index;
this.sub = s;
},
sendMsgToParent() {
this.$emit("listenToChildExen", this.num);
},
handleSizeChange(val) {
this.pageSize = val;
this.getPackData();
},
handleCurrentChange(val) {
this.currentPage = val;
this.getDataTwo();
this.getPackData();
},
getPackData() {}
},
created() {
this.currentPage = Number(localStorage.getItem("page")) || 1;
this.handleCurrentChange(this.currentPage);
this.getDataOne();
},
mounted() {
this.sendMsgToParent();
},
beforeUpdate() {
localStorage.setItem("page", this.currentPage);
},
beforeDestroy() {
localStorage.setItem("page", 1);
},
destroyed() {
localStorage.removeItem("page");
}
};
</script>
<style lang="scss" scoped>
.wra /deep/ .el-input--suffix /deep/ .el-input__inner{
text-align: center;
}
.block-ky{
display: flex;
font-size: 14px;
color: #666666;
.status1{
width: 100px;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
}
.wra {
width: 934px;
height: 1240px;
background-color: #ffffff;
padding: 35px 30px 100px;
box-sizing: border-box;
#box {
margin: 0 auto;
width: 100%;
box-sizing: border-box;
.bottom {
padding: 0px 30px 0px;
box-sizing: border-box;
width: 100%;
height: auto;
background-color: #ffffff;
.page {
margin-top: 60px;
height: 36px;
display: flex;
justify-content: flex-end;
align-items: center;
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #e60012;
}
/deep/ .el-icon.el-icon-arrow-left::before {
content: "上一页";
font-family: "MicrosoftYaHei";
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #646464;
}
/deep/ .el-pagination .btn-prev {
width: 80px;
}
/deep/ .el-pagination .btn-next {
width: 80px;
}
/deep/ .el-icon.el-icon-arrow-right::before {
content: "下一页";
font-family: "MicrosoftYaHei";
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #646464;
}
}
.con {
width: 100%;
height: auto;
.cc {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
.list {
margin-bottom: 60px;
width: 367px;
height: 184px;
background-color: #ffffff;
box-shadow: 0px 19px 21px 3px rgba(145, 142, 142, 0.1);
border-radius: 10px;
padding: 19px 29px 0px 16px;
box-sizing: border-box;
dl {
width: 100%;
height: 97px;
margin-top: 25px;
position: relative;
dd {
margin-bottom: 22px;
.iconfont {
font-size: 17px;
color: #ccc;
margin-right: 16px;
}
span {
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
}
}
dt {
img {
position: absolute;
right: -8.5%;
bottom: -26%;
width: 119px;
height: 95px;
}
}
}
.div {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
time {
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #999999;
}
.bb {
display: flex;
justify-content: center;
align-items: center;
h5 {
margin-left: 6px;
height: 18px;
color: #f6ad35;
text-align: center;
line-height: 18px;
border: 1px solid #f6ad35;
border-radius: 4px;
font-size: 12px;
}
h3 {
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
}
}
}
}
.top-t {
width: 100%;
height: 38px;
padding-left: 12px;
box-sizing: border-box;
display: flex;
justify-content: flex-start;
align-items: flex-start;
border-bottom: 1px solid #ccc;
margin-bottom: 60px;
h3 {
text-align: center;
margin-right: 78px;
width: 90px;
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333;
}
.style {
color: #e60012;
position: relative;
&::after {
content: "";
width: 91px;
height: 2px;
background-image: linear-gradient(#e60012, #e60012),
linear-gradient(#ff7f7f, #ff7f7f);
background-blend-mode: normal, normal;
position: absolute;
left: 0%;
bottom: -94%;
}
}
}
}
.select {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 50px;
margin-bottom: 50px;
.block {
/deep/.el-range-editor.el-input__inner {
width: 325px;
background: url("../../../static/img/xa.png") 90% center no-repeat;
background-color: #f9f8f8;
}
/deep/.el-date-editor .el-range-input {
background-color: #f9f8f8;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 33px;
letter-spacing: 0px;
color: #666666;
}
/deep/.el-input__inner {
border: 1px solid #c7c7c7;
}
/deep/.el-date-editor .el-range-separator {
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 33px;
letter-spacing: 0px;
color: #666666;
}
/deep/ .el-input__icon {
width: 0px;
}
}
.one {
// padding-left: 30px;
box-sizing: border-box;
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../../static/img/xa.png") 90% center no-repeat;
background-size: 14px 8px;
// width: 325px;
padding: 0px 30px;
height: 38px;
background-color: #f9f8f8;
border-radius: 4px;
border: solid 1px #c7c7c7;
outline: none;
font-size: 18px;
color: #666 !important;
}
.two {
// padding-left: 30px;
// padding-right: 48px;
box-sizing: border-box;
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../../static/img/xa.png") 90% center no-repeat;
background-size: 14px 8px;
// width: 134px;
padding: 0px 30px;
height: 38px;
background-color: #f9f8f8;
border-radius: 4px;
border: solid 1px #c7c7c7;
outline: none;
font-size: 18px;
color: #666 !important;
}
.three {
// padding-left: 30px;
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../../static/img/xa.png") 90% center no-repeat;
background-size: 14px 8px;
// width: 134px;
padding: 0px 32px 0 30px;
box-sizing: border-box;
height: 38px;
background-color: #f9f8f8;
border-radius: 4px;
border: solid 1px #c7c7c7;
outline: none;
font-size: 18px;
color: #666 !important;
}
}
.reporting {
width: 100%;
text-align: right;
span {
display: inline-block;
text-align: center;
line-height: 32px;
width: 96px;
height: 32px;
background-image: linear-gradient(
69deg,
#cc263f 0%,
#f42b47 100%,
#ed162d 100%,
#e60012 100%
),
linear-gradient(#e60012, #e60012);
background-blend-mode: normal, normal;
border-radius: 4px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
}
}
.table {
width: 100%;
height: 181px;
border: solid 1px #dadada;
background-color: #f6f6f6;
.top-b {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
div {
width: 202px;
height: 139px;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
section {
width: 72px;
height: 67px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
span:first-child {
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
}
span:last-child {
font-family: "MicrosoftYaHei";
font-size: 24px;
font-weight: bold;
font-stretch: normal;
letter-spacing: 0px;
color: #e60012;
}
}
}
}
.top-p {
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
width: 100%;
height: 40px;
background-color: #f6f6f6;
text-align: center;
line-height: 40px;
border: 1px solid #dadada;
}
}
}
.top {
width: 100%;
height: 40px;
margin: 0px 0 30px;
display: flex;
justify-content: space-between;
align-items: center;
img {
width: 33px;
height: 27px;
}
div {
width: 750px;
height: 21px;
display: flex;
justify-content: space-between;
align-items: center;
span {
font-family: "MicrosoftYaHei";
font-size: 18px;
width: 538px;
line-height: 28px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
}
time {
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
letter-spacing: 0px;
color: #999999;
}
}
}
}
}
</style>

View File

@@ -0,0 +1,144 @@
<template>
<div class="wrap">
<form action method onsubmit="return false" enctype="multipart/form-data">
<div class="box">
<label for>请输入原密码:</label>
<input class="input" type="password" v-model="password_old" />
</div>
<div class="box">
<label for>请输入新密码:</label>
<input class="input" type="password" v-model="password_new" />
</div>
<div class="box">
<label for>请再次输入新密码:</label>
<input class="input" type="password" v-model="password_re" />
</div>
<div class="btn" @click="oBtn()">
<input type="submit" value="保存" style="cursor:pointer"/>
</div>
</form>
</div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {
num: 654,
password_old: '',
password_new: '',
password_re: '',
id: null
}
},
computed: {},
watch: {},
methods: {
oBtn () {
if (this.password_new !== this.password_re) {
alert('新密码不相符!')
return
}
if (this.password_old === '' || this.password_new === '' || this.password_re === '') {
alert('不可为空!')
return
}
let _this = this
this.$http({
method: 'post',
url: 'v1/login/update-pwd',
data: {
id: _this.id,
password_old: _this.password_old,
password_new: _this.password_new,
password_re: _this.password_re
}
}).then(res => {
alert(res.data.data.msg)
_this.$router.push({
name: 'login'
})
})
.catch(err => {
console.log(err)
})
},
sendMsgToParent () {
this.$emit('listenToChildExen', this.num)
}
},
created () {
this.id = sessionStorage.id
},
mounted () {
this.sendMsgToParent()
}
}
</script>
<style lang='scss' scoped>
.wrap {
width: 934px;
height: 654px;
background-color: #ffffff;
padding-top: 36px;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: flex-start;
form {
.box {
width: 100%;
margin-bottom: 30px;
label {
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
line-height: 40px;
letter-spacing: 0px;
color: #333333;
width: 133px;
height: 40px;
text-align: right;
display: inline-block;
}
.input {
width: 400px;
height: 40px;
background-color: #ffffff;
border-radius: 5px;
border: solid 1px #dbdbda;
outline: none;
margin-left: 30px;
}
}
.btn {
display: flex;
justify-content: center;
margin-top: 60px;
input[type="submit"] {
width: 230px;
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;
}
}
}
}
</style>

View File

@@ -0,0 +1,150 @@
<template>
<div class="wrapper">
<header-nav :index_num="index_num"></header-nav>
<div id="box">
<div class="left" :style="{height:heightVal+'px'}">
<div
class="list"
@click="btn(index)"
v-for="(list,index) in text"
:key="index"
:class="sub == index ? 'color' : ''"
>{{list}}</div>
</div>
<div class="right">
<apply v-if="sub == 0" @listenToChildExen="showMsgFromChild"></apply>
<collection v-if="sub == 1" @listenToChildExen="showMsgFromChild"></collection>
<declare v-if="sub == 2" @listenToChildExen="showMsgFromChild"></declare>
<modify v-if="sub == 3" @listenToChildExen="showMsgFromChild"></modify>
<collection1 v-if="sub == 4" @listenToChildExen="showMsgFromChild"></collection1>
</div>
</div>
<footer-nav class="footer"></footer-nav>
</div>
</template>
<script>
import HeaderNav from "../../components/HeaderNav";
import FooterNav from "../../components/FooterNav";
import Apply from "./Apply";
import Collection from "./Collection";
import Collection1 from "./Collection1";
import Declare from "./Declare";
import Modify from "./Modify";
export default {
components: {
HeaderNav,
FooterNav,
Apply,
Collection,
Collection1,
Declare,
Modify
},
props: {},
data() {
return {
index_num: 3,
text: [
"党组织申请",
"我的收藏",
"项目申报",
"个人中心-修改密码",
"@书记"
],
// text: [
// "党组织申请",
// "我的收藏",
// "项目申报",
// "个人中心-修改密码",
// "it数据",
// "@书记"
// ],
// text: ['党组织申请', '项目申报', '个人中心-修改密码'],
sub: 0,
heightVal: 1050
};
},
computed: {},
watch: {},
methods: {
showMsgFromChild(data) {
this.heightVal = data;
},
btn(index) {
let s = this.sub;
s = index;
this.sub = s;
// console.log(this.sub)
}
},
created() {},
mounted() {}
};
</script>
<style lang='scss' scoped>
.wrapper {
min-width: 1280px;
#box {
width: 1200px;
margin: 40px auto 0;
box-sizing: border-box;
// padding: 0 40px;
display: flex;
justify-content: space-between;
align-items: flex-start;
.left {
width: 241px;
background-color: #ffffff;
box-shadow: 0px 7px 11px 0px rgba(231, 231, 231, 0.7);
border-radius: 2px;
.list {
width: 100%;
height: 48px;
margin-top: 21px;
text-align: left;
line-height: 48px;
padding-left: 37px;
box-sizing: border-box;
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
cursor: pointer;
}
.color {
position: relative;
color: #e60012;
&::after {
content: "";
width: 5px;
height: 48px;
background-color: #e60012;
border-radius: 8px;
position: absolute;
left: 0%;
top: 0%;
}
}
}
.right {
width: 934px;
background-color: #ffffff;
}
}
.footer {
margin-top: 80px;
}
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,902 @@
<template>
<div class="wrapper">
<header-nav :index_num="index_num"></header-nav>
<div id="box">
<!-- 公告 -->
<div class="top">
<img :src="imgUrl.xlb" alt />
<!-- v-if="cd !== 0" -->
<div class="div-v" >
<!-- <aside class="animation" v-for="(list,index) in bgValue.announcement" :key="index">
<span>{{list.name + list.pro_content}}</span>
<time>{{list.protime}}</time>
</aside>-->
<span>
{{
bgValue.announcement[0].name + bgValue.announcement[0].pro_content
}}
</span>
<time>{{ bgValue.announcement[0].protime }}</time>
</div>
<!-- <div v-else>
<span>暂无项目申报内容</span>
<time>
{{
new Date().getFullYear() +
"-" +
(new Date().getMonth() + 1) +
"-" +
new Date().getDate()
}}
</time>
</div> -->
</div>
<div class="bottom">
<!-- 表格 -->
<div class="table">
<div class="top-p">项目概览</div>
<div class="top-b">
<div>
<section>
<span>初筛通过</span>
<span>{{ bgValue.overview_one }}</span>
</section>
</div>
<div>
<section>
<span>立项通过</span>
<span>{{ bgValue.overview_two }}</span>
</section>
</div>
<div>
<section>
<span>执行中</span>
<span>{{ bgValue.overview_three }}</span>
</section>
</div>
<div>
<section>
<span>已完结</span>
<span>{{ bgValue.overview_four }}</span>
</section>
</div>
</div>
</div>
<!-- 下拉框 -->
<div class="select">
<div class="block">
<el-date-picker
v-model="value_date"
type="daterange"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="bolting()"
></el-date-picker>
</div>
<select class="two" v-model="type_value" name="type" @change="bolting()">
<option>项目类型</option>
<template v-for="(type, index) in bgValue.type">
<option :key="index" :value="index">{{ type }}</option>
</template>
</select>
<select class="two" v-model="status_value" name="status" @change="bolting()" style="padding:7px;padding-right:38px">
<option>{{"\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"}}项目状态</option>
<template v-for="(status, index) in bgValue.status">
<option :key="index" :value="index">{{ status }}</option>
</template>
</select>
<select class="three" v-model="area_value" name="area" @change="bolting()">
<option>落地区域</option>
<template v-for="(area, index) in bgValue.area">
<option :key="index" :value="index">{{ area }}</option>
</template>
</select>
<span @click="$jump('application')" class="procreate">项目申报</span>
</div>
<!-- container -->
<div class="con">
<!-- 导航 -->
<div class="top-t">
<h3
@click="btn(index)"
v-for="(item, index) in text"
:key="index"
:class="sub == index ? 'style' : ''"
>{{ item }}</h3>
</div>
<!-- 主题内容 -->
<div class="cc">
<template v-if="cd > 0">
<div
class="list"
v-for="(item, index) in bgData.info"
:key="index"
@click="
item.tid == 1000
? $jP('application', { id: item.id })
: $jParams('schedule', { id: item.id })
"
>
<div class="div">
<div class="bb">
<h3>{{ item.name }}</h3>
<h5>项目</h5>
</div>
<time>{{ item.protime }}</time>
</div>
<dl>
<dt>
<img :src="imgUrl.tg" v-if="item.tid == 5" />
<img :src="imgUrl.btg" v-else-if="item.tid == 4 || item.tid == 9" />
<img :src="imgUrl.zxz" v-else-if="item.tid == 10" />
<img :src="imgUrl.wtj" v-else-if="item.tid == 1000" />
<img
:src="imgUrl.yjx"
v-else-if="item.tid == 110"
style="width:120px;height:90px"
/>
<img :src="imgUrl.shz" v-else />
<!-- <img
:src="imgUrl.yjx"
style="width:120px;height:90px"
/> -->
</dt>
<dd>
<span class="iconfont icon-zuzhijiegou"></span>
<span>{{ item.party_id }}</span>
</dd>
<dd>
<span class="iconfont icon-weizhi"></span>
<span>{{ item.postaladdress }}</span>
</dd>
<dd>
<span class="iconfont icon-shenhetongguo1"></span>
<div class="block-ky">
<b>项目状态</b>
<el-tooltip class="item" effect="dark" :content="item.status " placement="top">
<p class="status1">{{ item.status }}</p>
</el-tooltip>
</div>
</dd>
</dl>
</div>
</template>
<template v-else>
<span>您搜索的内容暂无</span>
</template>
</div>
</div>
<!-- 分页按钮 -->
<div class="page">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
:pager-count="5"
background
layout="prev, pager, next"
:total="totalCount"
></el-pagination>
</div>
</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
},
props: {},
data() {
return {
index_num: 2,
pageSize: 1,
currentPage: 1,
totalCount: 1,
imgUrl: {
xlb: require("../../../static/img/xlb.png"),
tg: require("../../../static/img/tg.png"),
btg: require("../../../static/img/btg.png"),
shz: require("../../../static/img/shz.png"),
zxz: require("../../../static/img/zxz.png"),
wtj: require("../../../static/img/wtj.png"),
yjx: require("../../../static/img/yjx.png")
},
// text: ["全部", "项目初筛", "项目立项"],
text: ["全部"],
sub: 0,
bgData: [],
bgValue: [],
type_value: "项目类型",
status_value: "\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"+"项目状态",
area_value: "落地区域",
value_date: "",
start_time: "",
end_time: "",
cd: Number
};
},
computed: {},
watch: {},
methods: {
/** 筛选函数 */
bolting() {
// console.log(9999)
if (this.value_date) {
this.start_time = this.value_date[0];
this.end_time = this.value_date[1];
// console.log(1112)
this.getDataTwo(
this.start_time,
this.end_time,
this.type_value,
this.status_value,
this.area_value
);
} else {
// console.log(1112)
this.getDataTwo(
this.start_time ? this.start_time : "",
this.end_time ? this.end_time : "",
this.type_value,
this.status_value,
this.area_value
);
}
},
/** 获取项目列表 */
getDataTwo(
start_time = this.start_time,
end_time = this.end_time,
type = this.type_value,
status = this.status_value,
area = this.area_value
) {
if (type === "项目类型") {
this.type_value = "";
type = "";
}
if (status === "项目状态") {
this.status_value = "";
status = "";
}
if (area === "落地区域") {
this.area_value = "";
area = "";
}
let _this = this;
this.$http({
method: "get",
url: "v1/project/list",
params: {
start_time: start_time,
end_time: end_time,
type: type,
area: area,
status: status,
page: _this.currentPage,
num: 6
}
})
.then(res => {
if (res.data.code === 200) {
_this.bgData = res.data.data.data;
_this.totalCount = _this.bgData.allPage;
_this.cd = _this.bgData.info.length;
} else {
_this.$message.error("请求数据有问题!");
}
})
.catch(err => {
console.log(err);
});
if (this.type_value === "") {
this.type_value = "项目类型";
}
if (this.status_value === "") {
this.status_value = "项目状态";
}
if (this.area_value === "") {
this.area_value = "落地区域";
}
},
/** 获取下拉框数据 */
getDataOne() {
let _this = this;
this.$http({
method: "get",
url: "v1/project/get-info",
data: {}
})
.then(res => {
if (res.data.code === 200) {
_this.bgValue = res.data.data;
_this.cd = _this.bgValue.announcement.length;
for(let i in _this.bgValue.status){
if(_this.bgValue.status[i].length<9){
_this.bgValue.status[i]="\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"+_this.bgValue.status[i]
}else{
_this.bgValue.status[i]="\xa0\xa0\xa0\xa0\xa0"+_this.bgValue.status[i]
}
// console.log(_this.bgValue.status[i])
}
} else {
_this.$message.error("请求数据有问题");
}
})
.catch(err => {
console.log(err);
});
},
btn(index) {
let s = this.sub;
s = index;
this.sub = s;
},
handleSizeChange(val) {
this.pageSize = val;
this.getPackData();
},
handleCurrentChange(val) {
this.currentPage = val;
this.getDataTwo();
this.getPackData();
},
getPackData() {}
},
created() {
this.currentPage = Number(localStorage.getItem("page")) || 1;
this.handleCurrentChange(this.currentPage);
this.getDataOne();
},
mounted() {},
beforeUpdate() {
localStorage.setItem("page", this.currentPage);
},
beforeDestroy() {
localStorage.setItem("page", 1);
},
destroyed() {
localStorage.removeItem("page");
}
};
</script>
<style lang="scss" scoped>
.block-ky{
display: flex;
font-size: 14px;
color: #666666;
.status1{
width: 120px;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
}
.procreate {
border-radius: 66px !important;
cursor: pointer;
}
.wrapper {
min-width: 1280px;
box-sizing: border-box;
.footer {
margin-top: 80px;
}
#box {
margin: 0 auto;
width: 1200px;
box-sizing: border-box;
.bottom {
padding: 35px 30px 100px;
box-sizing: border-box;
width: 1200px;
// height: 1320px;
box-sizing: border-box;
background-color: #ffffff;
.page {
margin-top: 60px;
height: 36px;
display: flex;
justify-content: flex-end;
align-items: center;
/deep/ .el-pagination.is-background .el-pager li {
color: #333 !important;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #e60012;
color: #fff !important;
}
/deep/ .el-icon.el-icon-arrow-left::before {
content: "上一页";
font-family: "MicrosoftYaHei";
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #666;
}
/deep/ .el-pagination .btn-prev {
width: 80px;
}
/deep/ .el-pagination .btn-next {
width: 80px;
}
/deep/ .el-icon.el-icon-arrow-right::before {
content: "下一页";
font-family: "MicrosoftYaHei";
font-size: 12px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 1px;
color: #666;
}
}
.con {
width: 1140px;
// height: 773px;
.cc::after {
content: "";
width: 367px;
display: block;
height: 0px;
}
.cc {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
.list {
margin-bottom: 60px;
width: 367px;
height: 184px;
background-color: #ffffff;
box-shadow: 0px 19px 21px 3px rgba(145, 142, 142, 0.1);
border-radius: 10px;
padding: 19px 29px 0px 16px;
box-sizing: border-box;
dl {
width: 100%;
height: 97px;
margin-top: 25px;
position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
dd {
height: 20px;
display: flex;
align-items: center;
.iconfont {
font-size: 17px;
color: #ccc;
margin-right: 16px;
}
span {
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
}
.block-k {
width: 288px;
display: inline-block;
/* overflow: hidden;*/
text-overflow: ellipsis;
white-space: nowrap;
b {
font-weight: 900;
}
}
}
dt {
img {
position: absolute;
right: -8.5%;
bottom: -26%;
width: 120px;
height: 90px;
}
}
}
.div {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
time {
font-family: "MicrosoftYaHei";
font-size: 14px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #999999;
}
.bb {
display: flex;
justify-content: center;
align-items: center;
h5 {
margin-left: 6px;
height: 18px;
color: #f6ad35;
text-align: center;
line-height: 18px;
border: 1px solid #f6ad35;
border-radius: 4px;
font-size: 12px;
}
h3 {
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
}
}
}
}
.top-t {
width: 1140px;
height: 38px;
padding-left: 12px;
box-sizing: border-box;
display: flex;
justify-content: flex-start;
align-items: flex-start;
border-bottom: 1px solid #ccc;
margin-bottom: 60px;
h3 {
text-align: center;
margin-right: 78px;
width: 90px;
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333;
}
.style {
color: #e60012;
position: relative;
&::after {
content: "";
width: 91px;
height: 2px;
background-image: linear-gradient(#e60012, #e60012),
linear-gradient(#ff7f7f, #ff7f7f);
background-blend-mode: normal, normal;
position: absolute;
left: 0%;
bottom: -94%;
}
}
}
}
.select {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 50px;
margin-bottom: 50px;
.block {
/deep/.el-range-editor.el-input__inner {
width: 325px;
background: url("../../../static/img/xa.png") 90% center no-repeat;
background-color: #f9f8f8;
}
/deep/.el-date-editor .el-range-input {
background-color: #f9f8f8;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 33px;
letter-spacing: 0px;
color: #666666;
}
/deep/.el-input__inner {
border: 1px solid #c7c7c7;
}
/deep/.el-date-editor .el-range-separator {
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 33px;
letter-spacing: 0px;
color: #666666;
}
/deep/ .el-input__icon {
width: 0px;
}
}
.one {
// padding-left: 30px;
box-sizing: border-box;
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../../static/img/xa.png") 90% center no-repeat;
background-size: 14px 8px;
// width: 325px;
padding: 0px 30px;
height: 38px;
background-color: #f9f8f8;
border-radius: 4px;
border: solid 1px #c7c7c7;
outline: none;
font-size: 18px;
color: #666;
}
.two {
// padding-left: 30px;
// padding-right: 48px;
box-sizing: border-box;
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../../static/img/xa.png") 90% center no-repeat;
background-size: 14px 8px;
// width: 134px;
padding: 7px 33px;
// height: 38px;
background-color: #f9f8f8;
border-radius: 4px;
border: solid 1px #c7c7c7;
outline: none;
font-size: 18px;
color: #666;
// text-align: center;
}
.three {
// padding-left: 30px;
/* 清除默认的箭头样式 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
/* 右侧添加小箭头的背景图 */
background: url("../../../static/img/xa.png") 90% center no-repeat;
background-size: 14px 8px;
// width: 134px;
padding: 0 35px 0 30px;
box-sizing: border-box;
height: 38px;
background-color: #f9f8f8;
border-radius: 4px;
border: solid 1px #c7c7c7;
outline: none;
font-size: 18px;
color: #666;
text-align: center;
}
span {
display: inline-block;
text-align: center;
line-height: 32px;
width: 96px;
height: 32px;
background-image: linear-gradient(
69deg,
#cc263f 0%,
#f42b47 100%,
#ed162d 100%,
#e60012 100%
),
linear-gradient(#e60012, #e60012);
background-blend-mode: normal, normal;
border-radius: 4px;
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
}
}
.table {
width: 1137px;
height: 181px;
border: solid 1px #dadada;
background-color: #f6f6f6;
box-sizing: border-box;
.top-b {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
div {
width: 283px;
height: 139px;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
section {
width: 72px;
height: 67px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
span:first-child {
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
}
span:last-child {
font-family: "MicrosoftYaHei";
font-size: 24px;
font-weight: bold;
font-stretch: normal;
letter-spacing: 0px;
color: #e60012;
}
}
}
}
.top-p {
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
width: 1136px;
height: 40px;
background-color: #f6f6f6;
text-align: center;
line-height: 40px;
border-bottom: 1px solid #dadada;
border-right: 1px solid #dadada;
box-sizing: border-box;
}
}
}
.top {
width: 1100px;
height: 40px;
margin: 30px 0 30px;
display: flex;
justify-content: space-between;
align-items: center;
.div-v {
width: 1060px;
height: 100%;
overflow: hidden;
display: flex;
// flex-direction: column;
justify-content: space-around;
align-items: flex-start;
line-height: 38px;
}
/*
.animation {
display: flex;
justify-content: space-between;
animation: myMove 15s linear infinite;
animation-fill-mode: forwards;
width: 95%;
height: 100%;
margin-bottom: 25px;
margin-left: 25px;
}
*/
img {
width: 33px;
height: 27px;
}
div {
width: 672px;
height: 21px;
display: flex;
justify-content: space-between;
align-items: center;
span {
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #666666;
}
time {
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
letter-spacing: 0px;
color: #999999;
}
}
}
}
}
/*文字无缝滚动*/
@keyframes myMove {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-150px);
}
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

251
src/views/socialcredit.vue Normal file
View File

@@ -0,0 +1,251 @@
<template>
<div>
<header-nav :index_num="index_num"></header-nav>
<div class="content">
<!-- <div class="top">
<div class="homeicon">
<img src="../../static/img/homeicon.png" alt class="homeicon" />
</div>
<div class="el-icon-right"></div>
<div class="titleshot">社会组织信息</div>
</div> -->
<!-- <img @click="navto()" src="../../static/img/apple.png" alt class="apply" /> -->
<div class="infobox">
<div class="infotablebg">
<div class="infotable">
<div class="tabletitle">社会组织信息</div>
<table>
<!-- <tr>
<th class="tabletitle">社会组织信息</th>
</tr>-->
<tr>
<td class="key">社会组织名称</td>
<td class="val">{{result.name?result.name:"无"}}</td>
<td class="key">账号状态</td>
<td class="val" v-if="result.status==0">已注销</td>
<td class="val" v-if="result.status==1">异常</td>
<td class="val" v-if="result.status==2">正常</td>
<td class="val" v-if="result.status==3">待审核</td>
</tr>
<tr>
<td class="key">统一社会信用代码</td>
<td class="val">{{result.unicode?result.unicode:"无"}}</td>
<td class="key">注册地址</td>
<td class="val">{{result.reg_area?result.reg_area:"无"}}</td>
</tr>
<tr>
<td class="key">社会组织类型</td>
<td class="val">{{result.society_type == 0?"非企业单位":"社会团体"}}</td>
<td class="key">法定代表人</td>
<td class="val">{{result.legal_person?result.legal_person:"无"}}</td>
</tr>
<tr>
<td class="key">业务主管单位</td>
<td class="val">{{result.supervisor?result.supervisor:"无"}}</td>
<td class="key">开办资金</td>
<td class="val">{{result.money?result.money:"无"}}</td>
</tr>
<tr>
<td class="key">登记日期</td>
<td class="val">{{result.reg_time?result.reg_time:"无"}}</td>
<td class="key">有效期限</td>
<td class="val">{{result.start_time}}--{{result.end_time}}</td>
</tr>
<tr>
<td class="key">2016年年检情况</td>
<td class="val">{{result.sec_age?result.sec_age:"无"}}</td>
<td class="key">评估情况</td>
<td class="val">{{result.assess?result.assess:"无"}}</td>
</tr>
<tr>
<td class="key">
<p class="keywrap">承接政府购买服务情况</p>
</td>
<td class="val">
<p class="valwrap">{{result.accept_buy?result.accept_buy:"无"}}</p>
</td>
<td class="key">
<p class="keywrap">接受表彰情况</p>
</td>
<td class="val">
<p class="valwrap">{{result.accept_honor?result.accept_honor:"无"}}</p>
</td>
</tr>
<tr>
<td class="key">行政处罚情况</td>
<td class="val">{{result.admini_punish?result.admini_punish:"无"}}</td>
<td class="key">活动异常情况</td>
<td class="val">{{result.activity_unusual?result.activity_unusual:"无"}}</td>
</tr>
<tr>
<td class="key">
<p>活动异常情况时限</p>
</td>
<td class="val">
<p>{{result.activity_unusual_start}}--{{result.activity_unusual_end}}</p>
</td>
<td class="key">
<p>严重失信情况</p>
</td>
<td class="val">
<p>{{result.break_faith?result.break_faith:"无"}}</p>
</td>
</tr>
</table>
<table>
<tr>
<td class="key">严重失信情况时限</td>
<td class="valself">{{result.break_faith_start}}--{{result.break_faith_end}}</td>
</tr>
<tr>
<td class="key">业务范围</td>
<td class="valself">{{result.business?result.business:"无"}}</td>
</tr>
<tr>
<td class="key">
<p class="keywrap">变更信息</p>
</td>
<td class="valself">
<p>{{result.change_info?result.change_info:"无"}}</p>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<footer-nav class="footer"></footer-nav>
</div>
</template>
<script>
import HeaderNav from "../components/HeaderNav";
import FooterNav from "../components/FooterNav";
export default {
name: "dangzuzhixq",
components: {
HeaderNav,
FooterNav
},
data() {
return {
index_num: 1,
result: []
};
},
mounted() {
console.log(this.$route.query.id);
this.$http({
method: "get",
url: "v1/soc/credit",
params: { id: this.$route.query.id }
}).then(res => {
console.log(res);
this.result = res.data.data[0];
});
},
methods:{
navto(){
this.$router.push({path:"/personalZte"})
}
}
};
</script>
<style lang="scss" scoped>
.infobox {
width: 100vw;
display: flex;
justify-content: center;
}
.el-icon-s-home {
color: #9a9899;
font-size: 20px;
}
.content {
background-color: #f5f5f5;
.top {
width: 178px;
position: relative;
top: 50px;
left: 70px;
display: flex;
justify-content: space-around;
.titleshot {
font-size: 20px;
// font-weight: bold;
}
.homeicon {
width: 22px;
height: 22px;
}
}
.apply {
width: 233px;
float: right;
margin-right: 71px;
}
.infotablebg {
width: 1200px;
background-color: white;
// margin: 0 auto;
// margin-top: 67px;
display: flex;
justify-content: center;
padding-bottom: 180px;
margin-top: 42px;
.infotable {
margin-top: 36px;
.tabletitle {
background-color: #f24e77;
width: 1070px;
height: 60px;
color: white;
text-align: center;
line-height: 60px;
font-size: 24px;
}
.key {
width: 266px;
height: 40px;
line-height: 40px;
background-color: #f7f5f6;
text-align: left;
text-indent: 40px;
}
.keywrap {
width: 114px;
margin: 0 auto;
line-height: 35px;
text-indent: -1px;
text-align: left;
margin-right: 112px;
}
.valwrap {
// line-height: 50px;
position: relative;
top: 15px;
}
.valself {
width: 802px;
height: 40px;
line-height: 40px;
text-align: left;
text-indent: 30px;
}
.val {
width: 266px;
height: 40px;
line-height: 40px;
}
}
}
}
</style>
<style>
body table td {
border: 2px solid #dfe0eb !important;
}
</style>

179
static/css/reset.css Normal file
View File

@@ -0,0 +1,179 @@
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
input {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font-weight: normal;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
display: block;
}
body {
line-height: 1;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/* custom */
a {
color: #7e8c8d;
text-decoration: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
li {
list-style: none;
}
/*
::-webkit-scrollbar {
width: 5px;
height: 5px;
}
::-webkit-scrollbar-track-piece {
background-color: rgba(0, 0, 0, 0.2);
-webkit-border-radius: 6px;
border-radius: 6px;
}
::-webkit-scrollbar-thumb:vertical {
height: 5px;
background-color: rgba(125, 125, 125, 0.7);
-webkit-border-radius: 6px;
border-radius: 6px;
}
::-webkit-scrollbar-thumb:horizontal {
width: 5px;
background-color: rgba(125, 125, 125, 0.7);
-webkit-border-radius: 6px;
border-radius: 6px;
} */
html,
body {
width: 100%;
-moz-user-select: none;
/*火狐*/
-webkit-user-select: none;
/*webkit浏览器*/
-ms-user-select: none;
/*IE10*/
-khtml-user-select: none;
/*早期浏览器*/
user-select: none;
}
body {
-webkit-text-size-adjust: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

618
static/css/swiper.css Normal file
View File

@@ -0,0 +1,618 @@
/**
* Swiper 4.5.0
* Most modern mobile touch slider and framework with hardware accelerated transitions
* http://www.idangero.us/swiper/
*
* Copyright 2014-2019 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: February 22, 2019
*/
.swiper-container {
margin: 0 auto;
position: relative;
overflow: hidden;
list-style: none;
padding: 0;
/* Fix of Webkit flickering */
z-index: 1;
}
.swiper-container-no-flexbox .swiper-slide {
float: left;
}
.swiper-container-vertical > .swiper-wrapper {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.swiper-wrapper {
position: relative;
width: 100%;
height: 100%;
z-index: 1;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-transition-property: -webkit-transform;
transition-property: -webkit-transform;
-o-transition-property: transform;
transition-property: transform;
transition-property: transform, -webkit-transform;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
.swiper-container-android .swiper-slide,
.swiper-wrapper {
-webkit-transform: translate3d(0px, 0, 0);
transform: translate3d(0px, 0, 0);
}
.swiper-container-multirow > .swiper-wrapper {
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.swiper-container-free-mode > .swiper-wrapper {
-webkit-transition-timing-function: ease-out;
-o-transition-timing-function: ease-out;
transition-timing-function: ease-out;
margin: 0 auto;
}
.swiper-slide {
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
-webkit-transition-property: -webkit-transform;
transition-property: -webkit-transform;
-o-transition-property: transform;
transition-property: transform;
transition-property: transform, -webkit-transform;
}
.swiper-slide-invisible-blank {
visibility: hidden;
}
/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-transition-property: height, -webkit-transform;
transition-property: height, -webkit-transform;
-o-transition-property: transform, height;
transition-property: transform, height;
transition-property: transform, height, -webkit-transform;
}
/* 3D Effects */
.swiper-container-3d {
-webkit-perspective: 1200px;
perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper {
-ms-touch-action: pan-y;
touch-action: pan-y;
}
.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
-ms-touch-action: pan-x;
touch-action: pan-x;
}
.swiper-button-prev,
.swiper-button-next {
position: absolute;
top: 50%;
width: 27px;
height: 44px;
margin-top: -22px;
z-index: 10;
cursor: pointer;
background-size: 27px 44px;
background-position: center;
background-repeat: no-repeat;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
opacity: 0.35;
cursor: auto;
pointer-events: none;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
left: 10px;
right: auto;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
right: 10px;
left: auto;
}
.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-lock {
display: none;
}
.swiper-pagination {
position: absolute;
text-align: center;
-webkit-transition: 300ms opacity;
-o-transition: 300ms opacity;
transition: 300ms opacity;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
opacity: 0;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
bottom: 10px;
left: 0;
width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
overflow: hidden;
font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
-webkit-transform: scale(0.33);
-ms-transform: scale(0.33);
transform: scale(0.33);
position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
-webkit-transform: scale(0.66);
-ms-transform: scale(0.66);
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
-webkit-transform: scale(0.33);
-ms-transform: scale(0.33);
transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
-webkit-transform: scale(0.66);
-ms-transform: scale(0.66);
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
-webkit-transform: scale(0.33);
-ms-transform: scale(0.33);
transform: scale(0.33);
}
.swiper-pagination-bullet {
width: 8px;
height: 8px;
display: inline-block;
border-radius: 100%;
background: #fff;
opacity: 0.65;
}
button.swiper-pagination-bullet {
border: none;
margin: 0;
padding: 0;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
cursor: pointer;
}
.swiper-pagination-bullet-active {
opacity: 1;
background: #007aff;
}
.swiper-container-vertical > .swiper-pagination-bullets {
right: 10px;
top: 50%;
-webkit-transform: translate3d(0px, -50%, 0);
transform: translate3d(0px, -50%, 0);
}
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
margin: 6px 0;
display: block;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
width: 8px;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
display: inline-block;
-webkit-transition: 200ms top, 200ms -webkit-transform;
transition: 200ms top, 200ms -webkit-transform;
-o-transition: 200ms transform, 200ms top;
transition: 200ms transform, 200ms top;
transition: 200ms transform, 200ms top, 200ms -webkit-transform;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 4px;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
left: 50%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
white-space: nowrap;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
-webkit-transition: 200ms left, 200ms -webkit-transform;
transition: 200ms left, 200ms -webkit-transform;
-o-transition: 200ms transform, 200ms left;
transition: 200ms transform, 200ms left;
transition: 200ms transform, 200ms left, 200ms -webkit-transform;
}
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
-webkit-transition: 200ms right, 200ms -webkit-transform;
transition: 200ms right, 200ms -webkit-transform;
-o-transition: 200ms transform, 200ms right;
transition: 200ms transform, 200ms right;
transition: 200ms transform, 200ms right, 200ms -webkit-transform;
}
/* Progress */
.swiper-pagination-progressbar {
background: rgba(0, 0, 0, 0.25);
position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: #007aff;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
-webkit-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
-webkit-transform-origin: left top;
-ms-transform-origin: left top;
transform-origin: left top;
}
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
-webkit-transform-origin: right top;
-ms-transform-origin: right top;
transform-origin: right top;
}
.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
width: 100%;
height: 4px;
left: 0;
top: 0;
}
.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
width: 4px;
height: 100%;
left: 0;
top: 0;
}
.swiper-pagination-white .swiper-pagination-bullet-active {
background: #ffffff;
}
.swiper-pagination-progressbar.swiper-pagination-white {
background: rgba(255, 255, 255, 0.25);
}
.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
background: #ffffff;
}
.swiper-pagination-black .swiper-pagination-bullet-active {
background: #000000;
}
.swiper-pagination-progressbar.swiper-pagination-black {
background: rgba(0, 0, 0, 0.25);
}
.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
background: #000000;
}
.swiper-pagination-lock {
display: none;
}
/* Scrollbar */
.swiper-scrollbar {
border-radius: 10px;
position: relative;
-ms-touch-action: none;
background: rgba(0, 0, 0, 0.1);
}
.swiper-container-horizontal > .swiper-scrollbar {
position: absolute;
left: 1%;
bottom: 3px;
z-index: 50;
height: 5px;
width: 98%;
}
.swiper-container-vertical > .swiper-scrollbar {
position: absolute;
right: 3px;
top: 1%;
z-index: 50;
width: 5px;
height: 98%;
}
.swiper-scrollbar-drag {
height: 100%;
width: 100%;
position: relative;
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
left: 0;
top: 0;
}
.swiper-scrollbar-cursor-drag {
cursor: move;
}
.swiper-scrollbar-lock {
display: none;
}
.swiper-zoom-container {
width: 100%;
height: 100%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
max-width: 100%;
max-height: 100%;
-o-object-fit: contain;
object-fit: contain;
}
.swiper-slide-zoomed {
cursor: move;
}
/* Preloader */
.swiper-lazy-preloader {
width: 42px;
height: 42px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -21px;
margin-top: -21px;
z-index: 10;
-webkit-transform-origin: 50%;
-ms-transform-origin: 50%;
transform-origin: 50%;
-webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
animation: swiper-preloader-spin 1s steps(12, end) infinite;
}
.swiper-lazy-preloader:after {
display: block;
content: '';
width: 100%;
height: 100%;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
background-position: 50%;
background-size: 100%;
background-repeat: no-repeat;
}
.swiper-lazy-preloader-white:after {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
@-webkit-keyframes swiper-preloader-spin {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes swiper-preloader-spin {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
/* a11y */
.swiper-container .swiper-notification {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
opacity: 0;
z-index: -1000;
}
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
-webkit-transition-timing-function: ease-out;
-o-transition-timing-function: ease-out;
transition-timing-function: ease-out;
}
.swiper-container-fade .swiper-slide {
pointer-events: none;
-webkit-transition-property: opacity;
-o-transition-property: opacity;
transition-property: opacity;
}
.swiper-container-fade .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-container-cube {
overflow: visible;
}
.swiper-container-cube .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
visibility: hidden;
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
width: 100%;
height: 100%;
}
.swiper-container-cube .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-container-cube.swiper-container-rtl .swiper-slide {
-webkit-transform-origin: 100% 0;
-ms-transform-origin: 100% 0;
transform-origin: 100% 0;
}
.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
pointer-events: auto;
visibility: visible;
}
.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.swiper-container-cube .swiper-cube-shadow {
position: absolute;
left: 0;
bottom: 0px;
width: 100%;
height: 100%;
background: #000;
opacity: 0.6;
-webkit-filter: blur(50px);
filter: blur(50px);
z-index: 0;
}
.swiper-container-flip {
overflow: visible;
}
.swiper-container-flip .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
}
.swiper-container-flip .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.swiper-container-coverflow .swiper-wrapper {
/* Windows 8 IE 10 fix */
-ms-perspective: 1200px;
}

Binary file not shown.

Binary file not shown.

539
static/fonts/demo.css Normal file
View File

@@ -0,0 +1,539 @@
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}

View File

@@ -0,0 +1,559 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>IconFont Demo</title>
<link rel="shortcut icon" href="https://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="iconfont.css">
<script src="iconfont.js"></script>
<!-- jQuery -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
<!-- 代码高亮 -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
</head>
<body>
<div class="main">
<h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">&#xe86b;</a></h1>
<div class="nav-tabs">
<ul id="tabs" class="dib-box">
<li class="dib active"><span>Unicode</span></li>
<li class="dib"><span>Font class</span></li>
<li class="dib"><span>Symbol</span></li>
</ul>
</div>
<div class="tab-container">
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe63a;</span>
<div class="name">竖线</div>
<div class="code-name">&amp;#xe63a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe64e;</span>
<div class="name">分期-审核通过</div>
<div class="code-name">&amp;#xe64e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6b5;</span>
<div class="name">领带</div>
<div class="code-name">&amp;#xe6b5;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe625;</span>
<div class="name">suo</div>
<div class="code-name">&amp;#xe625;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe67a;</span>
<div class="name">图表-柱状图</div>
<div class="code-name">&amp;#xe67a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60e;</span>
<div class="name">电话</div>
<div class="code-name">&amp;#xe60e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe70e;</span>
<div class="name">错误</div>
<div class="code-name">&amp;#xe70e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6c5;</span>
<div class="name"></div>
<div class="code-name">&amp;#xe6c5;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe603;</span>
<div class="name">位置</div>
<div class="code-name">&amp;#xe603;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe605;</span>
<div class="name"></div>
<div class="code-name">&amp;#xe605;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe688;</span>
<div class="name">负责人</div>
<div class="code-name">&amp;#xe688;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6ca;</span>
<div class="name">复选框_选中3</div>
<div class="code-name">&amp;#xe6ca;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe64c;</span>
<div class="name">时钟</div>
<div class="code-name">&amp;#xe64c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe61c;</span>
<div class="name">组织结构</div>
<div class="code-name">&amp;#xe61c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe622;</span>
<div class="name">人像-01</div>
<div class="code-name">&amp;#xe622;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe612;</span>
<div class="name">信用风险</div>
<div class="code-name">&amp;#xe612;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe783;</span>
<div class="name">五角星 星型 收藏</div>
<div class="code-name">&amp;#xe783;</div>
</li>
</ul>
<div class="article markdown">
<h2 id="unicode-">Unicode 引用</h2>
<hr>
<p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
<ul>
<li>兼容性最好,支持 IE6+,及所有现代浏览器。</li>
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
<li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
</ul>
<blockquote>
<p>注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用如果有需求建议使用symbol 的引用方式</p>
</blockquote>
<p>Unicode 使用步骤如下:</p>
<h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.eot');
src: url('iconfont.eot?#iefix') format('embedded-opentype'),
url('iconfont.woff2') format('woff2'),
url('iconfont.woff') format('woff'),
url('iconfont.ttf') format('truetype'),
url('iconfont.svg#iconfont') format('svg');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
<pre><code class="language-css"
>.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
<pre>
<code class="language-html"
>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-vertical_line"></span>
<div class="name">
竖线
</div>
<div class="code-name">.icon-vertical_line
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shenhetongguo1"></span>
<div class="name">
分期-审核通过
</div>
<div class="code-name">.icon-shenhetongguo1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-lingdai"></span>
<div class="name">
领带
</div>
<div class="code-name">.icon-lingdai
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-suo"></span>
<div class="name">
suo
</div>
<div class="code-name">.icon-suo
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-zhuzhuangtu"></span>
<div class="name">
图表-柱状图
</div>
<div class="code-name">.icon-zhuzhuangtu
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dianhua"></span>
<div class="name">
电话
</div>
<div class="code-name">.icon-dianhua
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-cuowu"></span>
<div class="name">
错误
</div>
<div class="code-name">.icon-cuowu
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-ren"></span>
<div class="name">
</div>
<div class="code-name">.icon-ren
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-weizhi"></span>
<div class="name">
位置
</div>
<div class="code-name">.icon-weizhi
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon-test"></span>
<div class="name">
</div>
<div class="code-name">.icon-icon-test
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-fuzeren"></span>
<div class="name">
负责人
</div>
<div class="code-name">.icon-fuzeren
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-fuxuankuang_xuanzhong"></span>
<div class="name">
复选框_选中3
</div>
<div class="code-name">.icon-fuxuankuang_xuanzhong
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shizhong"></span>
<div class="name">
时钟
</div>
<div class="code-name">.icon-shizhong
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-zuzhijiegou"></span>
<div class="name">
组织结构
</div>
<div class="code-name">.icon-zuzhijiegou
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-renxiang-"></span>
<div class="name">
人像-01
</div>
<div class="code-name">.icon-renxiang-
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-_H_"></span>
<div class="name">
信用风险
</div>
<div class="code-name">.icon-_H_
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-changyongtubiao-mianxing-"></span>
<div class="name">
五角星 星型 收藏
</div>
<div class="code-name">.icon-changyongtubiao-mianxing-
</div>
</li>
</ul>
<div class="article markdown">
<h2 id="font-class-">font-class 引用</h2>
<hr>
<p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
<p>与 Unicode 使用方式相比,具有如下特点:</p>
<ul>
<li>兼容性良好,支持 IE8+,及所有现代浏览器。</li>
<li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
<li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
<li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
</code></pre>
<h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"
iconfont" 是你项目下的 font-family。可以通过编辑项目查看默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-vertical_line"></use>
</svg>
<div class="name">竖线</div>
<div class="code-name">#icon-vertical_line</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shenhetongguo1"></use>
</svg>
<div class="name">分期-审核通过</div>
<div class="code-name">#icon-shenhetongguo1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-lingdai"></use>
</svg>
<div class="name">领带</div>
<div class="code-name">#icon-lingdai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-suo"></use>
</svg>
<div class="name">suo</div>
<div class="code-name">#icon-suo</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-zhuzhuangtu"></use>
</svg>
<div class="name">图表-柱状图</div>
<div class="code-name">#icon-zhuzhuangtu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dianhua"></use>
</svg>
<div class="name">电话</div>
<div class="code-name">#icon-dianhua</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-cuowu"></use>
</svg>
<div class="name">错误</div>
<div class="code-name">#icon-cuowu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-ren"></use>
</svg>
<div class="name"></div>
<div class="code-name">#icon-ren</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-weizhi"></use>
</svg>
<div class="name">位置</div>
<div class="code-name">#icon-weizhi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon-test"></use>
</svg>
<div class="name"></div>
<div class="code-name">#icon-icon-test</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-fuzeren"></use>
</svg>
<div class="name">负责人</div>
<div class="code-name">#icon-fuzeren</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-fuxuankuang_xuanzhong"></use>
</svg>
<div class="name">复选框_选中3</div>
<div class="code-name">#icon-fuxuankuang_xuanzhong</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shizhong"></use>
</svg>
<div class="name">时钟</div>
<div class="code-name">#icon-shizhong</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-zuzhijiegou"></use>
</svg>
<div class="name">组织结构</div>
<div class="code-name">#icon-zuzhijiegou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-renxiang-"></use>
</svg>
<div class="name">人像-01</div>
<div class="code-name">#icon-renxiang-</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-_H_"></use>
</svg>
<div class="name">信用风险</div>
<div class="code-name">#icon-_H_</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-changyongtubiao-mianxing-"></use>
</svg>
<div class="name">五角星 星型 收藏</div>
<div class="code-name">#icon-changyongtubiao-mianxing-</div>
</li>
</ul>
<div class="article markdown">
<h2 id="symbol-">Symbol 引用</h2>
<hr>
<p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
<ul>
<li>支持多色图标了,不再受单色限制。</li>
<li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
<li>兼容性较差,支持 IE9+,及现代浏览器。</li>
<li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
</code></pre>
<h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
<pre><code class="language-html">&lt;style&gt;
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
&lt;/style&gt;
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
&lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
&lt;/svg&gt;
</code></pre>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function () {
$('.tab-container .content:first').show()
$('#tabs li').click(function (e) {
var tabContent = $('.tab-container .content')
var index = $(this).index()
if ($(this).hasClass('active')) {
return
} else {
$('#tabs li').removeClass('active')
$(this).addClass('active')
tabContent.hide().eq(index).fadeIn()
}
})
})
</script>
</body>
</html>

85
static/fonts/iconfont.css Normal file
View File

@@ -0,0 +1,85 @@
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1569231804715'); /* IE9 */
src: url('iconfont.eot?t=1569231804715#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAxoAAsAAAAAFegAAAwbAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCFUAqaaJVyATYCJANICyYABCAFhG0HgXwbhBJFBDYOIEDZ8mT/lwfcobqFC5nUFpU6GYPM12jc7E5qnyP7MP3dEQyyuUlDLE2xSygMApYCFAH3b6YoNGd4WNwVDvp98M//1e776zLHo8HE0xACDz3heLKucLPNHRrqklIxY55UPKmZkb6a0VdT9P+WqEYhKloSoh7w7G9QnRvKuZqJFJhJqmkdvLBmUgEva101PLnz5s4jFWzNHKmcys/kdcvz5O39bTfBiQ1sBJ0nngYRpdBdl9bm5w7Kl9mMF7GN6beTduz6opOupwFyQu4h1Nb+71ppkR1hDtq68+b/maXMZHr9x9niIRQAVSWg0BUqOcJscdbtO1VAYVtlqmq0qZI1WE5zUBMgQkTltfXNEChuXBDr+fNHeA5zhFN21IXwng4uoVjS3hCxYQOdQEtlDHoqgLf8/fqEV0SA4Suwt3qWP9UiPCdbYV7FKccC8NVJ4LIZWHAHOOiP3P8H2OJ36Zaos3k+ADhR5G+BezZsOXbOjJStIPHmqfXW83PP73lrpVKR4ebY08nJ/xkPyIpg0TA50hleZSVNtIE6wG00/Tu5wUWqe5Bx0XtQcGmJ8BJGEAvCBYckkQdiQrhBOIhRIAQxB0SHmAfCQNTCoTnxFogKcQ6EhbgHIkE8xh40/LRElOJVRNmYe+gbnIAHODeBvwHeS64nXuBEhliLuyvgjMArhOpZibXAArPcbIVe76R+vh4DXHkMNDJMBqXXM2yGxmZgzHoLwzh9FAUpDcPo0/RGLWNCCOspJn+i63iJQ4oC0wTVimUZLA0pFp8iHBHNXpnnJAl5FYpg9aviIZ7zKJpq7X366D2p6VgtvWe5OBYqjtq9NwGv5ZZbd+AO5LfeLswDVAlha9ewsx0uAfKScjSqZkKHISx36BAArNTyB+tWeEuSe9AdxWqRyRCa++MiiYknP/FIZjnhlbGoqtaUrGqleM8djvdBx5OOAw9qntOSOoPxqU+9UnxpmTvBH6zWnu/KItu6h+vOdWYSzR2bQwcBwR/COvEIJIXDCKU8KklfHJ6z5WqRkj9hXt0ahmAXIRIHGY3cMRqvNICeWJpZiAm07rtX6iD2pEZfmY7FRN9riXh8RoGxJbfpOGDR+FtcR+NTuJXbE59XLMKy9UJ3dsyxOzkNnY27pIMFIUtzWiVmfaD8tmS/w0kUNRYHIAVHNVnGkR6VQhafR7OAo5+sRnlZHLbVNi7bVpvxG2g5Bg/EUfZAN4aIutDNMEgsb09nHT9clty+xLNm5V3k7EpMbVq7O+k53yUMsfOtbHD8fzaz80iuu/UR7fHtszVGtHQO1XWek0sXh4+BqerGYs9Du2wBDNWoRVEQ2ttsLxnlBEEMmjt8kUMXjjg3KP3QUU4+Zfe0g0inGavdTiHPFztTeS7BmvHoiIeYJUhM7rg9iM4a1GKJBP9Tpkq6y0TWd5NrztxwPiZtd7J4GZwWvDnwxoPvo6HM18WvZ6RPSP3+5Nv5sMfhqFIVCscL59l36CBH7D1qi1xzi1avLB4RLHUICtcRA7F4wwmj1lwodNUGItcwBozShfa6o+INmGoEQRbEh9JfJ7jEdgxQOYK4Gmr3gy1z1FY2O30p1SQZheAmXt6Mner6FvtZIV8auu9CkapwT2lBilRWLPGRfZgVD8SU00qV/aG9Jb3jfME7KyePr9xjY+QAaW90f2pVWQYELwWRFI2N/oORsMdKUrCzuMa451ji0BzVc64Z8JIPQ+T39ykH9nG3Y+s83kj44N6VWLr/cNR5dDR2pMjvVw/X5mavd9+hSPgN6LgLdjIk0ykolCvCWwU9xbu8YIyxtfGcgsw5mpZ3gqZ/0G8bjzl7LxIChuHTyUKCKrDR6SCL1IzOYLk1WbGLF6u9azjWY6IZCbLodPuSgEMF+ZEojZMNumV8ApZbzH8esfM1wvLGxnIhAD2iz+nxEU4TNMlxFkBzkxUCaWJgeMeVD5rjYPxd0zsZUY7XC7fChE2yGElmrMRDmKBl23Kjpz8q3KcoHScnJnkOEWAmWTvFMz4eR+w4aed0qq0SL/Xt1EyydfSILc6tdOgB3REpvu6W7il+pmKBPARUTRra2oDquvRFBio5Lk1UKErjZOfq+3FdWh6Wus4rOLmtMoqIhqZilDW0mP4V3DFreBEUEPPH8Jr8q4DwbHgIKj7AKQoATGARlXbUBE6hgELP/4FvePDIVkPVxJvz83WUR+n5XzexHovtn6RzS0wqomJlGZeqdgynHbyve6ZuE0VBWY4gynaHRVyowaVJTbmmP/yjflCmiZga0Lb56tF+UUx0kfDJtBH7k7aB2pXsNLbbOyFz2JZhqfKnlw3JixfQlAP53axBDrEuahpQtdy5s0J/T7/iyB2a/GDFcwYfJERJzlquknjZrU/3kAg+AwzJ/QZnMTFj3f03e9NSVgEMap07t1WJIAAMgGEVtHSM45r7j/9HAQVXSHAgI6gQFTiqAvDeLMHDNm4ciggQ/3gYIRR3XlgwpSg9nc654M3oEvr8Mt672VdUhqrGj69CAIAGHgjMDvd4uHixpYWa9ejbiIX0kRr2eaOXTWVS2TRo7PaL8tvKel5atMg8wFwrujTw2yL1AHaRBieuXRyQHpzsiR+jSi83GM1fz26zS7cu5jkZfho0+tdoT1ffyj6g63s//qJzfGvPVpn0piuB7wMg5i3zo+dHJmPZV+PqzV660stEV57Ja7PL4NvuGXmDC3Jk4RSbbcWoolW2QOxjcgCGiqEu1BBLl6Bu1HXq6EJOcpdiqVHJvwnUgb9/r2kRHgGoZZX2+XY5Eybk2OXbXxRggA1u8Ksg4FVOi5LLkRahtVFWbKuaIiNhtGP2li1jTEYTs41nz5vn7m6oYYwdKLLmOuVy8ZIcdNRsJ5k+Q33pqt28r18pRHZTRJB+jW9ft0eMJNwAYz0tLwupJpc+gGLHPMSvjBq1xpw2mwPBHTcmTDelTSymJ5jQ5C00xeS2lAnTLa1Vpocv9iZvkN5OpQltokw1JptuOV12JaXYC3i8WEkGz5Bztz/97MP9SibzDoLel38/5+b5TEBHGtHUjNI4EJlGpDvFRBoxO70tmigqIrTimKJCAC7HihBdVGS6jIei/LnKsqE+U4RhRVkAR0RJ7uOj5PsbWtHYfdvGobFIT7xo7PIHQ/ZTWusVqeOSj853ZBIpY+Hf7HFVg+XvNv0srU2/LfvOVNUvojb9mnMEP/2B1CLrgLCdFdiQac3N00KY3yp56hGJyCyKCFNfjj6T7yIwrfzQz2unTfB//uf69HLyXvZQ5cV/f3ag/78f7FTqdHiN2GnKwWSKvUGe455l7FeS91BArH74G+TZjAB572T/SR6TIq+hp3gA+75C3QN9CQInTl041+ZOzrWln57fDd4L/vT7squU7Z226L7+Ta3E3ezqE43tVov7DbBXJ7Zs6gfFi5sAwMubhiMnyFqeHCT58Re2ESdH5dr25JsWjvrEnsf2gPURL7GKTLSRW3FhUvFwcuLYd/YiuoeJN8lfuKaq4n9YqP/absEWxQo2mErag+jfz+JC0GHy2FalGfJ3Ov5X+cKnG8/ul/0veQqKD4F06M+vgB/BQMY7qHeIdRqp5+1V7UrrjaAfyAkCAOTc8bKZHnC/ac+cOfDr6+k7jCBkzkgiNslUugujSfgwDZFwhjiDqM0xXdAMGNHEAKAXGKEwghbYxBANSoZpgXMAQPo9xmcA3jEBLUgyUu9fLgwPxH1w/8FBwVDLciGxIqtEN++bp36BDl3h3CFZ8wfO47Acxal/+gUsuCpW8VM9ZlZSOerls/J20HUkB0cNVBwb5mGSJCpq1biiXuyLBw4osN6yJpUWrVGFWOrRbD/w678ALegUXMI1X63/AMfDl5dGYmmG5BfXZrpmV872prQxJlKR6sUO6UnPRIKOTxBpiJ6vASosZgqMDSYSci+V1Y2b9/q174mVeB229nnWZeXkFRSVlP9uxqamrqGplbOc58LRFNxcKYsu69DCsTdgxdlMVutAo52gVtcFbvhAB0sToCms5rBTY2GdV9iqAs3ChgO7PQNcGtxbYE3E4HlHhSWE9l2pMM/htLmczCpaGhrY9QZPdLAs8SxsEDSFvbQ0xyxnRRvZa3ZXGbt9QU0dVWJBUR9Oc7y3CwE=') format('woff2'),
url('iconfont.woff?t=1569231804715') format('woff'),
url('iconfont.ttf?t=1569231804715') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1569231804715#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-vertical_line:before {
content: "\e63a";
}
.icon-shenhetongguo1:before {
content: "\e64e";
}
.icon-lingdai:before {
content: "\e6b5";
}
.icon-suo:before {
content: "\e625";
}
.icon-zhuzhuangtu:before {
content: "\e67a";
}
.icon-dianhua:before {
content: "\e60e";
}
.icon-cuowu:before {
content: "\e70e";
}
.icon-ren:before {
content: "\e6c5";
}
.icon-weizhi:before {
content: "\e603";
}
.icon-icon-test:before {
content: "\e605";
}
.icon-fuzeren:before {
content: "\e688";
}
.icon-fuxuankuang_xuanzhong:before {
content: "\e6ca";
}
.icon-shizhong:before {
content: "\e64c";
}
.icon-zuzhijiegou:before {
content: "\e61c";
}
.icon-renxiang-:before {
content: "\e622";
}
.icon-_H_:before {
content: "\e612";
}
.icon-changyongtubiao-mianxing-:before {
content: "\e783";
}

BIN
static/fonts/iconfont.eot Normal file

Binary file not shown.

1
static/fonts/iconfont.js Normal file

File diff suppressed because one or more lines are too long

128
static/fonts/iconfont.json Normal file
View File

@@ -0,0 +1,128 @@
{
"id": "",
"name": "",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "551844",
"name": "竖线",
"font_class": "vertical_line",
"unicode": "e63a",
"unicode_decimal": 58938
},
{
"icon_id": "657336",
"name": "分期-审核通过",
"font_class": "shenhetongguo1",
"unicode": "e64e",
"unicode_decimal": 58958
},
{
"icon_id": "853015",
"name": "领带",
"font_class": "lingdai",
"unicode": "e6b5",
"unicode_decimal": 59061
},
{
"icon_id": "973182",
"name": "suo",
"font_class": "suo",
"unicode": "e625",
"unicode_decimal": 58917
},
{
"icon_id": "1766281",
"name": "图表-柱状图",
"font_class": "zhuzhuangtu",
"unicode": "e67a",
"unicode_decimal": 59002
},
{
"icon_id": "2019920",
"name": "电话",
"font_class": "dianhua",
"unicode": "e60e",
"unicode_decimal": 58894
},
{
"icon_id": "4266146",
"name": "错误",
"font_class": "cuowu",
"unicode": "e70e",
"unicode_decimal": 59150
},
{
"icon_id": "4303877",
"name": "人",
"font_class": "ren",
"unicode": "e6c5",
"unicode_decimal": 59077
},
{
"icon_id": "4608884",
"name": "位置",
"font_class": "weizhi",
"unicode": "e603",
"unicode_decimal": 58883
},
{
"icon_id": "5650491",
"name": "包",
"font_class": "icon-test",
"unicode": "e605",
"unicode_decimal": 58885
},
{
"icon_id": "5809173",
"name": "负责人",
"font_class": "fuzeren",
"unicode": "e688",
"unicode_decimal": 59016
},
{
"icon_id": "5833700",
"name": "复选框_选中3",
"font_class": "fuxuankuang_xuanzhong",
"unicode": "e6ca",
"unicode_decimal": 59082
},
{
"icon_id": "6246299",
"name": "时钟",
"font_class": "shizhong",
"unicode": "e64c",
"unicode_decimal": 58956
},
{
"icon_id": "6429428",
"name": "组织结构",
"font_class": "zuzhijiegou",
"unicode": "e61c",
"unicode_decimal": 58908
},
{
"icon_id": "7447567",
"name": "人像-01",
"font_class": "renxiang-",
"unicode": "e622",
"unicode_decimal": 58914
},
{
"icon_id": "10217111",
"name": "信用风险",
"font_class": "_H_",
"unicode": "e612",
"unicode_decimal": 58898
},
{
"icon_id": "10864779",
"name": "五角星 星型 收藏",
"font_class": "changyongtubiao-mianxing-",
"unicode": "e783",
"unicode_decimal": 59267
}
]
}

77
static/fonts/iconfont.svg Normal file
View File

@@ -0,0 +1,77 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="vertical_line" unicode="&#58938;" d="M531.185-47.532c0-8.9-6.494-16.114-14.503-16.114h-9.364c-8.010 0-14.504 7.214-14.504 16.114v863.066c0 8.899 6.494 16.114 14.504 16.114h9.364c8.009 0 14.503-7.215 14.503-16.114v-863.066z" horiz-adv-x="1024" />
<glyph glyph-name="shenhetongguo1" unicode="&#58958;" d="M492.8 128c-6.4 0-12.8 0-19.2 6.4l-102.4 96c-12.8 12.8-12.8 32 0 44.8 12.8 12.8 32 12.8 44.8 0L512 185.6c12.8-12.8 12.8-32 0-44.8C512 134.4 499.2 128 492.8 128zM492.8 128c-6.4 0-19.2 6.4-25.6 12.8-12.8 12.8-12.8 32 0 44.8l204.8 198.4c12.8 12.8 32 12.8 44.8 0 12.8-12.8 12.8-32 0-44.8L512 134.4C505.6 128 499.2 128 492.8 128zM832-128 256-128c-70.4 0-128 70.4-128 153.6L128 608c0 83.2 57.6 153.6 128 153.6l128 0C396.8 838.4 467.2 896 544 896s147.2-57.6 160-134.4l128 0c70.4 0 128-70.4 128-153.6l0-582.4C960-57.6 902.4-128 832-128zM256 697.6c-38.4 0-64-44.8-64-89.6l0-582.4C192-19.2 224-64 256-64L832-64c38.4 0 64 44.8 64 89.6L896 608c0 51.2-32 89.6-64 89.6l-160 0c-6.4 0-19.2 6.4-25.6 12.8C640 716.8 640 723.2 640 729.6c0 0 0 6.4 0 6.4C640 787.2 595.2 832 544 832S448 787.2 448 736c0 0 0 0 0 0 0-6.4 0-19.2-6.4-25.6C435.2 704 422.4 697.6 416 697.6L256 697.6zM736 544l-384 0C332.8 544 320 556.8 320 576L320 704c0 19.2 12.8 32 32 32S384 723.2 384 704l0-96 320 0L704 704c0 19.2 12.8 32 32 32S768 723.2 768 704l0-128C768 556.8 755.2 544 736 544z" horiz-adv-x="1024" />
<glyph glyph-name="lingdai" unicode="&#59061;" d="M893.456828 186.944995M491.889987 558.060291M568.154951 557.006286M709.039655 103.587496c-20.708648 174.401052-107.328447 464.491986-126.550231 527.540951 62.075801 67.906599 83.463923 175.224814 84.384899 179.975001 2.174526 11.244089-5.068436 22.170952-16.271592 24.539906-2.729158 0.584308-67.332525 14.147208-122.711809 14.147208-55.359842 0-120.362298-13.542434-123.101689-14.116509-11.213389-2.359744-18.466584-13.265118-16.302291-24.529673 0.910743-4.739954 22.167882-112.090914 84.238566-180.010817-19.271926-63.060221-106.016569-352.901469-126.722146-527.289218-0.677429-5.714142 1.026376-11.460006 4.699022-15.891945 2.298346-2.77009 57.565067-68.62496 164.40642-133.402289 3.241834-1.969864 6.883781-2.913353 10.535961-2.913353 2.034333 0 4.052293 0.35918 6.027274 0.937348 2.359744 0.431835 4.678556 1.119497 6.817266 2.365884 1.609661 0.938372 3.009544 2.142803 4.300956 3.450589 113.421212 63.967894 160.426783 127.675868 162.402787 130.402979C708.290595 93.072001 709.654662 98.355331 709.039655 103.587496zM527.889899 807.768493c32.584116 0 69.907163-4.090155 92.713588-7.988951-8.966209-32.93204-30.634718-97.476055-70.625524-139.431609L505.237993 660.347932c-39.980573 41.955554-61.576427 106.47808-70.502727 139.421376C457.665511 803.668105 495.245408 807.768493 527.889899 807.768493zM526.084787-2.842489c-75.077929 47.192835-121.593336 95.489818-137.187499 112.38665 21.626553 167.042457 102.963023 435.171194 123.091456 508.84924l31.229259 0c20.128433-73.678046 101.516068-342.770737 123.019825-509.772262C652.499941 92.339314 609.185436 44.689061 526.084787-2.842489z" horiz-adv-x="1024" />
<glyph glyph-name="suo" unicode="&#58917;" d="M512 128c-17.664 0-32 14.304-32 32l0 96c0 17.696 14.336 32 32 32s32-14.304 32-32l0-96C544 142.304 529.664 128 512 128zM832-64 192-64c-52.928 0-96 43.072-96 96L96 384c0 52.928 43.072 96 96 96l640 0c52.928 0 96-43.072 96-96l0-352C928-20.928 884.928-64 832-64zM192 416c-17.632 0-32-14.368-32-32l0-352c0-17.664 14.368-32 32-32l640 0c17.664 0 32 14.336 32 32L864 384c0 17.632-14.336 32-32 32L192 416zM736 416c-17.696 0-32 14.336-32 32L704 577.984C704 686.752 601.76 768 510.336 768 416.768 768 320 697.088 320 578.432L320 448c0-17.664-14.336-32-32-32s-32 14.336-32 32L256 578.432C256 737.152 385.312 832 510.336 832 632.224 832 768 727.68 768 577.984L768 448C768 430.336 753.696 416 736 416z" horiz-adv-x="1024" />
<glyph glyph-name="zhuzhuangtu" unicode="&#59002;" d="M320 544h-256v-480h256v480zM256 128h-128v352h128v-352zM640 832h-256v-768h256v768zM576 128h-128v640h128v-640zM64 0h896v-64h-896zM704 64h256v608h-256v-608zM768 608h128v-480h-128v480z" horiz-adv-x="1024" />
<glyph glyph-name="dianhua" unicode="&#58894;" d="M737.6-38.4c-342.4 0-624.8 258.4-656.8 600.8v0.8c-0.8 5.6-1.6 12.8-2.4 19.2 0 4.8-0.8 10.4-0.8 14.4 0.8 70.4 36 135.2 95.2 175.2 30.4 20.8 66.4 32.8 103.2 34.4h12.8c63.2 0 123.2-28 163.2-76.8 44-52.8 58.4-123.2 40.8-192-17.6-68-69.6-121.6-138.4-144l-22.4-7.2 14.4-18.4c63.2-80 140-143.2 228.8-188.8l18.4-9.6 4.8 20c16 72 80.8 125.6 158.4 129.6h8c94.4 0 173.6-72 181.6-164.8 2.4-25.6-1.6-51.2-9.6-76-22.4-62.4-77.6-107.2-144-116.8-4.8-0.8-8.8-0.8-13.6-1.6-13.6 2.4-28 1.6-41.6 1.6zM117.6 568c30.4-324 296.8-568 620-568 12.8 0 26.4 0.8 40 1.6h3.2c2.4 0 4.8 0 7.2 0.8 52.8 7.2 96 43.2 114.4 92 7.2 19.2 9.6 39.2 8 60-5.6 72-69.6 130.4-141.6 130.4h-6.4c-62.4-4-115.2-46.4-130.4-105.6-5.6-20.8-27.2-36.8-50.4-36.8-8 0-15.2 1.6-21.6 4.8-110.4 56-204.8 140.8-274.4 244-4 5.6-4 12.8-1.6 18.4 3.2 6.4 9.6 11.2 16.8 12 74.4 4.8 139.2 56 157.6 125.6 15.2 56.8 2.4 115.2-33.6 158.4-33.6 40-82.4 63.2-134.4 63.2H280c-30.4-1.6-60-12-84.8-28.8-48.8-32-78.4-86.4-78.4-144V584c-0.8-4.8 0-10.4 0.8-16z" horiz-adv-x="1024" />
<glyph glyph-name="cuowu" unicode="&#59150;" d="M512 413.866667l196.266667 196.266666c8.533333 8.533333 21.333333 8.533333 29.866666 0 8.533333-8.533333 8.533333-21.333333 0-29.866666L541.866667 384l196.266666-196.266667c8.533333-8.533333 8.533333-21.333333 0-29.866666-8.533333-8.533333-21.333333-8.533333-29.866666 0L512 354.133333l-196.266667-196.266666c-8.533333-8.533333-21.333333-8.533333-29.866666 0-8.533333 8.533333-8.533333 21.333333 0 29.866666l196.266666 196.266667-200.533333 196.266667c-8.533333 8.533333-8.533333 21.333333 0 29.866666 8.533333 8.533333 21.333333 8.533333 29.866667 0l200.533333-196.266666z" horiz-adv-x="1024" />
<glyph glyph-name="ren" unicode="&#59077;" d="M78.22291438-72.30107625000005c0-14.21935406 9.47956969-23.69892375 23.69892374-23.69892375s23.69892375 9.47956969 23.69892375 23.69892375c0 213.33036656 173.03552063 386.36588719 386.36588625 386.36588625s386.37923813-173.03552063 386.37923907-386.36588625c0-14.21935406 9.47956969-23.69892375 23.69892281-23.69892375s23.69892375 9.47956969 23.69892375 23.69892375c0 196.74779531-132.74067469 362.66696344-310.51597969 417.19451437 90.06926062 45.03463031 151.713165 137.52051375 151.713165 244.14564282C786.96091906 740.738895 663.69981406 864 511.98664813 864S237.03908094 740.738895 237.03908094 589.0390809400001c0-106.66518281 61.6305525-199.1110125 151.69981406-244.14564281C208.60037281 292.74245530999997 78.22291438 126.82328718999997 78.22291438-72.30107625000005z m206.22736499 663.75678c0 125.62432219 101.92539844 227.56307156 227.54972063 227.56307156s227.56307156-101.99215594 227.56307156-227.56307156S637.651025 363.85257750000005 512 363.85257750000005s-227.54972063 101.92539844-227.54972063 227.60312625z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="weizhi" unicode="&#58883;" d="M822.7 523.2C822.7 694 683.8 832.9 513 832.9S203.3 694 203.3 523.2h0.7c-0.1-2.5-0.2-4.9-0.2-7.4 0-147.6 208.8-438.9 287.4-555.4l21.8-23.9 21.8 23.9c78.6 108.4 287.4 407.8 287.4 555.4 0 2.5-0.1 4.9-0.2 7.4h0.7zM513 27.9c-73.7 100.8-250.1 380.5-250.1 487.9 0 137.9 112.2 250.1 250.1 250.1s250.1-112.2 250.1-250.1c0-107.4-176.4-387.1-250.1-487.9zM513 675.4c-82.2 0-149.1-66.9-149.1-149.1S430.8 377.1 513 377.1 662.1 444 662.1 526.2 595.2 675.4 513 675.4z m0-244.4c-52.5 0-95.2 42.7-95.2 95.2s42.7 95.2 95.2 95.2 95.2-42.7 95.2-95.2S565.5 431 513 431z" horiz-adv-x="1024" />
<glyph glyph-name="icon-test" unicode="&#58885;" d="M113.066667 378.666667h822.4v-70.4H113.066667zM804.266667-29.866667H243.2C162.133333-29.866667 96 36.266667 96 117.333333V428.8C96 509.866667 162.133333 576 243.2 576h561.066667c81.066667 0 147.2-66.133333 147.2-147.2V117.333333c0-81.066667-66.133333-147.2-147.2-147.2zM243.2 526.933333c-53.333333 0-98.133333-43.733333-98.133333-98.133333V117.333333c0-53.333333 43.733333-98.133333 98.133333-98.133333h561.066667c53.333333 0 98.133333 43.733333 98.133333 98.133333V428.8c0 53.333333-43.733333 98.133333-98.133333 98.133333H243.2zM697.6 548.266667H349.866667v58.666666c0 109.866667 58.666667 122.666667 84.266666 122.666667h179.2c25.6 0 44.8-7.466667 59.733334-22.4 25.6-25.6 25.6-66.133333 24.533333-91.733333v-67.2z m-298.666667 49.066666h248.533334v8.533334 8.533333c0 18.133333 1.066667 44.8-10.666667 56.533333-2.133333 2.133333-7.466667 7.466667-24.533333 7.466667H434.133333c-29.866667 0-35.2-45.866667-35.2-72.533333v-8.533334zM523.733333 225.066667c-61.866667 0-112 50.133333-112 112V362.666667h225.066667v-24.533334c-1.066667-61.866667-51.2-113.066667-113.066667-113.066666z m-57.6 87.466666c9.6-22.4 32-37.333333 57.6-37.333333 25.6 0 48 16 57.6 37.333333H466.133333z" horiz-adv-x="1024" />
<glyph glyph-name="fuzeren" unicode="&#59016;" d="M586 236.9c0 9.6-12.1 25.3-31.8 51h-84.6c-19.6-25.6-31.7-41.4-31.7-51 0.8-10.5 23.5-56.5 44.2-83.1-17.7-78.8-38.5-137.5-38.5-206.2 0-23.5 51.9-72.3 67.5-73.6h1.7c15.5 1.2 67.5 50.1 67.5 73.6 0 68.7-20.9 127.4-38.5 206.2 20.8 26.8 43.4 72.7 44.2 83.1zM512 832.5c59.9 0 116.2-23.3 158.6-65.7 42.4-42.4 65.7-98.7 65.7-158.6S712.9 492 670.6 449.7C628.2 407.3 571.9 384 512 384s-116.2 23.3-158.6 65.7-65.7 98.7-65.7 158.6 23.3 116.2 65.7 158.6c42.4 42.3 98.7 65.6 158.6 65.6M512 896C353.1 896 224.3 767.2 224.3 608.3S353.1 320.5 512 320.5s287.7 128.8 287.7 287.7S670.9 896 512 896zM1024-128h-63.8c0 247.1-201.1 448.2-448.2 448.2S63.8 119.1 63.8-128H0c0 69.1 13.5 136.2 40.2 199.3C66 132.3 103 187 150 234s101.8 83.9 162.7 109.7C375.8 370.5 442.9 384 512 384s136.2-13.5 199.3-40.2C772.3 318 827 281 874 234s83.9-101.8 109.7-162.7c26.8-63.1 40.3-130.2 40.3-199.3z" horiz-adv-x="1024" />
<glyph glyph-name="fuxuankuang_xuanzhong" unicode="&#59082;" d="M904 896H120C54 896 0 842 0 776v-784c0-66 54-120 120-120h784c66 0 120 54 120 120V776c0 66-54 120-120 120zM787.1 524.8L460.4 198.1l-0.1-0.1c-12.4-12.4-32.7-12.4-45.1 0l-0.1 0.1-178.2 178.2c-12.4 12.4-12.4 32.7 0 45.1l0.1 0.1c12.4 12.4 32.7 12.4 45.1 0l155.6-155.6L741.9 570c12.4 12.4 32.7 12.4 45.1 0l0.1-0.1c12.4-12.4 12.4-32.7 0-45.1z" horiz-adv-x="1024" />
<glyph glyph-name="shizhong" unicode="&#58956;" d="M512 888.986301C232.854795 888.986301 7.013699 663.145205 7.013699 384s225.841096-504.986301 504.986301-504.986301 504.986301 225.841096 504.986301 504.986301-227.243836 504.986301-504.986301 504.986301z m0-939.835616c-239.868493 0-434.849315 194.980822-434.849315 434.849315s194.980822 434.849315 434.849315 434.849315 434.849315-194.980822 434.849315-434.849315-196.383562-434.849315-434.849315-434.849315zM576.526027 364.361644c1.40274 5.610959 2.805479 12.624658 2.80548 19.638356 0 26.652055-15.430137 50.49863-37.873973 63.123288V723.463014c0 19.638356-15.430137 35.068493-35.068493 35.068493s-35.068493-15.430137-35.068493-35.068493V447.123288c-22.443836-12.624658-37.873973-35.068493-37.873973-63.123288 0-39.276712 32.263014-72.942466 72.942466-72.942466 7.013699 0 14.027397 1.40274 19.638356 2.80548l136.065754-136.065754c7.013699-7.013699 15.430137-9.819178 25.249315-9.819178s18.235616 2.805479 25.249315 9.819178c14.027397 14.027397 14.027397 36.471233 0 49.095891l-136.065754 137.468493z" horiz-adv-x="1024" />
<glyph glyph-name="zuzhijiegou" unicode="&#58908;" d="M957.134328 191.044776h-63.681592V339.422886a63.681592 63.681592 0 0 1-63.681592 63.681592H543.840796V550.845771h77.054726a63.681592 63.681592 0 0 1 63.681592 63.681592V832.318408a63.681592 63.681592 0 0 1-63.681592 63.681592H403.104478a63.681592 63.681592 0 0 1-63.681592-63.681592v-217.791045a63.681592 63.681592 0 0 1 63.681592-63.681592h77.054726v-147.741293H192.955224a63.681592 63.681592 0 0 1-63.681592-63.681592v-148.37811H65.59204a63.681592 63.681592 0 0 1-63.681592-63.681592v-191.044776a63.681592 63.681592 0 0 1 63.681592-63.681592h191.044776a63.681592 63.681592 0 0 1 63.681592 63.681592v191.044776a63.681592 63.681592 0 0 1-63.681592 63.681592H192.955224V339.422886h286.567164v-148.37811h-63.681592a63.681592 63.681592 0 0 1-63.681592-63.681592v-191.044776a63.681592 63.681592 0 0 1 63.681592-63.681592h191.044776a63.681592 63.681592 0 0 1 63.681592 63.681592v191.044776a63.681592 63.681592 0 0 1-63.681592 63.681592h-63.681592V339.422886H829.771144v-148.37811h-63.681592a63.681592 63.681592 0 0 1-63.681592-63.681592v-191.044776a63.681592 63.681592 0 0 1 63.681592-63.681592h191.044776a63.681592 63.681592 0 0 1 63.681592 63.681592v191.044776a63.681592 63.681592 0 0 1-63.681592 63.681592zM403.104478 832.318408h217.791044v-217.791045H403.104478zM256.636816-64.318408H65.59204v191.044776h191.044776v-191.044776z m350.248756 0z m0 0h-191.044776v191.044776h191.044776z m350.885572-31.840796v31.840796H766.089552v191.044776h191.044776v-191.044776z" horiz-adv-x="1024" />
<glyph glyph-name="renxiang-" unicode="&#58914;" d="M514.6 391.7c111.9 0 203 91.1 203 203s-91.1 203-203 203-203-91.1-203-203 91-203 203-203z m0 376c95.4 0 173-77.6 173-173s-77.6-173-173-173-173 77.6-173 173 77.6 173 173 173zM882.5-6.4c-2.7 95.8-42 185.5-110.8 252.5-68.9 67.1-159.9 104.1-256.1 104.1s-187.2-37-256.1-104.1c-68.8-67-108.1-156.7-110.8-252.5-0.2-6.8 2.3-13.2 7-18 4.7-4.8 11.2-7.6 17.9-7.6h683.9c6.7 0 13.3 2.8 17.9 7.6 4.8 4.8 7.3 11.3 7.1 18zM178.8-2c7.7 181.1 154.7 322.3 336.8 322.3 182.1 0 329-141.1 336.8-322.3H178.8zM431.1 477.6c4.9-4.2 35.9-28.9 81.7-28.9 24.6 0 53.6 7.2 85 28.6 3.7 2.5 4.6 7.5 2.1 11.1-2.5 3.7-7.5 4.6-11.1 2.1-80-54.5-140.6-6.4-147.3-0.7l-0.1 0.1c-3.4 2.8-8.4 2.4-11.2-1-2.9-3.4-2.5-8.5 0.9-11.3z" horiz-adv-x="1024" />
<glyph glyph-name="_H_" unicode="&#58898;" d="M253.866667 375.68L50.56 24.106667A58.666667 58.666667 0 0 1 101.333333-64h406.613334a58.666667 58.666667 0 0 1 50.773333 88.106667l-203.306667 351.573333a58.666667 58.666667 0 0 1-101.546666 0zM512-21.333333a405.333333 405.333333 0 1 0 405.333333 405.333333 405.333333 405.333333 0 0 0-405.333333-405.333333z m0 762.88A357.546667 357.546667 0 1 1 869.546667 384 357.973333 357.973333 0 0 1 512 741.546667zM380.8 181.333333a23.893333 23.893333 0 0 0-23.68 23.893334v256l-26.453333-52.053334a23.893333 23.893333 0 1 0-42.666667 21.333334l71.466667 142.933333a23.893333 23.893333 0 0 0 45.226666-10.666667v-357.546666a23.893333 23.893333 0 0 0-23.893333-23.893334zM678.826667 490.666667h-190.72a23.893333 23.893333 0 1 0 0 47.573333h190.72a23.893333 23.893333 0 1 0 0-47.573333zM678.826667 419.84h-190.72a23.893333 23.893333 0 1 0 0 47.573333h190.72a23.893333 23.893333 0 1 0 0-47.573333zM678.826667 348.16h-190.72a23.893333 23.893333 0 1 0 0 47.786667h190.72a23.893333 23.893333 0 0 0 0-47.786667zM678.826667 181.333333h-190.72a23.893333 23.893333 0 0 0-23.893334 23.893334v95.36a23.893333 23.893333 0 0 0 23.893334 23.893333h190.72a23.893333 23.893333 0 0 0 23.893333-23.893333v-95.36a23.893333 23.893333 0 0 0-23.893333-23.893334zM512 229.12h143.146667V277.333333H512zM583.466667 490.666667a23.893333 23.893333 0 0 0-23.68 23.893333v48.213333a23.893333 23.893333 0 1 0 47.573333 0v-47.573333A23.893333 23.893333 0 0 0 583.466667 490.666667z" horiz-adv-x="1024" />
<glyph glyph-name="changyongtubiao-mianxing-" unicode="&#59267;" d="M916.48 402.4832l-159.7952-155.7504 37.7344-220.16a57.1904 57.1904 0 0 0-83.0976-60.3648l-197.7856 104.0384-197.5296-103.8336a57.2416 57.2416 0 0 0-83.0464 60.3648l37.6832 220.16-159.7952 155.5456a57.2928 57.2928 0 0 0 31.744 97.6896L363.52 532.224 462.1824 732.16a56.832 56.832 0 0 0 51.2 31.8976 56.832 56.832 0 0 0 51.2-31.8976l98.7648-200.1408 220.8256-32.0512A57.2928 57.2928 0 0 0 916.48 402.4832z" horiz-adv-x="1024" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/fonts/iconfont.ttf Normal file

Binary file not shown.

BIN
static/fonts/iconfont.woff Normal file

Binary file not shown.

BIN
static/fonts/iconfont.woff2 Normal file

Binary file not shown.

Binary file not shown.

BIN
static/img/apple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
static/img/bg0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

BIN
static/img/bg1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

BIN
static/img/btg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Some files were not shown because too many files have changed in this diff Show More