Compare commits
	
		
			No commits in common. "17cf3cf4b1c566e7d2a5d3ee33a318f7ea24bcf4" and "7baa91ca0c1a2ea450d2c7ad25a099d40c166b54" have entirely different histories.
		
	
	
		
			17cf3cf4b1
			...
			7baa91ca0c
		
	
		
| @ -1,29 +0,0 @@ | |||||||
| spring: |  | ||||||
|   jackson: |  | ||||||
|     time-zone: GMT+8 |  | ||||||
|     date-format: yyyy-MM-dd HH:mm:ss |  | ||||||
|   cloud: |  | ||||||
|     sentinel: |  | ||||||
|       enabled: true |  | ||||||
|       transport: |  | ||||||
|         dashboard: localhost:8180 |  | ||||||
| management: |  | ||||||
|   endpoints: |  | ||||||
|     web: |  | ||||||
|       exposure: |  | ||||||
|         include: "*" |  | ||||||
|   endpoint: |  | ||||||
|     health: |  | ||||||
|       show-details: ALWAYS |  | ||||||
| feign: |  | ||||||
|   sentinel: |  | ||||||
|     enabled: true |  | ||||||
|   client: |  | ||||||
|     config: |  | ||||||
|       default: |  | ||||||
|         loggerLevel: FULL |  | ||||||
|   httpclient: |  | ||||||
|     enabled: true |  | ||||||
| ribbon: |  | ||||||
|   ReadTimeout: 300000 |  | ||||||
|   ConnectTimeout: 300000 |  | ||||||
| @ -1,58 +0,0 @@ | |||||||
| spring: |  | ||||||
|   servlet: |  | ||||||
|     multipart: |  | ||||||
|       max-file-size: -1 |  | ||||||
|       max-request-size: -1 |  | ||||||
|   redis: |  | ||||||
|     host: 192.168.1.197 |  | ||||||
|     port: 6379 |  | ||||||
|     database: 0 |  | ||||||
|     password: menhu@123 |  | ||||||
|     timeout: 30s |  | ||||||
|   datasource: |  | ||||||
|     druid: |  | ||||||
|       driver-class-name: com.mysql.cj.jdbc.Driver |  | ||||||
|       url: jdbc:mysql://192.168.1.197:3306/portal?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai |  | ||||||
|       username: root |  | ||||||
|       password: menhu@123 |  | ||||||
|       initial-size: 2 |  | ||||||
|       max-active: 5 |  | ||||||
|       min-idle: 2 |  | ||||||
|       max-wait: 6000 |  | ||||||
|       pool-prepared-statements: true |  | ||||||
|       max-pool-prepared-statement-per-connection-size: 5 |  | ||||||
|       time-between-eviction-runs-millis: 60000 |  | ||||||
|       min-evictable-idle-time-millis: 300000 |  | ||||||
|       test-while-idle: true |  | ||||||
|       test-on-borrow: false |  | ||||||
|       test-on-return: false |  | ||||||
|       filter: |  | ||||||
|         stat: |  | ||||||
|           log-slow-sql: true |  | ||||||
|           slow-sql-millis: 1000 |  | ||||||
|           merge-sql: false |  | ||||||
|         wall: |  | ||||||
|           config: |  | ||||||
|             multi-statement-allow: true |  | ||||||
|   rabbitmq: |  | ||||||
|     host: 192.168.1.197 |  | ||||||
|     port: 5672 |  | ||||||
|     username: admin |  | ||||||
|     password: menhu@123 |  | ||||||
|     publisher-returns: true |  | ||||||
|     listener: |  | ||||||
|       simple: |  | ||||||
|         acknowledge-mode: manual |  | ||||||
|         prefetch: 5 |  | ||||||
| mybatis-plus: |  | ||||||
|   mapper-locations: classpath:/mapper/**/*.xml |  | ||||||
|   typeAliasesPackage: com.dkha.entity |  | ||||||
|   global-config: |  | ||||||
|     db-config: |  | ||||||
|       id-type: ID_WORKER |  | ||||||
|     banner: false |  | ||||||
|   configuration: |  | ||||||
|     map-underscore-to-camel-case: true |  | ||||||
|     cache-enabled: false |  | ||||||
|     call-setters-on-nulls: true |  | ||||||
|     jdbc-type-for-null: 'null' |  | ||||||
| @ -1,200 +0,0 @@ | |||||||
| [ |  | ||||||
|   { |  | ||||||
|     "remark": "认证服务", |  | ||||||
|     "id": "dkha-auth-server", |  | ||||||
|     "uri": "lb://dkha-auth-server", |  | ||||||
|     "order": "1", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/auth/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     "remark": "Admin服务", |  | ||||||
|     "id": "dkha-admin-server", |  | ||||||
|     "uri": "lb://dkha-admin-server", |  | ||||||
|     "order": "2", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/sys/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     "remark": "监控服务", |  | ||||||
|     "id": "dkha-monitor-server", |  | ||||||
|     "uri": "lb://dkha-monitor-server", |  | ||||||
|     "order": "3", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/monitor/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     "remark": "OSS服务", |  | ||||||
|     "id": "dkha-oss-server", |  | ||||||
|     "uri": "lb://dkha-oss-server", |  | ||||||
|     "order": "4", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/oss/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     "remark": "消息服务", |  | ||||||
|     "id": "dkha-message-server", |  | ||||||
|     "uri": "lb://dkha-message-server", |  | ||||||
|     "order": "5", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/message/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     "remark": "工作流服务", |  | ||||||
|     "id": "dkha-activiti-server", |  | ||||||
|     "uri": "lb://dkha-activiti-server", |  | ||||||
|     "order": "6", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/activiti/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     "remark": "定时任务服务", |  | ||||||
|     "id": "dkha-job-server", |  | ||||||
|     "uri": "lb://dkha-job-server", |  | ||||||
|     "order": "7", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/job/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     "remark": "APP流服务", |  | ||||||
|     "id": "dkha-api-server", |  | ||||||
|     "uri": "lb://dkha-api-server", |  | ||||||
|     "order": "8", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/api/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     "remark": "门户网站", |  | ||||||
|     "id": "dkha-portal-server", |  | ||||||
|     "uri": "lb://dkha-portal-server", |  | ||||||
|     "order": "9", |  | ||||||
|     "predicates": [ |  | ||||||
|       { |  | ||||||
|         "name": "Path", |  | ||||||
|         "args": { |  | ||||||
|           "pattern": "/portal/**" |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ], |  | ||||||
|     "filters": [ |  | ||||||
|       { |  | ||||||
|         "name": "StripPrefix", |  | ||||||
|         "args": { |  | ||||||
|           "StripPrefix": 0 |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     ] |  | ||||||
|   } |  | ||||||
| ] |  | ||||||
| @ -1,3 +0,0 @@ | |||||||
| > 1% |  | ||||||
| last 2 versions |  | ||||||
| not dead |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| [*.{js,jsx,ts,tsx,vue}] |  | ||||||
| indent_style = space |  | ||||||
| indent_size = 2 |  | ||||||
| trim_trailing_whitespace = true |  | ||||||
| insert_final_newline = true |  | ||||||
| @ -1,4 +0,0 @@ | |||||||
| NODE_ENV = development |  | ||||||
| VUE_APP_NODE_ENV = dev |  | ||||||
| VUE_APP_BASE_URL = 'http://192.168.1.133' |  | ||||||
| VUE_APP_SERVER_URL = 'http://192.168.1.133' |  | ||||||
| @ -1,4 +0,0 @@ | |||||||
| NODE_ENV = production |  | ||||||
| VUE_APP_NODE_ENV = prod |  | ||||||
| VUE_APP_BASE_URL = 'http://127.0.0.1' |  | ||||||
| VUE_APP_SERVER_URL = 'http://192.168.1.133' |  | ||||||
| @ -1,18 +0,0 @@ | |||||||
| module.exports = { |  | ||||||
|   root: true, |  | ||||||
|   env: { |  | ||||||
|     node: true |  | ||||||
|   }, |  | ||||||
|   extends: [ |  | ||||||
|     'plugin:vue/essential', |  | ||||||
|     '@vue/standard' |  | ||||||
|   ], |  | ||||||
|   parserOptions: { |  | ||||||
|     parser: 'babel-eslint' |  | ||||||
|   }, |  | ||||||
|   rules: { |  | ||||||
|     'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', |  | ||||||
|     'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', |  | ||||||
|     'space-before-function-paren': 0 |  | ||||||
|   } |  | ||||||
| } |  | ||||||
							
								
								
									
										23
									
								
								portal_client/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						| @ -1,23 +0,0 @@ | |||||||
| .DS_Store |  | ||||||
| node_modules |  | ||||||
| /dist |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # local env files |  | ||||||
| .env.local |  | ||||||
| .env.*.local |  | ||||||
| 
 |  | ||||||
| # Log files |  | ||||||
| npm-debug.log* |  | ||||||
| yarn-debug.log* |  | ||||||
| yarn-error.log* |  | ||||||
| pnpm-debug.log* |  | ||||||
| 
 |  | ||||||
| # Editor directories and files |  | ||||||
| .idea |  | ||||||
| .vscode |  | ||||||
| *.suo |  | ||||||
| *.ntvs* |  | ||||||
| *.njsproj |  | ||||||
| *.sln |  | ||||||
| *.sw? |  | ||||||
| @ -1,7 +0,0 @@ | |||||||
| { |  | ||||||
|   "printWidth": 80, |  | ||||||
|   "tabWidth": 2, |  | ||||||
|   "singleQuote": true, |  | ||||||
|   "semi": false, |  | ||||||
|   "htmlWhitespaceSensitivity": "ignore" |  | ||||||
| } |  | ||||||
| @ -1,24 +0,0 @@ | |||||||
| # portal_client |  | ||||||
| 
 |  | ||||||
| ## Project setup |  | ||||||
| ``` |  | ||||||
| npm install |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| ### Compiles and hot-reloads for development |  | ||||||
| ``` |  | ||||||
| npm run serve |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| ### Compiles and minifies for production |  | ||||||
| ``` |  | ||||||
| npm run build |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| ### Lints and fixes files |  | ||||||
| ``` |  | ||||||
| npm run lint |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| ### Customize configuration |  | ||||||
| See [Configuration Reference](https://cli.vuejs.org/config/). |  | ||||||
| @ -1,10 +0,0 @@ | |||||||
| // 项目发布阶段需要用到的babel插件
 |  | ||||||
| const prodPlugins = [] |  | ||||||
| if (process.env.NODE_ENV === 'production') { |  | ||||||
|   prodPlugins.push('transform-remove-console') |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| module.exports = { |  | ||||||
|   presets: ['@vue/cli-plugin-babel/preset'], |  | ||||||
|   plugins: [...prodPlugins] |  | ||||||
| } |  | ||||||
							
								
								
									
										14629
									
								
								portal_client/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						| @ -1,43 +0,0 @@ | |||||||
| { |  | ||||||
|   "name": "portal_client", |  | ||||||
|   "version": "1.1.0", |  | ||||||
|   "private": true, |  | ||||||
|   "scripts": { |  | ||||||
|     "serve": "vue-cli-service serve", |  | ||||||
|     "build": "vue-cli-service build", |  | ||||||
|     "serve:dev": "vue-cli-service build --mode development", |  | ||||||
|     "build:prod": "vue-cli-service build --mode production", |  | ||||||
|     "lint": "vue-cli-service lint" |  | ||||||
|   }, |  | ||||||
|   "dependencies": { |  | ||||||
|     "core-js": "^3.6.5", |  | ||||||
|     "element-ui": "^2.4.5", |  | ||||||
|     "less-loader": "^6.0.0", |  | ||||||
|     "quill": "^1.3.7", |  | ||||||
|     "vue": "^2.6.11", |  | ||||||
|     "vue-lazyload": "^1.3.3", |  | ||||||
|     "vue-router": "^3.2.0", |  | ||||||
|     "vuex": "^3.4.0" |  | ||||||
|   }, |  | ||||||
|   "devDependencies": { |  | ||||||
|     "@vue/cli-plugin-babel": "~4.5.0", |  | ||||||
|     "@vue/cli-plugin-eslint": "~4.5.0", |  | ||||||
|     "@vue/cli-plugin-router": "~4.5.0", |  | ||||||
|     "@vue/cli-plugin-vuex": "~4.5.0", |  | ||||||
|     "@vue/cli-service": "~4.5.0", |  | ||||||
|     "@vue/eslint-config-standard": "^5.1.2", |  | ||||||
|     "axios": "^0.21.1", |  | ||||||
|     "babel-eslint": "^10.1.0", |  | ||||||
|     "babel-plugin-transform-remove-console": "^6.9.4", |  | ||||||
|     "eslint": "^6.7.2", |  | ||||||
|     "eslint-plugin-import": "^2.20.2", |  | ||||||
|     "eslint-plugin-node": "^11.1.0", |  | ||||||
|     "eslint-plugin-promise": "^4.2.1", |  | ||||||
|     "eslint-plugin-standard": "^4.0.0", |  | ||||||
|     "eslint-plugin-vue": "^6.2.2", |  | ||||||
|     "node-sass": "^4.12.0", |  | ||||||
|     "sass-loader": "^8.0.2", |  | ||||||
|     "vue-cli-plugin-element": "^1.0.1", |  | ||||||
|     "vue-template-compiler": "^2.6.11" |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| Before Width: | Height: | Size: 30 KiB | 
| Before Width: | Height: | Size: 45 KiB | 
| Before Width: | Height: | Size: 81 KiB | 
| Before Width: | Height: | Size: 48 KiB | 
| Before Width: | Height: | Size: 7.3 KiB | 
| Before Width: | Height: | Size: 6.9 KiB | 
| @ -1 +0,0 @@ | |||||||
| <?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"><svg t="1626240865067" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12783" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M194.97 566.272V747.52L512 919.552 829.03 747.52V566.477L512 738.509 194.97 566.272zM512 104.448L13.926 376.218 512 647.782l407.552-221.798v312.525h90.522V376.218L512 104.448z" p-id="12784" fill="#172B4D"></path></svg> |  | ||||||
| Before Width: | Height: | Size: 596 B | 
| @ -1 +0,0 @@ | |||||||
| <?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"><svg t="1626241025270" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14725" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M390.827 562.59c-113.17 0-205.242-92.071-205.242-205.242s92.071-205.241 205.242-205.241 205.241 92.071 205.241 205.241-92.07 205.242-205.241 205.242z m0-346.483c-77.881 0-141.242 63.36-141.242 141.241S312.946 498.59 390.827 498.59s141.241-63.361 141.241-141.242-63.36-141.241-141.241-141.241z" fill="#172B4D" p-id="14726"></path><path d="M668.021 869.327c-17.673 0-32-14.327-32-32 0-150.662-109.993-273.235-245.193-273.235S145.633 686.665 145.633 837.327c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-89.503 31.785-173.795 89.499-237.348 28.333-31.199 61.402-55.729 98.288-72.909 38.437-17.901 79.284-26.979 121.407-26.979s82.97 9.077 121.407 26.979c36.886 17.18 69.955 41.71 98.288 72.909 57.715 63.553 89.499 147.845 89.499 237.348 0 17.673-14.328 32-32 32zM630.633 567.59c-17.673 0-32-14.327-32-32s14.327-32 32-32c77.881 0 141.242-63.361 141.242-141.242s-63.361-141.241-141.242-141.241c-17.673 0-32-14.327-32-32s14.327-32 32-32c113.171 0 205.242 92.071 205.242 205.241S743.804 567.59 630.633 567.59z" fill="#172B4D" p-id="14727"></path><path d="M907.827 874.327c-17.673 0-32-14.327-32-32 0-150.662-109.994-273.235-245.194-273.235-17.673 0-32-14.327-32-32s14.327-32 32-32c42.123 0 82.971 9.077 121.407 26.979 36.886 17.18 69.955 41.71 98.288 72.909 57.714 63.553 89.499 147.845 89.499 237.348 0 17.672-14.327 31.999-32 31.999z" fill="#172B4D" p-id="14728"></path></svg> |  | ||||||
| Before Width: | Height: | Size: 1.7 KiB | 
| @ -1 +0,0 @@ | |||||||
| <?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"><svg t="1626240434789" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1023" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M810.6 183.5c0-65.7-53.7-119.4-119.4-119.4H333c-65.7 0-119.4 53.7-119.4 119.4-203 0-179.1 0-179.1 119.4 0 98.5 80.6 179.1 179.1 179.1 6 0 14.9 0 20.9-3 38.8 116.4 134.3 223.9 247.8 238.8V900h-89.6c-17.9 0-29.9 11.9-29.9 29.9 0 17.9 11.9 29.8 29.9 29.8h238.8c17.9 0 29.9-11.9 29.9-29.8S649.5 900 631.5 900h-89.6V717.9c113.4-14.9 206-122.4 247.8-238.8 6 0 14.9 3 20.9 3 98.5 0 179.1-80.6 179.1-179.1 0-119.5 23.9-119.5-179.1-119.5z m-597 238.8c-65.7 0-119.4-53.7-119.4-119.4s0-59.7 119.4-59.7v179.1z m537.3-59.7c0 131.3-107.5 298.5-238.8 298.5S273.3 493.9 273.3 362.6V183.5c0-29.9 29.9-59.7 59.7-59.7h358.2c29.8 0 59.7 29.9 59.7 59.7v179.1z m59.7 59.7V243.2c119.4 0 119.4-6 119.4 59.7s-53.7 119.4-119.4 119.4z m0 0" p-id="1024" fill="#172B4D"></path></svg> |  | ||||||
| Before Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 85 KiB | 
| Before Width: | Height: | Size: 85 KiB | 
| Before Width: | Height: | Size: 192 KiB | 
| Before Width: | Height: | Size: 205 KiB | 
| Before Width: | Height: | Size: 540 KiB | 
| Before Width: | Height: | Size: 79 KiB | 
| Before Width: | Height: | Size: 44 KiB | 
| Before Width: | Height: | Size: 193 KiB | 
| @ -1 +0,0 @@ | |||||||
| <?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"><svg t="1626240753020" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6489" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M711.9 959.9c-10.8 0-21.5-3.3-30.7-9.7L495.3 820.9c-1.5-1-3.5-0.9-4.8 0.4l-72 68.4c-16.2 15.4-39.7 19.2-59.8 9.7-20.2-9.4-32.3-29.9-30.9-52.2l9-141.8c0.8-12.1 5.7-23.8 13.9-32.8l216-237.8c9.3-10.2 25.1-11 35.3-1.7 10.2 9.3 11 25.1 1.7 35.3l-216 237.8c-0.6 0.6-0.9 1.5-1 2.3l-9 141.8c0 0.8-0.2 2.6 2.2 3.7 2.4 1.1 3.7-0.2 4.2-0.7l72-68.4c18.4-17.5 46.9-19.7 67.8-5.2l185.9 129.4c1.1 0.8 2.4 0.9 3.6 0.4 1.3-0.5 2.1-1.5 2.3-2.8L858.2 140c0.1-0.6 0.4-2.3-1.5-3.7-1.9-1.4-3.4-0.7-4-0.4l-745.9 372c-0.5 0.2-2 1-2.1 3.2-0.1 2.2 1.3 3.1 1.8 3.4l198 123.2c11.7 7.3 15.3 22.7 8 34.4s-22.7 15.3-34.4 8L80 557c-16.5-10.3-26.2-28.8-25.3-48.2 0.9-19.5 12.3-36.9 29.7-45.6l745.9-372c18.4-9.2 40-7.2 56.4 5.2s24.3 32.6 20.5 52.8L764.9 915.9c-3.4 18-15.5 33-32.5 40-6.6 2.7-13.6 4-20.5 4z" p-id="6490" fill="#172B4D"></path></svg> |  | ||||||
| Before Width: | Height: | Size: 1.2 KiB | 
| Before Width: | Height: | Size: 66 KiB | 
| @ -1,17 +0,0 @@ | |||||||
| <!DOCTYPE html> |  | ||||||
| <html lang=""> |  | ||||||
|   <head> |  | ||||||
|     <meta charset="utf-8"> |  | ||||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge"> |  | ||||||
|     <meta name="viewport" content="width=device-width,initial-scale=1.0"> |  | ||||||
|     <link rel="icon" href="<%= BASE_URL %>favicon.ico"> |  | ||||||
|     <title>公共安全技术研究中心</title> |  | ||||||
|   </head> |  | ||||||
|   <body> |  | ||||||
|     <noscript> |  | ||||||
|       <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |  | ||||||
|     </noscript> |  | ||||||
|     <div id="app"></div> |  | ||||||
|     <!-- built files will be auto injected --> |  | ||||||
|   </body> |  | ||||||
| </html> |  | ||||||
| @ -1,14 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div id="app" class="ap"> |  | ||||||
|     <transition name="el-fade-in-linear"> |  | ||||||
|       <router-view></router-view> |  | ||||||
|     </transition> |  | ||||||
|     <el-backtop></el-backtop> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| export default { |  | ||||||
|   name: 'app' |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,24 +0,0 @@ | |||||||
| import request from '../utils/request' |  | ||||||
| 
 |  | ||||||
| export function queryById(id, uuid) { |  | ||||||
|   return request({ |  | ||||||
|     url: `/article/${id}/${uuid}`, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export function queryResults(params) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/article/search', |  | ||||||
|     method: 'get', |  | ||||||
|     params: params |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export function queryByQuery(params) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/article/list', |  | ||||||
|     method: 'get', |  | ||||||
|     params: params |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| import request from '../utils/request' |  | ||||||
| 
 |  | ||||||
| export function queryComponents() { |  | ||||||
|   return request({ |  | ||||||
|     url: '/component', |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| import request from '../utils/request' |  | ||||||
| 
 |  | ||||||
| export function load() { |  | ||||||
|   return request({ |  | ||||||
|     url: '/config/load', |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| @ -1,22 +0,0 @@ | |||||||
| import request from '../utils/request' |  | ||||||
| 
 |  | ||||||
| export function queryAllModules() { |  | ||||||
|   return request({ |  | ||||||
|     url: '/module', |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export function queryModuleByRoute(route) { |  | ||||||
|   return request({ |  | ||||||
|     url: `/module/route/${route}`, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export function queryModuleByParent(parent) { |  | ||||||
|   return request({ |  | ||||||
|     url: `/module/parent/${parent}`, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| @ -1,22 +0,0 @@ | |||||||
| import request from '../utils/request' |  | ||||||
| 
 |  | ||||||
| export function querySession() { |  | ||||||
|   return request({ |  | ||||||
|     url: '/student/sessions', |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export function queryBySession(session) { |  | ||||||
|   return request({ |  | ||||||
|     url: `/student/session/${session}`, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export function queryByUuid(uuid) { |  | ||||||
|   return request({ |  | ||||||
|     url: `/student/${uuid}`, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| @ -1,22 +0,0 @@ | |||||||
| import request from '../utils/request' |  | ||||||
| 
 |  | ||||||
| export function queryByUuid(uuid) { |  | ||||||
|   return request({ |  | ||||||
|     url: `/teacher/${uuid}`, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export function queryCollege() { |  | ||||||
|   return request({ |  | ||||||
|     url: '/teacher/college', |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export function queryByCollege(college) { |  | ||||||
|   return request({ |  | ||||||
|     url: `/teacher/college/${college}`, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| Before Width: | Height: | Size: 6.7 KiB | 
| @ -1,91 +0,0 @@ | |||||||
| $image-size: 120px; |  | ||||||
| 
 |  | ||||||
| .app-footer { |  | ||||||
|   width: 100%; |  | ||||||
|   padding: 80px 0; |  | ||||||
|   color: $--color-text-regular; |  | ||||||
|   line-height: 150%; |  | ||||||
|   background-color: $--background-color-base; |  | ||||||
|   display: flex; |  | ||||||
|   justify-content: space-around; |  | ||||||
|   align-items: center; |  | ||||||
| 
 |  | ||||||
|   .footer-inner { |  | ||||||
|     width: $min-width; |  | ||||||
|     // min-width: $min-width; |  | ||||||
|     // max-width: $max-width; |  | ||||||
| 
 |  | ||||||
|     .focus-us { |  | ||||||
|       font-size: $--font-size-large; |  | ||||||
|       display: flex; |  | ||||||
| 
 |  | ||||||
|       ul { |  | ||||||
|         margin-left: 20px; |  | ||||||
| 
 |  | ||||||
|         li { |  | ||||||
|           float: left; |  | ||||||
|           min-width: 40px; |  | ||||||
| 
 |  | ||||||
|           .el-link { |  | ||||||
|             font-size: inherit; |  | ||||||
|           } |  | ||||||
| 
 |  | ||||||
|           i:hover { |  | ||||||
|             cursor: pointer; |  | ||||||
|             color: $--color-primary; |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .footer-row { |  | ||||||
|       width: 100%; |  | ||||||
|       display: flex; |  | ||||||
|       flex-wrap: wrap; |  | ||||||
| 
 |  | ||||||
|       .footer-info { |  | ||||||
|         width: 50%; |  | ||||||
|         display: flex; |  | ||||||
|         flex-direction: column; |  | ||||||
|         justify-content: space-between; |  | ||||||
| 
 |  | ||||||
|         .link-list { |  | ||||||
|           width: 100%; |  | ||||||
| 
 |  | ||||||
|           li { |  | ||||||
|             float: left; |  | ||||||
|             min-width: 20%; |  | ||||||
| 
 |  | ||||||
|             .el-link { |  | ||||||
|               font-size: $--font-size-small; |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         .contact-us { |  | ||||||
|           margin-top: 20px; |  | ||||||
|           font-size: $--font-size-extra-small; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|       .footer-brand { |  | ||||||
|         width: 50%; |  | ||||||
|         display: flex; |  | ||||||
|         justify-content: space-around; |  | ||||||
|         align-items: center; |  | ||||||
| 
 |  | ||||||
|         .el-image { |  | ||||||
|           width: $image-size; |  | ||||||
|           height: $image-size; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .footer-area { |  | ||||||
|       font-size: $--font-size-extra-small; |  | ||||||
|       display: flex; |  | ||||||
|       justify-content: space-between; |  | ||||||
|       align-items: center; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,158 +0,0 @@ | |||||||
| $header-height: 80px; |  | ||||||
| 
 |  | ||||||
| .app-header { |  | ||||||
|   width: 100%; |  | ||||||
|   height: $header-height; |  | ||||||
|   display: flex; |  | ||||||
|   justify-content: space-around; |  | ||||||
|   align-items: center; |  | ||||||
| 
 |  | ||||||
|   .header-inner { |  | ||||||
|     width: 70vw; |  | ||||||
|     display: flex; |  | ||||||
|     justify-content: space-between; |  | ||||||
|     align-items: center; |  | ||||||
| 
 |  | ||||||
|     .header-before { |  | ||||||
|       display: flex; |  | ||||||
|       justify-content: space-around; |  | ||||||
|       align-items: center; |  | ||||||
| 
 |  | ||||||
|       .el-image { |  | ||||||
|         width: $header-height; |  | ||||||
|         height: inherit; |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|       .el-menu { |  | ||||||
|         border-bottom: none; |  | ||||||
| 
 |  | ||||||
|         .el-menu-item, |  | ||||||
|         .el-submenu__title { |  | ||||||
|           border-bottom: none; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         .el-submenu__icon-arrow { |  | ||||||
|           display: none; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .el-link { |  | ||||||
|       font-weight: bolder; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .header-transparent { |  | ||||||
|   //position: absolute; |  | ||||||
|   position: relative; |  | ||||||
|   z-index: 999; |  | ||||||
|   background: -webkit-gradient( |  | ||||||
|     linear, |  | ||||||
|     left top, |  | ||||||
|     left bottom, |  | ||||||
|     from($--color-white), |  | ||||||
|     to($--color-white) |  | ||||||
|   ); |  | ||||||
| 
 |  | ||||||
|   .el-menu { |  | ||||||
|     background-color: transparent; |  | ||||||
|     //background-color: $--color-white; |  | ||||||
| 
 |  | ||||||
|     .el-menu-item, |  | ||||||
|     .el-submenu__title { |  | ||||||
|       //color: $--color-white; |  | ||||||
|       color: blue; |  | ||||||
|       background-color: transparent; |  | ||||||
|       //background-color: $--color-white; |  | ||||||
| 
 |  | ||||||
|       &:hover { |  | ||||||
|         //color: $--color-text-placeholder; |  | ||||||
|         color: blue; |  | ||||||
|         background-color: transparent; |  | ||||||
|         //background-color: $--color-white; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .el-menu-item:active, |  | ||||||
|     .el-menu-item:focus, |  | ||||||
|     .el-submenu.is-active .el-submenu__title { |  | ||||||
|       //color: $--color-text-placeholder; |  | ||||||
|       color: blue; |  | ||||||
|       background-color: transparent; |  | ||||||
|       //background-color: $--color-white; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .el-link { |  | ||||||
|     //color: $--color-white; |  | ||||||
|     color: blue; |  | ||||||
| 
 |  | ||||||
|     &:hover { |  | ||||||
|       //color: $--color-text-placeholder; |  | ||||||
|       color: blue; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .header-dark { |  | ||||||
|   // position: sticky; |  | ||||||
|   // position: -webkit-sticky; |  | ||||||
|   // z-index: 999; |  | ||||||
|   // top: 0px; |  | ||||||
|   // left: 0px; |  | ||||||
|   background-color: $--color-primary; |  | ||||||
| 
 |  | ||||||
|   .el-menu { |  | ||||||
|     background-color: transparent; |  | ||||||
|     //background-color: $--color-white; |  | ||||||
| 
 |  | ||||||
|     .el-menu-item, |  | ||||||
|     .el-submenu__title { |  | ||||||
|       //color: $--color-white; |  | ||||||
|       color: blue; |  | ||||||
|       background-color: $--color-primary; |  | ||||||
| 
 |  | ||||||
|       &:hover { |  | ||||||
|         //color: $--color-text-placeholder; |  | ||||||
|         color: blue; |  | ||||||
|         background-color: $--color-primary; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .el-menu-item:active, |  | ||||||
|     .el-menu-item:focus, |  | ||||||
|     .el-submenu.is-active .el-submenu__title { |  | ||||||
|       //color: $--color-text-placeholder; |  | ||||||
|       color: blue; |  | ||||||
|       background-color: $--color-primary; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .el-link { |  | ||||||
|     //color: $--color-white; |  | ||||||
|     color: blue; |  | ||||||
| 
 |  | ||||||
|     &:hover { |  | ||||||
|       //color: $--color-text-placeholder; |  | ||||||
|       color: blue; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .header-light { |  | ||||||
|   .el-menu { |  | ||||||
|     background-color: transparent; |  | ||||||
|     //background-color: $--color-white; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .el-link { |  | ||||||
|     //color: $--color-text-secondary; |  | ||||||
|     color: blue; |  | ||||||
| 
 |  | ||||||
|     &:hover { |  | ||||||
|       //color: $--color-black; |  | ||||||
|       color: darkblue; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,36 +0,0 @@ | |||||||
| .layout-header { |  | ||||||
|   @extend .layout-body; |  | ||||||
|   background-color: $--background-color-base; |  | ||||||
| 
 |  | ||||||
|   .header-inner { |  | ||||||
|     @extend .body-inner; |  | ||||||
| 
 |  | ||||||
|     h1 { |  | ||||||
|       margin: 60px 0; |  | ||||||
|       font-weight: normal; |  | ||||||
|       font-size: xx-large; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .layout-body { |  | ||||||
|   display: flex; |  | ||||||
|   justify-content: space-around; |  | ||||||
|   align-items: center; |  | ||||||
|   margin-bottom: 50px; |  | ||||||
| 
 |  | ||||||
|   // 屏幕尺寸大于750px |  | ||||||
|   @media screen and (min-width: 750px) { |  | ||||||
|     .body-inner { |  | ||||||
|       width: $min-width; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 屏幕尺寸小于750px |  | ||||||
|   @media screen and (max-width: 750px) { |  | ||||||
|     .body-inner { |  | ||||||
|       min-width: $min-width; |  | ||||||
|       max-width: $max-width; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,29 +0,0 @@ | |||||||
| .body-inner { |  | ||||||
|   .article-title { |  | ||||||
|     display: block; |  | ||||||
|     margin: 30px 0; |  | ||||||
|     font-size: xx-large; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .article-info { |  | ||||||
|     color: $--color-text-secondary; |  | ||||||
|     font-size: $--font-size-small; |  | ||||||
|     margin-top: 20px; |  | ||||||
| 
 |  | ||||||
|     span + span { |  | ||||||
|       margin: 0 10px; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .article-content { |  | ||||||
|     line-height: 175%; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .article-file { |  | ||||||
|     margin-top: 20px; |  | ||||||
| 
 |  | ||||||
|     .el-link { |  | ||||||
|       font-size: $--font-size-small; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,66 +0,0 @@ | |||||||
| .card-list { |  | ||||||
|   .tip { |  | ||||||
|     text-align: center; |  | ||||||
|     font-size: $--font-size-extra-small; |  | ||||||
|     color: $--color-text-secondary; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &-item { |  | ||||||
|     position: relative; |  | ||||||
| 
 |  | ||||||
|     img { |  | ||||||
|       display: block; |  | ||||||
|       margin: auto; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .banner { |  | ||||||
|       width: 100%; |  | ||||||
|       height: 50px; |  | ||||||
|       padding: 50px; |  | ||||||
|       box-sizing: border-box; |  | ||||||
|       position: absolute; |  | ||||||
|       z-index: 10; |  | ||||||
|       bottom: 0; |  | ||||||
|       text-align: center; |  | ||||||
|       color: $--color-white; |  | ||||||
|       font-size: $--font-size-large; |  | ||||||
|       font-weight: bolder; |  | ||||||
|       white-space: nowrap; |  | ||||||
|       overflow: hidden; |  | ||||||
|       text-overflow: ellipsis; |  | ||||||
|       transition: all 0.5s ease; |  | ||||||
|       background: -webkit-gradient( |  | ||||||
|         linear, |  | ||||||
|         left bottom, |  | ||||||
|         left top, |  | ||||||
|         from($--color-black), |  | ||||||
|         to(transparent) |  | ||||||
|       ); |  | ||||||
| 
 |  | ||||||
|       .content { |  | ||||||
|         text-align: start; |  | ||||||
|         color: $--color-text-secondary; |  | ||||||
|         font-size: $--font-size-base; |  | ||||||
|         white-space: nowrap; |  | ||||||
|         overflow: hidden; |  | ||||||
|         text-overflow: ellipsis; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     &:hover { |  | ||||||
|       cursor: pointer; |  | ||||||
|       z-index: 5; |  | ||||||
|       -webkit-transform: scale(1.1); |  | ||||||
|       transform: scale(1.1); |  | ||||||
| 
 |  | ||||||
|       .banner { |  | ||||||
|         height: 100%; |  | ||||||
|         display: flex; |  | ||||||
|         flex-direction: column; |  | ||||||
|         justify-content: space-around; |  | ||||||
|         align-items: center; |  | ||||||
|         background: rgba($color: $--color-black, $alpha: 0.5); |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,6 +0,0 @@ | |||||||
| .carousel { |  | ||||||
|   .el-image { |  | ||||||
|     width: 100%; |  | ||||||
|     height: inherit; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,22 +0,0 @@ | |||||||
| .chunk { |  | ||||||
|   padding: 80px 15%; |  | ||||||
| 
 |  | ||||||
|   .title { |  | ||||||
|     margin-bottom: 30px; |  | ||||||
| 
 |  | ||||||
|     h1 { |  | ||||||
|       font-size: xx-large; |  | ||||||
|       width: fit-content; |  | ||||||
|       margin: auto; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .chunk-light h1 { |  | ||||||
|   border-bottom: 5px solid $--color-primary; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .chunk-dark h1 { |  | ||||||
|   color: $--color-white; |  | ||||||
|   border-bottom: 5px solid $--color-white; |  | ||||||
| } |  | ||||||
| @ -1,17 +0,0 @@ | |||||||
| .section-error { |  | ||||||
|   width: 100%; |  | ||||||
|   height: 80vh; |  | ||||||
|   box-sizing: border-box; |  | ||||||
|   display: flex; |  | ||||||
|   justify-content: space-around; |  | ||||||
|   align-items: center; |  | ||||||
| 
 |  | ||||||
|   .el-image { |  | ||||||
|     width: 75%; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   h1 { |  | ||||||
|     margin: 20px 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| @ -1,78 +0,0 @@ | |||||||
| $min-width: 60vw; |  | ||||||
| $max-width: 90vw; |  | ||||||
| 
 |  | ||||||
| /* 全局样式表 */ |  | ||||||
| html, |  | ||||||
| body, |  | ||||||
| #app { |  | ||||||
|   height: 100%; |  | ||||||
|   margin: 0; |  | ||||||
|   padding: 0; |  | ||||||
|   font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', |  | ||||||
|     'Microsoft YaHei', '微软雅黑', Arial, sans-serif; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| ul { |  | ||||||
|   list-style: none; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| html, |  | ||||||
| body, |  | ||||||
| div, |  | ||||||
| span, |  | ||||||
| applet, |  | ||||||
| object, |  | ||||||
| iframe, |  | ||||||
| h1, |  | ||||||
| h2, |  | ||||||
| h3, |  | ||||||
| h4, |  | ||||||
| h5, |  | ||||||
| h6, |  | ||||||
| p, |  | ||||||
| blockquote, |  | ||||||
| pre, |  | ||||||
| a, |  | ||||||
| abbr, |  | ||||||
| acronym, |  | ||||||
| address, |  | ||||||
| big, |  | ||||||
| cite, |  | ||||||
| code, |  | ||||||
| del, |  | ||||||
| dfn, |  | ||||||
| em, |  | ||||||
| img, |  | ||||||
| ins, |  | ||||||
| kbd, |  | ||||||
| q, |  | ||||||
| s, |  | ||||||
| samp, |  | ||||||
| small, |  | ||||||
| strike, |  | ||||||
| strong, |  | ||||||
| sub, |  | ||||||
| sup, |  | ||||||
| tt, |  | ||||||
| var, |  | ||||||
| dl, |  | ||||||
| dt, |  | ||||||
| dd, |  | ||||||
| ol, |  | ||||||
| ul, |  | ||||||
| li, |  | ||||||
| fieldset, |  | ||||||
| form, |  | ||||||
| label, |  | ||||||
| legend, |  | ||||||
| table, |  | ||||||
| caption, |  | ||||||
| tbody, |  | ||||||
| tfoot, |  | ||||||
| thead, |  | ||||||
| tr, |  | ||||||
| th, |  | ||||||
| td { |  | ||||||
|   margin: 0; |  | ||||||
|   padding: 0; |  | ||||||
| } |  | ||||||
| @ -1,38 +0,0 @@ | |||||||
| .image-list { |  | ||||||
|   .tip { |  | ||||||
|     text-align: center; |  | ||||||
|     font-size: $--font-size-extra-small; |  | ||||||
|     color: $--color-text-secondary; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .content { |  | ||||||
|     white-space: nowrap; |  | ||||||
|     overflow: hidden; |  | ||||||
|     text-overflow: ellipsis; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .content, |  | ||||||
|   .update-time { |  | ||||||
|     margin-top: 10px; |  | ||||||
|     font-size: $--font-size-small; |  | ||||||
|     color: $--color-text-secondary; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .el-button { |  | ||||||
|     border: none; |  | ||||||
|     font-weight: bolder; |  | ||||||
|     background-color: $--background-color-base; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .el-row ~ .el-row { |  | ||||||
|     margin: 30px 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .show-more { |  | ||||||
|     @extend .tip; |  | ||||||
| 
 |  | ||||||
|     .el-link { |  | ||||||
|       @extend .show-more; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1 +0,0 @@ | |||||||
| @import './mixins/animation'; |  | ||||||
| @ -1,45 +0,0 @@ | |||||||
| .news { |  | ||||||
|   background-color: $--background-color-base; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .news-item { |  | ||||||
|    |  | ||||||
|   &-title { |  | ||||||
|     display: flex; |  | ||||||
|     justify-content: space-between; |  | ||||||
|     align-items: center; |  | ||||||
|     margin-bottom: 15px; |  | ||||||
| 
 |  | ||||||
|     &:first-child { |  | ||||||
|       font-size: $--font-size-large; |  | ||||||
|       color: $--color-primary; |  | ||||||
|       font-weight: bold; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   ul { |  | ||||||
|     white-space: nowrap; |  | ||||||
| 
 |  | ||||||
|     li { |  | ||||||
|       display: flex; |  | ||||||
|       justify-content: space-between; |  | ||||||
|       align-items: center; |  | ||||||
| 
 |  | ||||||
|       div { |  | ||||||
|         white-space: nowrap; |  | ||||||
|         overflow: hidden; |  | ||||||
|         text-overflow: ellipsis; |  | ||||||
| 
 |  | ||||||
|         a:hover { |  | ||||||
|           cursor: pointer; |  | ||||||
|           color: $--color-primary; |  | ||||||
|           text-decoration: underline; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     li + li { |  | ||||||
|       margin: 10px 0; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| .overview { |  | ||||||
|   line-height: 180%; |  | ||||||
|   color: $--color-text-primary; |  | ||||||
| 
 |  | ||||||
|   p { |  | ||||||
|     text-indent: 2em; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,26 +0,0 @@ | |||||||
| .research { |  | ||||||
|   background-color: $--background-color-base; |  | ||||||
| 
 |  | ||||||
|   .item { |  | ||||||
|     cursor: pointer; |  | ||||||
|     text-align: center; |  | ||||||
|     transition: all 0.5s ease; |  | ||||||
|     margin: 50px 0; |  | ||||||
| 
 |  | ||||||
|     .el-image { |  | ||||||
|       width: 120px; |  | ||||||
|       height: 120px; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     span { |  | ||||||
|       display: block; |  | ||||||
|       font-size: $--font-size-large; |  | ||||||
|       font-weight: bolder; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     &:hover { |  | ||||||
|       -webkit-transform: scale(1.1); |  | ||||||
|       transform: scale(1.1); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,48 +0,0 @@ | |||||||
| .search { |  | ||||||
|   .box { |  | ||||||
|     text-align: center; |  | ||||||
|     margin: 50px 0; |  | ||||||
|     transition: all 0.5s ease; |  | ||||||
| 
 |  | ||||||
|     .el-autocomplete { |  | ||||||
|       width: 40%; |  | ||||||
| 
 |  | ||||||
|       .el-input-group__append { |  | ||||||
|         width: 20%; |  | ||||||
|         text-align: center; |  | ||||||
|         color: $--color-white; |  | ||||||
|         background-color: $--color-primary; |  | ||||||
|         border: 1px solid $--color-primary; |  | ||||||
| 
 |  | ||||||
|         &:hover { |  | ||||||
|           background-color: $--color-primary-light-2; |  | ||||||
|           border: 1px solid $--color-primary-light-2; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .box-resize { |  | ||||||
|     margin: 150px 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   ul { |  | ||||||
|     li { |  | ||||||
|       a { |  | ||||||
|         color: $--color-primary; |  | ||||||
|         cursor: pointer; |  | ||||||
|         text-decoration: underline; |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|       .content { |  | ||||||
|         font-size: $--font-size-small; |  | ||||||
|         color: $--color-text-secondary; |  | ||||||
|         margin: 5px 0; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     li + li { |  | ||||||
|       margin: 20px 0; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,24 +0,0 @@ | |||||||
| .college { |  | ||||||
|   line-height: 150%; |  | ||||||
| 
 |  | ||||||
|   h1 { |  | ||||||
|     font-weight: normal; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .el-row + .el-row { |  | ||||||
|     margin: 20px 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .card { |  | ||||||
|     cursor: pointer; |  | ||||||
| 
 |  | ||||||
|     .teacher-name { |  | ||||||
|       font-size: $--font-size-large; |  | ||||||
|       color: $--color-primary; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .college + .college { |  | ||||||
|   margin: 30px 0; |  | ||||||
| } |  | ||||||
| @ -1,26 +0,0 @@ | |||||||
| .teacher { |  | ||||||
|   line-height: 180%; |  | ||||||
| 
 |  | ||||||
|   .detail { |  | ||||||
|     span { |  | ||||||
|       display: block; |  | ||||||
| 
 |  | ||||||
|       strong { |  | ||||||
|         color: $--color-text-primary; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .other { |  | ||||||
|     h3 { |  | ||||||
|       color: $--color-primary; |  | ||||||
|     } |  | ||||||
|     span { |  | ||||||
|       display: block; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .other + .other { |  | ||||||
|     margin: 10px 0; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| .team { |  | ||||||
|   background-image: url('/img/home_bg1.png'); |  | ||||||
|   background-size: contain; |  | ||||||
|   background-color: #172B4D; |  | ||||||
| } |  | ||||||
| @ -1,137 +0,0 @@ | |||||||
| @keyframes linear-move-left { |  | ||||||
|   from { |  | ||||||
|     left: 0px; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     left: 20px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-webkit-keyframes linear-move-left { |  | ||||||
|   from { |  | ||||||
|     left: 0px; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     left: 20px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-moz-keyframes linear-move-left { |  | ||||||
|   from { |  | ||||||
|     left: 0px; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     left: 20px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-o-keyframes linear-move-bottom { |  | ||||||
|   from { |  | ||||||
|     bottom: 0px; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     bottom: 20px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @keyframes linear-move-bottom { |  | ||||||
|   from { |  | ||||||
|     bottom: 0px; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     bottom: 20px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-webkit-keyframes linear-move-bottom { |  | ||||||
|   from { |  | ||||||
|     bottom: 0px; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     bottom: 20px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-moz-keyframes linear-move-bottom { |  | ||||||
|   from { |  | ||||||
|     bottom: 0px; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     bottom: 20px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-o-keyframes linear-move-bottom { |  | ||||||
|   from { |  | ||||||
|     bottom: 0px; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     bottom: 20px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @keyframes ease-transition { |  | ||||||
|   from { |  | ||||||
|     opacity: 0; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     opacity: 1; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-webkit-keyframes ease-transition { |  | ||||||
|   from { |  | ||||||
|     opacity: 0; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     opacity: 1; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-moz-keyframes ease-transition { |  | ||||||
|   from { |  | ||||||
|     opacity: 0; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     opacity: 1; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-o-keyframes ease-transition { |  | ||||||
|   from { |  | ||||||
|     opacity: 0; |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     opacity: 1; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @mixin linear-move-left { |  | ||||||
|   animation: linear-move-left; |  | ||||||
|   -moz-animation: linear-move-left; /* Firefox */ |  | ||||||
|   -webkit-animation: linear-move-left; /* Safari 和 Chrome */ |  | ||||||
|   -o-animation: linear-move-left; /* Opera */ |  | ||||||
|   animation-duration: 0.3s; |  | ||||||
|   animation-timing-function: linear; |  | ||||||
|   animation-fill-mode: forwards; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @mixin linear-move-bottom { |  | ||||||
|   animation: linear-move-bottom; |  | ||||||
|   -moz-animation: linear-move-bottom; /* Firefox */ |  | ||||||
|   -webkit-animation: linear-move-bottom; /* Safari 和 Chrome */ |  | ||||||
|   -o-animation: linear-move-bottom; /* Opera */ |  | ||||||
|   animation-duration: 0.3s; |  | ||||||
|   animation-timing-function: linear; |  | ||||||
|   animation-fill-mode: forwards; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @mixin ease-transition { |  | ||||||
|   animation: ease-transition; |  | ||||||
|   -moz-animation: ease-transition; /* Firefox */ |  | ||||||
|   -webkit-animation: ease-transition; /* Safari 和 Chrome */ |  | ||||||
|   -o-animation: ease-transition; /* Opera */ |  | ||||||
|   animation-duration: 0.5s; |  | ||||||
|   animation-timing-function: ease; |  | ||||||
|   animation-fill-mode: forwards; |  | ||||||
| } |  | ||||||
| @ -1,996 +0,0 @@ | |||||||
| /* Element Chalk Variables */ |  | ||||||
| 
 |  | ||||||
| // Special comment for theme configurator |  | ||||||
| // type|skipAutoTranslation|Category|Order |  | ||||||
| // skipAutoTranslation 1 |  | ||||||
| 
 |  | ||||||
| /* Transition |  | ||||||
| -------------------------- */ |  | ||||||
| $--all-transition: all .3s cubic-bezier(.645,.045,.355,1) !default; |  | ||||||
| $--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; |  | ||||||
| $--fade-linear-transition: opacity 200ms linear !default; |  | ||||||
| $--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; |  | ||||||
| $--border-transition-base: border-color .2s cubic-bezier(.645,.045,.355,1) !default; |  | ||||||
| $--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default; |  | ||||||
| 
 |  | ||||||
| /* Color |  | ||||||
| -------------------------- */ |  | ||||||
| /// color|1|Brand Color|0 |  | ||||||
| $--color-primary: #172B4D !default; |  | ||||||
| /// color|1|Background Color|4 |  | ||||||
| $--color-white: #FFFFFF !default; |  | ||||||
| /// color|1|Background Color|4 |  | ||||||
| $--color-black: #000000 !default; |  | ||||||
| $--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */ |  | ||||||
| $--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */ |  | ||||||
| $--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */ |  | ||||||
| $--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */ |  | ||||||
| $--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */ |  | ||||||
| $--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */ |  | ||||||
| $--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */ |  | ||||||
| $--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */ |  | ||||||
| $--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */ |  | ||||||
| /// color|1|Functional Color|1 |  | ||||||
| $--color-success: #67C23A !default; |  | ||||||
| /// color|1|Functional Color|1 |  | ||||||
| $--color-warning: #E6A23C !default; |  | ||||||
| /// color|1|Functional Color|1 |  | ||||||
| $--color-danger: #F56C6C !default; |  | ||||||
| /// color|1|Functional Color|1 |  | ||||||
| $--color-info: #909399 !default; |  | ||||||
| 
 |  | ||||||
| $--color-success-light: mix($--color-white, $--color-success, 80%) !default; |  | ||||||
| $--color-warning-light: mix($--color-white, $--color-warning, 80%) !default; |  | ||||||
| $--color-danger-light: mix($--color-white, $--color-danger, 80%) !default; |  | ||||||
| $--color-info-light: mix($--color-white, $--color-info, 80%) !default; |  | ||||||
| 
 |  | ||||||
| $--color-success-lighter: mix($--color-white, $--color-success, 90%) !default; |  | ||||||
| $--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default; |  | ||||||
| $--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default; |  | ||||||
| $--color-info-lighter: mix($--color-white, $--color-info, 90%) !default; |  | ||||||
| /// color|1|Font Color|2 |  | ||||||
| $--color-text-primary: #303133 !default; |  | ||||||
| /// color|1|Font Color|2 |  | ||||||
| $--color-text-regular: #606266 !default; |  | ||||||
| /// color|1|Font Color|2 |  | ||||||
| $--color-text-secondary: #909399 !default; |  | ||||||
| /// color|1|Font Color|2 |  | ||||||
| $--color-text-placeholder: #C0C4CC !default; |  | ||||||
| /// color|1|Border Color|3 |  | ||||||
| $--border-color-base: #DCDFE6 !default; |  | ||||||
| /// color|1|Border Color|3 |  | ||||||
| $--border-color-light: #E4E7ED !default; |  | ||||||
| /// color|1|Border Color|3 |  | ||||||
| $--border-color-lighter: #EBEEF5 !default; |  | ||||||
| /// color|1|Border Color|3 |  | ||||||
| $--border-color-extra-light: #F2F6FC !default; |  | ||||||
| 
 |  | ||||||
| // Background |  | ||||||
| /// color|1|Background Color|4 |  | ||||||
| $--background-color-base: #F5F7FA !default; |  | ||||||
| 
 |  | ||||||
| /* Link |  | ||||||
| -------------------------- */ |  | ||||||
| $--link-color: $--color-primary-light-2 !default; |  | ||||||
| $--link-hover-color: $--color-primary !default; |  | ||||||
| 
 |  | ||||||
| /* Border |  | ||||||
| -------------------------- */ |  | ||||||
| $--border-width-base: 2px !default; |  | ||||||
| $--border-style-base: solid !default; |  | ||||||
| $--border-color-hover: $--color-text-placeholder !default; |  | ||||||
| $--border-base: $--border-width-base $--border-style-base $--border-color-base !default; |  | ||||||
| /// borderRadius|1|Radius|0 |  | ||||||
| $--border-radius-base: 10px !default; |  | ||||||
| /// borderRadius|1|Radius|0 |  | ||||||
| $--border-radius-small: 3px !default; |  | ||||||
| /// borderRadius|1|Radius|0 |  | ||||||
| $--border-radius-circle: 100% !default; |  | ||||||
| /// borderRadius|1|Radius|0 |  | ||||||
| $--border-radius-zero: 0 !default; |  | ||||||
| 
 |  | ||||||
| // Box-shadow |  | ||||||
| /// boxShadow|1|Shadow|1 |  | ||||||
| $--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default; |  | ||||||
| // boxShadow|1|Shadow|1 |  | ||||||
| $--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12) !default; |  | ||||||
| /// boxShadow|1|Shadow|1 |  | ||||||
| $--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default; |  | ||||||
| 
 |  | ||||||
| /* Fill |  | ||||||
| -------------------------- */ |  | ||||||
| $--fill-base: $--color-white !default; |  | ||||||
| 
 |  | ||||||
| /* Typography |  | ||||||
| -------------------------- */ |  | ||||||
| $--font-path: '~element-ui/packages/theme-chalk/src/fonts' !default; |  | ||||||
| $--font-display: 'auto' !default; |  | ||||||
| /// fontSize|1|Font Size|0 |  | ||||||
| $--font-size-extra-large: 22px !default; |  | ||||||
| /// fontSize|1|Font Size|0 |  | ||||||
| $--font-size-large: 20px !default; |  | ||||||
| /// fontSize|1|Font Size|0 |  | ||||||
| $--font-size-medium: 18px !default; |  | ||||||
| /// fontSize|1|Font Size|0 |  | ||||||
| $--font-size-base: 16px !default; |  | ||||||
| /// fontSize|1|Font Size|0 |  | ||||||
| $--font-size-small: 15px !default; |  | ||||||
| /// fontSize|1|Font Size|0 |  | ||||||
| $--font-size-extra-small: 14px !default; |  | ||||||
| /// fontWeight|1|Font Weight|1 |  | ||||||
| $--font-weight-primary: 500 !default; |  | ||||||
| /// fontWeight|1|Font Weight|1 |  | ||||||
| $--font-weight-secondary: 100 !default; |  | ||||||
| /// fontLineHeight|1|Line Height|2 |  | ||||||
| $--font-line-height-primary: 24px !default; |  | ||||||
| /// fontLineHeight|1|Line Height|2 |  | ||||||
| $--font-line-height-secondary: 16px !default; |  | ||||||
| $--font-color-disabled-base: #bbb !default; |  | ||||||
| /* Size |  | ||||||
| -------------------------- */ |  | ||||||
| $--size-base: 14px !default; |  | ||||||
| 
 |  | ||||||
| /* z-index |  | ||||||
| -------------------------- */ |  | ||||||
| $--index-normal: 1 !default; |  | ||||||
| $--index-top: 1000 !default; |  | ||||||
| $--index-popper: 2000 !default; |  | ||||||
| 
 |  | ||||||
| /* Disable base |  | ||||||
| -------------------------- */ |  | ||||||
| $--disabled-fill-base: $--background-color-base !default; |  | ||||||
| $--disabled-color-base: $--color-text-placeholder !default; |  | ||||||
| $--disabled-border-base: $--border-color-light !default; |  | ||||||
| 
 |  | ||||||
| /* Icon |  | ||||||
| -------------------------- */ |  | ||||||
| $--icon-color: #666 !default; |  | ||||||
| $--icon-color-base: $--color-info !default; |  | ||||||
| 
 |  | ||||||
| /* Checkbox |  | ||||||
| -------------------------- */ |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--checkbox-font-size: 14px !default; |  | ||||||
| /// fontWeight||Font|1 |  | ||||||
| $--checkbox-font-weight: $--font-weight-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--checkbox-font-color: $--color-text-regular !default; |  | ||||||
| $--checkbox-input-height: 14px !default; |  | ||||||
| $--checkbox-input-width: 14px !default; |  | ||||||
| /// borderRadius||Border|2 |  | ||||||
| $--checkbox-border-radius: $--border-radius-small !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--checkbox-background-color: $--color-white !default; |  | ||||||
| $--checkbox-input-border: $--border-base !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--checkbox-disabled-border-color: $--border-color-base !default; |  | ||||||
| $--checkbox-disabled-input-fill: #edf2fc !default; |  | ||||||
| $--checkbox-disabled-icon-color: $--color-text-placeholder !default; |  | ||||||
| 
 |  | ||||||
| $--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default; |  | ||||||
| $--checkbox-disabled-checked-input-border-color: $--border-color-base !default; |  | ||||||
| $--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--checkbox-checked-font-color: $--color-primary !default; |  | ||||||
| $--checkbox-checked-input-border-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--checkbox-checked-background-color: $--color-primary !default; |  | ||||||
| $--checkbox-checked-icon-color: $--fill-base !default; |  | ||||||
| 
 |  | ||||||
| $--checkbox-input-border-color-hover: $--color-primary !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--checkbox-bordered-height: 40px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--checkbox-bordered-padding: 9px 20px 9px 10px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--checkbox-bordered-small-padding: 5px 15px 5px 10px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default; |  | ||||||
| $--checkbox-bordered-medium-input-height: 14px !default; |  | ||||||
| $--checkbox-bordered-medium-input-width: 14px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--checkbox-bordered-medium-height: 36px !default; |  | ||||||
| $--checkbox-bordered-small-input-height: 12px !default; |  | ||||||
| $--checkbox-bordered-small-input-width: 12px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--checkbox-bordered-small-height: 32px !default; |  | ||||||
| $--checkbox-bordered-mini-input-height: 12px !default; |  | ||||||
| $--checkbox-bordered-mini-input-width: 12px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--checkbox-bordered-mini-height: 28px !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--checkbox-button-checked-background-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--checkbox-button-checked-font-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--checkbox-button-checked-border-color: $--color-primary !default; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| /* Radio |  | ||||||
| -------------------------- */ |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--radio-font-size: $--font-size-base !default; |  | ||||||
| /// fontWeight||Font|1 |  | ||||||
| $--radio-font-weight: $--font-weight-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-font-color: $--color-text-regular !default; |  | ||||||
| $--radio-input-height: 14px !default; |  | ||||||
| $--radio-input-width: 14px !default; |  | ||||||
| /// borderRadius||Border|2 |  | ||||||
| $--radio-input-border-radius: $--border-radius-circle !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-input-background-color: $--color-white !default; |  | ||||||
| $--radio-input-border: $--border-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-input-border-color: $--border-color-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-icon-color: $--color-white !default; |  | ||||||
| 
 |  | ||||||
| $--radio-disabled-input-border-color: $--disabled-border-base !default; |  | ||||||
| $--radio-disabled-input-fill: $--disabled-fill-base !default; |  | ||||||
| $--radio-disabled-icon-color: $--disabled-fill-base !default; |  | ||||||
| 
 |  | ||||||
| $--radio-disabled-checked-input-border-color: $--disabled-border-base !default; |  | ||||||
| $--radio-disabled-checked-input-fill: $--disabled-fill-base !default; |  | ||||||
| $--radio-disabled-checked-icon-color: $--color-text-placeholder !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-checked-font-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-checked-input-border-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-checked-input-background-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-checked-icon-color: $--color-primary !default; |  | ||||||
| 
 |  | ||||||
| $--radio-input-border-color-hover: $--color-primary !default; |  | ||||||
| 
 |  | ||||||
| $--radio-bordered-height: 40px !default; |  | ||||||
| $--radio-bordered-padding: 12px 20px 0 10px !default; |  | ||||||
| $--radio-bordered-medium-padding: 10px 20px 0 10px !default; |  | ||||||
| $--radio-bordered-small-padding: 8px 15px 0 10px !default; |  | ||||||
| $--radio-bordered-mini-padding: 6px 15px 0 10px !default; |  | ||||||
| $--radio-bordered-medium-input-height: 14px !default; |  | ||||||
| $--radio-bordered-medium-input-width: 14px !default; |  | ||||||
| $--radio-bordered-medium-height: 36px !default; |  | ||||||
| $--radio-bordered-small-input-height: 12px !default; |  | ||||||
| $--radio-bordered-small-input-width: 12px !default; |  | ||||||
| $--radio-bordered-small-height: 32px !default; |  | ||||||
| $--radio-bordered-mini-input-height: 12px !default; |  | ||||||
| $--radio-bordered-mini-input-width: 12px !default; |  | ||||||
| $--radio-bordered-mini-height: 28px !default; |  | ||||||
| 
 |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--radio-button-font-size: $--font-size-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-button-checked-background-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-button-checked-font-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--radio-button-checked-border-color: $--color-primary !default; |  | ||||||
| $--radio-button-disabled-checked-fill: $--border-color-extra-light !default; |  | ||||||
| 
 |  | ||||||
| /* Select |  | ||||||
| -------------------------- */ |  | ||||||
| $--select-border-color-hover: $--border-color-hover !default; |  | ||||||
| $--select-disabled-border: $--disabled-border-base !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--select-font-size: $--font-size-base !default; |  | ||||||
| $--select-close-hover-color: $--color-text-secondary !default; |  | ||||||
| 
 |  | ||||||
| $--select-input-color: $--color-text-placeholder !default; |  | ||||||
| $--select-multiple-input-color: #666 !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--select-input-focus-border-color: $--color-primary !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--select-input-font-size: 14px !default; |  | ||||||
| 
 |  | ||||||
| $--select-option-color: $--color-text-regular !default; |  | ||||||
| $--select-option-disabled-color: $--color-text-placeholder !default; |  | ||||||
| $--select-option-disabled-background: $--color-white !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--select-option-height: 34px !default; |  | ||||||
| $--select-option-hover-background: $--background-color-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--select-option-selected-font-color: $--color-primary !default; |  | ||||||
| $--select-option-selected-hover: $--background-color-base !default; |  | ||||||
| 
 |  | ||||||
| $--select-group-color: $--color-info !default; |  | ||||||
| $--select-group-height: 30px !default; |  | ||||||
| $--select-group-font-size: 12px !default; |  | ||||||
| 
 |  | ||||||
| $--select-dropdown-background: $--color-white !default; |  | ||||||
| $--select-dropdown-shadow: $--box-shadow-light !default; |  | ||||||
| $--select-dropdown-empty-color: #999 !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--select-dropdown-max-height: 274px !default; |  | ||||||
| $--select-dropdown-padding: 6px 0 !default; |  | ||||||
| $--select-dropdown-empty-padding: 10px 0 !default; |  | ||||||
| $--select-dropdown-border: solid 1px $--border-color-light !default; |  | ||||||
| 
 |  | ||||||
| /* Alert |  | ||||||
| -------------------------- */ |  | ||||||
| $--alert-padding: 8px 16px !default; |  | ||||||
| /// borderRadius||Border|2 |  | ||||||
| $--alert-border-radius: $--border-radius-base !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--alert-title-font-size: 13px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--alert-description-font-size: 12px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--alert-close-font-size: 12px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--alert-close-customed-font-size: 13px !default; |  | ||||||
| 
 |  | ||||||
| $--alert-success-color: $--color-success-lighter !default; |  | ||||||
| $--alert-info-color: $--color-info-lighter !default; |  | ||||||
| $--alert-warning-color: $--color-warning-lighter !default; |  | ||||||
| $--alert-danger-color: $--color-danger-lighter !default; |  | ||||||
| 
 |  | ||||||
| /// height||Other|4 |  | ||||||
| $--alert-icon-size: 16px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--alert-icon-large-size: 28px !default; |  | ||||||
| 
 |  | ||||||
| /* MessageBox |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--messagebox-title-color: $--color-text-primary !default; |  | ||||||
| $--msgbox-width: 420px !default; |  | ||||||
| $--msgbox-border-radius: 4px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--messagebox-font-size: $--font-size-large !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--messagebox-content-font-size: $--font-size-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--messagebox-content-color: $--color-text-regular !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--messagebox-error-font-size: 12px !default; |  | ||||||
| $--msgbox-padding-primary: 15px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--messagebox-success-color: $--color-success !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--messagebox-info-color: $--color-info !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--messagebox-warning-color: $--color-warning !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--messagebox-danger-color: $--color-danger !default; |  | ||||||
| 
 |  | ||||||
| /* Message |  | ||||||
| -------------------------- */ |  | ||||||
| $--message-shadow: $--box-shadow-base !default; |  | ||||||
| $--message-min-width: 380px !default; |  | ||||||
| $--message-background-color: #edf2fc !default; |  | ||||||
| $--message-padding: 15px 15px 15px 20px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--message-close-icon-color: $--color-text-placeholder !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--message-close-size: 16px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--message-close-hover-color: $--color-text-secondary !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--message-success-font-color: $--color-success !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--message-info-font-color: $--color-info !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--message-warning-font-color: $--color-warning !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--message-danger-font-color: $--color-danger !default; |  | ||||||
| 
 |  | ||||||
| /* Notification |  | ||||||
| -------------------------- */ |  | ||||||
| $--notification-width: 330px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--notification-padding: 14px 26px 14px 13px !default; |  | ||||||
| $--notification-radius: 8px !default; |  | ||||||
| $--notification-shadow: $--box-shadow-light !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-border-color: $--border-color-lighter !default; |  | ||||||
| $--notification-icon-size: 24px !default; |  | ||||||
| $--notification-close-font-size: $--message-close-size !default; |  | ||||||
| $--notification-group-margin-left: 13px !default; |  | ||||||
| $--notification-group-margin-right: 8px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--notification-content-font-size: $--font-size-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-content-color: $--color-text-regular !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--notification-title-font-size: 16px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-title-color: $--color-text-primary !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-close-color: $--color-text-secondary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-close-hover-color: $--color-text-regular !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-success-icon-color: $--color-success !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-info-icon-color: $--color-info !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-warning-icon-color: $--color-warning !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--notification-danger-icon-color: $--color-danger !default; |  | ||||||
| 
 |  | ||||||
| /* Input |  | ||||||
| -------------------------- */ |  | ||||||
| $--input-font-size: $--font-size-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--input-font-color: $--color-text-regular !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--input-width: 150px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--input-height: 50px !default; |  | ||||||
| $--input-border: $--border-base !default; |  | ||||||
| $--input-border-color: $--border-color-base !default; |  | ||||||
| /// borderRadius||Border|2 |  | ||||||
| $--input-border-radius: $--border-radius-base !default; |  | ||||||
| $--input-border-color-hover: $--border-color-hover !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--input-background-color: $--color-white !default; |  | ||||||
| $--input-fill-disabled: $--disabled-fill-base !default; |  | ||||||
| $--input-color-disabled: $--font-color-disabled-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--input-icon-color: $--color-text-placeholder !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--input-placeholder-color: $--color-text-placeholder !default; |  | ||||||
| $--input-max-width: 314px !default; |  | ||||||
| 
 |  | ||||||
| $--input-hover-border: $--border-color-hover !default; |  | ||||||
| $--input-clear-hover-color: $--color-text-secondary !default; |  | ||||||
| 
 |  | ||||||
| $--input-focus-border: $--color-primary !default; |  | ||||||
| $--input-focus-fill: $--color-white !default; |  | ||||||
| 
 |  | ||||||
| $--input-disabled-fill: $--disabled-fill-base !default; |  | ||||||
| $--input-disabled-border: $--disabled-border-base !default; |  | ||||||
| $--input-disabled-color: $--disabled-color-base !default; |  | ||||||
| $--input-disabled-placeholder-color: $--color-text-placeholder !default; |  | ||||||
| 
 |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--input-medium-font-size: 14px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--input-medium-height: 36px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--input-small-font-size: 13px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--input-small-height: 32px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--input-mini-font-size: 12px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--input-mini-height: 28px !default; |  | ||||||
| 
 |  | ||||||
| /* Cascader |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--cascader-menu-font-color: $--color-text-regular !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--cascader-menu-selected-font-color: $--color-primary !default; |  | ||||||
| $--cascader-menu-fill: $--fill-base !default; |  | ||||||
| $--cascader-menu-font-size: $--font-size-base !default; |  | ||||||
| $--cascader-menu-radius: $--border-radius-base !default; |  | ||||||
| $--cascader-menu-border: solid 1px $--border-color-light !default; |  | ||||||
| $--cascader-menu-shadow: $--box-shadow-light !default; |  | ||||||
| $--cascader-node-background-hover: $--background-color-base !default; |  | ||||||
| $--cascader-node-color-disabled:$--color-text-placeholder !default; |  | ||||||
| $--cascader-color-empty:$--color-text-placeholder !default; |  | ||||||
| $--cascader-tag-background: #f0f2f5; |  | ||||||
| 
 |  | ||||||
| /* Group |  | ||||||
| -------------------------- */ |  | ||||||
| $--group-option-flex: 0 0 (1/5) * 100% !default; |  | ||||||
| $--group-option-offset-bottom: 12px !default; |  | ||||||
| $--group-option-fill-hover: rgba($--color-black, 0.06) !default; |  | ||||||
| $--group-title-color: $--color-black !default; |  | ||||||
| $--group-title-font-size: $--font-size-base !default; |  | ||||||
| $--group-title-width: 66px !default; |  | ||||||
| 
 |  | ||||||
| /* Tab |  | ||||||
| -------------------------- */ |  | ||||||
| $--tab-font-size: $--font-size-base !default; |  | ||||||
| $--tab-border-line: 1px solid #e4e4e4 !default; |  | ||||||
| $--tab-header-color-active: $--color-text-secondary !default; |  | ||||||
| $--tab-header-color-hover: $--color-text-regular !default; |  | ||||||
| $--tab-header-color: $--color-text-regular !default; |  | ||||||
| $--tab-header-fill-active: rgba($--color-black, 0.06) !default; |  | ||||||
| $--tab-header-fill-hover: rgba($--color-black, 0.06) !default; |  | ||||||
| $--tab-vertical-header-width: 90px !default; |  | ||||||
| $--tab-vertical-header-count-color: $--color-white !default; |  | ||||||
| $--tab-vertical-header-count-fill: $--color-text-secondary !default; |  | ||||||
| 
 |  | ||||||
| /* Button |  | ||||||
| -------------------------- */ |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--button-font-size: $--font-size-base !default; |  | ||||||
| /// fontWeight||Font|1 |  | ||||||
| $--button-font-weight: $--font-weight-primary !default; |  | ||||||
| /// borderRadius||Border|2 |  | ||||||
| $--button-border-radius: $--border-radius-base !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--button-padding-vertical: 12px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--button-padding-horizontal: 20px !default; |  | ||||||
| 
 |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--button-medium-font-size: $--font-size-base !default; |  | ||||||
| /// borderRadius||Border|2 |  | ||||||
| $--button-medium-border-radius: $--border-radius-base !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--button-medium-padding-vertical: 10px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--button-medium-padding-horizontal: 20px !default; |  | ||||||
| 
 |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--button-small-font-size: 12px !default; |  | ||||||
| $--button-small-border-radius: #{$--border-radius-base - 1} !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--button-small-padding-vertical: 9px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--button-small-padding-horizontal: 15px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--button-mini-font-size: 12px !default; |  | ||||||
| $--button-mini-border-radius: #{$--border-radius-base - 1} !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--button-mini-padding-vertical: 7px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--button-mini-padding-horizontal: 15px !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-default-font-color: $--color-text-regular !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-default-background-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-default-border-color: $--border-color-base !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-disabled-font-color: $--color-text-placeholder !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-disabled-background-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-disabled-border-color: $--border-color-lighter !default; |  | ||||||
| 
 |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-primary-border-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-primary-font-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-primary-background-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-success-border-color: $--color-success !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-success-font-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-success-background-color: $--color-success !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-warning-border-color: $--color-warning !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-warning-font-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-warning-background-color: $--color-warning !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-danger-border-color: $--color-danger !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-danger-font-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-danger-background-color: $--color-danger !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-info-border-color: $--color-info !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-info-font-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--button-info-background-color: $--color-info !default; |  | ||||||
| 
 |  | ||||||
| $--button-hover-tint-percent: 20% !default; |  | ||||||
| $--button-active-shade-percent: 10% !default; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| /* cascader |  | ||||||
| -------------------------- */ |  | ||||||
| $--cascader-height: 200px !default; |  | ||||||
| 
 |  | ||||||
| /* Switch |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--switch-on-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--switch-off-color: $--border-color-base !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--switch-font-size: $--font-size-base !default; |  | ||||||
| $--switch-core-border-radius: 10px !default; |  | ||||||
| // height||Other|4 TODO: width 代码写死的40px 所以下面这三个属性都没意义 |  | ||||||
| $--switch-width: 40px !default; |  | ||||||
| // height||Other|4 |  | ||||||
| $--switch-height: 20px !default; |  | ||||||
| // height||Other|4 |  | ||||||
| $--switch-button-size: 16px !default; |  | ||||||
| 
 |  | ||||||
| /* Dialog |  | ||||||
| -------------------------- */ |  | ||||||
| $--dialog-background-color: $--color-white !default; |  | ||||||
| $--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--dialog-title-font-size: $--font-size-large !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--dialog-content-font-size: 14px !default; |  | ||||||
| /// fontLineHeight||LineHeight|2 |  | ||||||
| $--dialog-font-line-height: $--font-line-height-primary !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--dialog-padding-primary: 20px !default; |  | ||||||
| 
 |  | ||||||
| /* Table |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--table-border-color: $--border-color-lighter !default; |  | ||||||
| $--table-border: 1px solid $--table-border-color !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--table-font-color: $--color-text-regular !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--table-header-font-color: $--color-text-secondary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--table-row-hover-background-color: $--background-color-base !default; |  | ||||||
| $--table-current-row-background-color: $--color-primary-light-9 !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--table-header-background-color: $--color-white !default; |  | ||||||
| $--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, .12) !default; |  | ||||||
| 
 |  | ||||||
| /* Pagination |  | ||||||
| -------------------------- */ |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--pagination-font-size: 13px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--pagination-background-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--pagination-font-color: $--color-text-primary !default; |  | ||||||
| $--pagination-border-radius: 3px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--pagination-button-color: $--color-text-primary !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--pagination-button-width: 35.5px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--pagination-button-height: 28px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--pagination-button-disabled-color: $--color-text-placeholder !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--pagination-button-disabled-background-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--pagination-hover-color: $--color-primary !default; |  | ||||||
| 
 |  | ||||||
| /* Popup |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--popup-modal-background-color: $--color-black !default; |  | ||||||
| /// opacity||Other|1 |  | ||||||
| $--popup-modal-opacity: 0.5 !default; |  | ||||||
| 
 |  | ||||||
| /* Popover |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--popover-background-color: $--color-white !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--popover-font-size: $--font-size-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--popover-border-color: $--border-color-lighter !default; |  | ||||||
| $--popover-arrow-size: 6px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--popover-padding: 12px !default; |  | ||||||
| $--popover-padding-large: 18px 20px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--popover-title-font-size: 16px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--popover-title-font-color: $--color-text-primary !default; |  | ||||||
| 
 |  | ||||||
| /* Tooltip |  | ||||||
| -------------------------- */ |  | ||||||
| /// color|1|Color|0 |  | ||||||
| $--tooltip-fill: $--color-text-primary !default; |  | ||||||
| /// color|1|Color|0 |  | ||||||
| $--tooltip-color: $--color-white !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--tooltip-font-size: 12px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tooltip-border-color: $--color-text-primary !default; |  | ||||||
| $--tooltip-arrow-size: 6px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--tooltip-padding: 10px !default; |  | ||||||
| 
 |  | ||||||
| /* Tag |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tag-info-color: $--color-info !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tag-primary-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tag-success-color: $--color-success !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tag-warning-color: $--color-warning !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tag-danger-color: $--color-danger !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--tag-font-size: 12px !default; |  | ||||||
| $--tag-border-radius: 4px !default; |  | ||||||
| $--tag-padding: 0 10px !default; |  | ||||||
| 
 |  | ||||||
| /* Tree |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tree-node-hover-background-color: $--background-color-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tree-font-color: $--color-text-regular !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--tree-expand-icon-color: $--color-text-placeholder !default; |  | ||||||
| 
 |  | ||||||
| /* Dropdown |  | ||||||
| -------------------------- */ |  | ||||||
| $--dropdown-menu-box-shadow: $--box-shadow-light !default; |  | ||||||
| $--dropdown-menuItem-hover-fill: $--color-primary-light-9 !default; |  | ||||||
| $--dropdown-menuItem-hover-color: $--link-color !default; |  | ||||||
| 
 |  | ||||||
| /* Badge |  | ||||||
| -------------------------- */ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--badge-background-color: $--color-danger !default; |  | ||||||
| $--badge-radius: 10px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--badge-font-size: 12px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--badge-padding: 6px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--badge-size: 18px !default; |  | ||||||
| 
 |  | ||||||
| /* Card |  | ||||||
| --------------------------*/ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--card-border-color: $--border-color-lighter !default; |  | ||||||
| $--card-border-radius: 4px !default; |  | ||||||
| /// padding||Spacing|3 |  | ||||||
| $--card-padding: 20px !default; |  | ||||||
| 
 |  | ||||||
| /* Slider |  | ||||||
| --------------------------*/ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--slider-main-background-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--slider-runway-background-color: $--border-color-light !default; |  | ||||||
| $--slider-button-hover-color: mix($--color-primary, black, 97%) !default; |  | ||||||
| $--slider-stop-background-color: $--color-white !default; |  | ||||||
| $--slider-disable-color: $--color-text-placeholder !default; |  | ||||||
| $--slider-margin: 16px 0 !default; |  | ||||||
| $--slider-border-radius: 3px !default; |  | ||||||
| /// height|1|Other|4 |  | ||||||
| $--slider-height: 6px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--slider-button-size: 16px !default; |  | ||||||
| $--slider-button-wrapper-size: 36px !default; |  | ||||||
| $--slider-button-wrapper-offset: -15px !default; |  | ||||||
| 
 |  | ||||||
| /* Steps |  | ||||||
| --------------------------*/ |  | ||||||
| $--steps-border-color: $--disabled-border-base !default; |  | ||||||
| $--steps-border-radius: 4px !default; |  | ||||||
| $--steps-padding: 20px !default; |  | ||||||
| 
 |  | ||||||
| /* Menu |  | ||||||
| --------------------------*/ |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--menu-item-font-size: $--font-size-base !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--menu-item-font-color: $--color-text-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--menu-background-color: $--color-white !default; |  | ||||||
| $--menu-item-hover-fill: $--color-primary-light-9 !default; |  | ||||||
| 
 |  | ||||||
| /* Rate |  | ||||||
| --------------------------*/ |  | ||||||
| $--rate-height: 20px !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--rate-font-size: $--font-size-base !default; |  | ||||||
| /// height||Other|3 |  | ||||||
| $--rate-icon-size: 18px !default; |  | ||||||
| /// margin||Spacing|2 |  | ||||||
| $--rate-icon-margin: 6px !default; |  | ||||||
| $--rate-icon-color: $--color-text-placeholder !default; |  | ||||||
| 
 |  | ||||||
| /* DatePicker |  | ||||||
| --------------------------*/ |  | ||||||
| $--datepicker-font-color: $--color-text-regular !default; |  | ||||||
| /// color|1|Color|0 |  | ||||||
| $--datepicker-off-font-color: $--color-text-placeholder !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--datepicker-header-font-color: $--color-text-regular !default; |  | ||||||
| $--datepicker-icon-color: $--color-text-primary !default; |  | ||||||
| $--datepicker-border-color: $--disabled-border-base !default; |  | ||||||
| $--datepicker-inner-border-color: #e4e4e4 !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--datepicker-inrange-background-color: $--border-color-extra-light !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--datepicker-inrange-hover-background-color: $--border-color-extra-light !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--datepicker-active-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--datepicker-hover-font-color: $--color-primary !default; |  | ||||||
| $--datepicker-cell-hover-color: #fff !default; |  | ||||||
| 
 |  | ||||||
| /* Loading |  | ||||||
| --------------------------*/ |  | ||||||
| /// height||Other|4 |  | ||||||
| $--loading-spinner-size: 42px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--loading-fullscreen-spinner-size: 50px !default; |  | ||||||
| 
 |  | ||||||
| /* Scrollbar |  | ||||||
| --------------------------*/ |  | ||||||
| $--scrollbar-background-color: rgba($--color-text-secondary, .3) !default; |  | ||||||
| $--scrollbar-hover-background-color: rgba($--color-text-secondary, .5) !default; |  | ||||||
| 
 |  | ||||||
| /* Carousel |  | ||||||
| --------------------------*/ |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--carousel-arrow-font-size: 12px !default; |  | ||||||
| $--carousel-arrow-size: 36px !default; |  | ||||||
| $--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default; |  | ||||||
| $--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default; |  | ||||||
| /// width||Other|4 |  | ||||||
| $--carousel-indicator-width: 30px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--carousel-indicator-height: 2px !default; |  | ||||||
| $--carousel-indicator-padding-horizontal: 4px !default; |  | ||||||
| $--carousel-indicator-padding-vertical: 12px !default; |  | ||||||
| $--carousel-indicator-out-color: $--border-color-hover !default; |  | ||||||
| 
 |  | ||||||
| /* Collapse |  | ||||||
| --------------------------*/ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--collapse-border-color: $--border-color-lighter !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--collapse-header-height: 48px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--collapse-header-background-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--collapse-header-font-color: $--color-text-primary !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--collapse-header-font-size: 13px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--collapse-content-background-color: $--color-white !default; |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--collapse-content-font-size: 13px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--collapse-content-font-color: $--color-text-primary !default; |  | ||||||
| 
 |  | ||||||
| /* Transfer |  | ||||||
| --------------------------*/ |  | ||||||
| $--transfer-border-color: $--border-color-lighter !default; |  | ||||||
| $--transfer-border-radius: $--border-radius-base !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--transfer-panel-width: 200px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--transfer-panel-header-height: 40px !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--transfer-panel-header-background-color: $--background-color-base !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--transfer-panel-footer-height: 40px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--transfer-panel-body-height: 246px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--transfer-item-height: 30px !default; |  | ||||||
| /// height||Other|4 |  | ||||||
| $--transfer-filter-height: 32px !default; |  | ||||||
| 
 |  | ||||||
| /* Header |  | ||||||
|   --------------------------*/ |  | ||||||
| $--header-padding: 0 20px !default; |  | ||||||
| 
 |  | ||||||
| /* Footer |  | ||||||
| --------------------------*/ |  | ||||||
| $--footer-padding: 0 20px !default; |  | ||||||
| 
 |  | ||||||
| /* Main |  | ||||||
| --------------------------*/ |  | ||||||
| $--main-padding: 20px !default; |  | ||||||
| 
 |  | ||||||
| /* Timeline |  | ||||||
| --------------------------*/ |  | ||||||
| $--timeline-node-size-normal: 12px !default; |  | ||||||
| $--timeline-node-size-large: 14px !default; |  | ||||||
| $--timeline-node-color: $--border-color-light !default; |  | ||||||
| 
 |  | ||||||
| /* Backtop |  | ||||||
| --------------------------*/ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--backtop-background-color: $--color-white !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--backtop-font-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--backtop-hover-background-color: $--border-color-extra-light !default; |  | ||||||
| 
 |  | ||||||
| /* Link |  | ||||||
| --------------------------*/ |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--link-font-size: $--font-size-base !default; |  | ||||||
| /// fontWeight||Font|1 |  | ||||||
| $--link-font-weight: $--font-weight-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--link-default-font-color: $--color-text-regular !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--link-default-active-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--link-disabled-font-color: $--color-text-placeholder !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--link-primary-font-color: $--color-primary !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--link-success-font-color: $--color-success !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--link-warning-font-color: $--color-warning !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--link-danger-font-color: $--color-danger !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--link-info-font-color: $--color-info !default; |  | ||||||
| /* Calendar |  | ||||||
| --------------------------*/ |  | ||||||
| /// border||Other|4 |  | ||||||
| $--calendar-border: $--table-border !default; |  | ||||||
| /// color||Other|4 |  | ||||||
| $--calendar-selected-background-color: #F2F8FE !default; |  | ||||||
| $--calendar-cell-width: 85px !default; |  | ||||||
| 
 |  | ||||||
| /* Form |  | ||||||
| -------------------------- */ |  | ||||||
| /// fontSize||Font|1 |  | ||||||
| $--form-label-font-size: $--font-size-base !default; |  | ||||||
| 
 |  | ||||||
| /* Avatar |  | ||||||
| --------------------------*/ |  | ||||||
| /// color||Color|0 |  | ||||||
| $--avatar-font-color: #fff !default; |  | ||||||
| /// color||Color|0 |  | ||||||
| $--avatar-background-color: #C0C4CC !default; |  | ||||||
| /// fontSize||Font Size|1 |  | ||||||
| $--avatar-text-font-size: 14px !default; |  | ||||||
| /// fontSize||Font Size|1 |  | ||||||
| $--avatar-icon-font-size: 18px !default; |  | ||||||
| /// borderRadius||Border|2 |  | ||||||
| $--avatar-border-radius: $--border-radius-base !default; |  | ||||||
| /// size|1|Avatar Size|3 |  | ||||||
| $--avatar-large-size: 40px !default; |  | ||||||
| /// size|1|Avatar Size|3 |  | ||||||
| $--avatar-medium-size: 36px !default; |  | ||||||
| /// size|1|Avatar Size|3 |  | ||||||
| $--avatar-small-size: 28px !default; |  | ||||||
| 
 |  | ||||||
| /* Break-point |  | ||||||
| --------------------------*/ |  | ||||||
| $--sm: 768px !default; |  | ||||||
| $--md: 992px !default; |  | ||||||
| $--lg: 1200px !default; |  | ||||||
| $--xl: 1920px !default; |  | ||||||
| 
 |  | ||||||
| $--breakpoints: ( |  | ||||||
|   'xs' : (max-width: $--sm - 1), |  | ||||||
|   'sm' : (min-width: $--sm), |  | ||||||
|   'md' : (min-width: $--md), |  | ||||||
|   'lg' : (min-width: $--lg), |  | ||||||
|   'xl' : (min-width: $--xl) |  | ||||||
| ); |  | ||||||
| 
 |  | ||||||
| $--breakpoints-spec: ( |  | ||||||
|   'xs-only' : (max-width: $--sm - 1), |  | ||||||
|   'sm-and-up' : (min-width: $--sm), |  | ||||||
|   'sm-only': "(min-width: #{$--sm}) and (max-width: #{$--md - 1})", |  | ||||||
|   'sm-and-down': (max-width: $--md - 1), |  | ||||||
|   'md-and-up' : (min-width: $--md), |  | ||||||
|   'md-only': "(min-width: #{$--md}) and (max-width: #{$--lg - 1})", |  | ||||||
|   'md-and-down': (max-width: $--lg - 1), |  | ||||||
|   'lg-and-up' : (min-width: $--lg), |  | ||||||
|   'lg-only': "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})", |  | ||||||
|   'lg-and-down': (max-width: $--xl - 1), |  | ||||||
|   'xl-only' : (min-width: $--xl), |  | ||||||
| ); |  | ||||||
| 
 |  | ||||||
| @import '~element-ui/packages/theme-chalk/src/index'; |  | ||||||
| @ -1,23 +0,0 @@ | |||||||
| // Element components |  | ||||||
| @import './element/variables'; |  | ||||||
| @import './custom/mixins'; |  | ||||||
| @import './custom/global'; |  | ||||||
| 
 |  | ||||||
| // Custom components |  | ||||||
| @import './custom/app-footer'; |  | ||||||
| @import './custom/app-header'; |  | ||||||
| @import './custom/app-home'; |  | ||||||
| @import './custom/app-layout'; |  | ||||||
| @import './custom/article'; |  | ||||||
| @import './custom/card-list'; |  | ||||||
| @import './custom/carousel'; |  | ||||||
| @import './custom/chunk'; |  | ||||||
| @import './custom/error'; |  | ||||||
| @import './custom/image-list'; |  | ||||||
| @import './custom/news'; |  | ||||||
| @import './custom/overview'; |  | ||||||
| @import './custom/research'; |  | ||||||
| @import './custom/search'; |  | ||||||
| @import './custom/teacher-list'; |  | ||||||
| @import './custom/teacher'; |  | ||||||
| @import './custom/team'; |  | ||||||
| Before Width: | Height: | Size: 434 KiB | 
| @ -1,102 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div class="card-list"> |  | ||||||
|     <div v-if="!data.length" class="tip"> |  | ||||||
|       暂无内容 |  | ||||||
|     </div> |  | ||||||
|     <el-row |  | ||||||
|       :gutter="gutter" |  | ||||||
|       v-for="line in Math.ceil(data.length / column)" |  | ||||||
|       :key="line" |  | ||||||
|       :style="{ margin: gutter + 'px' }" |  | ||||||
|     > |  | ||||||
|       <el-col |  | ||||||
|         :span="24 / column" |  | ||||||
|         v-for="(item, index) in data.slice((line - 1) * column, line * column)" |  | ||||||
|         :key="index" |  | ||||||
|       > |  | ||||||
|         <el-card |  | ||||||
|           :body-style="{ padding: '0px', height: height }" |  | ||||||
|           :style="showBorder ? '' : 'border: none'" |  | ||||||
|           class="card-list-item" |  | ||||||
|           shadow="hover" |  | ||||||
|           @click.native=" |  | ||||||
|             item.path ? $router.push(item.path) : openNewTab(item.href) |  | ||||||
|           " |  | ||||||
|         > |  | ||||||
|           <!-- 封面图片 --> |  | ||||||
|           <img |  | ||||||
|             :src="item.fileUrl" |  | ||||||
|             :alt="item.title" |  | ||||||
|             :width="width" |  | ||||||
|             :height="height" |  | ||||||
|             object-fit="scale-down" |  | ||||||
|           /> |  | ||||||
|           <!-- 横幅 --> |  | ||||||
|           <div v-show="showBanner" class="banner"> |  | ||||||
|             <!-- 标题 --> |  | ||||||
|             <div>{{ item.title }}</div> |  | ||||||
|             <!-- 内容 --> |  | ||||||
|             <div v-if="item.content" class="content"> |  | ||||||
|               {{ item.content }} |  | ||||||
|             </div> |  | ||||||
|           </div> |  | ||||||
|         </el-card> |  | ||||||
|       </el-col> |  | ||||||
|     </el-row> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import { openNewTab } from '@/utils/common' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   props: { |  | ||||||
|     gutter: { |  | ||||||
|       default: 15, |  | ||||||
|       type: Number, |  | ||||||
|       description: '卡片间距' |  | ||||||
|     }, |  | ||||||
|     data: { |  | ||||||
|       default: () => [], |  | ||||||
|       type: Array, |  | ||||||
|       description: '填充数据' |  | ||||||
|     }, |  | ||||||
|     column: { |  | ||||||
|       default: 6, |  | ||||||
|       type: Number, |  | ||||||
|       description: '列数(只可取24的约数,1 | 2 | 3 | 4 | 6 | 8 | 12 | 24)' |  | ||||||
|     }, |  | ||||||
|     'card-width': { |  | ||||||
|       default: 0, |  | ||||||
|       type: Number, |  | ||||||
|       description: '卡片宽度' |  | ||||||
|     }, |  | ||||||
|     'card-height': { |  | ||||||
|       default: 0, |  | ||||||
|       type: Number, |  | ||||||
|       description: '卡片高度' |  | ||||||
|     }, |  | ||||||
|     'show-border': { |  | ||||||
|       default: false, |  | ||||||
|       type: Boolean, |  | ||||||
|       description: '显示边界' |  | ||||||
|     }, |  | ||||||
|     'show-banner': { |  | ||||||
|       default: true, |  | ||||||
|       type: Boolean, |  | ||||||
|       description: '显示横幅' |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   methods: { |  | ||||||
|     openNewTab |  | ||||||
|   }, |  | ||||||
|   computed: { |  | ||||||
|     width() { |  | ||||||
|       return this.cardWidth ? this.cardWidth + 'px' : '100%' |  | ||||||
|     }, |  | ||||||
|     height() { |  | ||||||
|       return this.cardHeight ? this.cardHeight + 'px' : '100%' |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,59 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <footer class="app-footer"> |  | ||||||
|     <div class="footer-inner"> |  | ||||||
|       <!-- <div class="focus-us"> |  | ||||||
|         <span>关注我们</span> |  | ||||||
|         <ul> |  | ||||||
|           <li v-for="(item, index) in config.mediaList" :key="index"> |  | ||||||
|             <el-link :underline="false" :href="item.href" target="_blank"> |  | ||||||
|               <i :class="item.icon"></i> |  | ||||||
|             </el-link> |  | ||||||
|           </li> |  | ||||||
|         </ul> |  | ||||||
|       </div> |  | ||||||
|       <el-divider></el-divider> --> |  | ||||||
|       <div class="footer-row"> |  | ||||||
|         <div class="footer-info"> |  | ||||||
|           <ul class="link-list"> |  | ||||||
|             <li v-for="(item, index) in config.linkList" :key="index"> |  | ||||||
|               <el-link :underline="false" :href="item.href" target="_blank"> |  | ||||||
|                 {{ item.name }} |  | ||||||
|               </el-link> |  | ||||||
|             </li> |  | ||||||
|           </ul> |  | ||||||
|           <ul class="contact-us"> |  | ||||||
|             <li v-for="(item, index) in config.contacts" :key="index"> |  | ||||||
|               {{ item }} |  | ||||||
|             </li> |  | ||||||
|           </ul> |  | ||||||
|         </div> |  | ||||||
|         <div class="footer-brand"> |  | ||||||
|           <router-link to="/"> |  | ||||||
|             <el-image src="/img/brand_blue.png"></el-image> |  | ||||||
|           </router-link> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|       <div class="footer-area"> |  | ||||||
|         <div>{{ config.ICP }}</div> |  | ||||||
|         <div> |  | ||||||
|           Copyright © {{ year }} UP. All Rights Reserved. |  | ||||||
|           公共安全技术研究中心 版权所有 |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </div> |  | ||||||
|   </footer> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'AppFooter', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   computed: { |  | ||||||
|     year() { |  | ||||||
|       return new Date().getFullYear() |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,94 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <header class="app-header" :class="[`header-${effect}`]"> |  | ||||||
|     <div class="header-inner"> |  | ||||||
|       <div class="header-before"> |  | ||||||
|         <!-- Logo --> |  | ||||||
|         <router-link to="/"> |  | ||||||
|           <!-- <el-image |  | ||||||
|             :src="`/img/brand_${effect === 'light' ? 'blue' : 'white'}.png`" |  | ||||||
|             fit="scale-down" |  | ||||||
|           ></el-image> --> |  | ||||||
|           <el-image |  | ||||||
|             :src="`/img/logo.png`" |  | ||||||
|             fit="scale-down" |  | ||||||
|             style="width: 300px" |  | ||||||
|           ></el-image> |  | ||||||
|         </router-link> |  | ||||||
|         <!-- 导航菜单 --> |  | ||||||
|         <el-menu |  | ||||||
|           :default-active="$route.path" |  | ||||||
|           mode="horizontal" |  | ||||||
|           router |  | ||||||
|           unique-opened |  | ||||||
|         > |  | ||||||
|           <template v-for="item in allModules"> |  | ||||||
|             <template v-if="!item.hidden && item.status"> |  | ||||||
|               <!-- 没有子菜单 --> |  | ||||||
|               <el-menu-item |  | ||||||
|                 v-if="!item.children" |  | ||||||
|                 :key="item.id" |  | ||||||
|                 :index="item.path" |  | ||||||
|               > |  | ||||||
|                 {{ item.name }} |  | ||||||
|               </el-menu-item> |  | ||||||
|               <!-- 有子菜单 --> |  | ||||||
|               <el-submenu v-else :key="item.id" :index="item.id + ''"> |  | ||||||
|                 <template slot="title">{{ item.name }}</template> |  | ||||||
|                 <template v-for="subitem in item.children"> |  | ||||||
|                   <template v-if="!subitem.hidden && subitem.status"> |  | ||||||
|                     <el-menu-item |  | ||||||
|                       v-if="!subitem.isExternal" |  | ||||||
|                       :key="subitem.id" |  | ||||||
|                       :index="subitem.path" |  | ||||||
|                     > |  | ||||||
|                       {{ subitem.name }} |  | ||||||
|                     </el-menu-item> |  | ||||||
|                     <el-menu-item |  | ||||||
|                       v-else |  | ||||||
|                       :key="subitem.id" |  | ||||||
|                       @click="openNewTab(subitem.path)" |  | ||||||
|                     > |  | ||||||
|                       {{ subitem.name }} |  | ||||||
|                     </el-menu-item> |  | ||||||
|                   </template> |  | ||||||
|                 </template> |  | ||||||
|               </el-submenu> |  | ||||||
|             </template> |  | ||||||
|           </template> |  | ||||||
|         </el-menu> |  | ||||||
|       </div> |  | ||||||
|       <router-link to="/search"> |  | ||||||
|         <el-link :underline="false"> |  | ||||||
|           <i class="el-icon-search"></i> |  | ||||||
|         </el-link> |  | ||||||
|       </router-link> |  | ||||||
|       <el-link :underline="false" href="http://192.168.1.133:8080"> |  | ||||||
|         <div>后台入口</div> |  | ||||||
|       </el-link> |  | ||||||
|     </div> |  | ||||||
|   </header> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import { mapState } from 'vuex' |  | ||||||
| import { openNewTab } from '@/utils/common.js' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'AppHeader', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   props: { |  | ||||||
|     effect: { |  | ||||||
|       type: String, |  | ||||||
|       default: 'transparent', |  | ||||||
|       description: '导航栏主题,(transparent | dark | light)' |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   methods: { |  | ||||||
|     openNewTab |  | ||||||
|   }, |  | ||||||
|   computed: { |  | ||||||
|     ...mapState(['allModules']) |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,2 +0,0 @@ | |||||||
| export { default as AppFooter } from './AppFooter' |  | ||||||
| export { default as AppHeader } from './AppHeader' |  | ||||||
| @ -1,53 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <section> |  | ||||||
|     <app-header effect="light"></app-header> |  | ||||||
|     <div class="layout-header"> |  | ||||||
|       <div class="header-inner"> |  | ||||||
|         <h1>{{ currentModule.name }}</h1> |  | ||||||
|       </div> |  | ||||||
|     </div> |  | ||||||
|     <div class="layout-body"> |  | ||||||
|       <div class="body-inner"> |  | ||||||
|         <transition name="el-fade-in-linear"> |  | ||||||
|           <router-view></router-view> |  | ||||||
|         </transition> |  | ||||||
|       </div> |  | ||||||
|     </div> |  | ||||||
|     <app-footer></app-footer> |  | ||||||
|   </section> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import { AppHeader, AppFooter } from './components' |  | ||||||
| import { mapState, mapMutations } from 'vuex' |  | ||||||
| import { queryModuleByRoute } from '@/api/module' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'AppLayout', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   components: { AppHeader, AppFooter }, |  | ||||||
|   methods: { |  | ||||||
|     ...mapMutations(['SET_CURRENT_MODULE']), |  | ||||||
|     getModule() { |  | ||||||
|       queryModuleByRoute(this.route).then(res => { |  | ||||||
|         this.SET_CURRENT_MODULE(res.data) |  | ||||||
|       }) |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   computed: { |  | ||||||
|     ...mapState(['currentModule']), |  | ||||||
|     route() { |  | ||||||
|       return this.$route.name |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   watch: { |  | ||||||
|     route() { |  | ||||||
|       this.getModule() |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   created() { |  | ||||||
|     this.getModule() |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,15 +0,0 @@ | |||||||
| import Vue from 'vue' |  | ||||||
| import App from './App.vue' |  | ||||||
| import router from './router' |  | ||||||
| import store from './store' |  | ||||||
| import Up from './plugins/up-kit' |  | ||||||
| 
 |  | ||||||
| Vue.config.productionTip = false |  | ||||||
| 
 |  | ||||||
| Vue.use(Up) |  | ||||||
| 
 |  | ||||||
| new Vue({ |  | ||||||
|   router, |  | ||||||
|   store, |  | ||||||
|   render: h => h(App) |  | ||||||
| }).$mount('#app') |  | ||||||
| @ -1,15 +0,0 @@ | |||||||
| import { mapState } from 'vuex' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   data() { |  | ||||||
|     return { |  | ||||||
|       config: null |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   computed: { |  | ||||||
|     ...mapState(['appSetting']) |  | ||||||
|   }, |  | ||||||
|   created() { |  | ||||||
|     this.config = this.appSetting[this.$options.name] |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,45 +0,0 @@ | |||||||
| import { mapState } from 'vuex' |  | ||||||
| import { queryByQuery } from '../api/article.js' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   data() { |  | ||||||
|     return { |  | ||||||
|       articles: [], |  | ||||||
|       currentPage: 1, |  | ||||||
|       pageSize: 10, |  | ||||||
|       total: 0 |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   methods: { |  | ||||||
|     getArticles() { |  | ||||||
|       queryByQuery({ |  | ||||||
|         title: '', |  | ||||||
|         author: '', |  | ||||||
|         module: this.currentModule.name, |  | ||||||
|         status: "'已发布'", |  | ||||||
|         startDate: null, |  | ||||||
|         endDate: null, |  | ||||||
|         isDeleted: 0, |  | ||||||
|         currentPage: this.currentPage, |  | ||||||
|         pageSize: this.pageSize |  | ||||||
|       }).then(res => { |  | ||||||
|         this.articles = res.data.list |  | ||||||
|         this.total = res.data.total |  | ||||||
|       }) |  | ||||||
|     }, |  | ||||||
|     showMore() { |  | ||||||
|       this.pageSize += 10 |  | ||||||
|       this.getArticles() |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   computed: { |  | ||||||
|     ...mapState(['currentModule']) |  | ||||||
|   }, |  | ||||||
|   watch: { |  | ||||||
|     currentModule() { |  | ||||||
|       if (this.currentModule) { |  | ||||||
|         this.getArticles() |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,15 +0,0 @@ | |||||||
| import '../assets/vendor/font-awesome/css/font-awesome.css' |  | ||||||
| import '../assets/scss/up.scss' |  | ||||||
| import 'quill/dist/quill.core.css' |  | ||||||
| import 'quill/dist/quill.snow.css' |  | ||||||
| import 'quill/dist/quill.bubble.css' |  | ||||||
| 
 |  | ||||||
| import Element from 'element-ui' |  | ||||||
| import VueLazyload from 'vue-lazyload' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   install(Vue) { |  | ||||||
|     Vue.use(Element) |  | ||||||
|     Vue.use(VueLazyload) |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,105 +0,0 @@ | |||||||
| import Vue from 'vue' |  | ||||||
| import VueRouter from 'vue-router' |  | ||||||
| import store from '../store' |  | ||||||
| import { getAppSetting } from '../utils/index' |  | ||||||
| import { queryAllModules } from '../api/module' |  | ||||||
| 
 |  | ||||||
| Vue.use(VueRouter) |  | ||||||
| 
 |  | ||||||
| const routes = [ |  | ||||||
|   { |  | ||||||
|     path: '/', |  | ||||||
|     redirect: { name: 'home' } |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     path: '/home', |  | ||||||
|     name: 'home', |  | ||||||
|     component: () => import('../views/home') |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     path: '/article/:id/:uuid', |  | ||||||
|     name: 'article', |  | ||||||
|     component: () => import('../views/article'), |  | ||||||
|     props: true |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     path: '/teacher/:uuid', |  | ||||||
|     name: 'teacher', |  | ||||||
|     component: () => import('../views/teacher'), |  | ||||||
|     props: true |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     path: '/student/:uuid', |  | ||||||
|     name: 'studnet', |  | ||||||
|     component: () => import('../views/student'), |  | ||||||
|     props: true |  | ||||||
|   }, |  | ||||||
|   { |  | ||||||
|     path: '/error', |  | ||||||
|     name: 'error', |  | ||||||
|     component: () => import('../views/error') |  | ||||||
|   } |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| const router = new VueRouter({ |  | ||||||
|   mode: 'history', |  | ||||||
|   base: process.env.BASE_URL, |  | ||||||
|   scrollBehavior: () => ({ x: 0, y: 0 }), |  | ||||||
|   routes |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| // 配置路由导航守卫
 |  | ||||||
| router.beforeEach((to, from, next) => { |  | ||||||
|   // 如果路由不为空,则放行
 |  | ||||||
|   if (store.state.allModules.length > 0) { |  | ||||||
|     return next() |  | ||||||
|   } |  | ||||||
|   // 获取全局配置
 |  | ||||||
|   getAppSetting() |  | ||||||
|   // 获取菜单列表
 |  | ||||||
|   queryAllModules() |  | ||||||
|     .then(res => { |  | ||||||
|       // 将菜单全局保存
 |  | ||||||
|       store.commit('SET_ALL_MODULES', res.data) |  | ||||||
|       var dynamicRoutes = [] |  | ||||||
|       // 递归生成路由
 |  | ||||||
|       generateRoutes(dynamicRoutes, res.data) |  | ||||||
|       // 添加布局组件路由
 |  | ||||||
|       router.addRoute({ |  | ||||||
|         path: '/layout', |  | ||||||
|         name: 'AppLayout', |  | ||||||
|         component: () => import('../layout'), |  | ||||||
|         children: dynamicRoutes |  | ||||||
|       }) |  | ||||||
|       // 除已定义的路由,其他路由全部跳转至404页面
 |  | ||||||
|       router.addRoute({ path: '/*', redirect: { name: 'error' } }) |  | ||||||
|       // 确保动态路由已经完全加载上去
 |  | ||||||
|       next({ ...to, replace: true }) |  | ||||||
|     }) |  | ||||||
|     .catch(() => { |  | ||||||
|       next({ name: 'error' }) |  | ||||||
|     }) |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| // 递归生成路由
 |  | ||||||
| function generateRoutes(dynamicRoutes, modules) { |  | ||||||
|   modules.forEach(item => { |  | ||||||
|     // 只有子菜单拥有路由和路由名称
 |  | ||||||
|     if (item.path || item.routeName) { |  | ||||||
|       dynamicRoutes.push({ |  | ||||||
|         path: item.path, |  | ||||||
|         name: item.routeName, |  | ||||||
|         component: () => |  | ||||||
|           Promise.resolve( |  | ||||||
|             require(`@/views${item.component}`).default // 路径中不能包含.或..等
 |  | ||||||
|           ) |  | ||||||
|       }) |  | ||||||
|     } |  | ||||||
|     // 如果有子菜单,生成子菜单的路由
 |  | ||||||
|     if (item.children) { |  | ||||||
|       return generateRoutes(dynamicRoutes, item.children) |  | ||||||
|     } |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export default router |  | ||||||
| @ -1,25 +0,0 @@ | |||||||
| import Vue from 'vue' |  | ||||||
| import Vuex from 'vuex' |  | ||||||
| 
 |  | ||||||
| Vue.use(Vuex) |  | ||||||
| 
 |  | ||||||
| export default new Vuex.Store({ |  | ||||||
|   state: { |  | ||||||
|     appSetting: {}, |  | ||||||
|     currentModule: {}, |  | ||||||
|     allModules: [] |  | ||||||
|   }, |  | ||||||
|   mutations: { |  | ||||||
|     SET_APP_SETTING(state, appSetting) { |  | ||||||
|       state.appSetting = appSetting |  | ||||||
|     }, |  | ||||||
|     SET_CURRENT_MODULE(state, currentModule) { |  | ||||||
|       state.currentModule = currentModule |  | ||||||
|     }, |  | ||||||
|     SET_ALL_MODULES(state, allModules) { |  | ||||||
|       state.allModules = allModules |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   actions: {}, |  | ||||||
|   modules: {} |  | ||||||
| }) |  | ||||||
| @ -1,80 +0,0 @@ | |||||||
| /** |  | ||||||
|  * 打开新标签页 |  | ||||||
|  * @param {String} href 网页链接 |  | ||||||
|  */ |  | ||||||
| export function openNewTab(href) { |  | ||||||
|   if (!href) return |  | ||||||
|   window.open(href, '_blank') |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * 日期格式化 |  | ||||||
|  * @param {String} date 待格式化日期 |  | ||||||
|  * @returns 格式化日期 |  | ||||||
|  */ |  | ||||||
| export function dateFormat1(date) { |  | ||||||
|   // 待格式化日期
 |  | ||||||
|   var dateObject = new Date(date) |  | ||||||
|   // 现在
 |  | ||||||
|   var nowDate = new Date() |  | ||||||
|   const year = |  | ||||||
|     dateObject.getFullYear() === nowDate.getFullYear() |  | ||||||
|       ? '' |  | ||||||
|       : dateObject.getFullYear() + '-' |  | ||||||
|   const month = prefixInteger(dateObject.getMonth() + 1, 2) |  | ||||||
|   const day = prefixInteger(dateObject.getDate(), 2) |  | ||||||
|   return `${year}${month}-${day}` |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * 日期格式化 |  | ||||||
|  * @param {String} date 待格式化日期 |  | ||||||
|  * @returns 格式化日期 |  | ||||||
|  */ |  | ||||||
| export function dateFormat2(date) { |  | ||||||
|   // 待格式化日期
 |  | ||||||
|   var dateObject = new Date(date) |  | ||||||
|   var dateTime = dateObject.getTime() |  | ||||||
|   // 现在
 |  | ||||||
|   var nowDate = new Date() |  | ||||||
|   // 今天23:59:59
 |  | ||||||
|   var tonightTime = new Date( |  | ||||||
|     `${nowDate.getFullYear()}-${nowDate.getMonth() + |  | ||||||
|       1}-${nowDate.getDate()} 23:59:59` |  | ||||||
|   ).getTime() |  | ||||||
|   // 一天的毫秒数
 |  | ||||||
|   const oneDayTime = 24 * 60 * 60 * 1000 |  | ||||||
|   if (tonightTime - dateTime < oneDayTime) { |  | ||||||
|     return '今天' |  | ||||||
|   } else if (tonightTime - dateTime < 2 * oneDayTime) { |  | ||||||
|     return '昨天' |  | ||||||
|   } else if (tonightTime - dateTime < 3 * oneDayTime) { |  | ||||||
|     return '前天' |  | ||||||
|   } else if (tonightTime - dateTime < 4 * oneDayTime) { |  | ||||||
|     return '三天前' |  | ||||||
|   } else if (tonightTime - dateTime < 5 * oneDayTime) { |  | ||||||
|     return '四天前' |  | ||||||
|   } else if (tonightTime - dateTime < 6 * oneDayTime) { |  | ||||||
|     return '五天前' |  | ||||||
|   } else if (tonightTime - dateTime < 7 * oneDayTime) { |  | ||||||
|     return '六天前' |  | ||||||
|   } else if (tonightTime - dateTime < 14 * oneDayTime) { |  | ||||||
|     return '一周前' |  | ||||||
|   } else { |  | ||||||
|     return `${ |  | ||||||
|       dateObject.getFullYear() === nowDate.getFullYear() |  | ||||||
|         ? '' |  | ||||||
|         : dateObject.getFullYear() + '年' |  | ||||||
|     }${dateObject.getMonth() + 1}月${dateObject.getDate()}日` |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * 在数字前补0 |  | ||||||
|  * @param {Number} num 数字 |  | ||||||
|  * @param {Number} n 需要的字符长度 |  | ||||||
|  * @returns 补0后的数字 |  | ||||||
|  */ |  | ||||||
| function prefixInteger(num, n) { |  | ||||||
|   return (Array(n).join(0) + num).slice(-n) |  | ||||||
| } |  | ||||||
| @ -1,12 +0,0 @@ | |||||||
| import { load } from '../api/config' |  | ||||||
| import store from '../store' |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * 获取全局配置 |  | ||||||
|  */ |  | ||||||
| export function getAppSetting() { |  | ||||||
|   load().then(res => { |  | ||||||
|     const appSetting = JSON.parse(res.data) |  | ||||||
|     store.commit('SET_APP_SETTING', appSetting) |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| @ -1,25 +0,0 @@ | |||||||
| import axios from 'axios' |  | ||||||
| 
 |  | ||||||
| const service = axios.create({ |  | ||||||
|   baseURL: '/portal', // 配置请求的根路径
 |  | ||||||
|   timeout: 5000 |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| // 配置响应拦截器
 |  | ||||||
| service.interceptors.response.use( |  | ||||||
|   res => { |  | ||||||
|     console.log(res) |  | ||||||
|     const status = res.data.code |  | ||||||
|     const message = res.data.msg |  | ||||||
|     if (status !== 0) { |  | ||||||
|       return Promise.reject(new Error(message)) |  | ||||||
|     } |  | ||||||
|     return res.data |  | ||||||
|   }, |  | ||||||
|   error => { |  | ||||||
|     console.log(error) |  | ||||||
|     return Promise.reject(error) |  | ||||||
|   } |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| export default service |  | ||||||
| @ -1,87 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div> |  | ||||||
|     <app-header effect="light"></app-header> |  | ||||||
|     <div class="layout-body"> |  | ||||||
|       <div class="body-inner"> |  | ||||||
|         <!-- 文章标题 --> |  | ||||||
|         <span class="article-title">{{ article.title }}</span> |  | ||||||
|         <!-- 其他信息 --> |  | ||||||
|         <div class="article-info"> |  | ||||||
|           <span v-if="article.author">{{ article.author.realName }}</span> |  | ||||||
|           <span>{{ article.updateTime | dateFormat2 }}</span> |  | ||||||
|         </div> |  | ||||||
|         <!-- 分割线 --> |  | ||||||
|         <el-divider></el-divider> |  | ||||||
|         <!-- 文章内容 --> |  | ||||||
|         <div v-html="article.content" class="article-content ql-editor"></div> |  | ||||||
|         <!-- 文章附件 --> |  | ||||||
|         <div v-if="article.files && article.files.length" class="article-file"> |  | ||||||
|           <div v-for="(item, index) in article.files" :key="index"> |  | ||||||
|             <el-link icon="el-icon-download" @click="openNewTab(item.url)"> |  | ||||||
|               附件{{ index + 1 }}:{{ item.name }} |  | ||||||
|             </el-link> |  | ||||||
|           </div> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </div> |  | ||||||
|     <app-footer></app-footer> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import { AppHeader, AppFooter } from '@/layout/components' |  | ||||||
| import { openNewTab, dateFormat2 } from '@/utils/common' |  | ||||||
| import { queryById } from '@/api/article' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'AnArticle', |  | ||||||
|   props: { |  | ||||||
|     id: { |  | ||||||
|       type: String, |  | ||||||
|       default: '', |  | ||||||
|       description: '文章id' |  | ||||||
|     }, |  | ||||||
|     uuid: { |  | ||||||
|       type: String, |  | ||||||
|       default: '', |  | ||||||
|       description: '文章uuid' |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   components: { AppHeader, AppFooter }, |  | ||||||
|   filters: { |  | ||||||
|     dateFormat2 |  | ||||||
|   }, |  | ||||||
|   data() { |  | ||||||
|     return { |  | ||||||
|       article: {} |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   methods: { |  | ||||||
|     openNewTab, |  | ||||||
|     getArticle() { |  | ||||||
|       queryById(this.id, this.uuid).then(res => { |  | ||||||
|         if (res.data) { |  | ||||||
|           this.article = res.data |  | ||||||
|         } else { |  | ||||||
|           this.$router.push('/error') |  | ||||||
|         } |  | ||||||
|       }) |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   computed: { |  | ||||||
|     path() { |  | ||||||
|       return this.$route.path |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   watch: { |  | ||||||
|     path() { |  | ||||||
|       this.getArticle() |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   created() { |  | ||||||
|     this.getArticle() |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,21 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <card-list |  | ||||||
|     class="card-view" |  | ||||||
|     slot="body" |  | ||||||
|     :data="articles" |  | ||||||
|     :column="3" |  | ||||||
|     :image-height="280" |  | ||||||
|   ></card-list> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import CardList from '@/components/CardList' |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import queryArticle from '@/mixins/query-article' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'card-view', |  | ||||||
|   mixins: [loadConfig, queryArticle], |  | ||||||
|   components: { CardList } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,33 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div> |  | ||||||
|     <app-header effect="light"></app-header> |  | ||||||
|     <section class="section-error"> |  | ||||||
|       <div> |  | ||||||
|         <el-image src="/img/404.png"></el-image> |  | ||||||
|         <h1>抱歉!页面无法访问</h1> |  | ||||||
|         <div> |  | ||||||
|           您要查看的页面不存在,建议您访问我们的 |  | ||||||
|           <el-link :underline="false" href="/">首页</el-link> |  | ||||||
|           。 |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </section> |  | ||||||
|     <app-footer></app-footer> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import { AppHeader, AppFooter } from '@/layout/components' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'error', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   components: { |  | ||||||
|     AppHeader, |  | ||||||
|     AppFooter |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| 
 |  | ||||||
| <style></style> |  | ||||||
| @ -1,95 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div class="college"> |  | ||||||
|     <h1>{{ value }}</h1> |  | ||||||
|     <el-divider></el-divider> |  | ||||||
|     <el-row |  | ||||||
|       v-for="line in Math.ceil(students.length / 3)" |  | ||||||
|       :key="line" |  | ||||||
|       :gutter="20" |  | ||||||
|     > |  | ||||||
|       <el-col |  | ||||||
|         v-for="(item, index) in students.slice((line - 1) * 3, line * 3)" |  | ||||||
|         :key="index" |  | ||||||
|         :span="12" |  | ||||||
|       > |  | ||||||
|         <el-row |  | ||||||
|           :gutter="10" |  | ||||||
|           class="card" |  | ||||||
|           @click.native="$router.push(item.path)" |  | ||||||
|         > |  | ||||||
|           <el-col :span="6"> |  | ||||||
|             <!-- 学生照片 --> |  | ||||||
|             <!--            <el-image--> |  | ||||||
|             <!--              :src="item.file.url"--> |  | ||||||
|             <!--              :alt="item.name"--> |  | ||||||
|             <!--              fit="scale-down"--> |  | ||||||
|             <!--            ></el-image>--> |  | ||||||
|             <img |  | ||||||
|               :src="item.file.url" |  | ||||||
|               :alt="item.name" |  | ||||||
|               object-fit="scale-down" |  | ||||||
|               width="110px" |  | ||||||
|               height="155px" |  | ||||||
|             /> |  | ||||||
|           </el-col> |  | ||||||
|           <el-col :span="18"> |  | ||||||
|             <!-- 学生姓名与学号 --> |  | ||||||
|             <div> |  | ||||||
|               <span class="teacher-name">{{ item.name }}</span> |  | ||||||
|               <span class="el-icon--right">{{ item.stuId }}</span> |  | ||||||
|             </div> |  | ||||||
|           </el-col> |  | ||||||
|         </el-row> |  | ||||||
|       </el-col> |  | ||||||
|     </el-row> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import { queryBySession } from '@/api/student' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'Session', |  | ||||||
|   props: { |  | ||||||
|     value: { |  | ||||||
|       default: '', |  | ||||||
|       type: String, |  | ||||||
|       description: '哪一届' |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   data() { |  | ||||||
|     return { |  | ||||||
|       students: [] |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   methods: { |  | ||||||
|     getStudents() { |  | ||||||
|       queryBySession(this.value).then((res) => { |  | ||||||
|         this.students = this.selectPost(res.data) |  | ||||||
|         console.log(this.students) |  | ||||||
|       }) |  | ||||||
|     }, |  | ||||||
|     selectPost(data) { |  | ||||||
|       var res = [] |  | ||||||
|       for (var i = 0; i < data.length; i++) { |  | ||||||
|         if (data[i].state === 0) res.push(data[i]) // 1表示硕士,2表示博士 |  | ||||||
|       } |  | ||||||
|       return res |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   watch: { |  | ||||||
|     value: { |  | ||||||
|       handler(val) { |  | ||||||
|         if (val) { |  | ||||||
|           this.getStudents() |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       deep: true, |  | ||||||
|       immediate: true |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| 
 |  | ||||||
| <style> |  | ||||||
| </style> |  | ||||||
| @ -1,32 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div> |  | ||||||
|     <template v-for="(item, index) in sessions"> |  | ||||||
|       <session :key="index" :value="item.toString()"></session> |  | ||||||
|     </template> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import Session from './Session' |  | ||||||
| import { querySession } from '@/api/student' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'StudentList', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   components: { Session }, |  | ||||||
|   data() { |  | ||||||
|     return { |  | ||||||
|       sessions: [] |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   created() { |  | ||||||
|     querySession().then((res) => { |  | ||||||
|       this.sessions = res.data |  | ||||||
|     }) |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| 
 |  | ||||||
| <style> |  | ||||||
| </style> |  | ||||||
| @ -1,18 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <section class="carousel"> |  | ||||||
|     <el-carousel height="40vw" :interval="5000"> |  | ||||||
|       <el-carousel-item v-for="item in config" :key="item.id"> |  | ||||||
|         <el-image :src="item.url"></el-image> |  | ||||||
|       </el-carousel-item> |  | ||||||
|     </el-carousel> |  | ||||||
|   </section> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'Carousel', |  | ||||||
|   mixins: [loadConfig] |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,39 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <section |  | ||||||
|     class="chunk" |  | ||||||
|     :class="[`chunk-${theme}`]" |  | ||||||
|     :style="[ |  | ||||||
|       bgImage ? '' : `bg-image: url(${bgImage})`, |  | ||||||
|       bgColor ? '' : `bg-color: ${bgColor}`, |  | ||||||
|       'bg-size: contain' |  | ||||||
|     ]" |  | ||||||
|   > |  | ||||||
|     <div class="title"> |  | ||||||
|       <h1><slot></slot></h1> |  | ||||||
|     </div> |  | ||||||
|     <slot name="body"></slot> |  | ||||||
|   </section> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| export default { |  | ||||||
|   name: 'Chunk', |  | ||||||
|   props: { |  | ||||||
|     theme: { |  | ||||||
|       default: 'light', |  | ||||||
|       type: String, |  | ||||||
|       description: '主题(light | dark)' |  | ||||||
|     }, |  | ||||||
|     'bg-image': { |  | ||||||
|       default: '', |  | ||||||
|       type: String, |  | ||||||
|       description: '背景图片' |  | ||||||
|     }, |  | ||||||
|     'bg-color': { |  | ||||||
|       default: '', |  | ||||||
|       type: String, |  | ||||||
|       description: '背景颜色' |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,29 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <chunk> |  | ||||||
|     <card-list |  | ||||||
|       slot="body" |  | ||||||
|       :data="Array.from(config)" |  | ||||||
|       :column="4" |  | ||||||
|       :card-width="250" |  | ||||||
|       :card-height="100" |  | ||||||
|       :show-border="true" |  | ||||||
|       :show-banner="false" |  | ||||||
|     ></card-list> |  | ||||||
|     企业合作 |  | ||||||
|   </chunk> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import Chunk from '../Chunk' |  | ||||||
| import CardList from '@/components/CardList' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'Cooperation', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   components: { |  | ||||||
|     Chunk, |  | ||||||
|     CardList |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,71 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <el-card class="news-item" shadow="never"> |  | ||||||
|     <div class="news-item-title"> |  | ||||||
|       <span>{{ module.name }}</span> |  | ||||||
|       <el-link @click.native="$router.push(module.path)" :underline="false"> |  | ||||||
|         更多 |  | ||||||
|         <i class="el-icon-arrow-right"></i> |  | ||||||
|       </el-link> |  | ||||||
|     </div> |  | ||||||
|     <ul> |  | ||||||
|       <li v-for="(article, index) in list" :key="index"> |  | ||||||
|         <div> |  | ||||||
|           <a @click="$router.push(article.path)">{{ article.title }}</a> |  | ||||||
|         </div> |  | ||||||
|         <span>{{ article.updateTime | dateFormat1 }}</span> |  | ||||||
|       </li> |  | ||||||
|     </ul> |  | ||||||
|   </el-card> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import { openNewTab, dateFormat1 } from '@/utils/common' |  | ||||||
| import { queryByQuery } from '@/api/article' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'Item', |  | ||||||
|   props: { |  | ||||||
|     module: { |  | ||||||
|       type: Object, |  | ||||||
|       description: '模块信息' |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   data() { |  | ||||||
|     return { |  | ||||||
|       list: [] |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   methods: { |  | ||||||
|     openNewTab, |  | ||||||
|     getArticles() { |  | ||||||
|       queryByQuery({ |  | ||||||
|         title: '', |  | ||||||
|         author: '', |  | ||||||
|         module: this.module.name, |  | ||||||
|         status: "'已发布'", |  | ||||||
|         startDate: null, |  | ||||||
|         endDate: null, |  | ||||||
|         isDeleted: 0, |  | ||||||
|         currentPage: 1, |  | ||||||
|         pageSize: 10 |  | ||||||
|       }).then(res => { |  | ||||||
|         this.list = res.data.list |  | ||||||
|       }) |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   filters: { |  | ||||||
|     dateFormat1 |  | ||||||
|   }, |  | ||||||
|   watch: { |  | ||||||
|     module: { |  | ||||||
|       handler(val) { |  | ||||||
|         if (val) { |  | ||||||
|           this.getArticles() |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       deep: true, |  | ||||||
|       immediate: true |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,26 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <chunk class="news"> |  | ||||||
|     <el-row :gutter="15" slot="body"> |  | ||||||
|       <el-col |  | ||||||
|         :span="24 / config.length" |  | ||||||
|         v-for="(item, index) in config" |  | ||||||
|         :key="index" |  | ||||||
|       > |  | ||||||
|         <item :module="item"></item> |  | ||||||
|       </el-col> |  | ||||||
|     </el-row> |  | ||||||
|     新闻中心 |  | ||||||
|   </chunk> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import Chunk from '../Chunk' |  | ||||||
| import Item from './Item' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'News', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   components: { Chunk, Item } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,29 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <chunk class="research"> |  | ||||||
|     <el-row :gutter="15" slot="body"> |  | ||||||
|       <el-col |  | ||||||
|         :span="6" |  | ||||||
|         v-for="(item, index) in Array.from(config)" |  | ||||||
|         :key="index" |  | ||||||
|         @click.native="$router.push(item.path)" |  | ||||||
|       > |  | ||||||
|         <div class="item"> |  | ||||||
|           <el-image :src="item.fileUrl"></el-image> |  | ||||||
|           <span>{{ item.title }}</span> |  | ||||||
|         </div> |  | ||||||
|       </el-col> |  | ||||||
|     </el-row> |  | ||||||
|     科研动态 |  | ||||||
|   </chunk> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import Chunk from '../Chunk' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'Research', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   components: { Chunk } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,23 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <chunk class="team" theme="dark"> |  | ||||||
|     <card-list |  | ||||||
|       slot="body" |  | ||||||
|       :data="Array.from(config)" |  | ||||||
|       :column="3" |  | ||||||
|       :image-height="280" |  | ||||||
|     ></card-list> |  | ||||||
|     科研团队 |  | ||||||
|   </chunk> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import Chunk from '../Chunk' |  | ||||||
| import CardList from '@/components/CardList' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'Team', |  | ||||||
|   components: { Chunk, CardList }, |  | ||||||
|   mixins: [loadConfig] |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,5 +0,0 @@ | |||||||
| export { default as Carousel } from './Carousel' |  | ||||||
| export { default as Cooperation } from './Cooperation' |  | ||||||
| export { default as News } from './News' |  | ||||||
| export { default as Research } from './Research' |  | ||||||
| export { default as Team } from './Team' |  | ||||||
| @ -1,51 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div> |  | ||||||
|     <app-header effect="transparent"></app-header> |  | ||||||
|     <component |  | ||||||
|       v-for="(item, index) in components" |  | ||||||
|       :key="index" |  | ||||||
|       :is="item" |  | ||||||
|     ></component> |  | ||||||
|     <app-footer></app-footer> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| import loadConfig from '@/mixins/load-config' |  | ||||||
| import { AppHeader, AppFooter } from '@/layout/components' |  | ||||||
| import { Carousel, Cooperation, News, Research, Team } from './components' |  | ||||||
| import { queryComponents } from '@/api/component.js' |  | ||||||
| 
 |  | ||||||
| export default { |  | ||||||
|   name: 'AppHome', |  | ||||||
|   mixins: [loadConfig], |  | ||||||
|   components: { |  | ||||||
|     AppHeader, |  | ||||||
|     AppFooter, |  | ||||||
|     Carousel, |  | ||||||
|     Cooperation, |  | ||||||
|     News, |  | ||||||
|     Research, |  | ||||||
|     Team |  | ||||||
|   }, |  | ||||||
|   data() { |  | ||||||
|     return { |  | ||||||
|       components: [] |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   methods: { |  | ||||||
|     getComponents() { |  | ||||||
|       queryComponents().then(res => { |  | ||||||
|         res.data.forEach(item => { |  | ||||||
|           if (item.status) { |  | ||||||
|             this.components.push(item.name) |  | ||||||
|           } |  | ||||||
|         }) |  | ||||||
|       }) |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   created() { |  | ||||||
|     this.getComponents() |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| </script> |  | ||||||