├── src ├── api │ ├── REST.http │ ├── Dash │ │ └── index.ts │ ├── KMS │ │ └── index.ts │ ├── WarningDevice │ │ ├── noticeDevice.ts │ │ └── index.ts │ ├── Login │ │ └── inex.ts │ ├── User │ │ └── index.ts │ ├── Device │ │ └── index.ts │ ├── Setting │ │ └── index.ts │ └── axios.config.ts ├── views │ ├── Map │ │ └── index.vue │ ├── Error │ │ ├── 400.vue │ │ └── 404.vue │ ├── Warning │ │ ├── noticeWarn.vue │ │ ├── informWarn.vue │ │ └── WarnList.vue │ ├── User │ │ └── userNavtion.vue │ ├── Login │ │ └── index.vue │ ├── Dash │ │ └── index.vue │ └── Setting │ │ ├── part.vue │ │ └── slite.vue ├── mock │ ├── module │ │ ├── mock_device_api.ts │ │ └── mock_login_api.ts │ └── index.ts ├── theme │ └── red.scss ├── assets │ ├── logo.png │ ├── img │ │ ├── 404.png │ │ ├── 404-cloud.png │ │ └── login_background.jpg │ ├── config │ │ └── mapConfig.ts │ ├── icon │ │ ├── location.svg │ │ └── oder.svg │ └── scss │ │ ├── global.d.scss │ │ ├── mixins.scss │ │ └── mode.d.scss ├── shims-vue.d.ts ├── router │ ├── module │ │ ├── router1.ts │ │ └── router2.ts │ ├── index.ts │ ├── exportRouter.ts │ ├── defaultRoutes.ts │ ├── routeConfig.ts │ └── rolesRoutes.ts ├── tools │ ├── mixins │ │ └── index.ts │ ├── utils.ts │ ├── storage.ts │ ├── resetPageSize.ts │ ├── vailDate.ts │ ├── directive │ │ ├── loading.scss │ │ └── loading.js │ └── class │ │ └── TimeUttil.ts ├── shims-tsx.d.ts ├── store │ ├── index.ts │ ├── gettrer.ts │ └── module │ │ ├── app.ts │ │ ├── user.ts │ │ └── promiss.ts ├── App.vue ├── components │ ├── ScorllColumn.vue │ ├── Picture.vue │ ├── Empty.vue │ ├── Paging.vue │ ├── Search.vue │ ├── FullTable.js │ ├── SystemSetting.vue │ ├── Toolbar.vue │ └── ZoomImage.vue ├── main.ts └── layout │ ├── Menu │ └── index.vue │ ├── Home.vue │ └── Header │ └── index.vue ├── .browserslistrc ├── .gitattributes ├── tests └── unit │ └── example.spec.ts ├── .env ├── dist ├── favicon.ico ├── img │ ├── 404.a57b6f31.png │ ├── 404-cloud.0f4bc32b.png │ ├── login_background.68321d0f.jpg │ └── location.ab19836c.svg ├── fonts │ ├── ionicons.143146fa.woff2 │ ├── ionicons.99ac3308.woff │ ├── ionicons.d535a25a.ttf │ ├── fa-solid-900.75f38a15.ttf │ ├── fa-solid-900.89e02bae.eot │ ├── fa-brands-400.067595ad.woff2 │ ├── fa-brands-400.57dcda6f.eot │ ├── fa-brands-400.9ec698d1.ttf │ ├── fa-brands-400.b564da88.woff │ ├── fa-regular-400.3351f435.eot │ ├── fa-regular-400.73cf49a2.woff │ ├── fa-regular-400.a0e3ac82.ttf │ ├── fa-solid-900.55eb2a60.woff2 │ ├── fa-solid-900.cdfec5cf.woff │ └── fa-regular-400.4165c268.woff2 ├── css │ ├── chunk-3b6f00e2.028e7cd0.css │ ├── chunk-947d9ce0.9d516d3f.css │ ├── chunk-e2a90842.b948c855.css │ ├── chunk-7f0368e4.27051a52.css │ ├── chunk-dfc49b32.9aa2d1f7.css │ ├── chunk-667b7e20.5d3099c3.css │ ├── chunk-d606f42a.08639829.css │ ├── chunk-5896f3bc.dbdf5a2e.css │ ├── chunk-619e0eee.6938ff00.css │ ├── chunk-2602b94f.c0778966.css │ └── chunk-38c098e0.22122674.css ├── js │ ├── chunk-d606f42a.2764f94e.js │ ├── chunk-e2a90842.89160a6e.js │ ├── chunk-d606f42a.2764f94e.js.map │ ├── chunk-3b6f00e2.9246aaf4.js │ ├── chunk-7f0368e4.7841a1f7.js │ └── chunk-e2a90842.89160a6e.js.map └── index.html ├── public ├── favicon.ico └── index.html ├── babel.config.js ├── jest.config.js ├── .editorconfig ├── .gitignore ├── vue.config.js ├── tsconfig.json ├── .eslintrc.js └── package.json /src/api/REST.http: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/views/Map/index.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/mock/module/mock_device_api.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | -------------------------------------------------------------------------------- /src/theme/red.scss: -------------------------------------------------------------------------------- 1 | @import 'view-design/src/styles/index.less'; -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | package.json text eol=lf 3 | package-lock.json text eol=lf -------------------------------------------------------------------------------- /tests/unit/example.spec.ts: -------------------------------------------------------------------------------- 1 | import { shallowMount } from '@vue/test-utils' 2 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | Vue_APP_URL = 'http://api.wangfanghua.top:7300/mock/5e3eab4e216d1377dea9be86/service' -------------------------------------------------------------------------------- /dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/favicon.ico -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/src/assets/logo.png -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/assets/img/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/src/assets/img/404.png -------------------------------------------------------------------------------- /dist/img/404.a57b6f31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/img/404.a57b6f31.png -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: '@vue/cli-plugin-unit-jest/presets/typescript-and-babel' 3 | } 4 | -------------------------------------------------------------------------------- /src/assets/img/404-cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/src/assets/img/404-cloud.png -------------------------------------------------------------------------------- /dist/img/404-cloud.0f4bc32b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/img/404-cloud.0f4bc32b.png -------------------------------------------------------------------------------- /dist/fonts/ionicons.143146fa.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/ionicons.143146fa.woff2 -------------------------------------------------------------------------------- /dist/fonts/ionicons.99ac3308.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/ionicons.99ac3308.woff -------------------------------------------------------------------------------- /dist/fonts/ionicons.d535a25a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/ionicons.d535a25a.ttf -------------------------------------------------------------------------------- /dist/fonts/fa-solid-900.75f38a15.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-solid-900.75f38a15.ttf -------------------------------------------------------------------------------- /dist/fonts/fa-solid-900.89e02bae.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-solid-900.89e02bae.eot -------------------------------------------------------------------------------- /src/assets/img/login_background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/src/assets/img/login_background.jpg -------------------------------------------------------------------------------- /dist/fonts/fa-brands-400.067595ad.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-brands-400.067595ad.woff2 -------------------------------------------------------------------------------- /dist/fonts/fa-brands-400.57dcda6f.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-brands-400.57dcda6f.eot -------------------------------------------------------------------------------- /dist/fonts/fa-brands-400.9ec698d1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-brands-400.9ec698d1.ttf -------------------------------------------------------------------------------- /dist/fonts/fa-brands-400.b564da88.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-brands-400.b564da88.woff -------------------------------------------------------------------------------- /dist/fonts/fa-regular-400.3351f435.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-regular-400.3351f435.eot -------------------------------------------------------------------------------- /dist/fonts/fa-regular-400.73cf49a2.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-regular-400.73cf49a2.woff -------------------------------------------------------------------------------- /dist/fonts/fa-regular-400.a0e3ac82.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-regular-400.a0e3ac82.ttf -------------------------------------------------------------------------------- /dist/fonts/fa-solid-900.55eb2a60.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-solid-900.55eb2a60.woff2 -------------------------------------------------------------------------------- /dist/fonts/fa-solid-900.cdfec5cf.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-solid-900.cdfec5cf.woff -------------------------------------------------------------------------------- /dist/img/login_background.68321d0f.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/img/login_background.68321d0f.jpg -------------------------------------------------------------------------------- /dist/fonts/fa-regular-400.4165c268.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangly19/bweb_visual_vue/HEAD/dist/fonts/fa-regular-400.4165c268.woff2 -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{js,jsx,ts,tsx,vue}] 2 | indent_style = space 3 | indent_size = 2 4 | trim_trailing_whitespace = true 5 | insert_final_newline = true 6 | -------------------------------------------------------------------------------- /src/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.vue' { 2 | import Vue from 'vue' 3 | export default Vue 4 | } 5 | declare module 'vue-amap' 6 | declare module 'qs' 7 | declare module '@antv/g2plot' 8 | -------------------------------------------------------------------------------- /src/api/Dash/index.ts: -------------------------------------------------------------------------------- 1 | import service from '@/api/axios.config' 2 | 3 | export function getDashRank(params: object = {}): Promise { 4 | return service({ 5 | url: '/dash/rank', 6 | method: 'get' 7 | }) 8 | } 9 | -------------------------------------------------------------------------------- /src/api/KMS/index.ts: -------------------------------------------------------------------------------- 1 | import service from '@/api/axios.config' 2 | 3 | export function getKmsList(params: object = {}): Promise { 4 | return service({ 5 | url: '/kms/overslist', 6 | method: 'get', 7 | data: params 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /src/api/WarningDevice/noticeDevice.ts: -------------------------------------------------------------------------------- 1 | import service from '@/api/axios.config' 2 | 3 | export function getNoticeList(params: object): Promise { 4 | return service({ 5 | url: `/noticeDevice`, 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /src/views/Error/400.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | 4 | # local env files 5 | .env.local 6 | .env.*.local 7 | 8 | # Log files 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | 13 | # Editor directories and files 14 | .idea 15 | .vscode 16 | *.suo 17 | *.ntvs* 18 | *.njsproj 19 | *.sln 20 | *.sw? 21 | 22 | -------------------------------------------------------------------------------- /src/router/module/router1.ts: -------------------------------------------------------------------------------- 1 | // 路由1 2 | export default { 3 | path: '/base1', 4 | name: 'dashboard', 5 | redirect: '/dashboard', 6 | children: [{ 7 | path: '/dashboard', 8 | name: 'dashboard', 9 | component: (resolve: any) => { 10 | require(['@/views/Dash/dash.vue'], resolve) 11 | } 12 | }] 13 | } 14 | -------------------------------------------------------------------------------- /src/router/module/router2.ts: -------------------------------------------------------------------------------- 1 | // 路由1 2 | export default { 3 | path: '/base2', 4 | name: 'dashboard', 5 | redirect: '/dashboard', 6 | children: [{ 7 | path: '/dashboard', 8 | name: 'dashboard', 9 | component: (resolve: any) => { 10 | require(['@/views/Dash/dash.vue'], resolve) 11 | } 12 | }] 13 | } 14 | -------------------------------------------------------------------------------- /src/router/index.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueRouter from 'vue-router' 3 | import defaultRoutes from './defaultRoutes' 4 | import './exportRouter' 5 | 6 | Vue.use(VueRouter) 7 | 8 | const router = new VueRouter({ 9 | mode: 'history', 10 | base: process.env.BASE_URL, 11 | routes: defaultRoutes 12 | }) 13 | 14 | export default router 15 | -------------------------------------------------------------------------------- /src/tools/mixins/index.ts: -------------------------------------------------------------------------------- 1 | import { Component, Vue } from 'vue-property-decorator' 2 | 3 | @Component 4 | export class dataMixins extends Vue { 5 | // 表单加载 6 | public isTableList: boolean = false 7 | // 总数 8 | public total: number = 0 9 | // 当前页面 10 | public currentPage: number = 1 11 | // 当前页面数目 12 | public limit: number = 10 13 | } 14 | -------------------------------------------------------------------------------- /src/api/Login/inex.ts: -------------------------------------------------------------------------------- 1 | import service from '@/api/axios.config' 2 | 3 | export function upLogin(data: object): Promise { 4 | return service({ 5 | url: '/login', 6 | method: 'post', 7 | data 8 | }) 9 | } 10 | 11 | export function Person(): Promise { 12 | return service({ 13 | url: '/person', 14 | method: 'get' 15 | }) 16 | } 17 | -------------------------------------------------------------------------------- /src/shims-tsx.d.ts: -------------------------------------------------------------------------------- 1 | import Vue, { VNode } from 'vue' 2 | 3 | declare global { 4 | namespace JSX { 5 | // tslint:disable no-empty-interface 6 | interface Element extends VNode {} 7 | // tslint:disable no-empty-interface 8 | interface ElementClass extends Vue {} 9 | interface IntrinsicElements { 10 | [elem: string]: any 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/store/index.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | import user from './module/user' 4 | import getters from './gettrer' 5 | import promiss from './module/promiss' 6 | import app from './module/app' 7 | 8 | Vue.use(Vuex) 9 | 10 | export default new Vuex.Store({ 11 | modules: { 12 | user, 13 | promiss, 14 | app 15 | }, 16 | getters 17 | }) 18 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 19 | -------------------------------------------------------------------------------- /src/api/User/index.ts: -------------------------------------------------------------------------------- 1 | import service from '@/api/axios.config' 2 | 3 | export function getUserList(params: T, type: string): Promise { 4 | return service({ 5 | url: `/user`, 6 | method: type, 7 | params 8 | }) 9 | } 10 | 11 | export function alterUser(id: number, params: T, type: string): Promise { 12 | return service({ 13 | url: `/user/${id}`, 14 | method: type, 15 | params 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/config/mapConfig.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import AMAP from 'vue-amap' 3 | 4 | // 地图配置 5 | setTimeout(() => { 6 | Vue.use(AMAP) 7 | }, 0) 8 | AMAP.initAMapApiLoader({ 9 | key: 'dc5c65431e487cb4114b8d3aec6ce22b', 10 | plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'], 11 | // 默认高德 sdk 版本为 1.4.4 12 | v: '1.4.4' 13 | }) 14 | -------------------------------------------------------------------------------- /src/api/Device/index.ts: -------------------------------------------------------------------------------- 1 | import service from '@/api/axios.config' 2 | 3 | export function getDeviceList(params: T, type: string): Promise { 4 | return service({ 5 | url: `/device`, 6 | method: type, 7 | params 8 | }) 9 | } 10 | 11 | export function alterDevice(id: number, params: T, type: string): Promise { 12 | return service({ 13 | url: `/device/${id}`, 14 | method: type, 15 | params 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /src/components/ScorllColumn.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 14 | 21 | -------------------------------------------------------------------------------- /src/api/WarningDevice/index.ts: -------------------------------------------------------------------------------- 1 | import service from '@/api/axios.config' 2 | 3 | export function getWarnList(params: T, type: string): Promise { 4 | return service({ 5 | url: `/warningDevice`, 6 | method: type, 7 | params 8 | }) 9 | } 10 | 11 | export function alterDevice(id: number, params: T, type: string): Promise { 12 | return service({ 13 | url: `/device/${id}`, 14 | method: type, 15 | params 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /src/tools/utils.ts: -------------------------------------------------------------------------------- 1 | export function cssExpand(css: T, id: string) { 2 | let style: HTMLStyleElement = document.createElement('style') 3 | style.type = 'text/css' 4 | style.innerHTML = `@charset "UTF-8"; ${css}` 5 | // 清除旧样式 6 | if (id) { 7 | let $style: HTMLElement | null = document.getElementById(id) 8 | if ($style != null) $style.outerHTML = '' 9 | style.id = id 10 | } 11 | // 应用新样式 12 | document.head.appendChild(style) 13 | } 14 | -------------------------------------------------------------------------------- /src/components/Picture.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 16 | 18 | -------------------------------------------------------------------------------- /src/router/exportRouter.ts: -------------------------------------------------------------------------------- 1 | import { RouteConfig } from 'vue-router' 2 | const routerFiles: __WebpackModuleApi.RequireContext = require.context('./module', true, /\.ts$/) 3 | const routerList: RouteConfig[] = [] 4 | 5 | routerFiles.keys().forEach((fileName:string) => { 6 | if (routerFiles(fileName).default instanceof Array) { 7 | routerList.concat(routerFiles(fileName).default) 8 | } else { 9 | routerList.push(routerFiles(fileName).default) 10 | } 11 | }) 12 | console.log(routerList) 13 | -------------------------------------------------------------------------------- /src/tools/storage.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 设置存储值 3 | * @param key 键名 4 | */ 5 | export function getStorage(key: string): any { 6 | const value: string | null | undefined = localStorage.getItem(key) || '' 7 | return value ? JSON.parse(value) : '' 8 | } 9 | 10 | export function setStorage(key: string, value: any): void { 11 | const valueJSON: string = JSON.stringify(value) 12 | localStorage.setItem(key, valueJSON) 13 | } 14 | 15 | export function removeStorage(key: string): void { 16 | localStorage.removeItem(key) 17 | } 18 | -------------------------------------------------------------------------------- /src/tools/resetPageSize.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 页面fontsize重置 3 | */ 4 | (function(window: Window): void { 5 | window.addEventListener('resize', function () { 6 | document.documentElement.style.fontSize = `${getWindowSize() / 10}px` // 按照设计图 7 | }) 8 | document.documentElement.style.fontSize = `${getWindowSize() / 10}px` // 按照设计图 9 | })(window) 10 | 11 | /** 12 | * 获取字体大小 13 | * @return 获取当前页面的宽度 14 | */ 15 | function getWindowSize(): number { 16 | const __width: number = document.documentElement.clientWidth 17 | return __width > 1920 ? 1920 : __width 18 | } 19 | -------------------------------------------------------------------------------- /src/store/gettrer.ts: -------------------------------------------------------------------------------- 1 | import { GetterTree } from 'vuex' 2 | 3 | const getters: GetterTree = { 4 | name: (state: any) => state.user.name, 5 | token: (state: any) => state.user.token, 6 | avatar: (state: any) => state.user.avatar, 7 | roles: (state: any) => state.user.roles, 8 | currentRoutes: (state: any) => state.promiss.currentRoutes, 9 | addRoutes: (state: any) => state.promiss.addRoutes, 10 | isShowToolBar: (state: any) => state.app.isShowToolBar, 11 | colorTheme: (state: any) => state.app.colorTheme 12 | } 13 | 14 | export default getters 15 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | 3 | function resolve (dir) { 4 | return path.join(__dirname, dir) 5 | } 6 | // 项目的主要配置文件 7 | module.exports = { 8 | assetsDir: 'res', 9 | chainWebpack: (config) => { 10 | // 修改文件引入自定义路径 11 | config.resolve 12 | .alias 13 | .set('@', resolve('src')) // 配置@路径 14 | }, 15 | devServer: { 16 | port: 9000, 17 | proxy: { 18 | '/api': { 19 | target: 'http://wangfanghua.com', 20 | changeOrigin: true, 21 | pathRewrite: { 22 | '^/api': '' 23 | } 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /dist/img/location.ab19836c.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/icon/location.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/mock/module/mock_login_api.ts: -------------------------------------------------------------------------------- 1 | const createLoginAPI = function (options: string) { 2 | return { 3 | status: 200, 4 | data: { 5 | success: true, 6 | token: 1111, 7 | message: '即将进入' 8 | } 9 | } 10 | } 11 | 12 | export default { 13 | 'post|/login': createLoginAPI, 14 | 'get|/person': (option: any) => { 15 | return { 16 | status: 200, 17 | data: { 18 | success: true, 19 | avatar: 'https://dss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1361981880,3052617388&fm=111&gp=0.jpg', 20 | name: '王方华', 21 | roles: ['admin'] 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/store/module/app.ts: -------------------------------------------------------------------------------- 1 | import { MutationTree } from 'vuex' 2 | // Vuex参数接口 3 | export interface IApp { 4 | isShowToolBar: boolean 5 | colorTheme: string 6 | } 7 | 8 | // state 状态 9 | const state: IApp = { 10 | isShowToolBar: true, 11 | colorTheme: '#515a6e' 12 | } 13 | 14 | // mutations方法 15 | const mutations: MutationTree = { 16 | setShowToolBar: (state: IApp, bool: boolean) => { 17 | state.isShowToolBar = bool 18 | }, 19 | 20 | setColorTheme: (state: IApp, color: string) => { 21 | state.colorTheme = color 22 | } 23 | } 24 | 25 | export default { 26 | namespaced: true, 27 | state, 28 | mutations 29 | } 30 | -------------------------------------------------------------------------------- /src/tools/vailDate.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 前端基础数据校验 3 | */ 4 | 5 | /** 6 | * 是URL地址? 7 | * @param url 网址 8 | * @return 布尔值 9 | */ 10 | export function isUrl(url: string): boolean { 11 | return /^http[s]?:\/\/.*/.test(url) 12 | } 13 | 14 | /** 15 | * 是手机号码? 16 | * @param mobileNumber 手机号码 17 | * @return 布尔值 18 | */ 19 | export function isMobile(mobileString: string): boolean { 20 | return /^1[0-9]{10}$/.test(mobileString) 21 | } 22 | 23 | /** 24 | * 是邮箱? 25 | * @param email 邮箱地址 26 | * @return 布尔值 27 | */ 28 | export function isEmail(email: string): boolean { 29 | return /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(email) 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/scss/global.d.scss: -------------------------------------------------------------------------------- 1 | @import './mixins.scss'; 2 | @import './mode.d.scss'; 3 | 4 | // 颜色变量 - 界面 5 | $white: #FFFFFF !default; // 白色 6 | $dark: #262626 !default; // 黑色 7 | $main: #007AFF !default; // 蓝色, 界面色调,界面色调 8 | $error: #f94441 !default; // 错误红色 9 | $warm: #FF8700 !default; // 警告黄色 10 | $tool: #2d8cf0 !default; 11 | $normal: #2EAE00 !default; // 通知绿色 12 | // 颜色变量 - 文字 13 | $text: #333333 !default; // 文本, 内容33灰 14 | $explain: #666973 !default; 15 | $other: rgba(255, 255, 255, 0.7) !default; 16 | $bg: #F5F6F9 !default; 17 | // 字体大小 18 | $size1: rem(12px); // =>小号字体 12px 小像素 提示文本,更改备注(@wang) 19 | 20 | $size2: rem(20px); // => 中号字体 20px 中像素 对话框,标题提示框, 更改备注(@wang) 21 | 22 | $size3: rem(24px); // => 大号字体 大像素 一级文本,大数据可视化 更改备注(@wang) 23 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | bweb_visual_vue 9 | 10 | 11 | 12 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/mock/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 本地化mock数据 3 | */ 4 | import Mock, { mock } from 'mockjs' 5 | const baseURL: string = 'http://wangfanghua.com' 6 | 7 | // 加载所有Mock File 8 | const mockFiles: __WebpackModuleApi.RequireContext = require.context('.', true, /\.ts$/) 9 | let mockConfigList: Array = [] 10 | 11 | // 注册mock组件 12 | mockFiles.keys().forEach(fileName => { 13 | // 忽略index.ts 14 | if (fileName === 'index.ts') return 15 | mockConfigList = mockConfigList.concat(mockFiles(fileName).default) 16 | }) 17 | 18 | mockConfigList.forEach(map => { 19 | if (map) { 20 | for (let key in map) { 21 | const pathSt: Array = key.split('|') 22 | Mock.mock(pathSt[1], pathSt[0], map[key]) 23 | } 24 | } 25 | }) 26 | 27 | // 导出Mock数据 28 | export default Mock 29 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import router from './router' 4 | import store from './store' 5 | // 引入Rem解决方案 6 | import '@/tools/resetPageSize' 7 | // 引入样式重置样式 8 | import '@/assets/scss/reset.d.css' 9 | // 引入antVueUI 10 | import Design from 'view-design' 11 | import 'view-design/dist/styles/iview.css' 12 | // 引入路由过滤 13 | import '@/router/routeConfig' 14 | // 引入地图 15 | import '@/assets/config/mapConfig' 16 | import '@/tools/directive/loading' 17 | import '@fortawesome/fontawesome-free/css/all.css' 18 | import '@/mock' 19 | // 引入图表 20 | import Viser from 'viser-vue' 21 | 22 | Vue.use(Viser) 23 | Vue.use(Design) 24 | Vue.config.productionTip = false 25 | 26 | new Vue({ 27 | router, 28 | store, 29 | render: h => h(App) 30 | }).$mount('#app') 31 | -------------------------------------------------------------------------------- /src/api/Setting/index.ts: -------------------------------------------------------------------------------- 1 | import service from '@/api/axios.config' 2 | import axios from 'axios' 3 | 4 | /** 5 | * 权限和下拉菜单栏并发 6 | */ 7 | export function getRoleList(): Promise { 8 | return axios.all([ 9 | service({ 10 | url: '/setting/roles', 11 | method: 'get' 12 | }), 13 | service({ 14 | url: '/component', 15 | method: 'get', 16 | params: { 17 | component: 'roles' 18 | } 19 | }) 20 | ]) 21 | } 22 | 23 | export function getSiteList(): Promise { 24 | return axios.all([ 25 | service({ 26 | url: '/setting/sites', 27 | method: 'get' 28 | }), 29 | service({ 30 | url: '/component', 31 | method: 'get', 32 | params: { 33 | component: 'roles' 34 | } 35 | }) 36 | ]) 37 | } 38 | -------------------------------------------------------------------------------- /src/components/Empty.vue: -------------------------------------------------------------------------------- 1 | 7 | 19 | 20 | 33 | -------------------------------------------------------------------------------- /src/tools/directive/loading.scss: -------------------------------------------------------------------------------- 1 | 2 | @import '@/assets/scss/global.d.scss'; 3 | 4 | @keyframes custom-loading-rotate { 5 | from { 6 | transform: rotate(0deg); 7 | } 8 | to { 9 | transform: rotate(360deg); 10 | } 11 | } 12 | 13 | .custom-loading { 14 | @include position($position: absolute, $left: 0, $top: 0); 15 | @include zIndex($zindex: 100); 16 | width: 100%; 17 | height: 100%; 18 | background-color: rgba(255, 255, 255, 0.95); 19 | overflow: hidden; 20 | } 21 | 22 | .custom-loading .custom-loading-round { 23 | @include position($position: absolute, $left: 0, $top: 0, $right: 0, $bottom: 0); 24 | @include radius(50%); 25 | width: rem(30px); 26 | height: rem(30px); 27 | border: 2px solid $main; 28 | border-left-color: transparent; 29 | animation: custom-loading-rotate 1s linear infinite; 30 | margin: auto; 31 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "strict": true, 6 | "jsx": "preserve", 7 | "importHelpers": true, 8 | "moduleResolution": "node", 9 | "experimentalDecorators": true, 10 | "allowJs": true, 11 | "esModuleInterop": true, 12 | "allowSyntheticDefaultImports": true, 13 | "sourceMap": true, 14 | "baseUrl": ".", 15 | "types": [ 16 | "webpack-env", 17 | "jest" 18 | ], 19 | "paths": { 20 | "@/*": [ 21 | "src/*" 22 | ] 23 | }, 24 | "lib": [ 25 | "esnext", 26 | "dom", 27 | "dom.iterable", 28 | "scripthost" 29 | ] 30 | }, 31 | "include": [ 32 | "src/**/*.ts", 33 | "src/**/*.tsx", 34 | "src/**/*.vue", 35 | "tests/**/*.ts", 36 | "tests/**/*.tsx" 37 | ], 38 | "exclude": [ 39 | "node_modules" 40 | ] 41 | } -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | 4 | env: { 5 | node: true 6 | }, 7 | 8 | 'extends': [ 9 | 'plugin:vue/essential', 10 | '@vue/standard', 11 | '@vue/typescript' 12 | ], 13 | 14 | rules: { 15 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 16 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 17 | 'padded-blocks': 0, 18 | 'space-before-function-paren': 0, 19 | 'vue/no-parsing-error': [2, { 20 | 'x-invalid-end-tag': false 21 | }], 22 | 'prefer-promise-reject-errors': 0, 23 | 'import/no-duplicates': 0, 24 | 'vue/valid-v-for': 0 25 | }, 26 | 27 | parserOptions: { 28 | parser: '@typescript-eslint/parser' 29 | }, 30 | 31 | overrides: [ 32 | { 33 | files: [ 34 | '**/__tests__/*.{j,t}s?(x)', 35 | '**/tests/unit/**/*.spec.{j,t}s?(x)' 36 | ], 37 | env: { 38 | jest: true 39 | } 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/scss/mixins.scss: -------------------------------------------------------------------------------- 1 | /* mixins 工具函数 */ 2 | 3 | // rem转换 4 | @function rem($px){ 5 | $remSize: $px / 192px; 6 | @return $remSize * 1rem; 7 | } 8 | 9 | // 圆角 10 | @mixin radius($px: 0) { 11 | border-radius: $px; 12 | } 13 | 14 | // 边框盒子 15 | @mixin borderBox() { 16 | box-sizing: border-box; 17 | } 18 | // flex布局 19 | @mixin flex($justify: flex-start, $align: flex-start, $direction: row) { 20 | display: flex; 21 | justify-content: $justify; 22 | align-items: $align; 23 | flex-direction: $direction; 24 | } 25 | 26 | @mixin position($position: relative, $top: initial, $right: initial, $bottom: initial, $left: initial) { 27 | position: $position; 28 | left: $left; 29 | right: $right; 30 | bottom: $bottom; 31 | top: $top, 32 | } 33 | 34 | // 解决绝对定位偏移差 35 | @mixin transAbsolute($top: initial, $left: initial) { 36 | transform: translate($top, $left); 37 | } 38 | 39 | // 设置层级 40 | @mixin zIndex($zindex: 0) { 41 | z-index: $zindex; 42 | } 43 | 44 | @mixin setScroll($x: hidden, $y: auto) { 45 | overflow-x: $x; 46 | overflow-y: $y; 47 | } -------------------------------------------------------------------------------- /src/components/Paging.vue: -------------------------------------------------------------------------------- 1 | 7 | 30 | 31 | 38 | -------------------------------------------------------------------------------- /src/tools/class/TimeUttil.ts: -------------------------------------------------------------------------------- 1 | class TimeUtil { 2 | // 时间格式化 3 | format(date: Date, formatText: string = 'yyyy-mm-dd hh:mm:ss') { 4 | date = new Date(date) 5 | const year: number = date.getFullYear() 6 | const month: number = date.getMonth() + 1 7 | const day: number = date.getDay() 8 | formatText = formatText 9 | .replace(/yyyy/i, String(year)) 10 | .replace(/mm/i, String(month)) 11 | .replace(/dd/i, String(day)) 12 | .replace(/hh/i, String(date.getHours())) 13 | .replace(/mm/g, `$2${String(date.getMinutes())}`) 14 | .replace(/ss/i, String(date.getSeconds())) 15 | return formatText || '' 16 | } 17 | // 获取当前日期 18 | getDate(date:Date = new Date()) { 19 | return { 20 | 'year': date.getFullYear(), // => 获取当前年份 21 | 'month': date.getMonth() + 1, // => 获取当前月 22 | 'day': date.getDay() // => 获取当前日期 23 | } 24 | } 25 | // 获取当前时间 26 | getTime(date: Date = new Date()) { 27 | return { 28 | 'hour': date.getHours(), 29 | 'minutes': date.getMinutes(), 30 | 'seconds': date.getSeconds() 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/assets/scss/mode.d.scss: -------------------------------------------------------------------------------- 1 | // scss 布局模型 2 | @import '@/assets/scss/mixins.scss'; 3 | 4 | /* 滚动条 */ 5 | .scroll-wrapper{ 6 | overflow: auto; 7 | overflow-x: hidden; 8 | } 9 | 10 | /* 加载动画 */ 11 | 12 | @keyframes loadingFrames { 13 | from { transform: rotate(0deg); } 14 | 50% { transform: rotate(180deg); } 15 | to { transform: rotate(360deg); } 16 | } 17 | 18 | .start-loading { 19 | animation: loadingFrames 1s linear infinite; 20 | } 21 | 22 | /* 左侧 */ 23 | .side-wrapper{ 24 | background: rgba(255, 255, 255, .5); 25 | } 26 | 27 | .table-scroll{ 28 | .ivu-table{ 29 | display: flex !important; 30 | flex-direction: column !important; 31 | .ivu-table-footer{ 32 | height: 0; 33 | } 34 | .ivu-table-tip{ 35 | display: none; 36 | } 37 | .ivu-table-body{ 38 | position: relative; 39 | flex: 1; 40 | overflow-y: auto; 41 | overflow-x: hidden; 42 | table{ 43 | height: 100%; 44 | position: absolute; 45 | top: 0; 46 | } 47 | } 48 | } 49 | } 50 | 51 | .table-page{ 52 | .ivu-table-footer{ 53 | height: 48px !important; 54 | line-height: 48px !important; 55 | } 56 | } -------------------------------------------------------------------------------- /src/api/axios.config.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | import { AxiosResponse, AxiosRequestConfig } from 'axios' 3 | import { getStorage } from '@/tools/storage' 4 | import iView from 'view-design' 5 | 6 | /* 创建axios实例 */ 7 | const axiosObject: any = axios 8 | const Progress: any = iView 9 | const service = axiosObject.default.create({ 10 | // baseURL: 'http://api.wangfanghua.top:7300/mock/5e3eab4e216d1377dea9be86/service', 11 | baseURL: '/', 12 | timeout: 4000, // 请求超时时间 13 | maxContentLength: 4000 14 | }) 15 | 16 | // 拦截器 - 请求 17 | service.interceptors.request.use((config: AxiosRequestConfig) => { 18 | const token: string = getStorage('token') 19 | config.headers['X-Token'] = token || '' 20 | return config 21 | }) 22 | 23 | // 拦截器 - 响应 24 | service.interceptors.response.use((response: AxiosResponse) => { 25 | Progress.LoadingBar.start() 26 | // 开始加载进度条 27 | if (response.status === 200) { 28 | Progress.LoadingBar.finish() 29 | return response.data 30 | } else { 31 | Progress.LoadingBar.error() 32 | console.warn('请求发生错误') 33 | } 34 | }, (error: any) => { 35 | Progress.LoadingBar.error() 36 | return Promise.reject(error) 37 | }) 38 | 39 | export default service 40 | -------------------------------------------------------------------------------- /dist/css/chunk-3b6f00e2.028e7cd0.css: -------------------------------------------------------------------------------- 1 | .login-container[data-v-40b05d3e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;height:100%}.login-container .mick-wrapper[data-v-40b05d3e]{width:7rem;height:100%}.login-container .mick-wrapper img[data-v-40b05d3e]{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.login-container .form-wrapper[data-v-40b05d3e]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%;background:#fff;padding:.10417rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.login-container .form-wrapper .logo[data-v-40b05d3e]{padding-bottom:.15625rem;font-size:.15625rem}.login-container .form-wrapper .logo__icon[data-v-40b05d3e]{font-size:.15625rem}.login-container .form-wrapper .inuput-icon[data-v-40b05d3e]{padding:.01563rem}.login-container .form-wrapper .item__upword[data-v-40b05d3e]{float:right} -------------------------------------------------------------------------------- /src/router/defaultRoutes.ts: -------------------------------------------------------------------------------- 1 | import { RouteConfig } from 'vue-router' 2 | import Layout from '@/layout/Home.vue' 3 | 4 | const defaultRoutes: RouteConfig[] = [ 5 | { 6 | path: '/', 7 | name: 'dashboard', 8 | component: Layout, 9 | redirect: '/dashboard', 10 | meta: { 11 | title: '仪表盘', 12 | icon: 'fa-rocket', 13 | hidden: false 14 | }, 15 | children: [{ 16 | path: '/dashboard', 17 | name: 'dashboard', 18 | meta: { 19 | title: '仪表盘', 20 | icon: 'fa-rocket', 21 | hidden: false 22 | }, 23 | component: (resolve: any) => { 24 | require(['@/views/Dash/dash.vue'], resolve) 25 | } 26 | }] 27 | }, 28 | { 29 | path: '/login', 30 | name: 'login', 31 | meta: { 32 | title: '登录', 33 | icon: 'air-login-bars', 34 | hidden: true 35 | }, 36 | component: (resolve: any) => { 37 | require(['@/views/Login'], resolve) 38 | } 39 | }, 40 | { 41 | path: '/404', 42 | name: 'error', 43 | meta: { 44 | title: '错误页面', 45 | icon: '', 46 | hidden: true 47 | }, 48 | component: (resolve: any) => { 49 | require(['@/views/Error/404'], resolve) 50 | } 51 | } 52 | ] 53 | 54 | export default defaultRoutes 55 | -------------------------------------------------------------------------------- /src/tools/directive/loading.js: -------------------------------------------------------------------------------- 1 | // js 文件 2 | import Vue from 'vue' 3 | import './loading.scss' 4 | 5 | Vue.directive('loading', { 6 | bind: (el, binding) => { 7 | const tempDiv = document.createElement('div') 8 | tempDiv.className = 'custom-loading' 9 | const round = document.createElement('div') 10 | round.className = 'custom-loading-round' 11 | tempDiv.appendChild(round) 12 | el.loadingElement = tempDiv 13 | const curStyle = window.getComputedStyle(el) 14 | const position = curStyle.position 15 | if (position === 'absolute' || position === 'relative') { 16 | el.style.position = position 17 | } else { 18 | el.style.position = 'relative' 19 | } 20 | if (binding.value) { 21 | el.appendChild(tempDiv) 22 | } 23 | }, 24 | update: (el, binding) => { 25 | if (binding.value) { 26 | if (el.loadingElement.parentNode === null) { 27 | el.appendChild(el.loadingElement) 28 | } 29 | } else { 30 | if (el === el.loadingElement.parentNode) { 31 | el.removeChild(el.loadingElement) 32 | } 33 | } 34 | }, 35 | unbind: (el) => { 36 | if (el.loadingElement.parentNode === el) { 37 | el.removeChild(el.loadingElement) 38 | } 39 | el.loadingElement = null 40 | } 41 | }) 42 | -------------------------------------------------------------------------------- /src/layout/Menu/index.vue: -------------------------------------------------------------------------------- 1 | 23 | 42 | 43 | 45 | -------------------------------------------------------------------------------- /src/components/Search.vue: -------------------------------------------------------------------------------- 1 | 17 | 39 | 40 | 43 | -------------------------------------------------------------------------------- /src/components/FullTable.js: -------------------------------------------------------------------------------- 1 | import { Table } from 'view-design' 2 | export default { 3 | name: 'fill-table', 4 | render(h) { 5 | // 传递prop 6 | const tableProps = {} 7 | for (let prop in Table.props) { 8 | tableProps[prop] = this[prop] 9 | } 10 | tableProps.height = this.tableHeight 11 | 12 | return h(Table, { 13 | props: tableProps, 14 | ref: 'table', 15 | // 传递事件 16 | on: this.$listeners, 17 | // 传递作用域插槽 18 | scopedSlots: this.$scopedSlots, 19 | // 传递插槽 20 | slot: this.$slot 21 | }) 22 | }, 23 | props: (() => { 24 | var props = {} 25 | Object.assign(props, Table.props, { 26 | height: { 27 | type: Number 28 | }, 29 | /** 默认占满父容器 */ 30 | fill: { 31 | type: Boolean, 32 | default: true 33 | } 34 | }) 35 | return props 36 | })(), 37 | watch: { 38 | height: { 39 | handler() { 40 | this.tableHeight = this.height 41 | } 42 | }, 43 | immediate: true 44 | }, 45 | data() { 46 | // 自带属性值 47 | return { 48 | tableHeight: 0 49 | } 50 | }, 51 | methods: { 52 | handleIViewTableResize(el) { 53 | this.tableHeight = el.offsetHeight 54 | }, 55 | getTableRef() { 56 | return this.$refs.table 57 | } 58 | }, 59 | mounted() { 60 | if (this.fill) { 61 | this.getTableRef().observer.listenTo(this.$el, this.handleIViewTableResize) 62 | } 63 | // 传递方法 64 | for (let method in Table.methods) { 65 | this[method] = (...args) => Table.methods[method].apply(this.getTableRef(), args) 66 | } 67 | }, 68 | 69 | beforeDestroy() { 70 | if (this.fill) { 71 | this.getTableRef().observer.removeListener(this.$el, this.handleIViewTableResize) 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bweb_visual_vue", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "test:unit": "vue-cli-service test:unit", 9 | "lint": "vue-cli-service lint" 10 | }, 11 | "dependencies": { 12 | "@antv/data-set": "^0.11.0", 13 | "@antv/g2": "^3.5.11", 14 | "@antv/g2plot": "^0.11.22", 15 | "axios": "^0.19.2", 16 | "core-js": "^3.4.4", 17 | "nprogress": "^0.2.0", 18 | "view-design": "^4.1.1", 19 | "viser-vue": "^2.4.8", 20 | "vue": "^2.6.10", 21 | "vue-class-component": "^7.0.2", 22 | "vue-property-decorator": "^8.3.0", 23 | "vue-router": "^3.1.3", 24 | "vuex": "^3.1.2", 25 | "vuex-class": "^0.3.2" 26 | }, 27 | "devDependencies": { 28 | "@fortawesome/fontawesome-free": "^5.12.1", 29 | "@types/jest": "^24.0.19", 30 | "@types/mockjs": "^1.0.2", 31 | "@vue/cli-plugin-babel": "^4.1.0", 32 | "@vue/cli-plugin-eslint": "^4.1.0", 33 | "@vue/cli-plugin-router": "^4.1.0", 34 | "@vue/cli-plugin-typescript": "^4.1.2", 35 | "@vue/cli-plugin-unit-jest": "^4.2.3", 36 | "@vue/cli-plugin-vuex": "^4.1.0", 37 | "@vue/cli-service": "^4.1.0", 38 | "@vue/eslint-config-standard": "^4.0.0", 39 | "@vue/eslint-config-typescript": "^4.0.0", 40 | "@vue/test-utils": "1.0.0-beta.31", 41 | "babel-eslint": "^10.0.3", 42 | "eslint": "^5.16.0", 43 | "eslint-plugin-vue": "^5.0.0", 44 | "iview-loader": "^1.3.0", 45 | "lib-flexible": "^0.3.2", 46 | "lint-staged": "^9.5.0", 47 | "mockjs": "^1.1.0", 48 | "node-sass": "^4.13.1", 49 | "sass-loader": "^8.0.2", 50 | "typescript": "~3.5.3", 51 | "vue-amap": "^0.5.10", 52 | "vue-template-compiler": "^2.6.10" 53 | }, 54 | "gitHooks": { 55 | "pre-commit": "lint-staged" 56 | }, 57 | "lint-staged": { 58 | "*.{js,vue}": [ 59 | ] 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /dist/js/chunk-d606f42a.2764f94e.js: -------------------------------------------------------------------------------- 1 | (window['webpackJsonp'] = window['webpackJsonp'] || []).push([['chunk-d606f42a'], { '29cd': function(t, a, s) { 'use strict'; var c = s('ba9c'); var i = s.n(c); i.a }, '8f20': function(t, a, s) { t.exports = s.p + 'img/404.a57b6f31.png' }, 9163: function(t, a, s) { t.exports = s.p + 'img/404-cloud.0f4bc32b.png' }, afa4: function(t, a, s) { 'use strict'; s.r(a); var c = function() { var t = this; var a = t.$createElement; var s = t._self._c || a; return s('div', { staticClass: 'wscn-http404-container' }, [s('div', { staticClass: 'wscn-http404' }, [t._m(0), s('div', { staticClass: 'text-404' }, [s('div', { staticClass: 'text-404__title' }, [t._v(' 提示! ')]), s('div', { staticClass: 'text-404__headline' }, [t._v(' ' + t._s(t.message) + ' ')]), s('div', { staticClass: 'text-404__info' }, [t._v(' 请检查您输入的网址是否正确,或者点击下面的按钮返回首页。 ')]), s('Button', { attrs: { type: 'error', size: 'large', to: '/' } }, [t._v('返回首页')])], 1)])]) }; var i = [function() { var t = this; var a = t.$createElement; var c = t._self._c || a; return c('div', { staticClass: 'pic-404' }, [c('img', { staticClass: 'pic-404__parent', attrs: { src: s('8f20'), alt: '404' } }), c('img', { staticClass: 'pic-404__child left', attrs: { src: s('9163'), alt: '404' } }), c('img', { staticClass: 'pic-404__child mid', attrs: { src: s('9163'), alt: '404' } }), c('img', { staticClass: 'pic-404__child right', attrs: { src: s('9163'), alt: '404' } })]) }]; var e = s('d4ec'); var n = s('99de'); var r = s('7e84'); var l = s('262e'); var o = s('9ab4'); var _ = s('60a3'); var p = (function(t) { function a() { var t; return Object(e['a'])(this, a), t = Object(n['a'])(this, Object(r['a'])(a).apply(this, arguments)), t.message = '404 Page Not Found', t } return Object(l['a'])(a, t), a }(_['e'])); p = o['a']([Object(_['a'])({ name: 'Page404' })], p); var u = p; var d = u; var f = (s('29cd'), s('2877')); var v = Object(f['a'])(d, c, i, !1, null, '4c21301e', null); a['default'] = v.exports }, ba9c: function(t, a, s) {} }]) 2 | // # sourceMappingURL=chunk-d606f42a.2764f94e.js.map 3 | -------------------------------------------------------------------------------- /src/router/routeConfig.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 路由管理器和守卫 3 | */ 4 | import Routes from '@/router' 5 | import { Route } from 'vue-router' 6 | import { RouteConfig } from 'vue-router' 7 | import { getStorage } from '@/tools/storage' 8 | import { LoadingBar, Message } from 'view-design' 9 | import Store from '@/store' 10 | 11 | // 初始化message 12 | const $Message: any = Message 13 | // 定向白名单 14 | const whiteList: Array = ['/login', '/404'] 15 | Routes.beforeEach(async (to: Route, from:Route, next: any) => { 16 | LoadingBar.start() 17 | if (to.path === '/404') { 18 | next() 19 | LoadingBar.finish() 20 | return 21 | } 22 | // 1.验证token 23 | const token: string | null | undefined = getStorage('token') 24 | if (token) { 25 | // token存在 26 | if (to.path === '/login') { 27 | next({ path: '/' }) 28 | } else { 29 | // 非login,判断roles权限 30 | const roles: Array = Store.getters.roles 31 | if (roles.length < 1) { 32 | // 没有权限,获取个人用户信息 33 | try { 34 | // 获取个人信息 35 | const status: boolean = await Store.dispatch('USERINFO') 36 | if (status) { 37 | // 重新鉴权,绘制路由列表 38 | const roles: Array = Store.getters.roles 39 | const RoutesList: RouteConfig[] = await Store.dispatch('GenerateRoutes', roles) 40 | Routes.addRoutes(RoutesList) 41 | next({ ...to, replace: true }) 42 | } else { 43 | // 登录接口调用失败,网络异常跳转到错误页面 44 | next({ path: '/404' }) 45 | } 46 | } catch (e) { 47 | // token错误 48 | const status: boolean = await Store.dispatch('logout') 49 | status && $Message.error('令牌授权错误,重新登录') 50 | next(`/login`) 51 | } 52 | } else { 53 | next() 54 | } 55 | } 56 | } else { 57 | // token 不存在 58 | whiteList.indexOf(to.path) !== -1 ? next() : next('/login') 59 | } 60 | }) 61 | 62 | // 路由守卫完成 63 | Routes.afterEach(() => { 64 | // 守卫加载完成 65 | LoadingBar.finish() 66 | }) 67 | -------------------------------------------------------------------------------- /src/store/module/user.ts: -------------------------------------------------------------------------------- 1 | import { MutationTree, ActionTree } from 'vuex' 2 | import { upLogin, Person } from '@/api/Login/inex' 3 | import { setStorage, removeStorage } from '@/tools/storage' 4 | 5 | interface IState { 6 | name: string, 7 | token: string, 8 | avatar: string, 9 | roles: Array 10 | } 11 | const state: IState = { 12 | name: '', 13 | token: '', 14 | avatar: '', 15 | roles: [] 16 | } 17 | 18 | const mutations: MutationTree = { 19 | _setName: (state: IState, name: string): void => { 20 | state.name = name 21 | }, 22 | _setToken: (state: IState, token: string): void => { 23 | state.token = token 24 | }, 25 | _setAvatar: (state: IState, avatar: string): void => { 26 | state.avatar = avatar 27 | }, 28 | _setRoles: (state: IState, roles: Array): void => { 29 | state.roles = roles 30 | } 31 | } 32 | 33 | const actions: ActionTree = { 34 | LOGIN({ commit }, formData: object) { 35 | return new Promise(async (resolve, reject) => { 36 | try { 37 | const { data } = await upLogin(formData) 38 | console.log(data) 39 | if (data.success) { 40 | setStorage('token', data.token) 41 | commit('_setToken', data.token) 42 | } 43 | return resolve(data) 44 | } catch (error) { 45 | console.log(error) 46 | return reject({ 47 | success: false, 48 | message: '请求失败' 49 | }) 50 | } 51 | }) 52 | }, 53 | // 请求个人信息接口 54 | async USERINFO({ commit }): Promise { 55 | try { 56 | const { data } = await Person() 57 | // 设置个人信息 58 | commit('_setName', data.name) 59 | commit('_setAvatar', data.avatar) 60 | commit('_setRoles', data.roles) 61 | return Promise.resolve(true) 62 | } catch (e) { 63 | console.error(e, '个人信息接口异常') 64 | } 65 | }, 66 | logout(): Promise { 67 | // 清除token 68 | removeStorage('token') 69 | return Promise.resolve(true) 70 | } 71 | } 72 | 73 | export default { 74 | state, 75 | mutations, 76 | actions 77 | } 78 | -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | bweb_visual_vue
-------------------------------------------------------------------------------- /src/store/module/promiss.ts: -------------------------------------------------------------------------------- 1 | import { MutationTree, ActionTree } from 'vuex' 2 | import { RouteConfig } from 'vue-router' 3 | import defaultRoutes from '@/router/defaultRoutes' 4 | import rolesRoutes from '@/router/rolesRoutes' 5 | // 路由参数接口 6 | interface IPromiss { 7 | currentRoutes: RouteConfig[], 8 | addRoutes: RouteConfig[] 9 | } 10 | 11 | // state 状态 12 | const state: IPromiss = { 13 | currentRoutes: [], 14 | addRoutes: [] 15 | } 16 | 17 | // mutations方法 18 | const mutations: MutationTree = { 19 | _setRoutesList: (state: IPromiss, list: RouteConfig[]) => { 20 | state.addRoutes = list 21 | state.currentRoutes = defaultRoutes.concat(list) 22 | } 23 | } 24 | 25 | // 异步 26 | const actions: ActionTree = { 27 | /** 28 | * 生成路由列表 29 | * @param state.commit 提交对象 30 | * @param roles 用户权限 31 | */ 32 | GenerateRoutes({ commit }, roles: Array): Promise { 33 | return new Promise((resolve: any) => { 34 | let sendRoutes: RouteConfig[] 35 | if (roles.includes('root')) { 36 | // 当前为root权限,自动加载所有路由 37 | sendRoutes = rolesRoutes 38 | } else { 39 | sendRoutes = filterRoutes(rolesRoutes, roles) 40 | } 41 | commit('_setRoutesList', sendRoutes) 42 | console.log(sendRoutes, 'send') 43 | resolve(sendRoutes) 44 | }) 45 | } 46 | } 47 | 48 | /** 49 | * 判断路由权限是否存在 50 | * @param route 路由 51 | * @param roles 用户权限列表 52 | */ 53 | function hasRoles(route: RouteConfig, roles: Array): boolean { 54 | if (route.meta && route.meta.roles) { 55 | // 如果meta中存在路由权限列表 56 | return roles.some((role: string) => route.meta.roles.includes(role)) 57 | } 58 | return true 59 | } 60 | 61 | /** 62 | * 过滤权限方法 63 | * @param routes 异步路由表 64 | * @param roles 用户权限列表 65 | */ 66 | function filterRoutes(routes: RouteConfig[], roles: Array): RouteConfig[] { 67 | let result: RouteConfig[] = [] 68 | routes.forEach((item: RouteConfig) => { 69 | let temp = { ...item } 70 | if (hasRoles(temp, roles)) { 71 | if (temp.children) filterRoutes(temp.children, roles) 72 | } 73 | result.push(temp) 74 | }) 75 | return result 76 | } 77 | export default { 78 | state, 79 | mutations, 80 | actions 81 | } 82 | -------------------------------------------------------------------------------- /dist/css/chunk-947d9ce0.9d516d3f.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading{-webkit-animation:loadingFrames 1s linear infinite;animation:loadingFrames 1s linear infinite}.side-wrapper{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer{height:0}.table-scroll .ivu-table .ivu-table-tip{display:none}.table-scroll .ivu-table .ivu-table-body{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table{height:100%;position:absolute;top:0}.table-page .ivu-table-footer{height:48px!important;line-height:48px!important}.dash-container{height:100%}.dash-container .container{width:100%;height:100%;padding:.10417rem .26042rem .10417rem .26042rem;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;grid-column-gap:.05208rem;grid-row-gap:.05208rem;position:relative}.dash-container .container .charts-all{width:100%}.dash-container .container .charts-all .ivu-card-body{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dash-container .container .charts-all .title-tool{-webkit-box-flex:0;-ms-flex:0 0 .20833rem;flex:0 0 .20833rem;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.dash-container .container .charts-all #charts-body{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1} -------------------------------------------------------------------------------- /src/assets/icon/oder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/layout/Home.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 38 | 100 | -------------------------------------------------------------------------------- /dist/js/chunk-e2a90842.89160a6e.js: -------------------------------------------------------------------------------- 1 | (window['webpackJsonp'] = window['webpackJsonp'] || []).push([['chunk-e2a90842'], { '677e': function(t, e, a) { 'use strict'; var s = a('982f'); var n = a.n(s); n.a }, '944e': function(t, e, a) { 'use strict'; a.r(e); var s = function() { var t = this; var e = t.$createElement; var a = t._self._c || e; return a('div', { staticClass: 'inform-container' }, [a('div', { staticClass: 'container' }, [a('div', { staticClass: 'scroll-wrapper' }, [a('Row', { attrs: { gutter: 16, 'class-name': 'notice-row' } }, t._l(t.noticeList, function(e, s) { return a('Col', { key: s, attrs: { span: 6, 'class-name': 'notice-column' } }, [a('Card', { staticClass: 'notice-view' }, [a('div', { staticClass: 'notice-rote' }, [a('i-circle', { staticClass: 'rote', attrs: { percent: e.rote.percen, size: 100 } }, [a('div', [a('h5', [t._v('预警率')]), a('span', [t._v(t._s(e.rote.percen) + '%')])])]), a('div', { staticClass: 'dot-status' }, [a('Tag', { attrs: { color: e.rote.status ? 'success' : 'error' } }, [t._v('设备当前:' + t._s(e.rote.status ? '正常' : '警报'))]), a('p', [t._v('更新时间:')]), a('span', [t._v(t._s(e.rote.date))])], 1)], 1), a('ul', { staticClass: 'info-list' }, t._l(e.notice, function(e, s) { return a('li', { key: s, staticClass: 'info-item' }, [a('span', [t._v(t._s(t.noticeInfoKey[s]))]), a('span', [t._v(t._s(e))])]) }), 0)])], 1) }), 1)], 1)])]) }; var n = []; var r = (a('96cf'), a('1da1')); var c = a('d4ec'); var i = a('bee2'); var o = a('99de'); var u = a('7e84'); var l = a('262e'); var p = a('9ab4'); var v = a('60a3'); var f = a('5c0a'); function d(t) { return Object(f['a'])({ url: '/noticeDevice', method: 'get', params: t }) } var h = a('02bc'); var b = (function(t) { function e() { var t; return Object(c['a'])(this, e), t = Object(o['a'])(this, Object(u['a'])(e).apply(this, arguments)), t.noticeInfoKey = ['编号', '报警设备', '信息', '阈值', '所在公司', '预计发生时间'], t.noticeList = [], t } return Object(l['a'])(e, t), Object(i['a'])(e, [{ key: 'getCardListView', value: (function() { var t = Object(r['a'])(regeneratorRuntime.mark(function t() { var e; var a; var s; var n = arguments; return regeneratorRuntime.wrap(function(t) { while (1) switch (t.prev = t.next) { case 0:return e = n.length > 0 && void 0 !== n[0] ? n[0] : {}, t.prev = 1, t.next = 4, d(e); case 4:a = t.sent, s = a.data, this.noticeList = s.list, t.next = 13; break; case 9:t.prev = 9, t.t0 = t['catch'](1), console.error(t.t0, '获取预警设备'), this.$Message.error('发生错误:'.concat(t.t0)); case 13:case 'end':return t.stop() } }, t, this, [[1, 9]]) })); function e() { return t.apply(this, arguments) } return e }()) }, { key: 'created', value: function() { this.getCardListView() } }]), e }(v['e'])); b = p['a']([Object(v['a'])({ components: { Empty: h['a'] } })], b); var _ = b; var w = _; var m = (a('677e'), a('2877')); var C = Object(m['a'])(w, s, n, !1, null, '20fb0a3f', null); e['default'] = C.exports }, '982f': function(t, e, a) {} }]) 2 | // # sourceMappingURL=chunk-e2a90842.89160a6e.js.map 3 | -------------------------------------------------------------------------------- /src/components/SystemSetting.vue: -------------------------------------------------------------------------------- 1 | 35 | 61 | 62 | 98 | -------------------------------------------------------------------------------- /dist/css/chunk-e2a90842.b948c855.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-20fb0a3f]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-20fb0a3f{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-20fb0a3f{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-20fb0a3f]{-webkit-animation:loadingFrames-data-v-20fb0a3f 1s linear infinite;animation:loadingFrames-data-v-20fb0a3f 1s linear infinite}.side-wrapper[data-v-20fb0a3f]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-20fb0a3f]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-20fb0a3f]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-20fb0a3f]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-20fb0a3f]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-20fb0a3f]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-20fb0a3f]{height:48px!important;line-height:48px!important}.inform-container[data-v-20fb0a3f]{height:100%;width:100%;padding:.10417rem .26042rem .10417rem .26042rem;overflow:auto}.inform-container .container[data-v-20fb0a3f]{height:100%}.inform-container .container .scroll-wrapper[data-v-20fb0a3f]{position:relative;height:100%;width:100%}.inform-container .container .scroll-wrapper .notice-row[data-v-20fb0a3f]{position:absolute;left:0;right:auto;bottom:auto;top:0}.inform-container .container .scroll-wrapper .notice-row .notice-column[data-v-20fb0a3f]{margin-top:.08333rem}.inform-container .container .scroll-wrapper .notice-row .notice-column .notice-view .notice-rote[data-v-20fb0a3f]{padding-bottom:.05208rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.inform-container .container .scroll-wrapper .notice-row .notice-column .notice-view .notice-rote .dot-status p[data-v-20fb0a3f]{padding:.02604rem;color:#333}.inform-container .container .scroll-wrapper .notice-row .notice-column .notice-view .notice-rote .dot-status span[data-v-20fb0a3f]{padding:.02604rem;color:#666973}.inform-container .container .scroll-wrapper .notice-row .notice-column .notice-view .info-list .info-item[data-v-20fb0a3f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding-top:.05208rem}.inform-container .container .scroll-wrapper .warning-card-wrapper[data-v-20fb0a3f]{position:absolute;left:0;right:auto;bottom:auto;top:0} -------------------------------------------------------------------------------- /src/components/Toolbar.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 59 | 60 | 115 | -------------------------------------------------------------------------------- /src/views/Warning/noticeWarn.vue: -------------------------------------------------------------------------------- 1 | 34 | 67 | 68 | 116 | -------------------------------------------------------------------------------- /dist/css/chunk-7f0368e4.27051a52.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-0cf26beb]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-0cf26beb]{-webkit-animation:loadingFrames-data-v-0cf26beb 1s linear infinite;animation:loadingFrames-data-v-0cf26beb 1s linear infinite}.side-wrapper[data-v-0cf26beb]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-0cf26beb]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-0cf26beb]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-0cf26beb]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-0cf26beb]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-0cf26beb]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-0cf26beb]{height:48px!important;line-height:48px!important}.scroll-wrapper[data-v-7feb53a4]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-7feb53a4{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-7feb53a4{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-7feb53a4]{-webkit-animation:loadingFrames-data-v-7feb53a4 1s linear infinite;animation:loadingFrames-data-v-7feb53a4 1s linear infinite}.side-wrapper[data-v-7feb53a4]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-7feb53a4]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-7feb53a4]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-7feb53a4]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-7feb53a4]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-7feb53a4]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-7feb53a4]{height:48px!important;line-height:48px!important}.inform-container[data-v-7feb53a4]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:auto;padding:.10417rem .26042rem .10417rem .26042rem}.inform-container .container[data-v-7feb53a4]{-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column}.inform-container .container .table-wrapper[data-v-7feb53a4],.inform-container .container[data-v-7feb53a4]{width:100%;-webkit-box-flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal}.inform-container .container .table-wrapper[data-v-7feb53a4]{-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:flex-start;flex-direction:flex-start}.inform-container .container .table-wrapper .log-wrapper[data-v-7feb53a4]{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-left:.10417rem;height:100%}.inform-container .container .table-wrapper .table-view[data-v-7feb53a4]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%} -------------------------------------------------------------------------------- /src/views/User/userNavtion.vue: -------------------------------------------------------------------------------- 1 | 44 | 92 | 93 | 121 | -------------------------------------------------------------------------------- /dist/css/chunk-dfc49b32.9aa2d1f7.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-0cf26beb]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-0cf26beb]{-webkit-animation:loadingFrames-data-v-0cf26beb 1s linear infinite;animation:loadingFrames-data-v-0cf26beb 1s linear infinite}.side-wrapper[data-v-0cf26beb]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-0cf26beb]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-0cf26beb]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-0cf26beb]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-0cf26beb]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-0cf26beb]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-0cf26beb]{height:48px!important;line-height:48px!important}.scroll-wrapper[data-v-a09b8084]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-a09b8084{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-a09b8084{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-a09b8084]{-webkit-animation:loadingFrames-data-v-a09b8084 1s linear infinite;animation:loadingFrames-data-v-a09b8084 1s linear infinite}.side-wrapper[data-v-a09b8084]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-a09b8084]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-a09b8084]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-a09b8084]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-a09b8084]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-a09b8084]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-a09b8084]{height:48px!important;line-height:48px!important}.part-container[data-v-a09b8084]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:auto;padding:.10417rem .26042rem .10417rem .26042rem}.part-container .container[data-v-a09b8084]{-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.part-container .container .table-wrapper[data-v-a09b8084],.part-container .container[data-v-a09b8084]{width:100%;-webkit-box-flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:start;align-items:flex-start;-webkit-box-direction:normal}.part-container .container .table-wrapper[data-v-a09b8084]{-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row}.part-container .container .table-wrapper .search-wrapper[data-v-a09b8084]{-webkit-box-flex:0;-ms-flex:0 0 1.5625rem;flex:0 0 1.5625rem;margin-left:.10417rem;height:100%}.part-container .container .table-wrapper .search-wrapper .tool-view .list-btn[data-v-a09b8084]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:.05208rem 0 .05208rem 0}.part-container .container .table-wrapper .table-view[data-v-a09b8084]{height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1} -------------------------------------------------------------------------------- /src/router/rolesRoutes.ts: -------------------------------------------------------------------------------- 1 | import { RouteConfig } from 'vue-router' 2 | import Layout from '@/layout/Home.vue' 3 | import MapView from '@/views/KMS/map.vue' 4 | 5 | const rolesRoutes: RouteConfig[] = [ 6 | { 7 | path: '/deviceManage', 8 | name: 'deviceManage', 9 | meta: { 10 | title: '设备管理', 11 | icon: 'fa-adjust', 12 | hidden: false 13 | }, 14 | component: Layout, 15 | children: [{ 16 | path: '/deviceManage', 17 | name: 'deviceManage', 18 | meta: { 19 | title: '设备管理', 20 | icon: 'fa-adjust', 21 | hidden: false 22 | }, 23 | component: (resolve: any) => { 24 | require(['@/views/Shop/index.vue'], resolve) 25 | } 26 | }] 27 | }, 28 | { 29 | path: '/warningAdmin', 30 | name: 'warningAdmin', 31 | meta: { 32 | title: '警告管理', 33 | icon: 'fa-exclamation-triangle', 34 | hidden: false 35 | }, 36 | component: Layout, 37 | children: [{ 38 | path: '/warningList', 39 | name: 'warningList', 40 | meta: { 41 | title: '实时预警', 42 | icon: 'fa-bell', 43 | hidden: false 44 | }, 45 | component: (resolve: any) => { 46 | require(['@/views/Warning/WarnList'], resolve) 47 | } 48 | }, 49 | { 50 | path: '/warningHistory', 51 | name: 'warningHistory', 52 | meta: { 53 | title: '历史报警', 54 | icon: 'fa-radiation-alt', 55 | hidden: false 56 | }, 57 | component: (resolve: any) => { 58 | require(['@/views/Warning/historyWarn'], resolve) 59 | } 60 | }, 61 | { 62 | path: '/warningNotice', 63 | name: 'warningNotice', 64 | meta: { 65 | title: '设备预警', 66 | icon: 'fa-fire-alt', 67 | hidden: false 68 | }, 69 | component: (resolve: any) => { 70 | require(['@/views/Warning/noticeWarn'], resolve) 71 | } 72 | }] 73 | }, 74 | { 75 | path: '/kmsadmin', 76 | name: 'kmsadmin', 77 | meta: { 78 | title: '分布地图', 79 | icon: 'fa-truck', 80 | hidden: false 81 | }, 82 | component: Layout, 83 | redirect: '/kmsmap', 84 | children: [ 85 | { 86 | path: '/kmsmap', 87 | name: 'kmsadmin', 88 | meta: { 89 | title: '分布地图', 90 | icon: 'fa-truck', 91 | hidden: false 92 | }, 93 | component: MapView 94 | } 95 | ] 96 | }, 97 | { 98 | path: '/useradmin', 99 | name: 'useradmin', 100 | meta: { 101 | title: '人员管理', 102 | icon: 'fa-user', 103 | hidden: false 104 | }, 105 | component: Layout, 106 | redirect: '/useradmin/user', 107 | children: [ 108 | { 109 | path: '/useradmin/user', 110 | name: 'user', 111 | meta: { 112 | title: '账号管理', 113 | icon: 'fa-user', 114 | hidden: false 115 | }, 116 | component: (resolve: any) => { 117 | require(['@/views/User/index.vue'], resolve) 118 | } 119 | }, 120 | { 121 | path: '/useradmin/inform', 122 | name: 'inform', 123 | meta: { 124 | title: '账号申报', 125 | icon: 'fa-rss-square', 126 | hidden: false 127 | }, 128 | component: (resolve: any) => { 129 | require(['@/views/User/userNavtion.vue'], resolve) 130 | } 131 | } 132 | ] 133 | }, 134 | { 135 | path: '/AdminSetting', 136 | name: 'AdminSetting', 137 | meta: { 138 | title: '系统设置', 139 | icon: 'fa-wrench', 140 | hidden: false 141 | }, 142 | component: Layout, 143 | children: [{ 144 | path: '/roleSetting', 145 | name: 'roleSetting', 146 | meta: { 147 | title: '权限设置', 148 | icon: 'fa-user-shield', 149 | hidden: false 150 | }, 151 | component: (resolve: any) => { 152 | require(['@/views/Setting/part.vue'], resolve) 153 | } 154 | }, 155 | { 156 | path: '/siteSetting', 157 | name: 'siteSetting', 158 | meta: { 159 | title: '站点设置', 160 | icon: 'fa-user-edit', 161 | hidden: false 162 | }, 163 | component: (resolve: any) => { 164 | require(['@/views/Setting/slite.vue'], resolve) 165 | } 166 | }, 167 | { 168 | path: '/companySetting', 169 | name: 'companySetting', 170 | meta: { 171 | title: '公司设置', 172 | icon: 'fa-building', 173 | hidden: false 174 | } 175 | }] 176 | } 177 | ] 178 | 179 | export default rolesRoutes 180 | -------------------------------------------------------------------------------- /src/layout/Header/index.vue: -------------------------------------------------------------------------------- 1 | 51 | 52 | 107 | 108 | 140 | -------------------------------------------------------------------------------- /dist/css/chunk-667b7e20.5d3099c3.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-0cf26beb]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-0cf26beb]{-webkit-animation:loadingFrames-data-v-0cf26beb 1s linear infinite;animation:loadingFrames-data-v-0cf26beb 1s linear infinite}.side-wrapper[data-v-0cf26beb]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-0cf26beb]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-0cf26beb]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-0cf26beb]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-0cf26beb]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-0cf26beb]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-0cf26beb]{height:48px!important;line-height:48px!important}.scroll-wrapper[data-v-0809ba7c]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-0809ba7c{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-0809ba7c{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-0809ba7c]{-webkit-animation:loadingFrames-data-v-0809ba7c 1s linear infinite;animation:loadingFrames-data-v-0809ba7c 1s linear infinite}.side-wrapper[data-v-0809ba7c]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-0809ba7c]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-0809ba7c]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-0809ba7c]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-0809ba7c]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-0809ba7c]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-0809ba7c]{height:48px!important;line-height:48px!important}.slite-slot-mg[data-v-0809ba7c]{width:.78125rem;padding-right:.07813rem}.slite-container[data-v-0809ba7c]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:auto;padding:.10417rem .26042rem .10417rem .26042rem}.slite-container .container[data-v-0809ba7c]{-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.slite-container .container .table-wrapper[data-v-0809ba7c],.slite-container .container[data-v-0809ba7c]{width:100%;-webkit-box-flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:start;align-items:flex-start;-webkit-box-direction:normal}.slite-container .container .table-wrapper[data-v-0809ba7c]{-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row}.slite-container .container .table-wrapper .search-wrapper[data-v-0809ba7c]{-webkit-box-flex:0;-ms-flex:0 0 1.5625rem;flex:0 0 1.5625rem;margin-left:.10417rem;height:100%}.slite-container .container .table-wrapper .search-wrapper .tool-view .list-btn[data-v-0809ba7c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:.05208rem 0 .05208rem 0}.slite-container .container .table-wrapper .table-view[data-v-0809ba7c]{height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1} -------------------------------------------------------------------------------- /dist/js/chunk-d606f42a.2764f94e.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/views/Error/404.vue?0ecd","webpack:///./src/assets/img/404.png","webpack:///./src/assets/img/404-cloud.png","webpack:///./src/views/Error/404.vue?1c1f","webpack:///./src/views/Error/404.vue","webpack:///./src/views/Error/404.vue?54f9","webpack:///./src/views/Error/404.vue?b2e1"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","staticClass","_m","_v","_s","message","attrs","staticRenderFns","name","component"],"mappings":"kHAAA,yBAAqjB,EAAG,G,uBCAxjBA,EAAOC,QAAU,IAA0B,wB,qBCA3CD,EAAOC,QAAU,IAA0B,8B,yCCA3C,IAAIC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACN,EAAIO,GAAG,GAAGH,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACN,EAAIQ,GAAG,WAAWJ,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACN,EAAIQ,GAAG,IAAIR,EAAIS,GAAGT,EAAIU,SAAS,OAAON,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACN,EAAIQ,GAAG,oCAAoCJ,EAAG,SAAS,CAACO,MAAM,CAAC,KAAO,QAAQ,KAAO,QAAQ,GAAK,MAAM,CAACX,EAAIQ,GAAG,WAAW,QACphBI,EAAkB,CAAC,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,kBAAkBK,MAAM,CAAC,IAAM,EAAQ,QAAwB,IAAM,SAASP,EAAG,MAAM,CAACE,YAAY,sBAAsBK,MAAM,CAAC,IAAM,EAAQ,QAA8B,IAAM,SAASP,EAAG,MAAM,CAACE,YAAY,qBAAqBK,MAAM,CAAC,IAAM,EAAQ,QAA8B,IAAM,SAASP,EAAG,MAAM,CAACE,YAAY,uBAAuBK,MAAM,CAAC,IAAM,EAAQ,QAA8B,IAAM,a,wEC8CjjB,cAHA,iD,+DAIU,EAAAD,QAAU,qBAJpB,EAGA,8BAA6B,QAA7B,UAHC,eAAU,CACTG,KAAM,aAIP,G,QCjD+Y,I,wBCQ5YC,EAAY,eACd,EACAf,EACAa,GACA,EACA,KACA,WACA,MAIa,aAAAE,E","file":"js/chunk-d606f42a.2764f94e.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=style&index=0&id=4c21301e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=style&index=0&id=4c21301e&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/404.a57b6f31.png\";","module.exports = __webpack_public_path__ + \"img/404-cloud.0f4bc32b.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wscn-http404-container\"},[_c('div',{staticClass:\"wscn-http404\"},[_vm._m(0),_c('div',{staticClass:\"text-404\"},[_c('div',{staticClass:\"text-404__title\"},[_vm._v(\" 提示! \")]),_c('div',{staticClass:\"text-404__headline\"},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),_c('div',{staticClass:\"text-404__info\"},[_vm._v(\" 请检查您输入的网址是否正确,或者点击下面的按钮返回首页。 \")]),_c('Button',{attrs:{\"type\":\"error\",\"size\":\"large\",\"to\":\"/\"}},[_vm._v(\"返回首页\")])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pic-404\"},[_c('img',{staticClass:\"pic-404__parent\",attrs:{\"src\":require(\"@/assets/img/404.png\"),\"alt\":\"404\"}}),_c('img',{staticClass:\"pic-404__child left\",attrs:{\"src\":require(\"@/assets/img/404-cloud.png\"),\"alt\":\"404\"}}),_c('img',{staticClass:\"pic-404__child mid\",attrs:{\"src\":require(\"@/assets/img/404-cloud.png\"),\"alt\":\"404\"}}),_c('img',{staticClass:\"pic-404__child right\",attrs:{\"src\":require(\"@/assets/img/404-cloud.png\"),\"alt\":\"404\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n name: 'Page404'\r\n})\r\nexport default class extends Vue {\r\n private message = '404 Page Not Found'\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=4c21301e&scoped=true&\"\nimport script from \"./404.vue?vue&type=script&lang=ts&\"\nexport * from \"./404.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./404.vue?vue&type=style&index=0&id=4c21301e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c21301e\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/js/chunk-3b6f00e2.9246aaf4.js: -------------------------------------------------------------------------------- 1 | (window['webpackJsonp'] = window['webpackJsonp'] || []).push([['chunk-3b6f00e2'], { 3832: function(e, t, r) {}, '709b': function(e, t, r) { 'use strict'; var s = r('3832'); var o = r.n(s); o.a }, b9e5: function(e, t, r) { e.exports = r.p + 'img/login_background.68321d0f.jpg' }, d9c9: function(e, t, r) { 'use strict'; r.r(t); var s = function() { var e = this; var t = e.$createElement; var s = e._self._c || t; return s('div', { staticClass: 'login-container' }, [s('Modal', { attrs: { title: '申报丢失密码', width: 350 }, model: { value: e.openDialog, callback: function(t) { e.openDialog = t }, expression: 'openDialog' } }, [s('Form', { ref: 'userRoles', attrs: { model: e.formApply, 'label-width': 80, rules: e.rules } }, [s('FormItem', { attrs: { label: '申报账号', prop: 'user' } }, [s('Input', { attrs: { placeholtder: '请输入设备密码', type: 'password', password: '' }, model: { value: e.formApply.password, callback: function(t) { e.$set(e.formApply, 'password', t) }, expression: 'formApply.password' } })], 1), s('FormItem', { attrs: { label: '申报人', prop: 'name' } }, [s('Input', { attrs: { placeholtder: '请输入设备名称' }, model: { value: e.formApply.name, callback: function(t) { e.$set(e.formApply, 'name', t) }, expression: 'formApply.name' } })], 1)], 1), s('template', { slot: 'footer' }, [s('Button', { attrs: { type: 'text' }, on: { click: function(t) { return e.cancel('userRoles') } } }, [e._v('取消')]), s('Button', { attrs: { type: 'primary', disabled: e.isSubmit, loading: e.isSubmit }, on: { click: function(t) { return e.submit('userRoles') } } }, [e._v('提交')])], 1)], 2), s('div', { staticClass: 'mick-wrapper' }, [s('img', { attrs: { src: r('b9e5'), alt: '' } })]), s('div', { staticClass: 'form-wrapper' }, [s('div', { staticClass: 'logo' }), s('Form', { ref: 'formInline', attrs: { model: e.formLogin, rules: e.loginRules } }, [s('FormItem', { attrs: { prop: 'user' } }, [s('Input', { attrs: { type: 'text', placeholder: '请输入账号', size: 'large' }, model: { value: e.formLogin.user, callback: function(t) { e.$set(e.formLogin, 'user', t) }, expression: 'formLogin.user' } }, [s('i', { staticClass: 'fas fa-user inuput-icon', attrs: { slot: 'prepend' }, slot: 'prepend' })])], 1), s('FormItem', { attrs: { prop: 'password' } }, [s('Input', { attrs: { type: e.isPassword ? 'password' : 'text', placeholder: '请输入密码', size: 'large' }, model: { value: e.formLogin.password, callback: function(t) { e.$set(e.formLogin, 'password', t) }, expression: 'formLogin.password' } }, [s('i', { staticClass: 'inuput-icon fas', class: e.isPassword ? 'fa-question-circle' : 'fa-smile', attrs: { slot: 'prepend' }, on: { click: function(t) { e.isPassword = !e.isPassword } }, slot: 'prepend' })])], 1), s('FormItem', { staticClass: 'item' }, [s('Checkbox', { model: { value: e.isRemember, callback: function(t) { e.isRemember = t }, expression: 'isRemember' } }, [e._v('记住账号')]), s('Button', { staticClass: 'item__upword', attrs: { type: 'text' }, on: { click: function(t) { e.openDialog = !0 } } }, [e._v('申报密码?')])], 1), s('FormItem', [s('Button', { attrs: { type: 'success', size: 'large', long: '', loading: e.isLogin, disabled: e.isLogin }, on: { click: function(t) { return e.submitLoginForm('formInline') } }, nativeOn: { keyup: function(t) { return !t.type.indexOf('key') && e._k(t.keyCode, 'enter', 13, t.key, 'Enter') ? null : e.submitLoginForm('formInline') } } }, [e._v('登录系统')])], 1)], 1)], 1)], 1) }; var o = []; var n = (r('ac1f'), r('5319'), r('96cf'), r('1da1')); var i = r('d4ec'); var a = r('bee2'); var l = r('99de'); var u = r('7e84'); var c = r('262e'); var p = r('9ab4'); var m = r('4bb5'); var f = r('60a3'); var d = r('09aa'); var g = (r('b9e5'), (function(e) { function t() { var e; return Object(i['a'])(this, t), e = Object(l['a'])(this, Object(u['a'])(t).apply(this, arguments)), e.isLogin = !1, e.formLogin = {}, e.isRemember = !1, e.isSubmit = !1, e.isPassword = !0, e.openDialog = !1, e.formApply = {}, e.rules = { user: [{ required: !0, message: '申报用户不能为空', trigger: 'blur' }], name: [{ required: !0, message: '密码不能为空', trigger: 'blur' }] }, e.loginRules = { user: [{ required: !0, message: '账号(用户名)不能为空', trigger: 'blur' }], password: [{ required: !0, message: '密码不能为空', trigger: 'blur' }] }, e } return Object(c['a'])(t, e), Object(a['a'])(t, [{ key: 'submitLoginForm', value: function(e) { var t; var r = this; t = this.$refs[e], t.validate(function() { var e = Object(n['a'])(regeneratorRuntime.mark(function e(t) { var s, o, n; return regeneratorRuntime.wrap(function(e) { while (1) switch (e.prev = e.next) { case 0:if (!t) { e.next = 9; break } return r.isLogin = !0, r.isRemember && Object(d['c'])('userinfo', r.formLogin), e.next = 5, r.LOGIN(r.formLogin); case 5:s = e.sent, o = s.success, n = s.message, o ? (r.$Message.success(n), r.isLogin = !1, r.$router.replace({ path: '/' })) : (r.$Message.error(n), r.isLogin = !1); case 9:case 'end':return e.stop() } }, e) })); return function(t) { return e.apply(this, arguments) } }()) } }, { key: 'cancel', value: function(e) { var t = this.$refs[e]; this.openDialog = !1, this.formApply = {}, t.resetFields() } }, { key: 'submit', value: function(e) { var t = this.$refs[e]; t.validate(function() { var e = Object(n['a'])(regeneratorRuntime.mark(function e(t) { return regeneratorRuntime.wrap(function(e) { while (1) switch (e.prev = e.next) { case 0:case 1:case 'end':return e.stop() } }, e) })); return function(t) { return e.apply(this, arguments) } }()) } }, { key: 'mounted', value: function() { var e = this; this.$nextTick(function() { e.$Notice.info({ title: '您好,访问者', desc: '该项目为Demo项目,账户admin, 密码123456', duration: 0, name: 'loginTip' }) }) } }, { key: 'destroyed', value: function() { this.$Notice.close('loginTip') } }, { key: 'created', value: function() { var e = Object(d['a'])('userinfo'); var t = e.user; this.$set(this.formLogin, 'user', t) } }]), t }(f['e']))); p['a']([Object(m['a'])('LOGIN')], g.prototype, 'LOGIN', void 0), g = p['a']([f['a']], g); var b = g; var v = b; var w = (r('709b'), r('2877')); var y = Object(w['a'])(v, s, o, !1, null, '40b05d3e', null); t['default'] = y.exports } }]) 2 | // # sourceMappingURL=chunk-3b6f00e2.9246aaf4.js.map 3 | -------------------------------------------------------------------------------- /src/views/Login/index.vue: -------------------------------------------------------------------------------- 1 | 48 | 49 | 134 | 135 | 173 | -------------------------------------------------------------------------------- /src/components/ZoomImage.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 109 | 110 | 176 | -------------------------------------------------------------------------------- /dist/js/chunk-7f0368e4.7841a1f7.js: -------------------------------------------------------------------------------- 1 | (window['webpackJsonp'] = window['webpackJsonp'] || []).push([['chunk-7f0368e4'], { '6d7e': function(t, e, a) { 'use strict'; var s = a('ada0'); var n = a.n(s); n.a }, '7d3d': function(t, e, a) { 'use strict'; a.r(e); var s = function() { var t = this; var e = t.$createElement; var a = t._self._c || e; return a('div', { staticClass: 'inform-container' }, [a('div', { staticClass: 'container' }, [a('div', { staticClass: 'table-wrapper' }, [a('Table', { staticClass: 'table-view table-scroll', attrs: { border: '', columns: t.columnConfig, data: t.tableData, loading: t.isTableList }, scopedSlots: t._u([{ key: 'action', fn: function(e) { var s = e.row; return [a('Button', { attrs: { type: 'success', size: 'small' }, on: { click: function(e) { return t.seeDetails(s.id) } } }, [t._v('重置')]), a('Button', { attrs: { type: 'error', size: 'small' }, on: { click: function(e) { return t.seeDetails(s.id) } } }, [t._v('忽略')])] } }, { key: 'status', fn: function(e) { var s = e.row; return [a('Tag', { attrs: { color: s.status ? 'success' : 'error' } }, [t._v(t._s(s.status ? '在线' : '离线'))])] } }, { key: 'loading', fn: function() { return [a('Spin', { staticClass: 'spin-wrapper', attrs: { fix: '' } }, [a('Icon', { staticClass: 'start-loading', attrs: { type: 'ios-loading', size: '30' } }), a('span', [t._v('Loading')])], 1)] }, proxy: !0 }]) }, [a('template', { slot: 'footer' }, [t.tableData.length ? t._e() : a('Empty', { attrs: { text: '还没有上报的账号记录' } })], 1)], 2), a('Table', { staticClass: 'log-wrapper table-scroll', attrs: { border: '', columns: t.frostConfig, data: t.FrostData, loading: t.isTableList }, scopedSlots: t._u([{ key: 'action', fn: function(e) { var s = e.row; return [a('Button', { attrs: { type: 'success', size: 'small' }, on: { click: function(e) { return t.seeDetails(s.id) } } }, [t._v('启用')])] } }, { key: 'status', fn: function(e) { var s = e.row; return [a('Tag', { attrs: { color: s.status ? 'success' : 'error' } }, [t._v(t._s(s.status ? '在线' : '离线'))])] } }, { key: 'loading', fn: function() { return [a('Spin', { staticClass: 'spin-wrapper', attrs: { fix: '' } }, [a('Icon', { staticClass: 'start-loading', attrs: { type: 'ios-loading', size: '30' } }), a('span', [t._v('Loading')])], 1)] }, proxy: !0 }]) }, [a('template', { slot: 'footer' }, [t.FrostData.length ? t._e() : a('Empty', { attrs: { text: '还没有冻结的账号记录' } })], 1)], 2)], 1)])]) }; var n = []; var r = a('d4ec'); var i = a('99de'); var c = a('7e84'); var o = a('262e'); var l = a('9ab4'); var u = a('60a3'); var d = a('6908'); var f = a('02bc'); var p = a('c106'); var h = (function(t) { function e() { var t; return Object(r['a'])(this, e), t = Object(i['a'])(this, Object(c['a'])(e).apply(this, arguments)), t.columnConfig = [{ title: 'ID', key: 'id', width: 60, align: 'center' }, { title: '帐号', key: 'user' }, { title: '姓名', key: 'name' }, { title: '申报时间', key: 'createTime' }, { title: '操作', key: 'action', slot: 'action', align: 'center', width: 200 }], t.frostConfig = [{ title: 'ID', key: 'id', width: 60, align: 'center' }, { title: '帐号', key: 'user' }, { title: '姓名', key: 'name' }, { title: '锁定时间', key: 'createTime' }, { title: '锁定原因', key: 'createTime' }, { title: '操作', key: 'action', slot: 'action', align: 'center', width: 200 }], t.tableData = [], t.FrostData = [], t.isTableList = !1, t } return Object(o['a'])(e, t), e }(u['e'])); h = l['a']([Object(u['a'])({ components: { Toolbar: d['a'], Empty: f['a'], Search: p['a'] } })], h); var y = h; var b = y; var k = (a('dc2f'), a('2877')); var v = Object(k['a'])(b, s, n, !1, null, '7feb53a4', null); e['default'] = v.exports }, '95d6': function(t, e, a) {}, ada0: function(t, e, a) {}, c106: function(t, e, a) { 'use strict'; var s = function() { var t = this; var e = t.$createElement; var a = t._self._c || e; return a('Form', { attrs: { value: t.searchData, 'label-colon': !0 } }, [t._l(t.config, function(e, s) { return a('FormItem', { key: s, attrs: { label: e.label } }, [e.isSelect ? a('Select', { attrs: { placeholder: e.info }, model: { value: t.searchData[e.key], callback: function(a) { t.$set(t.searchData, e.key, a) }, expression: 'searchData[item.key]' } }, t._l(e.options, function(e) { return a('Option', { key: e.value, attrs: { value: e.value } }, [t._v(t._s(e.label))]) }), 1) : e.isDateTime ? a('DatePicker', { attrs: { type: 'datetime', placeholder: e.info }, model: { value: t.searchData[e.key], callback: function(a) { t.$set(t.searchData, e.key, a) }, expression: 'searchData[item.key]' } }) : e.isUnite ? a('Cascader', { attrs: { data: e.options, placeholder: e.info }, model: { value: t.searchData[e.key], callback: function(a) { t.$set(t.searchData, e.key, a) }, expression: 'searchData[item.key]' } }) : a('Input', { attrs: { placeholder: e.info }, model: { value: t.searchData[e.key], callback: function(a) { t.$set(t.searchData, e.key, a) }, expression: 'searchData[item.key]' } })], 1) }), a('FormItem', [a('Button', { attrs: { type: 'primary', loading: t.isSearch, disabled: t.isSearch }, on: { click: function(e) { return e.stopPropagation(), t.handleSearch(t.searchData) } } }, [t._v('立即搜索')]), a('Button', { staticStyle: { 'margin-left': '10px' }, on: { click: function(e) { return e.stopPropagation(), t.handleReset(e) } } }, [t._v('重置')])], 1)], 2) }; var n = []; var r = a('d4ec'); var i = a('bee2'); var c = a('99de'); var o = a('7e84'); var l = a('262e'); var u = a('9ab4'); var d = a('60a3'); var f = (function(t) { function e() { var t; return Object(r['a'])(this, e), t = Object(c['a'])(this, Object(o['a'])(e).apply(this, arguments)), t.searchData = {}, t.isSearch = !1, t } return Object(l['a'])(e, t), Object(i['a'])(e, [{ key: 'handleSearch', value: function(t) { var e = this; return this.isSearch = !0, setTimeout(function() { e.isSearch = !1 }, 1e3), this.searchData } }, { key: 'handleReset', value: function() { this.searchData = {} } }]), e }(d['e'])); u['a']([Object(d['d'])({ required: !0 })], f.prototype, 'config', void 0), u['a']([Object(d['b'])('onSearchData')], f.prototype, 'handleSearch', null), f = u['a']([d['a']], f); var p = f; var h = p; var y = (a('6d7e'), a('2877')); var b = Object(y['a'])(h, s, n, !1, null, '0cf26beb', null); e['a'] = b.exports }, dc2f: function(t, e, a) { 'use strict'; var s = a('95d6'); var n = a.n(s); n.a } }]) 2 | // # sourceMappingURL=chunk-7f0368e4.7841a1f7.js.map 3 | -------------------------------------------------------------------------------- /src/views/Warning/informWarn.vue: -------------------------------------------------------------------------------- 1 | 37 | 126 | 127 | 179 | 181 | -------------------------------------------------------------------------------- /src/views/Dash/index.vue: -------------------------------------------------------------------------------- 1 | 57 | 58 | 91 | 92 | 196 | -------------------------------------------------------------------------------- /src/views/Error/404.vue: -------------------------------------------------------------------------------- 1 | 41 | 42 | 52 | 53 | 251 | -------------------------------------------------------------------------------- /dist/css/chunk-d606f42a.08639829.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-4c21301e]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-4c21301e{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-4c21301e{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-4c21301e]{-webkit-animation:loadingFrames-data-v-4c21301e 1s linear infinite;animation:loadingFrames-data-v-4c21301e 1s linear infinite}.side-wrapper[data-v-4c21301e]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-4c21301e]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-4c21301e]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-4c21301e]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-4c21301e]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-4c21301e]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-4c21301e]{height:48px!important;line-height:48px!important}.wscn-http404-container[data-v-4c21301e]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.wscn-http404[data-v-4c21301e]{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.wscn-http404 .pic-404[data-v-4c21301e],.wscn-http404[data-v-4c21301e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.wscn-http404 .pic-404[data-v-4c21301e]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;width:3.125rem;overflow:hidden}.wscn-http404 .pic-404__parent[data-v-4c21301e]{width:100%}.wscn-http404 .pic-404__child[data-v-4c21301e]{position:absolute}.wscn-http404 .pic-404__child.left[data-v-4c21301e]{width:.41667rem;top:.08854rem;left:1.14583rem;opacity:0;-webkit-animation-name:cloudLeft-data-v-4c21301e;animation-name:cloudLeft-data-v-4c21301e;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.wscn-http404 .pic-404__child.mid[data-v-4c21301e]{width:.23958rem;top:.05208rem;left:2.1875rem;opacity:0;-webkit-animation-name:cloudMid-data-v-4c21301e;animation-name:cloudMid-data-v-4c21301e;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-delay:1.2s;animation-delay:1.2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.wscn-http404 .pic-404__child.right[data-v-4c21301e]{width:.32292rem;top:.52083rem;left:2.60417rem;opacity:0;-webkit-animation-name:cloudRight-data-v-4c21301e;animation-name:cloudRight-data-v-4c21301e;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes cloudLeft-data-v-4c21301e{0%{top:.08854rem;left:1.14583rem;opacity:0}20%{top:.17188rem;left:.97917rem;opacity:1}80%{top:.41667rem;left:.46875rem;opacity:1}to{top:.50521rem;left:.3125rem;opacity:0}}@keyframes cloudLeft-data-v-4c21301e{0%{top:.08854rem;left:1.14583rem;opacity:0}20%{top:.17188rem;left:.97917rem;opacity:1}80%{top:.41667rem;left:.46875rem;opacity:1}to{top:.50521rem;left:.3125rem;opacity:0}}@-webkit-keyframes cloudMid-data-v-4c21301e{0%{top:.05208rem;left:2.1875rem;opacity:0}20%{top:.20833rem;left:1.875rem;opacity:1}70%{top:.67708rem;left:.9375rem;opacity:1}to{top:.83333rem;left:.625rem;opacity:0}}@keyframes cloudMid-data-v-4c21301e{0%{top:.05208rem;left:2.1875rem;opacity:0}20%{top:.20833rem;left:1.875rem;opacity:1}70%{top:.67708rem;left:.9375rem;opacity:1}to{top:.83333rem;left:.625rem;opacity:0}}@-webkit-keyframes cloudRight-data-v-4c21301e{0%{top:.52083rem;left:2.60417rem;opacity:0}20%{top:.625rem;left:2.39583rem;opacity:1}80%{top:.9375rem;left:1.77083rem;opacity:1}to{top:1.04167rem;left:1.5625rem;opacity:0}}@keyframes cloudRight-data-v-4c21301e{0%{top:.52083rem;left:2.60417rem;opacity:0}20%{top:.625rem;left:2.39583rem;opacity:1}80%{top:.9375rem;left:1.77083rem;opacity:1}to{top:1.04167rem;left:1.5625rem;opacity:0}}.wscn-http404 .text-404[data-v-4c21301e]{position:relative;width:1.5625rem;padding:.15625rem 0;overflow:hidden}.wscn-http404 .text-404__title[data-v-4c21301e]{font-size:.15625rem;line-height:.20833rem;color:#007aff;margin-bottom:.10417rem;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .text-404__headline[data-v-4c21301e],.wscn-http404 .text-404__title[data-v-4c21301e]{font-weight:700;opacity:0;-webkit-animation-name:slideUp-data-v-4c21301e;animation-name:slideUp-data-v-4c21301e;-webkit-animation-duration:.5s;animation-duration:.5s}.wscn-http404 .text-404__headline[data-v-4c21301e]{font-size:.10417rem;line-height:.125rem;color:#333;margin-bottom:.0625rem;-webkit-animation-delay:.1s;animation-delay:.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .text-404__info[data-v-4c21301e]{font-size:.0625rem;line-height:.10417rem;color:hsla(0,0%,100%,.7);opacity:0;margin-bottom:30px;-webkit-animation-name:slideUp-data-v-4c21301e;animation-name:slideUp-data-v-4c21301e;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-delay:.2s;animation-delay:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes slideUp-data-v-4c21301e{0%{-webkit-transform:translateY(60px);transform:translateY(60px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slideUp-data-v-4c21301e{0%{-webkit-transform:translateY(60px);transform:translateY(60px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}} -------------------------------------------------------------------------------- /dist/css/chunk-5896f3bc.dbdf5a2e.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-0cf26beb]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-0cf26beb]{-webkit-animation:loadingFrames-data-v-0cf26beb 1s linear infinite;animation:loadingFrames-data-v-0cf26beb 1s linear infinite}.side-wrapper[data-v-0cf26beb]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-0cf26beb]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-0cf26beb]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-0cf26beb]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-0cf26beb]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-0cf26beb]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-0cf26beb]{height:48px!important;line-height:48px!important}.scroll-wrapper[data-v-5c4c1a30]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-5c4c1a30{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-5c4c1a30{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-5c4c1a30]{-webkit-animation:loadingFrames-data-v-5c4c1a30 1s linear infinite;animation:loadingFrames-data-v-5c4c1a30 1s linear infinite}.side-wrapper[data-v-5c4c1a30]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-5c4c1a30]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-5c4c1a30]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-5c4c1a30]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-5c4c1a30]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-5c4c1a30]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-5c4c1a30]{height:48px!important;line-height:48px!important}.pageing-container[data-v-5c4c1a30]{position:absolute;left:auto;right:auto;bottom:0;top:auto;padding:0 .05208rem 0 .05208rem}.scroll-wrapper[data-v-c915737a]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-c915737a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-c915737a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-c915737a]{-webkit-animation:loadingFrames-data-v-c915737a 1s linear infinite;animation:loadingFrames-data-v-c915737a 1s linear infinite}.side-wrapper[data-v-c915737a]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-c915737a]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-c915737a]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-c915737a]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-c915737a]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-c915737a]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-c915737a]{height:48px!important;line-height:48px!important}.avatar-wrapper[data-v-c915737a]{width:100%;text-align:center;height:.78125rem}.avatar-wrapper img[data-v-c915737a]{height:100%;width:.78125rem;border-radius:50%;cursor:pointer;border:5px solid #f5f6f9}.user-container[data-v-c915737a]{height:100%;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column;overflow:auto;padding:.10417rem .26042rem .10417rem .26042rem}.user-container .container[data-v-c915737a],.user-container[data-v-c915737a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal}.user-container .container[data-v-c915737a]{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column}.user-container .container .table-wrapper[data-v-c915737a]{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.user-container .container .table-wrapper .search-wrapper[data-v-c915737a]{-webkit-box-flex:0;-ms-flex:0 0 1.5625rem;flex:0 0 1.5625rem;margin-left:.10417rem;height:100%}.user-container .container .table-wrapper .search-wrapper .tool-view .list-btn[data-v-c915737a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:.05208rem 0 .05208rem 0}.user-container .container .table-wrapper .table-view[data-v-c915737a]{height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1}.user-container .container .table-wrapper .table-view .header-solt[data-v-c915737a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:.05208rem}.user-container .container .table-wrapper .table-view .header-solt .ivu-btn[data-v-c915737a]{margin-left:.05208rem} -------------------------------------------------------------------------------- /dist/js/chunk-e2a90842.89160a6e.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/views/Warning/noticeWarn.vue?ca1a","webpack:///./src/views/Warning/noticeWarn.vue?d8ff","webpack:///./src/api/WarningDevice/noticeDevice.ts","webpack:///./src/views/Warning/noticeWarn.vue","webpack:///./src/views/Warning/noticeWarn.vue?4967","webpack:///./src/views/Warning/noticeWarn.vue?ef2a"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_l","item","index","key","rote","percen","_v","_s","status","date","value","noticeInfoKey","staticRenderFns","getNoticeList","params","url","method","noticeList","data","list","console","error","$Message","getCardListView","components","Empty","component"],"mappings":"kHAAA,yBAA4jB,EAAG,G,2CCA/jB,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACG,MAAM,CAAC,OAAS,GAAG,aAAa,eAAeP,EAAIQ,GAAIR,EAAc,YAAE,SAASS,EAAKC,GAAO,OAAON,EAAG,MAAM,CAACO,IAAID,EAAMH,MAAM,CAAC,KAAO,EAAE,aAAa,kBAAkB,CAACH,EAAG,OAAO,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,WAAW,CAACE,YAAY,OAAOC,MAAM,CAAC,QAAUE,EAAKG,KAAKC,OAAO,KAAO,MAAM,CAACT,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAIc,GAAG,SAASV,EAAG,OAAO,CAACJ,EAAIc,GAAGd,EAAIe,GAAGN,EAAKG,KAAKC,QAAQ,WAAWT,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,MAAM,CAACG,MAAM,CAAC,MAAQE,EAAKG,KAAKI,OAAS,UAAY,UAAU,CAAChB,EAAIc,GAAG,QAAQd,EAAIe,GAAGN,EAAKG,KAAKI,OAAS,KAAO,SAASZ,EAAG,IAAI,CAACJ,EAAIc,GAAG,WAAWV,EAAG,OAAO,CAACJ,EAAIc,GAAGd,EAAIe,GAAGN,EAAKG,KAAKK,UAAU,IAAI,GAAGb,EAAG,KAAK,CAACE,YAAY,aAAaN,EAAIQ,GAAIC,EAAW,QAAE,SAASE,EAAIO,GAAO,OAAOd,EAAG,KAAK,CAACO,IAAIO,EAAMZ,YAAY,aAAa,CAACF,EAAG,OAAO,CAACJ,EAAIc,GAAGd,EAAIe,GAAGf,EAAImB,cAAcD,OAAWd,EAAG,OAAO,CAACJ,EAAIc,GAAGd,EAAIe,GAAGJ,WAAY,MAAM,MAAK,IAAI,QACrlCS,EAAkB,G,wHCChB,SAAUC,EAAcC,GAC5B,OAAO,eAAQ,CACbC,IAAK,gBACLC,OAAQ,MACRF,W,gBCyCiB,EAArB,YALA,iD,+DAMU,EAAAH,cAA+B,CAAC,KAAM,OAAQ,KAAM,KAAM,OAAQ,UAClE,EAAAM,WAA6B,GAPvC,EAKA,8PAKgCH,EALhC,+BAKiD,GALjD,kBAO6BD,EAAcC,GAP3C,gBAOcI,EAPd,EAOcA,KACRzB,KAAKwB,WAAaC,EAAKC,KAR7B,mDAUMC,QAAQC,MAAR,KAAqB,UACrB5B,KAAK6B,SAASD,MAAd,sBAXN,kJAeI5B,KAAK8B,sBAfT,GAAwC,QAAnB,EAAU,QAL9B,eAAU,CACTC,WAAY,CACVC,QAAA,SAGiB,WC/CkY,I,wBCQnZC,EAAY,eACd,EACAnC,EACAqB,GACA,EACA,KACA,WACA,MAIa,aAAAc,E","file":"js/chunk-e2a90842.89160a6e.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./noticeWarn.vue?vue&type=style&index=0&id=20fb0a3f&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./noticeWarn.vue?vue&type=style&index=0&id=20fb0a3f&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"inform-container\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"scroll-wrapper\"},[_c('Row',{attrs:{\"gutter\":16,\"class-name\":\"notice-row\"}},_vm._l((_vm.noticeList),function(item,index){return _c('Col',{key:index,attrs:{\"span\":6,\"class-name\":\"notice-column\"}},[_c('Card',{staticClass:\"notice-view\"},[_c('div',{staticClass:\"notice-rote\"},[_c('i-circle',{staticClass:\"rote\",attrs:{\"percent\":item.rote.percen,\"size\":100}},[_c('div',[_c('h5',[_vm._v(\"预警率\")]),_c('span',[_vm._v(_vm._s(item.rote.percen)+\"%\")])])]),_c('div',{staticClass:\"dot-status\"},[_c('Tag',{attrs:{\"color\":item.rote.status ? 'success' : 'error'}},[_vm._v(\"设备当前:\"+_vm._s(item.rote.status ? '正常' : '警报'))]),_c('p',[_vm._v(\"更新时间:\")]),_c('span',[_vm._v(_vm._s(item.rote.date))])],1)],1),_c('ul',{staticClass:\"info-list\"},_vm._l((item.notice),function(key,value){return _c('li',{key:value,staticClass:\"info-item\"},[_c('span',[_vm._v(_vm._s(_vm.noticeInfoKey[value]))]),_c('span',[_vm._v(_vm._s(key))])])}),0)])],1)}),1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import service from '@/api/axios.config'\r\n\r\nexport function getNoticeList(params: object): Promise {\r\n return service({\r\n url: `/noticeDevice`,\r\n method: 'get',\r\n params\r\n })\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { getNoticeList } from '@/api/WarningDevice/noticeDevice'\r\nimport Empty from '@/components/Empty.vue'\r\ninterface INotice{\r\n rote: object,\r\n notice: Array\r\n}\r\n\r\n@Component({\r\n components: {\r\n Empty\r\n }\r\n})\r\nexport default class DeviceView extends Vue {\r\n private noticeInfoKey: Array = ['编号', '报警设备', '信息', '阈值', '所在公司', '预计发生时间']\r\n private noticeList: Array = []\r\n\r\n // 获取预警设备列表\r\n private async getCardListView(params: object = {}) {\r\n try {\r\n const { data } = await getNoticeList(params)\r\n this.noticeList = data.list\r\n } catch (error) {\r\n console.error(error, '获取预警设备')\r\n this.$Message.error(`发生错误:${error}`)\r\n }\r\n }\r\n private created() {\r\n this.getCardListView()\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./noticeWarn.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./noticeWarn.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./noticeWarn.vue?vue&type=template&id=20fb0a3f&scoped=true&\"\nimport script from \"./noticeWarn.vue?vue&type=script&lang=ts&\"\nexport * from \"./noticeWarn.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./noticeWarn.vue?vue&type=style&index=0&id=20fb0a3f&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20fb0a3f\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/views/Setting/part.vue: -------------------------------------------------------------------------------- 1 | 53 | 173 | 174 | 208 | -------------------------------------------------------------------------------- /src/views/Setting/slite.vue: -------------------------------------------------------------------------------- 1 | 53 | 174 | 175 | 213 | 215 | -------------------------------------------------------------------------------- /dist/css/chunk-619e0eee.6938ff00.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-0cf26beb]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-0cf26beb]{-webkit-animation:loadingFrames-data-v-0cf26beb 1s linear infinite;animation:loadingFrames-data-v-0cf26beb 1s linear infinite}.side-wrapper[data-v-0cf26beb]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-0cf26beb]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-0cf26beb]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-0cf26beb]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-0cf26beb]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-0cf26beb]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-0cf26beb]{height:48px!important;line-height:48px!important}.scroll-wrapper[data-v-5c4c1a30]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-5c4c1a30{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-5c4c1a30{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-5c4c1a30]{-webkit-animation:loadingFrames-data-v-5c4c1a30 1s linear infinite;animation:loadingFrames-data-v-5c4c1a30 1s linear infinite}.side-wrapper[data-v-5c4c1a30]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-5c4c1a30]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-5c4c1a30]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-5c4c1a30]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-5c4c1a30]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-5c4c1a30]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-5c4c1a30]{height:48px!important;line-height:48px!important}.pageing-container[data-v-5c4c1a30]{position:absolute;left:auto;right:auto;bottom:0;top:auto;padding:0 .05208rem 0 .05208rem}.scroll-wrapper[data-v-78972c2d]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-78972c2d{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-78972c2d{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-78972c2d]{-webkit-animation:loadingFrames-data-v-78972c2d 1s linear infinite;animation:loadingFrames-data-v-78972c2d 1s linear infinite}.side-wrapper[data-v-78972c2d]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-78972c2d]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-78972c2d]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-78972c2d]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-78972c2d]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-78972c2d]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-78972c2d]{height:48px!important;line-height:48px!important}.warning-container[data-v-78972c2d]{height:100%;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column;overflow:auto;padding:.10417rem .26042rem .10417rem .26042rem}.warning-container .container[data-v-78972c2d],.warning-container[data-v-78972c2d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal}.warning-container .container[data-v-78972c2d]{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column}.warning-container .container .table-wrapper[data-v-78972c2d]{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.warning-container .container .table-wrapper .shop-info[data-v-78972c2d],.warning-container .container .table-wrapper[data-v-78972c2d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-orient:horizontal}.warning-container .container .table-wrapper .shop-info[data-v-78972c2d]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.warning-container .container .table-wrapper .shop-info img[data-v-78972c2d]{width:.3125rem;height:.36458rem;padding:.02604rem}.warning-container .container .table-wrapper .shop-info .text[data-v-78972c2d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:.26042rem}.warning-container .container .table-wrapper .shop-info .text span[data-v-78972c2d]{font-size:.07292rem;color:hsla(0,0%,100%,.7)}.warning-container .container .table-wrapper .search-wrapper[data-v-78972c2d]{-webkit-box-flex:0;-ms-flex:0 0 1.5625rem;flex:0 0 1.5625rem;margin-left:.10417rem;height:100%}.warning-container .container .table-wrapper .table-view[data-v-78972c2d]{height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1}.warning-container .container .table-wrapper .table-view .header-solt[data-v-78972c2d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:.05208rem}.warning-container .container .table-wrapper .table-view .header-solt .ivu-btn[data-v-78972c2d]{margin-left:.05208rem}.part-container[data-v-78972c2d] .ivu-table-tip{display:none} -------------------------------------------------------------------------------- /dist/css/chunk-2602b94f.c0778966.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-0cf26beb]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-0cf26beb]{-webkit-animation:loadingFrames-data-v-0cf26beb 1s linear infinite;animation:loadingFrames-data-v-0cf26beb 1s linear infinite}.side-wrapper[data-v-0cf26beb]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-0cf26beb]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-0cf26beb]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-0cf26beb]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-0cf26beb]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-0cf26beb]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-0cf26beb]{height:48px!important;line-height:48px!important}.scroll-wrapper[data-v-5c4c1a30]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-5c4c1a30{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-5c4c1a30{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-5c4c1a30]{-webkit-animation:loadingFrames-data-v-5c4c1a30 1s linear infinite;animation:loadingFrames-data-v-5c4c1a30 1s linear infinite}.side-wrapper[data-v-5c4c1a30]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-5c4c1a30]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-5c4c1a30]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-5c4c1a30]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-5c4c1a30]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-5c4c1a30]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-5c4c1a30]{height:48px!important;line-height:48px!important}.pageing-container[data-v-5c4c1a30]{position:absolute;left:auto;right:auto;bottom:0;top:auto;padding:0 .05208rem 0 .05208rem}.scroll-wrapper[data-v-406ca471]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-406ca471{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-406ca471{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-406ca471]{-webkit-animation:loadingFrames-data-v-406ca471 1s linear infinite;animation:loadingFrames-data-v-406ca471 1s linear infinite}.side-wrapper[data-v-406ca471]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-406ca471]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-406ca471]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-406ca471]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-406ca471]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-406ca471]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-406ca471]{height:48px!important;line-height:48px!important}.history-container[data-v-406ca471]{height:100%;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column;overflow:auto;padding:.10417rem .26042rem .10417rem .26042rem}.history-container .container[data-v-406ca471],.history-container[data-v-406ca471]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal}.history-container .container[data-v-406ca471]{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column}.history-container .container .table-wrapper[data-v-406ca471]{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.history-container .container .table-wrapper .shop-info[data-v-406ca471],.history-container .container .table-wrapper[data-v-406ca471]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-orient:horizontal}.history-container .container .table-wrapper .shop-info[data-v-406ca471]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.history-container .container .table-wrapper .shop-info img[data-v-406ca471]{width:.3125rem;height:.36458rem;padding:.02604rem}.history-container .container .table-wrapper .shop-info .text[data-v-406ca471]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:.26042rem}.history-container .container .table-wrapper .shop-info .text span[data-v-406ca471]{font-size:.07292rem;color:hsla(0,0%,100%,.7)}.history-container .container .table-wrapper .search-wrapper[data-v-406ca471]{-webkit-box-flex:0;-ms-flex:0 0 1.5625rem;flex:0 0 1.5625rem;margin-left:.10417rem;height:100%}.history-container .container .table-wrapper .table-view[data-v-406ca471]{height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1}.history-container .container .table-wrapper .table-view .header-solt[data-v-406ca471]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:.05208rem}.history-container .container .table-wrapper .table-view .header-solt .ivu-btn[data-v-406ca471]{margin-left:.05208rem}.history-container[data-v-406ca471] .ivu-table-tip{display:none} -------------------------------------------------------------------------------- /dist/css/chunk-38c098e0.22122674.css: -------------------------------------------------------------------------------- 1 | .scroll-wrapper[data-v-0cf26beb]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-0cf26beb{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-0cf26beb]{-webkit-animation:loadingFrames-data-v-0cf26beb 1s linear infinite;animation:loadingFrames-data-v-0cf26beb 1s linear infinite}.side-wrapper[data-v-0cf26beb]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-0cf26beb]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-0cf26beb]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-0cf26beb]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-0cf26beb]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-0cf26beb]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-0cf26beb]{height:48px!important;line-height:48px!important}.scroll-wrapper[data-v-5c4c1a30]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-5c4c1a30{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-5c4c1a30{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-5c4c1a30]{-webkit-animation:loadingFrames-data-v-5c4c1a30 1s linear infinite;animation:loadingFrames-data-v-5c4c1a30 1s linear infinite}.side-wrapper[data-v-5c4c1a30]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-5c4c1a30]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-5c4c1a30]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-5c4c1a30]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-5c4c1a30]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-5c4c1a30]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-5c4c1a30]{height:48px!important;line-height:48px!important}.pageing-container[data-v-5c4c1a30]{position:absolute;left:auto;right:auto;bottom:0;top:auto;padding:0 .05208rem 0 .05208rem}.scroll-wrapper[data-v-a6f28116]{overflow:auto;overflow-x:hidden}@-webkit-keyframes loadingFrames-data-v-a6f28116{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingFrames-data-v-a6f28116{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.start-loading[data-v-a6f28116]{-webkit-animation:loadingFrames-data-v-a6f28116 1s linear infinite;animation:loadingFrames-data-v-a6f28116 1s linear infinite}.side-wrapper[data-v-a6f28116]{background:hsla(0,0%,100%,.5)}.table-scroll .ivu-table[data-v-a6f28116]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.table-scroll .ivu-table .ivu-table-footer[data-v-a6f28116]{height:0}.table-scroll .ivu-table .ivu-table-tip[data-v-a6f28116]{display:none}.table-scroll .ivu-table .ivu-table-body[data-v-a6f28116]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden}.table-scroll .ivu-table .ivu-table-body table[data-v-a6f28116]{height:100%;position:absolute;top:0}.table-page .ivu-table-footer[data-v-a6f28116]{height:48px!important;line-height:48px!important}.part-container[data-v-a6f28116]{height:100%;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column;overflow:auto;padding:.10417rem .26042rem .10417rem .26042rem}.part-container .container[data-v-a6f28116],.part-container[data-v-a6f28116]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal}.part-container .container[data-v-a6f28116]{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-pack:start;-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column}.part-container .container .table-wrapper[data-v-a6f28116]{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.part-container .container .table-wrapper .shop-info[data-v-a6f28116],.part-container .container .table-wrapper[data-v-a6f28116]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-orient:horizontal}.part-container .container .table-wrapper .shop-info[data-v-a6f28116]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.part-container .container .table-wrapper .shop-info img[data-v-a6f28116]{width:.3125rem;height:.36458rem;padding:.02604rem}.part-container .container .table-wrapper .shop-info .text[data-v-a6f28116]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:.26042rem}.part-container .container .table-wrapper .shop-info .text span[data-v-a6f28116]{font-size:.07292rem;color:hsla(0,0%,100%,.7)}.part-container .container .table-wrapper .search-wrapper[data-v-a6f28116]{-webkit-box-flex:0;-ms-flex:0 0 1.5625rem;flex:0 0 1.5625rem;margin-left:.10417rem;height:100%}.part-container .container .table-wrapper .search-wrapper .tool-view .list-btn[data-v-a6f28116]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:.05208rem 0 .05208rem 0}.part-container .container .table-wrapper .table-view[data-v-a6f28116]{height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1}.part-container .container .table-wrapper .table-view .header-solt[data-v-a6f28116]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:.05208rem}.part-container .container .table-wrapper .table-view .header-solt .ivu-btn[data-v-a6f28116]{margin-left:.05208rem}.part-container[data-v-a6f28116] .ivu-table-tip{display:none} -------------------------------------------------------------------------------- /src/views/Warning/WarnList.vue: -------------------------------------------------------------------------------- 1 | 75 | 170 | 171 | 222 | 227 | --------------------------------------------------------------------------------