Commit 0a1a1472 authored by huangjs's avatar huangjs

init

parents
Pipeline #988 failed with stages
{
"env": {
"test": {
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
}
}
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
module.exports = {
root: true,
env: {
browser: true,
node: true
},
parserOptions: {
parser: 'babel-eslint'
},
extends: [
'@nuxtjs',
'prettier',
'prettier/vue',
// 'plugin:prettier/recommended',
'plugin:nuxt/recommended'
],
plugins: ['prettier'],
// add your custom rules here
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-alert': process.env.NODE_ENV === 'production' ? 'error' : 'off'
}
}
* text=auto eol=lf
\ No newline at end of file
# Created by .ignore support plugin (hsz.mobi)
### Node template
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# Nuxt generate
dist
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless
# IDE / Editor
.idea
# Service worker
sw.*
# Mac OSX
.DS_Store
# Vim swap files
*.swp
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
/test/unit/coverage/
/test/e2e/reports/
selenium-debug.log
# Editor directories and files
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
{
"printWidth": 120,
"tabWidth": 2,
"useTabs": false,
"eslintIntegration": true,
"semi": false,
"arrowParens": "always",
"singleQuote": true,
"quoteProps": "as-needed",
"jsxSingleQuote": true,
"trailingComma": "none",
"bracketSpacing": true,
"jsxBracketSameLine": true,
"endOfLine": "lf"
}
FROM docker.io/node
ENV TZ=Asia/Shanghai
ENV NODE_ENV=production
ENV HOST 0.0.0.0
RUN /bin/cp /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /html
COPY . /html
WORKDIR /html
EXPOSE 8080
ENTRYPOINT ["npm", "start"]
空中课堂pc
<!-- 自定义模版 -->
<!DOCTYPE html>
<!--[if IE 9]><html lang="en-US" class="lt-ie9 ie9" {{ HTML_ATTRS }}><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html {{ HTML_ATTRS }}><!--<![endif]-->
<head {{ HEAD_ATTRS }}>
{{ HEAD }}
</head>
<body {{ BODY_ATTRS }}>
{{ APP }}
</body>
</html>
# ASSETS
**此目录不是必需的,如果不想使用,可以将其删除。**
此目录包含未编译的资源,如less、sass或javascript。
1. audio:音频
2. video:视频
3. img:图片
4. fonts:字体
5. 通用scss: 非 7 + 1 模式,主要是存放公共的scss
6. 第三方打包好的JS
7.
\ No newline at end of file
@charset "UTF-8";/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2015 Daniel Eden
*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);-ms-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);-ms-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);-ms-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);-ms-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);-ms-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);-ms-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);-ms-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);-ms-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);-ms-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);-ms-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);-ms-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);-ms-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);-ms-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);-ms-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);-ms-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);-ms-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);-ms-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);-ms-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);-ms-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;-ms-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);-ms-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);-ms-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);-ms-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);-ms-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);-ms-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);-ms-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);-ms-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);-ms-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);-ms-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);-ms-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);-ms-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);-ms-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);-ms-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);-ms-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);-ms-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);-ms-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);-ms-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);-ms-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);-ms-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);-ms-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);-ms-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-ms-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);-ms-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);-ms-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);-ms-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);-ms-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);-ms-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-ms-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);-ms-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);-ms-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);-ms-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);-ms-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-ms-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-ms-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);-ms-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-ms-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);-ms-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);-ms-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);-ms-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-ms-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);-ms-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);-ms-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);-ms-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);-ms-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);-ms-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);-ms-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);-ms-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);-ms-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);-ms-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);-ms-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);-ms-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);-ms-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);-ms-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);-ms-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);-ms-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);-ms-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}
This source diff could not be displayed because it is too large. You can view the blob instead.
@charset "UTF-8";
html {
font-size: 10vw; }
@media screen and (min-width: 1000px) {
html {
font-size: 120px; } }
@media screen and (min-width: 1200px) {
html {
font-size: 140px; } }
@media screen and (min-width: 1300px) {
html {
font-size: 140px; } }
@media screen and (min-width: 1400px) {
html {
font-size: 140px; } }
@media screen and (min-width: 1500px) {
html {
font-size: 140px; } }
@media screen and (min-width: 1900px) {
html {
font-size: 150px; } }
html {
height: 100%; }
html body {
height: 100%;
overflow: auto; }
.page {
margin: auto;
padding-left: 40px;
padding-right: 50px; }
.d-box {
width: 100%;
overflow: hidden;
margin-top: 10px; }
.d-box .d-menu {
width: 145px;
float: left;
height: auto;
margin-top: -13px; }
.d-box .d-menu.d-menu-fix {
position: fixed;
background: #ffffff;
margin-top: 0;
z-index: 99; }
.d-box .d-menu .el-menu {
border-radius: 10px; }
.d-box .d-menu .el-menu.el-button--primary.is-plain, .d-box .d-menu .el-menu.el-button--primary.is-plain.is-disabled, .d-box .d-menu .el-menu.el-button--primary.is-plain.is-disabled:active, .d-box .d-menu .el-menu.el-button--primary.is-plain.is-disabled:focus, .d-box .d-menu .el-menu.el-button--primary.is-plain.is-disabled:hover {
background: transparent !important;
border-color: transparent !important; }
.d-box .d-menu .el-menu .el-menu-item {
padding: 0 10px;
padding-left: 10px !important;
height: 40px;
line-height: 40px;
text-align: left;
position: relative; }
.d-box .d-menu .el-menu .el-menu-item.is-active::after {
content: '';
height: 30px;
width: 2px;
background: #013E93;
position: absolute;
right: 0;
top: 5px;
display: none; }
.d-box .d-menu .el-menu .el-menu-item:focus, .d-box .d-menu .el-menu .el-menu-item:hover {
background: transparent !important; }
.d-box .d-content {
padding-left: 20px;
overflow-x: hidden;
overflow-y: hidden; }
.d-box .d-content.d-content-fix {
width: calc( 100% - 165px );
float: right; }
.d-box .d-content.d-content-fix .el-collapse {
background: #ffffff;
border: none; }
.d-box .d-content.d-content-fix .el-collapse .el-collapse-item__header {
color: #013E93;
font-size: 14px;
border-bottom: 1px solid #EBEEF5; }
.d-box .d-content.d-content-fix .el-collapse .el-collapse-item__wrap {
border-bottom: none;
padding-top: 10px; }
/* reset */
* {
box-sizing: border-box; }
html, body, h1, h2, h3, h4, h5, h6, div, dl, dt, dd, ul, ol, li, p, blockquote, pre, hr, figure, table, caption, th, td, form, fieldset, legend, input, button, textarea, menu {
font-family: 'Microsoft YaHei';
margin: 0;
padding: 0; }
header, footer, section, article, aside, nav, hgroup, address, figure, figcaption, menu, details {
display: block; }
table {
border-collapse: collapse;
border-spacing: 0; }
caption, th {
text-align: left;
font-weight: normal; }
html, body, fieldset, img, iframe, abbr {
border: 0; }
i, cite, em, var, address, dfn {
font-style: normal; }
[hidefocus], summary {
outline: 0; }
li {
list-style: none; }
h1, h2, h3, h4, h5, h6, small {
font-size: 100%; }
sup, sub {
font-size: 83%; }
pre, code, kbd, samp {
font-family: inherit; }
q:before, q:after {
content: none; }
textarea {
overflow: auto;
resize: none; }
label, summary {
cursor: default; }
a, button {
cursor: pointer; }
h1, h2, h3, h4, h5, h6, em, strong, b {
font-weight: bold; }
del, ins, u, s, a, a:hover {
text-decoration: none; }
body, textarea, input, button, select, keygen, legend {
font: 12px/1.14 Microsoft YaHei, arial, \5b8b\4f53;
color: #333;
outline: 0; }
body {
background: #ffffff; }
a, a:hover {
color: #333; }
.text-danger {
color: #FF5E5E; }
.text-success {
color: #82EF2C; }
@media screen and (min-width: 800px) {
.text12 {
font-size: 0.0631578947rem; }
.text14 {
font-size: 0.0736842105rem; }
.text16 {
font-size: 0.0842105263rem; }
.text18 {
font-size: 0.0947368421rem; }
.text20 {
font-size: 0.1052631579rem; }
.text22 {
font-size: 0.1157894737rem; }
.text24 {
font-size: 0.1263157895rem; }
.text26 {
font-size: 0.1368421053rem; }
.text28 {
font-size: 0.1473684211rem; }
.text30 {
font-size: 0.1578947368rem; }
.text32 {
font-size: 0.1684210526rem; }
/* ==================
color
==================== */
.text-black,
.line-black,
.lines-black {
color: #333333; }
.text-white,
.line-white,
.lines-white {
color: #ffffff; }
/* -- flex -- */
.flex {
display: flex; }
.basis20 {
flex-basis: 20%; }
.basis40 {
flex-basis: 40%; }
.basis50 {
flex-basis: 50%; }
.basis60 {
flex-basis: 60%; }
.basis80 {
flex-basis: 80%; }
/* -- margin -- */
.margin-0 {
margin: 0; }
.margin10 {
margin: 0.0526315789rem; }
.margin20 {
margin: 0.1052631579rem; }
.margin30 {
margin: 0.1578947368rem; }
.margin40 {
margin: 0.2105263158rem; }
.margin50 {
margin: 0.2631578947rem; }
.margin-top10 {
margin-top: 0.0526315789rem; }
.margin-top20 {
margin-top: 0.1052631579rem; }
.margin-top30 {
margin-top: 0.1578947368rem; }
.margin-top40 {
margin-top: 0.2105263158rem; }
.margin-top50 {
margin-top: 0.2631578947rem; }
.margin-right10 {
margin-right: 0.0526315789rem; }
.margin-right20 {
margin-right: 0.1052631579rem; }
.margin-right30 {
margin-right: 0.1578947368rem; }
.margin-right40 {
margin-right: 0.2105263158rem; }
.margin-right50 {
margin-right: 0.2631578947rem; }
.margin-bottom10 {
margin-bottom: 0.0526315789rem; }
.margin-bottom20 {
margin-bottom: 0.1052631579rem; }
.margin-bottom30 {
margin-bottom: 0.1578947368rem; }
.margin-bottom40 {
margin-bottom: 0.2105263158rem; }
.margin-bottom50 {
margin-bottom: 0.2631578947rem; }
.margin-left10 {
margin-left: 0.0526315789rem; }
.margin-left20 {
margin-left: 0.1052631579rem; }
.margin-left30 {
margin-left: 0.1578947368rem; }
.margin-left40 {
margin-left: 0.2105263158rem; }
.margin-left50 {
margin-left: 0.2631578947rem; }
.margin-lr10 {
margin-left: 0.0526315789rem;
margin-right: 0.0526315789rem; }
.margin-lr20 {
margin-left: 0.1052631579rem;
margin-right: 0.1052631579rem; }
.margin-lr30 {
margin-left: 0.1578947368rem;
margin-right: 0.1578947368rem; }
.margin-lr40 {
margin-left: 0.2105263158rem;
margin-right: 0.2105263158rem; }
.margin-lr50 {
margin-left: 0.2631578947rem;
margin-right: 0.2631578947rem; }
.margin-tb10 {
margin-top: 0.0526315789rem;
margin-bottom: 0.0526315789rem; }
.margin-tb20 {
margin-top: 0.1052631579rem;
margin-bottom: 0.1052631579rem; }
.margin-tb30 {
margin-top: 0.1578947368rem;
margin-bottom: 0.1578947368rem; }
.margin-tb40 {
margin-top: 0.2105263158rem;
margin-bottom: 0.2105263158rem; }
.margin-tb50 {
margin-top: 0.2631578947rem;
margin-bottom: 0.2631578947rem; }
.padding-0 {
padding: 0; }
.padding10 {
padding: 0.0526315789rem; }
.padding20 {
padding: 0.1052631579rem; }
.padding30 {
padding: 0.1578947368rem; }
.padding40 {
padding: 0.2105263158rem; }
.padding50 {
padding: 0.2631578947rem; }
.padding-top10 {
padding-top: 0.0526315789rem; }
.padding-top20 {
padding-top: 0.1052631579rem; }
.padding-top30 {
padding-top: 0.1578947368rem; }
.padding-top40 {
padding-top: 0.2105263158rem; }
.padding-top50 {
padding-top: 0.2631578947rem; }
.padding-right10 {
padding-right: 0.0526315789rem; }
.padding-right20 {
padding-right: 0.1052631579rem; }
.padding-right30 {
padding-right: 0.1578947368rem; }
.padding-right40 {
padding-right: 0.2105263158rem; }
.padding-right50 {
padding-right: 0.2631578947rem; }
.padding-bottom10 {
padding-bottom: 0.0526315789rem; }
.padding-bottom20 {
padding-bottom: 0.1052631579rem; }
.padding-bottom30 {
padding-bottom: 0.1578947368rem; }
.padding-bottom40 {
padding-bottom: 0.2105263158rem; }
.padding-bottom50 {
padding-bottom: 0.2631578947rem; }
.padding-left10 {
padding-left: 0.0526315789rem; }
.padding-left20 {
padding-left: 0.1052631579rem; }
.padding-left30 {
padding-left: 0.1578947368rem; }
.padding-left40 {
padding-left: 0.2105263158rem; }
.padding-left50 {
padding-left: 0.2631578947rem; }
.padding-lr10 {
padding-left: 0.0526315789rem;
padding-right: 0.0526315789rem; }
.padding-lr20 {
padding-left: 0.1052631579rem;
padding-right: 0.1052631579rem; }
.padding-lr30 {
padding-left: 0.1578947368rem;
padding-right: 0.1578947368rem; }
.padding-lr40 {
padding-left: 0.2105263158rem;
padding-right: 0.2105263158rem; }
.padding-lr50 {
padding-left: 0.2631578947rem;
padding-right: 0.2631578947rem; }
.padding-tb10 {
padding-top: 0.0526315789rem;
padding-bottom: 0.0526315789rem; }
.padding-tb20 {
padding-top: 0.1052631579rem;
padding-bottom: 0.1052631579rem; }
.padding-tb30 {
padding-top: 0.1578947368rem;
padding-bottom: 0.1578947368rem; }
.padding-tb40 {
padding-top: 0.2105263158rem;
padding-bottom: 0.2105263158rem; }
.padding-tb50 {
padding-top: 0.2631578947rem;
padding-bottom: 0.2631578947rem; }
.justify-between {
justify-content: space-between; }
.justify-center {
justify-content: center; }
.justify-end {
justify-content: flex-end; }
.justify-start {
justify-content: flex-start; }
.justify-around {
justify-content: space-around; }
.flex-wrap {
flex-wrap: wrap; }
.align-center {
align-items: center; } }
.detailHtml {
max-width: 100% !important; }
.detailHtml img, .detailHtml table {
max-width: 100% !important;
margin: auto;
height: auto !important; }
.detailHtml a, .detailHtml span {
word-break: break-all !important; }
/* function */
.f-cb:after, .f-cbli li:after {
display: block;
clear: both;
visibility: hidden;
height: 0;
overflow: hidden;
content: "."; }
.f-cb, .f-cbli li {
zoom: 1; }
.f-ib {
display: inline-block;
*display: inline;
*zoom: 1; }
.f-dn {
display: none; }
.f-db {
display: block; }
.f-fl {
float: left; }
.f-fr {
float: right; }
.f-pr {
position: relative; }
.f-prz {
position: relative;
zoom: 1; }
.f-oh {
overflow: hidden; }
.f-ff0 {
font-family: arial, \5b8b\4f53; }
.f-ff1 {
font-family: "Microsoft YaHei", \5fae\8f6f\96c5\9ed1, arial, \5b8b\4f53; }
.f-fs1 {
font-size: 12px; }
.f-fs2 {
font-size: 14px; }
.f-fwn {
font-weight: normal; }
.f-fwb {
font-weight: bold; }
.f-tal {
text-align: left; }
.f-tac {
text-align: center; }
.f-tar {
text-align: right; }
.f-taj {
text-align: justify;
text-justify: inter-ideograph; }
.f-vam, .f-vama * {
vertical-align: middle; }
.f-wsn {
word-wrap: normal;
white-space: nowrap; }
.f-pre {
overflow: hidden;
text-align: left;
white-space: pre-wrap;
word-wrap: break-word;
word-break: break-all; }
.f-wwb {
white-space: normal;
word-wrap: break-word;
word-break: break-all; }
.f-ti {
overflow: hidden;
text-indent: -30000px; }
.f-ti2 {
text-indent: 2em; }
.f-lhn {
line-height: normal; }
.f-tdu, .f-tdu:hover {
text-decoration: underline; }
.f-tdn, .f-tdn:hover {
text-decoration: none; }
.f-toe {
overflow: hidden;
word-wrap: normal;
white-space: nowrap;
text-overflow: ellipsis; }
.f-csp {
cursor: pointer; }
.f-csd {
cursor: default; }
.f-csh {
cursor: help; }
.f-csm {
cursor: move; }
.f-usn {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none; }
/* CSS Document */
body, ol, ul, h1, h2, h3, h4, h5, h6, p, th, td, dl, dd, form, fieldset, legend, input, textarea, select, td {
margin: 0;
padding: 0; }
a, u, s, del {
color: #000;
text-decoration: none; }
fieldset, a img, .bor0 {
border: 0; }
i, em, b {
font-style: normal;
font-weight: 100; }
li {
list-style: none; }
img {
vertical-align: middle; }
table {
border-collapse: collapse; }
/*合并边框*/
textarea {
resize: none;
/*禁止拖动*/ }
.ind2 {
text-indent: 2em; }
/*溢出隐藏*/
.over {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; }
/*图片垂直对齐*/
.valign {
text-align: center; }
.valign img {
vertical-align: middle; }
.valign:after {
content: "";
display: inline-block;
vertical-align: middle;
height: 100%; }
/*万能清除法*/
.clear:before {
content: "";
display: table; }
/*阻止margin-top向上传递*/
.clear:after {
content: "";
display: block;
clear: both; }
/*清除浮动*/
/*弹性盒水平垂直居中*/
.flexc {
display: flex;
justify-content: center;
align-items: center; }
.margin {
width: 8.6947368421rem;
margin: auto; }
.cur {
cursor: pointer; }
.mainDetail img {
max-width: 100% !important;
height: auto !important; }
.over {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; }
.over2 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; }
.over3 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; }
.over4 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4; }
.over5 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 5; }
.over6 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 6; }
.over7 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 7; }
.over8 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 8; }
.flex {
display: flex; }
.top {
background: #fff;
height: 120px;
color: #286ab6; }
.top .top-l .logo img {
width: 80px; }
.top .top-l .text {
margin-left: 16px;
font-size: 18px;
font-weight: bold; }
.top .top-r {
text-align: center; }
.top .top-r .top-r-t img {
cursor: pointer;
width: 40px; }
.top .top-r .text {
cursor: pointer;
font-size: 16px;
font-weight: bold;
margin-top: 16px; }
.topTwo {
background: #174092;
height: 120px; }
.topTwo .top-l .logo img {
width: 80px; }
.topTwo .top-l .text {
margin-left: 16px;
font-size: 18px;
color: #fff;
font-weight: bold; }
.topTwo .top-r {
text-align: center; }
.topTwo .top-r .top-r-t img {
cursor: pointer;
width: 40px; }
.topTwo .top-r .text {
cursor: pointer;
font-size: 16px;
color: #fff;
font-weight: bold;
margin-top: 16px; }
#header {
background: #3e80d6;
line-height: 50px;
color: #fff;
font-size: 18px;
text-align: center; }
#header .header-list .item {
width: 180px;
cursor: pointer; }
#header .header-list .te {
background: #286ab6; }
.banner img {
width: 100%; }
.index {
background: #f8f8f8;
padding-bottom: 70px; }
.index-main {
background: #fff;
padding: 0 16px;
margin-top: 30px; }
.index-main .index-t {
background: #fff;
margin-top: 30px;
padding-bottom: 40px;
text-align: center; }
.index-main .index-t .index-t-list {
padding-left: 40px;
padding-right: 66px;
margin-top: 30px; }
.index-main .index-t .index-t-list .index-t-list-title {
margin-bottom: 42px;
color: #000;
font-size: 16px;
font-weight: bold; }
.index-main .index-t .index-t-list .index-t-list-title :nth-child(1) {
width: 120px; }
.index-main .index-t .index-t-list .index-t-list-title :nth-child(2) {
width: 120px; }
.index-main .index-t .index-t-list .index-t-list-title :nth-child(3) {
width: 200px; }
.index-main .index-t .index-t-list .index-t-list-title :nth-child(4) {
width: 90px; }
.index-main .index-t .index-t-list .index-t-list-title :nth-child(5) {
width: 90px; }
.index-main .index-t .index-t-list .index-t-list-title :nth-child(6) {
width: 130px; }
.index-main .index-t .index-t-list .index-t-list-title :nth-child(7) {
width: 40px; }
.index-main .index-t .index-t-list .index-t-list-title :nth-child(7) :nth-child(1) {
width: 40px; }
.index-main .index-t .index-t-list .list-item {
margin-bottom: 20px;
line-height: 24px;
font-size: 16px;
color: #606060; }
.index-main .index-t .index-t-list .list-item :nth-child(1) {
width: 120px; }
.index-main .index-t .index-t-list .list-item :nth-child(2) {
width: 120px; }
.index-main .index-t .index-t-list .list-item :nth-child(3) {
width: 200px; }
.index-main .index-t .index-t-list .list-item :nth-child(4) {
width: 90px; }
.index-main .index-t .index-t-list .list-item :nth-child(5) {
width: 90px; }
.index-main .index-t .index-t-list .list-item :nth-child(6) {
width: 130px; }
.index-main .index-t .index-t-list .list-item :nth-child(7) {
width: 40px; }
.index-main .index-t .index-t-list .list-item :nth-child(7) :nth-child(1) {
width: 40px; }
.index-main-2 {
background: #fff;
padding: 0 16px;
margin-top: 30px; }
.index-main-2 .index-t {
background: #fff;
margin-top: 30px;
padding-bottom: 40px;
text-align: center; }
.index-main-2 .index-t .index-t-list {
padding-left: 40px;
padding-right: 66px;
margin-top: 30px; }
.index-main-2 .index-t .index-t-list .index-t-list-title {
margin-bottom: 42px;
color: #000;
font-size: 16px;
font-weight: bold; }
.index-main-2 .index-t .index-t-list .index-t-list-title :nth-child(1) {
width: 144px; }
.index-main-2 .index-t .index-t-list .index-t-list-title :nth-child(2) {
width: 80px; }
.index-main-2 .index-t .index-t-list .index-t-list-title :nth-child(3) {
width: 96px; }
.index-main-2 .index-t .index-t-list .index-t-list-title :nth-child(4) {
width: 200px; }
.index-main-2 .index-t .index-t-list .index-t-list-title :nth-child(5) {
width: 104px; }
.index-main-2 .index-t .index-t-list .index-t-list-title :nth-child(6) {
width: 256px; }
.index-main-2 .index-t .index-t-list .list-item {
margin-bottom: 20px;
line-height: 24px;
font-size: 16px;
color: #606060; }
.index-main-2 .index-t .index-t-list .list-item :nth-child(1) {
width: 144px; }
.index-main-2 .index-t .index-t-list .list-item :nth-child(2) {
width: 80px; }
.index-main-2 .index-t .index-t-list .list-item :nth-child(3) {
width: 96px; }
.index-main-2 .index-t .index-t-list .list-item :nth-child(4) {
width: 200px; }
.index-main-2 .index-t .index-t-list .list-item :nth-child(5) {
width: 80px; }
.index-main-2 .index-t .index-t-list .list-item :nth-child(6) {
width: 280px; }
.titleBox {
height: 70px;
position: relative;
margin-bottom: 30px; }
.titleBox .title {
font-size: 18px;
font-weight: bold;
color: #116ac8;
line-height: 50px; }
.titleBox .title .name {
padding-right: 40px;
border-bottom: 4px solid #116ac8;
font-size: 18px;
left: 0;
bottom: -4px; }
.titleBox .title .more {
right: 0;
bottom: 0; }
.titleBox .title span {
position: absolute;
font-size: 16px;
z-index: 4; }
.titleBox .line {
height: 4px;
background: #f8f8f8;
position: absolute;
width: 100%;
bottom: -4px;
z-index: 3; }
.mainPage {
width: 1200px;
margin: auto; }
.pointer {
cursor: pointer; }
/*# sourceMappingURL=main.css.map */
{
"version": 3,
"mappings": ";AAKA,IAAK;EACH,SAAS,EAAE,IAAI;;AAUjB,qCAAsC;EACpC,IAAK;IACH,SAAS,EAAE,KAAK;AAIpB,qCAAsC;EACpC,IAAK;IACH,SAAS,EAAE,KAAK;AAIpB,qCAAsC;EACpC,IAAK;IACH,SAAS,EAAE,KAAK;AAIpB,qCAAsC;EACpC,IAAK;IACH,SAAS,EAAE,KAAK;AAIpB,qCAAsC;EACpC,IAAK;IACH,SAAS,EAAE,KAAK;AAIpB,qCAAsC;EACpC,IAAK;IACH,SAAS,EAAE,KAAK;AAGpB,IAAI;EACF,MAAM,EAAE,IAAI;EACZ,SAAI;IACF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;;AAGlB,KAAK;EACH,MAAM,EAAE,IAAI;EACZ,YAAY,EAAE,IAAI;EAClB,aAAa,EAAE,IAAI;;AAErB,MAAM;EACJ,KAAK,EAAE,IAAI;EACX,QAAQ,EAAE,MAAM;EAChB,UAAU,EAAE,IAAI;EAChB,cAAO;IACL,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,IAAI;IAEX,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,KAAK;IACjB,yBAAY;MACV,QAAQ,EAAE,KAAK;MACf,UAAU,EAAE,OAAO;MACnB,UAAU,EAAE,CAAC;MACb,OAAO,EAAE,EAAE;IAEb,uBAAQ;MACN,aAAa,EAAE,IAAI;MACnB,0UAI+C;QAC7C,UAAU,EAAE,sBAAsB;QAClC,YAAY,EAAE,sBAAsB;MAEtC,qCAAa;QACX,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,QAAQ;QAClB,sDAAkB;UAChB,OAAO,EAAE,EAAE;UACX,MAAM,EAAE,IAAI;UACZ,KAAK,EAAE,GAAG;UACV,UAAU,EAAE,OAAO;UACnB,QAAQ,EAAE,QAAQ;UAClB,KAAK,EAAE,CAAC;UACR,GAAG,EAAE,GAAG;UACR,OAAO,EAAE,IAAI;QAEf,wFAAgB;UACd,UAAU,EAAE,sBAAsB;EAK1C,iBAAU;IACR,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,MAAM;IAClB,+BAAe;MACb,KAAK,EAAE,oBAAoB;MAC3B,KAAK,EAAE,KAAK;MACZ,4CAAY;QACV,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,IAAI;QACZ,sEAAyB;UACvB,KAAK,EAAE,OAAO;UACd,SAAS,EAAE,IAAI;UACf,aAAa,EAAE,iBAAiB;QAElC,oEAAuB;UACrB,aAAa,EAAE,IAAI;UACnB,WAAW,EAAE,IAAI;;ACjI3B,WAAW;AACX,CAAE;EACA,UAAU,EAAE,UAAU;;AAGxB,8KAA+K;EAC7K,WAAW,EAAE,iBAAiB;EAC9B,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;AAGZ,gGAAiG;EAC/F,OAAO,EAAE,KAAK;;AAGhB,KAAM;EACJ,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;AAGnB,WAAY;EACV,UAAU,EAAE,IAAI;EAChB,WAAW,EAAE,MAAM;;AAGrB,uCAAwC;EACtC,MAAM,EAAE,CAAC;;AAGX,8BAA+B;EAC7B,UAAU,EAAE,MAAM;;AAGpB,oBAAqB;EACnB,OAAO,EAAE,CAAC;;AAGZ,EAAG;EACD,UAAU,EAAE,IAAI;;AAGlB,6BAA8B;EAC5B,SAAS,EAAE,IAAI;;AAGjB,QAAS;EACP,SAAS,EAAE,GAAG;;AAGhB,oBAAqB;EACnB,WAAW,EAAE,OAAO;;AAGtB,iBAAkB;EAChB,OAAO,EAAE,IAAI;;AAGf,QAAS;EACP,QAAQ,EAAE,IAAI;EACd,MAAM,EAAE,IAAI;;AAGd,cAAe;EACb,MAAM,EAAE,OAAO;;AAGjB,SAAU;EACR,MAAM,EAAE,OAAO;;AAGjB,qCAAsC;EACpC,WAAW,EAAE,IAAI;;AAGnB,0BAA2B;EACzB,eAAe,EAAE,IAAI;;AAGvB,qDAAsD;EACpD,IAAI,EAAE,4CAA4C;EAClD,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,CAAC;;AAGZ,IAAK;EACH,UAAU,EAAE,OAAO;;AAGrB,UAAW;EACT,KAAK,EAAE,IAAI;;AAGb,YAAY;EACV,KAAK,EAAE,OAAO;;AAEhB,aAAa;EACX,KAAK,EAAE,OAAO;;AAGhB,oCAAoC;EAClC,OAAQ;IACN,SAAS,EAAE,eAAU;;EAEvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAEvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAGvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAGvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAEvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAEvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAGvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAGvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAGvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAGvB,OAAQ;IACN,SAAS,EAAE,eAAU;;EAGvB;;0BAEwB;EACxB;;cAEa;IACX,KAAK,EAAE,OAAO;;EAGhB;;cAEa;IACX,KAAK,EAAE,OAAO;;EAGhB,iBAAiB;EAEjB,KAAM;IACJ,OAAO,EAAE,IAAI;;EAGf,QAAS;IACP,UAAU,EAAE,GAAG;;EAGjB,QAAS;IACP,UAAU,EAAE,GAAG;;EAGjB,QAAS;IACP,UAAU,EAAE,GAAG;;EAGjB,QAAS;IACP,UAAU,EAAE,GAAG;;EAGjB,QAAS;IACP,UAAU,EAAE,GAAG;;EAKjB,mBAAmB;EAEnB,SAAU;IACR,MAAM,EAAE,CAAC;;EAGX,SAAU;IACR,MAAM,EAAE,eAAU;;EAGpB,SAAU;IACR,MAAM,EAAE,eAAU;;EAGpB,SAAU;IACR,MAAM,EAAE,eAAU;;EAGpB,SAAU;IACR,MAAM,EAAE,eAAU;;EAGpB,SAAU;IACR,MAAM,EAAE,eAAU;;EAGpB,aAAc;IACZ,UAAU,EAAE,eAAU;;EAGxB,aAAc;IACZ,UAAU,EAAE,eAAU;;EAGxB,aAAc;IACZ,UAAU,EAAE,eAAU;;EAGxB,aAAc;IACZ,UAAU,EAAE,eAAU;;EAGxB,aAAc;IACZ,UAAU,EAAE,eAAU;;EAGxB,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAE1B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,YAAa;IACX,WAAW,EAAE,eAAU;IACvB,YAAY,EAAE,eAAU;;EAG1B,YAAa;IACX,WAAW,EAAE,eAAU;IACvB,YAAY,EAAE,eAAU;;EAG1B,YAAa;IACX,WAAW,EAAE,eAAU;IACvB,YAAY,EAAE,eAAU;;EAG1B,YAAa;IACX,WAAW,EAAE,eAAU;IACvB,YAAY,EAAE,eAAU;;EAG1B,YAAa;IACX,WAAW,EAAE,eAAU;IACvB,YAAY,EAAE,eAAU;;EAG1B,YAAa;IACX,UAAU,EAAE,eAAU;IACtB,aAAa,EAAE,eAAU;;EAG3B,YAAa;IACX,UAAU,EAAE,eAAU;IACtB,aAAa,EAAE,eAAU;;EAG3B,YAAa;IACX,UAAU,EAAE,eAAU;IACtB,aAAa,EAAE,eAAU;;EAG3B,YAAa;IACX,UAAU,EAAE,eAAU;IACtB,aAAa,EAAE,eAAU;;EAG3B,YAAa;IACX,UAAU,EAAE,eAAU;IACtB,aAAa,EAAE,eAAU;;EAG3B,UAAW;IACT,OAAO,EAAE,CAAC;;EAGZ,UAAW;IACT,OAAO,EAAE,eAAU;;EAGrB,UAAW;IACT,OAAO,EAAE,eAAU;;EAGrB,UAAW;IACT,OAAO,EAAE,eAAU;;EAGrB,UAAW;IACT,OAAO,EAAE,eAAU;;EAGrB,UAAW;IACT,OAAO,EAAE,eAAU;;EAGrB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,cAAe;IACb,WAAW,EAAE,eAAU;;EAGzB,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,gBAAiB;IACf,aAAa,EAAE,eAAU;;EAG3B,iBAAkB;IAChB,cAAc,EAAE,eAAU;;EAG5B,iBAAkB;IAChB,cAAc,EAAE,eAAU;;EAG5B,iBAAkB;IAChB,cAAc,EAAE,eAAU;;EAG5B,iBAAkB;IAChB,cAAc,EAAE,eAAU;;EAG5B,iBAAkB;IAChB,cAAc,EAAE,eAAU;;EAG5B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,eAAgB;IACd,YAAY,EAAE,eAAU;;EAG1B,aAAc;IACZ,YAAY,EAAE,eAAU;IACxB,aAAa,EAAE,eAAU;;EAG3B,aAAc;IACZ,YAAY,EAAE,eAAU;IACxB,aAAa,EAAE,eAAU;;EAG3B,aAAc;IACZ,YAAY,EAAE,eAAU;IACxB,aAAa,EAAE,eAAU;;EAG3B,aAAc;IACZ,YAAY,EAAE,eAAU;IACxB,aAAa,EAAE,eAAU;;EAG3B,aAAc;IACZ,YAAY,EAAE,eAAU;IACxB,aAAa,EAAE,eAAU;;EAG3B,aAAc;IACZ,WAAW,EAAE,eAAU;IACvB,cAAc,EAAE,eAAU;;EAG5B,aAAc;IACZ,WAAW,EAAE,eAAU;IACvB,cAAc,EAAE,eAAU;;EAG5B,aAAc;IACZ,WAAW,EAAE,eAAU;IACvB,cAAc,EAAE,eAAU;;EAG5B,aAAc;IACZ,WAAW,EAAE,eAAU;IACvB,cAAc,EAAE,eAAU;;EAG5B,aAAc;IACZ,WAAW,EAAE,eAAU;IACvB,cAAc,EAAE,eAAU;;EAG5B,gBAAgB;IACd,eAAe,EAAE,aAAa;;EAGhC,eAAe;IACb,eAAe,EAAE,MAAM;;EAEzB,YAAY;IACV,eAAe,EAAE,QAAQ;;EAE3B,cAAc;IACZ,eAAe,EAAE,UAAU;;EAE7B,eAAe;IACb,eAAe,EAAE,YAAY;;EAG/B,UAAU;IACR,SAAS,EAAE,IAAI;;EAEjB,aAAa;IACX,WAAW,EAAE,MAAM;AAGvB,WAAW;EACT,SAAS,EAAE,eAAe;EAC1B,kCAAS;IACP,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAC,IAAI;IACX,MAAM,EAAC,eAAe;EAExB,+BAAM;IACJ,UAAU,EAAC,oBACb;;AC7gBF,cAAc;AACd,6BAA8B;EAC5B,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,CAAC;EACT,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,GAAG;;AAGd,iBAAkB;EAChB,IAAI,EAAE,CAAC;;AAGT,KAAM;EACJ,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAE,MAAM;EAChB,KAAK,EAAE,CAAC;;AAGV,KAAM;EACJ,OAAO,EAAE,IAAI;;AAGf,KAAM;EACJ,OAAO,EAAE,KAAK;;AAGhB,KAAM;EACJ,KAAK,EAAE,IAAI;;AAGb,KAAM;EACJ,KAAK,EAAE,KAAK;;AAGd,KAAM;EACJ,QAAQ,EAAE,QAAQ;;AAGpB,MAAO;EACL,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,CAAC;;AAGT,KAAM;EACJ,QAAQ,EAAE,MAAM;;AAGlB,MAAO;EACL,WAAW,EAAE,iBAAiB;;AAGhC,MAAO;EACL,WAAW,EAAE,0DAA0D;;AAGzE,MAAO;EACL,SAAS,EAAE,IAAI;;AAGjB,MAAO;EACL,SAAS,EAAE,IAAI;;AAGjB,MAAO;EACL,WAAW,EAAE,MAAM;;AAGrB,MAAO;EACL,WAAW,EAAE,IAAI;;AAGnB,MAAO;EACL,UAAU,EAAE,IAAI;;AAGlB,MAAO;EACL,UAAU,EAAE,MAAM;;AAGpB,MAAO;EACL,UAAU,EAAE,KAAK;;AAGnB,MAAO;EACL,UAAU,EAAE,OAAO;EACnB,YAAY,EAAE,eAAe;;AAG/B,iBAAkB;EAChB,cAAc,EAAE,MAAM;;AAGxB,MAAO;EACL,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,MAAM;;AAGrB,MAAO;EACL,QAAQ,EAAE,MAAM;EAChB,UAAU,EAAE,IAAI;EAChB,WAAW,EAAE,QAAQ;EACrB,SAAS,EAAE,UAAU;EACrB,UAAU,EAAE,SAAS;;AAGvB,MAAO;EACL,WAAW,EAAE,MAAM;EACnB,SAAS,EAAE,UAAU;EACrB,UAAU,EAAE,SAAS;;AAGvB,KAAM;EACJ,QAAQ,EAAE,MAAM;EAChB,WAAW,EAAE,QAAQ;;AAGvB,MAAO;EACL,WAAW,EAAE,GAAG;;AAGlB,MAAO;EACL,WAAW,EAAE,MAAM;;AAGrB,oBAAqB;EACnB,eAAe,EAAE,SAAS;;AAG5B,oBAAqB;EACnB,eAAe,EAAE,IAAI;;AAGvB,MAAO;EACL,QAAQ,EAAE,MAAM;EAChB,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,MAAM;EACnB,aAAa,EAAE,QAAQ;;AAGzB,MAAO;EACL,MAAM,EAAE,OAAO;;AAGjB,MAAO;EACL,MAAM,EAAE,OAAO;;AAGjB,MAAO;EACL,MAAM,EAAE,IAAI;;AAGd,MAAO;EACL,MAAM,EAAE,IAAI;;AAGd,MAAO;EACL,mBAAmB,EAAE,IAAI;EACzB,gBAAgB,EAAE,IAAI;EACtB,eAAe,EAAE,IAAI;EACrB,cAAc,EAAE,IAAI;EACpB,WAAW,EAAE,IAAI;;ACjKnB,kBAAkB;AAClB,4GAAwF;EAAC,MAAM,EAAC,CAAC;EAAC,OAAO,EAAC,CAAC;;AAC3G,YAAS;EAAC,KAAK,EAAC,IAAI;EAAC,eAAe,EAAC,IAAI;;AACzC,sBAAqB;EAAC,MAAM,EAAC,CAAC;;AAC9B,QAAM;EAAC,UAAU,EAAC,MAAM;EAAC,WAAW,EAAC,GAAG;;AACxC,EAAE;EAAC,UAAU,EAAC,IAAI;;AAClB,GAAG;EAAC,cAAc,EAAC,MAAM;;AACzB,KAAK;EAAC,eAAe,EAAC,QAAQ;;AAAE,QAAQ;AACxC,QAAQ;EAAC,MAAM,EAAC,IAAI;EAAC,QAAQ;;AAC7B,KAAK;EAAC,WAAW,EAAC,GAAG;;AAErB,QAAQ;AACR,KAAK;EAAC,WAAW,EAAC,MAAM;EAAC,QAAQ,EAAC,MAAM;EAAC,aAAa,EAAC,QAAQ;;AAE/D,UAAU;AACV,OAAO;EAAC,UAAU,EAAC,MAAM;;AACzB,WAAW;EAAC,cAAc,EAAC,MAAM;;AACjC,aAAa;EAAC,OAAO,EAAC,EAAE;EAAC,OAAO,EAAC,YAAY;EAAC,cAAc,EAAC,MAAM;EAAC,MAAM,EAAC,IAAI;;AAE/E,SAAS;AACT,aAAa;EAAC,OAAO,EAAC,EAAE;EAAE,OAAO,EAAC,KAAK;;AAAE,oBAAoB;AAC7D,YAAY;EAAC,OAAO,EAAC,EAAE;EAAC,OAAO,EAAC,KAAK;EAAC,KAAK,EAAC,IAAI;;AAAE,QAAQ;AAE1D,aAAa;AACb,MAAM;EAAC,OAAO,EAAC,IAAI;EAAC,eAAe,EAAC,MAAM;EAAC,WAAW,EAAC,MAAM;;AAE7D,OAAO;EAAC,KAAK,EAAE,eAAY;EAAC,MAAM,EAAC,IAAI;;AAIvC,IAAI;EACF,MAAM,EAAE,OAAO;;AAGf,eAAG;EACD,SAAS,EAAC,eAAe;EACzB,MAAM,EAAE,eAAc;;AAG1B,KAAK;EAAC,WAAW,EAAC,MAAM;EAAC,QAAQ,EAAC,MAAM;EAAC,aAAa,EAAC,QAAQ;;AAC/D,MAAM;EACJ,QAAQ,EAAC,MAAM;EAEf,aAAa,EAAC,QAAQ;EAEtB,OAAO,EAAC,WAAW;EAEnB,kBAAkB,EAAC,QAAQ;EAE3B,kBAAkB,EAAC,CAAC;;AAEtB,MAAM;EACJ,QAAQ,EAAC,MAAM;EAEf,aAAa,EAAC,QAAQ;EAEtB,OAAO,EAAC,WAAW;EAEnB,kBAAkB,EAAC,QAAQ;EAE3B,kBAAkB,EAAC,CAAC;;AAEtB,MAAM;EACJ,QAAQ,EAAC,MAAM;EAEf,aAAa,EAAC,QAAQ;EAEtB,OAAO,EAAC,WAAW;EAEnB,kBAAkB,EAAC,QAAQ;EAE3B,kBAAkB,EAAC,CAAC;;AAEtB,MAAM;EACJ,QAAQ,EAAC,MAAM;EAEf,aAAa,EAAC,QAAQ;EAEtB,OAAO,EAAC,WAAW;EAEnB,kBAAkB,EAAC,QAAQ;EAE3B,kBAAkB,EAAC,CAAC;;AAGtB,MAAM;EACJ,QAAQ,EAAC,MAAM;EAEf,aAAa,EAAC,QAAQ;EAEtB,OAAO,EAAC,WAAW;EAEnB,kBAAkB,EAAC,QAAQ;EAE3B,kBAAkB,EAAC,CAAC;;AAEtB,MAAM;EACJ,QAAQ,EAAC,MAAM;EAEf,aAAa,EAAC,QAAQ;EAEtB,OAAO,EAAC,WAAW;EAEnB,kBAAkB,EAAC,QAAQ;EAE3B,kBAAkB,EAAC,CAAC;;AAEtB,MAAM;EACJ,QAAQ,EAAC,MAAM;EAEf,aAAa,EAAC,QAAQ;EAEtB,OAAO,EAAC,WAAW;EAEnB,kBAAkB,EAAC,QAAQ;EAE3B,kBAAkB,EAAC,CAAC;;AAGtB,KAAK;EAAC,OAAO,EAAE,IAAI;;ACxHnB,IAAI;EACF,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,KAAK;EACb,KAAK,EAAE,OAAO;EAGV,qBAAG;IACD,KAAK,EAAE,IAAI;EAGf,iBAAK;IACH,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;EAGrB,WAAM;IACJ,UAAU,EAAE,MAAM;IAEhB,wBAAG;MACD,MAAM,EAAE,OAAO;MACf,KAAK,EAAE,IAAI;IAGf,iBAAK;MACH,MAAM,EAAE,OAAO;MACf,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,IAAI;MACjB,UAAU,EAAE,IAAI;;AAKtB,OAAO;EACL,UAAU,EAAE,OAAO;EACnB,MAAM,EAAE,KAAK;EAGT,wBAAG;IACD,KAAK,EAAE,IAAI;EAGf,oBAAK;IACH,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;EAGrB,cAAM;IACJ,UAAU,EAAE,MAAM;IAEhB,2BAAG;MACD,MAAM,EAAE,OAAO;MACf,KAAK,EAAE,IAAI;IAIf,oBAAK;MACH,MAAM,EAAE,OAAO;MACf,SAAS,EAAE,IAAI;MACf,KAAK,EAAE,IAAI;MACX,WAAW,EAAE,IAAI;MACjB,UAAU,EAAE,IAAI;;AAKtB,OAAO;EACL,UAAU,EAAE,OAAO;EACnB,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,MAAM;EAEhB,0BAAK;IACH,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,OAAO;EAEjB,wBAAG;IACD,UAAU,EAAE,OAAO;;AAKvB,WAAG;EACD,KAAK,EAAE,IAAI;;AAGf,MAAM;EACJ,UAAU,EAAE,OAAO;EACnB,cAAc,EAAE,IAAI;;AAGtB,WAAW;EACP,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,MAAM;EACf,UAAU,EAAE,IAAI;EAEhB,oBAAQ;IACN,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,MAAM;IAClB,kCAAa;MACX,YAAY,EAAE,IAAI;MAClB,aAAa,EAAE,IAAI;MACnB,UAAU,EAAE,IAAI;MAChB,sDAAmB;QACjB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,oEAAa;UACX,KAAK,EAAE,KAAK;QAEd,oEAAa;UACX,KAAK,EAAE,KAAK;QAEd,oEAAa;UACX,KAAK,EAAE,KAAK;QAEd,oEAAa;UACX,KAAK,EAAE,IAAI;QAEb,oEAAa;UACX,KAAK,EAAE,IAAI;QAEb,oEAAa;UACX,KAAK,EAAC,KAAK;QAEb,oEAAa;UACX,KAAK,EAAC,IAAI;UACV,kFAAa;YACX,KAAK,EAAE,IAAI;MAIjB,6CAAU;QACR,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,OAAO;QACd,2DAAa;UACX,KAAK,EAAE,KAAK;QAEd,2DAAa;UACX,KAAK,EAAE,KAAK;QAEd,2DAAa;UACX,KAAK,EAAE,KAAK;QAEd,2DAAa;UACX,KAAK,EAAE,IAAI;QAEb,2DAAa;UACX,KAAK,EAAE,IAAI;QAEb,2DAAa;UACX,KAAK,EAAC,KAAK;QAEb,2DAAa;UACX,KAAK,EAAC,IAAI;UACV,yEAAa;YACX,KAAK,EAAE,IAAI;;AAQzB,aAAa;EACX,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,MAAM;EACf,UAAU,EAAE,IAAI;EAChB,sBAAQ;IACN,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,MAAM;IAClB,oCAAa;MACX,YAAY,EAAE,IAAI;MAClB,aAAa,EAAE,IAAI;MACnB,UAAU,EAAE,IAAI;MAChB,wDAAmB;QACjB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,sEAAa;UACX,KAAK,EAAE,KAAK;QAEd,sEAAa;UACX,KAAK,EAAE,IAAI;QAEb,sEAAa;UACX,KAAK,EAAE,IAAI;QAEb,sEAAa;UACX,KAAK,EAAE,KAAK;QAEd,sEAAa;UACX,KAAK,EAAE,KAAK;QAEd,sEAAa;UACX,KAAK,EAAE,KAAK;MAGhB,+CAAU;QACR,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,OAAO;QACd,6DAAa;UACX,KAAK,EAAE,KAAK;QAEd,6DAAa;UACX,KAAK,EAAE,IAAI;QAEb,6DAAa;UACX,KAAK,EAAE,IAAI;QAEb,6DAAa;UACX,KAAK,EAAE,KAAK;QAEd,6DAAa;UACX,KAAK,EAAE,IAAI;QAEb,6DAAa;UACX,KAAK,EAAE,KAAK;;AAStB,SAAS;EACP,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,QAAQ;EAClB,aAAa,EAAE,IAAI;EACnB,gBAAM;IACJ,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,IAAI;IACjB,sBAAK;MACH,aAAa,EAAE,IAAI;MACnB,aAAa,EAAE,iBAAiB;MAChC,SAAS,EAAE,IAAI;MACf,IAAI,EAAE,CAAC;MACP,MAAM,EAAE,IAAI;IAEd,sBAAK;MACH,KAAK,EAAE,CAAC;MACR,MAAM,EAAC,CAAC;IAEV,qBAAI;MACF,QAAQ,EAAE,QAAQ;MAClB,SAAS,EAAE,IAAI;MACf,OAAO,EAAE,CAAC;EAGd,eAAK;IACH,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,CAAC;;AAId,SAAS;EACP,KAAK,EAAE,MAAM;EACb,MAAM,EAAE,IAAI;;AAEd,QAAQ;EACN,MAAM,EAAE,OAAO",
"sources": ["../sass/base/_base.scss","../sass/base/_reset.scss","../sass/base/_function.scss","../sass/base/_public.scss","../sass/pages/index.scss"],
"names": [],
"file": "main.css"
}
*{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,div,dl,dt,dd,ul,ol,li,p,blockquote,pre,hr,figure,table,caption,th,td,form,fieldset,legend,input,button,textarea,menu{font-family:'Microsoft YaHei';margin:0;padding:0}header,footer,section,article,aside,nav,hgroup,address,figure,figcaption,menu,details{display:block}table{border-collapse:collapse;border-spacing:0}caption,th{text-align:left;font-weight:normal}html,body,fieldset,img,iframe,abbr{border:0}i,cite,em,var,address,dfn{font-style:normal}[hidefocus],summary{outline:0}li{list-style:none}h1,h2,h3,h4,h5,h6,small{font-size:100%}sup,sub{font-size:83%}pre,code,kbd,samp{font-family:inherit}q:before,q:after{content:none}textarea{overflow:auto;resize:none}label,summary{cursor:default}a,button{cursor:pointer}h1,h2,h3,h4,h5,h6,em,strong,b{font-weight:bold}del,ins,u,s,a,a:hover{text-decoration:none}body,textarea,input,button,select,keygen,legend{font:12px/1.14 Microsoft YaHei, arial, \5b8b\4f53;color:#333;outline:0}body{background:#ffffff}a,a:hover{color:#333}.text-danger{color:#FF5E5E}.text-success{color:#82EF2C}
// js动态控制屏幕的基准值
;(function(win) {
var doc = win.document
var docEl = doc.documentElement
var tid
function refreshRem() {
var width = docEl.getBoundingClientRect().width
if (width < 1440) {
// 最大宽度
width = 1440
}
var rem = width / 10 // 将屏幕宽度分成10份, 1份为1rem
docEl.style.fontSize = rem + 'px'
}
win.addEventListener(
'resize',
function() {
clearTimeout(tid)
tid = setTimeout(refreshRem, 300)
win.location.reload()
},
false
)
win.addEventListener(
'pageshow',
function(e) {
if (e.persisted) {
clearTimeout(tid)
tid = setTimeout(refreshRem, 300)
}
},
false
)
refreshRem()
})(window)
$baseFontSize: 190;
@function px2rem($px){
@return $px /$baseFontSize * 1rem;
}
html {
font-size: 10vw;
}
$fontSize12:px2rem(12);
$fontSize14:px2rem(14);
$fontSize16:px2rem(16);
$fontSize18:px2rem(18);
$fontSize20:px2rem(20);
$fontSize24:px2rem(24);
$fontSize30:px2rem(30);
@media screen and (min-width: 1000px) {
html {
font-size: 120px;
}
}
@media screen and (min-width: 1200px) {
html {
font-size: 140px;
}
}
@media screen and (min-width: 1300px) {
html {
font-size: 140px;
}
}
@media screen and (min-width: 1400px) {
html {
font-size: 140px;
}
}
@media screen and (min-width: 1500px) {
html {
font-size: 140px;
}
}
@media screen and (min-width: 1900px) {
html {
font-size: 150px;
}
}
html{
height: 100%;
body{
height: 100%;
overflow: auto;
}
}
.page{
margin: auto;
padding-left: 40px;
padding-right: 50px;
}
.d-box{
width: 100%;
overflow: hidden;
margin-top: 10px;
.d-menu{
width: 145px;
float: left;
// height: 100%;
height: auto;
margin-top: -13px;
&.d-menu-fix{
position: fixed;
background: #ffffff;
margin-top: 0;
z-index: 99;
}
.el-menu{
border-radius: 10px;
&.el-button--primary.is-plain,
&.el-button--primary.is-plain.is-disabled,
&.el-button--primary.is-plain.is-disabled:active,
&.el-button--primary.is-plain.is-disabled:focus,
&.el-button--primary.is-plain.is-disabled:hover{
background: transparent !important;
border-color: transparent !important;
}
.el-menu-item{
padding: 0 10px;
padding-left: 10px !important;
height: 40px;
line-height: 40px;
text-align: left;
position: relative;
&.is-active::after{
content: '';
height: 30px;
width: 2px;
background: #013E93;
position: absolute;
right: 0;
top: 5px;
display: none;
}
&:focus, &:hover{
background: transparent !important;
}
}
}
}
.d-content{
padding-left: 20px;
overflow-x: hidden;
overflow-y: hidden;
&.d-content-fix{
width: calc( 100% - 165px );
float: right;
.el-collapse{
background: #ffffff;
border: none;
.el-collapse-item__header{
color: #013E93;
font-size: 14px;
border-bottom: 1px solid #EBEEF5;
}
.el-collapse-item__wrap{
border-bottom: none;
padding-top: 10px;
}
}
}
}
}
/* function */
.f-cb:after, .f-cbli li:after {
display: block;
clear: both;
visibility: hidden;
height: 0;
overflow: hidden;
content: ".";
}
.f-cb, .f-cbli li {
zoom: 1;
}
.f-ib {
display: inline-block;
*display: inline;
*zoom: 1;
}
.f-dn {
display: none;
}
.f-db {
display: block;
}
.f-fl {
float: left;
}
.f-fr {
float: right;
}
.f-pr {
position: relative;
}
.f-prz {
position: relative;
zoom: 1;
}
.f-oh {
overflow: hidden;
}
.f-ff0 {
font-family: arial, \5b8b\4f53;
}
.f-ff1 {
font-family: "Microsoft YaHei", \5fae\8f6f\96c5\9ed1, arial, \5b8b\4f53;
}
.f-fs1 {
font-size: 12px;
}
.f-fs2 {
font-size: 14px;
}
.f-fwn {
font-weight: normal;
}
.f-fwb {
font-weight: bold;
}
.f-tal {
text-align: left;
}
.f-tac {
text-align: center;
}
.f-tar {
text-align: right;
}
.f-taj {
text-align: justify;
text-justify: inter-ideograph;
}
.f-vam, .f-vama * {
vertical-align: middle;
}
.f-wsn {
word-wrap: normal;
white-space: nowrap;
}
.f-pre {
overflow: hidden;
text-align: left;
white-space: pre-wrap;
word-wrap: break-word;
word-break: break-all;
}
.f-wwb {
white-space: normal;
word-wrap: break-word;
word-break: break-all;
}
.f-ti {
overflow: hidden;
text-indent: -30000px;
}
.f-ti2 {
text-indent: 2em;
}
.f-lhn {
line-height: normal;
}
.f-tdu, .f-tdu:hover {
text-decoration: underline;
}
.f-tdn, .f-tdn:hover {
text-decoration: none;
}
.f-toe {
overflow: hidden;
word-wrap: normal;
white-space: nowrap;
text-overflow: ellipsis;
}
.f-csp {
cursor: pointer;
}
.f-csd {
cursor: default;
}
.f-csh {
cursor: help;
}
.f-csm {
cursor: move;
}
.f-usn {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
\ No newline at end of file
@charset "utf-8";
/* CSS Document */
body,ol,ul,h1,h2,h3,h4,h5,h6,p,th,td,dl,dd,form,fieldset,legend,input,textarea,select,td{margin:0;padding:0;}
a,u,s,del{color:#000;text-decoration:none}
fieldset ,a img,.bor0{border:0;}
i,em,b{font-style:normal;font-weight:100;}
li{list-style:none;}
img{vertical-align:middle;}
table{border-collapse:collapse;}/*合并边框*/
textarea{resize:none;/*禁止拖动*/}
.ind2{text-indent:2em;}
/*溢出隐藏*/
.over{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/*图片垂直对齐*/
.valign{text-align:center;}
.valign img{vertical-align:middle;}
.valign:after{content:"";display:inline-block;vertical-align:middle;height:100%;}
/*万能清除法*/
.clear:before{content:"" ;display:table;}/*阻止margin-top向上传递*/
.clear:after{content:"";display:block;clear:both;}/*清除浮动*/
/*弹性盒水平垂直居中*/
.flexc{display:flex;justify-content:center;align-items:center;}
.margin{width: px2rem(1652);margin:auto}
.header{
}
.cur{
cursor: pointer;
}
.mainDetail{
img{
max-width:100% !important;
height: auto!important;
}
}
.over{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.over2{
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;
}
.over3{
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:3;
}
.over4{
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:4;
}
.over5{
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:5;
}
.over6{
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:6;
}
.over7{
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:7;
}
.over8{
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:8;
}
.flex{display: flex;}
/* reset */
* {
box-sizing: border-box
}
html, body, h1, h2, h3, h4, h5, h6, div, dl, dt, dd, ul, ol, li, p, blockquote, pre, hr, figure, table, caption, th, td, form, fieldset, legend, input, button, textarea, menu {
font-family: 'Microsoft YaHei';
margin: 0;
padding: 0;
}
header, footer, section, article, aside, nav, hgroup, address, figure, figcaption, menu, details {
display: block;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
caption, th {
text-align: left;
font-weight: normal;
}
html, body, fieldset, img, iframe, abbr {
border: 0;
}
i, cite, em, var, address, dfn {
font-style: normal;
}
[hidefocus], summary {
outline: 0;
}
li {
list-style: none;
}
h1, h2, h3, h4, h5, h6, small {
font-size: 100%;
}
sup, sub {
font-size: 83%;
}
pre, code, kbd, samp {
font-family: inherit;
}
q:before, q:after {
content: none;
}
textarea {
overflow: auto;
resize: none;
}
label, summary {
cursor: default;
}
a, button {
cursor: pointer;
}
h1, h2, h3, h4, h5, h6, em, strong, b {
font-weight: bold;
}
del, ins, u, s, a, a:hover {
text-decoration: none;
}
body, textarea, input, button, select, keygen, legend {
font: 12px/1.14 Microsoft YaHei, arial, \5b8b\4f53;
color: #333;
outline: 0;
}
body {
background: #ffffff;
}
a, a:hover {
color: #333;
}
.text-danger{
color: #FF5E5E;
}
.text-success{
color: #82EF2C;
}
@media screen and (min-width: 800px){
.text12 {
font-size: px2rem(12);
}
.text14 {
font-size: px2rem(14);
}
.text16 {
font-size: px2rem(16);
}
.text18 {
font-size: px2rem(18);
}
.text20 {
font-size: px2rem(20);
}
.text22 {
font-size: px2rem(22);
}
.text24 {
font-size: px2rem(24);
}
.text26 {
font-size: px2rem(26);
}
.text28 {
font-size: px2rem(28);
}
.text30 {
font-size: px2rem(30);
}
.text32 {
font-size: px2rem(32);
}
/* ==================
color
==================== */
.text-black,
.line-black,
.lines-black {
color: #333333;
}
.text-white,
.line-white,
.lines-white {
color: #ffffff;
}
/* -- flex -- */
.flex {
display: flex;
}
.basis20 {
flex-basis: 20%;
}
.basis40 {
flex-basis: 40%;
}
.basis50 {
flex-basis: 50%;
}
.basis60 {
flex-basis: 60%;
}
.basis80 {
flex-basis: 80%;
}
/* -- margin -- */
.margin-0 {
margin: 0;
}
.margin10 {
margin: px2rem(10);
}
.margin20 {
margin: px2rem(20);
}
.margin30 {
margin: px2rem(30);
}
.margin40 {
margin: px2rem(40);
}
.margin50 {
margin: px2rem(50);
}
.margin-top10 {
margin-top: px2rem(10);
}
.margin-top20 {
margin-top: px2rem(20);
}
.margin-top30 {
margin-top: px2rem(30);
}
.margin-top40 {
margin-top: px2rem(40);
}
.margin-top50 {
margin-top: px2rem(50);
}
.margin-right10 {
margin-right: px2rem(10);
}
.margin-right20 {
margin-right: px2rem(20);
}
.margin-right30 {
margin-right: px2rem(30);
}
.margin-right40 {
margin-right: px2rem(40);
}
.margin-right50 {
margin-right: px2rem(50);
}
.margin-bottom10 {
margin-bottom: px2rem(10);
}
.margin-bottom20 {
margin-bottom: px2rem(20);
}
.margin-bottom30 {
margin-bottom: px2rem(30);
}
.margin-bottom40 {
margin-bottom: px2rem(40);
}
.margin-bottom50 {
margin-bottom: px2rem(50);
}
.margin-left10 {
margin-left: px2rem(10);
}
.margin-left20 {
margin-left: px2rem(20);
}
.margin-left30 {
margin-left: px2rem(30);
}
.margin-left40 {
margin-left: px2rem(40);
}
.margin-left50 {
margin-left: px2rem(50);
}
.margin-lr10 {
margin-left: px2rem(10);
margin-right: px2rem(10);
}
.margin-lr20 {
margin-left: px2rem(20);
margin-right: px2rem(20);
}
.margin-lr30 {
margin-left: px2rem(30);
margin-right: px2rem(30);
}
.margin-lr40 {
margin-left: px2rem(40);
margin-right: px2rem(40);
}
.margin-lr50 {
margin-left: px2rem(50);
margin-right: px2rem(50);
}
.margin-tb10 {
margin-top: px2rem(10);
margin-bottom: px2rem(10);
}
.margin-tb20 {
margin-top: px2rem(20);
margin-bottom: px2rem(20);
}
.margin-tb30 {
margin-top: px2rem(30);
margin-bottom: px2rem(30);
}
.margin-tb40 {
margin-top: px2rem(40);
margin-bottom: px2rem(40);
}
.margin-tb50 {
margin-top: px2rem(50);
margin-bottom: px2rem(50);
}
.padding-0 {
padding: 0;
}
.padding10 {
padding: px2rem(10);
}
.padding20 {
padding: px2rem(20);
}
.padding30 {
padding: px2rem(30);
}
.padding40 {
padding: px2rem(40);
}
.padding50 {
padding: px2rem(50);
}
.padding-top10 {
padding-top: px2rem(10);
}
.padding-top20 {
padding-top: px2rem(20);
}
.padding-top30 {
padding-top: px2rem(30);
}
.padding-top40 {
padding-top: px2rem(40);
}
.padding-top50 {
padding-top: px2rem(50);
}
.padding-right10 {
padding-right: px2rem(10);
}
.padding-right20 {
padding-right: px2rem(20);
}
.padding-right30 {
padding-right: px2rem(30);
}
.padding-right40 {
padding-right: px2rem(40);
}
.padding-right50 {
padding-right: px2rem(50);
}
.padding-bottom10 {
padding-bottom: px2rem(10);
}
.padding-bottom20 {
padding-bottom: px2rem(20);
}
.padding-bottom30 {
padding-bottom: px2rem(30);
}
.padding-bottom40 {
padding-bottom: px2rem(40);
}
.padding-bottom50 {
padding-bottom: px2rem(50);
}
.padding-left10 {
padding-left: px2rem(10);
}
.padding-left20 {
padding-left: px2rem(20);
}
.padding-left30 {
padding-left: px2rem(30);
}
.padding-left40 {
padding-left: px2rem(40);
}
.padding-left50 {
padding-left: px2rem(50);
}
.padding-lr10 {
padding-left: px2rem(10);
padding-right: px2rem(10);
}
.padding-lr20 {
padding-left: px2rem(20);
padding-right: px2rem(20);
}
.padding-lr30 {
padding-left: px2rem(30);
padding-right: px2rem(30);
}
.padding-lr40 {
padding-left: px2rem(40);
padding-right: px2rem(40);
}
.padding-lr50 {
padding-left: px2rem(50);
padding-right: px2rem(50);
}
.padding-tb10 {
padding-top: px2rem(10);
padding-bottom: px2rem(10);
}
.padding-tb20 {
padding-top: px2rem(20);
padding-bottom: px2rem(20);
}
.padding-tb30 {
padding-top: px2rem(30);
padding-bottom: px2rem(30);
}
.padding-tb40 {
padding-top: px2rem(40);
padding-bottom: px2rem(40);
}
.padding-tb50 {
padding-top: px2rem(50);
padding-bottom: px2rem(50);
}
.justify-between{
justify-content: space-between;
}
.justify-center{
justify-content: center;
}
.justify-end{
justify-content: flex-end;
}
.justify-start{
justify-content: flex-start;
}
.justify-around{
justify-content: space-around;
}
.flex-wrap{
flex-wrap: wrap;
}
.align-center{
align-items: center;
}
}
.detailHtml{
max-width: 100% !important;
img,table{
max-width: 100% !important;
margin:auto;
height:auto !important;
}
a,span{
word-break:break-all !important
}
}
$--color-primary:#013E93;
$--color-success:#00A77E;
$--color-warning:#FF9421;
$--color-danger:#D84040;
$--color-info:#006AD6;
$--color-text-primary:#333333;
$--color-text-regular:#666666;
$--color-text-secondary:#999999;
$--color-text-placeholder:#DDDDDD;
$--color-disable: #678bbe;
html,body,#app{
width: 100%;
height: 100%;
}
.el-form--inline .el-form-item__label{
}
.el-button--primary{
}
.el-input__inner, .el-textarea__inner{
background-color: inherit;
border-color: #2E5481 !important;
}
/* table */
.table-container{
//background: url(~@/assets/img/bg_table_outer.png) no-repeat;
//background-size: 100% auto;
//background-color: rgba(15,66,105,0.6);
background: linear-gradient(to bottom, rgba(15,66,105,0.6), rgba(4,13,26,1));
.table-box{
padding: 20px;
.table-bar{
text-align: right;
}
}
}
.el-table, .el-table__expanded-cell{
background-color: transparent;
}
.el-table{
thead{
background: url(~@/assets/img/bg_table_thead.png) no-repeat;
background-size: 100% 100%;
}
tr, th{
background-color: transparent;
}
th.is-leaf{
border: none;
color: #2ADCF1;
}
td{
border-color: #091A2E;
// color: #247FBF;
color: #D5DAE1;
}
.el-checkbox__inner{
background-color: inherit;
border-color: #30557F;
margin-right: 5px;
}
}
.el-textarea__inner{
color: #D5DAE1;
}
.el-table__body-wrapper{
background: url(~@/assets/img/bg_table_tbody.png) no-repeat top;
background-size: 100% auto;
}
.el-table--border, .el-table--group{
border: none;
}
.hover-row td{
background-color: #155C94 !important;
}
.el-table__row:hover {
td{
background-color: #155C94 !important;
}
}
.el-table--border::after, .el-table--group::after, .el-table::before{
background-color: inherit;
}
/* page */
.el-pagination{
text-align: center;
}
.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li{
background-color: inherit;
border: 1px solid #5685BE;
border-radius: 2px;
color: #4279BC;
}
/* dialog */
.el-dialog{
margin-top: 0 !important;
width: 500px;
float: right;
margin: 0;
min-height: 100%;
/*height: 100%;*/
background-color: rgba(1,4,8,0.8);
.el-dialog__title{
color: #fff;
}
.el-form-item__label{
width: 100px !important;
color: #24A5FF;
}
.el-form-item__content{
margin-left: 100px !important;
}
.el-dialog__footer{
text-align: center;
}
.avatar-uploader .el-upload {
border: 1px dashed #2E5481;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.cate-file .el-upload {
width: 100%;
height: 40px;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #2E5481;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 100px;
height: 100px;
display: block;
}
}
.el-select{
width: 100%;
}
.big-sub-title{
color: #2DEBFF;
font-size: 18px;
font-weight: 600;
text-align: center;
line-height: 60px;
}
.el-tree {
//color: #2073a7;
color: #409EDD;
background: transparent;
}
.el-tree-node__content:hover {
background-color: #003c60;
}
.el-tree-node:focus>.el-tree-node__content {
background-color: #003c60;
}
.checkbox-option {
display: block;
margin: 0 0 15px 0;
//color: #2073a7;
color: #409EDD;
}
.el-loading-mask{
background-color: rgba(16,54,87, .9)
}
::-webkit-scrollbar {width:8px;height:8px;}
::-webkit-scrollbar-thumb {border-radius:10px;background:#dadfe6;}
::-webkit-scrollbar-track {background-color:rgba(218,223,230,.3);border-radius:10px;}
.el-input.is-disabled .el-input__inner{
background-color: #02070E;
}
.el-input__inner{
color: #C0C4CC;
}
.el-input--suffix .el-input__inner{
padding-right: 20px;
}
.site-content {
padding: 0 30px;
.site-content-wrapper{
/*background: url(~@/assets/img/content_bg.png) center no-repeat;*/
/*background-size: 100% 100%;*/
background: rgba(22,58,85,0.2);
background-image: url(~@/assets/img/content_bg-top.png),url(~@/assets/img/content_bg-bottom.png);
background-repeat: no-repeat, no-repeat;
background-position: center top, center bottom;
background-size: 100% auto, 100% auto;
padding: 30px 60px;
}
}
.el-dialog__body{
color: #D5DAE1;
}
.el-range-editor .el-range-input{
background-color: transparent;
color: #D5DAE1;
}
.el-dialog__headerbtn .el-dialog__close{
color: #fff!important;
}
.el-upload-list__item, .el-upload-list--picture-card .el-upload-list__item-actions{
transition-duration: 0s !important;
}
@media screen and (max-height: 770px) {
.site-wrapper.site-page--login .site-content__wrapper{
top: 200px !important;
}
}
@import 'base/base';
@import 'base/reset';
@import 'base/function';
@import 'base/public';
@import 'pages/index';
@import 'base/variables';
@import 'base/variables';
.top{
background: #fff;
height: 120px;
color: #286ab6;
.top-l{
.logo{
img{
width: 80px;
}
}
.text{
margin-left: 16px;
font-size: 18px;
font-weight: bold;
}
}
.top-r{
text-align: center;
.top-r-t{
img{
cursor: pointer;
width: 40px;
}
}
.text{
cursor: pointer;
font-size: 16px;
font-weight: bold;
margin-top: 16px;
}
}
}
.topTwo{
background: #174092;
height: 120px;
.top-l{
.logo{
img{
width: 80px;
}
}
.text{
margin-left: 16px;
font-size: 18px;
color: #fff;
font-weight: bold;
}
}
.top-r{
text-align: center;
.top-r-t{
img{
cursor: pointer;
width: 40px;
}
}
.text{
cursor: pointer;
font-size: 16px;
color: #fff;
font-weight: bold;
margin-top: 16px;
}
}
}
#header{
background: #3e80d6;
line-height: 50px;
color: #fff;
font-size: 18px;
text-align: center;
.header-list{
.item{
width: 180px;
cursor: pointer;
}
.te{
background: #286ab6;
}
}
}
.banner{
img{
width: 100%;
}
}
.index{
background: #f8f8f8;
padding-bottom: 70px;
}
.index-main{
background: #fff;
padding: 0 16px;
margin-top: 30px;
.index-t{
background: #fff;
margin-top: 30px;
padding-bottom: 40px;
text-align: center;
.index-t-list{
padding-left: 40px;
padding-right: 66px;
margin-top: 30px;
.index-t-list-title{
margin-bottom: 42px;
color: #000;
font-size: 16px;
font-weight: bold;
:nth-child(1){
width: 120px;
}
:nth-child(2){
width: 120px;
}
:nth-child(3){
width: 200px;
}
:nth-child(4){
width: 90px;
}
:nth-child(5){
width: 90px;
}
:nth-child(6){
width:130px;
}
:nth-child(7){
width:40px;
:nth-child(1){
width: 40px;
}
}
}
.list-item{
margin-bottom: 20px;
line-height: 24px;
font-size: 16px;
color: #606060;
:nth-child(1){
width: 120px;
}
:nth-child(2){
width: 120px;
}
:nth-child(3){
width: 200px;
}
:nth-child(4){
width: 90px;
}
:nth-child(5){
width: 90px;
}
:nth-child(6){
width:130px;
}
:nth-child(7){
width:40px;
:nth-child(1){
width: 40px;
}
}
}
}
}
}
.index-main-2{
background: #fff;
padding: 0 16px;
margin-top: 30px;
.index-t{
background: #fff;
margin-top: 30px;
padding-bottom: 40px;
text-align: center;
.index-t-list{
padding-left: 40px;
padding-right: 66px;
margin-top: 30px;
.index-t-list-title{
margin-bottom: 42px;
color: #000;
font-size: 16px;
font-weight: bold;
:nth-child(1){
width: 144px;
}
:nth-child(2){
width: 80px;
}
:nth-child(3){
width: 96px;
}
:nth-child(4){
width: 200px;
}
:nth-child(5){
width: 104px;
}
:nth-child(6){
width: 256px;
}
}
.list-item{
margin-bottom: 20px;
line-height: 24px;
font-size: 16px;
color: #606060;
:nth-child(1){
width: 144px;
}
:nth-child(2){
width: 80px;
}
:nth-child(3){
width: 96px;
}
:nth-child(4){
width: 200px;
}
:nth-child(5){
width: 80px;
}
:nth-child(6){
width: 280px;
}
}
}
}
}
.titleBox{
height: 70px;
position: relative;
margin-bottom: 30px;
.title{
font-size: 18px;
font-weight: bold;
color: #116ac8;
line-height: 50px;
.name{
padding-right: 40px;
border-bottom: 4px solid #116ac8;
font-size: 18px;
left: 0;
bottom: -4px
}
.more{
right: 0;
bottom:0
}
span{
position: absolute;
font-size: 16px;
z-index: 4;
}
}
.line{
height: 4px;
background: #f8f8f8;
position: absolute;
width: 100%;
bottom: -4px;
z-index: 3;
}
}
.mainPage{
width: 1200px;
margin: auto;
}
.pointer{
cursor: pointer;
}
<template>
<div id="footer">
</div>
</template>
<script>
export default {
data(){
return {
name: 'Footer',
init:[]
}
},
mounted() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div id='header'>
<div class='mainPage header-list flex'>
<div :class="index===0?'te':''" @click='jump(0)' class='item'> 首页</div>
<div :class="index===1?'te':''" @click='jump(1)' class='item'> 在线直播</div>
<div :class="index===2?'te':''" @click='jump(2)' class='item'> 课程资源</div>
<div @click='jump(3)' class='item'> 专题培训</div>
<div class='item'> 学习擂台</div>
<div class='item'> 积分商城</div>
<div class='item'> 学习资源</div>
</div>
</div>
</template>
<script>
export default {
components: {},
data() {
return {
index: 0
}
},
computed: {},
// fetch() {}, // 与 asyncData 方法类似,用于在渲染页面之前获取数据填充应用的状态树(store)。不同的是 fetch 方法不会设置组件的数据。详情请参考 关于fetch方法的文档。
// head() {}, // 配置当前页面的 Meta 标签, 详情参考 页面头部配置API。
// layout: '', // 指定当前页面使用的布局(layouts 根目录下的布局文件)。详情请参考 关于 布局 的文档。
// loading: true, // 如果设置为false,则阻止页面自动调用this.$nuxt.$loading.finish()和this.$nuxt.$loading.start(),您可以手动控制它,请看例子,仅适用于在nuxt.config.js中设置loading的情况下。请参考API配置 loading 文档。
// transition: '', // 指定页面切换的过渡动效, 详情请参考 页面过渡动效。
// scrollToTop: '', // 布尔值,默认: false。 用于判定渲染页面前是否需要将当前页面滚动至顶部。这个配置用于 嵌套路由的应用场景。
// validate: '', // 校验方法用于校验 动态路由的参数。
// middleware: '' // 指定页面的中间件,中间件会在页面渲染之前被调用, 请参考 路由中间件。
created() {
},
mounted() {
},
methods: {
jump(val) {
this.index = val
if (val === 0) {
this.$router.push('/')
}
}
}
}
</script>
<style lang='scss' scoped>
</style>
<template>
<div class="gallery">
</div>
</template>
<script>
import Swiper from 'swiper'
export default {
name: 'HeaderIndex',
data() {
return {
}
},
components: {
},
created() {
},
mounted() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>
# COMPONENTS
**此目录不是必需的,如果不想使用,可以将其删除。**
组件目录 components 用于组织应用的 Vue.js 组件。Nuxt.js 不会扩展增强该目录下 Vue.js 组件,即这些组件不会像页面组件那样有 asyncData 方法的特性。
<template>
<div id="banner" class="banner">
<img src="~@/assets/img/index-1.jpg"/>
</div>
</template>
<script>
export default {
components: {
},
data() {
return {
index: 0
}
},
computed: {
},
// fetch() {}, // 与 asyncData 方法类似,用于在渲染页面之前获取数据填充应用的状态树(store)。不同的是 fetch 方法不会设置组件的数据。详情请参考 关于fetch方法的文档。
// head() {}, // 配置当前页面的 Meta 标签, 详情参考 页面头部配置API。
// layout: '', // 指定当前页面使用的布局(layouts 根目录下的布局文件)。详情请参考 关于 布局 的文档。
// loading: true, // 如果设置为false,则阻止页面自动调用this.$nuxt.$loading.finish()和this.$nuxt.$loading.start(),您可以手动控制它,请看例子,仅适用于在nuxt.config.js中设置loading的情况下。请参考API配置 loading 文档。
// transition: '', // 指定页面切换的过渡动效, 详情请参考 页面过渡动效。
// scrollToTop: '', // 布尔值,默认: false。 用于判定渲染页面前是否需要将当前页面滚动至顶部。这个配置用于 嵌套路由的应用场景。
// validate: '', // 校验方法用于校验 动态路由的参数。
// middleware: '' // 指定页面的中间件,中间件会在页面渲染之前被调用, 请参考 路由中间件。
created() {
},
mounted() {
},
methods: {
jump (val) {
this.index = val
if (val === 0) {
this.$router.push('/')
}
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="index-t">
<el-card shadow="never">
<el-form :model="dataForm" ref="dataForm" :inline="true" label-width="90px">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="街道/社工委" prop='streetId'>
<el-select filterable v-model="dataForm.streetId" clearable placeholder="请选择" @change="getCommunityList()">
<el-option v-for="item in streetList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="社区" prop='communityId'>
<el-select filterable v-model="dataForm.communityId" clearable placeholder="社区">
<el-option v-for="item in communityList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目类型" prop='type'>
<el-select filterable v-model="dataForm.type" clearable placeholder="请选择">
<el-option v-for="item in this.typeList" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="项目名称" prop='name'>
<el-input placeholder="项目名称" v-model="dataForm.name" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item>
<el-button style="margin-left: 173px" type="primary" @click="searchHandle()">搜索</el-button>
<el-button type="warning" @click="resetForm()" style="margin-right: 40px">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<div style="margin-top: 30px">
<el-table
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
type="index"
header-align="center"
align="center"
label="序号"
width="50">
</el-table-column>
<el-table-column
width="200"
prop="streetName"
header-align="center"
align="center"
label="所属街道/社工委">
</el-table-column>
<el-table-column
prop="communityName"
header-align="center"
align="center"
label="所属社区"
width="200">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label="项目名称"
show-overflow-tooltip>
</el-table-column>
<el-table-column
width="100"
prop="projectStatus"
header-align="center"
align="center"
label="项目状态">
</el-table-column>
<el-table-column
width="100"
prop="type"
header-align="center"
align="center"
label="项目类型">
</el-table-column>
<el-table-column
width="100"
prop="funds"
header-align="center"
align="center"
label="项目预算金额(元)">
</el-table-column>
<el-table-column
width="100"
header-align="center"
align="center"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" title="查看" @click="jumpDetail(scope.row)"><span
class="iconfont icon-chakan"></span></el-button>
</template>
</el-table-column>
</el-table>
</div>
<div style="display: flex;justify-content: flex-end;padding-right: 40px;margin-top: 40px">
<el-pagination @size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
prev-text="上一页"
next-text="下一页"
layout="total, sizes, prev, next, slot">
<span class="paginationSlot" style="color: #666666;font-weight: 400;">
<span class="all" v-text="Math.ceil(totalPage / pageSize)?'共 ' +Math.ceil(totalPage / pageSize) + ' 页':'共1页'"></span>
<span class="current" v-text="currentPage?'当前第 ' + currentPage + ' 页':'当前第1页'"></span>
<span class='home' style="margin-left: 16px;cursor: pointer" @click="currentChangeHandle(1) ">回到首页</span>
</span>
</el-pagination>
</div>
<div style="text-align: left">
<el-dialog
title="项目详情"
class=""
width="900px"
:visible.sync="visibleSync"
:close-on-click-modal="false">
<div style="padding-right: 60px">
<BaseInfo ref="baseInfo"/>
</div>
<div style="text-align: right;padding-right: 60px">
<el-button @click="visibleSync=false">关 闭</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
import BaseInfo from '~/components/project/p-base-info.vue'
export default {
components: {
BaseInfo
},
data() {
return {
org: this.$cookies.get('org'),
streetList: [],
communityList: [],
typeList: [],
dataForm: {
streetId: null,
communityId: null,
type: null,
projectStatus: 'release_approved',
name: null,
projectStatusList: ['release_approved']
},
currentPage: 1,
pageSize: 10,
totalPage: 0,
dataList: [],
dataListLoading: false,
visibleSync: false
}
},
computed: {
todos() {
return this.$store.state.todos.list
}
},
// SSR 最重要的一个键, 支持 异步数据处理,另外该方法的第一个参数为当前页面组件的 上下文对象。
async asyncData({ $axios }) {
// const ip = await $axios.$get('http://icanhazip.com')
// return { project: 'nuxt', ip }
},
head() {
return {
title: this.title,
meta: [{ hid: 'description', name: 'description', content: this.description }]
}
},
// fetch() {}, // 与 asyncData 方法类似,用于在渲染页面之前获取数据填充应用的状态树(store)。不同的是 fetch 方法不会设置组件的数据。详情请参考 关于fetch方法的文档。
// head() {}, // 配置当前页面的 Meta 标签, 详情参考 页面头部配置API。
// layout: '', // 指定当前页面使用的布局(layouts 根目录下的布局文件)。详情请参考 关于 布局 的文档。
// loading: true, // 如果设置为false,则阻止页面自动调用this.$nuxt.$loading.finish()和this.$nuxt.$loading.start(),您可以手动控制它,请看例子,仅适用于在nuxt.config.js中设置loading的情况下。请参考API配置 loading 文档。
// transition: '', // 指定页面切换的过渡动效, 详情请参考 页面过渡动效。
// scrollToTop: '', // 布尔值,默认: false。 用于判定渲染页面前是否需要将当前页面滚动至顶部。这个配置用于 嵌套路由的应用场景。
// validate: '', // 校验方法用于校验 动态路由的参数。
// middleware: '' // 指定页面的中间件,中间件会在页面渲染之前被调用, 请参考 路由中间件。
created() {
},
mounted() {
this.getStreetList()
this.getTypeList()
this.getDataList()
},
methods: {
// async fetchBaseURL () {
// const list = await this.$axios.$get('/homePage/getBanner?source=gallery')
// this.fetchList = list.data.records
// }
handleClick (tab, event) {
console.log(tab, event)
},
// 获取街道
async getStreetList () {
const data = await this.$axios.$get('/api/projectInfo/findStreetList')
this.streetList = data.obj || []
},
// 街道获取社区
async getCommunityList () {
this.dataForm.communityId = null
const data = await this.$axios.$get('/api/projectInfo/findCommunityIdList?streetId=' + this.dataForm.streetId)
this.communityList = data.obj || []
},
// 项目类型
async getTypeList () {
this.dataForm.communityId = null
const data = await this.$axios.$get('/api/dict/parent?code=projectType')
this.typeList = data.obj || []
},
searchHandle(){
this.currentPage = 1
this.getDataList()
},
resetForm(){
this.$refs.dataForm.resetFields()
this.getDataList()
},
// 获取数据列表
async getDataList () {
this.dataListLoading = true
const data = await this.$axios.$post('/api/projectInfo/findPageByClient',{
...this.dataForm,
currentPage: this.currentPage,
pageSize: this.pageSize
})
this.dataListLoading = false
if (data.obj && data.obj.records) {
this.dataList = data.obj.records
this.totalPage = data.obj.total
} else {
this.dataList = []
this.totalPage = 0
}
},
// 每页数
sizeChangeHandle (val) {
this.pageSize = val
this.currentPage = 1
this.getDataList()
},
// 当前页
currentChangeHandle (val) {
this.currentPage = val
this.getDataList()
},
async jumpDetail(item){
if (this.$cookies.get('name')) {
let data = await this.$axios.$get(`/api/projectInfo/checkUpdateDate?id=${this.$cookies.get('id').substring(1)}`)
if (!data.obj) {
this.$confirm(`您已半年未维护组织信息,是否跳至用户中心进行维护?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$router.push('user')
}).catch(() => {
})
} else {
this.lookFrequency(item)
this.visibleSync = true
this.$nextTick(() => {
this.$refs.baseInfo.init(item.id)
})
}
} else {
window.location.href = 'https://one.sipac.gov.cn/yhzx/login/login_show.do?appMark=gyyqzsq&returnUrl=&gotoUrl='
}
},
async lookFrequency (item) {
let data = await this.$axios.$get(`/api/projectInfo/saveOrgView?projectId=${item.id}&orgId=${this.$cookies.get('id').substring(1)}`)
}
}
}
</script>
<style lang="scss" scoped></style>
<template>
<div class="index-t">
<el-card shadow="never">
<el-form :model="dataForm" ref="dataForm" :inline="true" label-width="90px">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="街道/社工委" prop='streetId'>
<el-select filterable v-model="dataForm.streetId" clearable placeholder="请选择" @change="getCommunityList()">
<el-option v-for="item in streetList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="社区" prop='communityId'>
<el-select filterable v-model="dataForm.communityId" clearable placeholder="社区">
<el-option v-for="item in communityList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目类型" prop='type'>
<el-select filterable v-model="dataForm.type" clearable placeholder="请选择">
<el-option v-for="item in this.typeList" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="项目状态" prop='projectStatus'>
<el-select filterable v-model="dataForm.projectStatus" clearable placeholder="请选择">
<el-option :disabled="item.code!=='have_in_hand' && item.code!=='open_items_audit' && item.code!=='conclusion_audit_failed' && item.code!=='conclusion_approved'" v-for="item in this.projectStatusList" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目名称" prop='name'>
<el-input placeholder="项目名称" v-model="dataForm.name" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item>
<el-button style="margin-left: 139px" type="primary" @click="searchHandle()">搜索</el-button>
<el-button type="warning" @click="resetForm()" >重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<div style="margin-top: 30px">
<el-table
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
type="index"
header-align="center"
align="center"
label="序号"
width="50">
</el-table-column>
<el-table-column
width="200"
prop="streetName"
header-align="center"
align="center"
label="所属街道/社工委">
</el-table-column>
<el-table-column
width="200"
prop="communityName"
header-align="center"
align="center"
label="所属社区">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label="项目名称"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="projectStatus"
header-align="center"
align="center"
label="项目状态"
width="100">
</el-table-column>
<el-table-column
prop="type"
header-align="center"
align="center"
label="项目类型"
width="100">
</el-table-column>
<el-table-column
header-align="center"
align="center"
label="操作"
width="100">
<template slot-scope="scope">
<el-button type="text" size="small" title="修改"
@click="jumpdetail(scope.row)"><span class="iconfont icon-bianji"></span>
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div style="display: flex;justify-content: flex-end;padding-right: 40px;margin-top: 40px">
<el-pagination @size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
prev-text="上一页"
next-text="下一页"
layout="total, sizes, prev, next, slot">
<span class="paginationSlot" style="color: #666666;font-weight: 400;">
<span class="all" v-text="Math.ceil(totalPage / pageSize)?'共 ' +Math.ceil(totalPage / pageSize) + ' 页':'共1页'"></span>
<span class="current" v-text="currentPage?'当前第 ' + currentPage + ' 页':'当前第1页'"></span>
<span class='home' style="margin-left: 16px;cursor: pointer" @click="currentChangeHandle(1) ">回到首页</span>
</span>
</el-pagination>
</div>
<ProjectImplementation style="text-align: justify" ref="ProjectImplementation"/>
</div>
</template>
<script>
import ProjectImplementation from '~/components/project/project-index-ProjectImplementation'
export default {
components: {
ProjectImplementation
},
data() {
return {
visible: false,
streetList: [],
communityList: [],
typeList: [],
projectStatusList: [],
dataForm: {
organizationId:null,
streetId: null,
communityId: null,
type: null,
projectStatus: null,
name: null,
projectStatusList: ['have_in_hand', 'open_items_audit', 'conclusion_audit_failed', 'conclusion_approved']
},
currentPage: 1,
pageSize: 10,
totalPage: 0,
dataList: [],
dataListLoading: false
}
},
computed: {
todos() {
return this.$store.state.todos.list
}
},
// SSR 最重要的一个键, 支持 异步数据处理,另外该方法的第一个参数为当前页面组件的 上下文对象。
async asyncData({ $axios }) {
// const ip = await $axios.$get('http://icanhazip.com')
// return { project: 'nuxt', ip }
},
head() {
return {
title: this.title,
meta: [{ hid: 'description', name: 'description', content: this.description }]
}
},
// fetch() {}, // 与 asyncData 方法类似,用于在渲染页面之前获取数据填充应用的状态树(store)。不同的是 fetch 方法不会设置组件的数据。详情请参考 关于fetch方法的文档。
// head() {}, // 配置当前页面的 Meta 标签, 详情参考 页面头部配置API。
// layout: '', // 指定当前页面使用的布局(layouts 根目录下的布局文件)。详情请参考 关于 布局 的文档。
// loading: true, // 如果设置为false,则阻止页面自动调用this.$nuxt.$loading.finish()和this.$nuxt.$loading.start(),您可以手动控制它,请看例子,仅适用于在nuxt.config.js中设置loading的情况下。请参考API配置 loading 文档。
// transition: '', // 指定页面切换的过渡动效, 详情请参考 页面过渡动效。
// scrollToTop: '', // 布尔值,默认: false。 用于判定渲染页面前是否需要将当前页面滚动至顶部。这个配置用于 嵌套路由的应用场景。
// validate: '', // 校验方法用于校验 动态路由的参数。
// middleware: '' // 指定页面的中间件,中间件会在页面渲染之前被调用, 请参考 路由中间件。
created() {
},
mounted() {
this.getStreetList()
this.getTypeList()
this.getProjectStatus()
this.getDataList()
console.log(this.$store)
},
methods: {
// async fetchBaseURL () {
// const list = await this.$axios.$get('/homePage/getBanner?source=gallery')
// this.fetchList = list.data.records
// }
handleClick (tab, event) {
console.log(tab, event)
},
// 获取街道
async getStreetList () {
const data = await this.$axios.$get('/api/projectInfo/findStreetList')
this.streetList = data.obj || []
},
// 街道获取社区
async getCommunityList () {
this.dataForm.communityId = null
const data = await this.$axios.$get('/api/projectInfo/findCommunityIdList?streetId=' + this.dataForm.streetId)
this.communityList = data.obj || []
},
// 项目类型
async getTypeList () {
const data = await this.$axios.$get('/api/dict/parent?code=projectType')
this.typeList = data.obj || []
},
// 项目类型
async getProjectStatus () {
const data = await this.$axios.$get('/api/dict/parent?code=projectStatus')
this.projectStatusList = data.obj || []
},
searchHandle(){
this.currentPage = 1
this.getDataList()
},
resetForm(){
this.$refs.dataForm.resetFields()
this.getDataList()
},
// 获取数据列表
async getDataList () {
if (this.$cookies.get('id')) {
console.log(this.$cookies.get('id'))
this.dataForm.organizationId = this.$cookies.get('id').substring(1)
} else {
this.dataForm.organizationId = null
}
console.log( this.dataForm.organizationId )
console.log(this.$cookies.getAll())
this.dataListLoading = true
const data = await this.$axios.$post('/api/projectInfo/findPageByClient',{
...this.dataForm,
currentPage: this.currentPage,
pageSize: this.pageSize
})
this.dataListLoading = false
if (data.obj && data.obj.records) {
this.dataList = data.obj.records
this.totalPage = data.obj.total
} else {
this.dataList = []
this.totalPage = 0
}
},
// 每页数
sizeChangeHandle (val) {
this.pageSize = val
this.currentPage = 1
this.getDataList()
},
// 当前页
currentChangeHandle (val) {
this.currentPage = val
this.getDataList()
},
jumpdetail(item) {
this.$refs['ProjectImplementation'].init(item.id)
}
}
}
</script>
<style lang="scss" scoped></style>
<template>
<div>
<el-dialog :modal="false" :close-on-click-modal="false" width="900px" :title="!this.id?'新增活动记录':!this.isDisabled?'编辑活动记录':'查看活动记录'"
:visible.sync="dialogFormVisible">
<el-form :rules="dataRule" :model="dataForm" ref="dataForm" label-width="120px">
<el-row :gutter="10">
<el-col >
<el-form-item label="活动名称" prop="activityName" >
<el-input :readonly="isDisabled" placeholder="活动名称" v-model="dataForm.activityName" clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label=" 活动日期" prop="activityDate">
<el-date-picker
:readonly="isDisabled"
v-model="dataForm.activityDate"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参加人数" prop="numberOfParticipant">
<el-input :readonly="isDisabled" placeholder="参加人数" v-model="dataForm.numberOfParticipant" clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col >
<el-form-item label="活动地点" prop="activityAddress" >
<el-input :readonly="isDisabled" placeholder="活动地点" v-model="dataForm.activityAddress" clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="活动预算(元)" prop="activityBudget">
<el-input :readonly="isDisabled" placeholder="活动预算(元)" v-model="dataForm.activityBudget" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="实际费用(元)" prop="actualCost">
<el-input :readonly="isDisabled" placeholder="实际费用(元)" v-model="dataForm.actualCost" clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col >
<el-form-item label="活动实施情况" prop="activityDetail" >
<el-input :readonly="isDisabled" type="textarea" placeholder="活动实施情况" v-model="dataForm.activityDetail" clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="附件" prop="fileList">
<el-upload
class="uploadNone"
:disabled="isDisabled"
size="mini"
ref="programmeUpload"
name="file"
:action="$config.httpBaseUrl+'/api/oss/upload'"
:data="{serverCode: this.serverCode,media:false}"
:on-success="function (res,file){return successHandle(res,file)}"
:on-remove="function (res,file){return removeHandle(file)}"
:on-change="changHandle"
:on-preview="scanExcel"
:before-upload="beforeUpload"
:file-list="dataForm.fileList">
<el-button size="mini" type="primary" :disabled="isDisabled">
<span class="iconfont icon-shangchuan"
style="font-size: 14px;vertical-align: middle"></span>上传附件
</el-button>
<div slot="tip" class="el-upload__tip">只支持上传doc、docx、pdf、xlsx、xls文件,大小10M以内</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">关 闭</el-button>
<el-button v-if="!isDisabled" type="primary" :loading="saveInfo" @click="addAndEditDialog()">保 存</el-button>
</div>
</el-dialog>
<div class="back" v-if="dialogFormVisible"></div>
</div>
</template>
<script>
import Vue from 'vue'
export default {
props: {
},
data () {
return {
isDisabled: false,
id: '',
type: '',
serverCode: 'LocalServer',
dialogFormVisible: false,
saveInfo: false,
dataForm: {
activityName: null, // 活动名称
activityDate: null, // 活动日期
activityAddress: null, // 活动地点
activityBudget: null, // 活动预算(元)
numberOfParticipant: null, // 参加人数
actualCost: null, // 实际费用(元)
activityDetail: null, // 活动实施情况
fileList: [], // 附件
projectId: null,
id: null
},
dataRule: {
activityName: [
{ required: true, message: '活动名称', trigger: 'change' }
],
activityDate: [
{ required: true, message: '活动日期', trigger: 'change' }
],
activityAddress: [
{ required: true, message: '活动地点', trigger: 'change' }
],
activityBudget: [
{ required: true, message: '活动预算(元)', trigger: 'change' }
],
numberOfParticipant: [
{ required: true, message: '参加人数', trigger: 'change' }
],
actualCost: [
{ required: true, message: '实际费用(元)', trigger: 'change' }
],
activityDetail: [
{ required: true, message: '活动实施情况', trigger: 'change' }
],
fileList: [
{ required: true, message: '请上传附件', trigger: 'change' }
]
}
}
},
components: {},
created () {
},
methods: {
init (id, projectId, type) {
this.dialogFormVisible = true
this.id = id
this.dataForm.projectId = projectId
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
})
if (id) {
this.getDetail()
} else {
this.dataForm.id = null
}
if (type) {
this.isDisabled = true
} else {
this.isDisabled = false
}
},
async getDetail () {
const data = await this.$axios.$get('/api/projectInfo/findActivityInfo?id=' + this.id)
this.dataForm = data.obj || {}
},
addAndEditDialog () {
if (this.type === 'read') {
this.dialogFormVisible = false
return
}
this.addDialog('dataForm')
},
addDialog (formName) {
this.dataForm.fileList = this.dataForm.fileList.map((item, index) => {
if (item.response) {
item.url = item.response.obj.path
}
return item
})
this.$refs[formName].validate(async (valid) => {
if (valid) {
this.saveInfo = true
let data = await this.$axios.$post('/api/projectInfo/saveOrUpdateActivity', {
...this.dataForm
})
if (data && data.code === 0) {
this.$message({
message: '保存成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dialogFormVisible = false
this.$emit('getTableList')
this.saveInfo = false
}
})
} else {
this.saveInfo = false
this.$message({
message: '保存失败',
type: 'waring',
duration: 1500
})
}
} else {
}
})
},
beforeUpload (file) {
let FileExt = file.name.replace(/.+\./, '')
if (['doc', 'docx', 'pdf', 'xlsx', 'xls'].indexOf(FileExt.toLowerCase()) === -1) {
this.$message.error('请上传后缀名为doc或docx或pdf或xlsx或xls的文件!')
return false
}
const isLt10M = file.size / 1024 / 1024 < 10
if (['doc', 'docx', 'pdf', 'xlsx', 'xls'].indexOf(FileExt.toLowerCase()) !== -1 && !isLt10M) {
this.$message.error('附件大小不能超过 10M!')
return false
}
},
// 上传成功
successHandle (res, file) {
if (res.success) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
file.url=file.response.obj.path
this.dataForm['fileList'].push(file)
this.$refs.dataForm.clearValidate('fileList')
} else {
this.$message.error('上传失败')
}
},
removeHandle (file) {
this.dataForm['fileList'] = file
console.log(this.dataForm['fileList'])
},
changHandle (file, fileList) {
},
scanExcel (file) {
console.log(file)
let a = document.createElement('a')
a.href = this.$config.httpBaseUrl+file.url
a.download = file.name
a.click()
this.$message({
type: 'success',
message: '下载附件成功'
})
},
close (down) {
this.dialogFormVisible = false
},
clear () {
}
}
}
</script>
<style lang="scss" scoped>
.back{
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: .5;
background: #000;
z-index: 2000;
}
</style>
<template>
<div>
<div style="display: flex;margin-bottom: 16px;justify-content: space-between;align-items: center">
<div v-if ='summary.numberOfParticipantSum'>参加人数共{{summary.numberOfParticipantSum}}人,活动预算共{{summary.activityBudgetSum}}元,实际费用共{{summary.actualCostSum}}</div>
<div></div>
<el-button type="primary" v-if="!isEdit" :disabled="isEdit" @click="addOrUpdateHandle()" >新增</el-button>
</div>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
type="index"
header-align="center"
align="center"
label="序号"
width="50">
</el-table-column>
<el-table-column
prop="activityName"
header-align="center"
align="center"
label="子项目(活动)名称">
</el-table-column>
<el-table-column
prop="activityDate"
header-align="center"
align="center"
label="活动时间"
width="100">
</el-table-column>
<el-table-column
width="100px"
prop="numberOfParticipant"
header-align="center"
align="center"
label="参加人数">
</el-table-column>
<el-table-column
width="100px"
prop="activityBudget"
header-align="center"
align="center"
label="活动预算(元)">
</el-table-column>
<el-table-column
width="100px"
prop="actualCost"
header-align="center"
align="center"
label="实际费用(元)">
</el-table-column>
<el-table-column
prop="activityAddress"
header-align="center"
align="center"
label="活动地点">
</el-table-column>
<el-table-column
width="200px"
header-align="center"
align="center"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" title="查看"
@click="addOrUpdateHandle(scope.row.id, 'read')"><span
class="iconfont icon-chakan"></span></el-button>
<el-button :disabled="isEdit" type="text" size="small" title="修改"
v-if = '!isEdit'
@click="addOrUpdateHandle(scope.row.id)"><span
class="iconfont icon-bianji"></span></el-button>
<el-button :disabled="isEdit" type="text" size="small" title="删除"
v-if = '!isEdit'
@click="deleteHandle(scope.row.id)"><span class="iconfont icon-shanchu"></span>
</el-button>
</template>
</el-table-column>
</el-table>
<pActivityListChild @getTableList = 'getDataList' ref="pActivityListChild" :id="id"></pActivityListChild>
</div>
</template>
<script>
// 必填 - 项目活动列表
import pActivityListChild from '~/components/project/p-activity-list-child.vue'
export default {
name: 'p-active-list',
props: {
isEdit:{
type: Boolean,
default: true
}
},
components: {
pActivityListChild
},
data () {
return {
id: '',
dataListLoading: false,
dataList: [],
summary: {
activityBudgetSum: null,
actualCostSum: null,
numberOfParticipantSum: null
}
}
},
// 接收上级组件参数
// inject: ['loadCommunityOfCurrentCommittee', 'getProvinceList', 'parentInit', 'setGetSocialWorkerCertification'],
created () {
},
mounted () {
},
computed: {
},
methods: {
init (id) {
this.id = id
this.getDataList()
this.getSummary()
},
async getDataList () {
const data = await this.$axios.$get('/api/projectInfo/findActivityList?projectId=' + this.id)
this.dataList = data.obj || []
},
async getSummary () {
const data = await this.$axios.$get('/api/projectInfo/activitySummary?projectId=' + this.id)
this.summary = data.obj || {}
},
addOrUpdateHandle (id, type) {
this.$refs.pActivityListChild.init(id, this.id, type)
},
deleteHandle (id) {
this.$confirm(`确定进行${id ? '删除' : '批量删除'}操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const data = await this.$axios.$get('/api/projectInfo/deleteActivity?id=' + id)
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
}).catch(() => {
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<div v-if = !this.people style="color: red;margin-bottom: 30px;margin-left: 70px">如需报名参加投标,请电联项目联系人{{dataForm.linkMan}},投标联系电话:{{dataForm.linkManPhone}}</div>
<el-form :rules="dataRule" :model="dataForm" class="mod_sw_basic_info" ref="baseInfo" label-width="140px">
<el-row >
<el-col :span="12">
<el-form-item label="项目名称" prop="name">
<div style="display: flex">
<el-tooltip :content="dataForm.name" placement="top">
<el-input placeholder="请输入" v-model="dataForm.name" size="mini" :disabled="disabled"/>
</el-tooltip>
<!-- <div style="width: 60px;text-align: center;color: red">-->
<!-- {{projectStatusName}}-->
<!-- </div>-->
</div>
</el-form-item>
</el-col>
<el-col :span="12" style="display: flex">
<el-form-item label="所属区域" prop="" >
<el-select filterable v-model="dataForm.streetId" placeholder="街道/社工委" size="mini" :disabled="true">
<el-option :disabled="true" v-for="item in streetList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label-width="0" prop="" style="margin-left: 16px">
<el-select filterable v-model="dataForm.communityId" :disabled="true" placeholder="社区" size="mini" >
<el-option :disabled="true" v-for="item in communityList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col>
<el-form-item label="项目需求" prop="requirement">
<el-input type="textarea" placeholder="请输入" v-model="dataForm.requirement" size="mini" :disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<el-form-item label="项目类型" prop="type">
<el-select v-model="dataForm.type" placeholder="请选择" size="mini" :disabled="disabled">
<el-option :disabled="true" v-for="item in typeList" :key="item.id" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所需经费(元)" prop="funds">
<el-input placeholder="请输入" v-model="dataForm.funds" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16" >
<el-form-item label="活动频次" prop="activityTimes">
<el-input placeholder="请输入" v-model="dataForm.activityTimes" size="mini" maxlength="16" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="服务对象" prop="serviceObject">
<el-input placeholder="请输入" v-model="dataForm.serviceObject" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="">
<el-form-item label="活动形式" prop="activityForm">
<el-input type="textarea" placeholder="请输入" v-model="dataForm.activityForm" size="mini" :disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col style="">
<el-form-item label="活动目标" prop="activityTarget">
<el-input type="textarea" placeholder="请输入" v-model="dataForm.activityTarget" size="mini" :disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
<el-row style="" v-if = this.people>
<el-col :span="12">
<el-form-item label="项目联系人" prop="linkMan">
<el-input placeholder="请输入" v-model="dataForm.linkMan" size="mini" :disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="项目联系电话" prop="linkManPhone">
<el-input placeholder="请输入" v-model="dataForm.linkManPhone" size="mini" :disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
// 必填 - 基本信息
// import _ from 'lodash'
export default {
name: 'r-base-info',
props: {
people: {
type: Boolean,
default: false
},
detail: {
type: Object,
default: () => {
return {}
}
},
projectStatusName: {
type: String,
default: ''
}
},
data () {
return {
disabled: true,
communityList: [],
dialogVisible: false,
// editable: '',
dialogType: '',
// myHeaders: {Authorization: this.$cookie.get('Authorization')},
serverCode: 'LocalServer',
streetList: [],
fileList: [],
dataForm: {
name: null, // 项目名称
streetId: null, // 街道
communityId: null, // 社区
requirement: null, // 项目需求
type: null, // 项目类型
funds: null, // 所需经费
serviceObject: null, // 服务对象
activityTimes: null, // 活动频次
openPublic: null, // 是否对外发布
activityForm: null, // 活动形式
activityTarget: null, // 活动目标
linkMan: null, // 项目联系人
linkManPhone: null, // 项目联系人电话,
line: null, // 所属线条
capitalSource: null // 资金来源
},
typeList: [],
statusList: [],
propertiesRights: [],
defaultText: '无',
dataRule: {
// name: [
// {required: true, message: '项目名称', trigger: 'change'}
// ],
// streetId: [
// {required: true, message: '街道', trigger: 'change'}
// ],
// communityId: [
// {required: true, message: '社区', trigger: 'change'}
// ],
// requirement: [
// {required: true, message: '项目需求', trigger: 'change'}
// ],
// type: [
// {required: true, message: '项目类型', trigger: 'change'}
// ],
// funds: [
// {required: true, message: '所需经费', trigger: 'change'},
// ],
// serviceObject: [
// {required: true, message: '服务对象', trigger: 'change'}
// ],
// activityTimes: [
// {required: true, message: '活动频次', trigger: 'change'}
// ],
// openPublic: [
// {required: true, message: '是否对外发布', trigger: 'change'}
// ],
// activityForm: [
// {required: true, message: '活动形式', trigger: 'change'}
// ],
// activityTarget: [
// {required: true, message: '活动目标', trigger: 'change'}
// ],
// linkMan: [
// {required: true, message: '项目联系人', trigger: 'change'}
// ],
// linkManPhone: [
// {required: true, message: '项目联系人电话', trigger: 'change'}
// ],
// line: [
// {required: true, message: '资金来源', trigger: 'change'}
// ],
// capitalSource: [
// {required: true, message: '所属条线', trigger: 'change'}
// ]
}
}
},
beforeCreate () {
},
mounted () {
this.getStreetList()
this.getCommunityList()
this.getTypeList()
},
methods: {
async init (id) {
const data = await this.$axios.$get('/api/projectInfo/findProjectInfo?id=' + id)
this.dataForm = data.obj || {}
},
// 获取街道
async getStreetList () {
const data = await this.$axios.$get('/api/projectInfo/findStreetList')
this.streetList = data.obj || []
},
// 街道获取社区
async getCommunityList () {
const data = await this.$axios.$get('/api/projectInfo/findCommunityIdList')
this.communityList = data.obj || []
console.log(data.obj)
},
// 项目类型
async getTypeList () {
const data = await this.$axios.$get('/api/dict/parent?code=projectType')
this.typeList = data.obj || []
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<div style="display: flex;margin-bottom: 16px;justify-content: flex-end;align-items: center">
<el-button type="primary" v-if="!isEdit" :disabled="isEdit" @click="addOrUpdateHandle()" >保存</el-button>
</div>
<el-form :rules="dataRule" :model="dataForm" class="mod_sw_basic_info" ref="dataForm" label-width="210px">
<el-row style="height: 45px">
<el-col :span="8">
<el-form-item label="评估方式" prop="evaluationMethod">
<el-radio-group :disabled="isEdit" v-model="dataForm.evaluationMethod" >
<div class="flex ">
<el-radio v-for="item in this.evaluationMethodList" :key="item.code" :label="item.code" >{{item.name}}</el-radio>
</div>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16" v-if="dataForm.evaluationMethod === 'agency_ssessment'" :disabled="isEdit">
<el-form-item label="评估机构名称" prop="agencyName">
<el-input :disabled="isEdit" placeholder="请输入" v-model="dataForm.agencyName" size="mini"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="中期评估报告" prop="interimReportList" :requied="projectCycle>6?true:false" >
<el-upload
class="uploadNone"
:disabled="isEdit"
size="mini"
ref="contractUpload"
name="file"
:action="$config.httpBaseUrl+'/api/oss/upload'"
:data="{serverCode: this.serverCode,media:false}"
:on-success="function (res,file){return interimReportListSuccessHandle(res,file)}"
:on-remove="function (res,file){return interimReportListRemoveHandle(file)}"
:on-change="changHandle"
:on-preview="scanExcel"
:before-upload="beforeUpload"
:file-list="dataForm.interimReportList">
<el-button size="mini" type="primary" :disabled="isEdit">
<span class="iconfont icon-shangchuan"
style="font-size: 14px;vertical-align: middle"></span>上传附件
</el-button>
<div slot="tip" class="el-upload__tip">只支持上传doc、docx、pdf、xlsx、xls文件,大小10M以内</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="结项评估报告" prop="closingReportList" >
<el-upload
class="uploadNone"
:disabled="isEdit"
size="mini"
ref="programmeUpload"
name="file"
:action="$config.httpBaseUrl+'/api/oss/upload'"
:data="{serverCode: this.serverCode,media:false}"
:on-success="function (res,file){return closingReportListSuccessHandle(res,file)}"
:on-remove="function (res,file){return closingReportListRemoveHandle(file)}"
:on-change="changHandle"
:on-preview="scanExcel"
:before-upload="beforeUpload"
:file-list="dataForm.closingReportList">
<el-button size="mini" type="primary" :disabled="isEdit">
<span class="iconfont icon-shangchuan"
style="font-size: 14px;vertical-align: middle"></span>上传附件
</el-button>
<div slot="tip" class="el-upload__tip">只支持上传doc、docx、pdf、xlsx、xls文件,大小10M以内</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
// 必填 - 项目评估信息
// import _ from 'lodash'
export default {
name: 'p-evaluation-info',
props: {
detail: {
type: Object,
default() {
return {}
}
},
isEdit:{
type: Boolean,
default: true
}
},
data () {
let validate = (rule, value, callback) => {
console.log(value)
if (value.length === 0) {
callback(new Error('中期评估报告'))
} else {
callback()
}
}
return {
id: null,
serverCode: 'LocalServer',
evaluationMethodList: [],
dataForm: {
evaluationMethod: null,
agencyName: null,
interimReportList: [],
closingReportList: [],
achievements: null,
projectId: null,
id: null,
projectStatus: null // 状态
},
projectStatus: null,
typeList: [],
dataRule: {
evaluationMethod: [
{ required: true, message: '评估方式', trigger: 'change' }
],
agencyName: [
{ required: true, message: '评估机构名称', trigger: 'change' }
],
interimReportList: [
{ required: true, message: '中期评估报告', trigger: 'blur' }
],
closingReportList: [
{ required: true, message: '结项评估报告', trigger: 'change' }
]
},
projectCycle: 1
}
},
// 接收上级组件参数
created () {
},
mounted () {
this.getEvaluationMethodList()
},
methods: {
init (id) {
this.$nextTick(() => {
this.id = id
if (this.detail.evaluation) {
this.dataForm = this.detail.evaluation
}
this.dataForm.projectId = id ? id : null
this.projectCycle = this.detail.projectCycle
console.log(this.projectCycle)
})
},
addOrUpdateHandle () {
this.$refs['dataForm'].validate(async (valid) => {
if (valid) {
this.dataForm.interimReportList = this.dataForm.interimReportList.map((item, index) => {
if (item.response) {
item.url = item.response.obj.path
}
return item
})
this.dataForm.closingReportList = this.dataForm.closingReportList.map((item, index) => {
if (item.response) {
item.url = item.response.obj.path
}
return item
})
let data = await this.$axios.$post('/api/projectInfo/saveEvaluation', {
...this.dataForm
})
if (data && data.code === 0) {
this.dataForm.id = data.obj
this.$message({
message: '保存成功',
type: 'success',
duration: 1500,
onClose: () => {
this.$emit('getTableList')
}
})
} else {
this.dialogFormVisible = false
this.saveInfo = false
this.$message({
message: '保存失败',
type: 'waring',
duration: 1500
})
}
} else {
this.$message.error('验证不通过,请检查所填信息是否正确!')
}
})
},
async getEvaluationMethodList () {
const data = await this.$axios.$get('/api/dict/parent?code=evaluationMethod')
this.evaluationMethodList = data.obj || []
},
beforeUpload (file) {
let FileExt = file.name.replace(/.+\./, '')
if (['doc', 'docx', 'pdf', 'xlsx', 'xls'].indexOf(FileExt.toLowerCase()) === -1) {
this.$message.error('请上传后缀名为doc或docx或pdf或xlsx或xls的文件!!')
return false
}
const isLt10M = file.size / 1024 / 1024 < 10
if (['doc', 'docx', 'pdf', 'xlsx', 'xls'].indexOf(FileExt.toLowerCase()) !== -1 && !isLt10M) {
this.$message.error('附件大小不能超过 10M!')
return false
}
},
// 上传成功
interimReportListSuccessHandle (res, file) {
if (res.success) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
file.url=file.response.obj.path
this.dataForm['interimReportList'].push(file)
this.$refs.dataForm.clearValidate('interimReportList')
} else {
this.$message.error('上传失败')
}
},
// 上传成功
closingReportListSuccessHandle (res, file) {
if (res.success) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
file.url=file.response.obj.path
this.dataForm['closingReportList'].push(file)
this.$refs.dataForm.clearValidate('closingReportList')
} else {
this.$message.error('上传失败')
}
},
interimReportListRemoveHandle (file) {
this.dataForm['interimReportList'] = file
},
closingReportListRemoveHandle (file) {
this.dataForm['closingReportList'] = file
},
changHandle (file, fileList) {
},
scanExcel (file) {
console.log(file)
let a = document.createElement('a')
a.href = this.$config.httpBaseUrl+file.url
a.download = file.name
a.click()
this.$message({
type: 'success',
message: '下载附件成功'
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<div style="display: flex;margin-bottom: 16px;justify-content: flex-end;align-items: center">
<el-button type="primary" v-if="!isEdit" @click="addOrUpdateHandle()" :disabled="isEdit">保存</el-button>
</div>
<el-form :rules="dataRule" :model="dataForm" class="mod_sw_basic_info" ref="dataForm" label-width="210px">
<el-row style="height: 45px">
<el-col >
<el-form-item label="项目目标" prop="projectTarget">
<el-input :disabled="isEdit" type="textarea" placeholder="请输入" v-model="dataForm.projectTarget" size="mini"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="项目合同" prop="contractList">
<el-upload
:disabled="isEdit"
class="uploadNone"
size="mini"
ref="contractUpload"
name="file"
:action="$config.httpBaseUrl+'/api/oss/upload'"
:data="{serverCode: this.serverCode,media:false}"
:on-success="function (res,file){return contractSuccessHandle(res,file)}"
:on-remove="function (res,file){return contractRemoveHandle(file)}"
:on-change="changHandle"
:on-preview="scanExcel"
:before-upload="beforeUpload"
:file-list="dataForm.contractList">
<el-button size="mini" type="primary" :disabled="isEdit">
<span class="iconfont icon-shangchuan"
style="font-size: 14px;vertical-align: middle"></span>上传附件
</el-button>
<div slot="tip" class="el-upload__tip">只支持上传doc、docx、pdf、xlsx、xls文件,大小10M以内</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="项目方案" prop="programmeList">
<el-upload
:disabled="isEdit"
class="uploadNone"
size="mini"
ref="programmeUpload"
name="file"
:action="$config.httpBaseUrl+'/api/oss/upload'"
:data="{serverCode: this.serverCode,media:false}"
:on-success="function (res,file){return programmeSuccessHandle(res,file)}"
:on-remove="function (res,file){return programmeRemoveHandle(file)}"
:on-change="changHandle"
:on-preview="scanExcel"
:before-upload="beforeUpload"
:file-list="dataForm.programmeList">
<el-button size="mini" type="primary" :disabled="isEdit">
<span class="iconfont icon-shangchuan"
style="font-size: 14px;vertical-align: middle"></span>上传附件
</el-button>
<div slot="tip" class="el-upload__tip">只支持上传doc、docx、pdf、xlsx、xls文件,大小10M以内</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
// 必填 - 中标社会组织信息
// import _ from 'lodash'
import Vue from 'vue'
export default {
name: 'p-undertaking-info',
props: {
detail: {
type: Object,
default() {
return {}
}
},
isEdit:{
type: Boolean,
default: true
}
},
data () {
return {
id: '',
serverCode: 'LocalServer',
dialogType: '',
dataForm: {
id: null,
projectId: null,
projectTarget: '',
contractList: [],
programmeList: []
},
dataRule: {
projectTarget: [
{required: true, message: '项目目标', trigger: 'change'}
],
contractList: [
{required: true, message: '项目合同', trigger: 'change'}
],
programmeList: [
{required: true, message: '项目方案', trigger: 'change'}
]
},
fileList: []
}
},
// 接收上级组件参数
// inject: ['loadCommunityOfCurrentCommittee', 'getProvinceList', 'parentInit', 'setGetSocialWorkerCertification'],
created () {
},
mounted () {
console.log(this)
},
computed: {
},
methods: {
init (id) {
this.$nextTick(() => {
this.id = id
if (this.detail.projectTaker) {
this.dataForm = this.detail.projectTaker
}
this.dataForm.projectId = id ? id : null
})
},
async addOrUpdateHandle () {
this.$refs['dataForm'].validate(async (valid) => {
if (valid) {
this.dataForm.contractList = this.dataForm.contractList.map((item, index) => {
if (item.response) {
item.url = item.response.obj.path
}
return item
})
this.dataForm.programmeList = this.dataForm.programmeList.map((item, index) => {
if (item.response) {
item.url = item.response.obj.path
}
return item
})
let data = await this.$axios.$post('/api/projectInfo/saveTaker', {
...this.dataForm
})
if (data && data.code === 0) {
this.dataForm.id = data.obj
this.$message({
message: '保存成功',
type: 'success',
duration: 1500,
onClose: () => {
this.$emit('getTableList')
}
})
} else {
this.dialogFormVisible = false
this.saveInfo = false
this.$message({
message: '保存失败',
type: 'waring',
duration: 1500
})
}
} else {
this.$message.error('验证不通过,请检查所填信息是否正确!')
}
})
},
beforeUpload (file) {
let FileExt = file.name.replace(/.+\./, '')
if (['doc', 'docx', 'pdf', 'xlsx' ,'xls'].indexOf(FileExt.toLowerCase()) === -1) {
this.$message.error('请上传后缀名为doc或docx或pdf或xlsx或xls的文件!!')
return false
}
const isLt10M = file.size / 1024 / 1024 < 10
if (['doc', 'docx', 'pdf', 'xlsx' ,'xls'].indexOf(FileExt.toLowerCase()) !== -1 && !isLt10M) {
this.$message.error('附件大小不能超过 10M!')
return false
}
},
// 上传成功
contractSuccessHandle (res, file) {
if (res.success) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
file.url=file.response.obj.path
this.dataForm['contractList'].push(file)
this.$refs.dataForm.clearValidate('contractList')
} else {
this.$message.error('上传失败')
}
},
// 上传成功
programmeSuccessHandle (res, file) {
if (res.success) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
file.url=file.response.obj.path
this.dataForm['programmeList'].push(file)
this.$refs.dataForm.clearValidate('programmeList')
} else {
this.$message.error('上传失败')
}
},
contractRemoveHandle (file) {
this.dataForm['contractList'] = file
},
programmeRemoveHandle (file) {
this.dataForm['programmeList'] = file
},
changHandle (file, fileList) {
},
scanExcel (file) {
console.log(file)
let a = document.createElement('a')
a.href = this.$config.httpBaseUrl+file.url
a.download = file.name
a.click()
this.$message({
type: 'success',
message: '下载附件成功'
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<el-dialog
class="maintain-dialog"
width="900px"
v-loading="dataListLoading"
:visible.sync="visible"
@close="visible = false">
<div class="text-r" slot="title">
<div class="flex justify-between align-center">
<div class="title">项目详情</div>
<!-- <div>-->
<!-- <el-button type="primary" @click="submitCloseDialog">返回</el-button>-->
<!-- </div>-->
</div>
</div>
<div class="d-box proDetail">
<template>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="项目基本信息" name="first">
<div><BaseInfo :projectStatusName="projectStatusName" :detail="detail" :people="true" ref="baseInfo"/></div>
</el-tab-pane>
<el-tab-pane label="项目承接信息" name="second">
<PUndertakingInfo :isEdit="isEdit" :detail="detail" ref="PUndertakingInfo"></PUndertakingInfo>
</el-tab-pane>
<el-tab-pane label="项目活动列表" name="third">
<PActiveList :isEdit="isEdit" :detail="detail" ref="PActiveList"></PActiveList>
</el-tab-pane>
<el-tab-pane label="项目评价信息" name="Fourth">
<pEvaluationInfo :isEdit="isEdit" :detail="detail" ref="pEvaluationInfo"></pEvaluationInfo>
</el-tab-pane>
</el-tabs>
</template>
</div>
</el-dialog>
</template>
<script>
import BaseInfo from '~/components/project/p-base-info.vue'
import PUndertakingInfo from '~/components/project/p-undertakingInfo.vue'
import PActiveList from '~/components/project/p-activity-list.vue'
import pEvaluationInfo from '~/components/project/p-evaluationInfo.vue'
export default {
props: {
editType: {
type: String,
default: ''
},
role: {
type: String,
default: ''
}
},
data () {
return {
isDisabled: true,
id: '',
dataListLoading: false,
type: null,
tab1ActiveNames: ['1', '2', '3', '4'],
visible: false,
detail: {},
projectStatusName: '',
isEdit: null,
activeName: 'first'
}
},
components: {
BaseInfo,
PUndertakingInfo,
PActiveList,
pEvaluationInfo
},
beforeCreate () {
},
beforeDestroy () {
this.visible = false
},
computed:{
contentHeight () {
return this.$store.state.common.documentClientHeight
}
},
methods: {
handleClick (tab, event) {
},
async init (id) {
this.visible = true
this.id = id
const data = await this.$axios.$get('/api/projectInfo/findProjectInfo?id=' + this.id)
this.detail = data.obj || {}
console.log(this.detail)
if ( this.detail.projectStatus === 'have_in_hand') {
this.isEdit = false
console.log(this.isEdit)
this.projectStatusName = '实施中'
} else if (this.detail.projectStatus === 'open_items_audit') {
this.projectStatusName = '待结项确认审核'
this.isEdit = true
} else if (this.detail.projectStatus === 'conclusion_audit_failed') {
this.projectStatusName = '结项确认审核不通过'
this.isEdit = false
} else if (this.detail.projectStatus === 'conclusion_approved') {
this.projectStatusName = '已结项'
this.isEdit = true
}
this.$nextTick(() => {
// this.$refs.baseInfo.$refs.baseInfo.resetFields()
// this.$refs.pEvaluationInfo.dataForm.agencyName = null
// this.$refs.PUndertakingInfo.$refs.dataForm.resetFields()
// this.$refs.pEvaluationInfo.$refs.dataForm.resetFields()
console.log(id)
this.$refs.baseInfo.init(id)
this.$refs.PUndertakingInfo.init(id)
this.$refs.PActiveList.init(id)
this.$refs.pEvaluationInfo.init(id)
})
},
// 内容菜单-点击事件
handleChange (e) {
},
submitCloseDialog () {
this.visible = false
}
}
}
</script>
<style lang="scss" scoped>
.title{
font-size: 16px;
color: #666;
font-weight: bold;
}
/deep/ .proDetail{
.el-tabs__item{
font-size: 16px !important;
}
}
</style>
<template>
<div class="top">
<div id="top" class="top mainPage flex justify-between align-center">
<div class="top-l margin-left20 flex align-center">
<div class="logo">
<img :src="require('~/assets/img/top-1.jpg')" >
<!-- <img src="~@/assets/img/top-1-1.png"/>-->
</div>
<div class="text">知社区空中课堂</div>
</div>
<div class="top-r margin-right20 ">
<div class="top-r-t">
<img @click="jump" :src="require('~/assets/img/top-2.jpg')" >
</div>
<div v-if="!name">
<div class="text" @click="jumpOut()">登录</div>
</div>
<div class="text" v-else>
<span @click="jump" class="name ">{{name}}</span> | <span style="color: #999" @click="logOut()">退出</span>
</div>
</div>
</div>
</div>
</template>
<script>
import moment from 'moment'
import Swiper from 'swiper'
export default {
// layout: 'list',
data() {
return{
organizationInfo:{},
code: this.$cookies.get('code'),
name: this.$cookies.get('name'),
id: this.$cookies.get('id'),
org: this.$cookies.get('org'),
ticket: this.$route.query.ticket
}
},
head() {
return {
title: this.title,
meta: [{ hid: 'description', name: 'description', content: this.description }]
}
},
async asyncData({ $axios, params }) {},
mounted() {
this.init()
},
props: {
},
methods: {
async init () {
// const data = await this.$axios.$get('/api/projectInfo/findIdByCode?code=' + '53320591509798609H')
// this.organizationInfo = data.obj && data.obj.organizationInfo ? data.obj.organizationInfo : {}
// if (this.code) {
// const data = await this.$axios.$get('/api/projectInfo/findIdByCode?code=' + this.code)
// this.organizationInfo = data.obj && data.obj.organizationInfo ? data.obj.organizationInfo : {}
// } else if (this.ticket) {
// const data = await this.$axios.$get('/api/projectInfo/findIdByTicket?ticket=' + this.ticket)
// this.organizationInfo = data.obj ? data.obj : {}
//
// }
// 判断路由有没有ticket 有就和本地判断 没有就不做操作
if (this.ticket) {
// 判断本地有没有ticket 如果路由和本地相等 不做操作 如果不等重新通过票据获取值
if (this.$cookies.get('ticket')) {
if (this.ticket !== this.$cookies.get('ticket')){
this.$cookies.set('ticket', this.ticket, {
path: '/',
maxAge: 60 * 60 * 2
})
this.getData()
}
} else {
this.$cookies.set('ticket', this.ticket, {
path: '/',
maxAge: 60 * 60 * 2
})
this.getData()
}
}
},
async getData () {
const data = await this.$axios.$get('/api/projectInfo/findOrgByTicket?ticket=' + this.ticket)
// 票据过期 定时两小时 缓存cookie的数据会清空的
console.log(data)
if (data.code === 10) {
this.$router.push('/')
} else {
this.$cookies.set('code', data.obj.code, {
path: '/',
maxAge: 60 * 60 * 2
})
this.$cookies.set('id', 'a' + data.obj.id, {
path: '/',
maxAge: 60 * 60 * 2
})
this.$cookies.set('name', data.obj.name, {
path: '/',
maxAge: 60 * 60 * 2
})
this.$cookies.set('org', data.obj.org, {
path: '/',
maxAge: 60 * 60 * 2
})
}
this.$router.go(0)
},
logOut () {
this.$confirm(`确定进行退出操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.$cookies.removeAll()
this.$router.go(0)
}).catch(() => {
})
},
swiper(){
// this.$nextTick(()=>{
// new Swiper('.swiper-container', {
// slidesPerView : 5,
// })
// })
},
jump(){
if (this.$cookies.get('name')) {
this.$router.push('user')
} else {
console.log('登录')
}
},
jumpOut(){
console.log('登录')
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="topTwo">
<div id="top" class="topTwo page flex justify-between align-center">
<div class="top-l margin-left20 flex align-center">
<div class="logo">
<img :src="require('~/assets/img/top-1-1.png')" >
<!-- <img src="~@/assets/img/top-1-1.png"/>-->
</div>
<div class="text">知社区空中课堂</div>
</div>
<div class="top-r margin-right20 ">
<div class="top-r-t">
<img @click="jump" :src="require('~/assets/img/top-2-2.png')" >
</div>
<div v-if="!name">
<div class="text" @click="jumpOut()">登录</div>
</div>
<div class="text" v-else>
<span @click="jump" class="name ">{{name}}</span> | <span style="color: #999" @click="logOut()">退出</span>
</div>
</div>
</div>
</div>
</template>
<script>
import moment from 'moment'
import Swiper from 'swiper'
export default {
// layout: 'list',
data() {
return{
organizationInfo:{},
code: this.$cookies.get('code'),
name: this.$cookies.get('name'),
id: this.$cookies.get('id'),
org: this.$cookies.get('org'),
ticket: this.$route.query.ticket
}
},
head() {
return {
title: this.title,
meta: [{ hid: 'description', name: 'description', content: this.description }]
}
},
async asyncData({ $axios, params }) {},
mounted() {
this.init()
},
props: {
},
methods: {
async init () {
// const data = await this.$axios.$get('/api/projectInfo/findIdByCode?code=' + '53320591509798609H')
// this.organizationInfo = data.obj && data.obj.organizationInfo ? data.obj.organizationInfo : {}
// if (this.code) {
// const data = await this.$axios.$get('/api/projectInfo/findIdByCode?code=' + this.code)
// this.organizationInfo = data.obj && data.obj.organizationInfo ? data.obj.organizationInfo : {}
// } else if (this.ticket) {
// const data = await this.$axios.$get('/api/projectInfo/findIdByTicket?ticket=' + this.ticket)
// this.organizationInfo = data.obj ? data.obj : {}
//
// }
// 判断路由有没有ticket 有就和本地判断 没有就不做操作
if (this.ticket) {
// 判断本地有没有ticket 如果路由和本地相等 不做操作 如果不等重新通过票据获取值
if (this.$cookies.get('ticket')) {
if (this.ticket !== this.$cookies.get('ticket')){
this.$cookies.set('ticket', this.ticket, {
path: '/',
maxAge: 60 * 60 * 2
})
this.getData()
}
} else {
this.$cookies.set('ticket', this.ticket, {
path: '/',
maxAge: 60 * 60 * 2
})
this.getData()
}
}
},
async getData () {
const data = await this.$axios.$get('/api/projectInfo/findOrgByTicket?ticket=' + this.ticket)
// 票据过期 定时两小时 缓存cookie的数据会清空的
console.log(data)
if (data.code === 10) {
this.$router.push('/')
} else {
this.$cookies.set('code', data.obj.code, {
path: '/',
maxAge: 60 * 60 * 2
})
this.$cookies.set('id', 'a'+data.obj.id, {
path: '/',
maxAge: 60 * 60 * 2
})
this.$cookies.set('name', data.obj.name, {
path: '/',
maxAge: 60 * 60 * 2
})
this.$cookies.set('org', data.obj.org, {
path: '/',
maxAge: 60 * 60 * 2
})
}
this.$router.go(0)
},
logOut () {
this.$confirm(`确定进行退出操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.$cookies.removeAll()
this.$router.go(0)
}).catch(() => {
})
},
swiper(){
// this.$nextTick(()=>{
// new Swiper('.swiper-container', {
// slidesPerView : 5,
// })
// })
},
jump(){
if (this.$cookies.get('name')) {
this.$router.push('user')
} else {
window.location.href = 'https://one.sipac.gov.cn/yhzx/login/login_show.do?appMark=gyyqzsq&returnUrl=&gotoUrl='
}
},
jumpOut(){
window.location.href = 'https://one.sipac.gov.cn/yhzx/login/login_show.do?appMark=gyyqzsq&returnUrl=&gotoUrl='
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<div style="text-align: right">
<el-button type="primary" @click="saveOrupdata()" style="margin-bottom: 10px">保存</el-button>
</div>
<el-form :rules="dataRule" :model="dataForm" class="mod_sw_basic_info" ref="dataForm" label-width="200px" >
<el-row >
<el-col :span="8">
<el-form-item label="社会组织名称" prop="name">
<el-input placeholder="请输入" v-model="dataForm.name" size="mini" :disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label=" 统一社会信用代码" prop="code" >
<el-input placeholder="请输入" v-model="dataForm.code" size="mini" :disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span='8'>
<el-form-item label="社会组织类型" prop="type">
<el-select filterable v-model="dataForm.type" :disabled="disabled" placeholder="请选择" size="mini" >
<el-option :disabled="disabled" v-for="item in list.organizationType" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8" v-if="dataForm.type==='org_type_foundations'">
<el-form-item label="基金类型" prop="groupType">
<el-select filterable v-model="dataForm.foundationsType" :disabled="disabled" placeholder="请选择" size="mini" >
<el-option :disabled="disabled" v-for="item in list.foundationsType" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="dataForm.type==='org_type_social_groups'">
<el-col :span="8" >
<el-form-item label="社会团体类型" prop="groupType">
<el-select filterable v-model="dataForm.groupType" :disabled="disabled" placeholder="请选择" size="mini" >
<el-option :disabled="disabled" v-for="item in list.socialGroupsType" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="h-post">
<el-form-item label="是否行业协会" prop="industryAssociation" >
<el-radio-group v-model="dataForm.industryAssociation" :disabled="disabled">
<el-radio :label='true'></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8" class="h-post">
<el-form-item label="是否商会" prop="businessAssociation" >
<el-radio-group v-model="dataForm.businessAssociation" :disabled="disabled">
<el-radio :label='true'></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="dataForm.type==='org_type_civilian'">
<el-col :span="8" >
<el-form-item label="民办非企业类型" prop="civilianType">
<el-select filterable v-model="dataForm.civilianType" :disabled="disabled" placeholder="请选择" size="mini" >
<el-option :disabled="disabled" v-for="item in list.civilianType" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<el-form-item label="成立日期" prop="establishDate">
<el-date-picker
:disabled="disabled"
size="mini"
v-model="dataForm.establishDate"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="社会组织状态" prop="status">
<el-select v-model="dataForm.status" placeholder="请选择" size="mini" :disabled="disabled">
<el-option :disabled="disabled" v-for="item in list.organizationStatus" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<el-form-item label="法定代表人姓名" prop="legalPersonName">
<el-input placeholder="请输入" v-model="dataForm.legalPersonName" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="法定代表人身份证号" prop="legalPersonIdNo">
<el-input placeholder="请输入" v-model="dataForm.legalPersonIdNo" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="法定代表人联系电话" prop="legalPersonPhone">
<el-input placeholder="请输入" v-model="dataForm.legalPersonPhone" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<el-form-item label="联系人" prop="contactPerson">
<el-input placeholder="请输入" v-model="dataForm.contactPerson" size="mini" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系电话" prop="contactPhone">
<el-input placeholder="请输入" v-model="dataForm.contactPhone" size="mini" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="电子邮箱" prop="mail">
<el-input placeholder="请输入" v-model="dataForm.mail" size="mini" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<el-form-item label="登记管理机关" prop="registerOffice">
<el-input placeholder="请输入" v-model="dataForm.registerOffice" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务主管单位(行业管理部门)" prop="businessDepartment">
<el-select filterable v-model="dataForm.businessDepartment" :disabled="disabled" placeholder="请选择" size="mini" >
<el-option :disabled="disabled" v-for="item in list.businessUnit" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="16">
<el-form-item label="注册地址" prop="registerAddress">
<el-input placeholder="请输入" v-model="dataForm.registerAddress" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="邮政编码" prop="postcode">
<el-input placeholder="请输入" v-model="dataForm.postcode" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="16">
<el-form-item label=" 业务范围" prop="businessScope">
<el-input placeholder="请输入" v-model="dataForm.businessScope" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行业分类" prop="industryType">
<el-select filterable v-model="dataForm.industryType" :disabled="disabled" placeholder="请选择" size="mini" >
<el-option :disabled="disabled" v-for="item in list.industryType" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="8">
<el-form-item label="发证日期" prop="issuingDate">
<el-date-picker
:disabled="disabled"
size="mini"
v-model="dataForm.issuingDate"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证书有效期始" prop="validityDateStart">
<el-date-picker
:disabled="disabled"
size="mini"
v-model="dataForm.validityDateStart"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证书有效期终" prop="validityDateEnd">
<el-date-picker
:disabled="disabled"
size="mini"
v-model="dataForm.validityDateEnd"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="16">
<el-form-item label="发证机关" prop="issuingAuthority">
<el-input placeholder="请输入" v-model="dataForm.issuingAuthority" size="mini" clearable
:disabled="disabled"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
// 必填 - 基本信息
import {isMobile} from '@/utils/validate'
export default {
name: 'r-base-info',
props: {
people: {
type: Boolean,
default: false
},
organizationInfo: {
type: Object,
default: () => {
return {}
}
}
},
data () {
let validateContactPhone = (rule, value, callback) => {
if (!isMobile(value)) {
callback(new Error('联系电话格式错误'))
} else {
callback()
}
}
return {
codeList: ['organizationType',
'foundationsType',
'civilianType',
'socialGroupsType',
'organizationStatus',
'businessUnit',
'industryType'],
list:{
'organizationType': [],
'foundationsType': [],
'civilianType': [],
'socialGroupsType': [],
'organizationStatus': [],
'businessUnit': [],
'industryType': []
},
dataForm: {
"name": "", // 社会组织名称
"code": "", // 统一社会信用代码
"type": "", // 社会组织类型
"groupType": "", // 社会团体类型
"industryAssociation": "", // 是否行业协会
"businessAssociation": "", // 是否商会
"establishDate": "", // 成立日期
"status": "", // 社会组织状态
"legalPersonName": "", // 法定代表人姓名
"legalPersonIdNo": "", // 法定代表人身份证号
"legalPersonPhone": "", // 法定代表人联系电话
"contactPerson": null, // 联系人
"contactPhone": null, // 联系电话
"mail": null, // 电子邮箱
"registerOffice": "", // 登记管理机关
"businessDepartment": "", // 业务主管单位(行业管理部门)
"registerAddress": "", // 注册地址
"postcode": "", // 邮政编码
"businessScope": "", // 业务范围
"industryType": "", // 行业分类
"issuingDate": "", // 发证日期
"validityDateStart": "", // 证书有效期始
"validityDateEnd": "", // 证书有效期止
"issuingAuthority": "" // 发证机关
},
dataRule: {
contactPerson: [
{required: true, message: '联系人', trigger: 'change'}
],
contactPhone: [
{required: true, message: '联系电话', trigger: 'change'},
{ validator: validateContactPhone, trigger: 'blur' }
],
},
disabled: true
}
},
beforeCreate () {
},
mounted () {
this.getTypeList()
},
methods: {
init (id) {
this.dataForm = this.organizationInfo
},
getTypeList () {
this.codeList.forEach(async (item) => {
const data = await this.$axios.$get('/api/dict/parent?code=' + item)
this.list[item] = data.obj || []
})
},
saveOrupdata(){
this.$refs['dataForm'].validate(async (valid) => {
if (valid) {
const data = await this.$axios.$post('/api/projectInfo/updateByClient', {
id: this.dataForm.id,
contactPerson: this.dataForm.contactPerson,
contactPhone: this.dataForm.contactPhone,
mail: this.dataForm.mail
})
if (data && data.code === 0) {
this.$message({
message: '保存成功',
type: 'success',
duration: 1500,
onClose: () => {
this.$emit('getTableList')
}
})
} else {
this.dialogFormVisible = false
this.saveInfo = false
this.$message({
message: '保存失败',
type: 'waring',
duration: 1500
})
}
} else {
}
})
}
}
}
</script>
<style lang="scss" scoped>
.el-select{
width: 100%;
}
</style>
<template>
<el-dialog
:title="Dtype==='edit'?'编辑项目经验信息':'新增项目经验信息'"
class="maintain-dialog"
width="1200px"
:close-on-click-modal="false"
:visible.sync="visible"
append-to-body>
<div>
<el-form :rules="dataRule" :model="dataForm" class="mod_sw_basic_info" ref="dataForm" label-width="150px" >
<el-row style="height: 45px">
<el-col :span="8" style="height: 45px">
<el-form-item label="项目名称" prop="name">
<el-input placeholder="请输入" v-model="dataForm.name" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="服务对象" prop="serviceObject">
<el-input placeholder="请输入" v-model="dataForm.serviceObject" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="服务受益人次" prop="revenuePersonTime">
<el-input placeholder="请输入" v-model="dataForm.revenuePersonTime" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="height: 45px">
<el-form-item label="项目简介" prop="projectBrief">
<el-input type="textarea" placeholder="请输入" v-model="dataForm.projectBrief" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row style="height: 45px">
<el-col :span="8" style="height: 45px">
<el-form-item label="联系人" prop="contactPerson">
<el-input placeholder="请输入" v-model="dataForm.contactPerson" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="联系电话" prop="contact">
<el-input placeholder="请输入" v-model="dataForm.contact" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="购买方" prop="department">
<el-input placeholder="请输入" v-model="dataForm.department" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row style="height: 45px">
<el-col :span="8" style="height: 45px">
<el-form-item label="实施地点" prop="implementAddress">
<el-input placeholder="请输入" v-model="dataForm.implementAddress" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="实施起始日期" prop="startDate">
<el-date-picker v-model="dataForm.startDate"
value-format="yyyy-MM-dd"
type="date"
size="mini"
placeholder="实施起始日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="实施截止日期" prop="endDate">
<el-date-picker
v-model="dataForm.endDate"
value-format="yyyy-MM-dd"
type="date"
size="mini"
placeholder="实施截止日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label=" 实施金额" prop="fund">
<el-input placeholder="请输入" v-model="dataForm.fund" size="mini" :disabled="dialogType === 'read'" clearable>
<template slot="append">万元</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="height: 45px" class="te">
<el-form-item label="项目实施给社区带来的荣誉" prop="honor">
<el-input type="textarea" placeholder="请输入" v-model="dataForm.honor" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="项目资料" prop="fileList">
<el-upload
class="uploadNone"
size="mini"
ref="programmeUpload"
name="file"
:action="$config.httpBaseUrl+'/api/oss/upload'"
:data="{serverCode: this.serverCode,media:false}"
:on-success="function (res,file){return successHandle(res,file)}"
:on-remove="function (res,file){return removeHandle(file)}"
:on-change="changHandle"
:on-preview="scanExcel"
:before-upload="beforeUpload"
:file-list="dataForm.fileList">
<el-button size="mini" type="primary" >
<span class="iconfont icon-shangchuan"
style="font-size: 14px;vertical-align: middle"></span>上传附件
</el-button>
<!-- <div slot="tip" class="el-upload__tip">只能上传doc文件或者docx文件,大小10M以内</div>-->
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="dialog-footer" style="text-align: right">
<el-button @click="visible = false">关 闭</el-button>
<el-button type="primary" :loading="saveInfo" @click="addAndEdit()">保 存</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
// 必填 - 基本信息
import {isMobile, isPhone} from '@/utils/validate'
export default {
props: {
list: {
type: Object,
default: () => {
return {}
}
},
id: {
type: String,
default: ''
},
obj: {
type: Object,
default: () => {}
},
station: {
type: Object,
default: () => {}
},
socialType: {
type: String,
default: ''
},
type: {
type: String,
default: ''
}
},
data () {
let validateContactPhone = (rule, value, callback) => {
if (!isMobile(value) && !isPhone(value)) {
callback(new Error('联系电话格式错误'))
} else {
callback()
}
}
function isNumber (value) {
return /(0|^[1-9]\d*$)/.test(value)
}
var validatePass = (rule, value, callback) => {
if (value === '') {
callback(new Error('请填写服务受益人次'))
} else if (!isNumber(value) || value * 1 === 0) {
callback(new Error('请填写正整数'))
} else {
callback()
}
}
function isNumberPoint (value) {
return /^(\d+|\d+\.\d{1,2})$/.test(value)
}
var validateNumberPoint = (rule, value, callback) => {
if (value === '') {
callback(new Error('请填写实施金额'))
} else if (!isNumberPoint(value)) {
callback(new Error('请填写最多保留两位小数'))
} else {
callback()
}
}
return {
serverCode: 'LocalServer',
visible: false,
dialogType: '',
organizationPostList: [],
documentTypeChangeDisabled: false,
socialOrganizationTypeValue: '',
saveInfo: false,
Dtype: null,
dataForm: {
id: null,
name: null,
serviceObject: null,
revenuePersonTime: null,
projectBrief: null,
contactPerson: null,
contact: null,
department: null,
implementAddress: null,
startDate: null,
endDate: null,
fund: null,
honor: null,
fileList: [],
organizationId: null
},
dataRule: {
name: [
{ required: true, message: '请填写项目名称', trigger: 'blur' }
],
serviceObject: [
{ required: true, message: '请填写服务对象', trigger: 'blur' }
],
revenuePersonTime: [
{ required: true, message: '请填写服务受益人次', trigger: 'blur' },
{validator: validatePass, trigger: 'blur'}
],
projectBrief: [
{ required: true, message: '请填写项目简介', trigger: 'blur' }
],
contact: [
{ required: true, message: '请填写联系电话', trigger: 'change' },
{validator: validateContactPhone, trigger: 'blur'}
],
department: [
{ required: true, message: '请填写购买方', trigger: 'blur' }
],
startDate: [
{ required: true, message: '请选择实施起始日期', trigger: 'blur' }
],
endDate: [
{ required: true, message: '请选择实施截止日期', trigger: 'blur' }
],
fund: [
{ required: true, message: '请填写实施金额', trigger: 'blur' },
{validator: validateNumberPoint, trigger: 'blur'}
]
}
}
},
created () {
},
computed: {
},
methods: {
init (id) {
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
console.log(id)
if (id) {
this.dataForm.id = id
this.Dtype = 'edit'
this.getData(id)
} else {
this.Dtype = 'add'
this.dataForm.id = null
}
console.log(this.Dtype)
})
// 放在这里获取职务会显示code,因为要先获取数据列表再赋值才行,所以在created将此函数放在赋值之前就可以了。
},
async getData(val){
let data = await this.$axios.$get('/api/projectInfo/findOrganizationProjectInfo?id='+val)
this.dataForm = data.obj || {}
},
async addAndEdit(){
this.$refs['dataForm'].validate(async (valid) => {
if (valid) {
this.dataForm.fileList = this.dataForm.fileList.map((item, index) => {
if (item.response) {
item.url = item.response.obj.path
}
return item
})
this.saveInfo = true
this.dataForm.organizationId = this.id
this.dataForm.fileList = this.dataForm.fileList.map((item) => {
if(item.response){
return {
name: item.name,
url: item.response.obj.path,
version: this.dataForm.id ? this.dataForm.version : null
}
} else {
return {
name: item.name,
url: item.url,
version: this.dataForm.id ? this.dataForm.version : null
}
}
})
let data = await this.$axios.$post('/api/projectInfo/saveOrUpdateProject', {
...this.dataForm
})
if (data && data.code === 0) {
this.$message({
message: '保存成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('getTableList')
this.saveInfo = false
}
})
} else {
this.visible = false
this.saveInfo = false
this.$message({
message: '保存失败',
type: 'waring',
duration: 1500
})
}
} else {
}
})
},
beforeUpload (file) {
let FileExt = file.name.replace(/.+\./, '')
if (['doc', 'docx', 'pdf'].indexOf(FileExt.toLowerCase()) === -1) {
this.$message.error('请上传后缀名为doc或docx或pdf或xlsx或xls的文件!!')
return false
}
const isLt10M = file.size / 1024 / 1024 < 10
if (['xlsx', 'xls'].indexOf(FileExt.toLowerCase()) !== -1 && !isLt10M) {
this.$message.error('附件大小不能超过 10M!')
return false
}
},
// 上传成功
successHandle (res, file) {
if (res.success) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
this.dataForm['fileList'].push(file)
this.$refs.dataForm.clearValidate('fileList')
} else {
this.$message.error('上传失败')
}
},
removeHandle (file) {
this.dataForm['fileList'] = file
console.log(this.dataForm['fileList'])
},
changHandle (file, fileList) {
},
scanExcel (file) {
console.log(file)
let a = document.createElement('a')
a.href = this.$config.httpBaseUrl+file.url
a.download = file.name
a.click()
this.$message({
type: 'success',
message: '下载附件成功'
})
}
}
}
</script>
<style lang="scss" scoped>
.el-row {
margin-top: 15px;
.el-date-editor.el-input, .el-date-editor.el-input__inner{
width: 236px;
}
}
/deep/ .te .el-form-item__label{
line-height: 20px !important;
}
</style>
<template>
<div>
<div class="flex justify-end" style="margin-bottom: 10px">
<div class="text-r">
<el-button type="primary" @click="addOrUpdateHandle(null)" >新增
</el-button>
</div>
</div>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
type="index"
header-align="center"
align="center"
label="序号"
width="50">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label="项目名称">
</el-table-column>
<el-table-column
width="120px"
prop="startDate"
header-align="center"
align="center"
label="实施起始时间">
</el-table-column>
<el-table-column
width="120px"
prop="endDate"
header-align="center"
align="center"
label="实施截止时间">
</el-table-column>
<el-table-column
prop="department"
header-align="center"
align="center"
label="购买方">
</el-table-column>
<el-table-column
width="120px"
prop="fund"
header-align="center"
align="center"
label="项目金额(万元)">
</el-table-column>
<el-table-column
width="120px"
prop="revenuePersonTime"
header-align="center"
align="center"
label="服务受益人次">
</el-table-column>
<el-table-column
width="200px"
header-align="center"
align="center"
label="操作">
<template slot-scope="scope">
<el-button :hidden="dialogType === 'read'" type="text" size="small" title="修改"
@click="addOrUpdateHandle(scope.row.id)"><span
class="iconfont icon-bianji"></span></el-button>
<el-button :hidden="dialogType === 'read'" type="text" size="small" title="删除"
@click="deleteHandle(scope.row.id)"><span class="iconfont icon-shanchu"></span>
</el-button>
</template>
</el-table-column>
</el-table>
<div class="flex justify-end" style="margin-top: 10px">
<el-pagination @size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
prev-text="上一页"
next-text="下一页"
layout="total, sizes, prev, next, slot">
<span class="paginationSlot" style="color: #666666;font-weight: 400;">
<span class="all" v-text="Math.ceil(totalPage / pageSize)?'共 ' +Math.ceil(totalPage / pageSize) + ' 页':'共1页'"></span>
<span class="current" v-text="currentPage?'当前第 ' + currentPage + ' 页':'当前第1页'"></span>
<span class='home' style="margin-left: 16px" @click="currentChangeHandle(1) ">回到首页</span>
</span>
</el-pagination>
</div>
<Experience-dialog @getTableList="getDataList" :id="id" :list="list" ref="worker" @refreshDataList="getDataList"></Experience-dialog>
</div>
</template>
<script>
import ExperienceDialog from '~/components/userCenter/experience-base-info.vue'
export default {
name: 'r-situation',
props: {
obj: {
type: Object,
default: () => {
}
},
id: {
type: String,
default: ''
},
type: {
type: String,
default: ''
},
socialType: {
type: String,
default: ''
}
},
data () {
return {
codeList: [],
list:{
},
currentPage: 1,
pageSize: 10,
totalPage: 0,
dataList: [],
organizationId: this.id,
dataListLoading: false
}
},
watch:{
id:{
handler(newVal){
this.getDataList()
}
}
},
created () {
this.dialogType = this.type
this.getTypeList()
},
components: {
ExperienceDialog
},
methods: {
handleClick () {
},
async getDataList () {
this.dataListLoading = true
const {data} = await this.$axios.post('/api/projectInfo/pagesByProject', {
currentPage: this.currentPage,
pageSize: this.pageSize,
organizationId: this.id
})
if (data && data.code === 0) {
this.dataList = data.obj.records
this.totalPage = data.obj.total
} else {
this.dataList = null
this.totalPage = 0
}
this.dataListLoading = false
},
getTypeList () {
this.codeList.forEach(async (item) => {
const data = await this.$axios.$get('/api/dict/parent?code=' + item)
this.list[item] = data.obj || []
})
},
addOrUpdateHandle (id) {
this.$nextTick(() => {
this.$refs.worker.init(id)
})
},
deleteHandle (id) {
this.$confirm(`确定进行删除操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const data = await this.$axios.$get('/api/projectInfo/deleteProject?id=' + id)
if (data && data.code === 0) {
this.$message({
message: '删除成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
},
// 每页数
sizeChangeHandle (val) {
this.pageSize = val
this.currentPage = 1
this.getDataList()
},
// 当前页
currentChangeHandle (val) {
this.currentPage = val
this.getDataList()
},
// 详情
// detail (id) {
// this.maintainVisible = true
// this.$nextTick(() => {
// this.$refs.maintain.init(id, 'view')
// })
// }
}
}
</script>
<template>
<el-dialog
:title="Dtype==='edit'?'编辑荣誉信息':'新增荣誉信息'"
class="maintain-dialog"
width="500px"
:close-on-click-modal="false"
:visible.sync="visible"
append-to-body>
<div style="padding-right: 20px">
<el-form :rules="dataRule" :model="dataForm" class="mod_sw_basic_info" ref="dataForm" label-width="150px">
<el-row style="height: 45px">
<el-col >
<el-form-item label="表彰奖励名称" prop="honorName">
<el-input placeholder="请输入" v-model="dataForm.honorName" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
<el-col >
<el-form-item label="颁发单位名称" prop="issueOrg">
<el-input placeholder="请输入" v-model="dataForm.issueOrg" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
<el-col >
<el-form-item label="表彰奖励日期" prop="honorDate">
<el-date-picker v-model="dataForm.honorDate"
value-format="yyyy-MM-dd"
type="date"
size="mini"
placeholder="表彰奖励日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="dialog-footer" style="text-align: right">
<el-button @click="visible = false">关 闭</el-button>
<el-button type="primary" :loading="saveInfo" @click="addAndEdit()">保 存</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
// 必填 - 基本信息
import {isMobile, isIdNumber} from '@/utils/validate'
export default {
props: {
list: {
type: Object,
default: () => {
return {}
}
},
id: {
type: String,
default: ''
}
},
data () {
return {
serverCode: 'LocalServer',
visible: false,
dialogType: '',
organizationPostList: [],
documentTypeChangeDisabled: false,
socialOrganizationTypeValue: '',
saveInfo: false,
Dtype: null,
dataForm: {
id: null,
honorName: null,
issueOrg: null,
honorDate: null,
projectBrief: null
},
dataRule: {
honorName: [
{ required: true, message: '请填表彰奖励名称', trigger: 'blur' }
],
issueOrg: [
{ required: true, message: '请填写颁发单位名称', trigger: 'blur' }
],
honorDate: [
{ required: true, message: '请选择表彰奖励日期', trigger: 'blur' }
]
}
}
},
created () {
},
computed: {
},
methods: {
init (id) {
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (id) {
this.Dtype = 'eidt'
this.getData(id)
} else {
this.Dtype = 'add'
this.dataForm.id = null
}
})
// 放在这里获取职务会显示code,因为要先获取数据列表再赋值才行,所以在created将此函数放在赋值之前就可以了。
},
async getData(val){
let data = await this.$axios.$get('/api/projectInfo/findOrganizationHonorInfo?id='+val)
this.dataForm = data.obj || {}
},
async addAndEdit(){
this.$refs['dataForm'].validate(async (valid) => {
if (valid) {
this.saveInfo = true
this.dataForm.organizationId = this.id
let data = await this.$axios.$post('/api/projectInfo/saveOrUpdateHonor', {
...this.dataForm
})
if (data && data.code === 0) {
this.$message({
message: '保存成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('getTableList')
this.saveInfo = false
}
})
} else {
this.visible = false
this.saveInfo = false
this.$message({
message: '保存失败',
type: 'waring',
duration: 1500
})
}
} else {
}
})
}
}
}
</script>
<style lang="scss" scoped>
.el-row {
margin-top: 15px;
}
.el-date-editor.el-input, .el-date-editor.el-input__inner{
width: 290px;
}
</style>
<template>
<div>
<div class="flex justify-end" style="margin-bottom: 10px">
<div class="text-r">
<el-button type="primary" @click="addOrUpdateHandle(null)" >新增
</el-button>
</div>
</div>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
type="index"
header-align="center"
align="center"
label="序号"
width="50">
</el-table-column>
<el-table-column
prop="honorName"
header-align="center"
align="center"
label="表彰奖励名称">
</el-table-column>
<el-table-column
width="120px"
prop="honorDate"
header-align="center"
align="center"
label="表彰奖励日期">
</el-table-column>
<el-table-column
prop="issueOrg"
header-align="center"
align="center"
label="颁发单位名称">
</el-table-column>
<el-table-column
width="200px"
header-align="center"
align="center"
label="操作">
<template slot-scope="scope">
<el-button :hidden="dialogType === 'read'" type="text" size="small" title="修改"
@click="addOrUpdateHandle(scope.row.id)"><span
class="iconfont icon-bianji"></span></el-button>
<el-button :hidden="dialogType === 'read'" type="text" size="small" title="删除"
@click="deleteHandle(scope.row.id)"><span class="iconfont icon-shanchu"></span>
</el-button>
</template>
</el-table-column>
</el-table>
<div class="flex justify-end" style="margin-top: 10px">
<el-pagination @size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
prev-text="上一页"
next-text="下一页"
layout="total, sizes, prev, next, slot">
<span class="paginationSlot" style="color: #666666;font-weight: 400;">
<span class="all" v-text="Math.ceil(totalPage / pageSize)?'共 ' +Math.ceil(totalPage / pageSize) + ' 页':'共1页'"></span>
<span class="current" v-text="currentPage?'当前第 ' + currentPage + ' 页':'当前第1页'"></span>
<span class='home' style="margin-left: 16px" @click="currentChangeHandle(1) ">回到首页</span>
</span>
</el-pagination>
</div>
<Honor-dialog @getTableList="getDataList" :id="id" :list="list" ref="worker" @refreshDataList="getDataList"></Honor-dialog>
</div>
</template>
<script>
import HonorDialog from '~/components/userCenter/honor-base-info.vue'
export default {
name: 'r-situation',
props: {
obj: {
type: Object,
default: () => {
}
},
id: {
type: String,
default: ''
},
type: {
type: String,
default: ''
},
socialType: {
type: String,
default: ''
}
},
data () {
return {
codeList: [],
list:{
},
currentPage: 1,
pageSize: 10,
totalPage: 0,
dataList: [],
organizationId: this.id,
dataListLoading: false
}
},
watch:{
id:{
handler(newVal){
this.getDataList()
}
}
},
created () {
this.dialogType = this.type
this.getTypeList()
},
components: {
HonorDialog
},
methods: {
handleClick () {
},
async getDataList () {
this.dataListLoading = true
const {data} = await this.$axios.post('/api/projectInfo/pagesByHonor', {
currentPage: this.currentPage,
pageSize: this.pageSize,
organizationId: this.id
})
if (data && data.code === 0) {
this.dataList = data.obj.records
this.totalPage = data.obj.total
} else {
this.dataList = null
this.totalPage = 0
}
this.dataListLoading = false
},
getTypeList () {
this.codeList.forEach(async (item) => {
const data = await this.$axios.$get('/api/dict/parent?code=' + item)
this.list[item] = data.obj || []
})
},
addOrUpdateHandle (id) {
this.$nextTick(() => {
this.$refs.worker.init(id)
})
},
deleteHandle (id) {
this.$confirm(`确定进行删除操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const data = await this.$axios.$get('/api/projectInfo/deleteHonor?id=' + id)
if (data && data.code === 0) {
this.$message({
message: '删除成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
},
// 每页数
sizeChangeHandle (val) {
this.pageSize = val
this.currentPage = 1
this.getDataList()
},
// 当前页
currentChangeHandle (val) {
this.currentPage = val
this.getDataList()
},
// 详情
// detail (id) {
// this.maintainVisible = true
// this.$nextTick(() => {
// this.$refs.maintain.init(id, 'view')
// })
// }
}
}
</script>
<template>
<div>
<div style="text-align: right;margin-bottom: 10px">
<el-button type="primary" @click="saveOrupdata()" >保存</el-button>
</div>
<el-form :rules="required?dataRule:{}" :model="dataForm" class="mod_sw_basic_info" ref="dataForm" label-width="210px">
<el-row>
<el-col :span="8">
<el-form-item label="是否成立党组织" prop="establishParty">
<el-radio-group v-model="dataForm.establishParty" :disabled="dialogType === 'read'">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8" v-if="dataForm.establishParty">
<el-form-item label="党组织名称" prop="name">
<el-input placeholder="请输入" v-model="dataForm.name" size="mini" clearable :disabled="dialogType === 'read'">
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" v-if="dataForm.establishParty">
<el-form-item label="党组织成立时间" prop="establishDate">
<el-date-picker
:disabled="dialogType === 'read'"
v-model="dataForm.establishDate"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:picker-options="pickerOptionsOfCompletedTime"
style="width: 100%"
size="mini">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="dataForm.establishParty">
<el-col :span="8">
<el-form-item label="上级党组织名称" prop="superiorName">
<el-input placeholder="请输入" v-model="dataForm.superiorName" :disabled="dialogType === 'read'" size="mini" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="党员人数" prop="partyMembers">
<el-input type="number" placeholder="请输入" v-model="dataForm.partyMembers" :disabled="dialogType === 'read'" size="mini" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="党组织书记姓名" prop="secretaryName">
<el-input placeholder="请输入" v-model="dataForm.secretaryName" :disabled="dialogType === 'read'" size="mini" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="dataForm.establishParty">
<el-col :span="8">
<el-form-item label="党建联络员姓名" prop="liaisonManName">
<el-input placeholder="请输入" v-model="dataForm.liaisonManName" :disabled="dialogType === 'read'" size="mini" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="党建联络员联系电话" prop="contactPhone">
<el-input placeholder="请输入" v-model="dataForm.contactPhone" :disabled="dialogType === 'read'" size="mini" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import {isMobile} from '@/utils/validate'
export default {
name: 'r-party-organization',
props: {
partyInfo: {
type: Object,
default: () => {
return {}
}
},
id: {
type: String,
default: ''
},
type: {
type: String,
default: ''
},
required: {
type: Boolean,
default: true
}
},
data () {
let validateContactPhone = (rule, value, callback) => {
if (!isMobile(value)) {
callback(new Error('联系电话格式错误'))
} else {
callback()
}
}
return {
dialogType: '',
dataForm: {
id: null,
organizationId: this.id,
funds: null, // 总经费
version: null, // 版本号(更新时必填)
contactPhone: '',
establishDate: '',
liaisonManName: '',
name: '',
partyMembers: '',
secretaryName: '',
superiorName: '', // 上级党组织姓名
establishParty: '' // 是否成立党组织
},
dataRule: {
establishParty: [
{ required: true, message: '请选择是否成立党组织', trigger: 'blur' }
],
establishDate: [
{ required: true, message: '请选择党组织成立时间', trigger: 'blur' }
],
partyMembers: [
{ required: true, message: '请输入党员人数', trigger: 'blur' }
],
secretaryName: [
{ required: true, message: '请输入党组织书记姓', trigger: 'blur' }
],
liaisonManName: [
{ required: true, message: '请输入党建联络员姓名', trigger: 'blur' }
],
contactPhone: [
{ required: true, message: '请输入联系方式', trigger: 'blur' },
{ validator: validateContactPhone, trigger: 'blur' }
],
superiorName: [
{ required: true, message: '请输入上级党组织名称', trigger: 'blur' }
],
name: [
{ required: true, message: '请输入党组织名称', trigger: 'blur' }
]
}
}
},
watch:{
id:{
handler(newVal){
}
}
},
created () {
},
computed: {
// 成立时间不能大于当前时间
pickerOptionsOfCompletedTime () {
return {
disabledDate (time) {
return time.getTime() > Date.now()
}
}
}
},
methods: {
init(){
this.dataForm = this.partyInfo
console.log(this.partyInfo)
},
changeHandle () {
if (this.dataForm.hasSpecialFunds) {
this.dataForm.specialFunds = 20
}
},
saveOrupdata () {
this.$refs["dataForm"].validate(async (valid) => {
if (valid) {
this.dataForm.organizationId = this.id
let obj = {}
if (!this.dataForm.establishParty) {
obj.establishParty = this.dataForm.establishParty
obj.id = this.dataForm.id
obj.organizationId = this.dataForm.organizationId
obj.organizationId = this.dataForm.organizationId
} else {
obj = this.dataForm
}
const data = await this.$axios.$post('/api/projectInfo/saveOrUpdateParty', {
...obj,
})
if (data && data.code === 0) {
this.$message({
message: '保存成功',
type: 'success',
duration: 1500,
onClose: () => {
this.$emit('getTableList')
}
})
} else {
this.dialogFormVisible = false
this.saveInfo = false
this.$message({
message: '保存失败',
type: 'waring',
duration: 1500
})
}
} else {
}
})
}
}
}
</script>
<style scoped>
.el-form-item__content .el-input-group{
vertical-align: middle;
}
</style>
<template>
<div>
<div class="flex justify-between" style="margin-bottom: 10px">
<div style="margin-bottom: 15px;font-size: 16px;font-weight: 700;">
<span style="margin-right: 15px;">人员总数: {{sumData.totalWorkerQty}}</span>
<span style="margin-right: 15px;">其中专职人员数: {{sumData.fullWorkerQty}}</span>
<span>兼职人员数: {{sumData.partWorkerQty}}</span>
</div>
<div class="text-r">
<el-button type="primary" @click="addOrUpdateHandle(null)" >新增
</el-button>
</div>
</div>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
type="index"
header-align="center"
align="center"
label="序号"
width="50">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label="姓名">
</el-table-column>
<el-table-column
prop="gender"
header-align="center"
align="center"
label="性别">
</el-table-column>
<el-table-column
prop="age"
header-align="center"
align="center"
label="年龄">
</el-table-column>
<el-table-column
prop="educationDegree"
header-align="center"
align="center"
label="文化程度">
</el-table-column>
<el-table-column
prop="political"
header-align="center"
align="center"
label="政治面貌">
</el-table-column>
<el-table-column
prop="post"
header-align="center"
align="center"
label="任社会组织职务">
</el-table-column>
<el-table-column
prop="jobType"
header-align="center"
align="center"
label="专职/兼职">
</el-table-column>
<el-table-column
prop="contact"
header-align="center"
align="center"
label="联系电话">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="190"
label="操作">
<template slot-scope="scope">
<el-button :hidden="dialogType === 'read'" type="text" size="small" title="修改"
@click="addOrUpdateHandle(scope.row.id)"><span
class="iconfont icon-bianji"></span></el-button>
<el-button :hidden="dialogType === 'read'" type="text" size="small" title="删除"
@click="deleteHandle(scope.row.id)"><span class="iconfont icon-shanchu"></span>
</el-button>
</template>
</el-table-column>
</el-table>
<div class="flex justify-end" style="margin-top: 10px">
<el-pagination @size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
prev-text="上一页"
next-text="下一页"
layout="total, sizes, prev, next, slot">
<span class="paginationSlot" style="color: #666666;font-weight: 400;">
<span class="all" v-text="Math.ceil(totalPage / pageSize)?'共 ' +Math.ceil(totalPage / pageSize) + ' 页':'共1页'"></span>
<span class="current" v-text="currentPage?'当前第 ' + currentPage + ' 页':'当前第1页'"></span>
<span class='home' style="margin-left: 16px" @click="currentChangeHandle(1) ">回到首页</span>
</span>
</el-pagination>
</div>
<personal-dialog @getTableList="getDataList" :socialType="socialType" :id="id" :list="list" ref="worker" @refreshDataList="getDataList"></personal-dialog>
</div>
</template>
<script>
import PersonalDialog from '~/components/userCenter/personal-base-info.vue'
export default {
name: 'r-situation',
props: {
obj: {
type: Object,
default: () => {
}
},
id: {
type: String,
default: ''
},
type: {
type: String,
default: ''
},
socialType: {
type: String,
default: ''
}
},
data () {
return {
codeList: [
'document_type',
'nation',
'political_status',
'education',
'full_time_or_part_time',
'productionMode',
'certificate_level'],
list:{
'document_type': [],
'nation': [],
'political_status': [],
'education': [],
'full_time_or_part_time': [],
'productionMode': [],
'certificate_level': []
},
dialogType: '',
currentPage: 1,
pageSize: 10,
totalPage: 0,
dataList: [],
sumData: {
totalWorkerQty: 0, // 工作人员总数
fullWorkerQty: 0, // 专职人员数
partWorkerQty: 0 // 兼职人员数
},
organizationId: this.id,
socialTypeValue: this.socialType,
dataListLoading: false,
maintainVisible: false
}
},
watch:{
id:{
handler(newVal){
this.getDataList()
}
}
},
created () {
this.dialogType = this.type
this.getTypeList()
},
components: {
PersonalDialog
},
methods: {
handleClick () {
},
getTypeList () {
this.codeList.forEach(async (item) => {
const data = await this.$axios.$get('/api/dict/parent?code=' + item)
this.list[item] = data.obj || []
})
},
addOrUpdateHandle (id) {
this.visible = true
this.$nextTick(() => {
this.$refs.worker.init(id)
})
},
deleteHandle (id) {
this.$confirm(`确定进行删除操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const data = await this.$axios.$get('/api/projectInfo/deletePerson?id=' + id)
if (data && data.code === 0) {
this.$message({
message: '删除成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
},
viewDetail (id) {
this.workerVisible = true
this.$nextTick(() => {
this.$refs.worker.init(id, 'detail', this.obj.workStation)
})
},
// 查询统计数据
async getSummaryData () {
const data = await this.$axios.$get('/api/projectInfo/summaryPerson?organizationId=' + this.id)
if (data && data.code === 0) {
this.sumData = data.obj
} else {
this.sumData.totalWorkerQty = 0
this.sumData.fullWorkerQty = 0
this.sumData.partWorkerQty = 0
}
},
async getDataList () {
this.getSummaryData()
this.dataListLoading = true
const {data} = await this.$axios.post('/api/projectInfo/pagesByPerson', {
currentPage: this.currentPage,
pageSize: this.pageSize,
organizationId: this.id
})
if (data && data.code === 0) {
this.dataList = data.obj.records
this.totalPage = data.obj.total
} else {
this.dataList = null
this.totalPage = 0
}
this.dataListLoading = false
},
// 每页数
sizeChangeHandle (val) {
this.pageSize = val
this.currentPage = 1
this.getDataList()
},
// 当前页
currentChangeHandle (val) {
this.currentPage = val
this.getDataList()
},
// 详情
// detail (id) {
// this.maintainVisible = true
// this.$nextTick(() => {
// this.$refs.maintain.init(id, 'view')
// })
// }
}
}
</script>
<template>
<el-dialog
:title="Dtype==='edit'?'编辑人员信息':'新增人员信息'"
class="maintain-dialog"
width="1200px"
:close-on-click-modal="false"
:visible.sync="visible"
append-to-body>
<div>
<el-form :rules="dataRule" :model="dataForm" class="mod_sw_basic_info" ref="dataForm" label-width="150px">
<el-row style="height: 45px">
<el-col :span="8" style="height: 45px">
<el-form-item label="姓名" prop="name">
<el-input placeholder="请输入" v-model="dataForm.name" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="证件类型" prop="documentType">
<el-select v-model="dataForm.documentType" clearable placeholder="请选择" :disabled="dialogType === 'read'" @change="documentTypeChange()" size="mini">
<el-option
v-for="item in list.document_type"
:key="item.code"
:label="item.name"
:value="item.code">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="证件号码" prop="documentNumber">
<el-input placeholder="请输入" v-model="dataForm.documentNumber" @blur.native.capture="documentTypeChange()" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row style="height: 45px">
<el-col :span="8" style="height: 45px">
<el-form-item label="性别" prop="gender">
<el-radio-group v-model="dataForm.gender" :disabled="dialogType === 'read' || documentTypeChangeDisabled">
<el-radio :label="'m'"></el-radio>
<el-radio :label="'f'"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="出生日期" prop="birthday">
<el-date-picker
:disabled="dialogType === 'read' || documentTypeChangeDisabled"
v-model="dataForm.birthday"
value-format="yyyy-MM-dd"
type="date"
size="mini"
:picker-options="pickerOptionsOfGraduateTime"
placeholder="出生日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="民族" prop="nation">
<el-select v-model="dataForm.nation" clearable placeholder="请选择" :disabled="dialogType === 'read'" size="mini">
<el-option
v-for="item in list.nation"
:key="item.code"
:label="item.name"
:value="item.code">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="height: 45px">
<el-col :span="8" style="height: 45px">
<el-form-item label="政治面貌" prop="political">
<el-select v-model="dataForm.political" clearable placeholder="请选择" :disabled="dialogType === 'read'" size="mini">
<el-option
v-for="item in list.political_status"
:key="item.code"
:label="item.name"
:value="item.code">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="文化程度" prop="educationDegree">
<el-select v-model="dataForm.educationDegree" clearable placeholder="请选择" :disabled="dialogType === 'read'" size="mini">
<el-option
v-for="item in list.education"
:key="item.code"
:label="item.name"
:value="item.code">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="联系电话" prop="contact">
<el-input placeholder="请输入" v-model="dataForm.contact" size="mini" :disabled="dialogType === 'read'" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" >
<el-form-item label="任社会组织职务" prop="post">
<el-select v-model="dataForm.post" clearable placeholder="请选择" :disabled="dialogType === 'read'" size="mini">
<el-option
v-for="item in organizationPostList"
:key="item.code"
:label="item.name"
:value="item.code">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专职/兼职" prop="jobType">
<el-radio-group v-model="dataForm.jobType" :disabled="dialogType === 'read'">
<el-radio v-for="item in list.full_time_or_part_time"
:key="item.code"
:label="item.code">{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
<el-col :span="24" style="height: 45px;color: #999;margin-left: 50px;">
(专职人员:与社会组织签订劳动合同且缴纳社保的人员)
</el-col>
</el-col>
<el-col style="height: 45px" :span="8" >
<el-form-item label="产生方式" prop="productionMode">
<el-select v-model="dataForm.productionMode" clearable placeholder="请选择" :disabled="dialogType === 'read'" size="mini">
<el-option
v-for="item in list.productionMode"
:key="item.code"
:label="item.name"
:value="item.code">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="height: 45px">
<el-col :span="8" style="height: 45px">
<el-form-item label="是否领导干部" prop="leader">
<el-radio-group v-model="dataForm.leader" :disabled="dialogType === 'read'">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px">
<el-form-item label="是否履行报批程序" prop="perform">
<el-radio-group v-model="dataForm.perform" :disabled="dialogType === 'read'">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8" style="height: 45px" v-if="dataForm.jobType === 'full_time'" class="hjs-label te">
<el-form-item label="是否持有《社会工作者职业水平证书》" prop="withCertificate">
<el-radio-group v-model="dataForm.withCertificate" :disabled="dialogType === 'read'">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="8" style="height: 45px" v-if="dataForm.jobType === 'full_time' && dataForm.withCertificate === true" class="certificateGrade-input">
<el-form-item label="证书等级" prop="certificateGrade" style="height: 45px">
<el-select v-model="dataForm.certificateGrade" placeholder="请选择" size="mini" >
<el-option v-for="item in certificate_levelList" :key="item.id" :label="item.name" :value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-form>
<div class="dialog-footer" style="text-align: right;margin-top: 30px">
<el-button @click="visible = false">关 闭</el-button>
<el-button type="primary" :loading="saveInfo" @click="addAndEdit()">保 存</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
// 必填 - 基本信息
import {isMobile, isIdNumber} from '@/utils/validate'
export default {
props: {
list: {
type: Object,
default: () => {
return {}
}
},
id: {
type: String,
default: ''
},
obj: {
type: Object,
default: () => {}
},
station: {
type: Object,
default: () => {}
},
organizationId: {
type: String,
default: ''
},
socialType: {
type: String,
default: ''
},
type: {
type: String,
default: ''
}
},
data () {
let validateContactPhone = (rule, value, callback) => {
if (!isMobile(value)) {
callback(new Error('联系电话格式错误'))
} else {
callback()
}
}
let validateIdNumber = (rule, value, callback) => {
if (this.dataForm.documentType === 'id_card' && !isIdNumber(value)) {
callback(new Error('身份证号格式错误'))
} else {
callback()
}
}
return {
visible: false,
dialogType: '',
organizationPostList: [],
documentTypeChangeDisabled: false,
socialOrganizationTypeValue: '',
saveInfo: false,
certificate_levelList:[],
Dtype: null,
dataForm: {
infoType: 'station',
id: null,
version: null,
socialWorkerDepart: 'social_worker_type_station',
name: null,
gender: null,
documentType: null,
documentNumber: null,
birthday: null,
nation: null,
political: null,
educationDegree: null,
contact: null,
post: null,
jobType: null,
productionMode: null,
leader: null,
withCertificate: null,
certificateGrade: null,
perform: null,
organizationId: null
},
dataRule: {
name: [
{ required: true, message: '请填写姓名', trigger: 'blur' }
],
gender: [
{ required: true, message: '请选择性别', trigger: 'blur' }
],
documentType: [
{ required: true, message: '请选择证件类型', trigger: 'blur' }
],
documentNumber: [
{ required: true, message: '请填写证件号码', trigger: 'blur' },
{ validator: validateIdNumber, trigger: 'blur' }
],
birthday: [
{ required: true, message: '请选择出生日期', trigger: 'blur' }
],
educationDegree: [
{ required: true, message: '请选择文化程度', trigger: 'blur' }
],
nation: [
{ required: true, message: '请选择民族', trigger: 'blur' }
],
political: [
{ required: true, message: '请选择政治面貌', trigger: 'blur' }
],
post: [
{ required: true, message: '请选择任社会组织职务', trigger: 'blur' }
],
jobType: [
{ required: true, message: '请选择专职/兼职', trigger: 'blur' }
],
// productionMode: [
// { required: true, message: '请选择产生方式', trigger: 'blur' }
// ],
leader: [
{ required: true, message: '请选择是否领导干部', trigger: 'blur' }
],
perform: [
{ required: true, message: '请选择是否履行报批程序', trigger: 'blur' }
],
withCertificate: [
{ required: true, message: '请选择是否持有《社会工作者职业水平证书》', trigger: 'blur' }
],
certificateGrade: [
{ required: true, message: '请选择证书等级', trigger: 'blur' }
],
contact: [
{ required: true, message: '请填写联系电话', trigger: 'blur' },
{ validator: validateContactPhone, trigger: 'blur' }
]
}
}
},
created () {
},
computed: {
pickerOptionsOfGraduateTime () {
return {
disabledDate (time) {
return time.getTime() > Date.now()
}
}
}
},
methods: {
init (id) {
this.visible = true
this.getPostList()
this.getCertificate_levelList()
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (id) {
this.Dtype = 'edit'
this.getData(id)
} else {
this.Dtype = 'add'
this.dataForm.id = null
}
})
// 放在这里获取职务会显示code,因为要先获取数据列表再赋值才行,所以在created将此函数放在赋值之前就可以了。
},
//
async getCertificate_levelList () {
const data = await this.$axios.$get('/api/dict/parent?code=certificate_level')
this.certificate_levelList = data.obj || []
},
async getData(val){
let data = await this.$axios.$get('/api/projectInfo/findOrganizationPersonInfo?id='+val)
this.dataForm = data.obj || {}
},
async addAndEdit(){
this.$refs['dataForm'].validate(async (valid) => {
if (valid) {
this.dataForm.organizationId = this.id
this.saveInfo = true
this.dataForm.jobType !== 'full_time' ? this.dataForm.withCertificate = null : ''
this.dataForm.jobType !== 'full_time' ? this.dataForm.certificateGrade = null : ''
this.dataForm.withCertificate === true ? '' : this.dataForm.certificateGrade = null
let data = await this.$axios.$post('/api/projectInfo/saveOrUpdatePerson', {
...this.dataForm
})
if (data && data.code === 0) {
this.$message({
message: '保存成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('getTableList')
this.saveInfo = false
}
})
} else {
this.visible = false
this.saveInfo = false
this.$message({
message: '保存失败',
type: 'waring',
duration: 1500
})
}
} else {
}
})
},
// 社会组织职务,根据组织类型联动
async getPostList () {
console.log(this.socialType)
// 把每次需要更新的用来判断的变量放在这里就可以了
this.socialOrganizationTypeValue = this.socialType
const data = await this.$axios.$get(`/api/dict/findByParentCodeAndValue?code=organization_post&value=${this.socialOrganizationTypeValue === 'org_type_civilian' ? 'civilian' : 'non_civilian'}`)
if (data && data.code === 0) {
this.organizationPostList = data.obj
} else {
this.organizationPostList = []
}
},
// 证件号查询
async idCardChange () {
const data = await this.$axios.$get(`/api/projectInfo/checkDocumentNumber?documentNumber=${this.dataForm.documentNumber}&organizationId=${this.id}`)
if (data && data.code === 0) {
if (data.obj) {
this.$message.error('当前人员已存在该组织中,请确认后重试')
} else {
if (this.dataForm.documentType === 'id_card') {
this.getInfoByIdCard(this.dataForm.documentNumber.length)
}
}
}
},
// 证件号变更执行
documentTypeChange () {
if (this.dataForm.documentType === 'id_card') {
this.documentTypeChangeDisabled = true
if (this.dataForm.documentNumber && isIdNumber(this.dataForm.documentNumber)) {
this.idCardChange()
}
} else {
this.documentTypeChangeDisabled = false
}
},
// 实现自动生成生日,性别、年龄
getInfoByIdCard (val) {
let iden = this.dataForm.documentNumber
console.log(iden)
let sex = null
let birth = null
if (val === 18) {
sex = iden.substring(16, 17)
birth = iden.substring(6, 10) + '-' + iden.substring(10, 12) + '-' + iden.substring(12, 14)
}
if (val === 15) {
sex = iden.substring(13, 14)
birth = '19' + iden.substring(6, 8) + '-' + iden.substring(8, 10) + '-' + iden.substring(10, 12)
}
if (sex % 2 === 0) {
sex = 'f'
} else {
sex = 'm'
}
// var d = new Date()
// var birthday = new Date(birth.replace(/-/g, '/'))
// var age = d.getFullYear() - birthday.getFullYear() - (d.getMonth() < birthday.getMonth() || (d.getMonth() === birthday.getMonth() && d.getDate() < birthday.getDate()) ? 1 : 0)
// this.dataForm.age = age
this.dataForm.gender = sex
this.dataForm.birthday = birth
}
}
}
</script>
<style lang="scss" scoped>
.el-row {
margin-top: 15px;
}
.el-select{
width: 236px;
}
/deep/ .te .el-form-item__label{
line-height: 20px !important;
}
</style>
export const config = {
httpBaseUrl: 'http://demo45.fyxmt.com',
// httpBaseUrl: 'http://172.16.103.34:8181',
// httpBaseUrl: 'http://demo22.fyxmt.com',
backUrl:"http://demo48.fyxmt.com"
}
export const config = {
httpBaseUrl: 'http://172.32.10.250:80/interface'
// backUrl:"http://demo48.fyxmt.com"
}
export const config = {
httpBaseUri: 'http://172.32.10.250:80/interface'
}
const { config } = require(`./config.${process.env.NODE_ENV}`)
export default config
module.exports = {
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/$1',
'^~/(.*)$': '<rootDir>/$1',
'^vue$': 'vue/dist/vue.common.js'
},
moduleFileExtensions: ['js', 'vue', 'json'],
transform: {
'^.+\\.js$': 'babel-jest',
'.*\\.(vue)$': 'vue-jest'
},
collectCoverage: true,
collectCoverageFrom: [
'<rootDir>/components/**/*.vue',
'<rootDir>/pages/**/*.vue'
]
}
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"~/*": ["./*"],
"@/*": ["./*"],
"~~/*": ["./*"],
"@@/*": ["./*"]
}
},
"exclude": ["node_modules", ".nuxt", "dist"]
}
# LAYOUTS
**此目录不是必需的,如果不想使用,可以将其删除。**
Nuxt.js 允许你扩展默认的布局,或在 layout 目录下创建自定义的布局。
0. default: 默认布局
1. 自定义布局:list,detail,single,...
1. 主题功能
<template>
<div>
<Top/>
<Header />
<Banner />
<nuxt :style="'min-height:' + contentHeight + 'px'" />
<Footer />
</div>
</template>
<script>
import Top from '~/components/top'
import Header from '~/components/Header'
import Footer from '~/components/Footer'
import Banner from '~/components/banner'
export default {
name: 'Default',
components: {
Header,
Footer,
Top,
Banner
},
data() {
return {
contentHeight: 0
}
},
computed:{
},
methods: {
// 重置窗口可视高度
resetDocumentClientHeight() {
if (process.browser) {
this.contentHeight =
document.documentElement['clientHeight'] -
document.getElementById('header').clientHeight -
document.getElementById('footer').clientHeight -
document.getElementById('top').clientHeight -
25
console.log(this.$store)
this.$store.commit('common/updateDocumentClientHeight', this.contentHeight)
console.log(this.$store.state.common)
window.onresize = () => {
this.contentHeight =
document.documentElement['clientHeight'] -
document.getElementById('header').clientHeight -
document.getElementById('footer').clientHeight -
document.getElementById('top').clientHeight -
5
}
}
}
},
mounted() {
this.resetDocumentClientHeight()
}
}
</script>
<template>
<div class="container">
<!-- <h1 v-if="error.statusCode === 404">页面不存在</h1>
<h1 v-else>应用发生错误异常</h1>
<nuxt-link to="/">首 页</nuxt-link> -->
<div class="mc" style="margin-bottom: 100px"></div>
<div class="mc" style="margin-bottom: 40px; text-align: center;">
<img src="~/assets/img/error.png" alt="">
</div>
<div class="mc" style="text-align: center;color: #de3d35; font-size: 28px;letter-spacing: 7px;">
{{error.statusCode === 404 ? '404页面不存在' : '应用发生错误异常,请稍后再试'}}</div>
</div>
</template>
<script>
export default {
props: {
error: {
type: Object,
default() {
return {}
}
}
},
layout: 'default' // 你可以为错误页面指定自定义的布局
}
</script>
<template>
<div>
<HeaderIndex />
<nuxt />
<Footer />
</div>
</template>
<script>
import HeaderIndex from '~/components/HeaderIndex'
import Footer from '~/components/Footer'
export default {
name: 'Index',
components: {
HeaderIndex,
Footer
}
}
</script>
<template>
<div>
<Top/>
<Header />
<nuxt/>
</div>
</template>
<script>
import Top from '~/components/topDetail'
import Header from '~/components/Header'
export default {
name: 'List',
components: {
Top,
Header
}
}
</script>
<template>
<div>
<nuxt />
</div>
</template>
<script>
export default {
name: 'None',
components: {
}
}
</script>
# MIDDLEWARE
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your application middleware.
Middleware let you define custom functions that can be run before rendering either a page or a group of pages.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).
const { config } = require(`./config/config.${process.env.NODE_ENV}`)
export default {
mode: 'universal',
/*
** Headers of the page
*/
head: {
title: '知社区空中课堂',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' },
{
hid: 'description',
name: 'description',
content: process.env.npm_package_description || 'width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'
}
],
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },{
rel: 'stylesheet', href: '/pc/new_icons/iconfont.css'
},{
rel: 'stylesheet', href: '/pc/new_icons/iconfont2.css'
}],
script:[{src:'https://map.qq.com/api/gljs?v=1.exp&key=V5ZBZ-FQWEW-NZSRX-RN7IG-GEV3O-PKBT5',type:"text/javascript"},{src:'http://webapi.amap.com/maps?v=1.4.3&key=3df877a70685dac5ecb3afa375d4c305',type:"text/javascript"},{src:'https://map.qq.com/api/js?v=2.exp&key=V5ZBZ-FQWEW-NZSRX-RN7IG-GEV3O-PKBT5',type:"text/javascript"},{src:'https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js',type:"text/javascript"},]
},
/*
** Customize the progress-bar color
* http://webapi.amap.com/maps?v=1.4.3&key=3df877a70685dac5ecb3afa375d4c305
* script:[{src:'https://map.qq.com/api/gljs?v=1.exp&key=V5ZBZ-FQWEW-NZSRX-RN7IG-GEV3O-PKBT5',type:"text/javascript"},{src:'https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js',type:"text/javascript"}]
*/
loading: { color: '#fff' },
/*
** Global CSS
*/
// '~/assets/css/elementCss/index.css', 'element-ui/lib/theme-chalk/index.css',
css: ['~/assets/css/elementCss/index.css','swiper/css/swiper.css', '~/assets/css/main.css', '~/assets/css/animate.min.css'],
/*
** Plugins to load before mounting the App
*/
plugins: ['@/plugins/element-ui', '~/plugins/axios', '~/plugins/moment', '~/plugins/lodash', '~/plugins/config'],
/*
** Nuxt.js dev-modules
*/
buildModules: [
// Doc: https://github.com/nuxt-community/eslint-module
// '@nuxtjs/eslint-module'
],
/*
** Nuxt.js modules
*/
modules: [
// Doc: https://axios.nuxtjs.org/usage
'@nuxtjs/axios',
'cookie-universal-nuxt',
['cookie-universal-nuxt', { alias: 'cookiz' }]
],
/*
** Axios module configuration
** See https://axios.nuxtjs.org/options
*/
axios: {
// host: config.httpBaseUrl,
// port: '8181',
// prefix: '/api',
baseURL: config.httpBaseUrl,
// browserBaseURL
// https
// progress
// proxy
// retry
credentials: true
// debug
// proxyHeaders
// proxyHeadersIgnore
},
/*
** Build configuration
*/
build: {
transpile: [/^element-ui/],
/*
** You can extend webpack config here
*/
extend(config, ctx) {
config.resolve.alias.swiper='swiper/js/swiper.js'
}
},
server: {
port: 9095,
// port: 9004, // default: 3000
// host: '0.0.0.0' // default: localhost
host: 'localhost' // default: localhost
},
router: {
base: '/pc/'
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "smart_community_pc",
"version": "1.0.0",
"description": "My delightful Nuxt.js project",
"author": "pipe",
"private": true,
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start",
"generate": "nuxt generate",
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
"test": "jest"
},
"dependencies": {
"@nuxtjs/axios": "^5.3.6",
"animate.css": "^3.7.2",
"cookie-universal-nuxt": "^2.1.0",
"element-ui": "^2.4.11",
"lodash": "^4.17.15",
"moment": "^2.24.0",
"nuxt": "^2.0.0",
"swiper": "^5.2.0",
"url-loader": "^4.1.1"
},
"devDependencies": {
"@nuxtjs/eslint-config": "^1.0.1",
"@nuxtjs/eslint-module": "^1.0.0",
"@vue/test-utils": "^1.0.0-beta.27",
"babel-eslint": "^10.0.1",
"babel-jest": "^24.1.0",
"eslint": "^6.1.0",
"eslint-config-prettier": "^4.1.0",
"eslint-plugin-nuxt": ">=0.4.2",
"eslint-plugin-prettier": "^3.0.1",
"jest": "^24.1.0",
"node-sass": "^4.13.0",
"prettier": "^1.16.4",
"sass-loader": "^8.0.0",
"vue-jest": "^4.0.0-0"
}
}
# PAGES
This directory contains your Application Views and Routes.
The framework reads all the `*.vue` files inside this directory and creates the router of your application.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).
路由
动态路由
嵌套路由
<template>
<div class="index">
<div class="index-main mainPage">
<div class="index-t">
<div class="index-t-list">
<div class="titleBox">
<div class="title">
<span class="name">项目列表</span>
<span class="pointer more" @click="jump">更多···</span>
</div>
<div class="line"></div>
</div>
<div class="line"></div>
<div class='index-t-list-title flex justify-between'>
<div class="title-item">所属街道/社工委</div>
<div class="title-item">所属社区</div>
<div class="title-item">项目名称</div>
<div class="title-item">项目状态</div>
<div class="title-item">项目类型</div>
<div class="title-item">项目预算金额(元)</div>
<div class="title-item">操作</div>
</div>
<div class="list-item flex justify-between" v-for="(item, index) of dataList" :key="index">
<div class="item">{{item.streetName}}</div>
<div class="item">{{item.communityName}}</div>
<div class="item" >{{item.name}}</div>
<div class="item">{{item.projectStatus}}</div>
<div class="item">{{item.type}}</div>
<div class="item">{{item.funds}}</div>
<div class="item">
<el-button type="text" size="small" title="查看" @click="jumpDetail(item)"><span
class="iconfont icon-chakan"></span></el-button>
</div>
</div>
</div>
<div style="display: none">
<div style="display: flex;justify-content: flex-end;padding-right: 40px;margin-top: 40px">
<el-pagination @size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
prev-text="上一页"
next-text="下一页"
layout="total, sizes, prev, next, slot">
<span class="paginationSlot" style="color: #666666;font-weight: 400;">
<span class="all" v-text="Math.ceil(totalPage / pageSize)?'共 ' +Math.ceil(totalPage / pageSize) + ' 页':'共1页'"></span>
<span class="current" v-text="currentPage?'当前第 ' + currentPage + ' 页':'当前第1页'"></span>
<span class='home' style="margin-left: 16px;cursor: pointer" @click="currentChangeHandle(1) ">回到首页</span>
</span>
</el-pagination>
</div>
</div>
</div>
</div>
<div class="index-main index-main-2 mainPage">
<div class="index-t">
<div class="index-t-list">
<div class="titleBox">
<div class="title">
<span class="name">{{year}}年度承接政府够买服务的社会组织推荐目录</span>
<span class="pointer more"></span>
</div>
<div class="line"></div>
</div>
<div class='index-t-list-title flex justify-between'>
<div class="title-item">社会组织全称</div>
<div class="title-item">评估等级</div>
<div class="title-item">法定代表人</div>
<div class="title-item">地址</div>
<div class="title-item">联系电话</div>
<div class="title-item">曾承接过的项目</div>
</div>
<div class="list-item flex justify-between" v-for="(item, index) of dataListTwo" :key="index">
<div class="item">{{item.name}}</div>
<div class="item">{{item.rating}}</div>
<div class="item">{{item.legalPersonName}}</div>
<div class="item">{{item.registerAddress}}</div>
<div class="item">{{item.contactPhone}}</div>
<div class="item">{{item.projectName ? item.projectName : '无'}}</div>
</div>
</div>
<div style="display: none">
<div style="display: flex;justify-content: flex-end;padding-right: 40px;margin-top: 40px">
<el-pagination @size-change="sizeChangeHandleTwo"
@current-change="currentChangeHandleTwo"
:current-page="currentPageTwo"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSizeTwo"
:total="totalPageTwo"
prev-text="上一页"
next-text="下一页"
layout="total, sizes, prev, next, slot">
<span class="paginationSlot" style="color: #666666;font-weight: 400;">
<span class="all" v-text="Math.ceil(totalPageTwo / pageSizeTwo)?'共 ' +Math.ceil(totalPageTwo / pageSizeTwo) + ' 页':'共1页'"></span>
<span class="current" v-text="currentPageTwo?'当前第 ' + currentPageTwo + ' 页':'当前第1页'"></span>
<span class='home' style="margin-left: 16px;cursor: pointer" @click="currentChangeHandleTwo(1) ">回到首页</span>
</span>
</el-pagination>
</div>
</div>
</div>
</div>
<div style="text-align: left">
<el-dialog
title="项目详情"
class=""
width="900px"
:visible.sync="visible"
:close-on-click-modal="false">
<div style="padding-right: 60px">
<BaseInfo ref="baseInfo"/>
</div>
<div style="text-align: right;padding-right: 60px">
<el-button @click="visible=false">关 闭</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
import BaseInfo from '~/components/project/p-base-info.vue'
export default {
components: {
BaseInfo
},
data() {
return {
visible: false,
org: this.$cookies.get('org'),
currentPage: 1,
pageSize: 6,
totalPage: 0,
currentPageTwo: 1,
pageSizeTwo: 6,
totalPageTwo: 0,
dataList: [],
dataListTwo: [],
dataListLoading: false,
year: new Date().getFullYear()-1
}
},
computed: {
todos() {
return this.$store.state.todos.list
}
},
// SSR 最重要的一个键, 支持 异步数据处理,另外该方法的第一个参数为当前页面组件的 上下文对象。
async asyncData({ $axios }) {
// const ip = await $axios.$get('http://icanhazip.com')
// return { project: 'nuxt', ip }
},
head() {
return {
title: this.title,
meta: [{ hid: 'description', name: 'description', content: this.description }]
}
},
// fetch() {}, // 与 asyncData 方法类似,用于在渲染页面之前获取数据填充应用的状态树(store)。不同的是 fetch 方法不会设置组件的数据。详情请参考 关于fetch方法的文档。
// head() {}, // 配置当前页面的 Meta 标签, 详情参考 页面头部配置API。
// layout: '', // 指定当前页面使用的布局(layouts 根目录下的布局文件)。详情请参考 关于 布局 的文档。
// loading: true, // 如果设置为false,则阻止页面自动调用this.$nuxt.$loading.finish()和this.$nuxt.$loading.start(),您可以手动控制它,请看例子,仅适用于在nuxt.config.js中设置loading的情况下。请参考API配置 loading 文档。
// transition: '', // 指定页面切换的过渡动效, 详情请参考 页面过渡动效。
// scrollToTop: '', // 布尔值,默认: false。 用于判定渲染页面前是否需要将当前页面滚动至顶部。这个配置用于 嵌套路由的应用场景。
// validate: '', // 校验方法用于校验 动态路由的参数。
// middleware: '' // 指定页面的中间件,中间件会在页面渲染之前被调用, 请参考 路由中间件。
created() {
},
mounted() {
this.getDataList()
this.getDataListTwo()
},
methods: {
// 获取数据列表
async getDataList () {
const data = await this.$axios.$post('/api/projectInfo/findPageByClient',{
projectStatus: 'release_approved',
currentPage: this.currentPage,
pageSize: this.pageSize
})
if (data.obj && data.obj.records) {
this.dataList = data.obj.records
this.totalPage = data.obj.total
} else {
this.dataList = []
this.totalPage = 0
}
},
// 获取数据列表
async getDataListTwo () {
const data = await this.$axios.$post('/api/projectInfo/findOrgByPage',{
organizationStatus: "org_status_natural",
rating: "rating_3A,rating_4A,rating_5A",
currentPage: this.currentPageTwo,
pageSize: this.pageSizeTwo,
projectDate: this.year
})
if (data.obj && data.obj.records) {
this.dataListTwo = data.obj.records
this.totalPageTwo = data.obj.total
} else {
this.dataListTwo = []
this.totalPageTwo = 0
}
},
// 每页数
sizeChangeHandle (val) {
this.pageSize = val
this.currentPage = 1
this.getDataList()
},
// 当前页
currentChangeHandle (val) {
this.currentPage = val
this.getDataList()
},
// 每页数
sizeChangeHandleTwo (val) {
this.pageSizeTwo = val
this.currentPageTwo = 1
this.getDataListTwo()
},
// 当前页
currentChangeHandleTwo (val) {
this.currentPageTwo = val
this.getDataListTwo()
},
jump () {
this.$router.push('indexDetail')
},
async jumpDetail(item){
if (this.$cookies.get('name')) {
let data = await this.$axios.$get(`/api/projectInfo/checkUpdateDate?id=${this.$cookies.get('id').substring(1)}`)
if (!data.obj) {
this.$confirm(`您已半年未维护组织信息,是否跳至用户中心进行维护?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$router.push('user')
}).catch(() => {
})
} else {
this.lookFrequency(item)
this.visible = true
this.$nextTick(() => {
this.$refs.baseInfo.init(item.id)
})
}
} else {
window.location.href = 'https://one.sipac.gov.cn/yhzx/login/login_show.do?appMark=gyyqzsq&returnUrl=&gotoUrl='
}
},
async lookFrequency (item) {
console.log(123)
let data = await this.$axios.$get(`/api/projectInfo/saveOrgView?projectId=${item.id}&orgId=${this.$cookies.get('id').substring(1)}`)
}
}
}
</script>
<style lang="scss" scoped></style>
<template>
<div class="index1" style="min-height: 0">
<div class="page">
<div class="index-main">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="招投标" name="first">
<Bidding/>
</el-tab-pane>
<el-tab-pane v-if="org" label="我的项目" name="second">
<MyPro/>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</template>
<script>
import Bidding from '~/components/bidding.vue'
import MyPro from '~/components/myPro.vue'
export default {
components: {
Bidding,
MyPro
},
data() {
return {
name: 'index',
title: '知社区空中课堂',
description: '首页 - 知社区空中课堂',
activeName: 'first',
org: this.$cookies.get('org')
}
},
computed: {
todos() {
return this.$store.state.todos.list
}
},
// SSR 最重要的一个键, 支持 异步数据处理,另外该方法的第一个参数为当前页面组件的 上下文对象。
async asyncData({ $axios }) {
// const ip = await $axios.$get('http://icanhazip.com')
// return { project: 'nuxt', ip }
},
head() {
return {
title: this.title,
meta: [{ hid: 'description', name: 'description', content: this.description }]
}
},
// fetch() {}, // 与 asyncData 方法类似,用于在渲染页面之前获取数据填充应用的状态树(store)。不同的是 fetch 方法不会设置组件的数据。详情请参考 关于fetch方法的文档。
// head() {}, // 配置当前页面的 Meta 标签, 详情参考 页面头部配置API。
// layout: '', // 指定当前页面使用的布局(layouts 根目录下的布局文件)。详情请参考 关于 布局 的文档。
// loading: true, // 如果设置为false,则阻止页面自动调用this.$nuxt.$loading.finish()和this.$nuxt.$loading.start(),您可以手动控制它,请看例子,仅适用于在nuxt.config.js中设置loading的情况下。请参考API配置 loading 文档。
// transition: '', // 指定页面切换的过渡动效, 详情请参考 页面过渡动效。
// scrollToTop: '', // 布尔值,默认: false。 用于判定渲染页面前是否需要将当前页面滚动至顶部。这个配置用于 嵌套路由的应用场景。
// validate: '', // 校验方法用于校验 动态路由的参数。
// middleware: '' // 指定页面的中间件,中间件会在页面渲染之前被调用, 请参考 路由中间件。
created() {
},
mounted() {
console.log('process.env.NODE_ENV', process.env.NODE_ENV)
// console.log('cookie')
// console.log(this.$cookies)
// this.$cookies.set('cookie-name', '123', {
// path: '/',
// maxAge: 3
// })
// console.log('cookie0')
// console.log(this.$cookies.get('cookie-name'))
// setTimeout(() => {
// console.log('cookie1')
// console.log(this.$cookies.get('cookie-name'))
// },4000)
},
methods: {
// async fetchBaseURL () {
// const list = await this.$axios.$get('/homePage/getBanner?source=gallery')
// this.fetchList = list.data.records
// }
handleClick (tab, event) {
console.log(tab, event)
}
}
}
</script>
<style lang="scss" scoped>
/deep/ .index-main{
.el-tabs__item{
font-size: 22px;
font-weight: bold;
height: 50px;
line-height: 50px;
color: #9a9a9a;
border-bottom: 0;
}
.el-tabs__item.is-active{
color:#013E93
}
.el-tabs__nav-wrap:after{
content: '';
display: none;
}
}
</style>
<template>
<div class="page" style="padding-top: 30px; padding-bottom: 40px">
<div class="flex justify-end" style="margin-bottom: 10px">
<el-button type="primary" @click="$router.go(-1)">返回</el-button>
</div>
<el-card shadow="hover" >
<el-collapse v-model="tab1ActiveNames" class="tab1">
<el-collapse-item title="基本信息" name="1">
<BaseInfo :organizationInfo="organizationInfo" ref="baseInfo"></BaseInfo>
</el-collapse-item>
<el-collapse-item title="人员信息" name="2">
<PeopleInfo ref="peopleInfo" :socialType="socialType" :id="id"></PeopleInfo>
</el-collapse-item>
<el-collapse-item title="党组织信息" name="3">
<Organization ref="partyInfo" :id="id" :partyInfo="partyInfo"></Organization>
</el-collapse-item>
<el-collapse-item title="项目经验" name="4">
<Experience ref="experience" :id="id"></Experience>
</el-collapse-item>
<el-collapse-item title="荣誉信息" name="5">
<Honor ref="honor" :id="id"></Honor>
</el-collapse-item>
</el-collapse>
</el-card>
</div>
</template>
<script>
//import { setBaseFont } from '~/utils/index'
import BaseInfo from '~/components/userCenter/base-info.vue'
import PeopleInfo from '~/components/userCenter/people-info.vue'
import Organization from '~/components/userCenter/organization-info.vue'
import Experience from '~/components/userCenter/experience.vue'
import Honor from '~/components/userCenter/honor.vue'
export default {
layout: 'none',
components: {
BaseInfo,
PeopleInfo,
Organization,
Experience,
Honor
},
data() {
return {
name: 'index',
title: '知社区空中课堂',
description: '用户中心',
tab1ActiveNames: ['1', '2', '3', '4', '5'],
socialType: '',
id: null,
organizationInfo:{},
partyInfo:{}
}
},
computed: {
todos() {
return this.$store.state.todos.list
}
},
// SSR 最重要的一个键, 支持 异步数据处理,另外该方法的第一个参数为当前页面组件的 上下文对象。
async asyncData({ $axios }) {
// const ip = await $axios.$get('http://icanhazip.com')
// return { project: 'nuxt', ip }
},
head() {
return {
title: this.title,
meta: [{ hid: 'description', name: 'description', content: this.description }]
}
},
// fetch() {}, // 与 asyncData 方法类似,用于在渲染页面之前获取数据填充应用的状态树(store)。不同的是 fetch 方法不会设置组件的数据。详情请参考 关于fetch方法的文档。
// head() {}, // 配置当前页面的 Meta 标签, 详情参考 页面头部配置API。
// layout: '', // 指定当前页面使用的布局(layouts 根目录下的布局文件)。详情请参考 关于 布局 的文档。
// loading: true, // 如果设置为false,则阻止页面自动调用this.$nuxt.$loading.finish()和this.$nuxt.$loading.start(),您可以手动控制它,请看例子,仅适用于在nuxt.config.js中设置loading的情况下。请参考API配置 loading 文档。
// transition: '', // 指定页面切换的过渡动效, 详情请参考 页面过渡动效。
// scrollToTop: '', // 布尔值,默认: false。 用于判定渲染页面前是否需要将当前页面滚动至顶部。这个配置用于 嵌套路由的应用场景。
// validate: '', // 校验方法用于校验 动态路由的参数。
// middleware: '' // 指定页面的中间件,中间件会在页面渲染之前被调用, 请参考 路由中间件。
created() {
},
mounted() {
this.init()
},
methods: {
// async fetchBaseURL () {
// const list = await this.$axios.$get('/homePage/getBanner?source=gallery')
// this.fetchList = list.data.records
// }
async init () {
const data = await this.$axios.$get('/api/projectInfo/findOrgByCode?code=' + this.$cookies.get('code'))
this.organizationInfo = data.obj && data.obj.organizationInfo ? data.obj.organizationInfo : {}
this.partyInfo = data.obj && data.obj.partyInfo ? data.obj.partyInfo : {}
this.socialType = this.organizationInfo.type
this.id = this.organizationInfo.id
this.$nextTick((() => {
this.$refs.baseInfo.init()
this.$refs.partyInfo.init()
}))
},
handleClick (tab, event) {
console.log(tab, event)
}
}
}
</script>
<style lang="scss" scoped>
/deep/ .index-main{
.el-tabs__item{
font-size: 16px;
height: 50px;
line-height: 50px;
}
}
</style>
# PLUGINS
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains Javascript plugins that you want to run before mounting the root Vue.js application.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).
export default function({ $axios, redirect, app }) {
// Adds header: `Authorization: 123` to all requests
// let _token = app.$cookies.get('token')
// if (_token) {
// $axios.setHeader('token', _token)
// }
// Adds header: `Content-Type: application/x-www-form-urlencoded` to only post requests
// $axios.setHeader('Content-Type', 'application/x-www-form-urlencoded', [
// 'post'
// ])
// let a = 'ad'
const list = ['/api/projectInfo/findPageByClient',
'/api/projectInfo/findStreetList',
'/api/projectInfo/findCommunityIdList',
'/api/dict/parent?code=projectType',
'/api/projectInfo/findProjectInfo']
$axios.onRequest((config) => {
if (!app.$cookies.get('name') && !list.filter((item) => {
config.url === item.url
})) {
app.router.push('/')
}
let _token = app.$cookies.get('token')
if (_token) {
$axios.setHeader('token', _token)
config.headers.token=_token
}
})
$axios.onResponse((response) => {
console.log('Making response to ' + response)
})
$axios.onError((error) => {
const code = parseInt(error.response && error.response.status)
if (code === 400) {
redirect('/400')
}
})
$axios.onRequestError((error) => {
console.log('onRequestError' + error)
})
$axios.onResponseError((error) => {
console.log('onResponseError' + error)
})
// $axios.interceptors.request.use(function (config) {
// if (store.state.common.account) {
// console.log('token ' + store.state.common.account.access_token)
// config.header['Authorization'] = 'Bearer ' + store.state.common.account.access_token
// }
// }, function (error) {
// // Do something with request error
// return Promise.reject(error);
// });
//
// // Add a response interceptor
// $axios.interceptors.response.use(function (response) {
// // Do something with response data
// return response;
// }, function (error) {
// // Do something with response error
// return Promise.reject(error);
// });
}
import Vue from 'vue'
import config from '~/config'
Vue.prototype.$config = config
import Vue from 'vue'
import Element from 'element-ui'
import locale from 'element-ui/lib/locale/lang/zh-CN'
Vue.use(Element, { locale })
import Vue from 'vue'
import Lodash from 'lodash'
Vue.prototype.$_ = Lodash
import Vue from 'vue'
import Moment from 'moment'
// import locale from 'moment/locale/zh-cn'
// Vue.use(Element, { locale })
Vue.prototype.$moment = Moment
# STATIC
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your static files.
Each file inside this directory is mapped to `/`.
Thus you'd want to delete this README.md before deploying to production.
Example: `/static/robots.txt` is mapped as `/robots.txt`.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).
!function(c){var l,t,a,e,o,h,i='<svg><symbol id="icon-fasong" viewBox="0 0 1024 1024"><path d="M944.360773 107.425093a31.96878 31.96878 0 0 1 3.007063 20.362115L814.159922 854.991048c-3.180894 17.36704-19.838626 28.86681-37.205666 25.684917a31.96878 31.96878 0 0 1-7.355817-2.290763l-196.358244-88.343727-93.728468 153.739864a36.963902 36.963902 0 0 1-22.542986 16.605783c-19.59986 4.930185-39.483442-6.793366-44.711336-26.237378l-0.15385-0.591422-61.280156-243.582127L85.758252 570.720656c-16.101276-7.243926-23.282263-26.169444-16.038338-42.27072a31.96878 31.96878 0 0 1 14.551789-15.322037L901.318806 93.588605c15.706661-8.065124 34.976843-1.871173 43.041967 13.836488zM434.460722 727.60345l27.050583 107.52 45.618451-74.825928-72.669034-32.694072z m415.68206-468.26571L451.314263 656.31207l301.282779 135.548629 97.54574-532.521959z m-88.971114-12.931371L190.98649 539.190447l190.107348 85.529475 380.078829-378.312554z" ></path></symbol><symbol id="icon-shezhi" viewBox="0 0 1024 1024"><path d="M891.11674347 446.9399424c-0.21832213-17.24746453-12.77185707-31.6567392-29.80099947-34.27660693l-48.46755947-7.53212054-13.20850133-25.32539093 27.94525973-46.50265813c8.187088-13.64514667 6.22218667-31.22009493-4.9122528-42.68201707L735.4529152 200.56318187c-11.57108373-12.00772907-29.58267733-14.30011307-43.7736288-5.5672192l-47.70343147 29.2551936-21.39558933-12.66269547-12.9901792-53.707296c-3.82064107-15.93753067-17.902432-27.18113173-34.27660693-27.18113173L448.6865216 130.70003307c-16.374176 0-30.45596693 11.2436-34.27660693 27.18113173L401.4197344 211.4792992l-21.39558933 12.66269547-47.70343147-29.146032c-14.19095253-8.73289387-32.20254507-6.4405088-43.7736288 5.5672192l-87.0014528 89.94880426c-11.13443947 11.4619232-13.0993408 29.03687147-4.9122528 42.68201707l27.94525973 46.50265813-13.20850133 25.32539094-48.46755947 7.53212053c-17.0291424 2.61986773-29.58267733 17.138304-29.80099946 34.27660693l-1.96490134 122.26050987c-0.21832213 14.84591893 8.951216 28.381904 22.8146848 33.62164053l58.5103872 22.0505568 9.0603776 20.3039776-30.1284832 45.62936854c-9.27869973 14.08179093-7.3137984 32.85751253 4.8030912 44.6469184l90.49461014 88.6388704c11.89856747 11.57108373 30.45596693 13.31766293 44.31943466 4.1481248l43.55530667-29.03687147 24.12461867 10.91611733 8.51457173 52.94316694c2.72902933 16.91998187 17.0291424 29.47351573 34.1674464 29.47351573l141.69119893 0c17.138304 0 31.5475776-12.55353493 34.1674464-29.47351573l8.51457174-53.16149014 24.12461866-10.91611733 43.55530667 29.03687147c13.7543072 9.16953813 32.4208672 7.42296 44.31943467-4.1481248l90.49461013-88.6388704c12.1168896-11.78940587 14.08179093-30.56512747 4.8030912-44.6469184l-30.1284832-45.62936854 9.0603776-20.3039776 58.5103872-22.0505568c13.8634688-5.23973653 23.03300693-18.7757216 22.8146848-33.62164053L891.11674347 446.9399424zM789.706016 581.7539872c-8.73289387 3.2748352-15.93753067 10.04282773-19.75817173 18.66656l-14.08179094 31.5475776c-4.9122528 11.13443947-3.9298016 23.79713493 2.72902934 33.83996267l28.27274346 42.68201706-75.6486912 74.0112736-40.82627733-27.18113173c-10.26114987-6.76799253-23.03300693-7.85960427-34.1674464-2.72902933L599.43809707 769.29287787c-10.80695573 4.9122528-18.33907627 14.5184352-20.3039776 26.19868053l-7.85960427 49.12252693L452.7254848 844.61408533l-7.85960427-49.12252693c-1.85573973-11.68024533-9.38786027-21.50475093-20.3039776-26.41700267l-36.78731413-16.59249813c-11.13443947-5.13057493-24.01545707-4.0389632-34.1674464 2.83819093l-40.82627733 27.18113174-75.6486912-74.0112736 28.27274346-42.68201707c6.65883093-10.15198933 7.75044267-22.8146848 2.72902934-33.83996267L254.05215573 600.4205472c-3.82064107-8.51457173-11.02527787-15.28256427-19.75817173-18.66656l-55.1263904-20.74062187 1.6374176-102.61149973 44.21027413-6.87715413c11.02527787-1.7465792 20.63146133-8.62373227 25.8711968-18.5573984l19.5398496-37.33312c5.6763808-10.80695573 5.23973653-24.01545707-0.98245013-34.49493014l-26.52616427-44.21027413 73.137984-75.5395296 45.520208 27.83609813c11.13443947 6.87715413 25.1070688 6.98631467 36.35066987 0.32748374l32.63918933-19.21236587c8.187088-4.8030912 14.19095253-12.9901792 16.374176-22.26887893l11.89856747-49.23168747 106.65046293 0 11.89856747 49.23168747c2.18322347 9.16953813 8.187088 17.35662613 16.374176 22.15971733l32.63918933 19.32152747c11.2436 6.65883093 25.2162304 6.5496704 36.35066987-0.32748374l45.520208-27.83609813 73.137984 75.5395296L754.66528107 361.0301024c-6.33134827 10.479472-6.65883093 23.6879744-0.98245014 34.49493013l19.5398496 37.33312c5.13057493 9.8245056 14.84591893 16.81082027 25.8711968 18.5573984l44.21027414 6.87715414 1.6374176 102.61149973L789.706016 581.7539872z" ></path><path d="M512 400.6556064c-61.34857707 0-111.3443936 49.99581547-111.3443936 111.3443936 0 61.34857707 49.99581547 111.3443936 111.3443936 111.3443936 61.34857707 0 111.3443936-49.99581547 111.3443936-111.3443936C623.3443936 450.65142293 573.45773867 400.6556064 512 400.6556064zM512 575.3134784c-34.9315744 0-63.3134784-28.381904-63.3134784-63.3134784 0-34.9315744 28.381904-63.3134784 63.3134784-63.3134784 34.9315744 0 63.3134784 28.381904 63.3134784 63.3134784C575.3134784 546.9315744 546.9315744 575.3134784 512 575.3134784z" ></path></symbol><symbol id="icon-download" viewBox="0 0 1024 1024"><path d="M512.14047911 606.13443125L634.37583799 483.89907148 671.61338281 521.13652666 519.2052998 673.54461055 512.14425136 680.60565898 512.14047911 680.60188584 512.13670684 680.60565898 352.66766504 521.13652666 389.90520987 483.89907148Z" ></path><path d="M483.89907148 118.58682676l56.20185615-1e-8 0 505.81697608-56.20185615 0 0-505.81697608Z" ></path><path d="M174.78870839 483.89905918L174.78870839 821.12657891C174.78870839 836.62694667 187.35651583 849.21129161 202.79102803 849.21129161L821.20897197 849.21129161C836.52360928 849.21129161 849.21129161 836.5372666 849.21129161 821.12657891L849.21129161 483.89905918 877.3122333 483.89905918 905.41317324 483.89905918 905.41317324 821.12657891C905.41317324 867.67677969 867.46290313 905.41317324 821.20897197 905.41317324L202.79102803 905.41317324C156.28633174 905.41317324 118.58682676 867.63565303 118.58682676 821.12657891L118.58682676 483.89905918 146.68776758 483.89905918 174.78870839 483.89905918Z" ></path></symbol><symbol id="icon-shenhebutongguo" viewBox="0 0 1024 1024"><path d="M97.878 483.853c0-117.062-0.108-160.999-0.108-278.062 0-101.472 56.328-108.082 110.483-108.082h441.933c85.128 0 111.453 28.968 111.453 110.481v55.241c0 43.562-55.419 38.57-55.419 0V208.19c0-40.918-13.309-55.24-56.035-55.24H208.252c-45.746 0-55.241 6.203-55.241 55.24v552.407c0 30.278 16.572 55.241 55.241 55.241 67.004 0 43.482 0.026 110.484 0 33.77 0 36.252 55.241 0 55.241s-63.711 0.44-131.306 0.17c-39.867-0.163-72.883-23.774-84.643-60.322-3.292-10.223-4.694-21.525-4.694-32.34-0.323-116.658-0.215-178.076-0.215-294.734" fill="#515151" ></path><path d="M649.644 926.291c-152.344-0.027-275.666-123.537-275.666-276.122 0-152.586 123.915-276.259 276.529-276.042 152.616 0.215 275.884 124.022 275.722 276.878-0.16 152.236-123.807 275.314-276.585 275.286m0.756-496.868c-121.109-0.271-220.641 98.828-220.91 220.045-0.27 121.541 98.345 220.934 219.561 221.287 121.704 0.324 221.505-98.208 221.775-219.047 0.324-122.594-98.236-221.99-220.426-222.285M594.945 263.061c44.02 0.027 37.978 55.979 0 55.979h-331.45c-41.431 0-39.704-55.979 0-55.979 108.756-0.027 289.155-0.027 331.45 0zM318.736 428.782c44.021 0.028 37.979 55.98 0 55.98h-55.242c-41.431 0-39.704-55.98 0-55.98 108.757-0.027 12.948-0.027 55.242 0z" fill="#515151" ></path><path d="M695.359 650.209l60.603-60.603c12.497-12.497 12.497-32.759 0.001-45.255-12.498-12.498-32.759-12.497-45.255-0.001l-60.604 60.604L589.5 544.35c-12.496-12.496-32.757-12.497-45.255 0.001-12.496 12.496-12.496 32.758 0.001 45.255l60.603 60.603-60.603 60.603c-12.497 12.497-12.497 32.759-0.001 45.255 6.25 6.25 14.438 9.373 22.628 9.373 8.188 0 16.38-3.125 22.627-9.372l60.604-60.604 60.604 60.604c6.248 6.248 14.438 9.372 22.627 9.372s16.379-3.124 22.628-9.373c12.496-12.496 12.496-32.758-0.001-45.255l-60.603-60.603z" fill="#515151" ></path></symbol><symbol id="icon-shenhetongguo" viewBox="0 0 1024 1024"><path d="M97.878 483.853c0-117.062-0.108-160.999-0.108-278.062 0-101.472 56.328-108.082 110.483-108.082h441.933c85.128 0 111.453 28.968 111.453 110.481v55.241c0 43.562-55.419 38.57-55.419 0V208.19c0-40.918-13.309-55.24-56.035-55.24H208.252c-45.746 0-55.241 6.203-55.241 55.24v552.407c0 30.278 16.572 55.241 55.241 55.241 67.004 0 43.482 0.026 110.484 0 33.77 0 36.252 55.241 0 55.241s-63.711 0.44-131.306 0.17c-39.867-0.163-72.883-23.774-84.643-60.322-3.292-10.223-4.694-21.525-4.694-32.34-0.323-116.658-0.215-178.076-0.215-294.734" fill="#515151" ></path><path d="M649.644 926.291c-152.344-0.027-275.666-123.537-275.666-276.122 0-152.586 123.915-276.259 276.529-276.042 152.616 0.215 275.884 124.022 275.722 276.878-0.16 152.236-123.807 275.314-276.585 275.286m0.756-496.868c-121.109-0.271-220.641 98.828-220.91 220.045-0.27 121.541 98.345 220.934 219.561 221.287 121.704 0.324 221.505-98.208 221.775-219.047 0.324-122.594-98.236-221.99-220.426-222.285M594.945 263.061c44.02 0.027 37.978 55.979 0 55.979h-331.45c-41.431 0-39.704-55.979 0-55.979 108.756-0.027 289.155-0.027 331.45 0zM318.736 428.782c44.021 0.028 37.979 55.98 0 55.98h-55.242c-41.431 0-39.704-55.98 0-55.98 108.757-0.027 12.948-0.027 55.242 0z" fill="#515151" ></path><path d="M785.502 547.22c-12.496-12.498-32.758-12.498-45.254 0L602.151 685.316l-42.191-42.191c-12.498-12.496-32.758-12.496-45.256 0-12.496 12.497-12.496 32.759 0 45.256l64.818 64.818c6.249 6.248 14.438 9.372 22.628 9.372s16.379-3.124 22.628-9.372a32.424 32.424 0 0 0 2.402-2.695 32.304 32.304 0 0 0 2.689-2.397l155.633-155.633c12.497-12.496 12.497-32.758 0-45.254z" fill="#515151" ></path></symbol><symbol id="icon-shangchuan" viewBox="0 0 1024 1024"><path d="M749.942 350.2025l-213.174-213.174a31.5045 31.5045 0 0 0-12.096-9.405c-0.1935-0.0855-0.387-0.18-0.5895-0.2655a29.862 29.862 0 0 0-11.727-2.403l-0.0765 0.0045-0.2835-0.0135c-0.081 0-0.1575 0.0135-0.2385 0.0135-0.0855 0-0.1665-0.0135-0.2475-0.0135a29.6775 29.6775 0 0 0-17.766 5.859 31.608 31.608 0 0 0-5.976 5.517l-213.885 213.894c-6.1335 6.1335-9.5445 14.0445-9.7425 22.3425a31.14 31.14 0 0 0 8.235 21.915l0.45 0.45a30.3165 30.3165 0 0 0 21.1095 8.4195 32.13 32.13 0 0 0 23.148-9.927L480.5 229.9985v439.452a31.5 31.5 0 1 0 63 0v-439.29l163.242 163.242c6.1335 6.1335 14.0445 9.5445 22.338 9.7425l0.756 0.009c8.01 0 15.4755-3.0195 21.1635-8.244l0.45-0.45c11.691-12.159 11.223-31.977-1.5075-44.2575z" fill="#666666" ></path><path d="M836 719.0495v54c0 34.794-28.206 63-63 63H251c-34.794 0-63-28.206-63-63v-54a31.5 31.5 0 1 0-63 0v54c0 69.588 56.412 126 126 126h522c69.588 0 126-56.412 126-126v-54a31.5 31.5 0 1 0-63 0z" fill="#666666" ></path></symbol><symbol id="icon-chakanlishi" viewBox="0 0 1024 1024"><path d="M215.36914062 808.63085938V215.36914062h444.94628907v148.31542969a305.52978516 305.52978516 0 0 1 74.15771484 9.64050294V215.36914062a74.15771484 74.15771484 0 0 0-74.15771484-74.15771484H215.36914062a74.15771484 74.15771484 0 0 0-74.15771484 74.15771485v593.26171875a74.15771484 74.15771484 0 0 0 74.15771485 74.15771484h249.16992187a301.08032227 301.08032227 0 0 1-60.80932617-74.15771484z" ></path><path d="M660.31542969 437.84228516a222.47314453 222.47314453 0 1 0 222.47314453 222.47314453 222.47314453 222.47314453 0 0 0-222.47314453-222.47314453z m0 370.78857421a148.31542969 148.31542969 0 1 1 148.31542968-148.31542968 148.31542969 148.31542969 0 0 1-148.31542968 148.31542968zM586.15771484 326.60571289a37.07885742 37.07885742 0 0 0-37.07885742-37.07885742H289.52685547a37.07885742 37.07885742 0 0 0 0 74.15771484h259.55200195a37.07885742 37.07885742 0 0 0 37.07885742-37.07885742zM437.84228516 512a37.07885742 37.07885742 0 0 0-37.07885743-37.07885742H289.52685547a37.07885742 37.07885742 0 0 0 0 74.15771484h111.23657226a37.07885742 37.07885742 0 0 0 37.07885743-37.07885742zM289.52685547 660.31542969a37.07885742 37.07885742 0 0 0 0 74.15771484h74.15771484a37.07885742 37.07885742 0 0 0 0-74.15771484z" ></path><path d="M697.39428711 645.11309815V586.15771484a37.07885742 37.07885742 0 0 0-74.15771484 0v74.15771485a37.07885742 37.07885742 0 0 0 2.96630859 14.08996582 42.64068604 42.64068604 0 0 0 7.78656006 12.23602295l52.65197754 52.28118896a37.07885742 37.07885742 0 0 0 52.28118896-52.28118896z" ></path></symbol><symbol id="icon-124-gongzuogenzong" viewBox="0 0 1024 1024"><path d="M777.16601563 246.83398437c-14.67773438-14.67773438-38.40820313-14.67773438-52.99804688 1e-8-14.67773438 14.58984375-14.67773438 38.40820313 0 52.99804687 56.68945313 56.68945313 87.890625 132.01171875 87.890625 212.16796875 0 165.41015625-134.56054688 299.97070313-299.97070313 299.97070313S212.02929687 677.41015625 212.02929687 512c0-152.75390625 114.69726563-279.140625 262.52929688-297.68554688v75.76171876C368.2109375 308.00585937 287 400.73046875 287 512c0 124.1015625 100.8984375 225 225 225s225-100.8984375 225-225c0-60.1171875-23.37890625-116.63085938-65.91796875-159.08203125-14.67773438-14.58984375-38.40820313-14.58984375-52.99804688 0-14.67773438 14.67773438-14.67773438 38.40820313 0 53.0859375 28.30078125 28.30078125 43.9453125 66.00585938 43.9453125 106.08398438 0 82.70507813-67.23632813 150.02929688-150.02929687 150.02929687-82.70507813 0-150.02929688-67.23632813-150.02929688-150.02929688 0-69.78515625 47.90039063-128.58398438 112.50000001-145.28320312v80.33203125c-22.41210938 13.0078125-37.52929688 37.17773438-37.52929688 64.95117188 0 41.39648438 33.57421875 74.97070313 74.97070313 74.97070312s74.97070313-33.57421875 74.97070312-74.97070313c0-27.7734375-15.1171875-51.94335938-37.52929688-64.95117187V174.5c0-20.7421875-16.78710938-37.52929688-37.52929687-37.52929688C305.19335937 136.97070312 136.97070312 305.19335937 136.97070312 512c0 206.71875 168.22265625 375.02929688 375.02929688 375.02929688 206.71875 0 375.02929688-168.22265625 375.02929688-375.02929688 0-100.10742188-39.0234375-194.32617188-109.86328126-265.16601563z" ></path></symbol><symbol id="icon-fasongchuansong-forward--xian" viewBox="0 0 1024 1024"><path d="M233.90856933 790.09143067h556.18286133v-173.80714417h69.52285767v208.568573a34.76142883 34.76142883 0 0 1-34.76142883 34.76142883H199.1471405a34.76142883 34.76142883 0 0 1-34.76142883-34.76142883v-208.568573h69.52285767v173.80714416zM657.0246811 372.95428467l-137.3076439-137.3076439L568.86969758 186.49398041 790.09143067 407.7157135l-221.2217331 221.2217331-49.15266037-49.15266038L657.0246811 442.47714234H268.66999817V372.95428467h388.35468293z" ></path></symbol><symbol id="icon-chehui" viewBox="0 0 1024 1024"><path d="M680.75 343.25H265.5125l124.36875-124.25625c10.575-10.51875 10.575-27.5625 0-38.08125-10.575-10.575-27.61875-10.575-38.19375 0L180.9125 351.4625c-10.575 10.51875-10.575 27.5625 0 38.1375L351.6875 560.15c10.575 10.51875 27.61875 10.51875 38.19375 0a26.88837891 26.88837891 0 0 0 0-38.1375L267.14375 399.5H680.75c93.20625 0 168.75 75.54375 168.75 168.75s-75.54375 168.75-168.75 168.75H315.125c-15.525 0-28.125 12.6-28.125 28.125s12.6 28.125 28.125 28.125h365.625c124.25625 0 225-100.74375 225-225S805.00625 343.25 680.75 343.25z" ></path></symbol><symbol id="icon-chakan" viewBox="0 0 1024 1024"><path d="M596.23420888 849.46229668H250.69631153A76.31100878 76.31100878 0 0 1 174.39482832 773.09731338V250.77568643A76.3237081 76.3237081 0 0 1 250.69631153 174.39482832h522.32162694a75.88238378 75.88238378 0 0 1 53.99714268 22.37419072c14.41447822 14.41447822 22.29164121 33.58192412 22.30116592 53.97491778L848.12879903 596.21833408v0.09207422a28.15268203 28.15268203 0 0 0 56.30218857 0.08890048L905.59621074 250.86776153v-0.0920751A132.51794766 132.51794766 0 0 0 773.01793847 118.19741416H250.69631153A132.39729756 132.39729756 0 0 0 118.19741416 250.77568643v522.32162695a132.39729756 132.39729756 0 0 0 132.50207285 132.56239746h345.53472187a28.09870664 28.09870664 0 0 0 0-56.19741417z" fill="" ></path><path d="M897.43964873 857.70140908l-107.28943594-107.28943593a168.9414917 168.9414917 0 1 0-39.73823964 39.73823964l107.28943593 107.28943594a28.09870664 28.09870664 0 0 0 39.73823965-39.73823965z m-244.81752627-92.55110801a112.52500312 112.52500312 0 1 1 79.56855352-32.95644961 111.79157959 111.79157959 0 0 1-79.56537803 32.95644961zM737.00396914 371.56202685c15.51620127 0 28.09553203-12.65870567 28.09870664-28.17490693s-12.57615615-28.19078174-28.09553203-28.19395635L287.00238096 315.04711308a28.14315732 28.14315732 0 0 0-28.09870664 28.14633194c0 15.51937588 12.57615615 28.20665654 28.09553203 28.20665742L737.00396914 371.56202685zM455.75019863 540.15426933a28.09235742 28.09235742 0 1 0 0-56.19741415h-168.75099228a28.07013252 28.07013252 0 1 0 0 56.14343964l168.75099229 0.05397452zM287.01508115 652.54909766a28.08918193 28.08918193 0 1 0 0 56.18153935l112.49960362 0.01587481a28.07330713 28.07330713 0 1 0 0-56.14343877z" fill="" ></path></symbol><symbol id="icon-bianji" viewBox="0 0 1024 1024"><path d="M367.93 549.154c-0.434 0.541-0.98 1.197-1.088 1.959l-35.843 131.393a22.544 22.544 0 0 0 5.663 21.686c4.251 4.137 9.806 6.424 15.799 6.424 1.958 0 3.921-0.217 5.884-0.76l130.409-35.52c0.22 0 0.329 0.219 0.437 0.219 1.522 0 2.941-0.541 4.029-1.637l348.745-348.636c10.352-10.348 16.018-24.509 16.018-39.877 0-17.429-7.41-34.86-20.373-47.716l-32.904-33.013c-12.963-12.964-30.395-20.372-47.717-20.372-15.361 0-29.529 5.665-39.877 16.016L368.476 548.063c-0.33 0.22-0.217 0.761-0.546 1.091z m439.935-259.188L773.22 324.61l-56.109-57.092 34.104-34.102c5.445-5.443 15.904-4.683 22.006 1.637l33.012 33.014c3.484 3.483 5.447 7.951 5.447 12.524 0 3.597-1.309 6.979-3.815 9.375zM429.922 554.711l251.669-251.674 56.221 57.092-251.235 251.129-56.655-56.547m-45.757 101.977l18.194-66.789 48.479 48.484-66.673 18.305M829.98 428.11c-13.182 0-24.076 10.786-24.076 24.079v325.104c0 16.998-13.838 30.938-30.943 30.938H225.098c-16.995 0-30.943-13.832-30.943-30.938V246.711c0-17.103 13.948-30.943 30.943-30.943h354.193c13.291 0 24.076-10.785 24.076-24.076 0-13.293-10.785-24.079-24.076-24.079H221.396c-41.511 0-75.396 33.773-75.396 75.396v537.879c0 41.723 33.772 75.5 75.396 75.5H778.67c41.615 0 75.389-33.777 75.389-75.391v-328.92c-0.106-13.181-10.891-23.967-24.079-23.967z" ></path></symbol><symbol id="icon-shanchu" viewBox="0 0 1024 1024"><path d="M763.1 201.8H637.5c0.3-1.6 0.5-3.2 0.5-4.9v-31.6c0-37-30.1-67.1-67.1-67.1H444c-37 0-67.1 30.1-67.1 67.1v31.6c0 1.7 0.2 3.3 0.5 4.9H251.9c-44.4 0-80.5 36.1-80.5 80.5v15.1c0 43.8 35.2 79.4 78.7 80.3-2.3 4.1-3.7 8.7-3.7 13.6v412.3c0 63.4 51.6 115 115 115h292.2c63.4 0 115-51.6 115-115V391.4c0-5-1.4-9.6-3.7-13.6 43.6-1 78.7-36.6 78.7-80.3v-15.1c0-44.5-36.1-80.6-80.5-80.6z m-330.2-4.9v-31.6c0-6 5.1-11.1 11.1-11.1h127c6 0 11.1 5.1 11.1 11.1v31.6c0 1.7 0.2 3.3 0.5 4.9H432.4c0.3-1.6 0.5-3.2 0.5-4.9z m279.7 194.5v412.3c0 32.6-26.5 59.1-59.1 59.1H361.4c-32.6 0-59.1-26.5-59.1-59.1V391.4c0-4.9-1.4-9.5-3.6-13.5h417.5c-2.2 4.1-3.6 8.6-3.6 13.5z m75.1-94c0 13.5-11 24.6-24.6 24.6H251.9c-13.5 0-24.6-11-24.6-24.6v-15.1c0-13.5 11-24.6 24.6-24.6h511.2c13.5 0 24.6 11 24.6 24.6v15.1z" ></path><path d="M386.3 825.5c15.5 0 28-12.5 28-28V443.2c0-15.5-12.5-28-28-28s-28 12.5-28 28v354.3c0 15.5 12.5 28 28 28zM507.5 825.5c15.5 0 28-12.5 28-28V443.2c0-15.5-12.5-28-28-28s-28 12.5-28 28v354.3c0 15.5 12.5 28 28 28zM628.7 825.5c15.4 0 28-12.5 28-28V443.2c0-15.5-12.5-28-28-28-15.4 0-28 12.5-28 28v354.3c0 15.5 12.6 28 28 28z" ></path></symbol></svg>',n=(n=document.getElementsByTagName("script"))[n.length-1].getAttribute("data-injectcss");if(n&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(c){console&&console.log(c)}}function d(){o||(o=!0,a())}l=function(){var c,l,t,a;(a=document.createElement("div")).innerHTML=i,i=null,(t=a.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",c=t,(l=document.body).firstChild?(a=c,(t=l.firstChild).parentNode.insertBefore(a,t)):l.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),l()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(a=l,e=c.document,o=!1,(h=function(){try{e.documentElement.doScroll("left")}catch(c){return void setTimeout(h,50)}d()})(),e.onreadystatechange=function(){"complete"==e.readyState&&(e.onreadystatechange=null,d())})}(window);
\ No newline at end of file
{
"id": "2012506",
"name": "智慧社区2020",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "14122668",
"name": "发送",
"font_class": "fasong",
"unicode": "e627",
"unicode_decimal": 58919
},
{
"icon_id": "995977",
"name": "设置",
"font_class": "shezhi",
"unicode": "e667",
"unicode_decimal": 58983
},
{
"icon_id": "1105001",
"name": "下载",
"font_class": "download",
"unicode": "e60a",
"unicode_decimal": 58890
},
{
"icon_id": "2040325",
"name": "审核不通过",
"font_class": "shenhebutongguo",
"unicode": "e624",
"unicode_decimal": 58916
},
{
"icon_id": "2040326",
"name": "审核通过",
"font_class": "shenhetongguo",
"unicode": "e625",
"unicode_decimal": 58917
},
{
"icon_id": "10715438",
"name": "上传",
"font_class": "shangchuan",
"unicode": "e635",
"unicode_decimal": 58933
},
{
"icon_id": "14313226",
"name": "查看历史",
"font_class": "chakanlishi",
"unicode": "e646",
"unicode_decimal": 58950
},
{
"icon_id": "16232142",
"name": "124-工作跟踪",
"font_class": "124-gongzuogenzong",
"unicode": "e880",
"unicode_decimal": 59520
},
{
"icon_id": "12990719",
"name": "发送:传送-forward-2-线",
"font_class": "fasongchuansong-forward--xian",
"unicode": "e8a9",
"unicode_decimal": 59561
},
{
"icon_id": "18720814",
"name": "撤回",
"font_class": "chehui",
"unicode": "e603",
"unicode_decimal": 58883
},
{
"icon_id": "1305463",
"name": "查看",
"font_class": "chakan",
"unicode": "e63e",
"unicode_decimal": 58942
},
{
"icon_id": "1459142",
"name": "编辑",
"font_class": "bianji",
"unicode": "e619",
"unicode_decimal": 58905
},
{
"icon_id": "4770735",
"name": "删除",
"font_class": "shanchu",
"unicode": "e749",
"unicode_decimal": 59209
}
]
}
<?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="fasong" unicode="&#58919;" d="M944.360773 788.574907a31.96878 31.96878 0 0 0 3.007063-20.362115L814.159922 41.008952c-3.180894-17.36704-19.838626-28.86681-37.205666-25.684917a31.96878 31.96878 0 0 0-7.355817 2.290763l-196.358244 88.343727-93.728468-153.739864a36.963902 36.963902 0 0 0-22.542986-16.605783c-19.59986-4.930185-39.483442 6.793366-44.711336 26.237378l-0.15385 0.591422-61.280156 243.582127L85.758252 325.279344c-16.101276 7.243926-23.282263 26.169444-16.038338 42.27072a31.96878 31.96878 0 0 0 14.551789 15.322037L901.318806 802.411395c15.706661 8.065124 34.976843 1.871173 43.041967-13.836488zM434.460722 168.39655l27.050583-107.52 45.618451 74.825928-72.669034 32.694072z m415.68206 468.26571L451.314263 239.68793l301.282779-135.548629 97.54574 532.521959z m-88.971114 12.931371L190.98649 356.809553l190.107348-85.529475 380.078829 378.312554z" horiz-adv-x="1024" />
<glyph glyph-name="shezhi" unicode="&#58983;" d="M891.11674347 449.0600576c-0.21832213 17.24746453-12.77185707 31.6567392-29.80099947 34.27660693l-48.46755947 7.53212054-13.20850133 25.32539093 27.94525973 46.50265813c8.187088 13.64514667 6.22218667 31.22009493-4.9122528 42.68201707L735.4529152 695.43681813c-11.57108373 12.00772907-29.58267733 14.30011307-43.7736288 5.5672192l-47.70343147-29.2551936-21.39558933 12.66269547-12.9901792 53.707296c-3.82064107 15.93753067-17.902432 27.18113173-34.27660693 27.18113173L448.6865216 765.29996693c-16.374176 0-30.45596693-11.2436-34.27660693-27.18113173L401.4197344 684.5207008l-21.39558933-12.66269547-47.70343147 29.146032c-14.19095253 8.73289387-32.20254507 6.4405088-43.7736288-5.5672192l-87.0014528-89.94880426c-11.13443947-11.4619232-13.0993408-29.03687147-4.9122528-42.68201707l27.94525973-46.50265813-13.20850133-25.32539094-48.46755947-7.53212053c-17.0291424-2.61986773-29.58267733-17.138304-29.80099946-34.27660693l-1.96490134-122.26050987c-0.21832213-14.84591893 8.951216-28.381904 22.8146848-33.62164053l58.5103872-22.0505568 9.0603776-20.3039776-30.1284832-45.62936854c-9.27869973-14.08179093-7.3137984-32.85751253 4.8030912-44.6469184l90.49461014-88.6388704c11.89856747-11.57108373 30.45596693-13.31766293 44.31943466-4.1481248l43.55530667 29.03687147 24.12461867-10.91611733 8.51457173-52.94316694c2.72902933-16.91998187 17.0291424-29.47351573 34.1674464-29.47351573l141.69119893 0c17.138304 0 31.5475776 12.55353493 34.1674464 29.47351573l8.51457174 53.16149014 24.12461866 10.91611733 43.55530667-29.03687147c13.7543072-9.16953813 32.4208672-7.42296 44.31943467 4.1481248l90.49461013 88.6388704c12.1168896 11.78940587 14.08179093 30.56512747 4.8030912 44.6469184l-30.1284832 45.62936854 9.0603776 20.3039776 58.5103872 22.0505568c13.8634688 5.23973653 23.03300693 18.7757216 22.8146848 33.62164053L891.11674347 449.0600576zM789.706016 314.2460128c-8.73289387-3.2748352-15.93753067-10.04282773-19.75817173-18.66656l-14.08179094-31.5475776c-4.9122528-11.13443947-3.9298016-23.79713493 2.72902934-33.83996267l28.27274346-42.68201706-75.6486912-74.0112736-40.82627733 27.18113173c-10.26114987 6.76799253-23.03300693 7.85960427-34.1674464 2.72902933L599.43809707 126.70712213000002c-10.80695573-4.9122528-18.33907627-14.5184352-20.3039776-26.19868053l-7.85960427-49.12252693L452.7254848 51.385914670000034l-7.85960427 49.12252693c-1.85573973 11.68024533-9.38786027 21.50475093-20.3039776 26.41700267l-36.78731413 16.59249813c-11.13443947 5.13057493-24.01545707 4.0389632-34.1674464-2.83819093l-40.82627733-27.18113174-75.6486912 74.0112736 28.27274346 42.68201707c6.65883093 10.15198933 7.75044267 22.8146848 2.72902934 33.83996267L254.05215573 295.5794528c-3.82064107 8.51457173-11.02527787 15.28256427-19.75817173 18.66656l-55.1263904 20.74062187 1.6374176 102.61149973 44.21027413 6.87715413c11.02527787 1.7465792 20.63146133 8.62373227 25.8711968 18.5573984l19.5398496 37.33312c5.6763808 10.80695573 5.23973653 24.01545707-0.98245013 34.49493014l-26.52616427 44.21027413 73.137984 75.5395296 45.520208-27.83609813c11.13443947-6.87715413 25.1070688-6.98631467 36.35066987-0.32748374l32.63918933 19.21236587c8.187088 4.8030912 14.19095253 12.9901792 16.374176 22.26887893l11.89856747 49.23168747 106.65046293 0 11.89856747-49.23168747c2.18322347-9.16953813 8.187088-17.35662613 16.374176-22.15971733l32.63918933-19.32152747c11.2436-6.65883093 25.2162304-6.5496704 36.35066987 0.32748374l45.520208 27.83609813 73.137984-75.5395296L754.66528107 534.9698976c-6.33134827-10.479472-6.65883093-23.6879744-0.98245014-34.49493013l19.5398496-37.33312c5.13057493-9.8245056 14.84591893-16.81082027 25.8711968-18.5573984l44.21027414-6.87715414 1.6374176-102.61149973L789.706016 314.2460128zM512 495.3443936c-61.34857707 0-111.3443936-49.99581547-111.3443936-111.3443936 0-61.34857707 49.99581547-111.3443936 111.3443936-111.3443936 61.34857707 0 111.3443936 49.99581547 111.3443936 111.3443936C623.3443936 445.34857707 573.45773867 495.3443936 512 495.3443936zM512 320.6865216c-34.9315744 0-63.3134784 28.381904-63.3134784 63.3134784 0 34.9315744 28.381904 63.3134784 63.3134784 63.3134784 34.9315744 0 63.3134784-28.381904 63.3134784-63.3134784C575.3134784 349.06842559999996 546.9315744 320.6865216 512 320.6865216z" horiz-adv-x="1024" />
<glyph glyph-name="download" unicode="&#58890;" d="M512.14047911 289.86556874999997L634.37583799 412.10092852 671.61338281 374.86347334000004 519.2052998 222.45538944999998 512.14425136 215.39434101999996 512.14047911 215.39811415999998 512.13670684 215.39434101999996 352.66766504 374.86347334000004 389.90520987 412.10092852ZM483.89907148 777.41317324l56.20185615 1e-8 0-505.81697608-56.20185615 0 0 505.81697608ZM174.78870839 412.10094082L174.78870839 74.87342108999997C174.78870839 59.37305332999995 187.35651583 46.78870839000001 202.79102803 46.78870839000001L821.20897197 46.78870839000001C836.52360928 46.78870839000001 849.21129161 59.46273340000005 849.21129161 74.87342108999997L849.21129161 412.10094082 877.3122333 412.10094082 905.41317324 412.10094082 905.41317324 74.87342108999997C905.41317324 28.32322031000001 867.46290313-9.413173239999992 821.20897197-9.413173239999992L202.79102803-9.413173239999992C156.28633174-9.413173239999992 118.58682676 28.364346970000042 118.58682676 74.87342108999997L118.58682676 412.10094082 146.68776758 412.10094082 174.78870839 412.10094082Z" horiz-adv-x="1024" />
<glyph glyph-name="shenhebutongguo" unicode="&#58916;" d="M97.878 412.147c0 117.062-0.108 160.999-0.108 278.062 0 101.472 56.328 108.082 110.483 108.082h441.933c85.128 0 111.453-28.968 111.453-110.481v-55.241c0-43.562-55.419-38.57-55.419 0V687.81c0 40.918-13.309 55.24-56.035 55.24H208.252c-45.746 0-55.241-6.203-55.241-55.24v-552.407c0-30.278 16.572-55.241 55.241-55.241 67.004 0 43.482-0.026 110.484 0 33.77 0 36.252-55.241 0-55.241s-63.711-0.44-131.306-0.17c-39.867 0.163-72.883 23.774-84.643 60.322-3.292 10.223-4.694 21.525-4.694 32.34-0.323 116.658-0.215 178.076-0.215 294.734M649.644-30.291000000000054c-152.344 0.027-275.666 123.537-275.666 276.122 0 152.586 123.915 276.259 276.529 276.042 152.616-0.215 275.884-124.022 275.722-276.878-0.16-152.236-123.807-275.314-276.585-275.286m0.756 496.868c-121.109 0.271-220.641-98.828-220.91-220.045-0.27-121.541 98.345-220.934 219.561-221.287 121.704-0.324 221.505 98.208 221.775 219.047 0.324 122.594-98.236 221.99-220.426 222.285M594.945 632.9390000000001c44.02-0.027 37.978-55.979 0-55.979h-331.45c-41.431 0-39.704 55.979 0 55.979 108.756 0.027 289.155 0.027 331.45 0zM318.736 467.218c44.021-0.028 37.979-55.98 0-55.98h-55.242c-41.431 0-39.704 55.98 0 55.98 108.757 0.027 12.948 0.027 55.242 0zM695.359 245.79100000000005l60.603 60.603c12.497 12.497 12.497 32.759 0.001 45.255-12.498 12.498-32.759 12.497-45.255 0.001l-60.604-60.604L589.5 351.65c-12.496 12.496-32.757 12.497-45.255-0.001-12.496-12.496-12.496-32.758 0.001-45.255l60.603-60.603-60.603-60.603c-12.497-12.497-12.497-32.759-0.001-45.255 6.25-6.25 14.438-9.373 22.628-9.373 8.188 0 16.38 3.125 22.627 9.372l60.604 60.604 60.604-60.604c6.248-6.248 14.438-9.372 22.627-9.372s16.379 3.124 22.628 9.373c12.496 12.496 12.496 32.758-0.001 45.255l-60.603 60.603z" horiz-adv-x="1024" />
<glyph glyph-name="shenhetongguo" unicode="&#58917;" d="M97.878 412.147c0 117.062-0.108 160.999-0.108 278.062 0 101.472 56.328 108.082 110.483 108.082h441.933c85.128 0 111.453-28.968 111.453-110.481v-55.241c0-43.562-55.419-38.57-55.419 0V687.81c0 40.918-13.309 55.24-56.035 55.24H208.252c-45.746 0-55.241-6.203-55.241-55.24v-552.407c0-30.278 16.572-55.241 55.241-55.241 67.004 0 43.482-0.026 110.484 0 33.77 0 36.252-55.241 0-55.241s-63.711-0.44-131.306-0.17c-39.867 0.163-72.883 23.774-84.643 60.322-3.292 10.223-4.694 21.525-4.694 32.34-0.323 116.658-0.215 178.076-0.215 294.734M649.644-30.291000000000054c-152.344 0.027-275.666 123.537-275.666 276.122 0 152.586 123.915 276.259 276.529 276.042 152.616-0.215 275.884-124.022 275.722-276.878-0.16-152.236-123.807-275.314-276.585-275.286m0.756 496.868c-121.109 0.271-220.641-98.828-220.91-220.045-0.27-121.541 98.345-220.934 219.561-221.287 121.704-0.324 221.505 98.208 221.775 219.047 0.324 122.594-98.236 221.99-220.426 222.285M594.945 632.9390000000001c44.02-0.027 37.978-55.979 0-55.979h-331.45c-41.431 0-39.704 55.979 0 55.979 108.756 0.027 289.155 0.027 331.45 0zM318.736 467.218c44.021-0.028 37.979-55.98 0-55.98h-55.242c-41.431 0-39.704 55.98 0 55.98 108.757 0.027 12.948 0.027 55.242 0zM785.502 348.78c-12.496 12.498-32.758 12.498-45.254 0L602.151 210.68399999999997l-42.191 42.191c-12.498 12.496-32.758 12.496-45.256 0-12.496-12.497-12.496-32.759 0-45.256l64.818-64.818c6.249-6.248 14.438-9.372 22.628-9.372s16.379 3.124 22.628 9.372a32.424 32.424 0 0 1 2.402 2.695 32.304 32.304 0 0 1 2.689 2.397l155.633 155.633c12.497 12.496 12.497 32.758 0 45.254z" horiz-adv-x="1024" />
<glyph glyph-name="shangchuan" unicode="&#58933;" d="M749.942 545.7975l-213.174 213.174a31.5045 31.5045 0 0 1-12.096 9.405c-0.1935 0.0855-0.387 0.18-0.5895 0.2655a29.862 29.862 0 0 1-11.727 2.403l-0.0765-0.0045-0.2835 0.0135c-0.081 0-0.1575-0.0135-0.2385-0.0135-0.0855 0-0.1665 0.0135-0.2475 0.0135a29.6775 29.6775 0 0 1-17.766-5.859 31.608 31.608 0 0 1-5.976-5.517l-213.885-213.894c-6.1335-6.1335-9.5445-14.0445-9.7425-22.3425a31.14 31.14 0 0 1 8.235-21.915l0.45-0.45a30.3165 30.3165 0 0 1 21.1095-8.4195 32.13 32.13 0 0 1 23.148 9.927L480.5 666.0015v-439.452a31.5 31.5 0 1 1 63 0v439.29l163.242-163.242c6.1335-6.1335 14.0445-9.5445 22.338-9.7425l0.756-0.009c8.01 0 15.4755 3.0195 21.1635 8.244l0.45 0.45c11.691 12.159 11.223 31.977-1.5075 44.2575zM836 176.95050000000003v-54c0-34.794-28.206-63-63-63H251c-34.794 0-63 28.206-63 63v54a31.5 31.5 0 1 1-63 0v-54c0-69.588 56.412-126 126-126h522c69.588 0 126 56.412 126 126v54a31.5 31.5 0 1 1-63 0z" horiz-adv-x="1024" />
<glyph glyph-name="chakanlishi" unicode="&#58950;" d="M215.36914062 87.36914062000005V680.63085938h444.94628907v-148.31542969a305.52978516 305.52978516 0 0 0 74.15771484-9.64050294V680.63085938a74.15771484 74.15771484 0 0 1-74.15771484 74.15771484H215.36914062a74.15771484 74.15771484 0 0 1-74.15771484-74.15771485v-593.26171875a74.15771484 74.15771484 0 0 1 74.15771485-74.15771484h249.16992187a301.08032227 301.08032227 0 0 0-60.80932617 74.15771484zM660.31542969 458.15771484a222.47314453 222.47314453 0 1 1 222.47314453-222.47314453 222.47314453 222.47314453 0 0 1-222.47314453 222.47314453z m0-370.78857421a148.31542969 148.31542969 0 1 0 148.31542968 148.31542968 148.31542969 148.31542969 0 0 0-148.31542968-148.31542968zM586.15771484 569.39428711a37.07885742 37.07885742 0 0 1-37.07885742 37.07885742H289.52685547a37.07885742 37.07885742 0 0 1 0-74.15771484h259.55200195a37.07885742 37.07885742 0 0 1 37.07885742 37.07885742zM437.84228516 384a37.07885742 37.07885742 0 0 1-37.07885743 37.07885742H289.52685547a37.07885742 37.07885742 0 0 1 0-74.15771484h111.23657226a37.07885742 37.07885742 0 0 1 37.07885743 37.07885742zM289.52685547 235.68457031000003a37.07885742 37.07885742 0 0 1 0-74.15771484h74.15771484a37.07885742 37.07885742 0 0 1 0 74.15771484zM697.39428711 250.88690184999996V309.84228515999996a37.07885742 37.07885742 0 0 1-74.15771484 0v-74.15771485a37.07885742 37.07885742 0 0 1 2.96630859-14.08996582 42.64068604 42.64068604 0 0 1 7.78656006-12.23602295l52.65197754-52.28118896a37.07885742 37.07885742 0 0 1 52.28118896 52.28118896z" horiz-adv-x="1024" />
<glyph glyph-name="124-gongzuogenzong" unicode="&#59520;" d="M777.16601563 649.16601563c-14.67773438 14.67773438-38.40820313 14.67773438-52.99804688-1e-8-14.67773438-14.58984375-14.67773438-38.40820313 0-52.99804687 56.68945313-56.68945313 87.890625-132.01171875 87.890625-212.16796875 0-165.41015625-134.56054688-299.97070313-299.97070313-299.97070313S212.02929687 218.58984375 212.02929687 384c0 152.75390625 114.69726563 279.140625 262.52929688 297.68554688v-75.76171876C368.2109375 587.99414063 287 495.26953125 287 384c0-124.1015625 100.8984375-225 225-225s225 100.8984375 225 225c0 60.1171875-23.37890625 116.63085938-65.91796875 159.08203125-14.67773438 14.58984375-38.40820313 14.58984375-52.99804688 0-14.67773438-14.67773438-14.67773438-38.40820313 0-53.0859375 28.30078125-28.30078125 43.9453125-66.00585938 43.9453125-106.08398438 0-82.70507813-67.23632813-150.02929688-150.02929687-150.02929687-82.70507813 0-150.02929688 67.23632813-150.02929688 150.02929688 0 69.78515625 47.90039063 128.58398438 112.50000001 145.28320312v-80.33203125c-22.41210938-13.0078125-37.52929688-37.17773438-37.52929688-64.95117188 0-41.39648438 33.57421875-74.97070313 74.97070313-74.97070312s74.97070313 33.57421875 74.97070312 74.97070313c0 27.7734375-15.1171875 51.94335938-37.52929688 64.95117187V721.5c0 20.7421875-16.78710938 37.52929688-37.52929687 37.52929688C305.19335937 759.02929688 136.97070312 590.80664063 136.97070312 384c0-206.71875 168.22265625-375.02929688 375.02929688-375.02929688 206.71875 0 375.02929688 168.22265625 375.02929688 375.02929688 0 100.10742188-39.0234375 194.32617188-109.86328126 265.16601563z" horiz-adv-x="1024" />
<glyph glyph-name="fasongchuansong-forward--xian" unicode="&#59561;" d="M233.90856933 105.90856932999998h556.18286133v173.80714417h69.52285767v-208.568573a34.76142883 34.76142883 0 0 0-34.76142883-34.76142883H199.1471405a34.76142883 34.76142883 0 0 0-34.76142883 34.76142883v208.568573h69.52285767v-173.80714416zM657.0246811 523.04571533l-137.3076439 137.3076439L568.86969758 709.50601959 790.09143067 488.2842865l-221.2217331-221.2217331-49.15266037 49.15266038L657.0246811 453.52285766H268.66999817V523.04571533h388.35468293z" horiz-adv-x="1024" />
<glyph glyph-name="chehui" unicode="&#58883;" d="M680.75 552.75H265.5125l124.36875 124.25625c10.575 10.51875 10.575 27.5625 0 38.08125-10.575 10.575-27.61875 10.575-38.19375 0L180.9125 544.5375c-10.575-10.51875-10.575-27.5625 0-38.1375L351.6875 335.85c10.575-10.51875 27.61875-10.51875 38.19375 0a26.88837891 26.88837891 0 0 1 0 38.1375L267.14375 496.5H680.75c93.20625 0 168.75-75.54375 168.75-168.75s-75.54375-168.75-168.75-168.75H315.125c-15.525 0-28.125-12.6-28.125-28.125s12.6-28.125 28.125-28.125h365.625c124.25625 0 225 100.74375 225 225S805.00625 552.75 680.75 552.75z" horiz-adv-x="1024" />
<glyph glyph-name="chakan" unicode="&#58942;" d="M596.23420888 46.53770331999999H250.69631153A76.31100878 76.31100878 0 0 0 174.39482832 122.90268662000005V645.22431357A76.3237081 76.3237081 0 0 0 250.69631153 721.60517168h522.32162694a75.88238378 75.88238378 0 0 0 53.99714268-22.37419072c14.41447822-14.41447822 22.29164121-33.58192412 22.30116592-53.97491778L848.12879903 299.78166592v-0.09207422a28.15268203 28.15268203 0 0 1 56.30218857-0.08890048L905.59621074 645.13223847v0.0920751A132.51794766 132.51794766 0 0 1 773.01793847 777.80258584H250.69631153A132.39729756 132.39729756 0 0 1 118.19741416 645.22431357v-522.32162695a132.39729756 132.39729756 0 0 1 132.50207285-132.56239746h345.53472187a28.09870664 28.09870664 0 0 1 0 56.19741417zM897.43964873 38.29859092000004l-107.28943594 107.28943593a168.9414917 168.9414917 0 1 1-39.73823964-39.73823964l107.28943593-107.28943594a28.09870664 28.09870664 0 0 1 39.73823965 39.73823965z m-244.81752627 92.55110801a112.52500312 112.52500312 0 1 0 79.56855352 32.95644961 111.79157959 111.79157959 0 0 0-79.56537803-32.95644961zM737.00396914 524.4379731500001c15.51620127 0 28.09553203 12.65870567 28.09870664 28.17490693s-12.57615615 28.19078174-28.09553203 28.19395635L287.00238096 580.9528869200001a28.14315732 28.14315732 0 0 1-28.09870664-28.14633194c0-15.51937588 12.57615615-28.20665654 28.09553203-28.20665742L737.00396914 524.4379731500001zM455.75019863 355.84573066999997a28.09235742 28.09235742 0 1 1 0 56.19741415h-168.75099228a28.07013252 28.07013252 0 1 1 0-56.14343964l168.75099229-0.05397452zM287.01508115 243.45090233999997a28.08918193 28.08918193 0 1 1 0-56.18153935l112.49960362-0.01587481a28.07330713 28.07330713 0 1 1 0 56.14343877z" horiz-adv-x="1024" />
<glyph glyph-name="bianji" unicode="&#58905;" d="M367.93 346.846c-0.434-0.541-0.98-1.197-1.088-1.959l-35.843-131.393a22.544 22.544 0 0 1 5.663-21.686c4.251-4.137 9.806-6.424 15.799-6.424 1.958 0 3.921 0.217 5.884 0.76l130.409 35.52c0.22 0 0.329-0.219 0.437-0.219 1.522 0 2.941 0.541 4.029 1.637l348.745 348.636c10.352 10.348 16.018 24.509 16.018 39.877 0 17.429-7.41 34.86-20.373 47.716l-32.904 33.013c-12.963 12.964-30.395 20.372-47.717 20.372-15.361 0-29.529-5.665-39.877-16.016L368.476 347.937c-0.33-0.22-0.217-0.761-0.546-1.091z m439.935 259.188L773.22 571.39l-56.109 57.092 34.104 34.102c5.445 5.443 15.904 4.683 22.006-1.637l33.012-33.014c3.484-3.483 5.447-7.951 5.447-12.524 0-3.597-1.309-6.979-3.815-9.375zM429.922 341.289l251.669 251.674 56.221-57.092-251.235-251.129-56.655 56.547m-45.757-101.977l18.194 66.789 48.479-48.484-66.673-18.305M829.98 467.89c-13.182 0-24.076-10.786-24.076-24.079v-325.104c0-16.998-13.838-30.938-30.943-30.938H225.098c-16.995 0-30.943 13.832-30.943 30.938V649.289c0 17.103 13.948 30.943 30.943 30.943h354.193c13.291 0 24.076 10.785 24.076 24.076 0 13.293-10.785 24.079-24.076 24.079H221.396c-41.511 0-75.396-33.773-75.396-75.396v-537.879c0-41.723 33.772-75.5 75.396-75.5H778.67c41.615 0 75.389 33.777 75.389 75.391v328.92c-0.106 13.181-10.891 23.967-24.079 23.967z" horiz-adv-x="1024" />
<glyph glyph-name="shanchu" unicode="&#59209;" d="M763.1 694.2H637.5c0.3 1.6 0.5 3.2 0.5 4.9v31.6c0 37-30.1 67.1-67.1 67.1H444c-37 0-67.1-30.1-67.1-67.1v-31.6c0-1.7 0.2-3.3 0.5-4.9H251.9c-44.4 0-80.5-36.1-80.5-80.5v-15.1c0-43.8 35.2-79.4 78.7-80.3-2.3-4.1-3.7-8.7-3.7-13.6v-412.3c0-63.4 51.6-115 115-115h292.2c63.4 0 115 51.6 115 115V504.6c0 5-1.4 9.6-3.7 13.6 43.6 1 78.7 36.6 78.7 80.3v15.1c0 44.5-36.1 80.6-80.5 80.6z m-330.2 4.9v31.6c0 6 5.1 11.1 11.1 11.1h127c6 0 11.1-5.1 11.1-11.1v-31.6c0-1.7 0.2-3.3 0.5-4.9H432.4c0.3 1.6 0.5 3.2 0.5 4.9z m279.7-194.5v-412.3c0-32.6-26.5-59.1-59.1-59.1H361.4c-32.6 0-59.1 26.5-59.1 59.1V504.6c0 4.9-1.4 9.5-3.6 13.5h417.5c-2.2-4.1-3.6-8.6-3.6-13.5z m75.1 94c0-13.5-11-24.6-24.6-24.6H251.9c-13.5 0-24.6 11-24.6 24.6v15.1c0 13.5 11 24.6 24.6 24.6h511.2c13.5 0 24.6-11 24.6-24.6v-15.1zM386.3 70.5c15.5 0 28 12.5 28 28V452.8c0 15.5-12.5 28-28 28s-28-12.5-28-28v-354.3c0-15.5 12.5-28 28-28zM507.5 70.5c15.5 0 28 12.5 28 28V452.8c0 15.5-12.5 28-28 28s-28-12.5-28-28v-354.3c0-15.5 12.5-28 28-28zM628.7 70.5c15.4 0 28 12.5 28 28V452.8c0 15.5-12.5 28-28 28-15.4 0-28-12.5-28-28v-354.3c0-15.5 12.6-28 28-28z" horiz-adv-x="1024" />
</font>
</defs></svg>
!function(c){var l,t,a,e,o,h,i='<svg><symbol id="icon-fasong" viewBox="0 0 1024 1024"><path d="M944.360773 107.425093a31.96878 31.96878 0 0 1 3.007063 20.362115L814.159922 854.991048c-3.180894 17.36704-19.838626 28.86681-37.205666 25.684917a31.96878 31.96878 0 0 1-7.355817-2.290763l-196.358244-88.343727-93.728468 153.739864a36.963902 36.963902 0 0 1-22.542986 16.605783c-19.59986 4.930185-39.483442-6.793366-44.711336-26.237378l-0.15385-0.591422-61.280156-243.582127L85.758252 570.720656c-16.101276-7.243926-23.282263-26.169444-16.038338-42.27072a31.96878 31.96878 0 0 1 14.551789-15.322037L901.318806 93.588605c15.706661-8.065124 34.976843-1.871173 43.041967 13.836488zM434.460722 727.60345l27.050583 107.52 45.618451-74.825928-72.669034-32.694072z m415.68206-468.26571L451.314263 656.31207l301.282779 135.548629 97.54574-532.521959z m-88.971114-12.931371L190.98649 539.190447l190.107348 85.529475 380.078829-378.312554z" ></path></symbol><symbol id="icon-shezhi" viewBox="0 0 1024 1024"><path d="M891.11674347 446.9399424c-0.21832213-17.24746453-12.77185707-31.6567392-29.80099947-34.27660693l-48.46755947-7.53212054-13.20850133-25.32539093 27.94525973-46.50265813c8.187088-13.64514667 6.22218667-31.22009493-4.9122528-42.68201707L735.4529152 200.56318187c-11.57108373-12.00772907-29.58267733-14.30011307-43.7736288-5.5672192l-47.70343147 29.2551936-21.39558933-12.66269547-12.9901792-53.707296c-3.82064107-15.93753067-17.902432-27.18113173-34.27660693-27.18113173L448.6865216 130.70003307c-16.374176 0-30.45596693 11.2436-34.27660693 27.18113173L401.4197344 211.4792992l-21.39558933 12.66269547-47.70343147-29.146032c-14.19095253-8.73289387-32.20254507-6.4405088-43.7736288 5.5672192l-87.0014528 89.94880426c-11.13443947 11.4619232-13.0993408 29.03687147-4.9122528 42.68201707l27.94525973 46.50265813-13.20850133 25.32539094-48.46755947 7.53212053c-17.0291424 2.61986773-29.58267733 17.138304-29.80099946 34.27660693l-1.96490134 122.26050987c-0.21832213 14.84591893 8.951216 28.381904 22.8146848 33.62164053l58.5103872 22.0505568 9.0603776 20.3039776-30.1284832 45.62936854c-9.27869973 14.08179093-7.3137984 32.85751253 4.8030912 44.6469184l90.49461014 88.6388704c11.89856747 11.57108373 30.45596693 13.31766293 44.31943466 4.1481248l43.55530667-29.03687147 24.12461867 10.91611733 8.51457173 52.94316694c2.72902933 16.91998187 17.0291424 29.47351573 34.1674464 29.47351573l141.69119893 0c17.138304 0 31.5475776-12.55353493 34.1674464-29.47351573l8.51457174-53.16149014 24.12461866-10.91611733 43.55530667 29.03687147c13.7543072 9.16953813 32.4208672 7.42296 44.31943467-4.1481248l90.49461013-88.6388704c12.1168896-11.78940587 14.08179093-30.56512747 4.8030912-44.6469184l-30.1284832-45.62936854 9.0603776-20.3039776 58.5103872-22.0505568c13.8634688-5.23973653 23.03300693-18.7757216 22.8146848-33.62164053L891.11674347 446.9399424zM789.706016 581.7539872c-8.73289387 3.2748352-15.93753067 10.04282773-19.75817173 18.66656l-14.08179094 31.5475776c-4.9122528 11.13443947-3.9298016 23.79713493 2.72902934 33.83996267l28.27274346 42.68201706-75.6486912 74.0112736-40.82627733-27.18113173c-10.26114987-6.76799253-23.03300693-7.85960427-34.1674464-2.72902933L599.43809707 769.29287787c-10.80695573 4.9122528-18.33907627 14.5184352-20.3039776 26.19868053l-7.85960427 49.12252693L452.7254848 844.61408533l-7.85960427-49.12252693c-1.85573973-11.68024533-9.38786027-21.50475093-20.3039776-26.41700267l-36.78731413-16.59249813c-11.13443947-5.13057493-24.01545707-4.0389632-34.1674464 2.83819093l-40.82627733 27.18113174-75.6486912-74.0112736 28.27274346-42.68201707c6.65883093-10.15198933 7.75044267-22.8146848 2.72902934-33.83996267L254.05215573 600.4205472c-3.82064107-8.51457173-11.02527787-15.28256427-19.75817173-18.66656l-55.1263904-20.74062187 1.6374176-102.61149973 44.21027413-6.87715413c11.02527787-1.7465792 20.63146133-8.62373227 25.8711968-18.5573984l19.5398496-37.33312c5.6763808-10.80695573 5.23973653-24.01545707-0.98245013-34.49493014l-26.52616427-44.21027413 73.137984-75.5395296 45.520208 27.83609813c11.13443947 6.87715413 25.1070688 6.98631467 36.35066987 0.32748374l32.63918933-19.21236587c8.187088-4.8030912 14.19095253-12.9901792 16.374176-22.26887893l11.89856747-49.23168747 106.65046293 0 11.89856747 49.23168747c2.18322347 9.16953813 8.187088 17.35662613 16.374176 22.15971733l32.63918933 19.32152747c11.2436 6.65883093 25.2162304 6.5496704 36.35066987-0.32748374l45.520208-27.83609813 73.137984 75.5395296L754.66528107 361.0301024c-6.33134827 10.479472-6.65883093 23.6879744-0.98245014 34.49493013l19.5398496 37.33312c5.13057493 9.8245056 14.84591893 16.81082027 25.8711968 18.5573984l44.21027414 6.87715414 1.6374176 102.61149973L789.706016 581.7539872z" ></path><path d="M512 400.6556064c-61.34857707 0-111.3443936 49.99581547-111.3443936 111.3443936 0 61.34857707 49.99581547 111.3443936 111.3443936 111.3443936 61.34857707 0 111.3443936-49.99581547 111.3443936-111.3443936C623.3443936 450.65142293 573.45773867 400.6556064 512 400.6556064zM512 575.3134784c-34.9315744 0-63.3134784-28.381904-63.3134784-63.3134784 0-34.9315744 28.381904-63.3134784 63.3134784-63.3134784 34.9315744 0 63.3134784 28.381904 63.3134784 63.3134784C575.3134784 546.9315744 546.9315744 575.3134784 512 575.3134784z" ></path></symbol><symbol id="icon-download" viewBox="0 0 1024 1024"><path d="M512.14047911 606.13443125L634.37583799 483.89907148 671.61338281 521.13652666 519.2052998 673.54461055 512.14425136 680.60565898 512.14047911 680.60188584 512.13670684 680.60565898 352.66766504 521.13652666 389.90520987 483.89907148Z" ></path><path d="M483.89907148 118.58682676l56.20185615-1e-8 0 505.81697608-56.20185615 0 0-505.81697608Z" ></path><path d="M174.78870839 483.89905918L174.78870839 821.12657891C174.78870839 836.62694667 187.35651583 849.21129161 202.79102803 849.21129161L821.20897197 849.21129161C836.52360928 849.21129161 849.21129161 836.5372666 849.21129161 821.12657891L849.21129161 483.89905918 877.3122333 483.89905918 905.41317324 483.89905918 905.41317324 821.12657891C905.41317324 867.67677969 867.46290313 905.41317324 821.20897197 905.41317324L202.79102803 905.41317324C156.28633174 905.41317324 118.58682676 867.63565303 118.58682676 821.12657891L118.58682676 483.89905918 146.68776758 483.89905918 174.78870839 483.89905918Z" ></path></symbol><symbol id="icon-shenhebutongguo" viewBox="0 0 1024 1024"><path d="M97.878 483.853c0-117.062-0.108-160.999-0.108-278.062 0-101.472 56.328-108.082 110.483-108.082h441.933c85.128 0 111.453 28.968 111.453 110.481v55.241c0 43.562-55.419 38.57-55.419 0V208.19c0-40.918-13.309-55.24-56.035-55.24H208.252c-45.746 0-55.241 6.203-55.241 55.24v552.407c0 30.278 16.572 55.241 55.241 55.241 67.004 0 43.482 0.026 110.484 0 33.77 0 36.252 55.241 0 55.241s-63.711 0.44-131.306 0.17c-39.867-0.163-72.883-23.774-84.643-60.322-3.292-10.223-4.694-21.525-4.694-32.34-0.323-116.658-0.215-178.076-0.215-294.734" fill="#515151" ></path><path d="M649.644 926.291c-152.344-0.027-275.666-123.537-275.666-276.122 0-152.586 123.915-276.259 276.529-276.042 152.616 0.215 275.884 124.022 275.722 276.878-0.16 152.236-123.807 275.314-276.585 275.286m0.756-496.868c-121.109-0.271-220.641 98.828-220.91 220.045-0.27 121.541 98.345 220.934 219.561 221.287 121.704 0.324 221.505-98.208 221.775-219.047 0.324-122.594-98.236-221.99-220.426-222.285M594.945 263.061c44.02 0.027 37.978 55.979 0 55.979h-331.45c-41.431 0-39.704-55.979 0-55.979 108.756-0.027 289.155-0.027 331.45 0zM318.736 428.782c44.021 0.028 37.979 55.98 0 55.98h-55.242c-41.431 0-39.704-55.98 0-55.98 108.757-0.027 12.948-0.027 55.242 0z" fill="#515151" ></path><path d="M695.359 650.209l60.603-60.603c12.497-12.497 12.497-32.759 0.001-45.255-12.498-12.498-32.759-12.497-45.255-0.001l-60.604 60.604L589.5 544.35c-12.496-12.496-32.757-12.497-45.255 0.001-12.496 12.496-12.496 32.758 0.001 45.255l60.603 60.603-60.603 60.603c-12.497 12.497-12.497 32.759-0.001 45.255 6.25 6.25 14.438 9.373 22.628 9.373 8.188 0 16.38-3.125 22.627-9.372l60.604-60.604 60.604 60.604c6.248 6.248 14.438 9.372 22.627 9.372s16.379-3.124 22.628-9.373c12.496-12.496 12.496-32.758-0.001-45.255l-60.603-60.603z" fill="#515151" ></path></symbol><symbol id="icon-shenhetongguo" viewBox="0 0 1024 1024"><path d="M97.878 483.853c0-117.062-0.108-160.999-0.108-278.062 0-101.472 56.328-108.082 110.483-108.082h441.933c85.128 0 111.453 28.968 111.453 110.481v55.241c0 43.562-55.419 38.57-55.419 0V208.19c0-40.918-13.309-55.24-56.035-55.24H208.252c-45.746 0-55.241 6.203-55.241 55.24v552.407c0 30.278 16.572 55.241 55.241 55.241 67.004 0 43.482 0.026 110.484 0 33.77 0 36.252 55.241 0 55.241s-63.711 0.44-131.306 0.17c-39.867-0.163-72.883-23.774-84.643-60.322-3.292-10.223-4.694-21.525-4.694-32.34-0.323-116.658-0.215-178.076-0.215-294.734" fill="#515151" ></path><path d="M649.644 926.291c-152.344-0.027-275.666-123.537-275.666-276.122 0-152.586 123.915-276.259 276.529-276.042 152.616 0.215 275.884 124.022 275.722 276.878-0.16 152.236-123.807 275.314-276.585 275.286m0.756-496.868c-121.109-0.271-220.641 98.828-220.91 220.045-0.27 121.541 98.345 220.934 219.561 221.287 121.704 0.324 221.505-98.208 221.775-219.047 0.324-122.594-98.236-221.99-220.426-222.285M594.945 263.061c44.02 0.027 37.978 55.979 0 55.979h-331.45c-41.431 0-39.704-55.979 0-55.979 108.756-0.027 289.155-0.027 331.45 0zM318.736 428.782c44.021 0.028 37.979 55.98 0 55.98h-55.242c-41.431 0-39.704-55.98 0-55.98 108.757-0.027 12.948-0.027 55.242 0z" fill="#515151" ></path><path d="M785.502 547.22c-12.496-12.498-32.758-12.498-45.254 0L602.151 685.316l-42.191-42.191c-12.498-12.496-32.758-12.496-45.256 0-12.496 12.497-12.496 32.759 0 45.256l64.818 64.818c6.249 6.248 14.438 9.372 22.628 9.372s16.379-3.124 22.628-9.372a32.424 32.424 0 0 0 2.402-2.695 32.304 32.304 0 0 0 2.689-2.397l155.633-155.633c12.497-12.496 12.497-32.758 0-45.254z" fill="#515151" ></path></symbol><symbol id="icon-shangchuan" viewBox="0 0 1024 1024"><path d="M749.942 350.2025l-213.174-213.174a31.5045 31.5045 0 0 0-12.096-9.405c-0.1935-0.0855-0.387-0.18-0.5895-0.2655a29.862 29.862 0 0 0-11.727-2.403l-0.0765 0.0045-0.2835-0.0135c-0.081 0-0.1575 0.0135-0.2385 0.0135-0.0855 0-0.1665-0.0135-0.2475-0.0135a29.6775 29.6775 0 0 0-17.766 5.859 31.608 31.608 0 0 0-5.976 5.517l-213.885 213.894c-6.1335 6.1335-9.5445 14.0445-9.7425 22.3425a31.14 31.14 0 0 0 8.235 21.915l0.45 0.45a30.3165 30.3165 0 0 0 21.1095 8.4195 32.13 32.13 0 0 0 23.148-9.927L480.5 229.9985v439.452a31.5 31.5 0 1 0 63 0v-439.29l163.242 163.242c6.1335 6.1335 14.0445 9.5445 22.338 9.7425l0.756 0.009c8.01 0 15.4755-3.0195 21.1635-8.244l0.45-0.45c11.691-12.159 11.223-31.977-1.5075-44.2575z" fill="#666666" ></path><path d="M836 719.0495v54c0 34.794-28.206 63-63 63H251c-34.794 0-63-28.206-63-63v-54a31.5 31.5 0 1 0-63 0v54c0 69.588 56.412 126 126 126h522c69.588 0 126-56.412 126-126v-54a31.5 31.5 0 1 0-63 0z" fill="#666666" ></path></symbol><symbol id="icon-chakanlishi" viewBox="0 0 1024 1024"><path d="M215.36914062 808.63085938V215.36914062h444.94628907v148.31542969a305.52978516 305.52978516 0 0 1 74.15771484 9.64050294V215.36914062a74.15771484 74.15771484 0 0 0-74.15771484-74.15771484H215.36914062a74.15771484 74.15771484 0 0 0-74.15771484 74.15771485v593.26171875a74.15771484 74.15771484 0 0 0 74.15771485 74.15771484h249.16992187a301.08032227 301.08032227 0 0 1-60.80932617-74.15771484z" ></path><path d="M660.31542969 437.84228516a222.47314453 222.47314453 0 1 0 222.47314453 222.47314453 222.47314453 222.47314453 0 0 0-222.47314453-222.47314453z m0 370.78857421a148.31542969 148.31542969 0 1 1 148.31542968-148.31542968 148.31542969 148.31542969 0 0 1-148.31542968 148.31542968zM586.15771484 326.60571289a37.07885742 37.07885742 0 0 0-37.07885742-37.07885742H289.52685547a37.07885742 37.07885742 0 0 0 0 74.15771484h259.55200195a37.07885742 37.07885742 0 0 0 37.07885742-37.07885742zM437.84228516 512a37.07885742 37.07885742 0 0 0-37.07885743-37.07885742H289.52685547a37.07885742 37.07885742 0 0 0 0 74.15771484h111.23657226a37.07885742 37.07885742 0 0 0 37.07885743-37.07885742zM289.52685547 660.31542969a37.07885742 37.07885742 0 0 0 0 74.15771484h74.15771484a37.07885742 37.07885742 0 0 0 0-74.15771484z" ></path><path d="M697.39428711 645.11309815V586.15771484a37.07885742 37.07885742 0 0 0-74.15771484 0v74.15771485a37.07885742 37.07885742 0 0 0 2.96630859 14.08996582 42.64068604 42.64068604 0 0 0 7.78656006 12.23602295l52.65197754 52.28118896a37.07885742 37.07885742 0 0 0 52.28118896-52.28118896z" ></path></symbol><symbol id="icon-124-gongzuogenzong" viewBox="0 0 1024 1024"><path d="M777.16601563 246.83398437c-14.67773438-14.67773438-38.40820313-14.67773438-52.99804688 1e-8-14.67773438 14.58984375-14.67773438 38.40820313 0 52.99804687 56.68945313 56.68945313 87.890625 132.01171875 87.890625 212.16796875 0 165.41015625-134.56054688 299.97070313-299.97070313 299.97070313S212.02929687 677.41015625 212.02929687 512c0-152.75390625 114.69726563-279.140625 262.52929688-297.68554688v75.76171876C368.2109375 308.00585937 287 400.73046875 287 512c0 124.1015625 100.8984375 225 225 225s225-100.8984375 225-225c0-60.1171875-23.37890625-116.63085938-65.91796875-159.08203125-14.67773438-14.58984375-38.40820313-14.58984375-52.99804688 0-14.67773438 14.67773438-14.67773438 38.40820313 0 53.0859375 28.30078125 28.30078125 43.9453125 66.00585938 43.9453125 106.08398438 0 82.70507813-67.23632813 150.02929688-150.02929687 150.02929687-82.70507813 0-150.02929688-67.23632813-150.02929688-150.02929688 0-69.78515625 47.90039063-128.58398438 112.50000001-145.28320312v80.33203125c-22.41210938 13.0078125-37.52929688 37.17773438-37.52929688 64.95117188 0 41.39648438 33.57421875 74.97070313 74.97070313 74.97070312s74.97070313-33.57421875 74.97070312-74.97070313c0-27.7734375-15.1171875-51.94335938-37.52929688-64.95117187V174.5c0-20.7421875-16.78710938-37.52929688-37.52929687-37.52929688C305.19335937 136.97070312 136.97070312 305.19335937 136.97070312 512c0 206.71875 168.22265625 375.02929688 375.02929688 375.02929688 206.71875 0 375.02929688-168.22265625 375.02929688-375.02929688 0-100.10742188-39.0234375-194.32617188-109.86328126-265.16601563z" ></path></symbol><symbol id="icon-fasongchuansong-forward--xian" viewBox="0 0 1024 1024"><path d="M233.90856933 790.09143067h556.18286133v-173.80714417h69.52285767v208.568573a34.76142883 34.76142883 0 0 1-34.76142883 34.76142883H199.1471405a34.76142883 34.76142883 0 0 1-34.76142883-34.76142883v-208.568573h69.52285767v173.80714416zM657.0246811 372.95428467l-137.3076439-137.3076439L568.86969758 186.49398041 790.09143067 407.7157135l-221.2217331 221.2217331-49.15266037-49.15266038L657.0246811 442.47714234H268.66999817V372.95428467h388.35468293z" ></path></symbol><symbol id="icon-chehui" viewBox="0 0 1024 1024"><path d="M680.75 343.25H265.5125l124.36875-124.25625c10.575-10.51875 10.575-27.5625 0-38.08125-10.575-10.575-27.61875-10.575-38.19375 0L180.9125 351.4625c-10.575 10.51875-10.575 27.5625 0 38.1375L351.6875 560.15c10.575 10.51875 27.61875 10.51875 38.19375 0a26.88837891 26.88837891 0 0 0 0-38.1375L267.14375 399.5H680.75c93.20625 0 168.75 75.54375 168.75 168.75s-75.54375 168.75-168.75 168.75H315.125c-15.525 0-28.125 12.6-28.125 28.125s12.6 28.125 28.125 28.125h365.625c124.25625 0 225-100.74375 225-225S805.00625 343.25 680.75 343.25z" ></path></symbol><symbol id="icon-chakan" viewBox="0 0 1024 1024"><path d="M596.23420888 849.46229668H250.69631153A76.31100878 76.31100878 0 0 1 174.39482832 773.09731338V250.77568643A76.3237081 76.3237081 0 0 1 250.69631153 174.39482832h522.32162694a75.88238378 75.88238378 0 0 1 53.99714268 22.37419072c14.41447822 14.41447822 22.29164121 33.58192412 22.30116592 53.97491778L848.12879903 596.21833408v0.09207422a28.15268203 28.15268203 0 0 0 56.30218857 0.08890048L905.59621074 250.86776153v-0.0920751A132.51794766 132.51794766 0 0 0 773.01793847 118.19741416H250.69631153A132.39729756 132.39729756 0 0 0 118.19741416 250.77568643v522.32162695a132.39729756 132.39729756 0 0 0 132.50207285 132.56239746h345.53472187a28.09870664 28.09870664 0 0 0 0-56.19741417z" fill="" ></path><path d="M897.43964873 857.70140908l-107.28943594-107.28943593a168.9414917 168.9414917 0 1 0-39.73823964 39.73823964l107.28943593 107.28943594a28.09870664 28.09870664 0 0 0 39.73823965-39.73823965z m-244.81752627-92.55110801a112.52500312 112.52500312 0 1 1 79.56855352-32.95644961 111.79157959 111.79157959 0 0 1-79.56537803 32.95644961zM737.00396914 371.56202685c15.51620127 0 28.09553203-12.65870567 28.09870664-28.17490693s-12.57615615-28.19078174-28.09553203-28.19395635L287.00238096 315.04711308a28.14315732 28.14315732 0 0 0-28.09870664 28.14633194c0 15.51937588 12.57615615 28.20665654 28.09553203 28.20665742L737.00396914 371.56202685zM455.75019863 540.15426933a28.09235742 28.09235742 0 1 0 0-56.19741415h-168.75099228a28.07013252 28.07013252 0 1 0 0 56.14343964l168.75099229 0.05397452zM287.01508115 652.54909766a28.08918193 28.08918193 0 1 0 0 56.18153935l112.49960362 0.01587481a28.07330713 28.07330713 0 1 0 0-56.14343877z" fill="" ></path></symbol><symbol id="icon-bianji" viewBox="0 0 1024 1024"><path d="M367.93 549.154c-0.434 0.541-0.98 1.197-1.088 1.959l-35.843 131.393a22.544 22.544 0 0 0 5.663 21.686c4.251 4.137 9.806 6.424 15.799 6.424 1.958 0 3.921-0.217 5.884-0.76l130.409-35.52c0.22 0 0.329 0.219 0.437 0.219 1.522 0 2.941-0.541 4.029-1.637l348.745-348.636c10.352-10.348 16.018-24.509 16.018-39.877 0-17.429-7.41-34.86-20.373-47.716l-32.904-33.013c-12.963-12.964-30.395-20.372-47.717-20.372-15.361 0-29.529 5.665-39.877 16.016L368.476 548.063c-0.33 0.22-0.217 0.761-0.546 1.091z m439.935-259.188L773.22 324.61l-56.109-57.092 34.104-34.102c5.445-5.443 15.904-4.683 22.006 1.637l33.012 33.014c3.484 3.483 5.447 7.951 5.447 12.524 0 3.597-1.309 6.979-3.815 9.375zM429.922 554.711l251.669-251.674 56.221 57.092-251.235 251.129-56.655-56.547m-45.757 101.977l18.194-66.789 48.479 48.484-66.673 18.305M829.98 428.11c-13.182 0-24.076 10.786-24.076 24.079v325.104c0 16.998-13.838 30.938-30.943 30.938H225.098c-16.995 0-30.943-13.832-30.943-30.938V246.711c0-17.103 13.948-30.943 30.943-30.943h354.193c13.291 0 24.076-10.785 24.076-24.076 0-13.293-10.785-24.079-24.076-24.079H221.396c-41.511 0-75.396 33.773-75.396 75.396v537.879c0 41.723 33.772 75.5 75.396 75.5H778.67c41.615 0 75.389-33.777 75.389-75.391v-328.92c-0.106-13.181-10.891-23.967-24.079-23.967z" ></path></symbol><symbol id="icon-shanchu" viewBox="0 0 1024 1024"><path d="M763.1 201.8H637.5c0.3-1.6 0.5-3.2 0.5-4.9v-31.6c0-37-30.1-67.1-67.1-67.1H444c-37 0-67.1 30.1-67.1 67.1v31.6c0 1.7 0.2 3.3 0.5 4.9H251.9c-44.4 0-80.5 36.1-80.5 80.5v15.1c0 43.8 35.2 79.4 78.7 80.3-2.3 4.1-3.7 8.7-3.7 13.6v412.3c0 63.4 51.6 115 115 115h292.2c63.4 0 115-51.6 115-115V391.4c0-5-1.4-9.6-3.7-13.6 43.6-1 78.7-36.6 78.7-80.3v-15.1c0-44.5-36.1-80.6-80.5-80.6z m-330.2-4.9v-31.6c0-6 5.1-11.1 11.1-11.1h127c6 0 11.1 5.1 11.1 11.1v31.6c0 1.7 0.2 3.3 0.5 4.9H432.4c0.3-1.6 0.5-3.2 0.5-4.9z m279.7 194.5v412.3c0 32.6-26.5 59.1-59.1 59.1H361.4c-32.6 0-59.1-26.5-59.1-59.1V391.4c0-4.9-1.4-9.5-3.6-13.5h417.5c-2.2 4.1-3.6 8.6-3.6 13.5z m75.1-94c0 13.5-11 24.6-24.6 24.6H251.9c-13.5 0-24.6-11-24.6-24.6v-15.1c0-13.5 11-24.6 24.6-24.6h511.2c13.5 0 24.6 11 24.6 24.6v15.1z" ></path><path d="M386.3 825.5c15.5 0 28-12.5 28-28V443.2c0-15.5-12.5-28-28-28s-28 12.5-28 28v354.3c0 15.5 12.5 28 28 28zM507.5 825.5c15.5 0 28-12.5 28-28V443.2c0-15.5-12.5-28-28-28s-28 12.5-28 28v354.3c0 15.5 12.5 28 28 28zM628.7 825.5c15.4 0 28-12.5 28-28V443.2c0-15.5-12.5-28-28-28-15.4 0-28 12.5-28 28v354.3c0 15.5 12.6 28 28 28z" ></path></symbol></svg>',n=(n=document.getElementsByTagName("script"))[n.length-1].getAttribute("data-injectcss");if(n&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(c){console&&console.log(c)}}function d(){o||(o=!0,a())}l=function(){var c,l,t,a;(a=document.createElement("div")).innerHTML=i,i=null,(t=a.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",c=t,(l=document.body).firstChild?(a=c,(t=l.firstChild).parentNode.insertBefore(a,t)):l.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),l()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(a=l,e=c.document,o=!1,(h=function(){try{e.documentElement.doScroll("left")}catch(c){return void setTimeout(h,50)}d()})(),e.onreadystatechange=function(){"complete"==e.readyState&&(e.onreadystatechange=null,d())})}(window);
\ No newline at end of file
{
"id": "2012506",
"name": "智慧社区2020",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "14122668",
"name": "发送",
"font_class": "fasong",
"unicode": "e627",
"unicode_decimal": 58919
},
{
"icon_id": "995977",
"name": "设置",
"font_class": "shezhi",
"unicode": "e667",
"unicode_decimal": 58983
},
{
"icon_id": "1105001",
"name": "下载",
"font_class": "download",
"unicode": "e60a",
"unicode_decimal": 58890
},
{
"icon_id": "2040325",
"name": "审核不通过",
"font_class": "shenhebutongguo",
"unicode": "e624",
"unicode_decimal": 58916
},
{
"icon_id": "2040326",
"name": "审核通过",
"font_class": "shenhetongguo",
"unicode": "e625",
"unicode_decimal": 58917
},
{
"icon_id": "10715438",
"name": "上传",
"font_class": "shangchuan",
"unicode": "e635",
"unicode_decimal": 58933
},
{
"icon_id": "14313226",
"name": "查看历史",
"font_class": "chakanlishi",
"unicode": "e646",
"unicode_decimal": 58950
},
{
"icon_id": "16232142",
"name": "124-工作跟踪",
"font_class": "124-gongzuogenzong",
"unicode": "e880",
"unicode_decimal": 59520
},
{
"icon_id": "12990719",
"name": "发送:传送-forward-2-线",
"font_class": "fasongchuansong-forward--xian",
"unicode": "e8a9",
"unicode_decimal": 59561
},
{
"icon_id": "18720814",
"name": "撤回",
"font_class": "chehui",
"unicode": "e603",
"unicode_decimal": 58883
},
{
"icon_id": "1305463",
"name": "查看",
"font_class": "chakan",
"unicode": "e63e",
"unicode_decimal": 58942
},
{
"icon_id": "1459142",
"name": "编辑",
"font_class": "bianji",
"unicode": "e619",
"unicode_decimal": 58905
},
{
"icon_id": "4770735",
"name": "删除",
"font_class": "shanchu",
"unicode": "e749",
"unicode_decimal": 59209
}
]
}
<?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="fasong" unicode="&#58919;" d="M944.360773 788.574907a31.96878 31.96878 0 0 0 3.007063-20.362115L814.159922 41.008952c-3.180894-17.36704-19.838626-28.86681-37.205666-25.684917a31.96878 31.96878 0 0 0-7.355817 2.290763l-196.358244 88.343727-93.728468-153.739864a36.963902 36.963902 0 0 0-22.542986-16.605783c-19.59986-4.930185-39.483442 6.793366-44.711336 26.237378l-0.15385 0.591422-61.280156 243.582127L85.758252 325.279344c-16.101276 7.243926-23.282263 26.169444-16.038338 42.27072a31.96878 31.96878 0 0 0 14.551789 15.322037L901.318806 802.411395c15.706661 8.065124 34.976843 1.871173 43.041967-13.836488zM434.460722 168.39655l27.050583-107.52 45.618451 74.825928-72.669034 32.694072z m415.68206 468.26571L451.314263 239.68793l301.282779-135.548629 97.54574 532.521959z m-88.971114 12.931371L190.98649 356.809553l190.107348-85.529475 380.078829 378.312554z" horiz-adv-x="1024" />
<glyph glyph-name="shezhi" unicode="&#58983;" d="M891.11674347 449.0600576c-0.21832213 17.24746453-12.77185707 31.6567392-29.80099947 34.27660693l-48.46755947 7.53212054-13.20850133 25.32539093 27.94525973 46.50265813c8.187088 13.64514667 6.22218667 31.22009493-4.9122528 42.68201707L735.4529152 695.43681813c-11.57108373 12.00772907-29.58267733 14.30011307-43.7736288 5.5672192l-47.70343147-29.2551936-21.39558933 12.66269547-12.9901792 53.707296c-3.82064107 15.93753067-17.902432 27.18113173-34.27660693 27.18113173L448.6865216 765.29996693c-16.374176 0-30.45596693-11.2436-34.27660693-27.18113173L401.4197344 684.5207008l-21.39558933-12.66269547-47.70343147 29.146032c-14.19095253 8.73289387-32.20254507 6.4405088-43.7736288-5.5672192l-87.0014528-89.94880426c-11.13443947-11.4619232-13.0993408-29.03687147-4.9122528-42.68201707l27.94525973-46.50265813-13.20850133-25.32539094-48.46755947-7.53212053c-17.0291424-2.61986773-29.58267733-17.138304-29.80099946-34.27660693l-1.96490134-122.26050987c-0.21832213-14.84591893 8.951216-28.381904 22.8146848-33.62164053l58.5103872-22.0505568 9.0603776-20.3039776-30.1284832-45.62936854c-9.27869973-14.08179093-7.3137984-32.85751253 4.8030912-44.6469184l90.49461014-88.6388704c11.89856747-11.57108373 30.45596693-13.31766293 44.31943466-4.1481248l43.55530667 29.03687147 24.12461867-10.91611733 8.51457173-52.94316694c2.72902933-16.91998187 17.0291424-29.47351573 34.1674464-29.47351573l141.69119893 0c17.138304 0 31.5475776 12.55353493 34.1674464 29.47351573l8.51457174 53.16149014 24.12461866 10.91611733 43.55530667-29.03687147c13.7543072-9.16953813 32.4208672-7.42296 44.31943467 4.1481248l90.49461013 88.6388704c12.1168896 11.78940587 14.08179093 30.56512747 4.8030912 44.6469184l-30.1284832 45.62936854 9.0603776 20.3039776 58.5103872 22.0505568c13.8634688 5.23973653 23.03300693 18.7757216 22.8146848 33.62164053L891.11674347 449.0600576zM789.706016 314.2460128c-8.73289387-3.2748352-15.93753067-10.04282773-19.75817173-18.66656l-14.08179094-31.5475776c-4.9122528-11.13443947-3.9298016-23.79713493 2.72902934-33.83996267l28.27274346-42.68201706-75.6486912-74.0112736-40.82627733 27.18113173c-10.26114987 6.76799253-23.03300693 7.85960427-34.1674464 2.72902933L599.43809707 126.70712213000002c-10.80695573-4.9122528-18.33907627-14.5184352-20.3039776-26.19868053l-7.85960427-49.12252693L452.7254848 51.385914670000034l-7.85960427 49.12252693c-1.85573973 11.68024533-9.38786027 21.50475093-20.3039776 26.41700267l-36.78731413 16.59249813c-11.13443947 5.13057493-24.01545707 4.0389632-34.1674464-2.83819093l-40.82627733-27.18113174-75.6486912 74.0112736 28.27274346 42.68201707c6.65883093 10.15198933 7.75044267 22.8146848 2.72902934 33.83996267L254.05215573 295.5794528c-3.82064107 8.51457173-11.02527787 15.28256427-19.75817173 18.66656l-55.1263904 20.74062187 1.6374176 102.61149973 44.21027413 6.87715413c11.02527787 1.7465792 20.63146133 8.62373227 25.8711968 18.5573984l19.5398496 37.33312c5.6763808 10.80695573 5.23973653 24.01545707-0.98245013 34.49493014l-26.52616427 44.21027413 73.137984 75.5395296 45.520208-27.83609813c11.13443947-6.87715413 25.1070688-6.98631467 36.35066987-0.32748374l32.63918933 19.21236587c8.187088 4.8030912 14.19095253 12.9901792 16.374176 22.26887893l11.89856747 49.23168747 106.65046293 0 11.89856747-49.23168747c2.18322347-9.16953813 8.187088-17.35662613 16.374176-22.15971733l32.63918933-19.32152747c11.2436-6.65883093 25.2162304-6.5496704 36.35066987 0.32748374l45.520208 27.83609813 73.137984-75.5395296L754.66528107 534.9698976c-6.33134827-10.479472-6.65883093-23.6879744-0.98245014-34.49493013l19.5398496-37.33312c5.13057493-9.8245056 14.84591893-16.81082027 25.8711968-18.5573984l44.21027414-6.87715414 1.6374176-102.61149973L789.706016 314.2460128zM512 495.3443936c-61.34857707 0-111.3443936-49.99581547-111.3443936-111.3443936 0-61.34857707 49.99581547-111.3443936 111.3443936-111.3443936 61.34857707 0 111.3443936 49.99581547 111.3443936 111.3443936C623.3443936 445.34857707 573.45773867 495.3443936 512 495.3443936zM512 320.6865216c-34.9315744 0-63.3134784 28.381904-63.3134784 63.3134784 0 34.9315744 28.381904 63.3134784 63.3134784 63.3134784 34.9315744 0 63.3134784-28.381904 63.3134784-63.3134784C575.3134784 349.06842559999996 546.9315744 320.6865216 512 320.6865216z" horiz-adv-x="1024" />
<glyph glyph-name="download" unicode="&#58890;" d="M512.14047911 289.86556874999997L634.37583799 412.10092852 671.61338281 374.86347334000004 519.2052998 222.45538944999998 512.14425136 215.39434101999996 512.14047911 215.39811415999998 512.13670684 215.39434101999996 352.66766504 374.86347334000004 389.90520987 412.10092852ZM483.89907148 777.41317324l56.20185615 1e-8 0-505.81697608-56.20185615 0 0 505.81697608ZM174.78870839 412.10094082L174.78870839 74.87342108999997C174.78870839 59.37305332999995 187.35651583 46.78870839000001 202.79102803 46.78870839000001L821.20897197 46.78870839000001C836.52360928 46.78870839000001 849.21129161 59.46273340000005 849.21129161 74.87342108999997L849.21129161 412.10094082 877.3122333 412.10094082 905.41317324 412.10094082 905.41317324 74.87342108999997C905.41317324 28.32322031000001 867.46290313-9.413173239999992 821.20897197-9.413173239999992L202.79102803-9.413173239999992C156.28633174-9.413173239999992 118.58682676 28.364346970000042 118.58682676 74.87342108999997L118.58682676 412.10094082 146.68776758 412.10094082 174.78870839 412.10094082Z" horiz-adv-x="1024" />
<glyph glyph-name="shenhebutongguo" unicode="&#58916;" d="M97.878 412.147c0 117.062-0.108 160.999-0.108 278.062 0 101.472 56.328 108.082 110.483 108.082h441.933c85.128 0 111.453-28.968 111.453-110.481v-55.241c0-43.562-55.419-38.57-55.419 0V687.81c0 40.918-13.309 55.24-56.035 55.24H208.252c-45.746 0-55.241-6.203-55.241-55.24v-552.407c0-30.278 16.572-55.241 55.241-55.241 67.004 0 43.482-0.026 110.484 0 33.77 0 36.252-55.241 0-55.241s-63.711-0.44-131.306-0.17c-39.867 0.163-72.883 23.774-84.643 60.322-3.292 10.223-4.694 21.525-4.694 32.34-0.323 116.658-0.215 178.076-0.215 294.734M649.644-30.291000000000054c-152.344 0.027-275.666 123.537-275.666 276.122 0 152.586 123.915 276.259 276.529 276.042 152.616-0.215 275.884-124.022 275.722-276.878-0.16-152.236-123.807-275.314-276.585-275.286m0.756 496.868c-121.109 0.271-220.641-98.828-220.91-220.045-0.27-121.541 98.345-220.934 219.561-221.287 121.704-0.324 221.505 98.208 221.775 219.047 0.324 122.594-98.236 221.99-220.426 222.285M594.945 632.9390000000001c44.02-0.027 37.978-55.979 0-55.979h-331.45c-41.431 0-39.704 55.979 0 55.979 108.756 0.027 289.155 0.027 331.45 0zM318.736 467.218c44.021-0.028 37.979-55.98 0-55.98h-55.242c-41.431 0-39.704 55.98 0 55.98 108.757 0.027 12.948 0.027 55.242 0zM695.359 245.79100000000005l60.603 60.603c12.497 12.497 12.497 32.759 0.001 45.255-12.498 12.498-32.759 12.497-45.255 0.001l-60.604-60.604L589.5 351.65c-12.496 12.496-32.757 12.497-45.255-0.001-12.496-12.496-12.496-32.758 0.001-45.255l60.603-60.603-60.603-60.603c-12.497-12.497-12.497-32.759-0.001-45.255 6.25-6.25 14.438-9.373 22.628-9.373 8.188 0 16.38 3.125 22.627 9.372l60.604 60.604 60.604-60.604c6.248-6.248 14.438-9.372 22.627-9.372s16.379 3.124 22.628 9.373c12.496 12.496 12.496 32.758-0.001 45.255l-60.603 60.603z" horiz-adv-x="1024" />
<glyph glyph-name="shenhetongguo" unicode="&#58917;" d="M97.878 412.147c0 117.062-0.108 160.999-0.108 278.062 0 101.472 56.328 108.082 110.483 108.082h441.933c85.128 0 111.453-28.968 111.453-110.481v-55.241c0-43.562-55.419-38.57-55.419 0V687.81c0 40.918-13.309 55.24-56.035 55.24H208.252c-45.746 0-55.241-6.203-55.241-55.24v-552.407c0-30.278 16.572-55.241 55.241-55.241 67.004 0 43.482-0.026 110.484 0 33.77 0 36.252-55.241 0-55.241s-63.711-0.44-131.306-0.17c-39.867 0.163-72.883 23.774-84.643 60.322-3.292 10.223-4.694 21.525-4.694 32.34-0.323 116.658-0.215 178.076-0.215 294.734M649.644-30.291000000000054c-152.344 0.027-275.666 123.537-275.666 276.122 0 152.586 123.915 276.259 276.529 276.042 152.616-0.215 275.884-124.022 275.722-276.878-0.16-152.236-123.807-275.314-276.585-275.286m0.756 496.868c-121.109 0.271-220.641-98.828-220.91-220.045-0.27-121.541 98.345-220.934 219.561-221.287 121.704-0.324 221.505 98.208 221.775 219.047 0.324 122.594-98.236 221.99-220.426 222.285M594.945 632.9390000000001c44.02-0.027 37.978-55.979 0-55.979h-331.45c-41.431 0-39.704 55.979 0 55.979 108.756 0.027 289.155 0.027 331.45 0zM318.736 467.218c44.021-0.028 37.979-55.98 0-55.98h-55.242c-41.431 0-39.704 55.98 0 55.98 108.757 0.027 12.948 0.027 55.242 0zM785.502 348.78c-12.496 12.498-32.758 12.498-45.254 0L602.151 210.68399999999997l-42.191 42.191c-12.498 12.496-32.758 12.496-45.256 0-12.496-12.497-12.496-32.759 0-45.256l64.818-64.818c6.249-6.248 14.438-9.372 22.628-9.372s16.379 3.124 22.628 9.372a32.424 32.424 0 0 1 2.402 2.695 32.304 32.304 0 0 1 2.689 2.397l155.633 155.633c12.497 12.496 12.497 32.758 0 45.254z" horiz-adv-x="1024" />
<glyph glyph-name="shangchuan" unicode="&#58933;" d="M749.942 545.7975l-213.174 213.174a31.5045 31.5045 0 0 1-12.096 9.405c-0.1935 0.0855-0.387 0.18-0.5895 0.2655a29.862 29.862 0 0 1-11.727 2.403l-0.0765-0.0045-0.2835 0.0135c-0.081 0-0.1575-0.0135-0.2385-0.0135-0.0855 0-0.1665 0.0135-0.2475 0.0135a29.6775 29.6775 0 0 1-17.766-5.859 31.608 31.608 0 0 1-5.976-5.517l-213.885-213.894c-6.1335-6.1335-9.5445-14.0445-9.7425-22.3425a31.14 31.14 0 0 1 8.235-21.915l0.45-0.45a30.3165 30.3165 0 0 1 21.1095-8.4195 32.13 32.13 0 0 1 23.148 9.927L480.5 666.0015v-439.452a31.5 31.5 0 1 1 63 0v439.29l163.242-163.242c6.1335-6.1335 14.0445-9.5445 22.338-9.7425l0.756-0.009c8.01 0 15.4755 3.0195 21.1635 8.244l0.45 0.45c11.691 12.159 11.223 31.977-1.5075 44.2575zM836 176.95050000000003v-54c0-34.794-28.206-63-63-63H251c-34.794 0-63 28.206-63 63v54a31.5 31.5 0 1 1-63 0v-54c0-69.588 56.412-126 126-126h522c69.588 0 126 56.412 126 126v54a31.5 31.5 0 1 1-63 0z" horiz-adv-x="1024" />
<glyph glyph-name="chakanlishi" unicode="&#58950;" d="M215.36914062 87.36914062000005V680.63085938h444.94628907v-148.31542969a305.52978516 305.52978516 0 0 0 74.15771484-9.64050294V680.63085938a74.15771484 74.15771484 0 0 1-74.15771484 74.15771484H215.36914062a74.15771484 74.15771484 0 0 1-74.15771484-74.15771485v-593.26171875a74.15771484 74.15771484 0 0 1 74.15771485-74.15771484h249.16992187a301.08032227 301.08032227 0 0 0-60.80932617 74.15771484zM660.31542969 458.15771484a222.47314453 222.47314453 0 1 1 222.47314453-222.47314453 222.47314453 222.47314453 0 0 1-222.47314453 222.47314453z m0-370.78857421a148.31542969 148.31542969 0 1 0 148.31542968 148.31542968 148.31542969 148.31542969 0 0 0-148.31542968-148.31542968zM586.15771484 569.39428711a37.07885742 37.07885742 0 0 1-37.07885742 37.07885742H289.52685547a37.07885742 37.07885742 0 0 1 0-74.15771484h259.55200195a37.07885742 37.07885742 0 0 1 37.07885742 37.07885742zM437.84228516 384a37.07885742 37.07885742 0 0 1-37.07885743 37.07885742H289.52685547a37.07885742 37.07885742 0 0 1 0-74.15771484h111.23657226a37.07885742 37.07885742 0 0 1 37.07885743 37.07885742zM289.52685547 235.68457031000003a37.07885742 37.07885742 0 0 1 0-74.15771484h74.15771484a37.07885742 37.07885742 0 0 1 0 74.15771484zM697.39428711 250.88690184999996V309.84228515999996a37.07885742 37.07885742 0 0 1-74.15771484 0v-74.15771485a37.07885742 37.07885742 0 0 1 2.96630859-14.08996582 42.64068604 42.64068604 0 0 1 7.78656006-12.23602295l52.65197754-52.28118896a37.07885742 37.07885742 0 0 1 52.28118896 52.28118896z" horiz-adv-x="1024" />
<glyph glyph-name="124-gongzuogenzong" unicode="&#59520;" d="M777.16601563 649.16601563c-14.67773438 14.67773438-38.40820313 14.67773438-52.99804688-1e-8-14.67773438-14.58984375-14.67773438-38.40820313 0-52.99804687 56.68945313-56.68945313 87.890625-132.01171875 87.890625-212.16796875 0-165.41015625-134.56054688-299.97070313-299.97070313-299.97070313S212.02929687 218.58984375 212.02929687 384c0 152.75390625 114.69726563 279.140625 262.52929688 297.68554688v-75.76171876C368.2109375 587.99414063 287 495.26953125 287 384c0-124.1015625 100.8984375-225 225-225s225 100.8984375 225 225c0 60.1171875-23.37890625 116.63085938-65.91796875 159.08203125-14.67773438 14.58984375-38.40820313 14.58984375-52.99804688 0-14.67773438-14.67773438-14.67773438-38.40820313 0-53.0859375 28.30078125-28.30078125 43.9453125-66.00585938 43.9453125-106.08398438 0-82.70507813-67.23632813-150.02929688-150.02929687-150.02929687-82.70507813 0-150.02929688 67.23632813-150.02929688 150.02929688 0 69.78515625 47.90039063 128.58398438 112.50000001 145.28320312v-80.33203125c-22.41210938-13.0078125-37.52929688-37.17773438-37.52929688-64.95117188 0-41.39648438 33.57421875-74.97070313 74.97070313-74.97070312s74.97070313 33.57421875 74.97070312 74.97070313c0 27.7734375-15.1171875 51.94335938-37.52929688 64.95117187V721.5c0 20.7421875-16.78710938 37.52929688-37.52929687 37.52929688C305.19335937 759.02929688 136.97070312 590.80664063 136.97070312 384c0-206.71875 168.22265625-375.02929688 375.02929688-375.02929688 206.71875 0 375.02929688 168.22265625 375.02929688 375.02929688 0 100.10742188-39.0234375 194.32617188-109.86328126 265.16601563z" horiz-adv-x="1024" />
<glyph glyph-name="fasongchuansong-forward--xian" unicode="&#59561;" d="M233.90856933 105.90856932999998h556.18286133v173.80714417h69.52285767v-208.568573a34.76142883 34.76142883 0 0 0-34.76142883-34.76142883H199.1471405a34.76142883 34.76142883 0 0 0-34.76142883 34.76142883v208.568573h69.52285767v-173.80714416zM657.0246811 523.04571533l-137.3076439 137.3076439L568.86969758 709.50601959 790.09143067 488.2842865l-221.2217331-221.2217331-49.15266037 49.15266038L657.0246811 453.52285766H268.66999817V523.04571533h388.35468293z" horiz-adv-x="1024" />
<glyph glyph-name="chehui" unicode="&#58883;" d="M680.75 552.75H265.5125l124.36875 124.25625c10.575 10.51875 10.575 27.5625 0 38.08125-10.575 10.575-27.61875 10.575-38.19375 0L180.9125 544.5375c-10.575-10.51875-10.575-27.5625 0-38.1375L351.6875 335.85c10.575-10.51875 27.61875-10.51875 38.19375 0a26.88837891 26.88837891 0 0 1 0 38.1375L267.14375 496.5H680.75c93.20625 0 168.75-75.54375 168.75-168.75s-75.54375-168.75-168.75-168.75H315.125c-15.525 0-28.125-12.6-28.125-28.125s12.6-28.125 28.125-28.125h365.625c124.25625 0 225 100.74375 225 225S805.00625 552.75 680.75 552.75z" horiz-adv-x="1024" />
<glyph glyph-name="chakan" unicode="&#58942;" d="M596.23420888 46.53770331999999H250.69631153A76.31100878 76.31100878 0 0 0 174.39482832 122.90268662000005V645.22431357A76.3237081 76.3237081 0 0 0 250.69631153 721.60517168h522.32162694a75.88238378 75.88238378 0 0 0 53.99714268-22.37419072c14.41447822-14.41447822 22.29164121-33.58192412 22.30116592-53.97491778L848.12879903 299.78166592v-0.09207422a28.15268203 28.15268203 0 0 1 56.30218857-0.08890048L905.59621074 645.13223847v0.0920751A132.51794766 132.51794766 0 0 1 773.01793847 777.80258584H250.69631153A132.39729756 132.39729756 0 0 1 118.19741416 645.22431357v-522.32162695a132.39729756 132.39729756 0 0 1 132.50207285-132.56239746h345.53472187a28.09870664 28.09870664 0 0 1 0 56.19741417zM897.43964873 38.29859092000004l-107.28943594 107.28943593a168.9414917 168.9414917 0 1 1-39.73823964-39.73823964l107.28943593-107.28943594a28.09870664 28.09870664 0 0 1 39.73823965 39.73823965z m-244.81752627 92.55110801a112.52500312 112.52500312 0 1 0 79.56855352 32.95644961 111.79157959 111.79157959 0 0 0-79.56537803-32.95644961zM737.00396914 524.4379731500001c15.51620127 0 28.09553203 12.65870567 28.09870664 28.17490693s-12.57615615 28.19078174-28.09553203 28.19395635L287.00238096 580.9528869200001a28.14315732 28.14315732 0 0 1-28.09870664-28.14633194c0-15.51937588 12.57615615-28.20665654 28.09553203-28.20665742L737.00396914 524.4379731500001zM455.75019863 355.84573066999997a28.09235742 28.09235742 0 1 1 0 56.19741415h-168.75099228a28.07013252 28.07013252 0 1 1 0-56.14343964l168.75099229-0.05397452zM287.01508115 243.45090233999997a28.08918193 28.08918193 0 1 1 0-56.18153935l112.49960362-0.01587481a28.07330713 28.07330713 0 1 1 0 56.14343877z" horiz-adv-x="1024" />
<glyph glyph-name="bianji" unicode="&#58905;" d="M367.93 346.846c-0.434-0.541-0.98-1.197-1.088-1.959l-35.843-131.393a22.544 22.544 0 0 1 5.663-21.686c4.251-4.137 9.806-6.424 15.799-6.424 1.958 0 3.921 0.217 5.884 0.76l130.409 35.52c0.22 0 0.329-0.219 0.437-0.219 1.522 0 2.941 0.541 4.029 1.637l348.745 348.636c10.352 10.348 16.018 24.509 16.018 39.877 0 17.429-7.41 34.86-20.373 47.716l-32.904 33.013c-12.963 12.964-30.395 20.372-47.717 20.372-15.361 0-29.529-5.665-39.877-16.016L368.476 347.937c-0.33-0.22-0.217-0.761-0.546-1.091z m439.935 259.188L773.22 571.39l-56.109 57.092 34.104 34.102c5.445 5.443 15.904 4.683 22.006-1.637l33.012-33.014c3.484-3.483 5.447-7.951 5.447-12.524 0-3.597-1.309-6.979-3.815-9.375zM429.922 341.289l251.669 251.674 56.221-57.092-251.235-251.129-56.655 56.547m-45.757-101.977l18.194 66.789 48.479-48.484-66.673-18.305M829.98 467.89c-13.182 0-24.076-10.786-24.076-24.079v-325.104c0-16.998-13.838-30.938-30.943-30.938H225.098c-16.995 0-30.943 13.832-30.943 30.938V649.289c0 17.103 13.948 30.943 30.943 30.943h354.193c13.291 0 24.076 10.785 24.076 24.076 0 13.293-10.785 24.079-24.076 24.079H221.396c-41.511 0-75.396-33.773-75.396-75.396v-537.879c0-41.723 33.772-75.5 75.396-75.5H778.67c41.615 0 75.389 33.777 75.389 75.391v328.92c-0.106 13.181-10.891 23.967-24.079 23.967z" horiz-adv-x="1024" />
<glyph glyph-name="shanchu" unicode="&#59209;" d="M763.1 694.2H637.5c0.3 1.6 0.5 3.2 0.5 4.9v31.6c0 37-30.1 67.1-67.1 67.1H444c-37 0-67.1-30.1-67.1-67.1v-31.6c0-1.7 0.2-3.3 0.5-4.9H251.9c-44.4 0-80.5-36.1-80.5-80.5v-15.1c0-43.8 35.2-79.4 78.7-80.3-2.3-4.1-3.7-8.7-3.7-13.6v-412.3c0-63.4 51.6-115 115-115h292.2c63.4 0 115 51.6 115 115V504.6c0 5-1.4 9.6-3.7 13.6 43.6 1 78.7 36.6 78.7 80.3v15.1c0 44.5-36.1 80.6-80.5 80.6z m-330.2 4.9v31.6c0 6 5.1 11.1 11.1 11.1h127c6 0 11.1-5.1 11.1-11.1v-31.6c0-1.7 0.2-3.3 0.5-4.9H432.4c0.3 1.6 0.5 3.2 0.5 4.9z m279.7-194.5v-412.3c0-32.6-26.5-59.1-59.1-59.1H361.4c-32.6 0-59.1 26.5-59.1 59.1V504.6c0 4.9-1.4 9.5-3.6 13.5h417.5c-2.2-4.1-3.6-8.6-3.6-13.5z m75.1 94c0-13.5-11-24.6-24.6-24.6H251.9c-13.5 0-24.6 11-24.6 24.6v15.1c0 13.5 11 24.6 24.6 24.6h511.2c13.5 0 24.6-11 24.6-24.6v-15.1zM386.3 70.5c15.5 0 28 12.5 28 28V452.8c0 15.5-12.5 28-28 28s-28-12.5-28-28v-354.3c0-15.5 12.5-28 28-28zM507.5 70.5c15.5 0 28 12.5 28 28V452.8c0 15.5-12.5 28-28 28s-28-12.5-28-28v-354.3c0-15.5 12.5-28 28-28zM628.7 70.5c15.4 0 28 12.5 28 28V452.8c0 15.5-12.5 28-28 28-15.4 0-28-12.5-28-28v-354.3c0-15.5 12.6-28 28-28z" horiz-adv-x="1024" />
</font>
</defs></svg>
@font-face {font-family: "iconfont";
src: url('./font2/iconfont.eot?t=1608876882652'); /* IE9 */
src: url('./font2/iconfont.eot?t=1608876882652#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('./font2/iconfont.woff?t=1608876882652') format('woff'),
url('./font2/iconfont.ttf?t=1608876882652') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('./font2/iconfont.svg?t=1608876882652#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 25px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-fasong:before {
content: "\e627";
}
.icon-shezhi:before {
content: "\e667";
}
.icon-download:before {
content: "\e60a";
}
.icon-shenhebutongguo:before {
content: "\e624";
}
.icon-shenhetongguo:before {
content: "\e625";
}
.icon-shangchuan:before {
content: "\e635";
}
.icon-chakanlishi:before {
content: "\e646";
}
.icon-124-gongzuogenzong:before {
content: "\e880";
}
.icon-fasongchuansong-forward--xian:before {
content: "\e8a9";
}
.icon-chehui:before {
content: "\e603";
}
.icon-chakan:before {
content: "\e63e";
}
.icon-bianji:before {
content: "\e619";
}
.icon-shanchu:before {
content: "\e749";
}
@font-face {font-family: "iconfont";
src: url('./font2/iconfont.eot?t=1608876882652'); /* IE9 */
src: url('./font2/iconfont.eot?t=1608876882652#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('./font2/iconfont.woff?t=1608876882652') format('woff'),
url('./font2/iconfont.ttf?t=1608876882652') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('./font2/iconfont.svg?t=1608876882652#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 25px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-fasong:before {
content: "\e627";
}
.icon-shezhi:before {
content: "\e667";
}
.icon-download:before {
content: "\e60a";
}
.icon-shenhebutongguo:before {
content: "\e624";
}
.icon-shenhetongguo:before {
content: "\e625";
}
.icon-shangchuan:before {
content: "\e635";
}
.icon-chakanlishi:before {
content: "\e646";
}
.icon-124-gongzuogenzong:before {
content: "\e880";
}
.icon-fasongchuansong-forward--xian:before {
content: "\e8a9";
}
.icon-chehui:before {
content: "\e603";
}
.icon-chakan:before {
content: "\e63e";
}
.icon-bianji:before {
content: "\e619";
}
.icon-shanchu:before {
content: "\e749";
}
# STORE
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your Vuex Store files.
Vuex Store option is implemented in the Nuxt.js framework.
Creating a file in this directory automatically activates the option in the framework.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).
export const state = () => ({
documentClientHeight: 0
})
export const mutations = {
updateDocumentClientHeight (state, height) {
state.documentClientHeight = height
}
}
export const state = () => ({})
export const mutations = {}
export const state = () => ({
list: []
})
export const mutations = {
add(state, text) {
state.list.push({
text,
done: false
})
},
remove(state, { todo }) {
state.list.splice(state.list.indexOf(todo), 1)
},
toggle(state, todo) {
todo.done = !todo.done
}
}
import { mount } from '@vue/test-utils'
import Logo from '@/components/Logo.vue'
describe('Logo', () => {
test('is a Vue instance', () => {
const wrapper = mount(Logo)
expect(wrapper.isVueInstance()).toBeTruthy()
})
})
export function setBaseFont() {
var win = window || null
if (win) {
var doc = win.document
var docEl = doc.documentElement
var tid
function refreshRem() {
var width = docEl.getBoundingClientRect().width
if (width < 1440) {
// 最大宽度
width = 1440
}
var rem = width / 10 // 将屏幕宽度分成10份, 1份为1rem
docEl.style.fontSize = rem + 'px'
}
win.addEventListener(
'resize',
function() {
clearTimeout(tid)
tid = setTimeout(refreshRem, 300)
},
false
)
win.addEventListener(
'pageshow',
function(e) {
if (e.persisted) {
clearTimeout(tid)
tid = setTimeout(refreshRem, 300)
}
},
false
)
refreshRem()
}
}
export function filterHtml(html) {
let text = ''
if (html) {
text = html.replace(/<.*?>/g, '')
}
return text
}
/**
* 获取uuid
*/
export function uuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
return (c === 'x' ? (Math.random() * 16) | 0 : 'r&0x3' | '0x8').toString(16)
})
}
/**
* 邮箱
* @param {*} s
*/
export function isEmail(s) {
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}
/**
* 手机号码
* @param {*} s
*/
export function isMobile(s) {
return /^1[0-9]{10}$/.test(s)
}
/**
* 身份证号码
* @param {*} s
*/
export function isIdNumber(s) {
return /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(s)
}
/**
* 姓名验证
* @param {*} s
*/
export function isName(s) {
return /^.{1,10}$/.test(s)
}
/**
* 电话号码
* @param {*} s
*/
export function isPhone(s) {
return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}
/**
* URL地址
* @param {*} s
*/
export function isURL(s) {
return /^http[s]?:\/\/.*/.test(s)
}
/**
* 数字验证
* @param {*} s
*/
export function isNum(s) {
return /^[0-9]*$/.test(s)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment