This commit is contained in:
lnljyang
2026-01-06 10:06:01 +08:00
parent 907e68c68f
commit c2e7fc1f20
138 changed files with 118829 additions and 0 deletions

12
.babelrc Normal file
View File

@@ -0,0 +1,12 @@
{
"presets": [["es2015", { "modules": false }]],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}

View 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"
}

10
.env Normal file
View File

@@ -0,0 +1,10 @@
# 基地址
#VUE_APP_BASE_API = 'http://localhost:8888'
#VUE_APP_BASE_API = 'http://192.168.0.119:8080'
# VUE_APP_BASE_API = 'http://6497344b.r23.cpolar.top'
VUE_APP_BASE_API = 'http://47.100.49.118:8090/api'
#VUE_APP_BASE_API = 'http://192.168.0.219:8080'
#VUE_APP_BASE_API = 'http://127.0.0.1:8080'
VUE_APP_outputDir = dist

14
.env.dev Normal file
View File

@@ -0,0 +1,14 @@
# 开发环境,开发时正常都用这个
NODE_ENV = development
# 当前环境,开发环境,可以随便修改,配合打包处配置与此文件名字
VUE_APP_URL_ENV = development
# 开发环境基地址
#VUE_APP_BASE_API = 'http://localhost:8888'
#SE_API = 'http://192.168.0.119:8080'
#VUE_APP_BASE_API = 'http://6497344b.r23.cpolar.top'
VUE_APP_BASE_API = 'http://47.100.49.118:8090/api'
#VUE_APP_BASE_API = 'http://192.168.0.219:8080'
#VUE_APP_BASE_API = 'http://127.0.0.1:8080'

1
.env.production Normal file
View File

@@ -0,0 +1 @@

10
.gitignore vendored Normal file
View 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
View 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
View 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/)

13
jsconfig.json Normal file
View 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

File diff suppressed because it is too large Load Diff

45
package.json Normal file
View File

@@ -0,0 +1,45 @@
{
"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"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

38
public/index.html Normal file
View 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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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]]]]}}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

98604
public/map-geojson/china.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

63
public/style.css Normal file
View 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
View 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
View 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 = "37c816b1b6da4ed587ff5261ae20642e";
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
View 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
}

103
src/api/modules/index.js Normal file
View File

@@ -0,0 +1,103 @@
/*
* @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':"/gzBoard/getDayTotal", //当日时况
'big2':"/gzBoard/getMonthTotal", //月度碳足迹
'big3':"/gzBoard/getYearTotal", //年度碳排量
'big4':"/gzBoard/getExchangeInfo", //获取交易所信息
'big5':'/gzBoard/getTruckModelTotal', //车型分布
'big9':'/gzBoard/getMapInfo', //中间地图 车辆信息
'big14':'/gzBoard/getMapSiteInfo', //中间地图 广东省加氢站信息
'big15':'/gzBoard/getMapSiteInfoAll', //中间地图 返回全国所有加氢站信息
'big12':'/gzBoard/getVehicleMonthDetail', //月度车辆信息
'big13':'/gzBoard/getVehicleDayDetail', //每日车辆信息
'big10':'/gzBoard/getViolationInfo', //报警违章
'big11':'/gzBoard/getVehicleAlarmFlagInfo', //故障信息
}
/****************** 通用增删改查 ********************* */
/**
* 通用列表
* @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
View 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: #FFA500;
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;
}
}

View 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消失-结束 */

View 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
View 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;
}

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View 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;
}

View 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;
} */

View 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";
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
src/assets/img/cars.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
src/assets/img/frame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
src/assets/img/guang.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View 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>

View 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>

View 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,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABspJREFUeF7tm3uIHdUdx7/fM3MjUmlJVCw2mhVCpYnZvTextCKVtAnatMFUrYLWxx/ah0piH5qSttAU2gZjmzSRvkXwuZDURMW2RqIGRVRqMnM3JtIS6K6mpaW1oWIRc2fOt5ybuyHZvXvvPO9eHwMLuzu/x/f3mXNm5jyGKPlYLPmHIiwxxGy5H+CM5u/AbAhnNNMTrxE4aIWDBF6jjvw+08eTu8ioTIksI3hNOhXAUllcAuDynDm20mA7gJ0B+a+csSa5FwZgkXRmbLEcxFKoWXjxB7Edwk7P4LHd5KtFJMgNoCZdgBhXibgSwAeLEJUgxhsUhuHhwYB8JoH9lCaZAVQjXUfgShEX5RGQ15fCDgHDoc97ssRKBWBQ+oCxuBVoXu2zsyQs0efPAIatwU9GyP8lzZMIQE2apxi34UgzPyFp8GmyexvCMD3cEZD7u2noCKAmLVOM1SAWdwvUl+eFXfSwPiD/OJW+tgBqsb4m4NsABvqysPSiRgncHnj81UTXSQCqsZQ+/jvHI/R4XM3vA5h47d5vAT3qAiT2BIaL3AWoWe2WsLAXHamfusDNocdfuKKrsW4C8PP3EoCXDxss2k8edkXPk2bMsNgN4JyyIfRHCzD4ekhuOrbYqnQLLH72XgDwl9bVf/PYYudJJ7VawUfLhNAPLWB16PGOdkVWY90GYP27GcBo400s2vch/qddkfP/q1mVk5r3gtLeQKe7BXwv9PijTle4Guu7AH5YViuYTgB/jwwWvkz+s1Nx50in+RZ7AJxeBoReAXhVwpghRgGMQRiFMBZUuDNJUbWGloKYAza7whwrDND9DZyZxL+TTfEAiH0Q7oLBqBoYsxWM7iUP5RXazn+BNNM0MMAK5sBiAMQNEOanyVU4AFlcVK/wiTQiirIdauhCGuxIE69wAAC2hh6vSCOiKNtqrC1pp93LAODq6TmELMU7oWUB6CmErMWXDaAnEPIUnxSAW346JUc/La075C0ewL9Dj27Z7ugxeUrMaj+Ej+UAUEpLKKB4twj7Smg4ryOAoUjPkPhUTgCFQiikeAASnq37vKAjgJrVQxIuLQAAYPGDsMK1eWJVG1oLg+/niTHuS2JbYHhZ5y4Q69cAvlJEQhh8ISQfyROrKq2AxcN5Yhzj+5vQ41e7AXCjte8UkZAGAwE5lidWTZoj2xxTFHH8OPToRptT3wRrkS4WkeuqtaIfCj3OKkJ1NZabP5iZNxaFFYHPRzsCmC/Nqli8njcZhKdDn5/JHcfNGkd6CsSn88ZqGJy8j8dPxrRdG6xGegHEJ/IkJLAh8PitPDHGfWuxfirgm7liCS+GPj85MUZ7ALFuB7A6T0IK1wY+7+sUoxbpWnc+8HlvF7trRHS0SaB1fejRLfged7QFMBTpUhIPJQg6pUkcYXDvCdzbzqAaaQWIdcDRF65XIKwJ/fZPjAVva4HnYySPHgmX1X1uSwZA+ggtDuZIGIce/Yn+1YYWi1hHYlJTdLYSXqADUeGuSb6x3HY5L6smGcyuk39LBMAZVWPdD+BLmRISL4WGHx/3HTqsmjFYl3Q/kdv3Yy3W1GcwGI9RtfoThHMz6QEeCD1e3c53yh0itUjLRPwhY0L3Fnh+HOEfXgXrQGSbMBG2xA2s8Xx8GAbPZdVC4XOB336XSMctMlWrp6F36PaYcVrErtBwykdoZwCRbgDx26zk+8JP+HLo866ptHQEcJ504lu2efed2xfFpBdx4ESDwefJtzIBaN0M3WiukNFYev05PRKMRpPtE7R6XJreHaFpUZDYERh+tptfMgDSubJ4sod7gbvp7nb+DRosCciXuhkmAuCCDMVaSWBzt4D9cF7AqrrHO5NoSQygdT94AMBVSQJPo82DocfEL3CpAAxKZxkLtwzWr0+FA9bgwhHyr0kvQCoAzVYQ6fMgHkuaoKd2wvLQ5+/T5EwNoHU/+IYb76dJVLatmy+oe9yYNk8mAC0ImwisSpuwDHsBm+seb8kSOzOAVnfYBpb0fVDSaoTtoc/M0/i5ADiNtVj3Crgmqd4i7QjcHXi8Pk/M3ABaLeFyEG6tvmdHpyFuGhGFAGi2hIbOk8Gw29OTRkBqW2KnIW7cQx5I7dvGoTAALvagNNsIv4SwvAhxE2MIuLPusdAbb6EAxgXXYq10r6OFvTARz8NiY+hza9FgSwHgRDYXWCKsgsFKAFlXiA4K2JDl+Z4UVGkAxgUslObGFquIJog0x0ZrsGGEzDM73TVf6QDGFQxKZxsLtx5wMYTz2yojnoPwqDV4ZIR0H0KWfvQMwLGVND/EjHAFPHyx+f8Yv6OPLUk+dCyayP8B68OKX2W8BkUAAAAASUVORK5CYII=" x="377px" y="262px" />
</g>
<style>svg { filter: drop-shadow(5px 5px 2.5px rgba(0, 0, 0, 0.34901960784313724)); }</style>
</svg>

View 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>

View 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>

View 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>

View 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
src/assets/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
src/assets/img/pageBg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/img/top.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

18
src/assets/img/u0.svg Normal file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/img/xiezuo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View 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>

View 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"> &nbsp;&nbsp;{{ title }}&nbsp;&nbsp; </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
View 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>

View 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;

View File

@@ -0,0 +1,74 @@
<!--
* @Author: szy
* @Date: 2022-03-02 17:07:40
* @LastEditors: Please set LastEditors
* @LastEditTime: 2022-04-26 11:41:27
* @FilePath: \web-pc\src\pages\big-screen\components\message\message.vue
-->
<template>
<div class="messages" v-if="visible">
<svg fill="none" viewBox="0 0 16 16" width="1em" height="1em" class="message-icon">
<path fill="currentColor" d="M15 8A7 7 0 101 8a7 7 0 0014 0zM8.5 4v5.5h-1V4h1zm-1.1 7h1.2v1.2H7.4V11z"
fill-opacity="0.9" v-if="'warning'==type"></path>
</svg>
{{ text }}
</div>
</template>
<script>
export default {
data() {
return {
visible: false,
text: "",
type:'warning'
};
},
props: {},
created() { },
mounted() { },
methods: {
init(param) {
clearTimeout(this.timer);
this.visible = true;
this.text = param.text || "";
this.type = param.type || "success";
this.timer = setTimeout(() => {
this.visible = false;
clearTimeout(this.timer);
}, 2000);
},
},
};
</script>
<style lang='scss' scoped>
.messages {
position: fixed;
min-width: 200px;
top: 160px;
left: 50%;
transform: translate(-50%, 0);
border: solid 1px #4b4b4b;
// box-shadow: 0 16px 24px rgba(0, 0, 0, 0.14), 0 6px 30px rgba(0, 0, 0, 12%),
// 0 8px 10px rgba(0, 0, 0, 20%), inset 0 0.5px 0 #5e5e5e,
// inset 0.5px 0 0 #5e5e5e, inset 0 -0.5px 0 #5e5e5e, inset -0.5px 0 0 #5e5e5e;
width: fit-content;
border-radius: 6px;
display: flex;
align-items: center;
z-index: 999;
color: rgba(255, 255, 255, 0.9);
background-color: #242424;
line-height: 22px;
font-size: 14px;
padding: 13px 16px;
.message-icon {
color: #cf6e2d;
font-size: 20px;
margin-right: 8px;
fill: currentColor;
}
}
</style>

View File

@@ -0,0 +1,64 @@
<template>
<div class='reacquire flex justify-center blocks cursor-pointer' :style="{ lineHeight: lineHeight }"
@click="getData">
<span>
重新获取
</span>
</div>
</template>
<script>
export default {
components: {},
props: {
lineHeight: {
type: String,
default: '200px'
}
},
data() {
return {
};
},
computed: {},
methods: {
init() {
},
getData(e){
this.$emit("onclick",e)
}
},
created() {
},
mounted() {
},
beforeDestroy() {
},
}
</script>
<style lang='scss' scoped>
.reacquire {
user-select:none;
color: rgb(168, 168, 168);
span:hover{
color:$primary-color ;
text-decoration: underline;
}
}
.blocks {
width: 100%;
height: 100%;
}
.cursor-pointer {
cursor: pointer;
}
</style>

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