初次提交
This commit is contained in:
14
.editorconfig
Normal file
14
.editorconfig
Normal file
@ -0,0 +1,14 @@
|
||||
# https://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
insert_final_newline = false
|
||||
trim_trailing_whitespace = false
|
||||
9
.env.app
Normal file
9
.env.app
Normal file
@ -0,0 +1,9 @@
|
||||
NODE_ENV = production
|
||||
# just a flag
|
||||
ENV = 'app'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'https://hoenergy.woaitw.com/api'
|
||||
VUE_APP_VISUALE_API = https://hoenergy.woaitw.com
|
||||
#VUE_APP_BASE_API = 'https://albtest.woaitw.com/api'
|
||||
#VUE_APP_VISUALE_API = https://albtest.woaitw.com
|
||||
15
.env.development
Normal file
15
.env.development
Normal file
@ -0,0 +1,15 @@
|
||||
# just a flag
|
||||
ENV = 'development'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
|
||||
|
||||
VUE_APP_BASE_API = 'http://121.237.176.143:9091/api'
|
||||
VUE_APP_VISUALE_API = http://192.168.0.82:9527
|
||||
VUE_APP_ZUTAI_API = http://192.168.100.83:8001
|
||||
|
||||
|
||||
VUE_APP_CHUNENG_URL = http://123.60.190.77
|
||||
VUE_APP_GUANGFU_URL = http://123.60.162.194:9090/index?istrue=f
|
||||
VUE_APP_JIACHU_URL = http://192.168.0.147:9530
|
||||
VUE_APP_SZLS_URL = http://localhost:801/digitaltwin.mp4
|
||||
5
.env.exploit
Normal file
5
.env.exploit
Normal file
@ -0,0 +1,5 @@
|
||||
# just a flag
|
||||
ENV = 'development'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'http://192.168.1.181:8000/api'
|
||||
7
.env.jingkeprod
Normal file
7
.env.jingkeprod
Normal file
@ -0,0 +1,7 @@
|
||||
NODE_ENV = production
|
||||
# just a flag
|
||||
ENV = 'jingkeprod'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'http://106.15.53.66:8000/api'
|
||||
VUE_APP_VISUALE_API = http://106.15.53.66
|
||||
13
.env.open
Normal file
13
.env.open
Normal file
@ -0,0 +1,13 @@
|
||||
NODE_ENV = production
|
||||
# just a flag
|
||||
ENV = 'open'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'https://ecloud.hoenergypower.cn/api'
|
||||
VUE_APP_VISUALE_API = https://ecloud.hoenergypower.cn
|
||||
|
||||
VUE_APP_CHUNENG_URL = https://ecloud.hoenergypower.cn
|
||||
VUE_APP_GUANGFU_URL = http://123.60.162.194:9090/index?istrue=f
|
||||
VUE_APP_JIACHU_URL = http://192.168.100.252:8095
|
||||
VUE_APP_SZLS_URL = http://localhost:801/digitaltwin.mp4
|
||||
VUE_APP_ZUTAI_API = https://ecloud.hoenergypower.cn:8090
|
||||
8
.env.opendev
Normal file
8
.env.opendev
Normal file
@ -0,0 +1,8 @@
|
||||
NODE_ENV = production
|
||||
# just a flag
|
||||
ENV = 'opendev'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'http://192.168.100.237:8000/api'
|
||||
VUE_APP_VISUALE_API = http://192.168.100.237:9091
|
||||
VUE_APP_ZUTAI_API = http://192.168.100.244:9090
|
||||
8
.env.opentest
Normal file
8
.env.opentest
Normal file
@ -0,0 +1,8 @@
|
||||
NODE_ENV = production
|
||||
# just a flag
|
||||
ENV = 'opentest'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'https://zzkj-cloud.com/api'
|
||||
VUE_APP_VISUALE_API = https://zzkj-cloud.com
|
||||
VUE_APP_ZUTAI_API = https://zzkj-cloud.com:9090
|
||||
6
.env.production
Normal file
6
.env.production
Normal file
@ -0,0 +1,6 @@
|
||||
# just a flag
|
||||
ENV = 'production'
|
||||
|
||||
# base api
|
||||
VUE_APP_BASE_API = 'http://121.237.176.143:8001/api'
|
||||
|
||||
8
.env.staging
Normal file
8
.env.staging
Normal file
@ -0,0 +1,8 @@
|
||||
NODE_ENV = production
|
||||
|
||||
# just a flag
|
||||
ENV = 'staging'
|
||||
|
||||
# base api
|
||||
VUE_APP_BASE_API = 'http://124.71.192.230:8000/api'
|
||||
|
||||
7
.env.stationtest
Normal file
7
.env.stationtest
Normal file
@ -0,0 +1,7 @@
|
||||
NODE_ENV = production
|
||||
# just a flag
|
||||
ENV = 'stationtest'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'http://47.122.16.39/api'
|
||||
VUE_APP_VISUALE_API = http://47.122.16.39
|
||||
5
.env.tonghe
Normal file
5
.env.tonghe
Normal file
@ -0,0 +1,5 @@
|
||||
# just a flag
|
||||
ENV = 'development'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'http://123.60.162.194:8000/api'
|
||||
8
.env.xingneng
Normal file
8
.env.xingneng
Normal file
@ -0,0 +1,8 @@
|
||||
NODE_ENV = production
|
||||
# just a flag
|
||||
ENV = 'xingneng'
|
||||
|
||||
# base api //http://192.168.1.181:8000/api 192.168.1.199:8000/api // http://124.71.192.230:8000/api // http://127.0.0.1:4523/m1/1450402-0-default
|
||||
VUE_APP_BASE_API = 'http://192.168.100.237:8000/api'
|
||||
VUE_APP_VISUALE_API = http://192.168.100.237:9091
|
||||
VUE_APP_ZUTAI_API = http://192.168.100.244:9090
|
||||
4
.eslintignore
Normal file
4
.eslintignore
Normal file
@ -0,0 +1,4 @@
|
||||
build/*.js
|
||||
src/assets
|
||||
public
|
||||
dist
|
||||
201
.eslintrc.js
Normal file
201
.eslintrc.js
Normal file
@ -0,0 +1,201 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
parserOptions: {
|
||||
parser: 'babel-eslint',
|
||||
sourceType: 'module'
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
node: true,
|
||||
es6: true,
|
||||
},
|
||||
globals: {
|
||||
'AMap': false,
|
||||
'AMapUI': false
|
||||
},
|
||||
extends: ['plugin:vue/recommended', 'eslint:recommended'],
|
||||
|
||||
// add your custom rules here
|
||||
//it is base on https://github.com/vuejs/eslint-config-vue
|
||||
rules: {
|
||||
"vue/max-attributes-per-line": [2, {
|
||||
"singleline": 10,
|
||||
"multiline": {
|
||||
"max": 1,
|
||||
"allowFirstLine": false
|
||||
}
|
||||
}],
|
||||
"vue/singleline-html-element-content-newline": "off",
|
||||
"vue/multiline-html-element-content-newline":"off",
|
||||
"vue/name-property-casing": ["error", "PascalCase"],
|
||||
"vue/no-v-html": "off",
|
||||
'accessor-pairs': 2,
|
||||
'arrow-spacing': [2, {
|
||||
'before': true,
|
||||
'after': true
|
||||
}],
|
||||
'block-spacing': [2, 'always'],
|
||||
'brace-style': [2, '1tbs', {
|
||||
'allowSingleLine': true
|
||||
}],
|
||||
'camelcase': 'off',
|
||||
'comma-dangle': [2, 'never'],
|
||||
'comma-spacing': [2, {
|
||||
'before': false,
|
||||
'after': true
|
||||
}],
|
||||
'comma-style': [2, 'last'],
|
||||
'constructor-super': 2,
|
||||
'curly': [2, 'multi-line'],
|
||||
'dot-location': [2, 'property'],
|
||||
'eol-last': 2,
|
||||
'eqeqeq': ["error", "always", {"null": "ignore"}],
|
||||
'generator-star-spacing': [2, {
|
||||
'before': true,
|
||||
'after': true
|
||||
}],
|
||||
'handle-callback-err': [2, '^(err|error)$'],
|
||||
'indent': [2, 2, {
|
||||
'SwitchCase': 1
|
||||
}],
|
||||
'jsx-quotes': [2, 'prefer-single'],
|
||||
'key-spacing': [2, {
|
||||
'beforeColon': false,
|
||||
'afterColon': true
|
||||
}],
|
||||
'keyword-spacing': [2, {
|
||||
'before': true,
|
||||
'after': true
|
||||
}],
|
||||
'new-cap': [2, {
|
||||
'newIsCap': true,
|
||||
'capIsNew': false
|
||||
}],
|
||||
'new-parens': 2,
|
||||
'no-array-constructor': 2,
|
||||
'no-caller': 2,
|
||||
'no-console': 'off',
|
||||
'no-class-assign': 2,
|
||||
'no-cond-assign': 2,
|
||||
'no-const-assign': 2,
|
||||
'no-control-regex': 0,
|
||||
'no-delete-var': 2,
|
||||
'no-dupe-args': 2,
|
||||
'no-dupe-class-members': 2,
|
||||
'no-dupe-keys': 2,
|
||||
'no-duplicate-case': 2,
|
||||
'no-empty-character-class': 2,
|
||||
'no-empty-pattern': 2,
|
||||
'no-eval': 2,
|
||||
'no-ex-assign': 2,
|
||||
'no-extend-native': 2,
|
||||
'no-extra-bind': 2,
|
||||
'no-extra-boolean-cast': 2,
|
||||
'no-extra-parens': [2, 'functions'],
|
||||
'no-fallthrough': 2,
|
||||
'no-floating-decimal': 2,
|
||||
'no-func-assign': 2,
|
||||
'no-implied-eval': 2,
|
||||
'no-inner-declarations': [2, 'functions'],
|
||||
'no-invalid-regexp': 2,
|
||||
'no-irregular-whitespace': 2,
|
||||
'no-iterator': 2,
|
||||
'no-label-var': 2,
|
||||
'no-labels': [2, {
|
||||
'allowLoop': false,
|
||||
'allowSwitch': false
|
||||
}],
|
||||
'no-lone-blocks': 2,
|
||||
'no-mixed-spaces-and-tabs': 2,
|
||||
'no-multi-spaces': 2,
|
||||
'no-multi-str': 2,
|
||||
'no-multiple-empty-lines': [2, {
|
||||
'max': 1
|
||||
}],
|
||||
'no-native-reassign': 2,
|
||||
'no-negated-in-lhs': 2,
|
||||
'no-new-object': 2,
|
||||
'no-new-require': 2,
|
||||
'no-new-symbol': 2,
|
||||
'no-new-wrappers': 2,
|
||||
'no-obj-calls': 2,
|
||||
'no-octal': 2,
|
||||
'no-octal-escape': 2,
|
||||
'no-path-concat': 2,
|
||||
'no-proto': 2,
|
||||
'no-redeclare': 2,
|
||||
'no-regex-spaces': 2,
|
||||
'no-return-assign': [2, 'except-parens'],
|
||||
'no-self-assign': 2,
|
||||
'no-self-compare': 2,
|
||||
'no-sequences': 2,
|
||||
'no-shadow-restricted-names': 2,
|
||||
'no-spaced-func': 2,
|
||||
'no-sparse-arrays': 2,
|
||||
'no-this-before-super': 2,
|
||||
'no-throw-literal': 2,
|
||||
'no-trailing-spaces': 2,
|
||||
'no-undef': 2,
|
||||
'no-undef-init': 2,
|
||||
'no-unexpected-multiline': 2,
|
||||
'no-unmodified-loop-condition': 2,
|
||||
'no-unneeded-ternary': [2, {
|
||||
'defaultAssignment': false
|
||||
}],
|
||||
'no-unreachable': 2,
|
||||
'no-unsafe-finally': 2,
|
||||
'no-unused-vars': [2, {
|
||||
'vars': 'all',
|
||||
'args': 'none'
|
||||
}],
|
||||
'no-useless-call': 2,
|
||||
'no-useless-computed-key': 2,
|
||||
'no-useless-constructor': 2,
|
||||
'no-useless-escape': 0,
|
||||
'no-whitespace-before-property': 2,
|
||||
'no-with': 2,
|
||||
'one-var': [2, {
|
||||
'initialized': 'never'
|
||||
}],
|
||||
'operator-linebreak': [2, 'after', {
|
||||
'overrides': {
|
||||
'?': 'before',
|
||||
':': 'before'
|
||||
}
|
||||
}],
|
||||
'padded-blocks': [2, 'never'],
|
||||
'quotes': [2, 'single', {
|
||||
'avoidEscape': true,
|
||||
'allowTemplateLiterals': true
|
||||
}],
|
||||
'semi': [2, 'never'],
|
||||
'semi-spacing': [2, {
|
||||
'before': false,
|
||||
'after': true
|
||||
}],
|
||||
'space-before-blocks': [2, 'always'],
|
||||
'space-before-function-paren': [2, 'never'],
|
||||
'space-in-parens': [2, 'never'],
|
||||
'space-infix-ops': 2,
|
||||
'space-unary-ops': [2, {
|
||||
'words': true,
|
||||
'nonwords': false
|
||||
}],
|
||||
'spaced-comment': [2, 'always', {
|
||||
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
|
||||
}],
|
||||
'template-curly-spacing': [2, 'never'],
|
||||
'use-isnan': 2,
|
||||
'valid-typeof': 2,
|
||||
'wrap-iife': [2, 'any'],
|
||||
'yield-star-spacing': [2, 'both'],
|
||||
'yoda': [2, 'never'],
|
||||
'prefer-const': 2,
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
|
||||
'object-curly-spacing': [2, 'always', {
|
||||
objectsInObjects: false
|
||||
}],
|
||||
'array-bracket-spacing': [2, 'never']
|
||||
}
|
||||
}
|
||||
|
||||
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
.DS_Store
|
||||
node_modules/
|
||||
dist/
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
**/*.log
|
||||
|
||||
tests/**/coverage/
|
||||
tests/e2e/reports
|
||||
selenium-debug.log
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.local
|
||||
yarn.lock
|
||||
|
||||
.VSCodeCounter/
|
||||
5
.travis.yml
Normal file
5
.travis.yml
Normal file
@ -0,0 +1,5 @@
|
||||
language: node_js
|
||||
node_js: 10
|
||||
script: npm run test
|
||||
notifications:
|
||||
email: false
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017-present PanJiaChen
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
128
README.es.md
Normal file
128
README.es.md
Normal file
@ -0,0 +1,128 @@
|
||||
|
||||
Español | [English](./README.md) | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md)
|
||||
|
||||
|
||||
## Características
|
||||
|
||||
```
|
||||
- Iniciar / Cerrar Sesión
|
||||
|
||||
- Permisos de Autenticación
|
||||
- Página de Permisos
|
||||
- Directivas de permisos
|
||||
- Página de configuración de permisos
|
||||
- Autenticación por dos pasos
|
||||
|
||||
- Construcción Multi-entorno
|
||||
- Desarrollo (dev)
|
||||
- sit
|
||||
- Escenario de pruebas (stage),
|
||||
- Producción (prod)
|
||||
|
||||
- Características Globales
|
||||
- I18n
|
||||
- Temas dinámicos
|
||||
- Menu lateral dinámico (soporte a rutas multi-nivel)
|
||||
- Barra de rutas dinámica
|
||||
- Tags-view (Pestañas de página, Soporta operación de clic derecho)
|
||||
- Svg Sprite
|
||||
- Datos de simulación con Mock
|
||||
- Pantalla completa
|
||||
- Menu lateral responsivo
|
||||
|
||||
- Editor
|
||||
- Editor de Texto Enriquecido
|
||||
- Editor Markdown
|
||||
- Editor JSON
|
||||
|
||||
- Excel
|
||||
- Exportación a Excel
|
||||
- Carga de Excel
|
||||
- Visualización de Excel
|
||||
- Exportación como ZIP
|
||||
|
||||
- Tabla
|
||||
- Tabla Dinámica
|
||||
- Tabla con Arrastrar y Soltar
|
||||
- Tabla de edición en línea
|
||||
|
||||
- Páginas de Error
|
||||
- 401
|
||||
- 404
|
||||
|
||||
- Componentes
|
||||
- Carga de Avatar
|
||||
- Botón para subir al inicio
|
||||
- Arrastrar y Soltar (Diaglogo)
|
||||
- Arrastrar y Soltar (Seleccionar)
|
||||
- Arrastrar y Soltar (Kanban)
|
||||
- Arrastrar y Soltar (Lista)
|
||||
- Panel de división
|
||||
- Componente para soltar archivos
|
||||
- Adhesión de objetos
|
||||
- Contador hasta
|
||||
|
||||
- Ejemplo Avanzado
|
||||
- Registro de Errores
|
||||
- Tablero de indicadores
|
||||
- Página de Guías
|
||||
- ECharts (Gráficos)
|
||||
- Portapapeles
|
||||
- Convertidor de Markdown a HTML
|
||||
```
|
||||
|
||||
## Iniciando
|
||||
|
||||
```bash
|
||||
# clone el proyecto
|
||||
git clone https://github.com/PanJiaChen/vue-element-admin.git
|
||||
|
||||
# vaya al directorio clonado
|
||||
cd vue-element-admin
|
||||
|
||||
# instale las dependencias
|
||||
npm install
|
||||
|
||||
# corra el proyecto como desarrollador
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Automáticamente se abrirá el siguiente enlace en su navegador http://localhost:9527
|
||||
|
||||
## Construcción
|
||||
|
||||
```bash
|
||||
# Construcción para entornos de prueba
|
||||
npm run build:stage
|
||||
|
||||
# Construcción para entornos de producción
|
||||
npm run build:prod
|
||||
```
|
||||
|
||||
## Avanzado
|
||||
|
||||
```bash
|
||||
# Vista previa con efectos de entorno
|
||||
npm run preview
|
||||
|
||||
# Vista previa con efectos + análisis de recursos estáticos
|
||||
npm run preview -- --report
|
||||
|
||||
# Chequeo de formato de código
|
||||
npm run lint
|
||||
|
||||
# Chequeo de formato de código y auto-corrección
|
||||
npm run lint -- --fix
|
||||
```
|
||||
|
||||
## Navegadores Soportados
|
||||
|
||||
Navegadores modernos e Internet Explorer 10+.
|
||||
|
||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Safari |
|
||||
| --------- | --------- | --------- | --------- |
|
||||
| IE10, IE11, Edge | últimas 2 versiones | últimas 2 versiones | últimas 2 versiones |
|
||||
|
||||
## Licencia
|
||||
|
||||
Copyright (c) 2017-presente PanJiaChen
|
||||
128
README.ja.md
Normal file
128
README.ja.md
Normal file
@ -0,0 +1,128 @@
|
||||
|
||||
|
||||
日本語 | [English](./README.md) | [简体中文](./README.zh-CN.md) | [Spanish](./README.es.md)
|
||||
|
||||
|
||||
## 機能一覧
|
||||
|
||||
```
|
||||
- ログイン / ログアウト
|
||||
|
||||
- Auth認証
|
||||
- ページ権限
|
||||
- 権限パーミッション
|
||||
- 権限設定
|
||||
- 外部IDでログイン
|
||||
|
||||
- 複数環境デプロイ
|
||||
- dev
|
||||
- sit
|
||||
- stage
|
||||
- prod
|
||||
|
||||
- 共通機能
|
||||
- 多言語切替
|
||||
- テーマ切替
|
||||
- サイトメニュー(ルートから生成)
|
||||
- パンくずリストナビゲーション
|
||||
- タブナビゲーション
|
||||
- Svg Sprite アイコン
|
||||
- ローカル/バックエンド モック データ
|
||||
- Screenfull
|
||||
|
||||
- WYSIWYG
|
||||
- TinyMCE
|
||||
- Markdown
|
||||
- JSON
|
||||
|
||||
- Excel
|
||||
- エクスポート
|
||||
- インポート
|
||||
- リード
|
||||
- Zip
|
||||
|
||||
- テーブル
|
||||
- ダイナミックテーブル
|
||||
- ドラッグアンドドロップテーブル
|
||||
- インラインエディットテーブル
|
||||
|
||||
- エラーページ
|
||||
- 401
|
||||
- 404
|
||||
|
||||
- コンポーネント
|
||||
- アバターアップロード
|
||||
- トップに戻る
|
||||
- ドラッグダイアログ
|
||||
- ドラッグ選択
|
||||
- ドラッグKanban
|
||||
- ドラッグリスト
|
||||
- ペインの分割
|
||||
- Dropzone
|
||||
- スティッキー
|
||||
- CountTo
|
||||
|
||||
- 高度なサンプル
|
||||
- エラーログ
|
||||
- ダッシュボード
|
||||
- ガイドページ
|
||||
- ECharts
|
||||
- クリップボード
|
||||
- Markdown to html
|
||||
```
|
||||
|
||||
## Getting started
|
||||
|
||||
```bash
|
||||
# clone the project
|
||||
git clone -b i18n git@github.com:PanJiaChen/vue-element-admin.git
|
||||
|
||||
# enter the project directory
|
||||
cd vue-element-admin
|
||||
|
||||
# install dependency
|
||||
npm install
|
||||
|
||||
# develop
|
||||
npm run dev
|
||||
```
|
||||
|
||||
http://localhost:9527 が自動的に開きます。
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
# build for test environment
|
||||
npm run build:stage
|
||||
|
||||
# build for production environment
|
||||
npm run build:prod
|
||||
```
|
||||
|
||||
## Advanced
|
||||
|
||||
```bash
|
||||
# preview the release environment effect
|
||||
npm run preview
|
||||
|
||||
# preview the release environment effect + static resource analysis
|
||||
npm run preview -- --report
|
||||
|
||||
# code format check
|
||||
npm run lint
|
||||
|
||||
# code format check and auto fix
|
||||
npm run lint -- --fix
|
||||
```
|
||||
|
||||
## Browsers support
|
||||
|
||||
Modern browsers and Internet Explorer 10+.
|
||||
|
||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Safari |
|
||||
| --------- | --------- | --------- | --------- |
|
||||
| IE10, IE11, Edge | last 2 versions | last 2 versions | last 2 versions |
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) 2022-present Hoenergy
|
||||
131
README.md
Normal file
131
README.md
Normal file
@ -0,0 +1,131 @@
|
||||
|
||||
English | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Spanish](./README.es.md)
|
||||
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
```
|
||||
- Login / Logout
|
||||
|
||||
- Permission Authentication
|
||||
- Page permission
|
||||
- Directive permission
|
||||
- Permission configuration page
|
||||
- Two-step login
|
||||
|
||||
- Multi-environment build
|
||||
- Develop (dev)
|
||||
- sit
|
||||
- Stage Test (stage)
|
||||
- Production (prod)
|
||||
|
||||
- Global Features
|
||||
- I18n
|
||||
- Multiple dynamic themes
|
||||
- Dynamic sidebar (supports multi-level routing)
|
||||
- Dynamic breadcrumb
|
||||
- Tags-view (Tab page Support right-click operation)
|
||||
- Svg Sprite
|
||||
- Mock data
|
||||
- Screenfull
|
||||
- Responsive Sidebar
|
||||
|
||||
- Editor
|
||||
- Rich Text Editor
|
||||
- Markdown Editor
|
||||
- JSON Editor
|
||||
|
||||
- Excel
|
||||
- Export Excel
|
||||
- Upload Excel
|
||||
- Visualization Excel
|
||||
- Export zip
|
||||
|
||||
- Table
|
||||
- Dynamic Table
|
||||
- Drag And Drop Table
|
||||
- Inline Edit Table
|
||||
|
||||
- Error Page
|
||||
- 401
|
||||
- 404
|
||||
|
||||
- Components
|
||||
- Avatar Upload
|
||||
- Back To Top
|
||||
- Drag Dialog
|
||||
- Drag Select
|
||||
- Drag Kanban
|
||||
- Drag List
|
||||
- SplitPane
|
||||
- Dropzone
|
||||
- Sticky
|
||||
- CountTo
|
||||
|
||||
- Advanced Example
|
||||
- Error Log
|
||||
- Dashboard
|
||||
- Guide Page
|
||||
- ECharts
|
||||
- Clipboard
|
||||
- Markdown to html
|
||||
```
|
||||
|
||||
## Getting started
|
||||
|
||||
```bash
|
||||
# clone the project
|
||||
git clone -b i18n git@github.com:PanJiaChen/vue-element-admin.git
|
||||
|
||||
# enter the project directory
|
||||
cd vue-element-admin
|
||||
|
||||
# install dependency
|
||||
npm install
|
||||
|
||||
# develop
|
||||
npm run dev
|
||||
```
|
||||
|
||||
This will automatically open http://localhost:9527
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
# build for test environment
|
||||
npm run build:stage
|
||||
|
||||
# build for production environment
|
||||
npm run build:prod
|
||||
```
|
||||
|
||||
## Advanced
|
||||
|
||||
```bash
|
||||
# preview the release environment effect
|
||||
npm run preview
|
||||
|
||||
# preview the release environment effect + static resource analysis
|
||||
npm run preview -- --report
|
||||
|
||||
# code format check
|
||||
npm run lint
|
||||
|
||||
# code format check and auto fix
|
||||
npm run lint -- --fix
|
||||
```
|
||||
|
||||
## Changelog
|
||||
|
||||
## Browsers support
|
||||
|
||||
Modern browsers and Internet Explorer 10+.
|
||||
|
||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Safari |
|
||||
| --------- | --------- | --------- | --------- |
|
||||
| IE10, IE11, Edge | last 2 versions | last 2 versions | last 2 versions |
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) 2022-present Hoenergy
|
||||
131
README.zh-CN.md
Normal file
131
README.zh-CN.md
Normal file
@ -0,0 +1,131 @@
|
||||
|
||||
简体中文 | [English](./README.md) | [日本語](./README.ja.md) | [Spanish](./README.es.md)
|
||||
|
||||
## 简介
|
||||
|
||||
|
||||
## 功能
|
||||
|
||||
```
|
||||
- 登录 / 注销
|
||||
|
||||
- 权限验证
|
||||
- 页面权限
|
||||
- 指令权限
|
||||
- 权限配置
|
||||
- 二步登录
|
||||
|
||||
- 多环境发布
|
||||
- dev
|
||||
- sit
|
||||
- stage
|
||||
- prod
|
||||
|
||||
- 全局功能
|
||||
- 国际化多语言
|
||||
- 多种动态换肤
|
||||
- 动态侧边栏(支持多级路由嵌套)
|
||||
- 动态面包屑
|
||||
- 快捷导航(标签页)
|
||||
- Svg Sprite 图标
|
||||
- 本地/后端 mock 数据
|
||||
- Screenfull全屏
|
||||
- 自适应收缩侧边栏
|
||||
|
||||
- 编辑器
|
||||
- 富文本
|
||||
- Markdown
|
||||
- JSON 等多格式
|
||||
|
||||
- Excel
|
||||
- 导出excel
|
||||
- 导入excel
|
||||
- 前端可视化excel
|
||||
- 导出zip
|
||||
|
||||
- 表格
|
||||
- 动态表格
|
||||
- 拖拽表格
|
||||
- 内联编辑
|
||||
|
||||
- 错误页面
|
||||
- 401
|
||||
- 404
|
||||
|
||||
- 組件
|
||||
- 头像上传
|
||||
- 返回顶部
|
||||
- 拖拽Dialog
|
||||
- 拖拽Select
|
||||
- 拖拽看板
|
||||
- 列表拖拽
|
||||
- SplitPane
|
||||
- Dropzone
|
||||
- Sticky
|
||||
- CountTo
|
||||
|
||||
- 综合实例
|
||||
- 错误日志
|
||||
- Dashboard
|
||||
- 引导页
|
||||
- ECharts 图表
|
||||
- Clipboard(剪贴复制)
|
||||
- Markdown2html
|
||||
```
|
||||
|
||||
## 开发
|
||||
|
||||
```bash
|
||||
|
||||
# 进入项目目录
|
||||
cd hoenergy-pc
|
||||
|
||||
# 安装依赖
|
||||
npm install
|
||||
|
||||
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
|
||||
npm install --registry=https://registry.npm.taobao.org
|
||||
|
||||
# 启动服务
|
||||
npm run dev
|
||||
```
|
||||
|
||||
浏览器访问 http://localhost:9527
|
||||
|
||||
## 发布
|
||||
|
||||
```bash
|
||||
# 构建测试环境
|
||||
npm run build:stage
|
||||
|
||||
# 构建生产环境
|
||||
npm run build:prod
|
||||
```
|
||||
|
||||
## 其它
|
||||
|
||||
```bash
|
||||
# 预览发布环境效果
|
||||
npm run preview
|
||||
|
||||
# 预览发布环境效果 + 静态资源分析
|
||||
npm run preview -- --report
|
||||
|
||||
# 代码格式检查
|
||||
npm run lint
|
||||
|
||||
# 代码格式检查并自动修复
|
||||
npm run lint -- --fix
|
||||
```
|
||||
|
||||
## Browsers support
|
||||
|
||||
Modern browsers and Internet Explorer 10+.
|
||||
|
||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](https://godban.github.io/browsers-support-badges/)</br>Safari |
|
||||
| --------- | --------- | --------- | --------- |
|
||||
| IE10, IE11, Edge | last 2 versions | last 2 versions | last 2 versions |
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) 2022-present Hoenergy
|
||||
14
babel.config.js
Normal file
14
babel.config.js
Normal file
@ -0,0 +1,14 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
|
||||
'@vue/cli-plugin-babel/preset'
|
||||
],
|
||||
'env': {
|
||||
'development': {
|
||||
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
|
||||
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
|
||||
// https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html
|
||||
'plugins': ['dynamic-import-node']
|
||||
}
|
||||
}
|
||||
}
|
||||
35
build/index.js
Normal file
35
build/index.js
Normal file
@ -0,0 +1,35 @@
|
||||
const { run } = require('runjs')
|
||||
const chalk = require('chalk')
|
||||
const config = require('../vue.config.js')
|
||||
const rawArgv = process.argv.slice(2)
|
||||
const args = rawArgv.join(' ')
|
||||
|
||||
if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
|
||||
const report = rawArgv.includes('--report')
|
||||
|
||||
run(`vue-cli-service build ${args}`)
|
||||
|
||||
const port = 9526
|
||||
const publicPath = config.publicPath
|
||||
|
||||
var connect = require('connect')
|
||||
var serveStatic = require('serve-static')
|
||||
const app = connect()
|
||||
|
||||
app.use(
|
||||
publicPath,
|
||||
serveStatic('./dist', {
|
||||
index: ['index.html', '/']
|
||||
})
|
||||
)
|
||||
|
||||
app.listen(port, function () {
|
||||
console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
|
||||
if (report) {
|
||||
console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
|
||||
}
|
||||
|
||||
})
|
||||
} else {
|
||||
run(`vue-cli-service build ${args}`)
|
||||
}
|
||||
24
jest.config.js
Normal file
24
jest.config.js
Normal file
@ -0,0 +1,24 @@
|
||||
module.exports = {
|
||||
moduleFileExtensions: ['js', 'jsx', 'json', 'vue'],
|
||||
transform: {
|
||||
'^.+\\.vue$': 'vue-jest',
|
||||
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$':
|
||||
'jest-transform-stub',
|
||||
'^.+\\.jsx?$': 'babel-jest'
|
||||
},
|
||||
moduleNameMapper: {
|
||||
'^@/(.*)$': '<rootDir>/src/$1'
|
||||
},
|
||||
snapshotSerializers: ['jest-serializer-vue'],
|
||||
testMatch: [
|
||||
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
|
||||
],
|
||||
collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'],
|
||||
coverageDirectory: '<rootDir>/tests/unit/coverage',
|
||||
// 'collectCoverage': true,
|
||||
'coverageReporters': [
|
||||
'lcov',
|
||||
'text-summary'
|
||||
],
|
||||
testURL: 'http://localhost/'
|
||||
}
|
||||
9
jsconfig.json
Normal file
9
jsconfig.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./",
|
||||
"paths": {
|
||||
"@/*": ["src/*"]
|
||||
}
|
||||
},
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
||||
116
mock/article.js
Normal file
116
mock/article.js
Normal file
@ -0,0 +1,116 @@
|
||||
const Mock = require('mockjs')
|
||||
|
||||
const List = []
|
||||
const count = 100
|
||||
|
||||
const baseContent = '<p>I am testing data, I am testing data.</p><p><img src="https://wpimg.wallstcn.com/4c69009c-0fd4-4153-b112-6cb53d1cf943"></p>'
|
||||
const image_uri = 'https://wpimg.wallstcn.com/e4558086-631c-425c-9430-56ffb46e70b3'
|
||||
|
||||
for (let i = 0; i < count; i++) {
|
||||
List.push(Mock.mock({
|
||||
id: '@increment',
|
||||
timestamp: +Mock.Random.date('T'),
|
||||
author: '@first',
|
||||
reviewer: '@first',
|
||||
title: '@title(5, 10)',
|
||||
content_short: 'mock data',
|
||||
content: baseContent,
|
||||
forecast: '@float(0, 100, 2, 2)',
|
||||
importance: '@integer(1, 3)',
|
||||
'type|1': ['CN', 'US', 'JP', 'EU'],
|
||||
'status|1': ['published', 'draft'],
|
||||
display_time: '@datetime',
|
||||
comment_disabled: true,
|
||||
pageviews: '@integer(300, 5000)',
|
||||
image_uri,
|
||||
platforms: ['a-platform']
|
||||
}))
|
||||
}
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
url: '/vue-element-admin/article/list',
|
||||
type: 'get',
|
||||
response: config => {
|
||||
const { importance, type, title, page = 1, limit = 20, sort } = config.query
|
||||
|
||||
let mockList = List.filter(item => {
|
||||
if (importance && item.importance !== +importance) return false
|
||||
if (type && item.type !== type) return false
|
||||
if (title && item.title.indexOf(title) < 0) return false
|
||||
return true
|
||||
})
|
||||
|
||||
if (sort === '-id') {
|
||||
mockList = mockList.reverse()
|
||||
}
|
||||
|
||||
const pageList = mockList.filter((item, index) => index < limit * page && index >= limit * (page - 1))
|
||||
|
||||
return {
|
||||
code: 20000,
|
||||
data: {
|
||||
total: mockList.length,
|
||||
items: pageList
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
url: '/vue-element-admin/article/detail',
|
||||
type: 'get',
|
||||
response: config => {
|
||||
const { id } = config.query
|
||||
for (const article of List) {
|
||||
if (article.id === +id) {
|
||||
return {
|
||||
code: 20000,
|
||||
data: article
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
url: '/vue-element-admin/article/pv',
|
||||
type: 'get',
|
||||
response: _ => {
|
||||
return {
|
||||
code: 20000,
|
||||
data: {
|
||||
pvData: [
|
||||
{ key: 'PC', pv: 1024 },
|
||||
{ key: 'mobile', pv: 1024 },
|
||||
{ key: 'ios', pv: 1024 },
|
||||
{ key: 'android', pv: 1024 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
url: '/vue-element-admin/article/create',
|
||||
type: 'post',
|
||||
response: _ => {
|
||||
return {
|
||||
code: 20000,
|
||||
data: 'success'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
url: '/vue-element-admin/article/update',
|
||||
type: 'post',
|
||||
response: _ => {
|
||||
return {
|
||||
code: 20000,
|
||||
data: 'success'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
60
mock/index.js
Normal file
60
mock/index.js
Normal file
@ -0,0 +1,60 @@
|
||||
const Mock = require('mockjs')
|
||||
const { param2Obj } = require('./utils')
|
||||
|
||||
const user = require('./user')
|
||||
const role = require('./role')
|
||||
const article = require('./article')
|
||||
const search = require('./remote-search')
|
||||
|
||||
const mocks = [
|
||||
...user,
|
||||
...role,
|
||||
...article,
|
||||
...search
|
||||
]
|
||||
|
||||
// for front mock
|
||||
// please use it cautiously, it will redefine XMLHttpRequest,
|
||||
// which will cause many of your third-party libraries to be invalidated(like progress event).
|
||||
function mockXHR() {
|
||||
// mock patch
|
||||
// https://github.com/nuysoft/Mock/issues/300
|
||||
Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send
|
||||
Mock.XHR.prototype.send = function() {
|
||||
if (this.custom.xhr) {
|
||||
this.custom.xhr.withCredentials = this.withCredentials || false
|
||||
|
||||
if (this.responseType) {
|
||||
this.custom.xhr.responseType = this.responseType
|
||||
}
|
||||
}
|
||||
this.proxy_send(...arguments)
|
||||
}
|
||||
|
||||
function XHR2ExpressReqWrap(respond) {
|
||||
return function(options) {
|
||||
let result = null
|
||||
if (respond instanceof Function) {
|
||||
const { body, type, url } = options
|
||||
// https://expressjs.com/en/4x/api.html#req
|
||||
result = respond({
|
||||
method: type,
|
||||
body: JSON.parse(body),
|
||||
query: param2Obj(url)
|
||||
})
|
||||
} else {
|
||||
result = respond
|
||||
}
|
||||
return Mock.mock(result)
|
||||
}
|
||||
}
|
||||
|
||||
for (const i of mocks) {
|
||||
Mock.mock(new RegExp(i.url), i.type || 'get', XHR2ExpressReqWrap(i.response))
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
mocks,
|
||||
mockXHR
|
||||
}
|
||||
81
mock/mock-server.js
Normal file
81
mock/mock-server.js
Normal file
@ -0,0 +1,81 @@
|
||||
const chokidar = require('chokidar')
|
||||
const bodyParser = require('body-parser')
|
||||
const chalk = require('chalk')
|
||||
const path = require('path')
|
||||
const Mock = require('mockjs')
|
||||
|
||||
const mockDir = path.join(process.cwd(), 'mock')
|
||||
|
||||
function registerRoutes(app) {
|
||||
let mockLastIndex
|
||||
const { mocks } = require('./index.js')
|
||||
const mocksForServer = mocks.map(route => {
|
||||
return responseFake(route.url, route.type, route.response)
|
||||
})
|
||||
for (const mock of mocksForServer) {
|
||||
app[mock.type](mock.url, mock.response)
|
||||
mockLastIndex = app._router.stack.length
|
||||
}
|
||||
const mockRoutesLength = Object.keys(mocksForServer).length
|
||||
return {
|
||||
mockRoutesLength: mockRoutesLength,
|
||||
mockStartIndex: mockLastIndex - mockRoutesLength
|
||||
}
|
||||
}
|
||||
|
||||
function unregisterRoutes() {
|
||||
Object.keys(require.cache).forEach(i => {
|
||||
if (i.includes(mockDir)) {
|
||||
delete require.cache[require.resolve(i)]
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// for mock server
|
||||
const responseFake = (url, type, respond) => {
|
||||
return {
|
||||
url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`),
|
||||
type: type || 'get',
|
||||
response(req, res) {
|
||||
console.log('request invoke:' + req.path)
|
||||
res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = app => {
|
||||
// parse app.body
|
||||
// https://expressjs.com/en/4x/api.html#req.body
|
||||
app.use(bodyParser.json())
|
||||
app.use(bodyParser.urlencoded({
|
||||
extended: true
|
||||
}))
|
||||
|
||||
const mockRoutes = registerRoutes(app)
|
||||
var mockRoutesLength = mockRoutes.mockRoutesLength
|
||||
var mockStartIndex = mockRoutes.mockStartIndex
|
||||
|
||||
// watch files, hot reload mock server
|
||||
chokidar.watch(mockDir, {
|
||||
ignored: /mock-server/,
|
||||
ignoreInitial: true
|
||||
}).on('all', (event, path) => {
|
||||
if (event === 'change' || event === 'add') {
|
||||
try {
|
||||
// remove mock routes stack
|
||||
app._router.stack.splice(mockStartIndex, mockRoutesLength)
|
||||
|
||||
// clear routes cache
|
||||
unregisterRoutes()
|
||||
|
||||
const mockRoutes = registerRoutes(app)
|
||||
mockRoutesLength = mockRoutes.mockRoutesLength
|
||||
mockStartIndex = mockRoutes.mockStartIndex
|
||||
|
||||
console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed ${path}`))
|
||||
} catch (error) {
|
||||
console.log(chalk.redBright(error))
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
51
mock/remote-search.js
Normal file
51
mock/remote-search.js
Normal file
@ -0,0 +1,51 @@
|
||||
const Mock = require('mockjs')
|
||||
|
||||
const NameList = []
|
||||
const count = 100
|
||||
|
||||
for (let i = 0; i < count; i++) {
|
||||
NameList.push(Mock.mock({
|
||||
name: '@first'
|
||||
}))
|
||||
}
|
||||
NameList.push({ name: 'mock-Pan' })
|
||||
|
||||
module.exports = [
|
||||
// username search
|
||||
{
|
||||
url: '/vue-element-admin/search/user',
|
||||
type: 'get',
|
||||
response: config => {
|
||||
const { name } = config.query
|
||||
const mockNameList = NameList.filter(item => {
|
||||
const lowerCaseName = item.name.toLowerCase()
|
||||
return !(name && lowerCaseName.indexOf(name.toLowerCase()) < 0)
|
||||
})
|
||||
return {
|
||||
code: 20000,
|
||||
data: { items: mockNameList }
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// transaction list
|
||||
{
|
||||
url: '/vue-element-admin/transaction/list',
|
||||
type: 'get',
|
||||
response: _ => {
|
||||
return {
|
||||
code: 20000,
|
||||
data: {
|
||||
total: 20,
|
||||
'items|20': [{
|
||||
order_no: '@guid()',
|
||||
timestamp: +Mock.Random.date('T'),
|
||||
username: '@name()',
|
||||
price: '@float(1000, 15000, 0, 2)',
|
||||
'status|1': ['success', 'pending']
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
98
mock/role/index.js
Normal file
98
mock/role/index.js
Normal file
@ -0,0 +1,98 @@
|
||||
const Mock = require('mockjs')
|
||||
const { deepClone } = require('../utils')
|
||||
const { asyncRoutes, constantRoutes } = require('./routes.js')
|
||||
|
||||
const routes = deepClone([...constantRoutes, ...asyncRoutes])
|
||||
|
||||
const roles = [
|
||||
{
|
||||
key: 'admin',
|
||||
name: 'admin',
|
||||
description: 'Super Administrator. Have access to view all pages.',
|
||||
routes: routes
|
||||
},
|
||||
{
|
||||
key: 'editor',
|
||||
name: 'editor',
|
||||
description: 'Normal Editor. Can see all pages except permission page',
|
||||
routes: routes.filter(i => i.path !== '/permission')// just a mock
|
||||
},
|
||||
{
|
||||
key: 'visitor',
|
||||
name: 'visitor',
|
||||
description: 'Just a visitor. Can only see the home page and the document page',
|
||||
routes: [{
|
||||
path: '',
|
||||
redirect: 'dashboard',
|
||||
children: [
|
||||
{
|
||||
path: 'dashboard',
|
||||
name: 'Dashboard',
|
||||
meta: { title: 'dashboard', icon: 'dashboard' }
|
||||
}
|
||||
]
|
||||
}]
|
||||
}
|
||||
]
|
||||
|
||||
module.exports = [
|
||||
// mock get all routes form server
|
||||
{
|
||||
url: '/vue-element-admin/routes',
|
||||
type: 'get',
|
||||
response: _ => {
|
||||
return {
|
||||
code: 20000,
|
||||
data: routes
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// mock get all roles form server
|
||||
{
|
||||
url: '/vue-element-admin/roles',
|
||||
type: 'get',
|
||||
response: _ => {
|
||||
return {
|
||||
code: 20000,
|
||||
data: roles
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// add role
|
||||
{
|
||||
url: '/vue-element-admin/role',
|
||||
type: 'post',
|
||||
response: {
|
||||
code: 20000,
|
||||
data: {
|
||||
key: Mock.mock('@integer(300, 5000)')
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// update role
|
||||
{
|
||||
url: '/vue-element-admin/role/[A-Za-z0-9]',
|
||||
type: 'put',
|
||||
response: {
|
||||
code: 20000,
|
||||
data: {
|
||||
status: 'success'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// delete role
|
||||
{
|
||||
url: '/vue-element-admin/role/[A-Za-z0-9]',
|
||||
type: 'delete',
|
||||
response: {
|
||||
code: 20000,
|
||||
data: {
|
||||
status: 'success'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
10
mock/role/routes.js
Normal file
10
mock/role/routes.js
Normal file
@ -0,0 +1,10 @@
|
||||
// Just a mock data
|
||||
|
||||
const constantRoutes = []
|
||||
|
||||
const asyncRoutes = []
|
||||
|
||||
module.exports = {
|
||||
constantRoutes,
|
||||
asyncRoutes
|
||||
}
|
||||
84
mock/user.js
Normal file
84
mock/user.js
Normal file
@ -0,0 +1,84 @@
|
||||
|
||||
const tokens = {
|
||||
admin: {
|
||||
token: 'admin-token'
|
||||
},
|
||||
editor: {
|
||||
token: 'editor-token'
|
||||
}
|
||||
}
|
||||
|
||||
const users = {
|
||||
'admin-token': {
|
||||
roles: ['admin'],
|
||||
introduction: 'I am a super administrator',
|
||||
avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
|
||||
name: 'Super Admin'
|
||||
},
|
||||
'editor-token': {
|
||||
roles: ['editor'],
|
||||
introduction: 'I am an editor',
|
||||
avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
|
||||
name: 'Normal Editor'
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = [
|
||||
// user login
|
||||
{
|
||||
url: '/vue-element-admin/user/login',
|
||||
type: 'post',
|
||||
response: config => {
|
||||
const { username } = config.body
|
||||
const token = tokens[username]
|
||||
|
||||
// mock error
|
||||
if (!token) {
|
||||
return {
|
||||
code: 60204,
|
||||
message: 'Account and password are incorrect.'
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
code: 20000,
|
||||
data: token
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// get user info
|
||||
{
|
||||
url: '/vue-element-admin/user/info\.*',
|
||||
type: 'get',
|
||||
response: config => {
|
||||
const { token } = config.query
|
||||
const info = users[token]
|
||||
|
||||
// mock error
|
||||
if (!info) {
|
||||
return {
|
||||
code: 50008,
|
||||
message: 'Login failed, unable to get user details.'
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
code: 20000,
|
||||
data: info
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// user logout
|
||||
{
|
||||
url: '/vue-element-admin/user/logout',
|
||||
type: 'post',
|
||||
response: _ => {
|
||||
return {
|
||||
code: 20000,
|
||||
data: 'success'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
48
mock/utils.js
Normal file
48
mock/utils.js
Normal file
@ -0,0 +1,48 @@
|
||||
/**
|
||||
* @param {string} url
|
||||
* @returns {Object}
|
||||
*/
|
||||
function param2Obj(url) {
|
||||
const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
|
||||
if (!search) {
|
||||
return {}
|
||||
}
|
||||
const obj = {}
|
||||
const searchArr = search.split('&')
|
||||
searchArr.forEach(v => {
|
||||
const index = v.indexOf('=')
|
||||
if (index !== -1) {
|
||||
const name = v.substring(0, index)
|
||||
const val = v.substring(index + 1, v.length)
|
||||
obj[name] = val
|
||||
}
|
||||
})
|
||||
return obj
|
||||
}
|
||||
|
||||
/**
|
||||
* This is just a simple version of deep copy
|
||||
* Has a lot of edge cases bug
|
||||
* If you want to use a perfect deep copy, use lodash's _.cloneDeep
|
||||
* @param {Object} source
|
||||
* @returns {Object}
|
||||
*/
|
||||
function deepClone(source) {
|
||||
if (!source && typeof source !== 'object') {
|
||||
throw new Error('error arguments', 'deepClone')
|
||||
}
|
||||
const targetObj = source.constructor === Array ? [] : {}
|
||||
Object.keys(source).forEach(keys => {
|
||||
if (source[keys] && typeof source[keys] === 'object') {
|
||||
targetObj[keys] = deepClone(source[keys])
|
||||
} else {
|
||||
targetObj[keys] = source[keys]
|
||||
}
|
||||
})
|
||||
return targetObj
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
param2Obj,
|
||||
deepClone
|
||||
}
|
||||
21499
package-lock.json
generated
Normal file
21499
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
151
package.json
Normal file
151
package.json
Normal file
@ -0,0 +1,151 @@
|
||||
{
|
||||
"name": "energy-yun",
|
||||
"version": "4.3.4",
|
||||
"description": "energy-yun",
|
||||
"author": "bpchow",
|
||||
"scripts": {
|
||||
"dev": "vue-cli-service serve",
|
||||
"lint": "eslint --ext .js,.vue src",
|
||||
"build:prod": "vue-cli-service build",
|
||||
"build:stage": "vue-cli-service build --mode staging",
|
||||
"build:app": "vue-cli-service build --mode app",
|
||||
"build:tonghe": "vue-cli-service build --mode tonghe",
|
||||
"build:exploit": "vue-cli-service build --mode exploit",
|
||||
"build:danji": "vue-cli-service build --mode danji",
|
||||
"build:open": "vue-cli-service build --mode open",
|
||||
"build:jingkeprod": "vue-cli-service build --mode jingkeprod",
|
||||
"build:stationtest": "vue-cli-service build --mode stationtest",
|
||||
"build:opentest": "vue-cli-service build --mode opentest",
|
||||
"build:opendev": "vue-cli-service build --mode opendev",
|
||||
"build:xingneng": "vue-cli-service build --mode xingneng",
|
||||
"preview": "node build/index.js --preview",
|
||||
"new": "plop",
|
||||
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
|
||||
"test:unit": "jest --clearCache && vue-cli-service test:unit",
|
||||
"test:ci": "npm run lint && npm run test:unit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@amap/amap-jsapi-loader": "^1.0.1",
|
||||
"@amap/amap-vue": "^2.0.13",
|
||||
"@jiaminghi/data-view": "^2.10.0",
|
||||
"@riophae/vue-treeselect": "^0.4.0",
|
||||
"@toast-ui/editor": "^3.1.3",
|
||||
"@wchbrad/vue-easy-tree": "^1.0.12",
|
||||
"axios": "0.18.1",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"clipboard": "2.0.4",
|
||||
"codemirror": "5.45.0",
|
||||
"core-js": "3.6.5",
|
||||
"crypto-js": "^4.1.1",
|
||||
"driver.js": "0.9.5",
|
||||
"dropzone": "5.5.1",
|
||||
"echarts": "^4.9.0",
|
||||
"echarts-gl": "^1.1.2",
|
||||
"echarts-liquidfill": "^2.0.6",
|
||||
"el-table-draggable": "^1.4.12",
|
||||
"el-table-infinite-scroll": "^1.0.10",
|
||||
"el-table-virtual-scroll": "^1.0.13",
|
||||
"element-ui": "2.13.2",
|
||||
"fuse.js": "3.4.4",
|
||||
"hoenergycalendar": "^1.0.6",
|
||||
"hoenergychart": "^1.0.0",
|
||||
"hoenergycollistdata": "^1.0.0",
|
||||
"hoenergycolselect": "^1.0.4",
|
||||
"hoenergydynamicchart": "^1.0.0",
|
||||
"hoenergydynamicpoint": "^1.0.5",
|
||||
"hoenergyitembox": "^1.1.5",
|
||||
"hoenergypricedialog": "^1.0.5",
|
||||
"hoenergystationdata": "^1.0.0",
|
||||
"hoenergystrategytable": "^1.0.0",
|
||||
"hoenergytablechart": "^1.0.1",
|
||||
"js-cookie": "2.2.0",
|
||||
"jsencrypt": "^3.3.1",
|
||||
"jsonlint": "1.6.3",
|
||||
"jszip": "3.2.1",
|
||||
"normalize.css": "7.0.0",
|
||||
"nprogress": "0.2.0",
|
||||
"path-to-regexp": "2.4.0",
|
||||
"screenfull": "4.2.0",
|
||||
"script-loader": "0.7.2",
|
||||
"sortablejs": "1.8.4",
|
||||
"v-charts": "^1.19.0",
|
||||
"vue": "2.6.10",
|
||||
"vue-amap": "^0.5.10",
|
||||
"vue-awesome-swiper": "^3.1.3",
|
||||
"vue-contextmenujs": "^1.4.9",
|
||||
"vue-count-to": "1.0.13",
|
||||
"vue-fragment": "^1.6.0",
|
||||
"vue-i18n": "7.3.2",
|
||||
"vue-pdf": "^4.3.0",
|
||||
"vue-router": "3.0.2",
|
||||
"vue-seamless-scroll": "^1.1.23",
|
||||
"vuedraggable": "2.20.0",
|
||||
"vuex": "3.1.0",
|
||||
"xlsx": "^0.14.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "4.4.4",
|
||||
"@vue/cli-plugin-eslint": "4.4.4",
|
||||
"@vue/cli-plugin-unit-jest": "4.4.4",
|
||||
"@vue/cli-service": "4.4.4",
|
||||
"@vue/test-utils": "1.0.0-beta.29",
|
||||
"autoprefixer": "9.5.1",
|
||||
"babel-eslint": "10.1.0",
|
||||
"babel-jest": "23.6.0",
|
||||
"babel-plugin-dynamic-import-node": "2.3.3",
|
||||
"chalk": "2.4.2",
|
||||
"chokidar": "2.1.5",
|
||||
"connect": "3.6.6",
|
||||
"eslint": "6.7.2",
|
||||
"eslint-plugin-vue": "6.2.2",
|
||||
"html-webpack-plugin": "3.2.0",
|
||||
"husky": "1.3.1",
|
||||
"lint-staged": "8.1.5",
|
||||
"mockjs": "1.0.1-beta3",
|
||||
"node-sass": "^4.14.1",
|
||||
"plop": "2.3.0",
|
||||
"runjs": "4.3.2",
|
||||
"sass-loader": "8.0.2",
|
||||
"script-ext-html-webpack-plugin": "2.1.3",
|
||||
"serve-static": "1.13.2",
|
||||
"svg-sprite-loader": "4.1.3",
|
||||
"svgo": "1.2.0",
|
||||
"vue-template-compiler": "2.6.10"
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions"
|
||||
],
|
||||
"bugs": {
|
||||
"url": "https://github.com/PanJiaChen/vue-element-admin/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.9",
|
||||
"npm": ">= 3.0.0"
|
||||
},
|
||||
"keywords": [
|
||||
"vue",
|
||||
"admin",
|
||||
"dashboard",
|
||||
"element-ui",
|
||||
"boilerplate",
|
||||
"admin-template",
|
||||
"management-system"
|
||||
],
|
||||
"license": "MIT",
|
||||
"lint-staged": {
|
||||
"src/**/*.{js,vue}": [
|
||||
"eslint --fix",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/PanJiaChen/vue-element-admin.git"
|
||||
}
|
||||
}
|
||||
26
plop-templates/component/index.hbs
Normal file
26
plop-templates/component/index.hbs
Normal file
@ -0,0 +1,26 @@
|
||||
{{#if template}}
|
||||
<template>
|
||||
<div />
|
||||
</template>
|
||||
{{/if}}
|
||||
|
||||
{{#if script}}
|
||||
<script>
|
||||
export default {
|
||||
name: '{{ properCase name }}',
|
||||
props: {},
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {}
|
||||
}
|
||||
</script>
|
||||
{{/if}}
|
||||
|
||||
{{#if style}}
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
{{/if}}
|
||||
55
plop-templates/component/prompt.js
Normal file
55
plop-templates/component/prompt.js
Normal file
@ -0,0 +1,55 @@
|
||||
const { notEmpty } = require('../utils.js')
|
||||
|
||||
module.exports = {
|
||||
description: 'generate vue component',
|
||||
prompts: [{
|
||||
type: 'input',
|
||||
name: 'name',
|
||||
message: 'component name please',
|
||||
validate: notEmpty('name')
|
||||
},
|
||||
{
|
||||
type: 'checkbox',
|
||||
name: 'blocks',
|
||||
message: 'Blocks:',
|
||||
choices: [{
|
||||
name: '<template>',
|
||||
value: 'template',
|
||||
checked: true
|
||||
},
|
||||
{
|
||||
name: '<script>',
|
||||
value: 'script',
|
||||
checked: true
|
||||
},
|
||||
{
|
||||
name: 'style',
|
||||
value: 'style',
|
||||
checked: true
|
||||
}
|
||||
],
|
||||
validate(value) {
|
||||
if (value.indexOf('script') === -1 && value.indexOf('template') === -1) {
|
||||
return 'Components require at least a <script> or <template> tag.'
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
],
|
||||
actions: data => {
|
||||
const name = '{{properCase name}}'
|
||||
const actions = [{
|
||||
type: 'add',
|
||||
path: `src/components/${name}/index.vue`,
|
||||
templateFile: 'plop-templates/component/index.hbs',
|
||||
data: {
|
||||
name: name,
|
||||
template: data.blocks.includes('template'),
|
||||
script: data.blocks.includes('script'),
|
||||
style: data.blocks.includes('style')
|
||||
}
|
||||
}]
|
||||
|
||||
return actions
|
||||
}
|
||||
}
|
||||
16
plop-templates/store/index.hbs
Normal file
16
plop-templates/store/index.hbs
Normal file
@ -0,0 +1,16 @@
|
||||
{{#if state}}
|
||||
const state = {}
|
||||
{{/if}}
|
||||
|
||||
{{#if mutations}}
|
||||
const mutations = {}
|
||||
{{/if}}
|
||||
|
||||
{{#if actions}}
|
||||
const actions = {}
|
||||
{{/if}}
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
{{options}}
|
||||
}
|
||||
62
plop-templates/store/prompt.js
Normal file
62
plop-templates/store/prompt.js
Normal file
@ -0,0 +1,62 @@
|
||||
const { notEmpty } = require('../utils.js')
|
||||
|
||||
module.exports = {
|
||||
description: 'generate store',
|
||||
prompts: [{
|
||||
type: 'input',
|
||||
name: 'name',
|
||||
message: 'store name please',
|
||||
validate: notEmpty('name')
|
||||
},
|
||||
{
|
||||
type: 'checkbox',
|
||||
name: 'blocks',
|
||||
message: 'Blocks:',
|
||||
choices: [{
|
||||
name: 'state',
|
||||
value: 'state',
|
||||
checked: true
|
||||
},
|
||||
{
|
||||
name: 'mutations',
|
||||
value: 'mutations',
|
||||
checked: true
|
||||
},
|
||||
{
|
||||
name: 'actions',
|
||||
value: 'actions',
|
||||
checked: true
|
||||
}
|
||||
],
|
||||
validate(value) {
|
||||
if (!value.includes('state') || !value.includes('mutations')) {
|
||||
return 'store require at least state and mutations'
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
],
|
||||
actions(data) {
|
||||
const name = '{{name}}'
|
||||
const { blocks } = data
|
||||
const options = ['state', 'mutations']
|
||||
const joinFlag = `,
|
||||
`
|
||||
if (blocks.length === 3) {
|
||||
options.push('actions')
|
||||
}
|
||||
|
||||
const actions = [{
|
||||
type: 'add',
|
||||
path: `src/store/modules/${name}.js`,
|
||||
templateFile: 'plop-templates/store/index.hbs',
|
||||
data: {
|
||||
options: options.join(joinFlag),
|
||||
state: blocks.includes('state'),
|
||||
mutations: blocks.includes('mutations'),
|
||||
actions: blocks.includes('actions')
|
||||
}
|
||||
}]
|
||||
return actions
|
||||
}
|
||||
}
|
||||
2
plop-templates/utils.js
Normal file
2
plop-templates/utils.js
Normal file
@ -0,0 +1,2 @@
|
||||
exports.notEmpty = name => v =>
|
||||
!v || v.trim() === '' ? `${name} is required` : true
|
||||
26
plop-templates/view/index.hbs
Normal file
26
plop-templates/view/index.hbs
Normal file
@ -0,0 +1,26 @@
|
||||
{{#if template}}
|
||||
<template>
|
||||
<div />
|
||||
</template>
|
||||
{{/if}}
|
||||
|
||||
{{#if script}}
|
||||
<script>
|
||||
export default {
|
||||
name: '{{ properCase name }}',
|
||||
props: {},
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {}
|
||||
}
|
||||
</script>
|
||||
{{/if}}
|
||||
|
||||
{{#if style}}
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
{{/if}}
|
||||
55
plop-templates/view/prompt.js
Normal file
55
plop-templates/view/prompt.js
Normal file
@ -0,0 +1,55 @@
|
||||
const { notEmpty } = require('../utils.js')
|
||||
|
||||
module.exports = {
|
||||
description: 'generate a view',
|
||||
prompts: [{
|
||||
type: 'input',
|
||||
name: 'name',
|
||||
message: 'view name please',
|
||||
validate: notEmpty('name')
|
||||
},
|
||||
{
|
||||
type: 'checkbox',
|
||||
name: 'blocks',
|
||||
message: 'Blocks:',
|
||||
choices: [{
|
||||
name: '<template>',
|
||||
value: 'template',
|
||||
checked: true
|
||||
},
|
||||
{
|
||||
name: '<script>',
|
||||
value: 'script',
|
||||
checked: true
|
||||
},
|
||||
{
|
||||
name: 'style',
|
||||
value: 'style',
|
||||
checked: true
|
||||
}
|
||||
],
|
||||
validate(value) {
|
||||
if (value.indexOf('script') === -1 && value.indexOf('template') === -1) {
|
||||
return 'View require at least a <script> or <template> tag.'
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
],
|
||||
actions: data => {
|
||||
const name = '{{name}}'
|
||||
const actions = [{
|
||||
type: 'add',
|
||||
path: `src/views/${name}/index.vue`,
|
||||
templateFile: 'plop-templates/view/index.hbs',
|
||||
data: {
|
||||
name: name,
|
||||
template: data.blocks.includes('template'),
|
||||
script: data.blocks.includes('script'),
|
||||
style: data.blocks.includes('style')
|
||||
}
|
||||
}]
|
||||
|
||||
return actions
|
||||
}
|
||||
}
|
||||
9
plopfile.js
Normal file
9
plopfile.js
Normal file
@ -0,0 +1,9 @@
|
||||
const viewGenerator = require('./plop-templates/view/prompt')
|
||||
const componentGenerator = require('./plop-templates/component/prompt')
|
||||
const storeGenerator = require('./plop-templates/store/prompt.js')
|
||||
|
||||
module.exports = function(plop) {
|
||||
plop.setGenerator('view', viewGenerator)
|
||||
plop.setGenerator('component', componentGenerator)
|
||||
plop.setGenerator('store', storeGenerator)
|
||||
}
|
||||
5
postcss.config.js
Normal file
5
postcss.config.js
Normal file
@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
plugins: {
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
753
public/bpmnjs/css/app.css
Normal file
753
public/bpmnjs/css/app.css
Normal file
File diff suppressed because one or more lines are too long
718
public/bpmnjs/css/diagram-js.css
Normal file
718
public/bpmnjs/css/diagram-js.css
Normal file
@ -0,0 +1,718 @@
|
||||
/**
|
||||
* outline styles
|
||||
*/
|
||||
|
||||
.djs-outline {
|
||||
fill: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.djs-element.hover .djs-outline,
|
||||
.djs-element.selected .djs-outline {
|
||||
visibility: visible;
|
||||
shape-rendering: crispEdges;
|
||||
stroke-dasharray: 3,3;
|
||||
}
|
||||
|
||||
.djs-element.selected .djs-outline {
|
||||
stroke: #8888FF;
|
||||
stroke-width: 1px;
|
||||
}
|
||||
|
||||
.djs-element.hover .djs-outline {
|
||||
stroke: #FF8888;
|
||||
stroke-width: 1px;
|
||||
}
|
||||
|
||||
.djs-shape.connect-ok .djs-visual > :nth-child(1) {
|
||||
fill: #DCFECC /* light-green */ !important;
|
||||
}
|
||||
|
||||
.djs-shape.connect-not-ok .djs-visual > :nth-child(1),
|
||||
.djs-shape.drop-not-ok .djs-visual > :nth-child(1) {
|
||||
fill: #f9dee5 /* light-red */ !important;
|
||||
}
|
||||
|
||||
.djs-shape.new-parent .djs-visual > :nth-child(1) {
|
||||
fill: #025388 !important;
|
||||
}
|
||||
|
||||
svg.drop-not-ok {
|
||||
background: #3c5d76/* light-red */ !important;
|
||||
}
|
||||
|
||||
svg.new-parent {
|
||||
background: rgba(4, 48, 80, 0.3) /* light-blue */ !important;
|
||||
}
|
||||
|
||||
.djs-connection.connect-ok .djs-visual > :nth-child(1),
|
||||
.djs-connection.drop-ok .djs-visual > :nth-child(1) {
|
||||
stroke: #90DD5F /* light-green */ !important;
|
||||
}
|
||||
|
||||
.djs-connection.connect-not-ok .djs-visual > :nth-child(1),
|
||||
.djs-connection.drop-not-ok .djs-visual > :nth-child(1) {
|
||||
stroke: #E56283 /* light-red */ !important;
|
||||
}
|
||||
|
||||
.drop-not-ok,
|
||||
.connect-not-ok {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.djs-element.attach-ok .djs-visual > :nth-child(1) {
|
||||
stroke-width: 5px !important;
|
||||
stroke: rgba(20, 196, 239, 0.7) !important;
|
||||
}
|
||||
|
||||
.djs-frame.connect-not-ok .djs-visual > :nth-child(1),
|
||||
.djs-frame.drop-not-ok .djs-visual > :nth-child(1) {
|
||||
stroke-width: 3px !important;
|
||||
stroke: #E56283 /* light-red */ !important;
|
||||
fill: none !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* Selection box style
|
||||
*
|
||||
*/
|
||||
.djs-lasso-overlay {
|
||||
fill: rgb(20, 196, 239);
|
||||
fill-opacity: 0.1;
|
||||
|
||||
stroke-dasharray: 5 1 3 1;
|
||||
stroke: rgb(20, 196, 239);
|
||||
|
||||
shape-rendering: crispEdges;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resize styles
|
||||
*/
|
||||
.djs-resize-overlay {
|
||||
fill: none;
|
||||
|
||||
stroke-dasharray: 5 1 3 1;
|
||||
stroke: rgb(20, 196, 239);
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-resizer-hit {
|
||||
fill: none;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-resizer-visual {
|
||||
fill: white;
|
||||
stroke-width: 1px;
|
||||
stroke: #025388;
|
||||
shape-rendering: crispEdges;
|
||||
stroke-opacity: 0.2;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-nwse,
|
||||
.djs-resizer-nw,
|
||||
.djs-resizer-se {
|
||||
cursor: nwse-resize;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-nesw,
|
||||
.djs-resizer-ne,
|
||||
.djs-resizer-sw {
|
||||
cursor: nesw-resize;
|
||||
}
|
||||
|
||||
.djs-shape.djs-resizing > .djs-outline {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
||||
.djs-shape.djs-resizing > .djs-resizer {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.djs-dragger > .djs-resizer {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/**
|
||||
* drag styles
|
||||
*/
|
||||
.djs-dragger * {
|
||||
fill: none !important;
|
||||
stroke: rgb(20, 196, 239) !important;
|
||||
}
|
||||
|
||||
.djs-dragger tspan,
|
||||
.djs-dragger text {
|
||||
fill: rgb(20, 196, 239) !important;
|
||||
stroke: none !important;
|
||||
}
|
||||
marker.djs-dragger circle,
|
||||
marker.djs-dragger path,
|
||||
marker.djs-dragger polygon,
|
||||
marker.djs-dragger polyline,
|
||||
marker.djs-dragger rect {
|
||||
fill: rgb(20, 196, 239) !important;
|
||||
stroke: none !important;
|
||||
}
|
||||
|
||||
marker.djs-dragger text,
|
||||
marker.djs-dragger tspan {
|
||||
fill: none !important;
|
||||
stroke: rgb(20, 196, 239) !important;
|
||||
}
|
||||
|
||||
.djs-dragging {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.djs-dragging,
|
||||
.djs-dragging > * {
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
.djs-dragging .djs-context-pad,
|
||||
.djs-dragging .djs-outline {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* no pointer events for visual
|
||||
*/
|
||||
.djs-visual,
|
||||
.djs-outline {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-element.attach-ok .djs-hit {
|
||||
stroke-width: 60px !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* all pointer events for hit shape
|
||||
*/
|
||||
.djs-element > .djs-hit-all {
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-element > .djs-hit-stroke,
|
||||
.djs-element > .djs-hit-click-stroke {
|
||||
pointer-events: stroke;
|
||||
}
|
||||
|
||||
/**
|
||||
* all pointer events for hit shape
|
||||
*/
|
||||
.djs-drag-active .djs-element > .djs-hit-click-stroke {
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
/**
|
||||
* shape / connection basic styles
|
||||
*/
|
||||
.djs-connection .djs-visual {
|
||||
stroke-width: 2px;
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.djs-cursor-grab {
|
||||
cursor: -webkit-grab;
|
||||
cursor: -moz-grab;
|
||||
cursor: grab;
|
||||
}
|
||||
|
||||
.djs-cursor-grabbing {
|
||||
cursor: -webkit-grabbing;
|
||||
cursor: -moz-grabbing;
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
.djs-cursor-crosshair {
|
||||
cursor: crosshair;
|
||||
}
|
||||
|
||||
.djs-cursor-move {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-ns {
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-ew {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* snapping
|
||||
*/
|
||||
.djs-snap-line {
|
||||
stroke: rgb(255, 195, 66);
|
||||
stroke: rgba(255, 195, 66, 0.50);
|
||||
stroke-linecap: round;
|
||||
stroke-width: 2px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* snapping
|
||||
*/
|
||||
.djs-crosshair {
|
||||
stroke: #555;
|
||||
stroke-linecap: round;
|
||||
stroke-width: 1px;
|
||||
pointer-events: none;
|
||||
shape-rendering: crispEdges;
|
||||
stroke-dasharray: 5, 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* palette
|
||||
*/
|
||||
|
||||
.djs-palette {
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 20px;
|
||||
|
||||
box-sizing: border-box;
|
||||
width: 48px;
|
||||
}
|
||||
|
||||
.djs-palette .separator {
|
||||
margin: 0 5px;
|
||||
padding-top: 5px;
|
||||
|
||||
border: none;
|
||||
border-bottom: solid 1px #DDD;
|
||||
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.djs-palette .entry:before {
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-toggle {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.djs-palette .entry,
|
||||
.djs-palette .djs-palette-toggle {
|
||||
color: #ffffff;
|
||||
font-size: 30px;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.djs-palette .entry {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.djs-palette .entry img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-entries:after {
|
||||
content: '';
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-toggle:hover {
|
||||
background: #666;
|
||||
}
|
||||
|
||||
.djs-palette .entry:hover {
|
||||
color: rgb(20, 196, 239);
|
||||
}
|
||||
|
||||
.djs-palette .highlighted-entry {
|
||||
color: rgb(20, 196, 239) !important;
|
||||
}
|
||||
|
||||
.djs-palette .entry,
|
||||
.djs-palette .djs-palette-toggle {
|
||||
width: 46px;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Palette open / two-column layout is controlled via
|
||||
* classes on the palette. Events to hook into palette
|
||||
* changed life-cycle are available in addition.
|
||||
*/
|
||||
.djs-palette.two-column.open {
|
||||
width: 94px;
|
||||
}
|
||||
|
||||
.djs-palette:not(.open) .djs-palette-entries {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-palette:not(.open) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.djs-palette.open .djs-palette-toggle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* context-pad
|
||||
*/
|
||||
.djs-overlay-context-pad {
|
||||
width: 72px;
|
||||
}
|
||||
|
||||
.djs-context-pad {
|
||||
position: absolute;
|
||||
display: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
font-size: 22px;
|
||||
margin: 0 2px 2px 0;
|
||||
|
||||
border-radius: 3px;
|
||||
|
||||
cursor: default;
|
||||
|
||||
background-color: rgba(4, 48, 80, 0.3);
|
||||
box-shadow: 0 0 2px 1px rgba(4, 48, 80, 0.3);
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry:before {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry:hover {
|
||||
background: #025388;
|
||||
}
|
||||
|
||||
.djs-context-pad.open {
|
||||
display: block;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/**
|
||||
* popup styles
|
||||
*/
|
||||
.djs-popup .entry {
|
||||
line-height: 20px;
|
||||
white-space: nowrap;
|
||||
cursor: default;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/* larger font for prefixed icons */
|
||||
.djs-popup .entry:before {
|
||||
vertical-align: middle;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.djs-popup .entry > span {
|
||||
vertical-align: middle;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.djs-popup .entry:hover,
|
||||
.djs-popup .entry.active:hover {
|
||||
background: #025388;
|
||||
}
|
||||
|
||||
.djs-popup .entry.disabled {
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
.djs-popup .djs-popup-header .entry {
|
||||
display: inline-block;
|
||||
padding: 2px 3px 2px 3px;
|
||||
|
||||
border: solid 1px transparent;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.djs-popup .djs-popup-header .entry.active {
|
||||
color: rgb(20, 196, 239);
|
||||
border: solid 1px rgb(20, 196, 239);
|
||||
background-color: rgba(4, 48, 80, 0.3);
|
||||
}
|
||||
|
||||
.djs-popup-body .entry {
|
||||
padding: 4px 10px 4px 5px;
|
||||
}
|
||||
|
||||
.djs-popup-body .entry > span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.djs-popup-body {
|
||||
background-color: rgba(4, 48, 80, 0.3);
|
||||
}
|
||||
|
||||
.djs-popup-header {
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.djs-popup-header .entry {
|
||||
margin: 1px;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.djs-popup-header .entry:last-child {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/**
|
||||
* popup / palette styles
|
||||
*/
|
||||
.djs-popup, .djs-palette {
|
||||
background: rgba(4, 48, 80, 0.3);
|
||||
border: solid 1px rgba(255, 255, 255, 0.3);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
/**
|
||||
* touch
|
||||
*/
|
||||
|
||||
.djs-shape,
|
||||
.djs-connection {
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger,
|
||||
.djs-bendpoint {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* bendpoints
|
||||
*/
|
||||
.djs-segment-dragger .djs-visual {
|
||||
fill: rgba(255, 255, 121, 0.2);
|
||||
stroke-width: 1px;
|
||||
stroke-opacity: 1;
|
||||
stroke: rgba(255, 255, 121, 0.3);
|
||||
}
|
||||
|
||||
.djs-bendpoint .djs-visual {
|
||||
fill: rgba(255, 255, 121, 0.8);
|
||||
stroke-width: 1px;
|
||||
stroke-opacity: 0.5;
|
||||
stroke: black;
|
||||
}
|
||||
|
||||
.djs-segment-dragger:hover,
|
||||
.djs-bendpoints.hover .djs-segment-dragger,
|
||||
.djs-bendpoints.selected .djs-segment-dragger,
|
||||
.djs-bendpoint:hover,
|
||||
.djs-bendpoints.hover .djs-bendpoint,
|
||||
.djs-bendpoints.selected .djs-bendpoint {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.djs-drag-active .djs-bendpoints * {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-bendpoints:not(.hover) .floating {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger:hover .djs-visual,
|
||||
.djs-segment-dragger.djs-dragging .djs-visual,
|
||||
.djs-bendpoint:hover .djs-visual,
|
||||
.djs-bendpoint.floating .djs-visual {
|
||||
fill: yellow;
|
||||
stroke-opacity: 0.5;
|
||||
stroke: black;
|
||||
}
|
||||
|
||||
.djs-bendpoint.floating .djs-hit {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger .djs-hit,
|
||||
.djs-bendpoint .djs-hit {
|
||||
pointer-events: all;
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.horizontal .djs-hit {
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.vertical .djs-hit {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.djs-dragging .djs-hit {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-updating,
|
||||
.djs-updating > * {
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
.djs-updating .djs-context-pad,
|
||||
.djs-updating .djs-outline,
|
||||
.djs-updating .djs-bendpoint,
|
||||
.connect-ok .djs-bendpoint,
|
||||
.connect-not-ok .djs-bendpoint,
|
||||
.drop-ok .djs-bendpoint,
|
||||
.drop-not-ok .djs-bendpoint {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.djs-dragging,
|
||||
.djs-bendpoint.djs-dragging {
|
||||
display: block;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.djs-dragging .djs-visual,
|
||||
.djs-bendpoint.djs-dragging .djs-visual {
|
||||
fill: yellow;
|
||||
stroke-opacity: 0.5;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* tooltips
|
||||
*/
|
||||
.djs-tooltip-error {
|
||||
font-size: 11px;
|
||||
line-height: 18px;
|
||||
text-align: left;
|
||||
|
||||
padding: 5px;
|
||||
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.djs-tooltip-error > * {
|
||||
width: 160px;
|
||||
|
||||
background: rgb(252, 236, 240);
|
||||
color: rgb(158, 76, 76);
|
||||
padding: 3px 7px;
|
||||
border-radius: 5px;
|
||||
border-left: solid 5px rgb(174, 73, 73);
|
||||
}
|
||||
|
||||
.djs-tooltip-error:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* search pad
|
||||
*/
|
||||
.djs-search-container {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
width: 25%;
|
||||
min-width: 300px;
|
||||
max-width: 400px;
|
||||
z-index: 10;
|
||||
|
||||
font-size: 1.05em;
|
||||
opacity: 0.9;
|
||||
background: rgba(4, 48, 80, 0.3);
|
||||
border: solid 1px rgba(255, 255, 255, 0.3);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.djs-search-container:not(.open) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-search-input input {
|
||||
font-size: 1.05em;
|
||||
width: 100%;
|
||||
padding: 6px 10px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.djs-search-input input:focus {
|
||||
outline: none;
|
||||
border-color: #52B415;
|
||||
}
|
||||
|
||||
.djs-search-results {
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.djs-search-results:hover {
|
||||
/*background: #fffdd7;*/
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.djs-search-result {
|
||||
width: 100%;
|
||||
padding: 6px 10px;
|
||||
background: white;
|
||||
border-bottom: solid 1px #AAA;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.djs-search-highlight {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.djs-search-result-primary {
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
|
||||
.djs-search-result-secondary {
|
||||
font-family: monospace;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.djs-search-result:hover {
|
||||
background: #fdffd6;
|
||||
}
|
||||
|
||||
.djs-search-result-selected {
|
||||
background: #fffcb0;
|
||||
}
|
||||
|
||||
.djs-search-result-selected:hover {
|
||||
background: #f7f388;
|
||||
}
|
||||
|
||||
.djs-search-overlay {
|
||||
background: yellow;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
/**
|
||||
* hidden styles
|
||||
*/
|
||||
.djs-element-hidden,
|
||||
.djs-element-hidden .djs-hit,
|
||||
.djs-element-hidden .djs-outline,
|
||||
.djs-label-hidden .djs-label {
|
||||
display: none !important;
|
||||
}
|
||||
BIN
public/bpmnjs/favicon.ico
Normal file
BIN
public/bpmnjs/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
248
public/bpmnjs/index.html
Normal file
248
public/bpmnjs/index.html
Normal file
@ -0,0 +1,248 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>在线绘制流程</title>
|
||||
<link rel="icon" href="favicon.ico">
|
||||
<link rel="stylesheet" href="css/diagram-js.css" />
|
||||
<link rel="stylesheet" href="vendor/bpmn-font/css/bpmn-embedded.css" />
|
||||
<link rel="stylesheet" href="css/app.css" />
|
||||
|
||||
<style>
|
||||
.item {
|
||||
display: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bjs-powered-by {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.buttons>li {
|
||||
/* display: inline-block; */
|
||||
margin-right: 10px;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.buttons>li>a.btn {
|
||||
background: #00BCD4;
|
||||
border: none;
|
||||
outline: none;
|
||||
padding: 0px 10px;
|
||||
color: #fff;
|
||||
display: inline-block;
|
||||
opacity: 1;
|
||||
height: 26px;
|
||||
font-size: 14px;
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.label {
|
||||
background: #00BCD4;
|
||||
border: none;
|
||||
outline: none;
|
||||
padding: 0px 10px;
|
||||
color: #fff;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
opacity: 1;
|
||||
height: 26px;
|
||||
font-size: 14px;
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.sy-mask {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 1000;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sy-alert {
|
||||
position: fixed;
|
||||
display: none;
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
overflow: hidden;
|
||||
width: 300px;
|
||||
max-width: 90%;
|
||||
max-height: 80%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: 0 auto;
|
||||
z-index: 9999
|
||||
}
|
||||
|
||||
.sy-alert.animated {
|
||||
-webkit-animation-duration: .3s;
|
||||
animation-duration: .3s
|
||||
}
|
||||
|
||||
.sy-alert .sy-title {
|
||||
height: 45px;
|
||||
color: #333;
|
||||
line-height: 45px;
|
||||
font-size: 15px;
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 0 12px
|
||||
}
|
||||
|
||||
.sy-alert .sy-content {
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
color: #666;
|
||||
overflow-y: auto
|
||||
}
|
||||
|
||||
.sy-alert .sy-btn {
|
||||
height: 50%;
|
||||
border-top: 1px solid #eee;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.sy-alert .sy-btn button {
|
||||
float: left;
|
||||
border: 0;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
background: #fff;
|
||||
width: 50%;
|
||||
line-height: 45px;
|
||||
font-size: 15px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.sy-alert .sy-btn button:nth-child(1) {
|
||||
color: #888;
|
||||
border-right: 1px solid #eee
|
||||
}
|
||||
|
||||
.sy-alert.sy-alert-alert .sy-btn button {
|
||||
float: none;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.sy-alert.sy-alert-tips {
|
||||
text-align: center;
|
||||
width: 150px;
|
||||
background: rgba(0, 0, 0, 0.7)
|
||||
}
|
||||
|
||||
.sy-alert.sy-alert-tips .sy-content {
|
||||
padding: 8px;
|
||||
color: #fff;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.sy-alert.sy-alert-model .sy-content {
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.sy-alert.sy-alert-model .sy-content .form .input-item {
|
||||
margin-bottom: 12px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.sy-alert.sy-alert-model .sy-content .form .input-item input {
|
||||
display: block;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
border: 1px solid #eee;
|
||||
padding: 10px
|
||||
}
|
||||
|
||||
.sy-alert.sy-alert-model .sy-content .form .input-item .getcode {
|
||||
border: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
background: 0;
|
||||
line-height: 37px;
|
||||
color: #f60;
|
||||
width: 100px;
|
||||
text-align: center
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content with-diagram" id="js-drop-zone">
|
||||
<div class="message error">
|
||||
<div class="note">
|
||||
<p id="wfxs">无法显示bpms2.0</p>
|
||||
<div class="details">
|
||||
<span id="cwDetail">错误详细信息</span>
|
||||
<pre></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="canvas" id="js-canvas"></div>
|
||||
<div class="properties-panel-parent" id="js-properties-panel"></div>
|
||||
</div>
|
||||
<ul class="buttons">
|
||||
<!-- <li class="item upload">
|
||||
<form id="form1" name="myForm" onsubmit="return false" method="post" enctype="multipart/form-data" title="上传文件">
|
||||
<input type="file" name="uploadFile" id="uploadFile" accept=".bpmn" style="display: none">
|
||||
<label class="label" for="uploadFile" >导入</label>
|
||||
</form>
|
||||
</li> -->
|
||||
<li class="item download">
|
||||
<a class="btn" href id="downloadBpmn">导出</a>
|
||||
</li>
|
||||
<li class="item submit">
|
||||
<a class="btn" id="js-download-diagram">
|
||||
部署
|
||||
</a>
|
||||
</li>
|
||||
<li class="item saveTemplate">
|
||||
<a class="btn" id="saveTemplateBpmn">
|
||||
保存
|
||||
</a>
|
||||
</li>
|
||||
<!-- 保存为模板 -->
|
||||
<li class="item saveToTemplate">
|
||||
<a class="btn" id="saveToTemplateBpmn">
|
||||
保存为模板
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="sy-alert sy-alert-model animated" sy-enter="zoomIn" sy-leave="zoomOut" sy-type="confirm" sy-mask="true"
|
||||
id="alert">
|
||||
<div class="sy-title" id="bslc">部署流程</div>
|
||||
<div class="sy-content" id="qrbs">
|
||||
确认是否部署该流程
|
||||
<!-- <div class="form">-->
|
||||
<!-- <p class="input-item"><input id="deploymentName" type="text" placeholder="请输入流程名称"></p>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<div class="sy-btn">
|
||||
<button id="sure">确定</button>
|
||||
<button class="cancel" id="cancel">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sy-mask cancel"></div>
|
||||
<script type="text/javascript" src="index.js"></script>
|
||||
<script>
|
||||
document.getElementById('downloadBpmn').innerText = sessionStorage.getItem('language') === 'en' ? 'Export' : '导出';
|
||||
document.getElementById('js-download-diagram').innerText = sessionStorage.getItem('language') === 'en' ? 'Deploy' : '部署';
|
||||
document.getElementById('saveTemplateBpmn').innerText = sessionStorage.getItem('language') === 'en' ? 'Save' : '保存';
|
||||
document.getElementById('saveToTemplateBpmn').innerText = sessionStorage.getItem('language') === 'en' ? 'Save as a template' : '保存为模板';
|
||||
document.getElementById('bslc').innerText = sessionStorage.getItem('language') === 'en' ? 'Deployment process' : '部署流程';
|
||||
document.getElementById('qrbs').innerText = sessionStorage.getItem('language') === 'en' ? 'Confirm whether the process is deployed' : '确认是否部署该流程';
|
||||
document.getElementById('sure').innerText = sessionStorage.getItem('language') === 'en' ? 'Sure' : '确定';
|
||||
document.getElementById('cancel').innerText = sessionStorage.getItem('language') === 'en' ? 'Cancel' : '取消';
|
||||
document.getElementById('wfxs').innerText = sessionStorage.getItem('language') === 'en' ? 'BPMS2.0 cannot be displayed' : '取消';
|
||||
document.getElementById('cwDetail').innerText = sessionStorage.getItem('language') === 'en' ? 'Error details' : '取消';
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
90192
public/bpmnjs/index.js
Normal file
90192
public/bpmnjs/index.js
Normal file
File diff suppressed because one or more lines are too long
108
public/bpmnjs/vendor/bpmn-font/css/bpmn-codes.css
vendored
Normal file
108
public/bpmnjs/vendor/bpmn-font/css/bpmn-codes.css
vendored
Normal file
@ -0,0 +1,108 @@
|
||||
|
||||
.bpmn-icon-screw-wrench:before { content: '\e800'; } /* '' */
|
||||
.bpmn-icon-trash:before { content: '\e801'; } /* '' */
|
||||
.bpmn-icon-conditional-flow:before { content: '\e802'; } /* '' */
|
||||
.bpmn-icon-default-flow:before { content: '\e803'; } /* '' */
|
||||
.bpmn-icon-gateway-parallel:before { content: '\e804'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-cancel:before { content: '\e805'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-message:before { content: '\e806'; } /* '' */
|
||||
.bpmn-icon-start-event-compensation:before { content: '\e807'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-parallel-multiple:before { content: '\e808'; } /* '' */
|
||||
.bpmn-icon-loop-marker:before { content: '\e809'; } /* '' */
|
||||
.bpmn-icon-parallel-mi-marker:before { content: '\e80a'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-signal:before { content: '\e80b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-timer:before { content: '\e80c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-parallel-multiple:before { content: '\e80d'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-compensation:before { content: '\e80e'; } /* '' */
|
||||
.bpmn-icon-gateway-xor:before { content: '\e80f'; } /* '' */
|
||||
.bpmn-icon-connection:before { content: '\e810'; } /* '' */
|
||||
.bpmn-icon-end-event-cancel:before { content: '\e811'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-condition:before { content: '\e812'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-parallel-multiple:before { content: '\e813'; } /* '' */
|
||||
.bpmn-icon-start-event-condition:before { content: '\e814'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-timer:before { content: '\e815'; } /* '' */
|
||||
.bpmn-icon-sequential-mi-marker:before { content: '\e816'; } /* '' */
|
||||
.bpmn-icon-user-task:before { content: '\e817'; } /* '' */
|
||||
.bpmn-icon-business-rule:before { content: '\e818'; } /* '' */
|
||||
.bpmn-icon-sub-process-marker:before { content: '\e819'; } /* '' */
|
||||
.bpmn-icon-start-event-parallel-multiple:before { content: '\e81a'; } /* '' */
|
||||
.bpmn-icon-start-event-error:before { content: '\e81b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-signal:before { content: '\e81c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-error:before { content: '\e81d'; } /* '' */
|
||||
.bpmn-icon-end-event-compensation:before { content: '\e81e'; } /* '' */
|
||||
.bpmn-icon-subprocess-collapsed:before { content: '\e81f'; } /* '' */
|
||||
.bpmn-icon-subprocess-expanded:before { content: '\e820'; } /* '' */
|
||||
.bpmn-icon-task:before { content: '\e821'; } /* '' */
|
||||
.bpmn-icon-end-event-error:before { content: '\e822'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-escalation:before { content: '\e823'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-timer:before { content: '\e824'; } /* '' */
|
||||
.bpmn-icon-start-event-escalation:before { content: '\e825'; } /* '' */
|
||||
.bpmn-icon-start-event-signal:before { content: '\e826'; } /* '' */
|
||||
.bpmn-icon-business-rule-task:before { content: '\e827'; } /* '' */
|
||||
.bpmn-icon-manual:before { content: '\e828'; } /* '' */
|
||||
.bpmn-icon-receive:before { content: '\e829'; } /* '' */
|
||||
.bpmn-icon-call-activity:before { content: '\e82a'; } /* '' */
|
||||
.bpmn-icon-start-event-timer:before { content: '\e82b'; } /* '' */
|
||||
.bpmn-icon-start-event-message:before { content: '\e82c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-none:before { content: '\e82d'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-link:before { content: '\e82e'; } /* '' */
|
||||
.bpmn-icon-end-event-escalation:before { content: '\e82f'; } /* '' */
|
||||
.bpmn-icon-text-annotation:before { content: '\e830'; } /* '' */
|
||||
.bpmn-icon-bpmn-io:before { content: '\e831'; } /* '' */
|
||||
.bpmn-icon-gateway-complex:before { content: '\e832'; } /* '' */
|
||||
.bpmn-icon-gateway-eventbased:before { content: '\e833'; } /* '' */
|
||||
.bpmn-icon-gateway-none:before { content: '\e834'; } /* '' */
|
||||
.bpmn-icon-gateway-or:before { content: '\e835'; } /* '' */
|
||||
.bpmn-icon-end-event-terminate:before { content: '\e836'; } /* '' */
|
||||
.bpmn-icon-end-event-signal:before { content: '\e837'; } /* '' */
|
||||
.bpmn-icon-end-event-none:before { content: '\e838'; } /* '' */
|
||||
.bpmn-icon-end-event-multiple:before { content: '\e839'; } /* '' */
|
||||
.bpmn-icon-end-event-message:before { content: '\e83a'; } /* '' */
|
||||
.bpmn-icon-end-event-link:before { content: '\e83b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-message:before { content: '\e83c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-compensation:before { content: '\e83d'; } /* '' */
|
||||
.bpmn-icon-start-event-multiple:before { content: '\e83e'; } /* '' */
|
||||
.bpmn-icon-script:before { content: '\e83f'; } /* '' */
|
||||
.bpmn-icon-manual-task:before { content: '\e840'; } /* '' */
|
||||
.bpmn-icon-send:before { content: '\e841'; } /* '' */
|
||||
.bpmn-icon-service:before { content: '\e842'; } /* '' */
|
||||
.bpmn-icon-receive-task:before { content: '\e843'; } /* '' */
|
||||
.bpmn-icon-user:before { content: '\e844'; } /* '' */
|
||||
.bpmn-icon-start-event-none:before { content: '\e845'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-escalation:before { content: '\e846'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-multiple:before { content: '\e847'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-escalation:before { content: '\e848'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-link:before { content: '\e849'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-condition:before { content: '\e84a'; } /* '' */
|
||||
.bpmn-icon-data-object:before { content: '\e84b'; } /* '' */
|
||||
.bpmn-icon-script-task:before { content: '\e84c'; } /* '' */
|
||||
.bpmn-icon-send-task:before { content: '\e84d'; } /* '' */
|
||||
.bpmn-icon-data-store:before { content: '\e84e'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-escalation:before { content: '\e84f'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-message:before { content: '\e850'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-multiple:before { content: '\e851'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-signal:before { content: '\e852'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-multiple:before { content: '\e853'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-message:before { content: '\e854'; } /* '' */
|
||||
.bpmn-icon-ad-hoc-marker:before { content: '\e855'; } /* '' */
|
||||
.bpmn-icon-service-task:before { content: '\e856'; } /* '' */
|
||||
.bpmn-icon-task-none:before { content: '\e857'; } /* '' */
|
||||
.bpmn-icon-compensation-marker:before { content: '\e858'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-multiple:before { content: '\e859'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-signal:before { content: '\e85a'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-condition:before { content: '\e85b'; } /* '' */
|
||||
.bpmn-icon-participant:before { content: '\e85c'; } /* '' */
|
||||
.bpmn-icon-event-subprocess-expanded:before { content: '\e85d'; } /* '' */
|
||||
.bpmn-icon-lane-insert-below:before { content: '\e85e'; } /* '' */
|
||||
.bpmn-icon-space-tool:before { content: '\e85f'; } /* '' */
|
||||
.bpmn-icon-connection-multi:before { content: '\e860'; } /* '' */
|
||||
.bpmn-icon-lane:before { content: '\e861'; } /* '' */
|
||||
.bpmn-icon-lasso-tool:before { content: '\e862'; } /* '' */
|
||||
.bpmn-icon-lane-insert-above:before { content: '\e863'; } /* '' */
|
||||
.bpmn-icon-lane-divide-three:before { content: '\e864'; } /* '' */
|
||||
.bpmn-icon-lane-divide-two:before { content: '\e865'; } /* '' */
|
||||
.bpmn-icon-data-input:before { content: '\e866'; } /* '' */
|
||||
.bpmn-icon-data-output:before { content: '\e867'; } /* '' */
|
||||
.bpmn-icon-hand-tool:before { content: '\e868'; } /* '' */
|
||||
.bpmn-icon-group:before { content: '\e869'; } /* '' */
|
||||
.bpmn-icon-transaction:before { content: '\e8c4'; } /* '' */
|
||||
162
public/bpmnjs/vendor/bpmn-font/css/bpmn-embedded.css
vendored
Normal file
162
public/bpmnjs/vendor/bpmn-font/css/bpmn-embedded.css
vendored
Normal file
File diff suppressed because one or more lines are too long
164
public/bpmnjs/vendor/bpmn-font/css/bpmn.css
vendored
Normal file
164
public/bpmnjs/vendor/bpmn-font/css/bpmn.css
vendored
Normal file
@ -0,0 +1,164 @@
|
||||
@font-face {
|
||||
font-family: 'bpmn';
|
||||
src: url('../font/bpmn.eot?26374340');
|
||||
src: url('../font/bpmn.eot?26374340#iefix') format('embedded-opentype'),
|
||||
url('../font/bpmn.woff2?26374340') format('woff2'),
|
||||
url('../font/bpmn.woff?26374340') format('woff'),
|
||||
url('../font/bpmn.ttf?26374340') format('truetype'),
|
||||
url('../font/bpmn.svg?26374340#bpmn') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
||||
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
||||
/*
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'bpmn';
|
||||
src: url('../font/bpmn.svg?26374340#bpmn') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
[class^="bpmn-icon-"]:before, [class*=" bpmn-icon-"]:before {
|
||||
font-family: "bpmn";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: never;
|
||||
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
/* margin-right: .2em; */
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
/* For safety - reset parent styles, that can break glyph codes*/
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
line-height: 1em;
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
/* margin-left: .2em; */
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
|
||||
/* Font smoothing. That was taken from TWBS */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
|
||||
.bpmn-icon-screw-wrench:before { content: '\e800'; } /* '' */
|
||||
.bpmn-icon-trash:before { content: '\e801'; } /* '' */
|
||||
.bpmn-icon-conditional-flow:before { content: '\e802'; } /* '' */
|
||||
.bpmn-icon-default-flow:before { content: '\e803'; } /* '' */
|
||||
.bpmn-icon-gateway-parallel:before { content: '\e804'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-cancel:before { content: '\e805'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-message:before { content: '\e806'; } /* '' */
|
||||
.bpmn-icon-start-event-compensation:before { content: '\e807'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-parallel-multiple:before { content: '\e808'; } /* '' */
|
||||
.bpmn-icon-loop-marker:before { content: '\e809'; } /* '' */
|
||||
.bpmn-icon-parallel-mi-marker:before { content: '\e80a'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-signal:before { content: '\e80b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-timer:before { content: '\e80c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-parallel-multiple:before { content: '\e80d'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-compensation:before { content: '\e80e'; } /* '' */
|
||||
.bpmn-icon-gateway-xor:before { content: '\e80f'; } /* '' */
|
||||
.bpmn-icon-connection:before { content: '\e810'; } /* '' */
|
||||
.bpmn-icon-end-event-cancel:before { content: '\e811'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-condition:before { content: '\e812'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-parallel-multiple:before { content: '\e813'; } /* '' */
|
||||
.bpmn-icon-start-event-condition:before { content: '\e814'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-timer:before { content: '\e815'; } /* '' */
|
||||
.bpmn-icon-sequential-mi-marker:before { content: '\e816'; } /* '' */
|
||||
.bpmn-icon-user-task:before { content: '\e817'; } /* '' */
|
||||
.bpmn-icon-business-rule:before { content: '\e818'; } /* '' */
|
||||
.bpmn-icon-sub-process-marker:before { content: '\e819'; } /* '' */
|
||||
.bpmn-icon-start-event-parallel-multiple:before { content: '\e81a'; } /* '' */
|
||||
.bpmn-icon-start-event-error:before { content: '\e81b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-signal:before { content: '\e81c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-error:before { content: '\e81d'; } /* '' */
|
||||
.bpmn-icon-end-event-compensation:before { content: '\e81e'; } /* '' */
|
||||
.bpmn-icon-subprocess-collapsed:before { content: '\e81f'; } /* '' */
|
||||
.bpmn-icon-subprocess-expanded:before { content: '\e820'; } /* '' */
|
||||
.bpmn-icon-task:before { content: '\e821'; } /* '' */
|
||||
.bpmn-icon-end-event-error:before { content: '\e822'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-escalation:before { content: '\e823'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-timer:before { content: '\e824'; } /* '' */
|
||||
.bpmn-icon-start-event-escalation:before { content: '\e825'; } /* '' */
|
||||
.bpmn-icon-start-event-signal:before { content: '\e826'; } /* '' */
|
||||
.bpmn-icon-business-rule-task:before { content: '\e827'; } /* '' */
|
||||
.bpmn-icon-manual:before { content: '\e828'; } /* '' */
|
||||
.bpmn-icon-receive:before { content: '\e829'; } /* '' */
|
||||
.bpmn-icon-call-activity:before { content: '\e82a'; } /* '' */
|
||||
.bpmn-icon-start-event-timer:before { content: '\e82b'; } /* '' */
|
||||
.bpmn-icon-start-event-message:before { content: '\e82c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-none:before { content: '\e82d'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-link:before { content: '\e82e'; } /* '' */
|
||||
.bpmn-icon-end-event-escalation:before { content: '\e82f'; } /* '' */
|
||||
.bpmn-icon-text-annotation:before { content: '\e830'; } /* '' */
|
||||
.bpmn-icon-bpmn-io:before { content: '\e831'; } /* '' */
|
||||
.bpmn-icon-gateway-complex:before { content: '\e832'; } /* '' */
|
||||
.bpmn-icon-gateway-eventbased:before { content: '\e833'; } /* '' */
|
||||
.bpmn-icon-gateway-none:before { content: '\e834'; } /* '' */
|
||||
.bpmn-icon-gateway-or:before { content: '\e835'; } /* '' */
|
||||
.bpmn-icon-end-event-terminate:before { content: '\e836'; } /* '' */
|
||||
.bpmn-icon-end-event-signal:before { content: '\e837'; } /* '' */
|
||||
.bpmn-icon-end-event-none:before { content: '\e838'; } /* '' */
|
||||
.bpmn-icon-end-event-multiple:before { content: '\e839'; } /* '' */
|
||||
.bpmn-icon-end-event-message:before { content: '\e83a'; } /* '' */
|
||||
.bpmn-icon-end-event-link:before { content: '\e83b'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-message:before { content: '\e83c'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-compensation:before { content: '\e83d'; } /* '' */
|
||||
.bpmn-icon-start-event-multiple:before { content: '\e83e'; } /* '' */
|
||||
.bpmn-icon-script:before { content: '\e83f'; } /* '' */
|
||||
.bpmn-icon-manual-task:before { content: '\e840'; } /* '' */
|
||||
.bpmn-icon-send:before { content: '\e841'; } /* '' */
|
||||
.bpmn-icon-service:before { content: '\e842'; } /* '' */
|
||||
.bpmn-icon-receive-task:before { content: '\e843'; } /* '' */
|
||||
.bpmn-icon-user:before { content: '\e844'; } /* '' */
|
||||
.bpmn-icon-start-event-none:before { content: '\e845'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-escalation:before { content: '\e846'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-multiple:before { content: '\e847'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-escalation:before { content: '\e848'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-link:before { content: '\e849'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-condition:before { content: '\e84a'; } /* '' */
|
||||
.bpmn-icon-data-object:before { content: '\e84b'; } /* '' */
|
||||
.bpmn-icon-script-task:before { content: '\e84c'; } /* '' */
|
||||
.bpmn-icon-send-task:before { content: '\e84d'; } /* '' */
|
||||
.bpmn-icon-data-store:before { content: '\e84e'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-escalation:before { content: '\e84f'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-message:before { content: '\e850'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-multiple:before { content: '\e851'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-signal:before { content: '\e852'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-multiple:before { content: '\e853'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-message:before { content: '\e854'; } /* '' */
|
||||
.bpmn-icon-ad-hoc-marker:before { content: '\e855'; } /* '' */
|
||||
.bpmn-icon-service-task:before { content: '\e856'; } /* '' */
|
||||
.bpmn-icon-task-none:before { content: '\e857'; } /* '' */
|
||||
.bpmn-icon-compensation-marker:before { content: '\e858'; } /* '' */
|
||||
.bpmn-icon-start-event-non-interrupting-multiple:before { content: '\e859'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-throw-signal:before { content: '\e85a'; } /* '' */
|
||||
.bpmn-icon-intermediate-event-catch-non-interrupting-condition:before { content: '\e85b'; } /* '' */
|
||||
.bpmn-icon-participant:before { content: '\e85c'; } /* '' */
|
||||
.bpmn-icon-event-subprocess-expanded:before { content: '\e85d'; } /* '' */
|
||||
.bpmn-icon-lane-insert-below:before { content: '\e85e'; } /* '' */
|
||||
.bpmn-icon-space-tool:before { content: '\e85f'; } /* '' */
|
||||
.bpmn-icon-connection-multi:before { content: '\e860'; } /* '' */
|
||||
.bpmn-icon-lane:before { content: '\e861'; } /* '' */
|
||||
.bpmn-icon-lasso-tool:before { content: '\e862'; } /* '' */
|
||||
.bpmn-icon-lane-insert-above:before { content: '\e863'; } /* '' */
|
||||
.bpmn-icon-lane-divide-three:before { content: '\e864'; } /* '' */
|
||||
.bpmn-icon-lane-divide-two:before { content: '\e865'; } /* '' */
|
||||
.bpmn-icon-data-input:before { content: '\e866'; } /* '' */
|
||||
.bpmn-icon-data-output:before { content: '\e867'; } /* '' */
|
||||
.bpmn-icon-hand-tool:before { content: '\e868'; } /* '' */
|
||||
.bpmn-icon-group:before { content: '\e869'; } /* '' */
|
||||
.bpmn-icon-transaction:before { content: '\e8c4'; } /* '' */
|
||||
BIN
public/bpmnjs/vendor/bpmn-font/font/bpmn.eot
vendored
Normal file
BIN
public/bpmnjs/vendor/bpmn-font/font/bpmn.eot
vendored
Normal file
Binary file not shown.
224
public/bpmnjs/vendor/bpmn-font/font/bpmn.svg
vendored
Normal file
224
public/bpmnjs/vendor/bpmn-font/font/bpmn.svg
vendored
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 130 KiB |
BIN
public/bpmnjs/vendor/bpmn-font/font/bpmn.ttf
vendored
Normal file
BIN
public/bpmnjs/vendor/bpmn-font/font/bpmn.ttf
vendored
Normal file
Binary file not shown.
BIN
public/bpmnjs/vendor/bpmn-font/font/bpmn.woff
vendored
Normal file
BIN
public/bpmnjs/vendor/bpmn-font/font/bpmn.woff
vendored
Normal file
Binary file not shown.
BIN
public/bpmnjs/vendor/bpmn-font/font/bpmn.woff2
vendored
Normal file
BIN
public/bpmnjs/vendor/bpmn-font/font/bpmn.woff2
vendored
Normal file
Binary file not shown.
822
public/bpmnjs/vendor/diagram-js.css
vendored
Normal file
822
public/bpmnjs/vendor/diagram-js.css
vendored
Normal file
@ -0,0 +1,822 @@
|
||||
/**
|
||||
* color definitions
|
||||
*/
|
||||
.djs-container {
|
||||
--blue-base-65: #4d90ff;
|
||||
--blue-base-65-opacity-30: rgba(77, 144, 255, 0.3);
|
||||
--blue-darken-48: #005df7;
|
||||
--blue-darken-55: #1a70ff;
|
||||
--blue-lighten-82: #a2c5ff;
|
||||
|
||||
--orange-base-60: #ffa533;
|
||||
--orange-base-60-opacity-30: rgba(255, 165, 51, 0.3);
|
||||
--orange-base-60-opacity-50: rgba(255, 165, 51, 0.5);
|
||||
--orange-lighten-85: #ffddb3;
|
||||
|
||||
--red-base-62: #ff3d3d;
|
||||
--red-base-62-opacity-10: rgba(255, 61, 61, 0.1);
|
||||
|
||||
--silver-darken-94: #efefef;
|
||||
|
||||
--color-000000: #000000;
|
||||
--color-000000-opacity-05: rgba(0, 0, 0, 0.05);
|
||||
--color-000000-opacity-10: rgba(0, 0, 0, 0.1);
|
||||
--color-333333: #333333;
|
||||
--color-666666: #666666;
|
||||
--color-aaaaaa: #aaaaaa;
|
||||
--color-cccccc: #cccccc;
|
||||
--color-cdcdcd: #cdcdcd;
|
||||
--color-dddddd: #dddddd;
|
||||
--color-f6f6f6: #f6f6f6;
|
||||
--color-fafafa: #fafafa;
|
||||
--color-fefefe: #fefefe;
|
||||
--color-ffffff: #ffffff;
|
||||
|
||||
--bendpoint-fill-color: var(--blue-base-65-opacity-30);
|
||||
--bendpoint-stroke-color: var(--blue-base-65);
|
||||
|
||||
--context-pad-entry-background-color: var(--color-fefefe);
|
||||
--context-pad-entry-hover-background-color: var(--silver-darken-94);
|
||||
|
||||
--element-dragger-color: var(--blue-base-65);
|
||||
--element-hover-outline-fill-color: var(--blue-darken-48);
|
||||
--element-selected-outline-stroke-color: var(--blue-base-65);
|
||||
|
||||
--lasso-fill-color: var(--color-000000-opacity-05);
|
||||
--lasso-stroke-color: var(--color-000000);
|
||||
|
||||
--palette-entry-color: var(--color-333333);
|
||||
--palette-entry-hover-color: var(--blue-darken-48);
|
||||
--palette-entry-selected-color: var(--blue-base-65);
|
||||
--palette-separator-color: var(--color-aaaaaa);
|
||||
--palette-toggle-hover-background-color: var(--color-666666);
|
||||
--palette-background-color: var(--color-fafafa);
|
||||
--palette-border-color: var(--color-cccccc);
|
||||
|
||||
--popup-body-background-color: var(--color-fefefe);
|
||||
--popup-header-entry-selected-color: var(--blue-base-65);
|
||||
--popup-header-entry-selected-background-color: var(--color-000000-opacity-10);
|
||||
--popup-header-separator-color: var(--color-dddddd);
|
||||
--popup-background-color: var(--color-fafafa);
|
||||
--popup-border-color: var(--color-cccccc);
|
||||
|
||||
--resizer-fill-color: var(--blue-base-65-opacity-30);
|
||||
--resizer-stroke-color: var(--blue-base-65);
|
||||
|
||||
--search-container-background-color: var(--color-fafafa);
|
||||
--search-container-border-color: var(--blue-darken-55);
|
||||
--search-container-box-shadow-color: var(--blue-lighten-82);
|
||||
--search-container-box-shadow-inset-color: var(--color-cdcdcd);
|
||||
--search-input-border-color: var(--color-cccccc);
|
||||
--search-result-border-color: var(--color-aaaaaa);
|
||||
--search-result-highlight-color: var(--color-000000);
|
||||
--search-result-selected-color: var(--blue-base-65-opacity-30);
|
||||
|
||||
--shape-attach-allowed-stroke-color: var(--blue-base-65);
|
||||
--shape-connect-allowed-fill-color: var(--color-000000-opacity-05);
|
||||
--shape-drop-allowed-fill-color: var(--color-000000-opacity-05);
|
||||
--shape-drop-not-allowed-fill-color: var(--red-base-62-opacity-10);
|
||||
--shape-resize-preview-stroke-color: var(--blue-base-65);
|
||||
|
||||
--snap-line-stroke-color: var(--blue-base-65-opacity-30);
|
||||
|
||||
--space-tool-crosshair-stroke-color: var(--color-000000);
|
||||
|
||||
--tooltip-error-background-color: var(--red-base-62-opacity-10);
|
||||
--tooltip-error-border-color: var(--red-base-62);
|
||||
--tooltip-error-color: var(--red-base-62);
|
||||
}
|
||||
|
||||
/**
|
||||
* outline styles
|
||||
*/
|
||||
|
||||
.djs-outline {
|
||||
fill: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.djs-element.hover .djs-outline,
|
||||
.djs-element.selected .djs-outline {
|
||||
visibility: visible;
|
||||
shape-rendering: geometricPrecision;
|
||||
stroke-dasharray: 3,3;
|
||||
}
|
||||
|
||||
.djs-element.selected .djs-outline {
|
||||
stroke: var(--element-selected-outline-stroke-color);
|
||||
stroke-width: 1px;
|
||||
}
|
||||
|
||||
.djs-element.hover .djs-outline {
|
||||
stroke: var(--element-hover-outline-fill-color);
|
||||
stroke-width: 1px;
|
||||
}
|
||||
|
||||
.djs-shape.connect-ok .djs-visual > :nth-child(1) {
|
||||
fill: var(--shape-connect-allowed-fill-color) !important;
|
||||
}
|
||||
|
||||
.djs-shape.connect-not-ok .djs-visual > :nth-child(1),
|
||||
.djs-shape.drop-not-ok .djs-visual > :nth-child(1) {
|
||||
fill: var(--shape-drop-not-allowed-fill-color) !important;
|
||||
}
|
||||
|
||||
.djs-shape.new-parent .djs-visual > :nth-child(1) {
|
||||
fill: var(--shape-drop-allowed-fill-color) !important;
|
||||
}
|
||||
|
||||
svg.drop-not-ok {
|
||||
background: var(--shape-drop-not-allowed-fill-color) !important;
|
||||
}
|
||||
|
||||
svg.new-parent {
|
||||
background: var(--shape-drop-allowed-fill-color) !important;
|
||||
}
|
||||
|
||||
.djs-connection.connect-ok .djs-visual > :nth-child(1),
|
||||
.djs-connection.drop-ok .djs-visual > :nth-child(1) {
|
||||
stroke: var(--shape-drop-allowed-fill-color) !important;
|
||||
}
|
||||
|
||||
.djs-connection.connect-not-ok .djs-visual > :nth-child(1),
|
||||
.djs-connection.drop-not-ok .djs-visual > :nth-child(1) {
|
||||
stroke: var(--shape-drop-not-allowed-fill-color) !important;
|
||||
}
|
||||
|
||||
.drop-not-ok,
|
||||
.connect-not-ok {
|
||||
stroke: var(--shape-attach-allowed-stroke-color) !important;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.djs-element.attach-ok .djs-visual > :nth-child(1) {
|
||||
stroke-width: 5px !important;
|
||||
}
|
||||
|
||||
.djs-frame.connect-not-ok .djs-visual > :nth-child(1),
|
||||
.djs-frame.drop-not-ok .djs-visual > :nth-child(1) {
|
||||
stroke-width: 3px !important;
|
||||
stroke: var(--shape-drop-not-allowed-fill-color) !important;
|
||||
fill: none !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* Selection box style
|
||||
*
|
||||
*/
|
||||
.djs-lasso-overlay {
|
||||
fill: var(--lasso-fill-color);
|
||||
|
||||
stroke-dasharray: 5 1 3 1;
|
||||
stroke: var(--lasso-stroke-color);
|
||||
|
||||
shape-rendering: geometricPrecision;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resize styles
|
||||
*/
|
||||
.djs-resize-overlay {
|
||||
fill: none;
|
||||
|
||||
stroke-dasharray: 5 1 3 1;
|
||||
stroke: var(--shape-resize-preview-stroke-color);
|
||||
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-resizer-hit {
|
||||
fill: none;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-resizer-visual {
|
||||
fill: var(--resizer-fill-color);;
|
||||
stroke-width: 1px;
|
||||
stroke-opacity: 0.5;
|
||||
stroke: var(--resizer-stroke-color);
|
||||
shape-rendering: geometricprecision;
|
||||
}
|
||||
|
||||
.djs-resizer:hover .djs-resizer-visual {
|
||||
stroke: var(--resizer-stroke-color);
|
||||
stroke-opacity: 1;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-ns,
|
||||
.djs-resizer-n,
|
||||
.djs-resizer-s {
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-ew,
|
||||
.djs-resizer-e,
|
||||
.djs-resizer-w {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-nwse,
|
||||
.djs-resizer-nw,
|
||||
.djs-resizer-se {
|
||||
cursor: nwse-resize;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-nesw,
|
||||
.djs-resizer-ne,
|
||||
.djs-resizer-sw {
|
||||
cursor: nesw-resize;
|
||||
}
|
||||
|
||||
.djs-shape.djs-resizing > .djs-outline {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
||||
.djs-shape.djs-resizing > .djs-resizer {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.djs-dragger > .djs-resizer {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/**
|
||||
* drag styles
|
||||
*/
|
||||
.djs-dragger * {
|
||||
fill: none !important;
|
||||
stroke: var(--element-dragger-color) !important;
|
||||
}
|
||||
|
||||
.djs-dragger tspan,
|
||||
.djs-dragger text {
|
||||
fill: var(--element-dragger-color) !important;
|
||||
stroke: none !important;
|
||||
}
|
||||
|
||||
marker.djs-dragger circle,
|
||||
marker.djs-dragger path,
|
||||
marker.djs-dragger polygon,
|
||||
marker.djs-dragger polyline,
|
||||
marker.djs-dragger rect {
|
||||
fill: var(--element-dragger-color) !important;
|
||||
stroke: none !important;
|
||||
}
|
||||
|
||||
marker.djs-dragger text,
|
||||
marker.djs-dragger tspan {
|
||||
fill: none !important;
|
||||
stroke: var(--element-dragger-color) !important;
|
||||
}
|
||||
|
||||
.djs-dragging {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.djs-dragging,
|
||||
.djs-dragging > * {
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
.djs-dragging .djs-context-pad,
|
||||
.djs-dragging .djs-outline {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* no pointer events for visual
|
||||
*/
|
||||
.djs-visual,
|
||||
.djs-outline {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-element.attach-ok .djs-hit {
|
||||
stroke-width: 60px !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* all pointer events for hit shape
|
||||
*/
|
||||
.djs-element > .djs-hit-all {
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-element > .djs-hit-stroke,
|
||||
.djs-element > .djs-hit-click-stroke {
|
||||
pointer-events: stroke;
|
||||
}
|
||||
|
||||
/**
|
||||
* all pointer events for hit shape
|
||||
*/
|
||||
.djs-drag-active .djs-element > .djs-hit-click-stroke {
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
/**
|
||||
* shape / connection basic styles
|
||||
*/
|
||||
.djs-connection .djs-visual {
|
||||
stroke-width: 2px;
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.djs-cursor-grab {
|
||||
cursor: -webkit-grab;
|
||||
cursor: -moz-grab;
|
||||
cursor: grab;
|
||||
}
|
||||
|
||||
.djs-cursor-grabbing {
|
||||
cursor: -webkit-grabbing;
|
||||
cursor: -moz-grabbing;
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
.djs-cursor-crosshair {
|
||||
cursor: crosshair;
|
||||
}
|
||||
|
||||
.djs-cursor-move {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-ns {
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
.djs-cursor-resize-ew {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* snapping
|
||||
*/
|
||||
.djs-snap-line {
|
||||
stroke: var(--snap-line-stroke-color);
|
||||
stroke-linecap: round;
|
||||
stroke-width: 2px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* snapping
|
||||
*/
|
||||
.djs-crosshair {
|
||||
stroke: var(--space-tool-crosshair-stroke-color);
|
||||
stroke-linecap: round;
|
||||
stroke-width: 1px;
|
||||
pointer-events: none;
|
||||
shape-rendering: crispEdges;
|
||||
stroke-dasharray: 5, 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* palette
|
||||
*/
|
||||
|
||||
.djs-palette {
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 20px;
|
||||
|
||||
box-sizing: border-box;
|
||||
width: 48px;
|
||||
}
|
||||
|
||||
.djs-palette .separator {
|
||||
margin: 0 5px;
|
||||
padding-top: 5px;
|
||||
|
||||
border: none;
|
||||
border-bottom: solid 1px var(--palette-separator-color);
|
||||
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.djs-palette .entry:before {
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-toggle {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.djs-palette .entry,
|
||||
.djs-palette .djs-palette-toggle {
|
||||
color: var(--palette-entry-color);
|
||||
font-size: 30px;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.djs-palette .entry {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.djs-palette .entry img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-entries:after {
|
||||
content: '';
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.djs-palette .djs-palette-toggle:hover {
|
||||
background: var(--palette-toggle-hover-background-color);
|
||||
}
|
||||
|
||||
.djs-palette .entry:hover {
|
||||
color: var(--palette-entry-hover-color);
|
||||
}
|
||||
|
||||
.djs-palette .highlighted-entry {
|
||||
color: var(--palette-entry-selected-color) !important;
|
||||
}
|
||||
|
||||
.djs-palette .entry,
|
||||
.djs-palette .djs-palette-toggle {
|
||||
width: 46px;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Palette open / two-column layout is controlled via
|
||||
* classes on the palette. Events to hook into palette
|
||||
* changed life-cycle are available in addition.
|
||||
*/
|
||||
.djs-palette.two-column.open {
|
||||
width: 94px;
|
||||
}
|
||||
|
||||
.djs-palette:not(.open) .djs-palette-entries {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-palette:not(.open) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.djs-palette.open .djs-palette-toggle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* context-pad
|
||||
*/
|
||||
.djs-overlay-context-pad {
|
||||
width: 72px;
|
||||
}
|
||||
|
||||
.djs-context-pad {
|
||||
position: absolute;
|
||||
display: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
font-size: 22px;
|
||||
margin: 0 2px 2px 0;
|
||||
|
||||
border-radius: 3px;
|
||||
|
||||
cursor: default;
|
||||
|
||||
background-color: var(--context-pad-entry-background-color);
|
||||
box-shadow: 0 0 2px 1px var(--context-pad-entry-background-color);
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry:before {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.djs-context-pad .entry:hover {
|
||||
background: var(--context-pad-entry-hover-background-color);
|
||||
}
|
||||
|
||||
.djs-context-pad.open {
|
||||
display: block;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/**
|
||||
* popup styles
|
||||
*/
|
||||
.djs-popup .entry {
|
||||
line-height: 20px;
|
||||
white-space: nowrap;
|
||||
cursor: default;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/* larger font for prefixed icons */
|
||||
.djs-popup .entry:before {
|
||||
vertical-align: middle;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.djs-popup .entry > span {
|
||||
vertical-align: middle;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.djs-popup .entry:hover,
|
||||
.djs-popup .entry.active:hover {
|
||||
background: var(--popup-header-entry-selected-background-color);
|
||||
}
|
||||
|
||||
.djs-popup .entry.disabled {
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
.djs-popup .djs-popup-header .entry {
|
||||
display: inline-block;
|
||||
padding: 2px 3px 2px 3px;
|
||||
|
||||
border: solid 1px transparent;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.djs-popup .djs-popup-header .entry.active {
|
||||
color: var(--popup-header-entry-selected-color);
|
||||
border: solid 1px var(--popup-header-entry-selected-color);
|
||||
background-color: var(--popup-header-entry-selected-background-color);
|
||||
}
|
||||
|
||||
.djs-popup-body .entry {
|
||||
padding: 4px 10px 4px 5px;
|
||||
}
|
||||
|
||||
.djs-popup-body .entry > span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.djs-popup-body {
|
||||
background-color: var(--popup-body-background-color);
|
||||
}
|
||||
|
||||
.djs-popup-header {
|
||||
border-bottom: 1px solid var(--popup-header-separator-color);
|
||||
}
|
||||
|
||||
.djs-popup-header .entry {
|
||||
margin: 1px;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.djs-popup-header .entry:last-child {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/**
|
||||
* popup / palette styles
|
||||
*/
|
||||
.djs-palette {
|
||||
background: var(--palette-background-color);
|
||||
border: solid 1px var(--palette-border-color);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.djs-popup {
|
||||
background: var(--popup-background-color);
|
||||
border: solid 1px var(--popup-border-color);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
/**
|
||||
* touch
|
||||
*/
|
||||
|
||||
.djs-shape,
|
||||
.djs-connection {
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger,
|
||||
.djs-bendpoint {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* bendpoints
|
||||
*/
|
||||
.djs-segment-dragger .djs-visual {
|
||||
display: none;
|
||||
|
||||
fill: var(--bendpoint-fill-color);
|
||||
stroke: var(--bendpoint-stroke-color);
|
||||
stroke-width: 1px;
|
||||
stroke-opacity: 1;
|
||||
}
|
||||
|
||||
.djs-segment-dragger:hover .djs-visual {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.djs-bendpoint .djs-visual {
|
||||
fill: var(--bendpoint-fill-color);
|
||||
stroke: var(--bendpoint-stroke-color);
|
||||
stroke-width: 1px;
|
||||
stroke-opacity: 0.5;
|
||||
}
|
||||
|
||||
.djs-segment-dragger:hover,
|
||||
.djs-bendpoints.hover .djs-segment-dragger,
|
||||
.djs-bendpoints.selected .djs-segment-dragger,
|
||||
.djs-bendpoint:hover,
|
||||
.djs-bendpoints.hover .djs-bendpoint,
|
||||
.djs-bendpoints.selected .djs-bendpoint {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.djs-drag-active .djs-bendpoints * {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-bendpoints:not(.hover) .floating {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger:hover .djs-visual,
|
||||
.djs-segment-dragger.djs-dragging .djs-visual,
|
||||
.djs-bendpoint:hover .djs-visual,
|
||||
.djs-bendpoint.floating .djs-visual {
|
||||
fill: var(--bendpoint-fill-color);
|
||||
stroke: var(--bendpoint-stroke-color);
|
||||
stroke-opacity: 1;
|
||||
}
|
||||
|
||||
.djs-bendpoint.floating .djs-hit {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-segment-dragger .djs-hit,
|
||||
.djs-bendpoint .djs-hit {
|
||||
fill: none;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.horizontal .djs-hit {
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.vertical .djs-hit {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.djs-dragging .djs-hit {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.djs-updating,
|
||||
.djs-updating > * {
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
.djs-updating .djs-context-pad,
|
||||
.djs-updating .djs-outline,
|
||||
.djs-updating .djs-bendpoint,
|
||||
.connect-ok .djs-bendpoint,
|
||||
.connect-not-ok .djs-bendpoint,
|
||||
.drop-ok .djs-bendpoint,
|
||||
.drop-not-ok .djs-bendpoint {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.djs-segment-dragger.djs-dragging,
|
||||
.djs-bendpoint.djs-dragging {
|
||||
display: block;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* tooltips
|
||||
*/
|
||||
.djs-tooltip-error {
|
||||
width: 160px;
|
||||
padding: 6px;
|
||||
|
||||
background: var(--tooltip-error-background-color);
|
||||
border: solid 1px var(--tooltip-error-border-color);
|
||||
border-radius: 2px;
|
||||
color: var(--tooltip-error-color);
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
.djs-tooltip-error:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* search pad
|
||||
*/
|
||||
.djs-search-container {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
width: 25%;
|
||||
min-width: 300px;
|
||||
max-width: 400px;
|
||||
z-index: 10;
|
||||
|
||||
font-size: 1.05em;
|
||||
opacity: 0.9;
|
||||
background: var(--search-container-background-color);
|
||||
border: solid 1px var(--search-container-border-color);
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 0 0 2px var(--search-container-box-shadow-color), 0 0 0 1px var(--search-container-box-shadow-inset-color) inset;
|
||||
}
|
||||
|
||||
.djs-search-container:not(.open) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djs-search-input input {
|
||||
font-size: 1.05em;
|
||||
width: 100%;
|
||||
padding: 6px 10px;
|
||||
border: 1px solid var(--search-input-border-color);
|
||||
}
|
||||
|
||||
.djs-search-input input:focus {
|
||||
outline: none;
|
||||
border-color: var(--search-input-border-color);
|
||||
}
|
||||
|
||||
.djs-search-results {
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.djs-search-results:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.djs-search-result {
|
||||
width: 100%;
|
||||
padding: 6px 10px;
|
||||
background: white;
|
||||
border-bottom: solid 1px var(--search-result-border-color);
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.djs-search-highlight {
|
||||
color: var(--search-result-highlight-color);
|
||||
}
|
||||
|
||||
.djs-search-result-primary {
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
|
||||
.djs-search-result-secondary {
|
||||
font-family: monospace;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.djs-search-result:hover {
|
||||
background: var(--search-result-selected-color);
|
||||
}
|
||||
|
||||
.djs-search-result-selected {
|
||||
background: var(--search-result-selected-color);
|
||||
}
|
||||
|
||||
.djs-search-result-selected:hover {
|
||||
background: var(--search-result-selected-color);
|
||||
}
|
||||
|
||||
.djs-search-overlay {
|
||||
background: var(--search-result-selected-color);
|
||||
}
|
||||
|
||||
/**
|
||||
* hidden styles
|
||||
*/
|
||||
.djs-element-hidden,
|
||||
.djs-element-hidden .djs-hit,
|
||||
.djs-element-hidden .djs-outline,
|
||||
.djs-label-hidden .djs-label {
|
||||
display: none !important;
|
||||
}
|
||||
BIN
public/favicon.ico
Normal file
BIN
public/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
18
public/index.html
Normal file
18
public/index.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!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, maximum-scale=1, user-scalable=no"
|
||||
/>
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title><%= webpackConfig.name %></title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
92
src/App.vue
Normal file
92
src/App.vue
Normal file
@ -0,0 +1,92 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<router-view />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { windowResize } from '@/utils/index'
|
||||
export default {
|
||||
name: 'App',
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
windowResize()
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
/* aa */
|
||||
@import "~@/assets/font/font.css";
|
||||
/* 设置滚动条的样式 */
|
||||
*::-webkit-scrollbar {
|
||||
height: 4px;
|
||||
/*设置横向滚动条的高度*/
|
||||
width: 4px;
|
||||
/*设置纵向向滚动条宽带*/
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-track {
|
||||
display: none;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
/* 滚动条滑块样式 */
|
||||
*::-webkit-scrollbar-thumb {
|
||||
background-color: #056fb9;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-track-piece {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar {
|
||||
height: 6px;
|
||||
width: 6px;
|
||||
background-color: transparent !important;
|
||||
} /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
|
||||
*::-webkit-scrollbar-track {
|
||||
background-color: rgba(0, 68, 255, 0.5);
|
||||
} /*定义滚动条轨道 内阴影+圆角*/
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .item-top-new {
|
||||
background-image: var(--item-header-bg) !important;
|
||||
}
|
||||
|
||||
::v-deep #chart{
|
||||
overflow: hidden;
|
||||
}
|
||||
::v-deep .top-left-container {
|
||||
.item-wrap {
|
||||
background: url(./assets/images/right-item.png) no-repeat !important;
|
||||
background-size: 100% 100%!important;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .top-left-container {
|
||||
.error-item-wrap {
|
||||
background: url(./assets/images/error-right-item.png) no-repeat !important;
|
||||
background-size: 100% 100%!important;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .stationData-content-box{
|
||||
background: url(./assets/station-data/item-bg.png) no-repeat !important;
|
||||
background-size: 100% 100%!important;
|
||||
}
|
||||
|
||||
::v-deep .price-con-item {
|
||||
background: url(./assets/images/price-bg.png) no-repeat !important;
|
||||
background-size: 100% 100%!important;
|
||||
}
|
||||
</style>
|
||||
27
src/api/activiti/definition.js
Normal file
27
src/api/activiti/definition.js
Normal file
@ -0,0 +1,27 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 分页查询
|
||||
export function GetProcessManagement(data) {
|
||||
return request({
|
||||
url: '/flow/processDefinition/list',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除流程模板
|
||||
export function DeleteProcessManagement(data) {
|
||||
return request({
|
||||
url: '/flow/processDefinition/remove/' + data.deploymentId,
|
||||
method: 'DELETE'
|
||||
})
|
||||
}
|
||||
|
||||
// 修改流程模板
|
||||
export function EditProcessManagement(data) {
|
||||
return request({
|
||||
url: '/flow/processDefinition/suspendOrActiveApply',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
47
src/api/activiti/task.js
Normal file
47
src/api/activiti/task.js
Normal file
@ -0,0 +1,47 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 发起工单
|
||||
export function InitProcessInstance(data) {
|
||||
return request({
|
||||
url: '/flow/processFlowNew/initProcessInstance',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询代办
|
||||
export function GetTodoList(data) {
|
||||
return request({
|
||||
url: '/flow/processFlowNew/queryTodoList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 任务详情
|
||||
export function GetTaskInfo(data) {
|
||||
return request({
|
||||
url: '/flow/processFlowNew/taskInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑工单
|
||||
export function SaveWorkOrder(data) {
|
||||
return request({
|
||||
url: '/flow/processFlowNew/save',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询已办
|
||||
export function GetQueryDoneList(data) {
|
||||
return request({
|
||||
url: '/flow/processFlowNew/queryDoneList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
54
src/api/activiti/temp.js
Normal file
54
src/api/activiti/temp.js
Normal file
@ -0,0 +1,54 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 分页查询模板
|
||||
export function GetProcessTemplate(data) {
|
||||
return request({
|
||||
url: '/flow/processTemplate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 分页查询模板
|
||||
export function GetProcessTemplateList(data) {
|
||||
return request({
|
||||
url: '/flow/processTemplate/list',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增模板
|
||||
export function AddProcessTemplate(data) {
|
||||
return request({
|
||||
url: '/flow/processTemplate/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除模板
|
||||
export function DeleteProcessTemplate(data) {
|
||||
return request({
|
||||
url: '/flow/processTemplate/delete',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改模板
|
||||
export function EditProcessTemplate(data) {
|
||||
return request({
|
||||
url: '/flow/processTemplate/edit',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询详情
|
||||
|
||||
export function GetTemplate(data) {
|
||||
return request({
|
||||
url: '/flow/processTemplate/' + data,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
71
src/api/alarm-configuration/index.js
Normal file
71
src/api/alarm-configuration/index.js
Normal file
@ -0,0 +1,71 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询电站下的设备类型列表
|
||||
export function GetdeviceType(data) {
|
||||
return request({
|
||||
url: `/business/device/deviceType`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 查询告警配置接口
|
||||
|
||||
// 批量新增电站告警遥信配置接口
|
||||
export function addSignalBatch(data) {
|
||||
return request({
|
||||
url: '/flow/alarmConfig/addSignalBatch',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 更改电站告警等级接口
|
||||
export function modifyLevel(data) {
|
||||
return request({
|
||||
url: '/flow/alarmConfig/modifyLevel',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 分页查询遥信告警配置接口
|
||||
export function signalPage(data) {
|
||||
return request({
|
||||
url: '/flow/alarmConfig/signalPage',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 分页查询遥测告警配置接口
|
||||
export function measurePage(data) {
|
||||
return request({
|
||||
url: '/flow/alarmConfig/measurePage',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 批量新增告警遥测配置接口
|
||||
export function addMeasureBatch(data) {
|
||||
return request({
|
||||
url: '/flow/alarmConfig/addMeasureBatch',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 批量删除告警遥信配置
|
||||
export function deleteSignalBatch(data) {
|
||||
return request({
|
||||
url: '/flow/alarmConfig/deleteSignalBatch',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 分页查询遥信告警配置已经选中的接口
|
||||
export function signalCheckListPage(data) {
|
||||
return request({
|
||||
url: '/flow/alarmConfig/signalCheckListPage',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
64
src/api/alarm/alarm-definition.js
Normal file
64
src/api/alarm/alarm-definition.js
Normal file
@ -0,0 +1,64 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取电站数据
|
||||
export function GetDeviceType(data) {
|
||||
return request({
|
||||
url: '/business/device/deviceType',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 分页查询告警配置
|
||||
export function GetDeviceColDefinePage(data) {
|
||||
return request({
|
||||
url: '/flow/deviceColDefine/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除告警字段定义
|
||||
export function DelDeviceColDefine(data) {
|
||||
return request({
|
||||
url: '/flow/deviceColDefine/deleteDeviceColDefine',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 分页查询点表数据
|
||||
export function GetDeviceTypeCol(data) {
|
||||
return request({
|
||||
url: '/business/deviceTypeCol/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增告警字段
|
||||
export function AddDeviceColDefine(data) {
|
||||
return request({
|
||||
url: '/flow/deviceColDefine/addDeviceColDefine',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改告警字段
|
||||
export function UpdataDeviceColDefine(data) {
|
||||
return request({
|
||||
url: '/flow/deviceColDefine/modifyDeviceColDefine',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 同步告警字段
|
||||
export function SyncDeviceColDefine(data) {
|
||||
return request({
|
||||
url: '/flow/deviceColDefine/syncDeviceColDefines',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
53
src/api/alarm/realtime.js
Normal file
53
src/api/alarm/realtime.js
Normal file
@ -0,0 +1,53 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取电站数据
|
||||
export function GetStationlist() {
|
||||
return request({
|
||||
url: '/business/station/all',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取实时告警数据
|
||||
export function GetAlarmList(data) {
|
||||
return request({
|
||||
url: '/flow/event/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取实时告警历史数据
|
||||
export function GetAlarmHistoryList(data) {
|
||||
return request({
|
||||
url: '/flow/event/hispage',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 确认告警
|
||||
export function SetAlarmConfirm(ids) {
|
||||
return request({
|
||||
url: '/flow/event/confirm',
|
||||
method: 'put',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
// 转工单
|
||||
export function TransferOrder(ids) {
|
||||
return request({
|
||||
url: '/business/event/conversion',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
// 手动转工单
|
||||
export function TransMovement(data) {
|
||||
return request({
|
||||
url: '/flow/processFlowNew/movement',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
147
src/api/common-screen/index.js
Normal file
147
src/api/common-screen/index.js
Normal file
@ -0,0 +1,147 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取系统转换率
|
||||
export function GetEfficiencyDate(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonEfficiencyDate',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电站区域分布
|
||||
export function GetRegionalDistribution(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonRegionalDistribution',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 电站收益率排名
|
||||
export function GetRegionalIncomeDate(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonIncomeList',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
// 告警
|
||||
export function GetRealTimeAlarm(data) {
|
||||
return request({
|
||||
url: '/flow/event/realTimeAlarm',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电站信息
|
||||
export function GetStationInfo(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonStationInfo',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 日充日放对比图
|
||||
export function GetChargeDailyChart(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonChargeDailyChart',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 总览
|
||||
export function GetOverviewData(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonOverviewData',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 天气
|
||||
export function GetNewWeather(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/newWeather',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function GetCapacity(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonCapacity',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function GetIncomeCurve(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonIncomeCurve',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function GetEnergySaving(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCommonEnergySaving',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: {
|
||||
isScreen: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 节能减排
|
||||
export function GetQTEnergySaving(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getEnergySaving',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 告警及正常设备统计
|
||||
export function GeteventDeviceNum(data) {
|
||||
return request({
|
||||
url: '/flow/event/eventDeviceNum',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
76
src/api/dynamicPolicy/index.js
Normal file
76
src/api/dynamicPolicy/index.js
Normal file
@ -0,0 +1,76 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 策略对比默认参数获取接口
|
||||
export function GetParameters(data) {
|
||||
return request({
|
||||
url: '/business/strategyComparison/getParameters',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 2、获取电价曲线
|
||||
export function GetElecPrice(data) {
|
||||
return request({
|
||||
url: '/business/strategyComparison/elecPrice',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 2、获取默认曲线
|
||||
export function GetDefaultCurve(data) {
|
||||
return request({
|
||||
url: '/business/strategyComparison/defaultCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 3、策略生成
|
||||
export function PolicyGenerationCurve(data) {
|
||||
return request({
|
||||
url: '/business/strategyComparison/policyGenerationCurve',
|
||||
method: 'post',
|
||||
timeout: 1000 * 20,
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 4、策略托管
|
||||
export function PolicyHosting(data) {
|
||||
return request({
|
||||
url: '/business/strategyComparison/hosting',
|
||||
method: 'post',
|
||||
timeout: 1000 * 20,
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 收益复盘
|
||||
export function EarningsReview(data) {
|
||||
return request({
|
||||
url: '/business/strategyEarnings/earningsReview',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 取消策略托管
|
||||
export function PolicyUnHosting(data) {
|
||||
return request({
|
||||
url: '/business/strategyComparison/unHosting',
|
||||
method: 'post',
|
||||
timeout: 1000 * 20,
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 策略复盘曲线
|
||||
export function StrategyReviewCurve(data) {
|
||||
return request({
|
||||
url: '/business/strategyEarnings/strategyReviewCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
79
src/api/file/index.js
Normal file
79
src/api/file/index.js
Normal file
@ -0,0 +1,79 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 文件读取
|
||||
export function GetReadFileAttribute(data) {
|
||||
return request({
|
||||
url: '/media/file/readFileAttribute',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 文件上传
|
||||
export function fileUploadForDevice(data) {
|
||||
return request({
|
||||
url: '/media/file/fileUploadForDevice',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 文件下载
|
||||
export function downloadFromDevice(data) {
|
||||
return request({
|
||||
url: '/media/file/downloadFromDevice',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 文件下载进度
|
||||
export function downloadProgressBar(data) {
|
||||
return request({
|
||||
url: '/media/file/downloadProgressBar',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 文件删除
|
||||
export function deleteDeviceFiles(data) {
|
||||
return request({
|
||||
url: '/media/file/deleteDeviceFiles',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 文件下发
|
||||
export function SetFileIssued(data) {
|
||||
return request({
|
||||
url: '/media/file/fileIssued',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 文件下发进度
|
||||
export function IssuedProgressBar(data) {
|
||||
return request({
|
||||
url: '/media/file/progressBar',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 文件权限变化
|
||||
export function ChangePermission(data) {
|
||||
return request({
|
||||
url: '/media/file/chargeFilePermission',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改文件权限下发进度
|
||||
export function GetChangePermissionBar(data) {
|
||||
return request({
|
||||
url: '/media/file/chargeFilePermissionProgressBar',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
302
src/api/home-page/index.js
Normal file
302
src/api/home-page/index.js
Normal file
@ -0,0 +1,302 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 充放电量
|
||||
export function GetElecData(data) {
|
||||
return request({
|
||||
url: '/business/openStation/elecData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 电站信息
|
||||
export function GetPcsStationData(data) {
|
||||
return request({
|
||||
url: '/business/openStation/pcsStationData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 数据总览
|
||||
export function GetPcsTotalData(data) {
|
||||
return request({
|
||||
url: '/business/openStation/pcsTotalData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 实时曲线
|
||||
export function GetRealtimeCurve(data) {
|
||||
return request({
|
||||
url: '/business/openStation/realtimeCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 状态监控
|
||||
export function GetOpenStationMiddle(data) {
|
||||
return request({
|
||||
url: '/business/openStation/middle',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 状态监控
|
||||
export function GetOpenStationMiddlePart(data) {
|
||||
return request({
|
||||
url: '/business/openStation/middlePart',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 环控数据
|
||||
export function GetCircleCtr(data) {
|
||||
return request({
|
||||
url: '/business/openStation/circleCtr',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 收益曲线
|
||||
export function GetIncomeData(data) {
|
||||
return request({
|
||||
url: '/business/openStation/incomeData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 215kw累计充放电
|
||||
export function GetPCSElecData(data) {
|
||||
return request({
|
||||
url: '/business/openStation/getPCSElecData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询空调
|
||||
export function GetAirConfig(data) {
|
||||
return request({
|
||||
url: '/business/common/getAirCondition',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询总有功功率
|
||||
export function GetMiddleActive(data) {
|
||||
return request({
|
||||
url: '/business/xinFengMing/middlePart',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// /xfm
|
||||
// 增加充放电量时间设定
|
||||
export function addElecMeterConfig(data) {
|
||||
return request({
|
||||
url: '/business/xinFengMing/addElecMeterConfig',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 查询充放电量时间设定
|
||||
export function queryElecMeterConfig(data) {
|
||||
return request({
|
||||
url: '/business/xinFengMing/queryElecMeterConfig',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 更新充放电量时间设定
|
||||
export function updateElecMeterConfig(data) {
|
||||
return request({
|
||||
url: '/business/xinFengMing/updateElecMeterConfig',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 三合一总功率
|
||||
export function GetTotalPower(data) {
|
||||
return request({
|
||||
url: '/business/common/middlePart',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetMiddlePartInverter(data) {
|
||||
return request({
|
||||
url: '/business/openStation/middlePartInverter',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 中自环保
|
||||
export function GetZJHBStatus(data) {
|
||||
return request({
|
||||
url: '/business/zhongZiHuanBao/status',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 济宁微山湖
|
||||
export function GetWSHStatus(data) {
|
||||
return request({
|
||||
url: '/business/weiShanHu/status',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电表
|
||||
export function GetgetElec(data) {
|
||||
return request({
|
||||
url: '/business/common/getElec',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 光伏并网
|
||||
export function GetPVElec(data) {
|
||||
return request({
|
||||
url: 'business/common/getPVElec',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 横沥103光伏
|
||||
export function GetOpticalStorage(data) {
|
||||
return request({
|
||||
url: 'business/common/getOpticalStorage',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 横沥电表
|
||||
export function GetHLEleMeter(data) {
|
||||
return request({
|
||||
url: '/business/common/getEleMeter',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 批量增加曲线配置信息
|
||||
export function AddCurveList(data) {
|
||||
return request({
|
||||
url: '/business/dynamicConfig/addCurveList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 删除曲线
|
||||
export function DelDynamicConfigTitle(data) {
|
||||
return request({
|
||||
url: '/business/dynamicConfig/delDynamicConfigTitle',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 批量增加曲线配置信息
|
||||
export function GetDynamicRealtimeCurve(data) {
|
||||
return request({
|
||||
url: '/business/openStation/dynamicRealtimeCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询曲线配置信息
|
||||
export function GetCurveConfig(data) {
|
||||
return request({
|
||||
url: '/business/dynamicConfig/queryCurveConfig',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 批量增加点配置信息
|
||||
export function AddPointList(data) {
|
||||
return request({
|
||||
url: '/business/dynamicConfig/addPointList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 批量增加点配置信息
|
||||
export function GetPointConfig(data) {
|
||||
return request({
|
||||
url: '/business/dynamicConfig/pointList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 批量增加点配置信息
|
||||
export function DynamicConfigPoint(data) {
|
||||
return request({
|
||||
url: '/business/dynamicConfig/pointListData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电站收益
|
||||
export function GetEarnings(data) {
|
||||
return request({
|
||||
url: 'business/openStation/getEarnings',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取品胜
|
||||
export function GetPinShengStatus(data) {
|
||||
return request({
|
||||
url: 'business/pinSheng/status',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 保存srcid
|
||||
export function SaveSrcId(data) {
|
||||
return request({
|
||||
url: 'business/topologyJumpConfig/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取srcid
|
||||
export function GetSrcId(data) {
|
||||
return request({
|
||||
url: 'business/topologyJumpConfig/list',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 配置数据来源
|
||||
export function SetDataConfig(data) {
|
||||
return request({
|
||||
url: 'business/singapore/setPoint',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
78
src/api/homePage-integrated/index.js
Normal file
78
src/api/homePage-integrated/index.js
Normal file
@ -0,0 +1,78 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 空调
|
||||
// export function GetAirCondition(data) {
|
||||
// return request({
|
||||
// url: '/business/bozhou/airCondition',
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
// 电站数据
|
||||
export function GetbozhouStationData(data) {
|
||||
return request({
|
||||
url: '/business/bozhou/stationData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 拓扑数据
|
||||
export function GetbozhouTuopuStatus(data) {
|
||||
return request({
|
||||
url: 'business/bozhou/status',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 瑞安汽车数据总览
|
||||
export function GetRAPcsTotalData(data) {
|
||||
return request({
|
||||
url: '/business/openStation/getPcsTotalData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetShanghaiKJYAirData(data) {
|
||||
return request({
|
||||
url: 'business/common/commonAirCondition',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 晶科
|
||||
export function GetJKStatus(data) {
|
||||
return request({
|
||||
url: '/business/jingke/status',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetWSHday(data) {
|
||||
return request({
|
||||
url: '/business/weiShanHu/getStationData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetZZHBday(data) {
|
||||
return request({
|
||||
url: '/business/zhongZiHuanBao/getStationData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 横沥103
|
||||
export function GetHengli(data) {
|
||||
return request({
|
||||
url: '/business/openStation/getStationData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
135
src/api/monitor/integrated-cabinet.js
Normal file
135
src/api/monitor/integrated-cabinet.js
Normal file
@ -0,0 +1,135 @@
|
||||
import request from '@/utils/request'
|
||||
// 获取一体柜信息
|
||||
export function GetPointList(data = {}) {
|
||||
return request({
|
||||
url: '/business/point/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 获取一体柜设备类型
|
||||
export function GetFindIntegratedCabinets(data) {
|
||||
return request({
|
||||
url: '/business/point/treeDevices',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 获取一体柜sn类型
|
||||
export function GetSNBystationId(data) {
|
||||
return request({
|
||||
url: '/business/point/getSN',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// shuaxin
|
||||
export function GetObjById(data) {
|
||||
return request({
|
||||
url: '/business/point/updateOne',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 下发
|
||||
export function SetOrderIssued(data) {
|
||||
return request({
|
||||
url: '/media/orderSend/orderIssued',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 指令下发
|
||||
export function GetOrderProgressBar(data) {
|
||||
return request({
|
||||
url: '/media/orderSend/progressBar',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 指令下发
|
||||
export function GetHeartbeat(data) {
|
||||
return request({
|
||||
url: '/media/heartbeatCheck/getHeartbeat',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 设备下发,批量下发
|
||||
export function FileUploadForDeviceList(data) {
|
||||
return request({
|
||||
url: '/media/file/fileUploadForDeviceList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getNewDevice(data) {
|
||||
return request({
|
||||
url: '/business/device/treeDevices',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function beforeOrderSend(data) {
|
||||
return request({
|
||||
url: 'business/point/beforeOrderSend',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增用户习惯
|
||||
export function addUserHabit(data) {
|
||||
return request({
|
||||
url: '/business/point/addUserHabit',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询用户习惯
|
||||
export function getUserHabit(data) {
|
||||
return request({
|
||||
url: '/business/point/queryUserHabit',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 更新用户习惯
|
||||
export function updataUserHabit(data) {
|
||||
return request({
|
||||
url: '/business/point/updateUserHabit',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 电表数据展示
|
||||
export function GetPointDataShow(data) {
|
||||
return request({
|
||||
url: '/business/point/pointDataShow',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增取代点
|
||||
export function AddSubstiutionValuePoint(data) {
|
||||
return request({
|
||||
url: '/business/substitutionValue/addPoint',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetSelectAllPoint(data) {
|
||||
return request({
|
||||
url: '/business/substitutionValue/selectAllPoint',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
74
src/api/operational-inspection/information.js
Normal file
74
src/api/operational-inspection/information.js
Normal file
@ -0,0 +1,74 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询信息列表
|
||||
export function GetInformationList(data) {
|
||||
return request({
|
||||
url: '/business/noteAndRepair/selectStationNote',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增信息
|
||||
export function AddInformation(data) {
|
||||
return request({
|
||||
url: '/business/noteAndRepair/addStationNote',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑信息
|
||||
export function EditInformation(data) {
|
||||
return request({
|
||||
url: '/business/noteAndRepair/updateStationNote',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除信息
|
||||
export function DelInformation(data) {
|
||||
return request({
|
||||
url: '/business/noteAndRepair/deleteStationNote',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询电站维修记录
|
||||
export function GetStationRepair(data) {
|
||||
return request({
|
||||
url: '/business/noteAndRepair/selectStationRepair',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增电站维修记录
|
||||
export function AddStationRepair(data) {
|
||||
return request({
|
||||
url: '/business/noteAndRepair/addStationRepair',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改电站维修记录
|
||||
export function UpdateStationRepair(data) {
|
||||
return request({
|
||||
url: '/business/noteAndRepair/updateStationRepair',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除电站维修记录
|
||||
export function DelStationRepair(data) {
|
||||
return request({
|
||||
url: '/business/noteAndRepair/deleteStationRepair',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
145
src/api/operational-inspection/inspection.js
Normal file
145
src/api/operational-inspection/inspection.js
Normal file
@ -0,0 +1,145 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询巡检模板列表
|
||||
export function GetTemList(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/selectInspectionTemplate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询五遥表测点
|
||||
export function GetColList(data) {
|
||||
return request({
|
||||
url: '/business/configure/configureTableData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增巡检模板
|
||||
export function AddTem(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/addInspectionTemplate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除巡检模板
|
||||
export function DelTem(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/deleteInspectionTemplate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 巡检模板详情
|
||||
export function DetailTem(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/selectInspectionTemplateDetail',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 巡检模板详情
|
||||
export function UpdateTem(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/updateInspectionTemplate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询巡检报告列表
|
||||
export function InspectionList(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/selectInspectionReport',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 手动巡检
|
||||
export function MannualInspection(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/mannualInspection',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询故障列表
|
||||
export function GetSpectionFault(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/selectInspectionFault',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 巡检看板光字牌查询
|
||||
export function GetSpectionPanel(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/selectInspectionPanel',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取巡检看板故障状态饼图
|
||||
export function GetStatusChart(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/selectInspectionStatus',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取巡检看板故障类型柱状图
|
||||
export function GetTypeChart(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/selectInspectionType',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取巡检看板故障数量趋势图
|
||||
export function GetCountChart(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/selectInspectionCountCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除巡检报告
|
||||
export function DelReport(data) {
|
||||
return request({
|
||||
url: '/business/autoInspection/deleteInspectionReport',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询巡检相关未完成工单
|
||||
export function GetInspectionList(data) {
|
||||
return request({
|
||||
url: '/flow/processFlowNew/queryInspectionList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 上海MES文件查询
|
||||
export function GetMesFileList(data) {
|
||||
return request({
|
||||
url: '/business/outerApi/selectMesFile',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
37
src/api/operational-inspection/message.js
Normal file
37
src/api/operational-inspection/message.js
Normal file
@ -0,0 +1,37 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询消息
|
||||
export function GetMessage(data) {
|
||||
return request({
|
||||
url: '/business/messageInfo/selectMessageInfo',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增消息/修改消息
|
||||
export function AddMessage(data) {
|
||||
return request({
|
||||
url: '/business/messageInfo/modifyMessageInfo',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除消息
|
||||
export function DelMessage(data) {
|
||||
return request({
|
||||
url: '/business/messageInfo/deleteMessage',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 已读消息
|
||||
export function UpdateMessageStatus(data) {
|
||||
return request({
|
||||
url: '/business/messageInfo/updateMessageReadStatus',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
30
src/api/revenue-management/earnings-statement.js
Normal file
30
src/api/revenue-management/earnings-statement.js
Normal file
@ -0,0 +1,30 @@
|
||||
import request from '@/utils/request'
|
||||
/** 获取月发电量报表 */
|
||||
|
||||
export function GetTotal(data) {
|
||||
return request({
|
||||
url: '/business/earningsCalculate/getTotal',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 查询一键重算 */
|
||||
|
||||
export function OneKeyComputation(data) {
|
||||
return request({
|
||||
url: '/business/earningsCalculate/oneKeyComputation',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 确认一键重算 */
|
||||
|
||||
export function SureOneKeyComputation(data) {
|
||||
return request({
|
||||
url: '/business/earningsCalculate/getOneKeyComputationProgress',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
65
src/api/revenue-management/price-configuration.js
Normal file
65
src/api/revenue-management/price-configuration.js
Normal file
@ -0,0 +1,65 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/** 查询所有电价曲线模板 */
|
||||
export function GetElecPriceCurveAll(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/all',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 查询单个电价曲线模板 */
|
||||
export function GetElecPriceCurveOne(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/one',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 新增电价曲线模板 */
|
||||
export function AddElecPriceCurveOne(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 修改电价曲线模板 */
|
||||
export function UpdateElecPriceCurveOne(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 修改电价曲线模板 */
|
||||
export function DeletePriceCurveOne(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/deleted',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 批量删除电价曲线模板 */
|
||||
export function DeletePriceCurve(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/batchDelete',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 模板查询电价 */
|
||||
export function AddSearch(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/addSearch',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
52
src/api/revenue-management/proxy-price-region.js
Normal file
52
src/api/revenue-management/proxy-price-region.js
Normal file
@ -0,0 +1,52 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/** 查询所有代理电价区域-分页*/
|
||||
export function GetIndustrialElecRegionPage(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecRegion/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
/** 查询所有代理电价区域-列表*/
|
||||
export function GetIndustrialElecRegionList(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecRegion/list',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
/** 新增代理电价区域*/
|
||||
export function AddIndustrialElecRegion(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecRegion/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 编辑代理电价区域*/
|
||||
export function EditIndustrialElecRegion(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecRegion/updateById',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 删除代理电价区域*/
|
||||
export function DeleteIndustrialElecRegion(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecRegion/deleteById',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 详情代理电价区域*/
|
||||
export function GetIndustrialElecRegionDetail(id) {
|
||||
return request({
|
||||
url: `/business/industrialElecRegion/findById/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
84
src/api/revenue-management/proxy-price.js
Normal file
84
src/api/revenue-management/proxy-price.js
Normal file
@ -0,0 +1,84 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/** 查询所有代理电价-分页*/
|
||||
export function GetIndustrialElecPricePage(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecPrice/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 新增代理电价*/
|
||||
export function AddIndustrialElecPrice(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecPrice/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 编辑代理电价*/
|
||||
export function EditIndustrialElecPrice(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecPrice/updateById',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 删除代理电价*/
|
||||
export function DeleteIndustrialElecPrice(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecPrice/deleteById',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 详情代理电价*/
|
||||
export function GetIndustrialElecPriceDetail(id) {
|
||||
return request({
|
||||
url: `/business/industrialElecPrice/findById/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询峰谷电差价折线图/表格
|
||||
* */
|
||||
export function GetMaxPriceDiffById(id) {
|
||||
return request({
|
||||
url: `/business/industrialElecPrice/getMaxPriceDiffById/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询分时电价折线图
|
||||
* */
|
||||
export function GetTouLineById(id) {
|
||||
return request({
|
||||
url: `/business/industrialElecPrice/getTouLineById/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询分时电价历史数据图表/表格
|
||||
* */
|
||||
export function GetTouLineHistoryById(id) {
|
||||
return request({
|
||||
url: `/business/industrialElecPrice/getTouLineHistoryById/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/** 根据地址详情获取用电部制/分类、区域id获取电压等级、客户类型*/
|
||||
export function GetAddressResolution(data) {
|
||||
return request({
|
||||
url: '/business/industrialElecRegion/addressResolution',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
98
src/api/screen/index.js
Normal file
98
src/api/screen/index.js
Normal file
@ -0,0 +1,98 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取系统转换率
|
||||
export function GetEfficiencyDate(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/efficiencyDate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电站区域分布
|
||||
export function GetRegionalDistribution(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/regionalDistribution',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 电站收益率排名
|
||||
export function GetRegionalIncomeDate(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/incomeDate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电站信息
|
||||
export function GetStationInfo(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/stationInfo',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 日充日放对比图
|
||||
export function GetChargeDailyChart(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/chargeDailyChart',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 总览
|
||||
export function GetOverviewData(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/overviewData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 天气
|
||||
export function GetNewWeather(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/newWeather',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetCapacity(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getCapacity',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetIncomeCurve(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getIncomeCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetEnergySaving(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getEnergySaving',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新加坡柴发
|
||||
export function GetElecData(data) {
|
||||
return request({
|
||||
url: '/business/singapore/getElecData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
96
src/api/screen/zzScreen.js
Normal file
96
src/api/screen/zzScreen.js
Normal file
@ -0,0 +1,96 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 中自根据电站Id查询所属组织机构返回
|
||||
export function GetDeptIdByStationId(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getByStationId',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 获取系统转换率
|
||||
export function GetEfficiencyDate(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiEfficiencyDate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电站区域分布
|
||||
export function GetRegionalDistribution(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiDistribution',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 电站收益率排名
|
||||
export function GetRegionalIncomeDate(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiIncomeList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取电站信息
|
||||
export function GetStationInfo(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiStationInfo',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 日充日放对比图
|
||||
export function GetChargeDailyChart(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiChargeDailyChart',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 总览
|
||||
export function GetOverviewData(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiOverviewData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 天气
|
||||
export function GetNewWeather(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/newWeather',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 装机容量
|
||||
export function GetCapacity(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiCapacity',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 收益曲线
|
||||
export function GetIncomeCurve(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiIncomeCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 节能减排
|
||||
export function GetEnergySaving(data) {
|
||||
return request({
|
||||
url: '/business/IargeScreenShow/getZhongZiEnergySaving',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
27
src/api/station/device.js
Normal file
27
src/api/station/device.js
Normal file
@ -0,0 +1,27 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取设备列表
|
||||
export function GetDeviceList(data) {
|
||||
return request({
|
||||
url: '/business/device/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 修改充电桩
|
||||
export function UpdateChargePile(data) {
|
||||
return request({
|
||||
url: '/business/chargePile/updateChargePile',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 新增设备模型关联字段接口
|
||||
export function GetDeviceTypeByStation(data) {
|
||||
return request({
|
||||
url: '/business/deviceConfig/queryListByStation',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
80
src/api/station/maintain.js
Normal file
80
src/api/station/maintain.js
Normal file
@ -0,0 +1,80 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取电站列表
|
||||
export function GetStationlist(data) {
|
||||
return request({
|
||||
url: '/business/station/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 获取电站类型数据
|
||||
export function GetStationType() {
|
||||
return request({
|
||||
url: '/business/station',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
// 电站新增
|
||||
export function AddStation(data) {
|
||||
return request({
|
||||
url: '/business/station/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 更新电站
|
||||
export function UpdateStation(data) {
|
||||
return request({
|
||||
url: '/business/station/update',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 删除电站
|
||||
export function DeleteStation(data) {
|
||||
return request({
|
||||
url: '/business/station/id',
|
||||
method: 'delete',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 根据id查询电站
|
||||
export function GetStationById(id) {
|
||||
return request({
|
||||
url: '/business/station/' + id,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
// 查询所有的电站
|
||||
export function getProvinceStation(data) {
|
||||
return request({
|
||||
url: '/business/station/nationStation',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 配置首页
|
||||
export function dashboardSave(data) {
|
||||
return request({
|
||||
url: '/business/homeConfig/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取配置首页信息
|
||||
export function getDashboard(id) {
|
||||
return request({
|
||||
url: `/business/homeConfig/${id}`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function GetLogo(id) {
|
||||
return request({
|
||||
url: `business/station/getLogo/${id}`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
37
src/api/strategic-management/chronological-control.js
Normal file
37
src/api/strategic-management/chronological-control.js
Normal file
@ -0,0 +1,37 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询一键顺控配置值
|
||||
export function GetControlList(data) {
|
||||
return request({
|
||||
url: '/business/oneClickSequentialControl/groupList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增一键顺控配置值
|
||||
export function AddControl(data) {
|
||||
return request({
|
||||
url: '/business/oneClickSequentialControl/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除一键顺控配置值
|
||||
export function DeleteControlCol(data) {
|
||||
return request({
|
||||
url: '/business/oneClickSequentialControl/delete',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 更新一键顺控配置值
|
||||
export function UpdataControlCol(data) {
|
||||
return request({
|
||||
url: '/business/oneClickSequentialControl/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
55
src/api/strategic-management/electricity-curve.js
Normal file
55
src/api/strategic-management/electricity-curve.js
Normal file
@ -0,0 +1,55 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 新增电价曲线模板
|
||||
export function addCurveTemp(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 批量删除电价曲线模板
|
||||
export function batchDeleteCurveTemp(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/batchDelete',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询所有电价曲线模板
|
||||
export function getAllCurveTemp(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/all',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除电价曲线模板
|
||||
export function deletedCurveTemp(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/deleted',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询单个电价曲线模板
|
||||
export function getOneCurveTemp(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/one',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改电价曲线模板
|
||||
export function updateCurveTemp(data) {
|
||||
return request({
|
||||
url: '/business/elecPriceCurve/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
19
src/api/strategic-management/history-plan-curve.js
Normal file
19
src/api/strategic-management/history-plan-curve.js
Normal file
@ -0,0 +1,19 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取下发历史记录
|
||||
export function GetPlanCurveOperationList(data) {
|
||||
return request({
|
||||
url: '/business/planningIssue/getPlanCurveOperationList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取下发历史记录曲线
|
||||
export function GetPlanningCurveHistory(data) {
|
||||
return request({
|
||||
url: '/business/planningIssue/getPlanningCurveHistory',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
64
src/api/strategic-management/loadForecasting.js
Normal file
64
src/api/strategic-management/loadForecasting.js
Normal file
@ -0,0 +1,64 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询昨日负荷
|
||||
export function GetSysLoadList(data) {
|
||||
return request({
|
||||
url: '/business/customPlan/getSysLoadList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 保存上下限
|
||||
export function SaveUpperAndLower(data) {
|
||||
return request({
|
||||
url: '/business/customPlan/saveUpperAndLower',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取计划曲线的模板id
|
||||
export function GetTemId(data) {
|
||||
return request({
|
||||
url: '/business/customPlan/getTemId',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取计划曲线
|
||||
export function GetPlanCurve(data) {
|
||||
return request({
|
||||
url: '/business/planning/planningCurveTemplateDetail',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 生成计划曲线
|
||||
export function GeneratePlanCurve(data) {
|
||||
return request({
|
||||
url: '/business/customPlan/generatePlanCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取工况
|
||||
export function GetWorkConditionConfig(data) {
|
||||
return request({
|
||||
url: '/business/customPlan/getWorkConditionConfig',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取Soc
|
||||
export function GetUpperAndLower(data) {
|
||||
return request({
|
||||
url: '/business/customPlan/getUpperAndLower',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
64
src/api/strategic-management/plan-cure-configure.js
Normal file
64
src/api/strategic-management/plan-cure-configure.js
Normal file
@ -0,0 +1,64 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 策略列表查询
|
||||
export function getPlanningPolicys(data) {
|
||||
return request({
|
||||
url: '/business/policy/getPlanningPolicys',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 策略详情查询(详情按钮、编辑)
|
||||
export function getPlanningPolicyDetail4Modify(data) {
|
||||
return request({
|
||||
url: '/business/policy/getPlanningPolicyDetail4Modify',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增策略
|
||||
export function addPlanningPolicy(data) {
|
||||
return request({
|
||||
url: '/business/policy/addPlanningPolicy',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑策略
|
||||
export function modifyPlanningPolicy(data) {
|
||||
return request({
|
||||
url: '/business/policy/modifyPlanningPolicy',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除策略
|
||||
export function deletePlanningPolicy(data) {
|
||||
return request({
|
||||
url: '/business/policy/deletePlanningPolicy',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询策略优先级列表
|
||||
export function queryPolicyPriority(data) {
|
||||
return request({
|
||||
url: '/business/policy/queryPolicyPriority',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询策略类型列表
|
||||
export function queryPolicyTypes(data) {
|
||||
return request({
|
||||
url: '/business/policy/queryPolicyTypes',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
47
src/api/strategic-management/plan-curve-issue.js
Normal file
47
src/api/strategic-management/plan-curve-issue.js
Normal file
@ -0,0 +1,47 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询下发设备接口
|
||||
export function getIssueDevices(data) {
|
||||
return request({
|
||||
url: '/business/planningIssue/getIssueDevices',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询计划曲线模板接口
|
||||
export function getTemplate(data) {
|
||||
return request({
|
||||
url: '/business/planningIssue/getTemplate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询下发模型数据(取出data数据发给下发接口)
|
||||
export function getIssueDatas(data) {
|
||||
return request({
|
||||
url: '/business/planningIssue/getIssueDatas',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查看设备下发状态
|
||||
export function queryIssueStatus(data) {
|
||||
return request({
|
||||
url: '/business/planningIssue/queryIssueStatus',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查看设备下发状态
|
||||
export function insertIssueStatus(data) {
|
||||
return request({
|
||||
url: '/business/planningIssue/insertIssueStatus',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
73
src/api/strategic-management/plan-curve-strategic.js
Normal file
73
src/api/strategic-management/plan-curve-strategic.js
Normal file
@ -0,0 +1,73 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 策略列表查询
|
||||
export function GetPlanningTacticsList(data) {
|
||||
return request({
|
||||
url: '/business/planningTactics/list',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 策略查看详情
|
||||
export function GetPlanningTacticsDetail(data) {
|
||||
return request({
|
||||
url: '/business/planningTactics/details',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增 策略
|
||||
export function AddPlanningTactics(data) {
|
||||
return request({
|
||||
url: '/business/planningTactics/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改 策略
|
||||
export function ModifyPlanningTactics(data) {
|
||||
return request({
|
||||
url: '/business/planningTactics/modify',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除 策略
|
||||
export function DeletePlanningTactics(data) {
|
||||
return request({
|
||||
url: '/business/planningTactics/delete',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询下拉框数据
|
||||
export function GetPlanningCurveTemplates(data) {
|
||||
return request({
|
||||
url: '/business/planningTactics/getPlanningCurveTemplates',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 下发
|
||||
export function GetPlanCurveIssueData(data) {
|
||||
return request({
|
||||
url: '/business/planningIssue/getPlanCurveIssueData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 下发
|
||||
export function PlanningCurveFile(data) {
|
||||
return request({
|
||||
url: '/business/planning/planningCurveFile',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
55
src/api/strategic-management/plan-curve.js
Normal file
55
src/api/strategic-management/plan-curve.js
Normal file
@ -0,0 +1,55 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 计划曲线模板列表查询
|
||||
export function getPlanningCurveTemplates(data) {
|
||||
return request({
|
||||
url: '/business/planning/getPlanningCurveTemplates',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增模板
|
||||
export function addPlanningCurveTemplate(data) {
|
||||
return request({
|
||||
url: '/business/planning/addPlanningCurveTemplate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查看详情
|
||||
export function lookPlanningCurveTemplateDetail(data) {
|
||||
return request({
|
||||
url: '/business/planning/planningCurveTemplateDetail',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑模板
|
||||
export function modifyPlanningCurveTemplate(data) {
|
||||
return request({
|
||||
url: '/business/planning/modifyPlanningCurveTemplate',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除模板
|
||||
export function deletePlanningCurveTemplates(data) {
|
||||
return request({
|
||||
url: '/business/planning/deletePlanningCurveTemplates',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查看详情
|
||||
export function lookPlanningCurveTemplateChartData(data) {
|
||||
return request({
|
||||
url: '/business/planning/planningCurveTemplateChartData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
73
src/api/strategic-management/policyOverview.js
Normal file
73
src/api/strategic-management/policyOverview.js
Normal file
@ -0,0 +1,73 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 一键下发
|
||||
export function OneKeySend(data) {
|
||||
return request({
|
||||
url: '/business/tabSort/oneKeySend',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 一键顺控下发
|
||||
export function OneKeyControl(data) {
|
||||
return request({
|
||||
url: '/business/tabSort/oneKeyControl',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 一键顺控下发
|
||||
export function GetTabModel(data) {
|
||||
return request({
|
||||
url: '/business/tabSort/getTabModel',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 电芯电压/温度分布
|
||||
export function GetVolTemData(data) {
|
||||
return request({
|
||||
url: `/business/strategyOverview/cellVoltageAndTemperatureNum`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取实时告警数据
|
||||
export function GetAlarmList(data) {
|
||||
return request({
|
||||
url: '/flow/event/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取运行统计
|
||||
export function GetOperatingStatistic(data) {
|
||||
return request({
|
||||
url: '/business/strategyOverview/operatingStatistic2',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取默认值
|
||||
export function GetRealTimeDefaultValue(data) {
|
||||
return request({
|
||||
url: '/business/strategyOverview/defaultValue',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取实时曲线模板
|
||||
export function GetTemList(data) {
|
||||
return request({
|
||||
url: '/business/hisCurveRelate/pageSelectAll',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
37
src/api/strategic-management/quality.js
Normal file
37
src/api/strategic-management/quality.js
Normal file
@ -0,0 +1,37 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询七天品质点
|
||||
export function GetQualityList(data) {
|
||||
return request({
|
||||
url: '/business/substitutionValue/getQualityList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询品质点详情
|
||||
export function DetailQualityList(data) {
|
||||
return request({
|
||||
url: '/business/substitutionValue/selectSubstitutionList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 批量保存
|
||||
export function AddQualityList(data) {
|
||||
return request({
|
||||
url: '/business/substitutionValue/addList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改历史
|
||||
export function SaveHistory(data) {
|
||||
return request({
|
||||
url: '/business/point/modifyHistoryData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
277
src/api/strategic-management/strategy.js
Normal file
277
src/api/strategic-management/strategy.js
Normal file
@ -0,0 +1,277 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 策略查询--按日
|
||||
export function QueryPolicyConfigDay(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryPolicyConifgDay',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 策略查询--按月
|
||||
export function QueryPolicyConfigMonth(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryPolicyConifgMonth',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询方案下拉框
|
||||
export function QueryPlanList(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryPlanList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除方案
|
||||
export function DeletePlan(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/deletePlan',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 月下拉框查询接口(计划曲线模板+版本列表整合 用type类型区分)
|
||||
export function QueryPeakPolicyList(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryPeakPolicyList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 策略配置
|
||||
export function ConfigPolicy(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/policyConfig',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 策略配置
|
||||
export function SendTemplateFile(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/sendTemplateFile',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 策略配置
|
||||
export function GenerateNewPlan(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/generateNewPlan',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 查询节假日
|
||||
export function QueryHolidayList(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryHolidayList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 模板查询
|
||||
export function GetStrategyTemp(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryTemplates',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 模板详情
|
||||
export function GetTempDetail(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryTemplateDetail',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 模板曲线
|
||||
export function GetTempCurves(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryTemplateCurves',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 删除策略模板
|
||||
export function DeleteTemplate(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/delete',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑策略模板
|
||||
export function ModifyTemplate(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/modify',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增策略模板
|
||||
export function AddTemplate(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 单页面下发
|
||||
export function ToOneTabSend(data) {
|
||||
return request({
|
||||
url: '/business/tabSort/oneTabSend',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查看版本列表
|
||||
export function GetTempList(params) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/queryVersion',
|
||||
method: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
// 预览版本
|
||||
export function ShowVersion(params) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/showVersion',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
// 切换版本
|
||||
export function ChangeTamp(data) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/toggleVersion',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 页签
|
||||
// 查询页签列表
|
||||
export function QueryTabSortList(params) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/queryTabSortList',
|
||||
method: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 新增页签内容
|
||||
export function AddTabSort(data) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/addTabSort',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除页签内容
|
||||
export function DeleteTabSort(params) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/deleteTabSort',
|
||||
method: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
// 编辑页签内容
|
||||
export function EditTabSort(data) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/editTabSort',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 标签
|
||||
|
||||
export function QueryTabTagList(params) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/queryTabTagList',
|
||||
method: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function OperateTabTag(data) {
|
||||
return request({
|
||||
url: '/business/tabSortWeb/operateTabTag',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function GetPointList(data) {
|
||||
return request({
|
||||
url: '/business/point/getPointList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 模板查询
|
||||
export function GetStrategyTempTable(data) {
|
||||
return request({
|
||||
url: '/business/peakShaving/queryTableTemplates',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 工作模式
|
||||
export function SendPlanControl(data) {
|
||||
return request({
|
||||
url: `/business/tabSort/sendPlanControl`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 工作模式进度
|
||||
export function GetprogressBar(data) {
|
||||
return request({
|
||||
url: `/media/orderSend/progressBar`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 设置投退压板
|
||||
export function SetState(id, tabId) {
|
||||
return request({
|
||||
url: `/business/tabSortWeb/chooseState?tagId=${id}&tabId=${tabId}`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
// 策略总览-获取用户设置值
|
||||
export function GetUserSet() {
|
||||
return request({
|
||||
url: `/business/strategyOverview/getUserSet`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
// 策略总览-保存用户设置值
|
||||
export function SetUserSet(data) {
|
||||
return request({
|
||||
url: `/business/strategyOverview/setUserSet`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
74
src/api/surveillance/battery-analysis/index.js
Normal file
74
src/api/surveillance/battery-analysis/index.js
Normal file
@ -0,0 +1,74 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 根据id查询逆变器
|
||||
export function GetPointCurve(data) {
|
||||
return request({
|
||||
url: '/business/point/pointCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 查询列表数据
|
||||
export function GetPointTable(data) {
|
||||
return request({
|
||||
url: '/business/point/pointDataShowList',
|
||||
method: 'post',
|
||||
data,
|
||||
timeout: 1000 * 60 * 10
|
||||
})
|
||||
}
|
||||
|
||||
// 根据设备查询点表
|
||||
export function GetQueryPoint(data) {
|
||||
return request({
|
||||
url: '/business/point/queryPoint',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 根据设备查询点表
|
||||
export function GetQueryPointList(data) {
|
||||
return request({
|
||||
url: '/business/point/pointList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询虚拟设备点表
|
||||
export function GetVirtualQueryPoint(data) {
|
||||
return request({
|
||||
url: '/business/point/queryVirtualPoint',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增历史曲线字典模板
|
||||
export function TemplateAdd(data) {
|
||||
return request({
|
||||
url: '/business/hisCurveRelate/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询全部模板数据
|
||||
export function GetPageSelectAll(data) {
|
||||
return request({
|
||||
url: '/business/hisCurveRelate/pageSelectAll',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除模板
|
||||
export function DeleteTemplate(data) {
|
||||
return request({
|
||||
url: '/business/hisCurveRelate/delete',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
19
src/api/surveillance/charge-discharge-data/index.js
Normal file
19
src/api/surveillance/charge-discharge-data/index.js
Normal file
@ -0,0 +1,19 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询外侧充放电
|
||||
export function GetElecMeterList(data) {
|
||||
return request({
|
||||
url: '/business/openStation/getElecMeterList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询详情充放电
|
||||
export function GetElecMeterDetailList(data) {
|
||||
return request({
|
||||
url: '/business/openStation/getElecMeterDetailList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
36
src/api/surveillance/earnings-alance/index.js
Normal file
36
src/api/surveillance/earnings-alance/index.js
Normal file
@ -0,0 +1,36 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 充放电数据
|
||||
export function GetChargingAndDischarg(data) {
|
||||
return request({
|
||||
url: '/business/revenueOverview/chargingAndDischargingData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 投资收益
|
||||
export function GetIcone(data) {
|
||||
return request({
|
||||
url: '/business/revenueOverview/incomeFromInvestment',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 电价曲线
|
||||
export function GetelecPrice(data) {
|
||||
return request({
|
||||
url: `/business/revenueOverview/elecPrice?stationId=${data}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 收益曲线
|
||||
export function GetRevenueChart(data) {
|
||||
return request({
|
||||
url: '/business/revenueOverview/revenue',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
79
src/api/surveillance/energy-storage/index.js
Normal file
79
src/api/surveillance/energy-storage/index.js
Normal file
@ -0,0 +1,79 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询电站下的间隔
|
||||
export function GetInterval(data) {
|
||||
return request({
|
||||
url: '/business/device/getInterval',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 查询电站下的间隔
|
||||
export function GetTreeVirtualDevices(data) {
|
||||
return request({
|
||||
url: '/business/device/treeVirtualDevices',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询电站下的间隔(隐藏虚拟设备)
|
||||
export function GetNewTreeVirtualDevices(data) {
|
||||
return request({
|
||||
url: '/business/device/homePageTreeDevices',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 充放电曲线,近一年,按天
|
||||
export function GetChargeCurve(data) {
|
||||
return request({
|
||||
url: '/business/station/chargeCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 功率曲线
|
||||
export function GetPowerCurve(data) {
|
||||
return request({
|
||||
url: '/business/station/powerCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 左侧主面板
|
||||
export function GetLeftPanel(data) {
|
||||
return request({
|
||||
url: '/business/station/leftPanel',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 温度电压正太分布图
|
||||
export function getTempC(data) {
|
||||
return request({
|
||||
url: '/business/station/temperatureVoltageData',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 温度电压正太分布图
|
||||
export function getTemperatureHumidityCurve(data) {
|
||||
return request({
|
||||
url: '/business/station/temperatureHumidityCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 温度电压正太分布图
|
||||
export function GetAuxPowerCurve(data) {
|
||||
return request({
|
||||
url: '/business/station/auxPowerCurve',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user