init
12
.babelrc
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"presets": [["es2015", { "modules": false }]],
|
||||||
|
"plugins": [
|
||||||
|
[
|
||||||
|
"component",
|
||||||
|
{
|
||||||
|
"libraryName": "element-ui",
|
||||||
|
"styleLibraryName": "theme-chalk"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
22
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
|
||||||
|
// README at: https://github.com/devcontainers/templates/tree/main/src/javascript-node
|
||||||
|
{
|
||||||
|
"name": "Node.js",
|
||||||
|
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
|
||||||
|
"image": "mcr.microsoft.com/devcontainers/javascript-node:1-16-buster"
|
||||||
|
|
||||||
|
// Features to add to the dev container. More info: https://containers.dev/features.
|
||||||
|
// "features": {},
|
||||||
|
|
||||||
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||||
|
// "forwardPorts": [],
|
||||||
|
|
||||||
|
// Use 'postCreateCommand' to run commands after the container is created.
|
||||||
|
// "postCreateCommand": "yarn install",
|
||||||
|
|
||||||
|
// Configure tool-specific properties.
|
||||||
|
// "customizations": {},
|
||||||
|
|
||||||
|
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
|
||||||
|
// "remoteUser": "root"
|
||||||
|
}
|
||||||
8
.env
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# 基地址
|
||||||
|
#VUE_APP_BASE_API = 'http://localhost:8888'
|
||||||
|
|
||||||
|
#VUE_APP_BASE_API = 'http://192.168.0.219:8080'
|
||||||
|
#VUE_APP_BASE_API = 'http://127.0.0.1:8080'
|
||||||
|
VUE_APP_BASE_API = 'http://47.100.49.118:8090/api'
|
||||||
|
|
||||||
|
VUE_APP_outputDir = dist
|
||||||
12
.env.dev
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
# 开发环境,开发时正常都用这个
|
||||||
|
NODE_ENV = development
|
||||||
|
# 当前环境,开发环境,可以随便修改,配合打包处配置与此文件名字
|
||||||
|
VUE_APP_URL_ENV = development
|
||||||
|
|
||||||
|
# 开发环境基地址
|
||||||
|
#VUE_APP_BASE_API = 'http://localhost:8888'
|
||||||
|
|
||||||
|
#VUE_APP_BASE_API = 'http://192.168.0.219:8080'
|
||||||
|
#VUE_APP_BASE_API = 'http://127.0.0.1:8080'
|
||||||
|
VUE_APP_BASE_API = 'http://47.100.49.118:8090/api'
|
||||||
1
.env.production
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
10
.gitignore
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
node_modules
|
||||||
|
.DS_Store
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
|
node_modules
|
||||||
|
.DS_Store
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2022 daidai
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
36
README.en.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# 智慧大屏
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
智慧大屏项目
|
||||||
|
|
||||||
|
#### Software Architecture
|
||||||
|
Software architecture description
|
||||||
|
|
||||||
|
#### Installation
|
||||||
|
|
||||||
|
1. xxxx
|
||||||
|
2. xxxx
|
||||||
|
3. xxxx
|
||||||
|
|
||||||
|
#### Instructions
|
||||||
|
|
||||||
|
1. xxxx
|
||||||
|
2. xxxx
|
||||||
|
3. xxxx
|
||||||
|
|
||||||
|
#### Contribution
|
||||||
|
|
||||||
|
1. Fork the repository
|
||||||
|
2. Create Feat_xxx branch
|
||||||
|
3. Commit your code
|
||||||
|
4. Create Pull Request
|
||||||
|
|
||||||
|
|
||||||
|
#### Gitee Feature
|
||||||
|
|
||||||
|
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
||||||
|
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
||||||
|
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
||||||
|
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
||||||
|
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
||||||
|
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||||
183
README.md
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
|
||||||
|
|
||||||
|
## 项目描述
|
||||||
|
|
||||||
|
乍浦海港大屏项目
|
||||||
|
|
||||||
|
- 项目需要全屏展示(按 F11)。
|
||||||
|
- 项目部分区域使用了全局注册方式,增加了打包体积,在实际运用中请使用 **按需引入**。
|
||||||
|
|
||||||
|
- 项目环境:Vue-cli、DataV、Echarts、Webpack、Npm、Node,axios,mock。
|
||||||
|
|
||||||
|
- 请拉取 master 分支的代码,其余分支是开发分支。
|
||||||
|
|
||||||
|
- 在项目public目录下存放地图数据合集,根据地市编存放。
|
||||||
|
|
||||||
|
|
||||||
|
友情链接:
|
||||||
|
|
||||||
|
1. [Vue 官方文档](https://gitee.com/link?target=https%3A%2F%2Fcn.vuejs.org%2Fv2%2Fguide%2Finstance.html)
|
||||||
|
2. [DataV 官方文档](https://gitee.com/link?target=http%3A%2F%2Fdatav.jiaminghi.com%2Fguide%2F)
|
||||||
|
3. [echarts 实例](https://gitee.com/link?target=https%3A%2F%2Fecharts.apache.org%2Fexamples%2Fzh%2Findex.html),[echarts API 文档](https://gitee.com/link?target=https%3A%2F%2Fecharts.apache.org%2Fzh%2Fapi.html%23echarts)
|
||||||
|
4. [mock.js官网](http://mockjs.com/examples.html)
|
||||||
|
5. [axios官网](https://axios-http.com/)
|
||||||
|
|
||||||
|
|
||||||
|
可以进行以下配置,可以自行代码中进行修改或增加配置
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 2、主要文件介绍
|
||||||
|
|
||||||
|
| 文件 | 作用/功能 |
|
||||||
|
| ----------------- | ------------------------------------------------------------ |
|
||||||
|
| main.js | 主目录文件,引入 Echart/DataV 等文件 |
|
||||||
|
| utils | 工具函数与 mixins 函数等 |
|
||||||
|
| views/ home.vue | 项目主结构 |
|
||||||
|
| views/其余文件 | 界面各个区域组件(按照位置来命名) |
|
||||||
|
| assets | 静态资源目录,放置 logo 与背景图片 |
|
||||||
|
| assets / css/ | 通用 CSS 文件,全局项目快捷样式调节 |
|
||||||
|
| components/echart | 所有 echart 图表(按照位置来命名) |
|
||||||
|
| common/... | 全局封装的 ECharts 和 flexible 插件代码(适配屏幕尺寸,可定制化修改) |
|
||||||
|
| api/api.js | 接口封装文件 |
|
||||||
|
| mock | 模拟数据接口地址 |
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
## 使用介绍
|
||||||
|
|
||||||
|
### 安装
|
||||||
|
|
||||||
|
```npm
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
### 启动
|
||||||
|
|
||||||
|
```npm
|
||||||
|
npm start
|
||||||
|
```
|
||||||
|
### 取消mock模拟数据
|
||||||
|
取消后请对接自己后端接口
|
||||||
|
```javascript
|
||||||
|
// src\main.js文件
|
||||||
|
把下面这句话注释掉就可以了。
|
||||||
|
require('./mock/mock')//是否使用mock
|
||||||
|
```
|
||||||
|
|
||||||
|
## 自适应缩放组件
|
||||||
|
|
||||||
|
### 注意
|
||||||
|
|
||||||
|
采用Scale方式,会自动给组件父元素添加overflow:hidden
|
||||||
|
|
||||||
|
### 使用
|
||||||
|
|
||||||
|
```vue
|
||||||
|
<template>
|
||||||
|
<scale-screen width="1920" height="1080">
|
||||||
|
<div>
|
||||||
|
<v-chart>....</v-chart>
|
||||||
|
<v-chart>....</v-chart>
|
||||||
|
<v-chart>....</v-chart>
|
||||||
|
<v-chart>....</v-chart>
|
||||||
|
<v-chart>....</v-chart>
|
||||||
|
</div>
|
||||||
|
</scale-screen>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ScaleScreen from 'scale-screen'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name:'Demo',
|
||||||
|
components:{
|
||||||
|
VScaleScreen
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
```
|
||||||
|
### API
|
||||||
|
| 属性 | 说明 | 类型 | 默认值 |
|
||||||
|
| ------------ | ------------------------------------------------------------ | -------------------------------- | ------ |
|
||||||
|
| selfAdaption | 是否进行自适应 | Boolean | true |
|
||||||
|
| width | 大屏宽度 | `Number` or `String` | 1920 |
|
||||||
|
| height | 大屏高度 | `Number` or `String` | 1080 |
|
||||||
|
| autoScale | 自适应配置,配置为boolean类型时,为启动或者关闭自适应,配置为对象时,若x为true,x轴产生边距,y为true时,y轴产生边距,启用fullScreen时此配置失效 | Boolean or {x:boolean,y:boolean} | true |
|
||||||
|
| delay | 窗口变化防抖延迟时间 | Number | 500 |
|
||||||
|
| fullScreen | 全屏自适应,启用此配置项时会存在拉伸效果,同时autoScale失效,非必要情况下不建议开启 | Boolean | false |
|
||||||
|
| boxStyle | 修改容器样式,如居中展示时侧边背景色,符合Vue双向绑定style标准格式 | Object | null |
|
||||||
|
| wrapperStyle | 修改自适应区域样式,符合Vue双向绑定style标准格式 | Object | null |
|
||||||
|
|
||||||
|
## 公用组件
|
||||||
|
|
||||||
|
封装了除面条外个别用到的组件
|
||||||
|
|
||||||
|
### 5.1 message消息提示
|
||||||
|
|
||||||
|
因为刚开始没想着用第三方提示库,自己简单封装了一个。
|
||||||
|
|
||||||
|
注:组件内部目前只有warning,类型,如果需要其他类型自己组件内添加。
|
||||||
|
|
||||||
|
因在main.js注册全局可以直接使用,不需要引入
|
||||||
|
|
||||||
|
```js
|
||||||
|
this.$Message({
|
||||||
|
text: res.msg,
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
//也可以这样
|
||||||
|
this.$Message.warning(res.msg)
|
||||||
|
```
|
||||||
|
|
||||||
|
| 参数 | 描述 | 默认值 | 类型 | 可选值 |
|
||||||
|
| :--: | :------: | :-----: | :----: | :-----: |
|
||||||
|
| text | 提示文字 | - | string | - |
|
||||||
|
| type | 弹窗类型 | warning | string | warning |
|
||||||
|
|
||||||
|
### 5.2 外边框
|
||||||
|
|
||||||
|
因为我的项目外边框几乎一样,还有title,所以封装了此组件。
|
||||||
|
|
||||||
|
根据自己需求更改,更换外边框(src\components\item-wrap\item-wrap.vue)下更换。
|
||||||
|
|
||||||
|
```vue
|
||||||
|
<ItemWrap
|
||||||
|
title="我是title"
|
||||||
|
>
|
||||||
|
<div>我是谁?</div>
|
||||||
|
</ItemWrap>
|
||||||
|
```
|
||||||
|
|
||||||
|
| 参数 | 描述 | 默认值 | 类型 | 可选值 |
|
||||||
|
| :---: | :--: | :----: | :----: | :----: |
|
||||||
|
| title | 标头 | - | string | - |
|
||||||
|
|
||||||
|
## 中间地图
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
根据需求来,**修改此值请刷新页面**
|
||||||
|
|
||||||
|
```indexs/center-map.vue``` 文件中```isSouthChinaSea```变量 默认不显示(false),为```true```的时候显示
|
||||||
|
|
||||||
|
```
|
||||||
|
isSouthChinaSea:false,//默认不显示,改为true可显示
|
||||||
|
```
|
||||||
|
|
||||||
|
## 全局参数
|
||||||
|
|
||||||
|
### filter
|
||||||
|
|
||||||
|
监测数据项统一过滤,保留两位小数。
|
||||||
|
|
||||||
|
```vue
|
||||||
|
{{10.23123|montionFilter }}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
13
jsconfig.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {
|
||||||
|
// 解决项目中使用@作为路径别名,导致vscode无法跳转文件的问题
|
||||||
|
"@/*": ["src/*"]
|
||||||
|
},
|
||||||
|
// 解决prettier对于装饰器语法的警告
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
},
|
||||||
|
//提高 IDE 性能
|
||||||
|
"exclude": ["node_modules", "dist", "build"]
|
||||||
|
}
|
||||||
11739
package-lock.json
generated
Normal file
49
package.json
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"name": "web",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"serve": "vue-cli-service serve --mode dev",
|
||||||
|
"start": "vue-cli-service serve --mode dev ",
|
||||||
|
"build": "vue-cli-service build --mode production",
|
||||||
|
"report": "vue-cli-service build --report"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@jiaminghi/data-view": "^2.10.0",
|
||||||
|
"async-validator": "^4.2.5",
|
||||||
|
"axios": "^0.24.0",
|
||||||
|
"echarts": "^4.9.0",
|
||||||
|
"echarts-gl": "^2.0.9",
|
||||||
|
"ejs": "^3.1.8",
|
||||||
|
"element-ui": "^2.15.14",
|
||||||
|
"follow-redirects": "^1.15.2",
|
||||||
|
"glob-parent": "^6.0.2",
|
||||||
|
"node-forge": "^1.3.1",
|
||||||
|
"sass": "^1.55.0",
|
||||||
|
"uglify-js": "^3.17.4",
|
||||||
|
"vue": "^2.7.13",
|
||||||
|
"vue-easytable": "^2.21.5",
|
||||||
|
"vue-echarts": "^4.1.0",
|
||||||
|
"vue-router": "^3.6.5",
|
||||||
|
"vue-seamless-scroll": "^1.1.23",
|
||||||
|
"vuex": "^3.4.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vue/cli-plugin-router": "^4.5.19",
|
||||||
|
"@vue/cli-plugin-vuex": "^4.5.19",
|
||||||
|
"@vue/cli-service": "^4.5.19",
|
||||||
|
"babel-plugin-component": "^1.1.1",
|
||||||
|
"mockjs": "^1.1.0",
|
||||||
|
"sass-loader": "^8.0.2",
|
||||||
|
"vue-template-compiler": "^2.7.13"
|
||||||
|
},
|
||||||
|
"volta": {
|
||||||
|
"node": "14.21.3",
|
||||||
|
"npm": "6.14.6"
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"> 1%",
|
||||||
|
"last 2 versions",
|
||||||
|
"not dead"
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
public/favicon.ico
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
38
public/index.html
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<!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.png">
|
||||||
|
<link href="./style.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<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 class="container_nomount">
|
||||||
|
<div class="loading">
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
<h2>Loading...</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- built files will be auto injected -->
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
1
public/json/jilin.json
Normal file
1
public/map-geojson/110000.json
Normal file
1
public/map-geojson/120000.json
Normal file
1
public/map-geojson/130000.json
Normal file
1
public/map-geojson/140000.json
Normal file
1
public/map-geojson/150000.json
Normal file
1
public/map-geojson/210000.json
Normal file
1
public/map-geojson/220000.json
Normal file
1
public/map-geojson/230000.json
Normal file
1
public/map-geojson/310000.json
Normal file
1
public/map-geojson/320000.json
Normal file
1
public/map-geojson/330000.json
Normal file
1
public/map-geojson/330400.json
Normal file
1
public/map-geojson/340000.json
Normal file
1
public/map-geojson/350000.json
Normal file
1
public/map-geojson/360000.json
Normal file
1
public/map-geojson/370000.json
Normal file
1
public/map-geojson/410000.json
Normal file
1
public/map-geojson/420000.json
Normal file
1
public/map-geojson/430000.json
Normal file
1
public/map-geojson/440000.json
Normal file
1
public/map-geojson/450000.json
Normal file
1
public/map-geojson/460000.json
Normal file
1
public/map-geojson/500000.json
Normal file
1
public/map-geojson/510000.json
Normal file
1
public/map-geojson/520000.json
Normal file
1
public/map-geojson/530000.json
Normal file
1
public/map-geojson/540000.json
Normal file
1
public/map-geojson/610000.json
Normal file
1
public/map-geojson/620000.json
Normal file
1
public/map-geojson/630000.json
Normal file
1
public/map-geojson/640000.json
Normal file
1
public/map-geojson/650000.json
Normal file
1
public/map-geojson/710000.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"adcode":710000,"name":"台湾省","center":[121.509062,25.044332],"centroid":[120.971485,23.749452],"childrenNum":0,"level":"province","acroutes":[100000],"parent":{"adcode":100000}},"geometry":{"type":"MultiPolygon","coordinates":[[[[120.443558,22.441245],[120.517584,22.408536],[120.569903,22.361728],[120.640505,22.241347],[120.659209,22.15432],[120.662001,22.066983],[120.651464,22.033165],[120.667691,21.983168],[120.70157,21.927065],[120.743246,21.915569],[120.78155,21.923957],[120.85468,21.883333],[120.87291,21.897387],[120.866482,21.98436],[120.907315,22.033208],[120.904154,22.119757],[120.914955,22.302718],[120.981658,22.528305],[121.015009,22.584168],[121.033292,22.650725],[121.078498,22.669656],[121.170544,22.723133],[121.210481,22.770665],[121.237931,22.836327],[121.324708,22.945666],[121.354687,23.01006],[121.370388,23.084347],[121.409535,23.102669],[121.430294,23.137196],[121.415015,23.195973],[121.440358,23.272096],[121.479558,23.3223],[121.497788,23.419789],[121.521497,23.483198],[121.523078,23.538708],[121.587778,23.76102],[121.621604,23.92075],[121.659381,24.006893],[121.639992,24.064276],[121.643838,24.097713],[121.678085,24.133906],[121.689044,24.174401],[121.809172,24.339055],[121.826717,24.423579],[121.867498,24.478978],[121.885464,24.529677],[121.892524,24.617912],[121.862598,24.671515],[121.837993,24.76015],[121.845053,24.836269],[121.932883,24.938645],[122.012178,25.001469],[121.980776,25.03079],[121.947425,25.031955],[121.917077,25.137908],[121.842155,25.135332],[121.782407,25.160425],[121.750531,25.160716],[121.707327,25.191493],[121.700319,25.226913],[121.655324,25.241859],[121.623026,25.294694],[121.584986,25.308926],[121.535038,25.307515],[121.444415,25.270624],[121.413487,25.238912],[121.371864,25.159885],[121.319281,25.140691],[121.209322,25.127104],[121.133135,25.078728],[121.102102,25.075153],[121.024704,25.040479],[121.009688,24.993649],[120.960899,24.940227],[120.908475,24.852012],[120.892299,24.767526],[120.823753,24.688321],[120.762371,24.658335],[120.688661,24.600678],[120.64277,24.490172],[120.589187,24.432354],[120.546299,24.370413],[120.521009,24.312038],[120.470534,24.24259],[120.451461,24.182691],[120.392029,24.11824],[120.316158,23.984881],[120.278276,23.927798],[120.245768,23.840553],[120.175377,23.807385],[120.102773,23.700981],[120.094817,23.587466],[120.121741,23.504664],[120.107831,23.341264],[120.081434,23.29191],[120.018947,23.073115],[120.029537,23.048623],[120.131382,23.002118],[120.149138,22.896715],[120.200403,22.721101],[120.274272,22.560181],[120.297191,22.531315],[120.443558,22.441245]]],[[[124.542984,25.903911],[124.586346,25.913777],[124.572805,25.93974],[124.541825,25.931031],[124.542984,25.903911]]],[[[123.445286,25.725966],[123.472104,25.713024],[123.508933,25.723237],[123.514834,25.751226],[123.483063,25.768587],[123.444496,25.746514],[123.445286,25.725966]]],[[[119.64597,23.55091],[119.701081,23.550657],[119.678057,23.600041],[119.610089,23.603953],[119.594388,23.577245],[119.566306,23.584732],[119.562565,23.530377],[119.573788,23.505885],[119.609141,23.503864],[119.64597,23.55091]]],[[[123.667207,25.914066],[123.707092,25.916873],[123.678008,25.938667],[123.667207,25.914066]]],[[[119.506031,23.625567],[119.505241,23.575814],[119.472416,23.557136],[119.523207,23.563699],[119.525578,23.624895],[119.506031,23.625567]]],[[[119.49739,23.386683],[119.495125,23.350156],[119.516885,23.349903],[119.49739,23.386683]]],[[[119.557454,23.666474],[119.604083,23.616989],[119.615516,23.660925],[119.586485,23.675974],[119.557454,23.666474]]],[[[121.46823,22.676644],[121.476502,22.64166],[121.513541,22.631833],[121.5147,22.67639],[121.46823,22.676644]]],[[[121.510538,22.087185],[121.507693,22.048523],[121.534089,22.022146],[121.594522,21.995382],[121.604586,22.022699],[121.575028,22.037122],[121.575607,22.084421],[121.510538,22.087185]]],[[[122.097533,25.500168],[122.093581,25.47183],[122.124825,25.475932],[122.097533,25.500168]]],[[[119.421467,23.216684],[119.421309,23.18935],[119.453396,23.217697],[119.421467,23.216684]]],[[[120.355042,22.327259],[120.395454,22.342287],[120.383072,22.355573],[120.355042,22.327259]]]]}}]}
|
||||||
1
public/map-geojson/810000.json
Normal file
1
public/map-geojson/820000.json
Normal file
98604
public/map-geojson/china.json
Normal file
1
public/map-geojson/chinaNanhai.json
Normal file
63
public/style.css
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
|
||||||
|
.container_nomount{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
font-family: 'Poppins', sans-serif;
|
||||||
|
}
|
||||||
|
.container_nomount h2{
|
||||||
|
margin-top: 20px;
|
||||||
|
font-size: 1.5em;
|
||||||
|
margin-block-start: 0.83em;
|
||||||
|
margin-block-end: 0.83em;
|
||||||
|
margin-inline-start: 0px;
|
||||||
|
margin-inline-end: 0px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.container_nomount .loading{
|
||||||
|
width: 80px;
|
||||||
|
height: 40px;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: -40px;
|
||||||
|
}
|
||||||
|
.container_nomount .loading span{
|
||||||
|
display: inline-block;
|
||||||
|
width: 8px;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: #1890ff;
|
||||||
|
|
||||||
|
animation: load 1s ease infinite;
|
||||||
|
}
|
||||||
|
@keyframes load{
|
||||||
|
0%,100%{
|
||||||
|
height: 40px;
|
||||||
|
background: #ff3378;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
height: 70px;
|
||||||
|
margin: -15px 0;
|
||||||
|
background: #1890ff;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.container_nomount .loading span:nth-child(2){
|
||||||
|
animation-delay:0.2s;
|
||||||
|
}
|
||||||
|
.container_nomount .loading span:nth-child(3){
|
||||||
|
animation-delay:0.4s;
|
||||||
|
}
|
||||||
|
.container_nomount .loading span:nth-child(4){
|
||||||
|
animation-delay:0.6s;
|
||||||
|
}
|
||||||
|
.container_nomount .loading span:nth-child(5){
|
||||||
|
animation-delay:0.8s;
|
||||||
|
}
|
||||||
21
src/App.vue
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: szy
|
||||||
|
* @Date: 2022-01-12 14:06:47
|
||||||
|
* @LastEditors: szy
|
||||||
|
* @LastEditTime: 2022-03-01 17:55:49
|
||||||
|
* @FilePath: \web-pc\src\pages\big-screen\App.vue
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div id="app">
|
||||||
|
<router-view/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
#app {
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
background-color: #091a40;
|
||||||
|
// overflow: hidden;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
170
src/api/api.js
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @LastEditTime: 2023-08-02 14:58:23
|
||||||
|
*/
|
||||||
|
import axios from 'axios';
|
||||||
|
import UtilVar from "@/config/UtilVar";
|
||||||
|
import router from '@/router'
|
||||||
|
|
||||||
|
let baseUrl = UtilVar.baseUrl
|
||||||
|
const CancelToken = axios.CancelToken;
|
||||||
|
export { baseUrl };
|
||||||
|
// axios.defaults.withCredentials = true;
|
||||||
|
// 添加请求拦截器
|
||||||
|
axios.interceptors.request.use(function (config) {
|
||||||
|
// 在发送请求之前做些什么 传token
|
||||||
|
let token = localStorage.getItem("token");
|
||||||
|
token = "9e8ffd71fe084e44aa73a9e06d95ee70";
|
||||||
|
config.headers.common['Content-Type'] = "application/json;charset=utf-8";
|
||||||
|
// config.headers.common['token'] = token; //Authorization
|
||||||
|
config.headers.common['asoco-token'] = token;
|
||||||
|
return config;
|
||||||
|
}, function (error) {
|
||||||
|
// 对请求错误做些什么
|
||||||
|
console.log(error)
|
||||||
|
return Promise.reject(error);
|
||||||
|
});
|
||||||
|
/**
|
||||||
|
* @响应拦截
|
||||||
|
*/
|
||||||
|
axios.interceptors.response.use(response => {
|
||||||
|
|
||||||
|
if (response.status !== 200) {
|
||||||
|
return Promise.reject(response)
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @code 登录过期 token验证失败 根据后端调
|
||||||
|
*/
|
||||||
|
if (response.data.code == UtilVar.code) {
|
||||||
|
// router.push("/login")
|
||||||
|
}
|
||||||
|
return response.data
|
||||||
|
}, error => {
|
||||||
|
console.error(error);
|
||||||
|
let err = {
|
||||||
|
success: false,
|
||||||
|
msg: "未知异常,请联系管理员!"
|
||||||
|
}
|
||||||
|
return Promise.reject(err)
|
||||||
|
})
|
||||||
|
|
||||||
|
let configs_ENC = {
|
||||||
|
headers: { 'enc': UtilVar.ENC }
|
||||||
|
}
|
||||||
|
//处理是否加密数据
|
||||||
|
let isEncryptionParam = (params) => {
|
||||||
|
return params
|
||||||
|
|
||||||
|
}
|
||||||
|
export const GET = async (url, params) => {
|
||||||
|
try {
|
||||||
|
params = isEncryptionParam(params)
|
||||||
|
const data = await axios.get(`${baseUrl}${url}`, {
|
||||||
|
params: params,
|
||||||
|
headers: configs_ENC.headers
|
||||||
|
}, configs_ENC);
|
||||||
|
return data;
|
||||||
|
} catch (error) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//没有基地址 访问根目录下文件
|
||||||
|
|
||||||
|
export const GETNOBASE = async (url, params) => {
|
||||||
|
try {
|
||||||
|
const data = await axios.get(url, {
|
||||||
|
params: params,
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
} catch (error) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export const POST = async (url, params) => {
|
||||||
|
try {
|
||||||
|
params = isEncryptionParam(params)
|
||||||
|
const data = await axios.post(`${baseUrl}${url}`, params, configs_ENC);
|
||||||
|
return data;
|
||||||
|
} catch (error) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export const PUT = async (url, params) => {
|
||||||
|
try {
|
||||||
|
params = isEncryptionParam(params)
|
||||||
|
const data = await axios.put(`${baseUrl}${url}`, params, configs_ENC);
|
||||||
|
return data;
|
||||||
|
} catch (error) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export const DELETE = async (url, params) => {
|
||||||
|
// console.log(params)
|
||||||
|
try {
|
||||||
|
params = isEncryptionParam(params)
|
||||||
|
const data = await axios.delete(`${baseUrl}${url}`, { data: params, headers: configs_ENC.headers }, configs_ENC);
|
||||||
|
return data;
|
||||||
|
} catch (error) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @文件类型提交方法
|
||||||
|
*/
|
||||||
|
let configs = {
|
||||||
|
headers: { 'Content-Type': 'multipart/form-data' },
|
||||||
|
|
||||||
|
}
|
||||||
|
export const FILESubmit = async (url, params, config) => {
|
||||||
|
try {
|
||||||
|
const data = await axios.post(`${baseUrl}${url}`, params, {
|
||||||
|
...configs,
|
||||||
|
cancelToken: new CancelToken(function executor(c) {
|
||||||
|
config.setCancel && config.setCancel(c)
|
||||||
|
}),
|
||||||
|
onUploadProgress: (e) => {
|
||||||
|
if (e.total > 0) {
|
||||||
|
e.percent = e.loaded / e.total * 100;
|
||||||
|
}
|
||||||
|
// console.log(config)
|
||||||
|
config.onProgress && config.onProgress(e)
|
||||||
|
},
|
||||||
|
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
} catch (err) {
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载文档流
|
||||||
|
* @param {config.responseType} 下载文件流根据后端 配置 arraybuffer || blod
|
||||||
|
*/
|
||||||
|
export const FILE = async (config = {}, body, params) => {
|
||||||
|
try {
|
||||||
|
const data = await axios({
|
||||||
|
method: config.method || 'get',
|
||||||
|
url: `${baseUrl}${config.url}`,
|
||||||
|
data: body,
|
||||||
|
params: params,
|
||||||
|
responseType: config.responseType || 'blob',
|
||||||
|
onDownloadProgress: (e) => {
|
||||||
|
// console.log(e,e.currentTarget)
|
||||||
|
// if (e.currentTarget.response.size > 0) {
|
||||||
|
// e.percent = e.loaded / e.currentTarget.response.size * 100;
|
||||||
|
// }
|
||||||
|
// event.srcElement.getResponseHeader('content-length')
|
||||||
|
config.onProgress && config.onProgress(e)
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
} catch (err) {
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
46
src/api/index.js
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* @Author: szy
|
||||||
|
* @Date: 2021-12-09 10:47:56
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @LastEditTime: 2022-04-27 16:32:31
|
||||||
|
* @FilePath: \web-pc\src\api\index.js
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
import {
|
||||||
|
currentList,
|
||||||
|
currentPage,
|
||||||
|
currentSave,
|
||||||
|
currentUpdate,
|
||||||
|
currentDelete,
|
||||||
|
currentSelect,
|
||||||
|
currentSelectList,
|
||||||
|
currentPOST,
|
||||||
|
currentGET,
|
||||||
|
currentApi
|
||||||
|
|
||||||
|
} from './modules'
|
||||||
|
import {
|
||||||
|
GETNOBASE,
|
||||||
|
GET
|
||||||
|
} from './api'
|
||||||
|
|
||||||
|
|
||||||
|
export {
|
||||||
|
GETNOBASE,
|
||||||
|
GET
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export {
|
||||||
|
currentApi,
|
||||||
|
currentList,
|
||||||
|
currentPage,
|
||||||
|
currentSave,
|
||||||
|
currentUpdate,
|
||||||
|
currentDelete,
|
||||||
|
currentSelect,
|
||||||
|
currentSelectList,
|
||||||
|
currentPOST,
|
||||||
|
currentGET
|
||||||
|
}
|
||||||
102
src/api/modules/index.js
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
/*
|
||||||
|
* @Author: szy
|
||||||
|
* @Date: 2021-12-23 11:18:37
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @LastEditTime: 2022-04-28 15:10:45
|
||||||
|
* @FilePath: \web-pc\src\api\modules\index.js
|
||||||
|
*/
|
||||||
|
import * as API from "../api";
|
||||||
|
|
||||||
|
export const paramType ={
|
||||||
|
'big1':"/zpBoard/getDayTotal", //当日时况
|
||||||
|
'big2':"/zpBoard/getMonthTotal", //月度碳足迹
|
||||||
|
'big3':"/zpBoard/getYearTotal", //年度碳排量
|
||||||
|
'big4':"/zpBoard/getExchangeInfo", //获取交易所信息
|
||||||
|
'big5':'/zpBoard/getTruckModelTotal',// //中间地图
|
||||||
|
'big9':'/zpBoard/getMapInfo',// //中间地图 车辆信息
|
||||||
|
'big10':'/zpBoard/getMapSiteInfo',// //中间地图 加氢站信息
|
||||||
|
|
||||||
|
|
||||||
|
'big6':'/bigscreen/installationPlan',// 安装计划
|
||||||
|
'big7':'/bigscreen/ranking',// 报警排名
|
||||||
|
'big8':'/bigscreen/centermap',// //中间地图
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/****************** 通用增删改查 ********************* */
|
||||||
|
/**
|
||||||
|
* 通用列表
|
||||||
|
* @param {*} param
|
||||||
|
*/
|
||||||
|
export const currentList = (key,param)=> {
|
||||||
|
return API.GET(paramType[key], param)
|
||||||
|
}
|
||||||
|
export const currentPage = (key,param)=> {
|
||||||
|
return API.GET(paramType[key]+"/page", param)
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询可选择的列表
|
||||||
|
* @param {*} param
|
||||||
|
*/
|
||||||
|
export const currentSelectList= (key,param)=> {
|
||||||
|
return API.GET(paramType[key]+"/selectList", param)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通用新增
|
||||||
|
* @param {*} param
|
||||||
|
*/
|
||||||
|
export const currentSave= (key,param)=> {
|
||||||
|
return API.POST(paramType[key]+"/save", param)
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 通用修改
|
||||||
|
* @param {*} param
|
||||||
|
*/
|
||||||
|
export const currentUpdate= (key,param) => {
|
||||||
|
return API.POST(paramType[key]+"/update", param)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通用删除
|
||||||
|
* @param {*} param
|
||||||
|
*/
|
||||||
|
export const currentDelete= (key,param) => {
|
||||||
|
return API.POST(paramType[key]+"/delete", param)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通用获取所有不分页
|
||||||
|
* @param {*} param
|
||||||
|
*/
|
||||||
|
export const currentSelect= (key,param)=> {
|
||||||
|
return API.GET(paramType[key]+"/select", param)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通用GET
|
||||||
|
* @param {*} param
|
||||||
|
*/
|
||||||
|
export const currentGET= (key,param)=> {
|
||||||
|
return API.GET(paramType[key], param)
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 通用POST
|
||||||
|
* @param {*} param
|
||||||
|
*/
|
||||||
|
export const currentPOST= (key,param)=> {
|
||||||
|
return API.POST(paramType[key], param)
|
||||||
|
}
|
||||||
|
// 通用接口集合
|
||||||
|
export const currentApi={
|
||||||
|
currentList,
|
||||||
|
currentPage,
|
||||||
|
currentSave,
|
||||||
|
currentUpdate,
|
||||||
|
currentDelete,
|
||||||
|
currentSelect,
|
||||||
|
currentSelectList,
|
||||||
|
currentPOST,
|
||||||
|
currentGET
|
||||||
|
}
|
||||||
361
src/assets/css/index.scss
Normal file
@@ -0,0 +1,361 @@
|
|||||||
|
@import "./modules/reset.scss";
|
||||||
|
@import "./modules/variables.scss";
|
||||||
|
@import './theme/index.css';
|
||||||
|
@import '../iconfont//iconfont.css';
|
||||||
|
|
||||||
|
[class*=" blq-icon-"],
|
||||||
|
[class^=blq-icon-] {
|
||||||
|
font-family: iconfont !important;
|
||||||
|
speak: none;
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-variant: normal;
|
||||||
|
text-transform: none;
|
||||||
|
line-height: 1;
|
||||||
|
vertical-align: middle;
|
||||||
|
display: inline-block;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale
|
||||||
|
}
|
||||||
|
|
||||||
|
*,
|
||||||
|
:after,
|
||||||
|
:before {
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clearfix {
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
display: table;
|
||||||
|
height: 0;
|
||||||
|
line-height: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.contents {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
min-height: calc(100% - 60px);
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.beautify-scroll-def {
|
||||||
|
overflow-y: auto;
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
//滚动条的设置
|
||||||
|
background-color: rgba(14, 59, 150, 0);
|
||||||
|
background-clip: padding-box;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
//滚动条的设置
|
||||||
|
background-color: rgba(14, 59, 150, 0.5);
|
||||||
|
background-clip: padding-box;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-track-piece {
|
||||||
|
//滚动条凹槽的颜色,还可以设置边框属性
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
//滚动条的宽度
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: rgba(14, 59, 150, .8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.orderNum {
|
||||||
|
// min-width: 22px;
|
||||||
|
// height: 22px;
|
||||||
|
// background: #00b8ff;
|
||||||
|
// border-radius: 50%;
|
||||||
|
// text-align: center;
|
||||||
|
// line-height: 22px;
|
||||||
|
// font-size: 13px;
|
||||||
|
// font-weight: 900;
|
||||||
|
// color: #0f2854;
|
||||||
|
color: #00b8ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.yh-big-input {
|
||||||
|
width: 253px;
|
||||||
|
height: 14px;
|
||||||
|
background: transparent;
|
||||||
|
border: 1px solid rgba(255, 255, 255, .53);
|
||||||
|
border-radius: 4px;
|
||||||
|
color: #fff;
|
||||||
|
padding: 6px 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
outline: none;
|
||||||
|
border-color: #31abe3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.yh-big-el-input {
|
||||||
|
width: 253px;
|
||||||
|
font-size: 14px;
|
||||||
|
|
||||||
|
.el-input__inner {
|
||||||
|
padding: 6px 10px;
|
||||||
|
border: 1px solid rgba(255, 255, 255, .53);
|
||||||
|
background-color: transparent;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1;
|
||||||
|
color: #fff;
|
||||||
|
&:hover{
|
||||||
|
border-color: rgba(255, 255, 255, .8);
|
||||||
|
}
|
||||||
|
&:focus {
|
||||||
|
outline: none;
|
||||||
|
border-color: #31abe3;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.yh-big-button {
|
||||||
|
width: 53px;
|
||||||
|
height: 26px;
|
||||||
|
background: #00b1d6;
|
||||||
|
border-radius: 4px;
|
||||||
|
// border-color: #00b1d6;
|
||||||
|
border-width: 1px;
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 15px;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
// border-color: #0597b4;
|
||||||
|
background: #0597b4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//浮动
|
||||||
|
.float-r {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
//浮动
|
||||||
|
.float-l {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 字体加粗
|
||||||
|
.fw-b {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
//文章一行显示,多余省略号显示
|
||||||
|
.title-item {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
//表格样式重置
|
||||||
|
.ve-table {
|
||||||
|
$border-color: #525371;
|
||||||
|
// $border-color: rgba(255, 255, 255, .43);
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
.ve-table-container {
|
||||||
|
&::-webkit-scrollbar-track-piece {
|
||||||
|
//滚动条凹槽的颜色,还可以设置边框属性
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
//滚动条的宽度
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
//滚动条的设置
|
||||||
|
background-color: rgba(14, 59, 150, 0.5);
|
||||||
|
background-clip: padding-box;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: rgba(14, 59, 150, .8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ve-table-content {
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0px;
|
||||||
|
width: 1px;
|
||||||
|
height: 100%;
|
||||||
|
background-color: $border-color;
|
||||||
|
z-index: 20;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
&.ve-table-border-around {
|
||||||
|
border-color: $border-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ve-table-container table.ve-table-content thead.ve-table-header tr.ve-table-header-tr {
|
||||||
|
height: 34px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
th.ve-table-header-th {
|
||||||
|
background: #04004E;
|
||||||
|
color: #FFF;
|
||||||
|
border-color: $border-color;
|
||||||
|
box-sizing: border-box;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ve-table-container table.ve-table-content tbody.ve-table-body {
|
||||||
|
|
||||||
|
tr.ve-table-body-tr td.ve-table-body-td,
|
||||||
|
tr.ve-table-expand-tr td.ve-table-body-td,
|
||||||
|
tr.ve-table-body-tr td.ve-table-expand-td,
|
||||||
|
tr.ve-table-expand-tr td.ve-table-expand-td {
|
||||||
|
background: transparent;
|
||||||
|
color: #FFF;
|
||||||
|
border-color: $border-color;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.ve-table-body-tr,
|
||||||
|
tr.ve-table-expand-tr {
|
||||||
|
height: 34px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.ve-table-row-hover tr.ve-table-body-tr:hover td {
|
||||||
|
background-color: rgba(0, 0, 0, .22);
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.ve-table-container .ve-table-border-x th,
|
||||||
|
.ve-table-container .ve-table-border-x td {
|
||||||
|
border-color: $border-color;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//颜色
|
||||||
|
@each $colorkey,
|
||||||
|
$color in $colors {
|
||||||
|
.text-#{$colorkey} {
|
||||||
|
color: $color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-#{$colorkey} {
|
||||||
|
background-color: $color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//对齐
|
||||||
|
@each $var in (left, center, right) {
|
||||||
|
.text-#{$var} {
|
||||||
|
text-align: $var !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//flex
|
||||||
|
@each $key,
|
||||||
|
$value in $flex-jc {
|
||||||
|
.jc-#{$key} {
|
||||||
|
justify-content: $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $key,
|
||||||
|
$value in $flex-ai {
|
||||||
|
.ai-#{$key} {
|
||||||
|
align-items: $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//字体
|
||||||
|
@each $fontkey,
|
||||||
|
$fontvalue in $font-sizes {
|
||||||
|
.fs-#{$fontkey} {
|
||||||
|
font-size: $fontvalue * $base-font-size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//.mt-1 => margin top
|
||||||
|
//spacing
|
||||||
|
|
||||||
|
@each $typekey,
|
||||||
|
$type in $spacing-types {
|
||||||
|
|
||||||
|
//.m-1
|
||||||
|
@each $sizekey,
|
||||||
|
$size in $spacing-sizes {
|
||||||
|
.#{$typekey}-#{$sizekey} {
|
||||||
|
#{$type}: $size * $spacing-base-size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//.mx-1
|
||||||
|
@each $sizekey,
|
||||||
|
$size in $spacing-sizes {
|
||||||
|
.#{$typekey}x-#{$sizekey} {
|
||||||
|
#{$type}-left: $size * $spacing-base-size;
|
||||||
|
#{$type}-right: $size * $spacing-base-size;
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$typekey}y-#{$sizekey} {
|
||||||
|
#{$type}-top: $size * $spacing-base-size;
|
||||||
|
#{$type}-bottom: $size * $spacing-base-size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//.mt-1
|
||||||
|
@each $directionkey,
|
||||||
|
$direction in $spacing-directions {
|
||||||
|
|
||||||
|
@each $sizekey,
|
||||||
|
$size in $spacing-sizes {
|
||||||
|
.#{$typekey}#{$directionkey}-#{$sizekey} {
|
||||||
|
#{$type}-#{$direction}: $size * $spacing-base-size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$typekey} {
|
||||||
|
#{$type}: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
200
src/assets/css/modules/reset.scss
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
/**
|
||||||
|
* Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
|
||||||
|
* http://cssreset.com
|
||||||
|
*/
|
||||||
|
html,
|
||||||
|
body,
|
||||||
|
div,
|
||||||
|
span,
|
||||||
|
applet,
|
||||||
|
object,
|
||||||
|
iframe,
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
p,
|
||||||
|
blockquote,
|
||||||
|
pre,
|
||||||
|
a,
|
||||||
|
abbr,
|
||||||
|
acronym,
|
||||||
|
address,
|
||||||
|
big,
|
||||||
|
cite,
|
||||||
|
code,
|
||||||
|
del,
|
||||||
|
dfn,
|
||||||
|
em,
|
||||||
|
img,
|
||||||
|
ins,
|
||||||
|
kbd,
|
||||||
|
q,
|
||||||
|
s,
|
||||||
|
samp,
|
||||||
|
small,
|
||||||
|
strike,
|
||||||
|
strong,
|
||||||
|
sub,
|
||||||
|
sup,
|
||||||
|
tt,
|
||||||
|
var,
|
||||||
|
b,
|
||||||
|
u,
|
||||||
|
i,
|
||||||
|
center,
|
||||||
|
dl,
|
||||||
|
dt,
|
||||||
|
dd,
|
||||||
|
ol,
|
||||||
|
ul,
|
||||||
|
li,
|
||||||
|
fieldset,
|
||||||
|
form,
|
||||||
|
label,
|
||||||
|
legend,
|
||||||
|
table,
|
||||||
|
caption,
|
||||||
|
tbody,
|
||||||
|
tfoot,
|
||||||
|
thead,
|
||||||
|
tr,
|
||||||
|
th,
|
||||||
|
td,
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
canvas,
|
||||||
|
details,
|
||||||
|
embed,
|
||||||
|
figure,
|
||||||
|
figcaption,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
menu,
|
||||||
|
nav,
|
||||||
|
output,
|
||||||
|
ruby,
|
||||||
|
section,
|
||||||
|
summary,
|
||||||
|
time,
|
||||||
|
mark,
|
||||||
|
audio,
|
||||||
|
video,
|
||||||
|
input {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font-weight: normal;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* HTML5 display-role reset for older browsers */
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
menu,
|
||||||
|
nav,
|
||||||
|
section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote,
|
||||||
|
q {
|
||||||
|
quotes: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote:before,
|
||||||
|
blockquote:after,
|
||||||
|
q:before,
|
||||||
|
q:after {
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* custom */
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #7e8c8d;
|
||||||
|
-webkit-backface-visibility: hidden;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
-webkit-text-size-adjust: none;
|
||||||
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.olControlScaleLineBottom {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.olControlScaleLineTop {
|
||||||
|
color: #000 !important;
|
||||||
|
border-bottom: solid 3px #000 !important;
|
||||||
|
border-left: solid 2px #000 !important;
|
||||||
|
border-right: solid 2px #000 !important;
|
||||||
|
background-color: rgba(255, 255, 255, .4);
|
||||||
|
font-size: 10px;
|
||||||
|
text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.olControlScaleLine {
|
||||||
|
z-index: 900 !important;
|
||||||
|
}
|
||||||
|
/*清除浮动*/
|
||||||
|
.clearfix:after {
|
||||||
|
content: ".";
|
||||||
|
display: block;
|
||||||
|
height: 0;
|
||||||
|
clear: both;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
.clearfix {display: inline-block;}
|
||||||
|
/* 点击搜索框获取焦点 placeholder消失-开始 */
|
||||||
|
/* WebKit browsers */
|
||||||
|
|
||||||
|
// input:focus::-webkit-input-placeholder {
|
||||||
|
// color: transparent;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// /* Mozilla Firefox 4 to 18 */
|
||||||
|
|
||||||
|
// input:focus:-moz-placeholder {
|
||||||
|
// color: transparent;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// /* Mozilla Firefox 19+ */
|
||||||
|
|
||||||
|
// input:focus::-moz-placeholder {
|
||||||
|
// color: transparent;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// /* Internet Explorer 10+ */
|
||||||
|
|
||||||
|
// input:focus:-ms-input-placeholder {
|
||||||
|
// color: transparent;
|
||||||
|
// }
|
||||||
|
|
||||||
|
/* 点击搜索框获取焦点 placeholder消失-结束 */
|
||||||
98
src/assets/css/modules/variables.scss
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
// 颜色
|
||||||
|
$colors: (
|
||||||
|
"primary": #1A5CD7,
|
||||||
|
"info-1": #4394e4,
|
||||||
|
"info": #4b67af,
|
||||||
|
"white": #ffffff,
|
||||||
|
"light": #f9f9f9,
|
||||||
|
"grey-1": #999999,
|
||||||
|
"grey": #666666,
|
||||||
|
"dark-1": #5f5f5f,
|
||||||
|
"dark": #222222,
|
||||||
|
"black-1": #171823,
|
||||||
|
"black": #000000,
|
||||||
|
"icon": #5cd9e8
|
||||||
|
);
|
||||||
|
|
||||||
|
// 字体大小
|
||||||
|
$base-font-size: 0.2rem;
|
||||||
|
$font-sizes: (
|
||||||
|
xxs: 0.1,
|
||||||
|
//8px
|
||||||
|
xs: 0.125,
|
||||||
|
//10px
|
||||||
|
sm: 0.2875,
|
||||||
|
//12px
|
||||||
|
md: 0.1625,
|
||||||
|
//13px
|
||||||
|
lg: 0.175,
|
||||||
|
//14px
|
||||||
|
xl: 0.2,
|
||||||
|
//16px
|
||||||
|
xxl: 0.225,
|
||||||
|
//18px
|
||||||
|
xxxl: 0.25 //20px,,,,
|
||||||
|
);
|
||||||
|
|
||||||
|
// 宽高
|
||||||
|
.w-100 {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.h-100 {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
//flex
|
||||||
|
.flex {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.flex-column {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.flex-wrap {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.flex-nowrap {
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
$flex-jc: (
|
||||||
|
start: flex-start,
|
||||||
|
end: flex-end,
|
||||||
|
center: center,
|
||||||
|
between: space-between,
|
||||||
|
around: space-around,
|
||||||
|
evenly: space-evenly,
|
||||||
|
);
|
||||||
|
|
||||||
|
$flex-ai: (
|
||||||
|
start: flex-start,
|
||||||
|
end: flex-end,
|
||||||
|
center: center,
|
||||||
|
stretch: stretch,
|
||||||
|
);
|
||||||
|
|
||||||
|
.flex-1 {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//.mt-1 => margin top
|
||||||
|
//spacing
|
||||||
|
$spacing-types: (
|
||||||
|
m: margin,
|
||||||
|
p: padding,
|
||||||
|
);
|
||||||
|
$spacing-directions: (
|
||||||
|
t: top,
|
||||||
|
r: right,
|
||||||
|
b: bottom,
|
||||||
|
l: left,
|
||||||
|
);
|
||||||
|
$spacing-base-size: 0.5rem;
|
||||||
|
$spacing-sizes: (
|
||||||
|
0: 0,
|
||||||
|
1: 0.5,
|
||||||
|
2: 1,
|
||||||
|
3: 1.5,
|
||||||
|
4: 2,
|
||||||
|
5: 2.5,
|
||||||
|
);
|
||||||
156
src/assets/css/public.scss
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
.flex {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-direction {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-wrap {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-start {
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-end {
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-center {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-stretch {
|
||||||
|
align-items: stretch;
|
||||||
|
}
|
||||||
|
|
||||||
|
.self-start {
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.self-center {
|
||||||
|
align-self: flex-center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.self-end {
|
||||||
|
align-self: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.self-stretch {
|
||||||
|
align-self: stretch;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-stretch {
|
||||||
|
align-items: stretch;
|
||||||
|
}
|
||||||
|
|
||||||
|
.justify-start {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.justify-end {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.justify-center {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.justify-between {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.justify-around {
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
@for $i from 0 through 12 {
|
||||||
|
.rdx-flex-#{$i} {
|
||||||
|
flex: $i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@for $i from 9 to 50 {
|
||||||
|
.rdx-font-#{$i} {
|
||||||
|
font-size: $i + px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@for $i from 2 to 50 {
|
||||||
|
.rdx-radius-#{$i} {
|
||||||
|
border-radius: $i + px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@for $i from 10 to 50 {
|
||||||
|
.rdx-line-height-#{$i} {
|
||||||
|
line-height: $i + px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 定义内外边距,历遍1-80
|
||||||
|
@for $i from 0 through 80 {
|
||||||
|
// 只要双数和能被5除尽的数
|
||||||
|
@if $i % 2 == 0 or $i % 5 == 0 {
|
||||||
|
// 得出:u-margin-30或者u-m-30
|
||||||
|
.rdx-m-#{$i} {
|
||||||
|
margin: $i + px !important;
|
||||||
|
}
|
||||||
|
// 得出:u-padding-30或者u-p-30
|
||||||
|
.rdx-p-#{$i} {
|
||||||
|
padding: $i + px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $short, $long in l left, t top, r right, b bottom {
|
||||||
|
// 缩写版,结果如: u-m-l-30
|
||||||
|
// 定义外边距
|
||||||
|
.rdx-m-#{$short}-#{$i} {
|
||||||
|
margin-#{$long}: $i + px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 定义内边距
|
||||||
|
.rdx-p-#{$short}-#{$i} {
|
||||||
|
padding-#{$long}: $i + px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
//自定义左右内边距
|
||||||
|
.rdx-p-lr-#{$i} {
|
||||||
|
padding-left:$i + px !important;
|
||||||
|
padding-right:$i + px !important;
|
||||||
|
}
|
||||||
|
//自定义上下内边距
|
||||||
|
.rdx-p-tb-#{$i} {
|
||||||
|
padding-top:$i + px !important;
|
||||||
|
padding-bottom:$i + px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
i{font-style: normal;}
|
||||||
|
.position-re{position: relative;}
|
||||||
|
.position-ab{position: absolute; z-index: 9;}
|
||||||
|
.position-fixed{position: fixed; background: rgba(92, 116, 143, 0.45); width: 100%; height: 100%; left: 0px; top: 0px; z-index: 10;}
|
||||||
|
.round{border-radius: 50%;}
|
||||||
|
.font-strong{font-weight: bold;}
|
||||||
|
.color-del{color:$del-color}
|
||||||
|
.color-primary{color: $primary-color;}
|
||||||
|
.color-remark{color: #666666;}
|
||||||
|
.color-9{color: #999999;}
|
||||||
|
.color-green{color: #38a800;}
|
||||||
|
.bg-white{background-color: white;}
|
||||||
|
.line-bottom{border-bottom: 1px solid #eeeeee;}
|
||||||
|
.button-pointer{cursor: pointer;}
|
||||||
|
.box-shadow-item{box-shadow: 0px 0px 4px 0px rgba(45, 45, 46, 0.1);}
|
||||||
|
.search-form .search-form-item label {text-align: right; padding-right: 6px;}
|
||||||
|
|
||||||
|
|
||||||
|
.break-all{
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
.blocks{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.cursor-pointer{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
BIN
src/assets/css/theme/fonts/element-icons.ttf
Normal file
BIN
src/assets/css/theme/fonts/element-icons.woff
Normal file
1
src/assets/css/theme/index.css
Normal file
50
src/assets/css/variable.scss
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
// 颜色
|
||||||
|
$primary-color: #1890ff;
|
||||||
|
$primary-color-hl: rgb(41, 52, 67);
|
||||||
|
$default-color: #006569;
|
||||||
|
$link: #1890ff;
|
||||||
|
$active-color: rgb(0, 101, 105);
|
||||||
|
$del-color: #ff1839;
|
||||||
|
$content-background: #f3f5fa;
|
||||||
|
$table-header-background: #d8eaff;
|
||||||
|
|
||||||
|
$primary-color-rgba: rgba($color: $primary-color,
|
||||||
|
$alpha: 0.1,
|
||||||
|
);
|
||||||
|
//表格上面button按钮颜色
|
||||||
|
$table-header-button: #18d1ff;
|
||||||
|
// 阴影
|
||||||
|
$primary-shadow: 0 2px 4px rgba(0, 0, 0, 0.12),
|
||||||
|
0 0 6px rgba(0, 0, 0, 0.04);
|
||||||
|
$primary-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||||
|
$baidu-shadow: 1px 2px 1px rgba(0, 0, 0, 0.15);
|
||||||
|
$gaode-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2),
|
||||||
|
0 2px 6px 0 rgba(0, 0, 0, 0.19);
|
||||||
|
|
||||||
|
// box-shadow: 0 2px 6px 0 rgb(114 124 245 / 50%);
|
||||||
|
|
||||||
|
$primary-border: $primary-color solid 1px;
|
||||||
|
|
||||||
|
$tool-top: 20px;
|
||||||
|
|
||||||
|
//header 的高度
|
||||||
|
$index-height: 60px;
|
||||||
|
$index-content-height: calc(100% - 60px);
|
||||||
|
$index-tags-height: 36px;
|
||||||
|
// 宽度侧边栏
|
||||||
|
$aside-width: 200px;
|
||||||
|
$content-padding: 16px;
|
||||||
|
|
||||||
|
$default-zindex: 99;
|
||||||
|
|
||||||
|
/*文本格式化,超出范围,显示省略号*/
|
||||||
|
@mixin text-overflow($num: 1) {
|
||||||
|
word-break: break-all;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: $num;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
18
src/assets/css/webfont/index.css
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/* @font-face {
|
||||||
|
font-family: 'webfont';
|
||||||
|
font-display: swap;
|
||||||
|
src: url('//at.alicdn.com/t/webfont_c14qx7m7htb.eot');
|
||||||
|
src:
|
||||||
|
url('//at.alicdn.com/t/webfont_c14qx7m7htb.woff2') format('woff2'),
|
||||||
|
url('//at.alicdn.com/t/webfont_c14qx7m7htb.woff') format('woff'),
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.number-font{
|
||||||
|
font-family:"webfont" !important;
|
||||||
|
font-size:16px;font-style:normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-webkit-text-stroke-width: 0.2px;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
} */
|
||||||
23
src/assets/iconfont/iconfont.css
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "iconfont"; /* Project id 2995337 */
|
||||||
|
src: url('iconfont.woff2?t=1638871675242') format('woff2'),
|
||||||
|
url('iconfont.woff?t=1638871675242') format('woff'),
|
||||||
|
url('iconfont.ttf?t=1638871675242') format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .iconfont {
|
||||||
|
font-family: "iconfont" !important;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.blq-icon-shezhi01:before {
|
||||||
|
content: "\e610";
|
||||||
|
}
|
||||||
|
|
||||||
|
.blq-icon-shezhi02:before {
|
||||||
|
content: "\e611";
|
||||||
|
}
|
||||||
|
|
||||||
BIN
src/assets/iconfont/iconfont.ttf
Normal file
BIN
src/assets/iconfont/iconfont.woff
Normal file
BIN
src/assets/iconfont/iconfont.woff2
Normal file
BIN
src/assets/img/center_map.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
src/assets/img/frame.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
src/assets/img/guang.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
src/assets/img/headers/juxing1.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/assets/img/headers/juxing2.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/assets/img/hg10.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/img/hg2.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
src/assets/img/hg3.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
7
src/assets/img/left/1.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="64px" height="63px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="matrix(1 0 0 1 -73 -261 )">
|
||||||
|
<image preserveAspectRatio="none" style="overflow:visible" width="54" height="53" xlink:href="data:image/png;base64,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" x="73px" y="261px" />
|
||||||
|
</g>
|
||||||
|
<style>svg { filter: drop-shadow(5px 5px 2.5px rgba(0, 0, 0, 0.34901960784313724)); }</style>
|
||||||
|
</svg>
|
||||||
7
src/assets/img/left/2.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="64px" height="63px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="matrix(1 0 0 1 -224 -261 )">
|
||||||
|
<image preserveAspectRatio="none" style="overflow:visible" width="54" height="53" xlink:href="data:image/png;base64,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" x="224px" y="261px" />
|
||||||
|
</g>
|
||||||
|
<style>svg { filter: drop-shadow(5px 5px 2.5px rgba(0, 0, 0, 0.34901960784313724)); }</style>
|
||||||
|
</svg>
|
||||||
7
src/assets/img/left/3.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="60px" height="59px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="matrix(1 0 0 1 -377 -262 )">
|
||||||
|
<image preserveAspectRatio="none" style="overflow:visible" width="50" height="49" xlink:href="data:image/png;base64,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" x="377px" y="262px" />
|
||||||
|
</g>
|
||||||
|
<style>svg { filter: drop-shadow(5px 5px 2.5px rgba(0, 0, 0, 0.34901960784313724)); }</style>
|
||||||
|
</svg>
|
||||||
7
src/assets/img/left/4.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="59px" height="58px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="matrix(1 0 0 1 -530 -263 )">
|
||||||
|
<image preserveAspectRatio="none" style="overflow:visible" width="49" height="48" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABShJREFUeF7tm09oHVUUxr9vJi9iSEVQWiwFobYi0eRNyCIUraS6ELRaLBQX0ZX/EF2oUAUXbUpBK8WKC/+gUjdWRPyDbXChRFPRYktt7otkoYiKNBUSF6LUGPPmHpnXvPTl9b3MnZl7p32Ns51z7znfL9+9czL3DXGergGRtj80tiufz9WWEGj5TIhnS+QXeZTGPJLU5wjKsgXA0yA2KJ+LaghCkUq84GP42KvIr13WmDuAIJSnADxfFdUUQBRAzIjGo6U2vuUKQm4A5i3/KoAHasUsCeBs4DP1S8UWkFwA9Iis9AT7IbijvnBDAIDGLlXgkC3h1XmcA+ielet8H/uj9d6oeGMAZwYPKZ+7bEJwCiAoyzYQewCsbVZ0QgDWneAMQG8oeyTa6WOuxACi+SwuB+sAgjkZgI+dEAzEiY/upwJwZuKXlc/HTHIsFWMNQEU4MAAPO5MUlQFA9Jgch+AAPbw9Rp5KkjfTJtg9I2v9ArqF6KagGx5ugmB1mgIyATir4vcIhHh4n8BJRf5iWkusA4pl2Uqin8Q6AdZBsB7ApaYJ4uKsADg3ySyISQC/QjANYBoa0wIcKRX4aW14LICF1jROScr7jgA0raY+33IDcFr57FzODphSPlctXwDEz8rjoqZsuS2BCeXzhuXrAMEx1cb+5QuAGFUeNyUF8CeAFSmfcrHDcn0MpgKgZTJtlxerPtv/AibTL45JBSCU7wFcmzyb2YgL3gHFshwn0WcmJ3lUKwD4ksTG5NLMRlzwAMxktG5UbCPUutLMKv8fgBmnizcq1gFBKNtB3O4KQX1nFmhxdyYo+ET53JuoEyyKbKbGIWcAmp0NOkhIwZaxNh5MBKBXpEs0JhzUU5kyz8egDtE33s4TiQB0TUln+xX462IAQA8rx8joHeHCFbsHRJFBKP8CKLiAkJsDiBnlsaNegymAEoCeFgcwobzFL0MiPWYAyvIhiLtbGQCJQ2Me70rrgBcBPN7KAAC8pHyeo8HIAcWy3EPi3ZYG4GFQke+kckCXSGe7dvMkyGsT1H9j1fgKTqUCEA3q1XJQBHfadkEuAARHVBtvbFS70RKIBhZDeZjAa60IgMCOMZ+7MwEIRNZD44dWBCAat5QKjX93aOyASkOk5TAEN9uEkMMSOHW5h6tHyXImB1QAzMlQ0h9AxMHKAcAbyudDzepI5IA+katCwXGbr8ldA/A8bDhBfmMFgAsXOAZwQPm8dykXJnJANJFtF7gEoD3cOk5+bhWAbRc4A0B8pDxujduDEjvAtgtcAYiatlIbh50AqHSGIo+IxitxCeLuuwAgwO6Szx1xuaP7qRxQnTgI5XUAD5okahZjHQAxrDwat+yZAFRa5Ixnh5YBTCqfa5L8QTIDmP8OYBaAlyRxNdYmAN/D6m/J35LUkRnA/H5QFA2VJLF1ABqbVIGjSWuwAiALBCsOSCk+8yZYTzvNGUJmABnEWwcw74ToIOUwgCtN7JgJQEbxTgAsQBC8B8H1cRBSA7Ag3hmAGghvQhp/K5RlExSNjaUCv4qDa3Lf2ibYKFm/yGX/aOwjcL+tRij0cM135E8m4kxinAKoFlAM5QkC+xoVlGAJTOlZ9I138KSJMNOYXABUOsY5uY0+XqjfF4wACI7Rx+b6g01TkUvF5QYgKqJHZI2nK07YZrwHEMOXEINHyegXq9avXAFUqw9CiT6sir4h7ljKAUJ8cJoY/JGMWm0n13kBUFkSIr3UuE/5fLJWWaDlKAQj9DAyRo44UV0z6X/RxY1fQ+YZrQAAAABJRU5ErkJggg==" x="530px" y="263px" />
|
||||||
|
</g>
|
||||||
|
<style>svg { filter: drop-shadow(5px 5px 2.5px rgba(0, 0, 0, 0.34901960784313724)); }</style>
|
||||||
|
</svg>
|
||||||
21
src/assets/img/left/u665.svg
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="650px" height="62px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" x1="325" y1="0" x2="325" y2="62" id="LinearGradient4683">
|
||||||
|
<stop id="Stop4684" stop-color="#081c34" offset="0" />
|
||||||
|
<stop id="Stop4685" stop-color="#0b505f" offset="1" />
|
||||||
|
</linearGradient>
|
||||||
|
<pattern id="BGPattern" patternUnits="userSpaceOnUse" alignment="0 0" imageRepeat="None" />
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" x1="325" y1="0" x2="325" y2="62" id="LinearGradient4686">
|
||||||
|
<stop id="Stop4687" stop-color="#081c34" offset="0" />
|
||||||
|
<stop id="Stop4688" stop-color="#0b505f" offset="1" />
|
||||||
|
</linearGradient>
|
||||||
|
<mask fill="white" id="Clip4689">
|
||||||
|
<path d="M 0 62 L 21.959459511413698 0 L 626.5765765498896 0 L 650 62 L 0 62 Z " fill-rule="evenodd" />
|
||||||
|
</mask>
|
||||||
|
</defs>
|
||||||
|
<g transform="matrix(1 0 0 1 -3 -286 )">
|
||||||
|
<path d="M 0 62 L 21.959459511413698 0 L 626.5765765498896 0 L 650 62 L 0 62 Z " fill-rule="nonzero" fill="url(#LinearGradient4683)" stroke="none" transform="matrix(1 0 0 1 3 286 )" class="fill" />
|
||||||
|
<path d="M 0 62 L 21.959459511413698 0 L 626.5765765498896 0 L 650 62 L 0 62 Z " stroke-width="2" stroke-dasharray="0" stroke="url(#LinearGradient4686)" fill="none" transform="matrix(1 0 0 1 3 286 )" class="stroke" mask="url(#Clip4689)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
23
src/assets/img/left/u670.svg
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="100px" height="35px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<pattern id="BGPattern" patternUnits="userSpaceOnUse" alignment="0 0" imageRepeat="None" />
|
||||||
|
<filter x="-50.00%" y="-50.00%" width="200.00%" height="200.00%" filterUnits="objectBoundingBox" id="Filter4701">
|
||||||
|
<feOffset dx="0" dy="0" in="SourceGraphic" result="offset" id="offset" />
|
||||||
|
<feMorphology radius="1" operator="erode" in="offset" result="morphology" id="morphology" />
|
||||||
|
<feGaussianBlur stdDeviation="25" in="morphology" result="blur" id="blur" />
|
||||||
|
<feComposite in2="blur" operator="out" in="SourceGraphic" result="inverse" id="inverse" />
|
||||||
|
<feFlood flood-color="rgba(102, 255, 255, 0.34901960784313724)" in="inverse" result="color" id="color" />
|
||||||
|
<feComposite in2="inverse" operator="in" in="color" result="shadow" id="shadow" />
|
||||||
|
<feComposite in2="SourceGraphic" operator="over" in="shadow" />
|
||||||
|
</filter>
|
||||||
|
<mask fill="white" id="Clip4702">
|
||||||
|
<path d="M 0 17.5 C 0 7.699999999999999 21.999999999999996 0 50 0 C 78 0 100 7.699999999999999 100 17.5 C 100 27.3 78 35 50 35 C 21.999999999999996 35 0 27.3 0 17.5 Z " fill-rule="evenodd" />
|
||||||
|
</mask>
|
||||||
|
</defs>
|
||||||
|
<g transform="matrix(1 0 0 1 -504 -295 )">
|
||||||
|
<path d="M 0 17.5 C 0 7.699999999999999 21.999999999999996 0 50 0 C 78 0 100 7.699999999999999 100 17.5 C 100 27.3 78 35 50 35 C 21.999999999999996 35 0 27.3 0 17.5 Z " fill-rule="nonzero" fill="rgba(21, 103, 115, 1)" stroke="none" transform="matrix(1 0 0 1 504 295 )" class="fill" />
|
||||||
|
<path d="M 0 17.5 C 0 7.699999999999999 21.999999999999996 0 50 0 C 78 0 100 7.699999999999999 100 17.5 C 100 27.3 78 35 50 35 C 21.999999999999996 35 0 27.3 0 17.5 Z " stroke-width="2" stroke-dasharray="0" stroke="rgba(28, 177, 181, 1)" fill="none" transform="matrix(1 0 0 1 504 295 )" class="stroke" mask="url(#Clip4702)" />
|
||||||
|
</g>
|
||||||
|
<style>path.fill { filter: url('#Filter4701'); }</style>
|
||||||
|
</svg>
|
||||||
21
src/assets/img/left/u676.svg
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="119px" height="148px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" x1="59.5" y1="0" x2="59.5" y2="148" id="LinearGradient4703">
|
||||||
|
<stop id="Stop4704" stop-color="#05021d" offset="0" />
|
||||||
|
<stop id="Stop4705" stop-color="#66ffff" offset="1" />
|
||||||
|
</linearGradient>
|
||||||
|
<pattern id="BGPattern" patternUnits="userSpaceOnUse" alignment="0 0" imageRepeat="None" />
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" x1="59.5" y1="0" x2="59.5" y2="148" id="LinearGradient4706">
|
||||||
|
<stop id="Stop4707" stop-color="#05021d" offset="0" />
|
||||||
|
<stop id="Stop4708" stop-color="#66ffff" offset="1" />
|
||||||
|
</linearGradient>
|
||||||
|
<mask fill="white" id="Clip4709">
|
||||||
|
<path d="M 60 134 C 32.997742421624935 134 10.287803805154795 139.69007411103803 0.3608653994567703 148 L 0 148 L 0 0 L 119 0 L 118.9988251371102 147.48208857388 C 108.75972744117394 139.4543923477729 86.43712969315118 134 60 134 Z " fill-rule="evenodd" />
|
||||||
|
</mask>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<path d="M 60 134 C 32.997742421624935 134 10.287803805154795 139.69007411103803 0.3608653994567703 148 L 0 148 L 0 0 L 119 0 L 118.9988251371102 147.48208857388 C 108.75972744117394 139.4543923477729 86.43712969315118 134 60 134 Z " fill-rule="nonzero" fill="url(#LinearGradient4703)" stroke="none" class="fill" />
|
||||||
|
<path d="M 60 134 C 32.997742421624935 134 10.287803805154795 139.69007411103803 0.3608653994567703 148 L 0 148 L 0 0 L 119 0 L 118.9988251371102 147.48208857388 C 108.75972744117394 139.4543923477729 86.43712969315118 134 60 134 Z " stroke-width="0" stroke-dasharray="0" stroke="url(#LinearGradient4706)" fill="none" class="stroke" mask="url(#Clip4709)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
BIN
src/assets/img/left_top_huang.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
src/assets/img/left_top_lan.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
src/assets/img/logo.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/img/pageBg.png
Normal file
|
After Width: | Height: | Size: 289 KiB |
BIN
src/assets/img/titles/you.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/assets/img/titles/zuo.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/assets/img/top.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
18
src/assets/img/u0.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="2108px" height="953px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" x1="1054" y1="0" x2="1054" y2="953" id="LinearGradient4053">
|
||||||
|
<stop id="Stop4054" stop-color="#031e4f" offset="0" />
|
||||||
|
<stop id="Stop4055" stop-color="#021136" offset="0.99" />
|
||||||
|
<stop id="Stop4056" stop-color="#021136" offset="1" />
|
||||||
|
</linearGradient>
|
||||||
|
<pattern id="BGPattern" patternUnits="userSpaceOnUse" alignment="0 0" imageRepeat="None" />
|
||||||
|
<mask fill="white" id="Clip4057">
|
||||||
|
<path d="M 0 953 L 0 0 L 2108 0 L 2108 953 L 0 953 Z " fill-rule="evenodd" />
|
||||||
|
</mask>
|
||||||
|
</defs>
|
||||||
|
<g transform="matrix(1 0 0 1 -3 -1 )">
|
||||||
|
<path d="M 0 953 L 0 0 L 2108 0 L 2108 953 L 0 953 Z " fill-rule="nonzero" fill="url(#LinearGradient4053)" stroke="none" transform="matrix(1 0 0 1 3 1 )" class="fill" />
|
||||||
|
<path d="M 0 953 L 0 0 L 2108 0 L 2108 953 L 0 953 Z " stroke-width="0" stroke-dasharray="0" stroke="rgba(121, 121, 121, 1)" fill="none" transform="matrix(1 0 0 1 3 1 )" class="stroke" mask="url(#Clip4057)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
BIN
src/assets/img/xieyou.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/assets/img/xiezuo.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/assets/img/zuo_xuxian.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
70
src/components/echart/index.vue
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: szy
|
||||||
|
* @Date: 2022-02-28 16:29:08
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @LastEditTime: 2022-09-27 15:05:45
|
||||||
|
* @FilePath: \web-pc\src\pages\big-screen\components\echart\index.vue
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div :id="id" :class="className" :style="{ height: height, width: width }" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as echarts from 'echarts';
|
||||||
|
export default {
|
||||||
|
name: 'echart',
|
||||||
|
props: {
|
||||||
|
className: {
|
||||||
|
type: String,
|
||||||
|
default: 'chart'
|
||||||
|
},
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
default: 'chart'
|
||||||
|
},
|
||||||
|
width: {
|
||||||
|
type: String,
|
||||||
|
default: '100%'
|
||||||
|
},
|
||||||
|
height: {
|
||||||
|
type: String,
|
||||||
|
default: '100%'
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
type: Object,
|
||||||
|
default: ()=>({})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
chart: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
options: {
|
||||||
|
handler (options) {
|
||||||
|
// 设置true清空echart缓存
|
||||||
|
this.chart.setOption(options, true)
|
||||||
|
},
|
||||||
|
deep: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.initChart();
|
||||||
|
},
|
||||||
|
beforeDestroy () {
|
||||||
|
this.chart.dispose()
|
||||||
|
this.chart = null
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
initChart () {
|
||||||
|
// 初始化echart
|
||||||
|
this.chart = echarts.init(this.$el)
|
||||||
|
this.chart.setOption(this.options, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
97
src/components/item-wrap/item-wrap.vue
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: szy
|
||||||
|
* @Date: 2022-03-01 09:16:22
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @LastEditTime: 2022-09-29 15:12:34
|
||||||
|
* @FilePath: \web-pc\src\pages\big-screen\components\item-wrap\item-wrap.vue
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<dv-border-box-13 class="lr_titles">
|
||||||
|
<div class="item_title" v-if="title !== ''">
|
||||||
|
<div class="zuo"></div>
|
||||||
|
<span class="title-inner"> {{ title }} </span>
|
||||||
|
<div class="you"></div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
:class="title !== '' ? 'item_title_content' : 'item_title_content_def'"
|
||||||
|
>
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</dv-border-box-13>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {},
|
||||||
|
|
||||||
|
mounted() {},
|
||||||
|
methods: {},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang='scss' scoped>
|
||||||
|
$item-title-height: 38px;
|
||||||
|
$item_title_content-height: calc(100% - 38px);
|
||||||
|
|
||||||
|
.lr_titles {
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
:deep(.border-box-content) {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 6px 16px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_title {
|
||||||
|
height: $item-title-height;
|
||||||
|
line-height: $item-title-height;
|
||||||
|
width: 100%;
|
||||||
|
color: #31abe3;
|
||||||
|
text-align: center;
|
||||||
|
// background: linear-gradient(to right, transparent, #0f0756, transparent);
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.zuo,
|
||||||
|
.you {
|
||||||
|
width: 58px;
|
||||||
|
height: 14px;
|
||||||
|
background-image: url("../../assets/img/titles/zuo.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
.you {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
.title-inner {
|
||||||
|
font-weight: 900;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
background: linear-gradient(
|
||||||
|
92deg,
|
||||||
|
#acb1b7 0%,
|
||||||
|
#00eaff 48.8525390625%,
|
||||||
|
#01aaff 100%
|
||||||
|
);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_title_content {
|
||||||
|
height: $item_title_content-height;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_title_content_def {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
43
src/components/kong.vue
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<template>
|
||||||
|
<div class='kong'>
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props:{
|
||||||
|
data:{
|
||||||
|
type:Array,
|
||||||
|
default:()=>[]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
methods: {
|
||||||
|
init(){
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang='scss' scoped>
|
||||||
|
.kong{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
49
src/components/message/message.js
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
* @Author: szy
|
||||||
|
* @Date: 2022-02-16 17:08:26
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @LastEditTime: 2022-04-25 10:12:36
|
||||||
|
* @FilePath: \yhht-ui\yhht-ui\packagesEle\getXY\src\main.js
|
||||||
|
*/
|
||||||
|
import Vue from 'vue';
|
||||||
|
import Main from './message.vue';
|
||||||
|
import {isObject,isVNode} from '@/lib/types'
|
||||||
|
let Message = Vue.extend(Main);
|
||||||
|
let instance;
|
||||||
|
var message = function (options) {
|
||||||
|
if (Vue.prototype.$isServer) return;
|
||||||
|
if(!instance){
|
||||||
|
instance = new Message({
|
||||||
|
data: {
|
||||||
|
...options
|
||||||
|
},
|
||||||
|
|
||||||
|
});
|
||||||
|
instance.$mount();
|
||||||
|
}
|
||||||
|
instance.destroy=()=>{
|
||||||
|
document.body.removeChild(instance.$el);
|
||||||
|
instance&&instance.$destroy()
|
||||||
|
instance=null
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
instance.init(options)
|
||||||
|
document.body.appendChild(instance.$el);
|
||||||
|
return instance;
|
||||||
|
};
|
||||||
|
['success', 'warning', 'info', 'error'].forEach(type => {
|
||||||
|
message[type] = (options) => {
|
||||||
|
if (isObject(options) && !isVNode(options)) {
|
||||||
|
return message({
|
||||||
|
...options,
|
||||||
|
type
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return message({
|
||||||
|
type,
|
||||||
|
text: options
|
||||||
|
});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
export default message;
|
||||||