Commit f68760ee authored by 李成龙's avatar 李成龙

增加菜单导航

parents
module.exports = {
zip: 'command-1.1.1.zip', // default
extra: ['amos.config.js','favicon.ico'],
dirs:[
{fromDir: 'src/assets/**',toDir: 'released/src/assets/'},
{fromDir: 'src/themes/**',toDir: 'released/themes/'},
{fromDir: 'extra/**',toDir: 'released/extra/'},
{fromDir: 'IMSDK/**',toDir: 'released/IMSDK/'},
{fromDir: 'src/_mock/**',toDir: 'released/src/_mock/'}
],
nonDist: true
};
# http://editorconfig.org
#这个文件用来配置当前整个项目的格式化参数
#需要安装EditorConfig for VS Code 插件
# A special property that should be specified at the top of the file outside of
# any sections. Set to true to stop .editor config file search on current file
root = true
# Unix-style newlines with a newline ending every file
[*]
# Indentation style
# Possible values - tab, space
# 缩进风格
# 可选的值为- tab, space
indent_style = space
# Indentation size in single-spaced characters
# Possible values - an integer, tab
# 缩进几个tab ,空格
indent_size = 2
# Line ending file format
# Possible values - lf, crlf, cr
end_of_line = lf
# File character encoding
# Possible values - latin1, utf-8, utf-16be, utf-16le
# 设置编码
charset = utf-8
# Denotes whether to trim whitespace at the end of lines
# Possible values - true, false
trim_trailing_whitespace = true
# Denotes whether file should end with a newline
# Possible values - true, false
insert_final_newline = true
# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 4
webpack.config*.js
node_modules/
**/node_modules/**
module.exports = {
extends: 'eslint-config-ray',
globals: {
location: true
}
}
node_modules
\ No newline at end of file
package-lock=false
save=false
registry=http://172.16.11.26:9696/
sass_binary_site=http://172.16.11.26:8888/node-sass
node_modules
lib
src/assets/
{
"printWidth": 160,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"parser": "babylon",
"trailingComma": "none",
"bracketSpacing": true,
"jsxBracketSameLine": false,
"arrowParens": "avoid",
"requirePragma": false,
"proseWrap": "preserve",
"overrides": [
{
"files": ["*.json", ".eslintrc", ".tslintrc", ".prettierrc", ".tern-project", ".travis.yml"],
"options": {
"parser": "json",
"tabWidth": 2
}
},
{
"files": "*.css",
"options": {
"parser": "css",
"tabWidth": 2
}
},
{
"files": "*.{sass,scss}",
"options": {
"parser": "scss",
"tabWidth": 2
}
},
{
"files": "*.less",
"options": {
"parser": "less",
"tabWidth": 2
}
},
{
"files": "*.ts",
"options": {
"parser": "typescript"
}
}
]
}
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>newOneMapView</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.aptana.ide.core.unifiedBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.aptana.projects.webnature</nature>
<nature>com.aptana.ruby.core.rubynature</nature>
</natures>
</projectDescription>
**/node_modules/**
lib/
dist/
released/
src/assets/
**/*.js
{
"extends": "stylelint-config-ray"
}
/**
* amos 系统配置信息
* @author ilex.h
*/
!(function() {
var Amos = {};
Amos.config = {
httpURI: {
//业务系统地址
baseURI: 'http://172.16.11.38:8899/',
//安全平台地址
securityBaseURI: 'http://172.16.10.72:10005/',
//基础平台
loginURI: 'http://172.16.10.72/'
},
// websocket 地址
wsURI: {
baseURI: 'ws://172.16.11.20:10600/'
},
// 外部链接地址
outterURI: {
},
// 系统配置信息 主要是为了区分各子系统
sysConf: {
needHeartBeat: true,
sysType: {
key: '',
text: ''
},
name: '电力消防综合管控平台'
}
};
// 配置日志系统
var LogConfig = {
isDebug: true // 调试模式时打印日志
};
window.Amos = Amos;
window.LogConfig = LogConfig;
window.demo = true;
})();
@echo off
title AmosBuild Guide
@echo author ilex.h
@echo Starting front end initialization Wizard...
npm run pub:build && npm run zip
//-----------------------------------------------------------
// notice: do not modify this file content except entry/alias
// you can modify some config such as
// `showProgress/tpl/productionSourceMap/productionGzip`
// and so on
//-----------------------------------------------------------
var path = require('path');
var distPath = path.resolve(__dirname, '..', 'dist');
// var projectRoot = path.resolve(__dirname, '../');
var assetsPath = function(_path) {
return path.posix.join('static', _path);
};
// ------------------------------------
// 入口点
// 👻 可修改
// ------------------------------------
var entry = {
app: './src/entry/index.js'
};
// ------------------------------------
// 添加webpack加载别名,用于导包重定向,优化打包以及代码
// 此处需要自己进行定义
// 👻可修改
// ------------------------------------
var alias = {
// MODEL: projectRoot + '/src/model',
// UTILS: projectRoot + '/src/utils',
// CONSTS: projectRoot + '/src/consts'
};
//-----------------------------------------------------------
// 👻 可修改,除非你知道该怎么修改
///-----------------------------------------------------------
module.exports = {
webpackConf: {
name: 'fireiot',
entry: entry,
alias: alias
},
showProgress: true,
context: __dirname,
tpl: 'tpl.html',
extractTextPath: assetsPath('css/[name].css?v=[contenthash:8]'),
visualizer: path.resolve(distPath, 'visualizer.html'),
prod: {
dll: {
fileName: './node_modules/amos-dll/common/prod/Amoslib.js', // 完整路径
manifest: 'amos-dll/common/prod/manifest.json',
outputPath: '/static/common/js', // 生成目录
publicPath: '/static/common/js' // 注入地址
},
toFile: path.resolve(distPath, 'index.html'),
assetsRoot: distPath,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
productionSourceMap: false,
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css'],
output: {
path: distPath,
filename: assetsPath('js/[name].js?v=[chunkhash:8]'),
chunkFilename: assetsPath('js/chunk.[id].js?v=[chunkhash:8]')
}
},
dev: {
dll: {
fileName: './node_modules/amos-dll/common/dev/Amoslib.js', // 完整路径
manifest: 'amos-dll/common/dev/manifest.json',
outputPath: '/static/common/dev', // 生成目录
publicPath: '/static/common/dev' // 注入地址
},
toFile: 'index.html',
port: 9000,
assetsRoot: distPath,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
staticPath: '/common',
proxyTable: {},
// CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected,
// just be aware of this issue when enabling this option.
cssSourceMap: false,
output: {
path: distPath,
filename: assetsPath('js/[name].js'),
chunkFilename: assetsPath('js/chunk.[id].js')
}
},
test: {
dll: {
fileName: './node_modules/amos-dll/common/prod/Amoslib.js', // 完整路径
// fileName: require.resolve('amos-dll/common/prod/Amoslib.js'),
manifest: 'amos-dll/common/prod/manifest.json',
outputPath: '/static/common/js', // 生成目录
publicPath: '/static/common/js' // 注入地址
},
index: path.resolve(distPath, 'index.html'),
assetsRoot: distPath,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
productionSourceMap: true,
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css']
}
};
@echo on
title clean svn by ilex.h
color 2f
mode con: cols=80 lines=25
@REM
@echo 正在清理SVN文件,请稍候......
@rem 循环删除当前目录及子目录下所有的SVN文件
@rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "%%a\.svn"
@for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"
@echo 清理完毕!!!
@pause
\ No newline at end of file
import React, { Component } from 'react';
import logo from './amosinit.svg';
import './App.scss';
/**
* your app component
*
* @class App
* @extends {Component}
*/
class App extends Component {
render() {
return (
<div className="demo">
<div className="demo-header">
<img src={logo} className="demo-logo" alt="logo" />
<h2>Welcome to Amos init</h2>
</div>
<p className="demo-introduce">
To get started, edit <code>demo/App.js</code> and save to reload.
</p>
<div className="demo-introduce">
<p>
To Use advanced features, please copy all demo files to src/entry.
</p>
<p>
Then edit the webpack.config.js entry property, <code>./demo/index.js</code> to <code>./src/entry/index.js</code>.
</p>
<p>
such as add a compoment:
<code>$amos-init -c MyComponent</code>
</p>
</div>
</div>
);
}
}
export default App;
.demo {
text-align: center;
.demo-header {
background-color: #203957;
height: 150px;
padding: 20px;
color: white;
.demo-logo {
animation: demo-logo-spin infinite 20s linear;
height: 80px;
}
@keyframes demo-logo-spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
}
.demo-introduce {
font-size: large;
}
}
This diff is collapsed.
import React from 'react';
import { render } from 'react-dom';
import App from './App';
import './index.scss';
/**
* main entry
*/
render(<App />, document.getElementById('app'));
body {
margin: 0;
padding: 0;
font-family: "Microsoft YaHei";
}
/**
* @title 按钮类型
*/
import { Button } from 'amos-framework';
const ButtonType = () => {
return (
<div>
<Button>默认</Button>
<Button type="minor">次要</Button>
</div>
);
};
/**
* @title 按钮尺寸
*/
import { Button } from 'amos-framework';
const ButtonSize = () => {
return (
<div>
<Button size="lg">大尺寸</Button>
<Button>默认</Button>
<Button size="sm">小尺寸</Button>
</div>
);
};
/**
* @title 图标按钮
* @desc 如果需要自定义图标位置,结合使用 Icon 组件
*/
import { Button } from 'amos-framework';
const ButtonIcon = () => {
return (
<div>
<Button icon="plus">添加</Button>
<Button icon="align-left" />
</div>
);
};
/**
* @title 圆形按钮
*/
import { Button } from 'amos-framework';
const ButtonCircle = () => {
return (
<div>
<Button icon="plus" circle />
<Button circle></Button>
</div>
);
};
/**
* @title transparent
* @desc 文字颜色继承父级,背景透明
*/
import { Button } from 'amos-framework';
const ButtonTransparent = () => {
return (
<div>
<Button icon="plus" transparent />
<Button icon="align-left" transparent />
</div>
);
};
/**
* @title 不可用的
*/
import { Button } from 'amos-framework';
const ButtonDisabled = () => {
return (
<div>
<Button disabled>不可用</Button>
<Button icon="plus" disabled />
</div>
);
};
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>amos-framework docs</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
<SCRIPT Language=VBScript><!--
//--></SCRIPT>
\ No newline at end of file
@echo off
title Amos install Guide
@echo author ilex.h
@echo Starting install npm supported Wizard...
@echo First registry proxy,Second execute npm install...
@echo.
npm install
pause
{
"verbose": true,
"ignore": [".git", ".svn/**/.svn", "dist", "coverage", "tests", "src", "demo", "docs", "node_modules"],
"watch":[
"webpack.*.js",
"./build"
]
}
{
"name": "amos-toip",
"version": "1.0.0",
"private": true,
"author": "ilex.h",
"scripts": {
"clean": "rimraf dist released",
"build:pro": "set NODE_ENV=production && npm run clean && webpack",
"build:dev": "set NODE_ENV=development && npm run clean && webpack",
"watch": "webpack -w",
"server": "nodemon server/index.js --watch server",
"build": "set NODE_ENV=production && npm run clean && webpack",
"themes": "amos-run themes",
"themes-watch": "amos-run themes-watch",
"start": "set NODE_ENV=development && nodemon --exec \"webpack-dev-server\"",
"start2": "set NODE_ENV=development && webpack-dev-server",
"startDev": "set NODE_ENV=development && webpack-dev-server --config webpack.config.dev.js",
"compile:dev": "set NODE_ENV=development && npm run clean && webpack --config webpack.config.dev.js",
"compile:pro": "set NODE_ENV=production && npm run clean && webpack --config webpack.config.prod.js",
"lint": "eslint src tests",
"lint:fix": "npm run lint -- --fix",
"format": "prettier --write \"src/**/*.{js,jsx,css,scss,less,sass}\"",
"stylelint": "stylelint src",
"zip": "amos-run released2zip",
"pub:dev": "npm run compile:dev && amos-run extraReleased",
"pub": "npm run compile:pro && amos-run extraReleased",
"pub:build": "npm run build:pro && amos-run extraReleased",
"precommit": "lint-staged"
},
"lint-staged": {
"*.{js,json,css}": [
"prettier --write",
"git add"
]
},
"dependencies": {
"amos-amap": "^1.0.6",
"amos-core": "^2.0.27",
"amos-devgrid": "^1.0.10",
"amos-dll": "^1.0.4",
"amos-icon": "^1.0.3",
"amos-processor": "^1.2.18",
"amos-security": "2.0.10",
"amos-tool": "^1.2.34",
"amos-viz": "^1.1.0",
"amos-websocket": "^1.0.0",
"canvg": "^2.0.0",
"classnames": "^2.2.5",
"dt2react": "^1.0.7",
"html2canvas": "^1.0.0-rc.3",
"lodash": "^4.17.4",
"lodash.debounce": "^4.0.8",
"raphael": "^2.3.0",
"ray-animate": "^1.0.0",
"ray-eventpool": "^1.0.0",
"ray-mediaquery": "^1.0.0",
"ray-progress": "^1.0.0",
"ray-tween": "^1.0.2",
"react": "~16.0.0",
"react-dom": "~16.0.0",
"react-svg": "^10.0.19",
"vertx3-eventbus-client": "^3.4.1"
},
"devDependencies": {
"amos-build": "^3.x",
"amos-core": "^2.0.27",
"amos-framework": "^1.0.35",
"cross-env": "^5.2.0",
"eslint-config-ray": "^1.0.25",
"mockjs": "^1.0.1-beta3",
"stylelint-config-ray": "^2.x",
"ws": "^4.0.0"
}
}
*{margin: 0;padding: 0;list-style: none;}
/*
KISSY CSS Reset
理念:1. reset 的目的不是清除浏览器的默认样式,这仅是部分工作。清除和重置是紧密不可分的。
2. reset 的目的不是让默认样式在所有浏览器下一致,而是减少默认样式有可能带来的问题。
3. reset 期望提供一套普适通用的基础样式。但没有银弹,推荐根据具体需求,裁剪和修改后再使用。
特色:1. 适应中文;2. 基于最新主流浏览器。
维护:玉伯<lifesinger@gmail.com>, 正淳<ragecarrier@gmail.com>
*/
/** 清除内外边距 **/
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
th, td /* table elements 表格元素 */ {
margin: 0;
padding: 0;
}
/** 设置默认字体 **/
body,
button, input, select, textarea /* for ie */ {
font: 12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
code, kbd, pre, samp { font-family: courier new, courier, monospace; } /* 统一等宽字体 */
small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */
/** 重置列表元素 **/
ul, ol { list-style: none; }
/** 重置文本格式元素 **/
a { text-decoration: none; }
a:hover { text-decoration: underline; }
/** 重置表单元素 **/
legend { color: #000; } /* for ie6 */
fieldset, img { border: 0; } /* img 搭车:让链接里的 img 无边框 */
button, input, select, textarea { font-size: 100%; } /* 使得表单元素在 ie 下能继承字体大小 */
/* 注:optgroup 无法扶正 */
/** 重置表格元素 **/
table { border-collapse: collapse; border-spacing: 0; }
/* 清除浮动 */
.ks-clear:after, .clear:after {
content: '\20';
display: block;
height: 0;
clear: both;
}
.ks-clear, .clear {
*zoom: 1;
}
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main h1{font-size:36px; color:#333; text-align:left;margin-bottom:30px; border-bottom: 1px solid #eee;}
.helps{margin-top:40px;}
.helps pre{
padding:20px;
margin:10px 0;
border:solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists{
width: 100% !important;
}
.icon_lists li{
float:left;
width: 100px;
height:180px;
text-align: center;
list-style: none !important;
}
.icon_lists .icon{
font-size: 42px;
line-height: 100px;
margin: 10px 0;
color:#333;
-webkit-transition: font-size 0.25s ease-out 0s;
-moz-transition: font-size 0.25s ease-out 0s;
transition: font-size 0.25s ease-out 0s;
}
.icon_lists .icon:hover{
font-size: 100px;
}
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p,
.markdown pre {
margin: 1em 0;
}
.markdown > p,
.markdown > blockquote,
.markdown > .highlight,
.markdown > ol,
.markdown > ul {
width: 80%;
}
.markdown ul > li {
list-style: circle;
}
.markdown > ul li,
.markdown blockquote ul > li {
margin-left: 20px;
padding-left: 4px;
}
.markdown > ul li p,
.markdown > ol li p {
margin: 0.6em 0;
}
.markdown ol > li {
list-style: decimal;
}
.markdown > ol li,
.markdown blockquote ol > li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown pre {
border-radius: 6px;
background: #f7f7f7;
padding: 20px;
}
.markdown pre code {
border: none;
background: #f7f7f7;
margin: 0;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown > table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown > table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown > table th,
.markdown > table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown > table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
font-style: italic;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown > br,
.markdown > p > br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
pre{
background: #fff;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
/**
* 鎿嶄綔鏋氫妇
*/
export const QueryOperatorEnum = {
LESS_VALUE: { value: 1, name: 'LESS' },
BIGGER_VALUE: { value: 2, name: 'BIGGER' },
EQUAL_VALUE: { value: 3, name: 'EQUAL' },
LESS_EQUAL_VALUE: { value: 4, name: 'LESS' },
BIGGER_EQUAL_VALUE: { value: 5, name: 'BIGGER' },
NOT_EQUAL_VALUE: { value: 6, name: 'NOT' },
IN_VALUE: { value: 7, name: 'IN' },
LIKE_VALUE: { value: 8, name: 'LIKE' },
OR_VALUE: { value: 9, name: 'OR' },
ORDER_VALUE: { value: 10, name: 'ORDER BY' },
NOT_IN_VALUE: { value: 11, name: 'NOT IN' }
};
/**
* 双屏菜单交互事件
*/
export const MASTER_MENU_SLAVE_CHANGE = 'MASTER_MENU_SLAVE_CHANGE';
export const sessionConsts = {
systemMenu: 'systemMenu'
};
import * as endConf from 'amos-processor/lib/config/endconf';
const completePrefix = endConf.completePrefix;
const secExVerson = 'v1';
const baseURI = endConf.baseURI;
const securityBaseURI = endConf.securityBaseURI;
const AmosConfig = endConf.AmosConfig;
export const secBaseUrl = {
// 新权限接口
systemMenusUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/permission/tree/me`), // 获取当前系统所有菜单
currentUserUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/agencyuser/me`), // 获取当前登陆用户信息
permissionsCompanyUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/agencyuser/me`), // 登陆用户权限所有公司
permissionsMenusUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/permission/tree/role?roleSeq={roleSeq}`), // 登陆用户系统权限菜单
dictionaryValueUrl: completePrefix(securityBaseURI, `systemctl/${secExVerson}/dictionary/{dictCode}/values`), //字典接口
loginUrl: completePrefix(securityBaseURI, `${secExVerson}/system/login`), // 登陆获取accessToken
loginOutUrl: completePrefix(securityBaseURI, `${secExVerson}/system/loginOutr`) // 登陆用户系统权限菜单
};
export const OltSerUrl = {
};
export const loginURI = endConf.loginURI;
export const sysName = AmosConfig.sysConf.name;
export default OltSerUrl;
/**
*
* @authors ilex
* @date 2016-07-18 16:42:35
* @description 主入口模块
*/
import React, { Component } from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import { Router, browserHistory } from 'amos-react-router';
import { syncHistoryWithStore } from 'react-router-redux';
import { browerSupport, consts, Store, LocationParam } from 'amos-tool';
import { DownloadBrowsers,AmosAlert } from 'amos-framework';
import { loginURI } from './../consts/urlConsts';
import { sessionConsts } from '../consts/storageConsts';
import SysConsts from 'amos-processor/lib/config/consts';
import { getSystemAllMenu } from '../services/securityService';
import rootRoutes from './../routes';
import configureStore from './../store';
// 引入主体样式文件
import './../styles';
const lsTool = Store.lsTool;
const store = configureStore();
const history = syncHistoryWithStore(browserHistory, store);
const support = browerSupport(['firefox/', 'chrome/'], {
'firefox/': { limit: consts.GREATER_EQUAL, version: 50 },
'chrome/': { limit: consts.GREATER_EQUAL, version: 55 }
});
class App extends Component {
constructor(props) {
super(props);
this.state = {
rootRoutes: rootRoutes(),
visible: false
};
}
componentWillMount() {
let token = LocationParam.getLocationParamByName('token');
if (!token) {
let systemMenu = JSON.parse(lsTool.read(sessionConsts.systemMenu));
if (!systemMenu) {
window.location.href = loginURI;
return;
}
this.setState({ rootRoutes: rootRoutes(systemMenu), visible: true });
return;
} else {
lsTool.write(SysConsts.token, token);
}
getSystemAllMenu().then(
menus => {
let systemMuens = this.filterSystemMenus(menus);
let routeMenus = [];
systemMuens.forEach(item => {
if (item.children && item.children.length > 0) {
routeMenus = [...routeMenus, ...item.children];
}
});
lsTool.write(sessionConsts.systemMenu, JSON.stringify(routeMenus));
this.setState({ rootRoutes: rootRoutes(routeMenus), visible: true });
},
err => {
AmosAlert.error('警告', err || '获取初始化菜单失败!');
}
);
}
filterSystemMenus = (menus = []) => {
return menus.filter(menu => menu.permissionType === 'MENU');
}
render() {
if (this.state.visible){
return (
<Provider store={store}>
<Router history={history} routes={this.state.rootRoutes} />
</Provider>
);
} else {
return null;
}
}
}
const main = support ? <App /> : <DownloadBrowsers />;
render(main, document.getElementById('app'));
// 开发模式下开启 热加载 (不需要开启时,屏蔽一下代码即可)
if (module.hot) {
module.hot.accept();
}
/**
*
* @authors ilex
* @date 2016-07-18 16:42:35
* @description 主入口模块
*/
import React, { Component } from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import { Router, browserHistory } from 'amos-react-router';
import { syncHistoryWithStore } from 'react-router-redux';
import { browerSupport, consts, Store, LocationParam } from 'amos-tool';
import { DownloadBrowsers,AmosAlert } from 'amos-framework';
import { loginURI } from './../consts/urlConsts';
import { sessionConsts } from '../consts/storageConsts';
import SysConsts from 'amos-processor/lib/config/consts';
import { getSystemAllMenu } from '../services/securityService';
import rootRoutes from './../routes';
import configureStore from './../store';
// 引入主体样式文件
import './../styles';
const lsTool = Store.lsTool;
const store = configureStore();
const history = syncHistoryWithStore(browserHistory, store);
const support = browerSupport(['firefox/', 'chrome/'], {
'firefox/': { limit: consts.GREATER_EQUAL, version: 50 },
'chrome/': { limit: consts.GREATER_EQUAL, version: 55 }
});
class App extends Component {
constructor(props) {
super(props);
this.state = {
rootRoutes: rootRoutes(),
visible: false
};
}
componentWillMount() {
let token = LocationParam.getLocationParamByName('token');
if (!token) {
let systemMenu = JSON.parse(lsTool.read(sessionConsts.systemMenu));
if (!systemMenu) {
window.location.href = loginURI;
return;
}
this.setState({ rootRoutes: rootRoutes(systemMenu), visible: true });
return;
} else {
lsTool.write(SysConsts.token, token);
}
getSystemAllMenu().then(
menus => {
let systemMuens = this.filterSystemMenus(menus);
let routeMenus = [];
systemMuens.forEach(item => {
if (item.children && item.children.length > 0) {
routeMenus = [...routeMenus, ...item.children];
}
});
lsTool.write(sessionConsts.systemMenu, JSON.stringify(routeMenus));
this.setState({ rootRoutes: rootRoutes(routeMenus), visible: true });
},
err => {
AmosAlert.error('警告', err || '获取初始化菜单失败!');
}
);
}
filterSystemMenus = (menus = []) => {
return menus.filter(menu => menu.permissionType === 'MENU');
}
render() {
if (this.state.visible){
return (
<Provider store={store}>
<Router history={history} routes={this.state.rootRoutes} />
</Provider>
);
} else {
return null;
}
}
}
const main = support ? <App /> : <DownloadBrowsers />;
render(main, document.getElementById('app'));
/**
* 系统所有的redux
* @author fe-tiangonglei
*/
import { combineReducers } from 'redux';
import { routerReducer } from 'react-router-redux';
import securityReducers from 'amos-security/lib/model/rootReducers';
// 结合 react-router-redux
const rootReducers = combineReducers({
...securityReducers,
routing: routerReducer
});
export default rootReducers;
import RProgress from 'ray-progress';
import { loginURI } from './../consts/urlConsts';
import calcRoutes from './calcRoutes';
import addCustomRoutes, { customRoutes } from './customRoutes';
import pageCompontent, { AsyncRootView, AsyncLogin, AsyncRootBizView,businessRouts } from './asyncView';
const groups = [
'main', 'biz'
];
const injectRoutes = menus => {
const { main = [], biz = [] } = calcRoutes(menus, pageCompontent, groups) || {};
const mainChilds = addCustomRoutes(main);
const bizChilds = addCustomRoutes(biz);
const routes = [
{
path: 'main',
component: AsyncRootView,
childRoutes: [...mainChilds]
},
{
path: 'biz',
component: AsyncRootBizView,
childRoutes: [...bizChilds, ...customRoutes, ...businessRouts]
}
];
return routes;
};
const progressStart = () => {
RProgress.start();
};
const rootRoutes = menus => {
return {
path: '/',
onChange: progressStart,
indexRedirect: AsyncLogin,
indexRoute: {
component: AsyncLogin,
onEnter(nextState, replace) {
window.location.href = loginURI;
}
},
childRoutes: injectRoutes(menus)
};
};
export default rootRoutes;
import React from 'react';
import AsyncLoader from 'ray-code-split';
const AsyncEmptyPage = props => <AsyncLoader load={import('./../view/common/emptyPage/EmptyPage')} componentProps={props} />;
const AsyncRootView = props => <AsyncLoader load={import('../view/monitor')} componentProps={props} />;
// const AsyncUserInfo = props => <AsyncLoader load={import('./../view/userInfo')} componentProps={props} />;
const AsyncDuty = props => <AsyncLoader load={import('../view/monitor/duty')} componentProps={props} />;
const AsyncSituation = props => <AsyncLoader load={import('../view/biz/duty/situation')} componentProps={props} />;
const AsyncRegulate = props => <AsyncLoader load={import('../view/monitor/regulate')} componentProps={props} />;
const AsyncBills = props => <AsyncLoader load={import('../view/biz/regulate/bills')} componentProps={props} />;
const AsyncRootBizView = props => <AsyncLoader load={import('./../view/biz/index')} componentProps={props} />;
// const AsyncRegionList = props => <AsyncLoader load={import('./../view/common/region/index')} componentProps={props} />;
const Routes = {
main: AsyncRootView,
duty: AsyncDuty,
situation: AsyncSituation,
regulate: AsyncRegulate,
bills: AsyncBills
};
export const businessRouts = [
{ path: 'situation',group: 'biz',component: AsyncSituation, childRoutes: [] },
{ path: 'bills',group: 'biz',component: AsyncBills, childRoutes: [] }
];
const pageCompontent = key => {
return Routes[key] || AsyncEmptyPage;
};
export { AsyncRootView, AsyncRootBizView };
export default pageCompontent;
const compeleteMenus = (pageCompontent) => {
return function convertMenus(menus, resRoutes, level) {
menus.map(menu => {
if (menu.path) {
const urlList = menu.path.split('/');
const path = urlList[level + 1];
if (urlList.length > 2) {
const itemRoutes = { path, component: pageCompontent(path), childRoutes: [], group: urlList[1] };
//特殊处理 地址(url)分割后个数大于当前循环层级时
if (urlList.length > level + 2) {
let _itemRoutes = itemRoutes.childRoutes;
for (let i = level + 2; i < urlList.length; i++) {
const newItemRoutes = { path: urlList[i], component: pageCompontent(urlList[i]), childRoutes: [] };
_itemRoutes.push(newItemRoutes);
_itemRoutes = newItemRoutes.childRoutes;
}
}
if (menu.children && menu.children.length > 0) {
convertMenus(menu.children, itemRoutes.childRoutes, level);
}
resRoutes.push(itemRoutes);
} else {
if (menu.children && menu.children.length > 0) {
convertMenus(menu.children, resRoutes, level);
}
}
}
});
};
};
const filterGroupMenus = (routes, groups) => {
const groupMenus = {};
groups.forEach(g => {
groupMenus[g] = routes.filter(r => r.group === g);
});
return groupMenus;
};
/**
* 根据用户菜单数据生成对应的路由
* @param {array} menus
* @param {function} pageCompontent
* @param {array} group 分组 ['main', 'other']
* @return {object|array} group存在: { main: [...], other: [...] }, group 不存在: []
*/
export default function calcRoutes(menus = [], pageCompontent, groups) {
const _routes = [];
if (menus && menus.length > 0) {
compeleteMenus(pageCompontent)(menus, _routes, 1);
if (groups && groups.length > 0){
return filterGroupMenus(_routes, groups);
}
}
return _routes;
}
import combineRoutes from 'amos-pluggable/lib/combineRoutes';
/**
* 系统自定义路由
*/
export const customRoutes = [
];
/**
* path mapping
*
* import { parseText } from 'amos-tool';
* const stage = parseText(pathMapping.stage, { objkey });
*/
export const pathMapping = {
};
export const activitiMapping = {
};
/**
* 将自定义路由添加到主路由上
* @param {*} mainRoutes
*/
const addCustomRoutes = mainRoutes => combineRoutes(mainRoutes, customRoutes);
export default addCustomRoutes;
import RProgress from 'ray-progress';
import { loginURI } from './../consts/urlConsts';
import calcRoutes from './calcRoutes';
import addCustomRoutes, { customRoutes } from './customRoutes';
import pageCompontent, { RootView,RootBizView,businessRouts } from './view';
const groups = [
'main', 'biz'
];
const injectRoutes = menus => {
const { main = [], biz = [] } = calcRoutes(menus, pageCompontent, groups) || {};
const mainChilds = addCustomRoutes(main);
const bizChilds = addCustomRoutes(biz);
const routes = [
{
path: 'main',
component: RootView,
childRoutes: [...mainChilds]
},
{
path: 'biz',
component: RootBizView,
childRoutes: [...bizChilds, ...customRoutes, ...businessRouts]
}
];
return routes;
};
const progressStart = () => {
RProgress.start();
};
const rootRoutes = menus => {
return {
path: '/',
onChange: progressStart,
indexRoute: {
onEnter(nextState, replace) {
window.location.href = loginURI;
}
},
childRoutes: injectRoutes(menus)
};
};
export default rootRoutes;
import RootView from '../view/monitor';
import Duty from '../view/monitor/duty';
import Situation from '../view/biz/duty/situation';
import Regulate from '../view/monitor/regulate';
import Bills from '../view/biz/regulate/bills';
import RootBizView from './../view/biz/index';
import EmptyPage from './../view/common/emptyPage/EmptyPage';
const Routes = {
main: RootView,
duty: Duty,
situation: Situation,
regulate: Regulate,
bills: Bills
};
export const businessRouts = [
{ path: 'situation',group: 'biz',component: Situation, childRoutes: [] },
{ path: 'bills',group: 'biz',component: Bills, childRoutes: [] }
];
const pageCompontent = key => {
return Routes[key] || EmptyPage;
};
export {
RootView,
RootBizView
};
export default pageCompontent;
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { secBaseUrl } from './../consts/urlConsts';
import { commonGet, commonPost } from './../utils/request';
export const getCurrentUser = () => {
return commonGet(secBaseUrl.currentUserUrl);
};
export const getSystemAllMenu = () => {
return commonGet(formatUrl(secBaseUrl.systemMenusUrl));
};
export const login = (code, userId) => {
return commonPost(formatUrl(secBaseUrl.loginUrl), { code, userId });
};
export const getPermissionsCompany = () => {
return commonGet(formatUrl(secBaseUrl.systemMenusUrl));
};
/**
* 获取当前角色权限菜单
* @param {*} roleSeq 角色Id
*/
export const getPermissionsMenus = (roleSeq) => {
return commonGet(formatUrl(secBaseUrl.permissionsMenusUrl, { roleSeq }));
};
export const getPermissionsCompanyData = () => {
return commonGet(formatUrl(secBaseUrl.permissionsCompanyUrl));
};
//根据字典编号查询字典列表BANK_ORG
export const getDictionaryList = (dictCode) => {
return commonGet(formatUrl(secBaseUrl.dictionaryValueUrl, { dictCode }));
};
/**
* 系统store
* @author fe-tiangonglei
*/
import { createStore, applyMiddleware, compose } from 'redux';
import thunkMiddleware from 'redux-thunk';
import createLogger from 'redux-logger';
// 导入中间件
import promiseMiddleware from 'amos-processor/lib/middleware/promiseMiddleware';
import amosFetchMiddleware from 'amos-processor/lib/middleware/amosFetchMiddleware';
// 已经合并多个reducers
import rootReducers from './../model/reducers';
/**
* 创建一个 Redux store 来以存放应用中所有的 state,应用中应有且仅有一个 store。
* 基本使用
*/
export const store = createStore(rootReducers);
/**
* dev store 结合 redux-devtools-extension,需要浏览器支持,添加redux-devtools插件即可
* @param {object} initialState
*/
export const configureStoreWithDev = initialState => {
const composeEnhancers =
typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
// Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...
})
: compose;
const enhancer = composeEnhancers(
applyMiddleware(thunkMiddleware, promiseMiddleware({ promiseTypeSuffixes: ['PENDING', 'SUCCESS', 'ERROR'] }), amosFetchMiddleware(), createLogger())
);
const store = createStore(rootReducers, initialState, enhancer);
// if (module.hot) {
// // Enable Webpack hot module replacement for reducers
// module.hot.accept('../model/reducers', () => {
// const nextRootReducer = require('../model/reducers');
// store.replaceReducer(nextRootReducer);
// });
// }
return store;
};
// 创建一个带中间件的store
const createStoreWithMiddleware = applyMiddleware(
thunkMiddleware,
promiseMiddleware({ promiseTypeSuffixes: ['PENDING', 'SUCCESS', 'ERROR'] }),
amosFetchMiddleware(),
createLogger()
)(createStore);
/**
* prod 不开启 redux-devtool,用于prod模式下
* @param {object} initialState
*/
export default function configureStore(initialState) {
const store = createStoreWithMiddleware(rootReducers, initialState);
return store;
}
// 导入 framework
@import "~amos-framework/dist/amosframework.css";
@import "~amos-pro/dist/amospro.css";
@import "~amos-devgrid/dist/amosdevgrid.css";
This diff is collapsed.
This diff is collapsed.
.amos-time-list {
height: 100%;
width: 100%;
.amos-time-item {
padding: 0.1rem;
}
.amos-time-index {
display: inline-block;
width: 0.37rem;
height: 0.37rem;
line-height: 0.37rem;
text-align: center;
color: #034776;
font-size: 0.18rem;
position: relative;
top: 0.02rem;
img {
width: 100%;
height: 0.37rem;
position: absolute;
left: 0;
top: 0;
}
span {
display: block;
position: absolute;
width: 100%;
}
}
.amos-time-info {
display: inline-block;
width: calc(100% - 0.37rem);
vertical-align: top;
padding-left: 0.15rem;
.amos-time-info-date {
display: inline-block;
vertical-align: top;
font-size: 0.2rem;
color:rgba(255,191,15,1);
}
.amos-time-info-person {
display: inline-block;
vertical-align: top;
font-size: 0.2rem;
color: white;
padding-left: 2em;
min-width: 10em;
opacity: 0.6;
}
.amos-time-info-unit {
display: inline-block;
font-size: 0.2rem;
color: white;
max-width: calc(100% - 10em - 2.1em);
opacity: 0.6;
img {
height: 0.16rem;
width: 0.16rem;
margin-right: 0.08rem;
position: relative;
top: 0.07rem;
}
}
}
.amos-time-content {
padding: 0.1rem 0 0.15rem 0;
font-size: 0.20rem;
font-family: SourceHanSansCN-Medium;
font-weight: 500;
color: white;
position: relative;
line-height: 0.3rem;
padding-bottom: 0.15rem;
width: calc(100% - 0.54rem);
margin-left: 0.54rem;
&:after {
content: "";
display: block;
width: 100%;
height: 1px;
background-image: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%);
background-size: 8px 1px;
background-repeat: repeat-x;
bottom: 0;
left: 0;
position: absolute;
}
}
}
@import "./info.scss";
@import "./TimeList.scss";
/*滚动条样式*/
.ant-select-dropdown::-webkit-scrollbar {
width: 4px;
height: 16px;
background: rgba(71, 146, 212, 1);
border-radius: 4px;
}
/*定义滚动条的轨道,内阴影及圆角*/
.ant-select-dropdown::-webkit-scrollbar-track {
background-color: transparent;
border-radius: 4px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
/*定义滑块,内阴影及圆角*/
.ant-select-dropdown::-webkit-scrollbar-thumb {
height: 20px;
background: rgba(15, 235, 255, 1);
border-radius: 4px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
.amos-info-content {
width: 100%;
height: 100%;
padding-top: 2%;
overflow: auto;
.amos-info-item {
width: 100%;
display: block;
line-height: 2.5;
.amos-info-name {
display: inline-block;
width: 8em;
font-size: 0.2rem;
font-family: SourceHanSansCN-Regular;
font-weight: 400;
color: rgba(255,255,255,1);
text-align: right;
margin-right: 1em;
}
.amos-info-value {
display: inline-block;
vertical-align: top;
width: calc(100% - 9em);
font-size: 0.2rem;
font-family: SourceHanSansCN-Regular;
font-weight: 400;
color: rgba(255,255,255,1);
position: relative;
min-height: 0.5rem;
/* border-bottom: 1px dashed rgb(4, 78, 133); */
/* border-style: dashed; */
/* width: 100%; */
&:after {
content: "";
display: block;
width: 100%;
height: 1px;
background-image: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%);
background-size: 8px 1px;
background-repeat: repeat-x;
position: relative;
bottom: 0;
left: 0;
position: absolute;
}
}
}
}
// 导入字体
@import "./../assets/amosFont/iconfont.css";
/* Icon sizes */
/* ------------------------- */
$amosicon-css-prefix: amosicon !default;
/* makes the font 33% larger relative to the icon container */
.#{$amosicon-css-prefix}-lg {
font-size: (4em / 3);
line-height: (3em / 4);
vertical-align: -15%;
}
.#{$amosicon-css-prefix}-2x {
font-size: 2em;
}
.#{$amosicon-css-prefix}-3x {
font-size: 3em;
}
.#{$amosicon-css-prefix}-4x {
font-size: 4em;
}
.#{$amosicon-css-prefix}-5x {
font-size: 5em;
}
import './base.scss';
import './view/index.scss';
@mixin iconfont-mixin() {
display: inline-block;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-style: normal;
line-height: 1;
text-align: center;
text-rendering: optimizeLegibility;
text-transform: none;
vertical-align: baseline;
&::before {
display: block;
font-family: "anticon" !important;
}
}
@mixin iconfont-font($content) {
font-family: "amosicon";
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
content: $content;
}
@import "./icon.scss";
@import "./size.scss";
@import './../variable/config.scss';
@function pxToRem($px) {
@return ($px / $base-font-size) * 1rem;
}
@function strip-units($number) {
@return $number / ($number * 0 + 1);
}
@mixin remCalc($property, $values...) {
$max: length($values);
$pxValues: '';
$remValues: '';
@for $i from 1 through $max {
$value: strip-units(nth($values, $i));
$base-font-size: strip-units($base-font-size);
$pxValues: #{$pxValues + $value * $base-font-size}px;
@if $i < $max {
$pxValues: #{$pxValues + ' '};
}
}
@for $i from 1 through $max {
$value: strip-units(nth($values, $i));
$remValues: #{$remValues + $value}rem;
@if $i < $max {
$remValues: #{$remValues + ' '};
}
#{$property}: $pxValues;
#{$property}: $remValues;
}
}
@mixin size($width, $height) {
width: $width;
height: $height;
}
@mixin square($size) {
@include size($size, $size);
}
@keyframes amosFadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes amosFadeOut {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
$vender-prefix: amos;
$base-color: black;
$base-color-1: rgba($base-color, 0.65);
$base-color-2: rgba($base-color, 0.35);
$top-height: 0.48rem;
$content-height: calc(100% - 0.88rem);
$background-color: #203957;
$font-family: "Microsoft YaHei";
$font-size: 12px;
$base-font-size: 100px;
$tab-width: 144px;
/** Colors */
$main-bg-color: rgba(6, 90, 155, 0.3);
// map color
$main-color: rgba(8, 60, 120, 0.3);
$map-selected-color: linear-gradient(to bottom, rgba(27,154,191,0.6), rgba(3,48,141,0.6));
$stroke-color: #00ffff;
$subscript-color: #FFF000;
$icon-color: linear-gradient(to bottom, #85FFFF, #2170F6);;
// Background color for `<body>`
$body-background: white;
// Base background color for most components
$component-background: white;
$primary-color-light: #cfeeff;
$primary-color: #27b3fe;
$primary-color-deep: #19afff;
$primary-color-deeper: #00a6ff;
$success-color: #4cd964;
$danger-color: #f94242;
$warning-color: #faad14;
$error-color: #f5222d;
$color-grey: #ccc;
$color-white: white;
$color-disable: #f4f4f4;
$active-hover-foucs-bg-color: rgba(222, 222, 222, 0.2);
$primary-1: lighten($primary-color, 1);
$primary-2: lighten($primary-color, 2);
$primary-3: lighten($primary-color, 3);
$primary-4: lighten($primary-color, 4);
$primary-5: lighten($primary-color, 5);
$primary-6: $primary-color;
$primary-7: lighten($primary-color, 7);
$primary-8: lighten($primary-color, 8);
$primary-9: lighten($primary-color, 9);
$primary-10: lighten($primary-color, 10);
$disabled-color: #9e9e9e;
$disabled-border-color: #eaeaea;
$disabled-bg-color: #eceff1;
$minor-color: #ccc;
$minor-bg-color: #f8f8f8;
$minor-bg-color-hover: #f1f1f1;
$minor-bg-color-active: #eaeaea;
$minor-border-color: #c6c6c6;
/** border */
$border-radius-base: 4px;
$border-radius-sm: 2px;
// base
// ---
$base-height-xl: 40px !default;
$base-height-lg: 36px !default;
$base-height: 32px !default;
$base-height-sm: 28px !default;
$base-height-xs: 24px !default;
$base-padding-xl: 14px !default;
$base-padding-lg: 12px !default;
$base-padding: 10px !default;
$base-padding-sm: 8px !default;
$base-padding-xs: 4px !default;
$base-fontSize-xl: 18px !default;
$base-fontSize-lg: 16px !default;
$base-fontSize: 14px !default;
$base-fontSize-sm: 14px !default;
$base-fontSize-xs: 12px !default;
$base-radius-xl: 6px !default;
$base-radius-lg: 5px !default;
$base-radius: 4px !default;
$base-radius-sm: 4px !default;
$base-radius-xs: 4px !default;
/** font */
$font-size-base: 12px;
$font-size-lg: $font-size-base + 2px;
$font-color: white;
// Border color
$border-color-base: #d8d8d8;
$border-color-split: #e8e8e8;
$border-style-base: solid;
// text color
$text-color: rgba(black, 65%);
$text-color-secondary: rgba(black, 45%);
$heading-color-dark: rgba(white, 100%);
$text-color-dark: rgba(white, 85%);
$text-color-secondary-dark: rgba(white, 65%);
$heading-color: rgba(black, 85%);
$text-shadow-color: #badfff;
// LINK
$link-color: $primary-color;
$link-hover-color: $primary-5;
$link-active-color: $primary-7;
$link-decoration: none;
$link-hover-decoration: none;
/** nav theme */
/** Animation */
$ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
$ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
$ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
$ease-out-back: cubic-bezier(0.12, 0.4, 0.29, 1.46);
$ease-in-back: cubic-bezier(0.71, -0.46, 0.88, 0.6);
$ease-in-out-back: cubic-bezier(0.71, -0.46, 0.29, 1.46);
$ease-out-circ: cubic-bezier(0.08, 0.82, 0.17, 1);
$ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.34);
$ease-in-out-circ: cubic-bezier(0.78, 0.14, 0.15, 0.86);
$ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
$ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
$ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
// media
// Media queries breakpoints
// Extra small screen / phone
$screen-xs: 480px;
$screen-xs-min: $screen-xs;
// Small screen / tablet
$screen-sm: 576px;
$screen-sm-min: $screen-sm;
// Medium screen / desktop
$screen-md: 768px;
$screen-md-min: $screen-md;
// Large screen / wide desktop
$screen-lg: 992px;
$screen-lg-min: $screen-lg;
// Extra large screen / full hd
$screen-xl: 1200px;
$screen-xl-min: $screen-xl;
// Extra extra large screen / large descktop
$screen-xxl: 1600px;
$screen-xxl-min: $screen-xxl;
// provide a maximum
$screen-xs-max: ($screen-sm-min - 1px);
$screen-sm-max: ($screen-md-min - 1px);
$screen-md-max: ($screen-lg-min - 1px);
$screen-lg-max: ($screen-xl-min - 1px);
$screen-xl-max: ($screen-xxl-min - 1px);
//
$line-height-base: 1.5;
.amos-clearfix {
clear: both;
}
.biz-view-root {
height: 100%;
background: url('/src/assets/bg/biz-bg.png') no-repeat;
background-size: cover;
.header {
position: none !important;
}
}
.top-header {
width: 100%;
height: pxToRem(54.35px);
// margin-top: pxToRem(13.35px);
// margin-left: pxToRem(-32.24px);
background: url('/src/assets/logo/biz-nav.png') no-repeat;
background-size: 100% 100%;
.amos-nav-horizontal .amos-nav-item:hover > a::after,
.amos-nav-horizontal .amos-nav-item.amos-nav-item-active > a::after {
background: none;
}
.amos-nav-horizontal {
display: flex;
align-items: center;
margin-left: pxToRem(23px);
height: pxToRem(54.35px);
}
& > .amos-nav-horizontal > ul {
float: right;
height: pxToRem(42px);
width: pxToRem(176.16px);
padding-top: pxToRem(6px);
}
.amos-nav-item {
height: pxToRem(42px);
width: pxToRem(176.16px);
background-size: 100% 100%;
&.amos-nav-item-active {
background: url('/src/assets/logo/biz-nav-item.png') no-repeat;
background-size: pxToRem(176.16px) pxToRem(42px);
a {
color:rgba(247, 255, 0,1);
}
&:after {
position: absolute;
bottom: 0;
left: pxToRem(40px);
width: pxToRem(90px);
height: pxToRem(2px);
background: #FFF700;
content: '';
}
}
&:hover {
transform: none;
}
a {
width: 100%;
height: 100%;
padding: 0;
font-size: pxToRem(25px);
line-height: pxToRem(43px);
font-weight:500;
color:rgba(0, 202, 206,1);
opacity: 1;
text-align: center;
}
}
}
@import "./../common/graph.scss";
@import "./../../variable/config.scss";
$drag-color1: #daf4ff;
$drag-color2: #c6c6c6;
$drag-color3: #2d7fec;
$drag-gohst1: #562984;
$drag-gohst2: #f4e2c9;
.amos-dragable-ghost {
background-color: $drag-gohst1;
opacity: 0.2;
}
.amos-dragable-drager {
background: $drag-color2;
}
%desktop-tab-active {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
border-bottom: 2px solid #fec006;
content: "";
transform: scale(1);
box-shadow: 0 -2px 8px rgba(254, 192, 6, 0.8);
transition: transform;
transition-duration: 0.2s;
backface-visibility: hidden;
}
.center-tab-item {
position: relative;
display: inline-block;
height: 0.36rem;
padding: 0.06rem 0.12rem;
margin-right: 1px;
color: white;
text-align: center;
cursor: pointer;
input {
width: 0.96rem;
height: 0.24rem;
padding: 0 0.06rem;
color: black;
}
}
.center-tab-item-setting-menu {
background-color: rgba(0, 0, 0, 0.3);
border-radius: 0;
li {
background: rgba(0, 0, 0, 0.3) !important;
border-radius: 0 !important;
&:hover {
background: rgba(82, 108, 253, 0.3) !important;
}
}
.ant-dropdown-menu-item-divider {
background: white !important;
}
a {
color: white;
background: rgba(0, 0, 0, 0.3);
border-radius: 0 !important;
}
}
.home-content {
position: relative;
width: 93%;
height: 100%;
margin: 0 auto;
}
.personal-center {
position: absolute;
top: 0;
width: 100%;
height: 100%;
padding: 0.12rem 0;
.center-header {
position: relative;
margin-bottom: 0.12rem;
.desktop-tab {
min-width: 0.96rem;
line-height: 0.24rem;
box-shadow: 0 2px 8px rgba(43, 22, 54, 0.2);
&:hover {
&::after {
@extend %desktop-tab-active;
}
}
&.active-tab {
&::after {
@extend %desktop-tab-active;
}
}
}
.center-tab {
min-width: 0.36rem;
background: rgba(0, 0, 0, 0.3);
box-shadow: 0 2px 8px rgba(43, 22, 54, 0.2);
&:hover {
background: rgba(82, 108, 253, 0.3);
}
}
}
.center-body {
position: relative;
height: calc(100% - 0.72rem);
overflow: hidden;
.scene-graph-container {
width: 100%;
height: 100%;
// overflow-y: auto;
// overflow-x: hidden;
.layout-wrapper {
width: 100%;
height: 100%;
.card-item-layout {
display: inline-block;
width: 33.3%;
min-width: 4.32rem;
padding: 0 5px;
list-style: outside none none;
transform: translateZ(0);
box-sizing: border-box;
transition: box-shadow 0.3s ease-in-out;
.card-frame {
width: 100%;
margin: 0;
}
&.drag-card-add {
color: white;
}
}
}
}
}
}
.view-port.uneyemode {
.content-body {
background: white;
.box-left-normal,
.box-right-normal,
.box-close {
background: white;
}
.amos-category-tab {
color: black;
.nav-tab-all {
background: white;
}
.nav-tab-content {
background: white;
}
}
.ant-tabs {
color: black;
}
}
}
@import './../../variable/config.scss';
@import './../../mixins/rem.scss';
.header {
width: 100%;
.header-row {
.header-primary {
display: flex;
width: 100%;
.logo {
display: flex;
width: pxToRem(585.05px);
height: pxToRem(80.02px);
background: url('/src/assets/logo/logo.png') no-repeat;
background-size: 100% 100%;
flex: none;
align-items: center;
.logo-text {
display: inline-block;
font-size: pxToRem(30px);
font-weight: bold;
line-height: pxToRem(40px);
margin-left: pxToRem(164.28px);
color: rgba(89, 240, 251,1);
}
}
.logo-resource {
width: pxToRem(518px);
height: pxToRem(90px);
margin-left: pxToRem(50px);
background-size: cover;
flex: none;
}
}
.header-secondary {
position: absolute;
right: 0;
display: flex;
}
.header-logo {
display: flex;
height: $top-height;
padding-right: 0.12rem;
justify-content: center;
align-items: center;
.logo-img {
height: $top-height;
&:hover {
transform: scaleX(-1);
transition: transform 1s;
}
}
.logo-text {
margin-left: 0.12rem;
font-size: 0.24rem;
text-shadow: 3px 2px 2px $text-shadow-color;
}
}
.sys-extend {
width: 100%;
height: pxToRem(42px);
margin-top: pxToRem(13.35px);
margin-left: pxToRem(-32.24px);
background: url('/src/assets/logo/nav.png') no-repeat;
background-size: 100% 100%;
.amos-nav-horizontal .amos-nav-item:hover > a::after,
.amos-nav-horizontal .amos-nav-item.amos-nav-item-active > a::after {
background: none;
}
.amos-nav-horizontal {
display: flex;
align-items: center;
margin-left: pxToRem(21.18px);
}
& > .amos-nav-horizontal > ul {
float: right;
}
.amos-nav-item {
height: pxToRem(42px);
width: pxToRem(194.16px);
background-size: 100% 100%;
&.amos-nav-item-active {
background: url('/src/assets/logo/nav-item.png') no-repeat;
background-size: pxToRem(194.16px) pxToRem(60px);
a {
color:rgba(247, 255, 0,1);
}
&:after {
position: absolute;
bottom: 0;
left: pxToRem(52px);
width: pxToRem(90px);
height: pxToRem(2px);
background: #FFF700;
content: '';
}
}
&:hover {
transform: none;
}
a {
width: 100%;
height: 100%;
padding: 0;
font-size: pxToRem(25px);
line-height: pxToRem(43px);
font-weight:500;
color:rgba(0, 202, 206,1);
opacity: 1;
text-align: center;
}
}
}
.header-search {
width: 1.8rem;
padding: 0 0.06rem;
border-left: 1px solid transparent;
.tip-search {
height: $top-height - 0.144rem;
line-height: $top-height - 0.144rem;
color: white;
background-color: rgba(255, 255, 255, 0.2);
border: 1px solid transparent;
}
}
.sys-tools {
border-left: 1px solid transparent;
.ui-menu {
.ui-menu-item {
display: flex;
height: $top-height;
padding: 0 0.06rem;
margin: 0;
border-right: 1px solid transparent;
justify-content: center;
align-items: center;
&:hover {
color: white;
background: #431d6a;
}
&:last-child {
border-right: 0;
}
}
&.horizontal {
display: flex;
justify-content: flex-end;
align-items: center;
}
}
&.sys-tools-min {
.ui-menu {
&.horizontal {
display: flex;
padding-right: 0;
justify-content: flex-end;
align-items: center;
.ui-menu-item {
padding: 0 0.06rem;
border-right: 1px solid transparent;
&:last-child {
border-right: 0;
}
}
}
}
}
}
}
}
.header-logo.mixin-log {
justify-content: start !important;
.logo-bg {
width: $top-height;
height: $top-height - 0.06rem;
margin-left: 0.06rem;
text-align: center;
background-size: 100% 100%;
.mixin-logo-img {
height: 0.216rem;
cursor: pointer;
transform: rotate(360deg);
animation: logoRotation 6s linear infinite;
}
.mixin-logo-img-hover-rotate {
height: 0.216rem;
cursor: pointer;
transition: all 1s ease-in-out;
&:hover {
transform: rotate(360deg);
}
}
}
.mixin-logo-title {
height: $top-height - 0.06rem;
}
}
@keyframes logoRotation {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
//@import "./main.scss";
@import "./header.scss";
//@import "./theme.scss";
//@import "./eyemode.scss";
//@import "./deskCenter.scss";
//@import "./mapmain.scss";
// @import './../../variable/config.scss';
// @import './../common/animate.scss';
// @import './../../mixins/rem.scss';
// .view-port {
// height: 100%;
// background: url('/src/assets/bg/bg-right.png') no-repeat 100% 100%;
// .content-body {
// position: absolute;
// left: 0;
// width: 100%;
// height: $content-height;
// overflow: hidden;
// opacity: 1;
// transition: opacity;
// transition-duration: 0.45s;
// backface-visibility: hidden;
// .main-container {
// display: flex;
// padding-top: 16px;
// padding-right: 5px;
// padding-bottom: 10px;
// padding-left: 5px;
// }
// .main-self-container {
// width: 100%;
// height: 100%;
// padding: 16px 5px 10px 5px;
// }
// .desktop {
// width: 100%;
// height: 100%;
// opacity: 1;
// transition: opacity;
// transition-duration: 0.45s;
// .box-left-normal {
// position: absolute;
// top: 0;
// z-index: 100;
// height: calc(100% - 0.06rem);
// margin-top: 0.06rem;
// }
// .box-left-min {
// position: absolute;
// top: calc(50% - 1.2rem);
// z-index: 100;
// width: 0.6rem;
// .box-min {
// left: calc(-0.6rem + 3px);
// border-right: 3px solid transparent;
// transition: left 0.4s;
// &:hover {
// left: 0;
// border-right: 0;
// }
// }
// }
// .box-right-normal {
// position: absolute;
// top: 0;
// right: 0;
// z-index: 100;
// height: calc(100% - 0.06rem);
// margin-top: 0.06rem;
// }
// .box-right-min {
// position: absolute;
// top: calc(50% - 0.6rem);
// right: 0;
// z-index: 100;
// width: 0.6rem;
// .box-min {
// right: calc(-0.6rem + 3px);
// border-left: 3px solid transparent;
// transition: right 0.4s;
// &:hover {
// right: 0;
// border-left: 0;
// }
// }
// }
// .box-close {
// position: absolute;
// top: calc(50% - 50px);
// width: 0.216rem;
// height: 0.96rem;
// line-height: 0.96rem;
// color: white;
// cursor: pointer;
// background-color: rgba(0, 0, 0, 0.3);
// &.left {
// right: -20px;
// border-radius: 0 12px 12px 0;
// box-shadow: 2px 2px 5px rgba(43, 22, 54, 0.2);
// }
// &.right {
// left: -20px;
// border-radius: 12px 0 0 12px;
// box-shadow: -2px 0 5px rgba(43, 22, 54, 0.2);
// }
// &:hover {
// background-color: #562984;
// }
// }
// }
// }
// }
// .main-view {
// width: 100%;
// height: 100%;
// > .main-content {
// overflow: auto;
// }
// }
// .box-min {
// position: absolute;
// display: table;
// width: 0.6rem;
// height: 100%;
// .box-min-cont {
// position: relative;
// display: table-cell;
// width: 100%;
// text-align: center;
// vertical-align: middle;
// .box-min-item {
// position: relative;
// width: 100%;
// height: 60px;
// padding: 10px 0 4px;
// cursor: pointer;
// &:hover {
// transition-duration: 0.2s;
// }
// }
// }
// }
// .app-list {
// position: relative;
// height: 100%;
// .tab-content-item {
// img {
// position: relative;
// top: 0.048rem;
// }
// }
// .amos-category-tab {
// height: calc(100% - 0.36rem);
// .nav-tab-all {
// height: calc(100% - 0.12rem);
// background-color: rgba(0, 0, 0, 0.4);
// }
// .nav-tab-content {
// width: calc(100% - 1.2rem);
// height: calc(100% - 0.12rem);
// background-color: rgba(0, 0, 0, 0.2);
// }
// }
// .app-search {
// width: 90%;
// height: 0.264rem;
// padding-right: 0.264rem;
// line-height: 0.264rem;
// border: 0;
// border-radius: 0.132rem;
// & > input {
// background-color: rgba(255, 255, 255, 0.2);
// border: 1px solid rgba(0, 0, 0, 0.2);
// border-radius: 100px;
// }
// }
// .app-search-icon {
// position: absolute;
// top: 0.012rem;
// right: 7%;
// }
// }
// .form-footer {
// display: block;
// margin-top: 0.12rem;
// text-align: right;
// }
// .ant-tabs-ink-bar {
// // width: $tab-width !important;
// // background-color: transparent;
// background-color: #fec006;
// }
// .ant-tabs-tab-inner {
// .amosicon {
// margin-right: 0.06rem;
// }
// }
// .ant-tabs-tab {
// width: $tab-width !important;
// margin-right: 0 !important;
// text-align: center;
// }
// .ant-tabs {
// color: white;
// }
// .amos-skin-img {
// position: fixed;
// width: 100%;
// height: 100%;
// background-repeat: no-repeat;
// background-size: 100% 100%;
// }
// .amos-jump-spiner {
// position: absolute;
// top: 50%;
// left: 50%;
// z-index: 999;
// transform: translate(-50%, -50%);
// }
// .app-sider {
// .amos-tabs {
// width: 3.36rem;
// height: 100%;
// .amos-tabs-list {
// .amos-tabs-tabitem {
// .amos-tabs-tabitem-inner {
// color: white;
// .amos-tabs-tabitem-content {
// i {
// position: relative;
// top: 1px;
// margin-right: 2px;
// }
// }
// }
// }
// .amos-tabs-tabitem-active {
// > .amos-tabs-tabitem-inner {
// background-color: transparent;
// border-bottom: 2px solid #97d747;
// }
// }
// }
// .amos-tabs-panel {
// height: calc(100% - 40px);
// }
// }
// }
.theme-wrapper {
.theme-head {
padding-top: 0.3rem;
padding-bottom: 0.18rem;
margin-bottom: 0.12rem;
text-align: center;
background: #f4f7fc;
div {
font-size: 0.276rem;
color: #333;
}
p {
font-size: 0.156rem;
}
}
.theme-custom-head {
padding-top: 0.3rem;
padding-bottom: 0.18rem;
margin: 0.12rem 0;
text-align: center;
background: #f4f7fc;
}
.theme-content {
display: flex;
max-width: 9.36rem;
margin: 0 auto;
justify-content: flex-start;
flex-flow: row wrap;
.theme-class-name {
width: 100%;
padding: 0 0.06rem;
font-size: 0.156rem;
color: #333;
}
.theme-item {
position: relative;
width: 1.2rem;
height: 1.02rem;
margin: 0.06rem;
img {
width: 1.2rem;
height: 0.804rem;
vertical-align: middle;
cursor: pointer;
}
.theme-name {
width: 1.2rem;
height: 0.192rem;
color: white;
text-align: center;
}
.theme-footer {
height: 0.024rem;
span {
float: left;
width: 25%;
height: 100%;
}
}
.theme-check {
position: absolute;
top: 0;
display: none;
width: 0.144rem;
height: 1.02rem;
line-height: 72px;
color: white;
text-align: center;
cursor: pointer;
}
.theme-use {
position: absolute;
top: 30px;
left: 28px;
color: white;
.amosicon {
margin-right: 0.036rem;
}
}
.theme-delete {
position: absolute;
top: 0.012rem;
right: 0.012rem;
display: none;
font-size: 0.144rem;
color: white;
cursor: pointer;
}
}
.theme-item.normal {
&:hover {
.theme-check {
display: block;
}
.theme-delete {
display: block;
}
}
}
}
.create-theme-content {
width: 100%;
text-align: center;
.create-theme-value {
margin-right: 0.12rem;
input {
width: 0.96rem;
}
}
.create-theme-lable {
font-size: 0.12rem;
color: #333;
}
}
}
@import './fixed/index.scss';
//@import './login.scss';
//@import './panelframe.scss';
@import './monitor/index.scss';
@import './biz/index.scss';
.login-resource-text {
text-align: center;
}
.login-content .login-center-content .login-center-left .login-logo-language {
top: 0.6rem;
}
.login-content .login-center-content .login-center-left .login-language-bottom {
top: 1.32rem;
}
.login-content .login-footer span {
margin-left: 0.36rem;
}
.login-content .login-footer {
bottom: 0.12rem;
}
.login-content .login-center-content .login-center-right .login-form {
margin-top: 0.12rem !important;
}
.login-form-border {
margin-top: 0.12rem !important;
}
.login-content .login-center-content .login-center-right .login-form .login-form-border .login-form-container {
width: 0.36rem !important;
height: 0.36rem !important;
}
.login-content .login-center-content .login-center-right .login-form input {
width: 2.8rem;
height: 0.288rem !important;
padding-left: 0.42rem !important;
}
.login-content .login-center-content .login-center-right .login-form input.login-verify-blob {
width: 1.8rem;
}
.login-form-verifycode {
height: 0.288rem !important;
}
.login-form-verifycode img {
width: 0.6rem !important;
height: 0.288rem !important;
}
.login-content .login-center-content .login-center-right .login-form .login-remember {
height: 0.24rem !important;
margin-top: 0.2rem !important;
}
.login-content .login-center-content .login-center-right .login-form button {
height: 0.36rem !important;
margin-top: 0.12rem !important;
font-size: 0.168rem !important;
}
.login-content .login-center-content .login-center-right .login-form .login-form-border .login-form-container .login-form-usericon,
.login-content .login-center-content .login-center-right .login-form .login-form-border .login-form-container .login-form-passicon,
.login-content .login-center-content .login-center-right .login-form .login-form-border .login-form-container .login-form-verifycodeicon {
height: 0.216rem !important;
}
#app .login-content .login-center-content .login-center-right .login-form .login-submit {
padding: 0 !important;
border-radius: 0.03rem !important;
background: none repeat scroll 0 0 #e84d26;
}
#app .login-content {
background: url('/src/assets/bg/login-bg.jpg') no-repeat;
}
.login-content .login-center-content .login-center-right .login-form input.login-verify-blob {
width: 2.2rem;
}
@import './duty.scss';
.view-root {
height: 100%;
background: url('/src/assets/bg/bg.png') no-repeat;
background-size: cover;
.header {
position: none !important;
}
}
.panel-frame {
// border: 1px solid;
.panel-frame-title {
height: 4.5vh;
font-size: 0.15rem;
line-height: 5vh;
position: relative;
.panel-frame-title-text {
position: absolute;
height: 100%;
left: 0.15rem;
display: flex;
align-items: center;
top: 0;
font-size: 0.20rem;
}
// border-bottom: 1px solid;
.panel-frame-title-one {
background-image: url("/src/assets/bg/module-bg2.png");
display: inline-block;
width: 78px;
height: 100%;
background-size: 100% 100%;
}
.panel-frame-title-two {
background-image: url("/src/assets/bg/module-bg1.png");
display: inline-block;
width: 78px;
height: 100%;
background-size: 100% 100%;
}
.panel-frame-title-three {
background-image: url("/src/assets/bg/module-bg3.png");
display: inline-block;
width: 78px;
height: 100%;
background-size: 100% 100%;
}
.panel-frame-title-four {
background-image: url("/src/assets/bg/module-bg4.png");
display: inline-block;
width: 78px;
height: 100%;
background-size: 100% 100%;
}
.panel-frame-title-five {
background-image: url("/src/assets/bg/module-bg5.png");
display: inline-block;
width: 78px;
height: 100%;
background-size: 100% 100%;
}
}
.panel-frame-content {
height: calc(100% - 4.5vh);
padding: 0.7vw;
background-image: url("/src/assets/bg/module-bg6.png");
background-size: 100% 100%;
position: relative;
left: -1px;
}
}
/**
* 樱桃红
*/
$parent: cherry;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(210, 46, 46, 1);
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #b41616;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(210, 46, 46, 1);
$sider-bg-close-color: rgba(210, 46, 46, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(210, 46, 46, 0.7);
@import "./view/index.scss";
/**
* 默认主题
*/
$parent: default;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(86, 41, 132, 1);
// 顶部字体颜色
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #431d6a;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(86, 41, 132, 1);
$sider-bg-close-color: rgba(86, 41, 132, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(86, 41, 132, 0.7);
@import "./view/index.scss";
/**
* 樱桃红
*/
$parent: dispatch;
//********************************************
// 顶部head区
//********************************************
// 顶部背景色
$head-bg-color: linear-gradient(180deg, white 0%, rgba(242, 242, 242, 1) 0%, rgba(228, 228, 228, 1) 100%, white 100%);
// 顶部字体颜色
$head-color: black;
// 顶部所有边框颜色
$head-border-color: #a5a5a5;
// 顶部菜单边框颜色
$head-menu-border-color: #a5a5a5;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: linear-gradient(180deg, rgba(215, 215, 215, 1) 0%, rgba(215, 215, 215, 1) 0%, rgba(188, 188, 188, 1) 100%, rgba(188, 188, 188, 1) 100%);
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: #898989;
// 顶部搜索框背景色颜色:
$head-search-background: linear-gradient(180deg, #f3f3f3 0%, #f3f3f3 0%, #fefefe 100%, #fefefe 100%);
// 顶部搜索框图标颜色:
$head-search-icon-color: #31a7db;
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: #747474;
$sider-bg-close-color: #747474;
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: whitesmoke;
$main-content-page-color: white;
// 首页
$desk-color: rgba(0, 0, 0, 0.3);
@import "./view/index.scss";
/**
* 香槟金主题
*/
$parent: default;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(187, 130, 53, 1);
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #966625;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(187, 130, 53, 1);
$sider-bg-close-color: rgba(187, 130, 53, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(187, 130, 53, 0.7);
@import "./view/index.scss";
/**
* 靛蓝主题
*/
$parent: indigo;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(63, 81, 181, 1);
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #253385;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(63, 81, 181, 1);
$sider-bg-close-color: rgba(63, 81, 181, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(63, 81, 181, 0.7);
@import "./view/index.scss";
/**
* 绛紫主题
*/
$parent: magenta;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(122, 30, 161, 1);
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #69158d;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(122, 30, 161, 1);
$sider-bg-close-color: rgba(122, 30, 161, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(122, 30, 161, 0.7);
@import "./view/index.scss";
/**
* 千禧绿主题
*/
$parent: millennium;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(58, 126, 89, 1);
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #1b5c39;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(58, 126, 89, 1);
$sider-bg-close-color: rgba(58, 126, 89, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(58, 126, 89, 0.7);
@import "./view/index.scss";
/**
* 单一主题
*/
$parent: single;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(86, 41, 132, 1);
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #431d6a;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(86, 41, 132, 1);
$sider-bg-close-color: rgba(86, 41, 132, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(86, 41, 132, 0.7);
@import "./view/index.scss";
/**
* 星空主题
*/
$parent: solor;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(86, 41, 132, 1);
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #431d6a;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(86, 41, 132, 1);
$sider-bg-close-color: rgba(86, 41, 132, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(86, 41, 132, 0.7);
@import "./view/index.scss";
/**
* 水鸭绿主题
*/
$parent: teal;
//********************************************
// 顶部head区
//********************************************
$head-bg-color: rgba(0, 149, 135, 1);
$head-color: white;
// 顶部所有边框颜色
$head-border-color: transparent;
// 顶部菜单边框颜色
$head-menu-border-color: transparent;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background: #156e66;
// 顶部菜单字体图标颜色
$head-menu-icon-color: #ff661c;
// 顶部搜索框边框颜色:
$head-search-border-color: transparent;
// 顶部搜索框背景色颜色:
$head-search-background: rgba(255, 255, 255, 0.2);
// 顶部搜索框图标颜色:
$head-search-icon-color: white;
//logo
//一级菜单
$nav-text-color: white;
$nav-active-bottom-color: #8ac249;
//********************************************
// 左侧应用、收藏、卡片区与右侧周期任务、消息区
//********************************************
$sider-bg-open-color: rgba(0, 149, 135, 1);
$sider-bg-close-color: rgba(0, 149, 135, 0.7);
$sider-text-color: white;
//我的应用区
//我的收藏
//我的卡片
//周期任务
//消息区
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color: #f5f5f5;
$main-content-page-color: white;
// 首页
$desk-color: rgba(0, 149, 135, 0.7);
@import "./view/index.scss";
@import "./configCenter/objectLibrary.scss";
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment