This commit is contained in:
fengdong777
2023-04-29 14:25:40 +08:00
parent dd22b1021b
commit f2bac630c2
258 changed files with 33043 additions and 33974 deletions

View File

@@ -1,14 +1,14 @@
# http://editorconfig.org # http://editorconfig.org
root = true root = true
[*] [*]
charset = utf-8 charset = utf-8
indent_style = space indent_style = space
indent_size = 2 indent_size = 2
end_of_line = lf end_of_line = lf
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true
[*.md] [*.md]
insert_final_newline = false insert_final_newline = false
trim_trailing_whitespace = false trim_trailing_whitespace = false

View File

@@ -1,10 +1,11 @@
# just a flag # just a flag
ENV = 'development' ENV = 'development'
# base api # base api
VUE_APP_BASE_API = '/api' VUE_APP_BASE_API = '/api'
## 配置测试和本地开发时的 接口地址 ## 配置测试和本地开发时的 接口地址
##VUE_APP_URL = "http://26077a35f5.wicp.vip" ##VUE_APP_URL = "http://26077a35f5.wicp.vip"
VUE_APP_URL = "http://anrui.yyundong.com" # VUE_APP_URL = "http://anrui.yyundong.com"
##VUE_APP_URL = "http://1mn7264414.qicp.vip" ##VUE_APP_URL = "http://1mn7264414.qicp.vip"
VUE_APP_URL = "http://39.104.100.138:9112"

View File

@@ -1,9 +1,9 @@
# just a flag # just a flag
ENV = 'production' ENV = 'production'
# base api # base api
VUE_APP_BASE_API = '/api' VUE_APP_BASE_API = '/api'
## 配置 正式接口地址 ## 配置 正式接口地址
VUE_APP_URL = "http://120.46.131.15:8111" VUE_APP_URL = "http://192.168.3.183:9112"

View File

@@ -1,8 +1,8 @@
NODE_ENV = production NODE_ENV = production
# just a flag # just a flag
ENV = 'staging' ENV = 'staging'
# base api # base api
VUE_APP_BASE_API = '/stage-api' VUE_APP_BASE_API = '/stage-api'

View File

@@ -1,4 +1,4 @@
build/*.js build/*.js
src/assets src/assets
public public
dist dist

View File

@@ -1,199 +1,199 @@
module.exports = { module.exports = {
root: true, root: true,
parserOptions: { parserOptions: {
parser: 'babel-eslint', parser: 'babel-eslint',
sourceType: 'module' sourceType: 'module'
}, },
env: { env: {
browser: true, browser: true,
node: true, node: true,
es6: true, es6: true,
}, },
extends: ['plugin:vue/recommended', 'eslint:recommended'], extends: ['plugin:vue/recommended', 'eslint:recommended'],
// add your custom rules here // add your custom rules here
//it is base on https://github.com/vuejs/eslint-config-vue //it is base on https://github.com/vuejs/eslint-config-vue
rules: { rules: {
"vue/max-attributes-per-line": [2, { "vue/max-attributes-per-line": [2, {
"singleline": 10, "singleline": 10,
"multiline": { "multiline": {
"max": 1, "max": 1,
"allowFirstLine": false "allowFirstLine": false
} }
}], }],
"vue/singleline-html-element-content-newline": "off", "vue/singleline-html-element-content-newline": "off",
"vue/multiline-html-element-content-newline":"off", "vue/multiline-html-element-content-newline":"off",
"vue/name-property-casing": ["error", "PascalCase"], "vue/name-property-casing": ["error", "PascalCase"],
"vue/no-v-html": "off", "vue/no-v-html": "off",
'accessor-pairs': 2, 'accessor-pairs': 2,
'arrow-spacing': [2, { 'arrow-spacing': [2, {
'before': true, 'before': true,
'after': true 'after': true
}], }],
'block-spacing': [2, 'always'], 'block-spacing': [2, 'always'],
'brace-style': [2, '1tbs', { 'brace-style': [2, '1tbs', {
'allowSingleLine': true 'allowSingleLine': true
}], }],
'camelcase': [0, { 'camelcase': [0, {
'properties': 'always' 'properties': 'always'
}], }],
'comma-dangle': [2, 'never'], 'comma-dangle': [2, 'never'],
'comma-spacing': [2, { 'comma-spacing': [2, {
'before': false, 'before': false,
'after': true 'after': true
}], }],
'comma-style': [2, 'last'], 'comma-style': [2, 'last'],
'constructor-super': 2, 'constructor-super': 2,
'curly': [2, 'multi-line'], 'curly': [2, 'multi-line'],
'dot-location': [2, 'property'], 'dot-location': [2, 'property'],
'eol-last': 2, 'eol-last': 2,
'eqeqeq': ["error", "always", {"null": "ignore"}], 'eqeqeq': ["error", "always", {"null": "ignore"}],
'generator-star-spacing': [2, { 'generator-star-spacing': [2, {
'before': true, 'before': true,
'after': true 'after': true
}], }],
'handle-callback-err': [2, '^(err|error)$'], 'handle-callback-err': [2, '^(err|error)$'],
// 'indent': [2, 2, { // 'indent': [2, 2, {
// 'SwitchCase': 1 // 'SwitchCase': 1
// }], // }],
'indent': 'off', 'indent': 'off',
'jsx-quotes': [2, 'prefer-single'], 'jsx-quotes': [2, 'prefer-single'],
'key-spacing': [2, { 'key-spacing': [2, {
'beforeColon': false, 'beforeColon': false,
'afterColon': true 'afterColon': true
}], }],
'keyword-spacing': [2, { 'keyword-spacing': [2, {
'before': true, 'before': true,
'after': true 'after': true
}], }],
'new-cap': [2, { 'new-cap': [2, {
'newIsCap': true, 'newIsCap': true,
'capIsNew': false 'capIsNew': false
}], }],
'new-parens': 2, 'new-parens': 2,
'no-array-constructor': 2, 'no-array-constructor': 2,
'no-caller': 2, 'no-caller': 2,
'no-console': 'off', 'no-console': 'off',
'no-class-assign': 2, 'no-class-assign': 2,
'no-cond-assign': 2, 'no-cond-assign': 2,
'no-const-assign': 2, 'no-const-assign': 2,
'no-control-regex': 0, 'no-control-regex': 0,
'no-delete-var': 2, 'no-delete-var': 2,
'no-dupe-args': 2, 'no-dupe-args': 2,
'no-dupe-class-members': 2, 'no-dupe-class-members': 2,
'no-dupe-keys': 2, 'no-dupe-keys': 2,
'no-duplicate-case': 2, 'no-duplicate-case': 2,
'no-empty-character-class': 2, 'no-empty-character-class': 2,
'no-empty-pattern': 2, 'no-empty-pattern': 2,
'no-eval': 2, 'no-eval': 2,
'no-ex-assign': 2, 'no-ex-assign': 2,
'no-extend-native': 2, 'no-extend-native': 2,
'no-extra-bind': 2, 'no-extra-bind': 2,
'no-extra-boolean-cast': 2, 'no-extra-boolean-cast': 2,
'no-extra-parens': [2, 'functions'], 'no-extra-parens': [2, 'functions'],
'no-fallthrough': 2, 'no-fallthrough': 2,
'no-floating-decimal': 2, 'no-floating-decimal': 2,
'no-func-assign': 2, 'no-func-assign': 2,
'no-implied-eval': 2, 'no-implied-eval': 2,
'no-inner-declarations': [2, 'functions'], 'no-inner-declarations': [2, 'functions'],
'no-invalid-regexp': 2, 'no-invalid-regexp': 2,
'no-irregular-whitespace': 2, 'no-irregular-whitespace': 2,
'no-iterator': 2, 'no-iterator': 2,
'no-label-var': 2, 'no-label-var': 2,
'no-labels': [2, { 'no-labels': [2, {
'allowLoop': false, 'allowLoop': false,
'allowSwitch': false 'allowSwitch': false
}], }],
'no-lone-blocks': 2, 'no-lone-blocks': 2,
'no-mixed-spaces-and-tabs': 2, 'no-mixed-spaces-and-tabs': 2,
'no-multi-spaces': 2, 'no-multi-spaces': 2,
'no-multi-str': 2, 'no-multi-str': 2,
'no-multiple-empty-lines': [2, { 'no-multiple-empty-lines': [2, {
'max': 1 'max': 1
}], }],
'no-native-reassign': 2, 'no-native-reassign': 2,
'no-negated-in-lhs': 2, 'no-negated-in-lhs': 2,
'no-new-object': 2, 'no-new-object': 2,
'no-new-require': 2, 'no-new-require': 2,
'no-new-symbol': 2, 'no-new-symbol': 2,
'no-new-wrappers': 2, 'no-new-wrappers': 2,
'no-obj-calls': 2, 'no-obj-calls': 2,
'no-octal': 2, 'no-octal': 2,
'no-octal-escape': 2, 'no-octal-escape': 2,
'no-path-concat': 2, 'no-path-concat': 2,
'no-proto': 2, 'no-proto': 2,
'no-redeclare': 2, 'no-redeclare': 2,
'no-regex-spaces': 2, 'no-regex-spaces': 2,
'no-return-assign': [2, 'except-parens'], 'no-return-assign': [2, 'except-parens'],
'no-self-assign': 2, 'no-self-assign': 2,
'no-self-compare': 2, 'no-self-compare': 2,
'no-sequences': 2, 'no-sequences': 2,
'no-shadow-restricted-names': 2, 'no-shadow-restricted-names': 2,
'no-spaced-func': 2, 'no-spaced-func': 2,
'no-sparse-arrays': 2, 'no-sparse-arrays': 2,
'no-this-before-super': 2, 'no-this-before-super': 2,
'no-throw-literal': 2, 'no-throw-literal': 2,
'no-trailing-spaces': 2, 'no-trailing-spaces': 2,
'no-undef': 2, 'no-undef': 2,
'no-undef-init': 2, 'no-undef-init': 2,
'no-unexpected-multiline': 2, 'no-unexpected-multiline': 2,
'no-unmodified-loop-condition': 2, 'no-unmodified-loop-condition': 2,
'no-unneeded-ternary': [2, { 'no-unneeded-ternary': [2, {
'defaultAssignment': false 'defaultAssignment': false
}], }],
'no-unreachable': 2, 'no-unreachable': 2,
'no-unsafe-finally': 2, 'no-unsafe-finally': 2,
'no-unused-vars': [2, { 'no-unused-vars': [2, {
'vars': 'all', 'vars': 'all',
'args': 'none' 'args': 'none'
}], }],
'no-useless-call': 2, 'no-useless-call': 2,
'no-useless-computed-key': 2, 'no-useless-computed-key': 2,
'no-useless-constructor': 2, 'no-useless-constructor': 2,
'no-useless-escape': 0, 'no-useless-escape': 0,
'no-whitespace-before-property': 2, 'no-whitespace-before-property': 2,
'no-with': 2, 'no-with': 2,
'one-var': [2, { 'one-var': [2, {
'initialized': 'never' 'initialized': 'never'
}], }],
'operator-linebreak': [2, 'after', { 'operator-linebreak': [2, 'after', {
'overrides': { 'overrides': {
'?': 'before', '?': 'before',
':': 'before' ':': 'before'
} }
}], }],
'padded-blocks': [2, 'never'], 'padded-blocks': [2, 'never'],
'quotes': [2, 'single', { 'quotes': [2, 'single', {
'avoidEscape': true, 'avoidEscape': true,
'allowTemplateLiterals': true 'allowTemplateLiterals': true
}], }],
'semi': [2, 'never'], 'semi': [2, 'never'],
'semi-spacing': [2, { 'semi-spacing': [2, {
'before': false, 'before': false,
'after': true 'after': true
}], }],
'space-before-blocks': [2, 'always'], 'space-before-blocks': [2, 'always'],
'space-before-function-paren': [2, 'never'], 'space-before-function-paren': [2, 'never'],
'space-in-parens': [2, 'never'], 'space-in-parens': [2, 'never'],
'space-infix-ops': 2, 'space-infix-ops': 2,
'space-unary-ops': [2, { 'space-unary-ops': [2, {
'words': true, 'words': true,
'nonwords': false 'nonwords': false
}], }],
'spaced-comment': [2, 'always', { 'spaced-comment': [2, 'always', {
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
}], }],
'template-curly-spacing': [2, 'never'], 'template-curly-spacing': [2, 'never'],
'use-isnan': 2, 'use-isnan': 2,
'valid-typeof': 2, 'valid-typeof': 2,
'wrap-iife': [2, 'any'], 'wrap-iife': [2, 'any'],
'yield-star-spacing': [2, 'both'], 'yield-star-spacing': [2, 'both'],
'yoda': [2, 'never'], 'yoda': [2, 'never'],
'prefer-const': 2, 'prefer-const': 2,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'object-curly-spacing': [2, 'always', { 'object-curly-spacing': [2, 'always', {
objectsInObjects: false objectsInObjects: false
}], }],
'array-bracket-spacing': [2, 'never'] 'array-bracket-spacing': [2, 'never']
} }
} }

View File

@@ -1,16 +1,16 @@
.DS_Store .DS_Store
node_modules/ node_modules/
dist/ dist/
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
package-lock.json package-lock.json
tests/**/coverage/ tests/**/coverage/
# Editor directories and files # Editor directories and files
.idea .idea
.vscode .vscode
*.suo *.suo
*.ntvs* *.ntvs*
*.njsproj *.njsproj
*.sln *.sln

View File

@@ -1,28 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>anrui-system-ui</name> <name>anrui-system-ui</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>
<buildSpec> <buildSpec>
<buildCommand> <buildCommand>
<name>com.aptana.ide.core.unifiedBuilder</name> <name>com.aptana.ide.core.unifiedBuilder</name>
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
</buildSpec> </buildSpec>
<natures> <natures>
<nature>com.aptana.projects.webnature</nature> <nature>com.aptana.projects.webnature</nature>
</natures> </natures>
<filteredResources> <filteredResources>
<filter> <filter>
<id>1629107336958</id> <id>1629107336958</id>
<name></name> <name></name>
<type>26</type> <type>26</type>
<matcher> <matcher>
<id>org.eclipse.ui.ide.multiFilter</id> <id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments> <arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher> </matcher>
</filter> </filter>
</filteredResources> </filteredResources>
</projectDescription> </projectDescription>

View File

@@ -1,5 +1,5 @@
language: node_js language: node_js
node_js: 10 node_js: 10
script: npm run test script: npm run test
notifications: notifications:
email: false email: false

View File

@@ -1,21 +1,21 @@
MIT License MIT License
Copyright (c) 2017-present PanJiaChen Copyright (c) 2017-present PanJiaChen
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions: furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software. copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 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 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.

View File

@@ -1,90 +1,90 @@
# vue-admin-template # vue-admin-template
English | [简体中文](./README-zh.md) English | [简体中文](./README-zh.md)
> A minimal vue admin template with Element UI & axios & iconfont & permission control & lint > A minimal vue admin template with Element UI & axios & iconfont & permission control & lint
**Live demo:** http://panjiachen.github.io/vue-admin-template **Live demo:** http://panjiachen.github.io/vue-admin-template
**The current version is `v4.0+` build on `vue-cli`. If you want to use the old version , you can switch branch to [tag/3.11.0](https://github.com/PanJiaChen/vue-admin-template/tree/tag/3.11.0), it does not rely on `vue-cli`** **The current version is `v4.0+` build on `vue-cli`. If you want to use the old version , you can switch branch to [tag/3.11.0](https://github.com/PanJiaChen/vue-admin-template/tree/tag/3.11.0), it does not rely on `vue-cli`**
## Build Setup ## Build Setup
```bash ```bash
# clone the project # clone the project
git clone https://github.com/PanJiaChen/vue-admin-template.git git clone https://github.com/PanJiaChen/vue-admin-template.git
# enter the project directory # enter the project directory
cd vue-admin-template cd vue-admin-template
# install dependency # install dependency
npm install npm install
# develop # develop
npm run dev npm run dev
``` ```
This will automatically open http://localhost:9528 This will automatically open http://localhost:9528
## Build ## Build
```bash ```bash
# build for test environment # build for test environment
npm run build:stage npm run build:stage
# build for production environment # build for production environment
npm run build:prod npm run build:prod
``` ```
## Advanced ## Advanced
```bash ```bash
# preview the release environment effect # preview the release environment effect
npm run preview npm run preview
# preview the release environment effect + static resource analysis # preview the release environment effect + static resource analysis
npm run preview -- --report npm run preview -- --report
# code format check # code format check
npm run lint npm run lint
# code format check and auto fix # code format check and auto fix
npm run lint -- --fix npm run lint -- --fix
``` ```
Refer to [Documentation](https://panjiachen.github.io/vue-element-admin-site/guide/essentials/deploy.html) for more information Refer to [Documentation](https://panjiachen.github.io/vue-element-admin-site/guide/essentials/deploy.html) for more information
## Demo ## Demo
![demo](https://github.com/PanJiaChen/PanJiaChen.github.io/blob/master/images/demo.gif) ![demo](https://github.com/PanJiaChen/PanJiaChen.github.io/blob/master/images/demo.gif)
## Extra ## Extra
If you want router permission && generate menu by user roles , you can use this branch [permission-control](https://github.com/PanJiaChen/vue-admin-template/tree/permission-control) If you want router permission && generate menu by user roles , you can use this branch [permission-control](https://github.com/PanJiaChen/vue-admin-template/tree/permission-control)
For `typescript` version, you can use [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template) (Credits: [@Armour](https://github.com/Armour)) For `typescript` version, you can use [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template) (Credits: [@Armour](https://github.com/Armour))
## Related Project ## Related Project
- [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) - [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)
- [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) - [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin)
- [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template) - [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template)
- [awesome-project](https://github.com/PanJiaChen/vue-element-admin/issues/2312) - [awesome-project](https://github.com/PanJiaChen/vue-element-admin/issues/2312)
## Browsers support ## Browsers support
Modern browsers and Internet Explorer 10+. 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" />](http://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" />](http://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" />](http://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" />](http://godban.github.io/browsers-support-badges/)</br>Safari | | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://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" />](http://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" />](http://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" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| --------- | --------- | --------- | --------- | | --------- | --------- | --------- | --------- |
| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions | IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
## License ## License
[MIT](https://github.com/PanJiaChen/vue-admin-template/blob/master/LICENSE) license. [MIT](https://github.com/PanJiaChen/vue-admin-template/blob/master/LICENSE) license.
Copyright (c) 2017-present PanJiaChen Copyright (c) 2017-present PanJiaChen

View File

@@ -1,16 +1,16 @@
module.exports = { module.exports = {
/* presets: [ /* presets: [
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
'@vue/cli-plugin-babel/preset' '@vue/cli-plugin-babel/preset'
],*/ ],*/
presets: [ [ "@vue/app", { useBuiltIns: "entry" } ] ], presets: [ [ "@vue/app", { useBuiltIns: "entry" } ] ],
'env': { 'env': {
'development': { 'development': {
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require(). // 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. // 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 // https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html
'plugins': ['dynamic-import-node'] 'plugins': ['dynamic-import-node']
} }
} }
} }

View File

@@ -1,35 +1,35 @@
const { run } = require('runjs') const { run } = require('runjs')
const chalk = require('chalk') const chalk = require('chalk')
const config = require('../vue.config.js') const config = require('../vue.config.js')
const rawArgv = process.argv.slice(2) const rawArgv = process.argv.slice(2)
const args = rawArgv.join(' ') const args = rawArgv.join(' ')
if (process.env.npm_config_preview || rawArgv.includes('--preview')) { if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
const report = rawArgv.includes('--report') const report = rawArgv.includes('--report')
run(`vue-cli-service build ${args}`) run(`vue-cli-service build ${args}`)
const port = 9526 const port = 9526
const publicPath = config.publicPath const publicPath = config.publicPath
var connect = require('connect') var connect = require('connect')
var serveStatic = require('serve-static') var serveStatic = require('serve-static')
const app = connect() const app = connect()
app.use( app.use(
publicPath, publicPath,
serveStatic('./dist', { serveStatic('./dist', {
index: ['index.html', '/'] index: ['index.html', '/']
}) })
) )
app.listen(port, function () { app.listen(port, function () {
console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`)) console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
if (report) { if (report) {
console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`)) console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
} }
}) })
} else { } else {
run(`vue-cli-service build ${args}`) run(`vue-cli-service build ${args}`)
} }

View File

@@ -1,24 +1,24 @@
module.exports = { module.exports = {
moduleFileExtensions: ['js', 'jsx', 'json', 'vue'], moduleFileExtensions: ['js', 'jsx', 'json', 'vue'],
transform: { transform: {
'^.+\\.vue$': 'vue-jest', '^.+\\.vue$': 'vue-jest',
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$':
'jest-transform-stub', 'jest-transform-stub',
'^.+\\.jsx?$': 'babel-jest' '^.+\\.jsx?$': 'babel-jest'
}, },
moduleNameMapper: { moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1' '^@/(.*)$': '<rootDir>/src/$1'
}, },
snapshotSerializers: ['jest-serializer-vue'], snapshotSerializers: ['jest-serializer-vue'],
testMatch: [ testMatch: [
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)' '**/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}'], collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'],
coverageDirectory: '<rootDir>/tests/unit/coverage', coverageDirectory: '<rootDir>/tests/unit/coverage',
// 'collectCoverage': true, // 'collectCoverage': true,
'coverageReporters': [ 'coverageReporters': [
'lcov', 'lcov',
'text-summary' 'text-summary'
], ],
testURL: 'http://localhost/' testURL: 'http://localhost/'
} }

View File

@@ -1,9 +1,9 @@
{ {
"compilerOptions": { "compilerOptions": {
"baseUrl": "./", "baseUrl": "./",
"paths": { "paths": {
"@/*": ["src/*"] "@/*": ["src/*"]
} }
}, },
"exclude": ["node_modules", "dist"] "exclude": ["node_modules", "dist"]
} }

View File

@@ -1,57 +1,57 @@
const Mock = require('mockjs') const Mock = require('mockjs')
const { param2Obj } = require('./utils') const { param2Obj } = require('./utils')
const user = require('./user') const user = require('./user')
const table = require('./table') const table = require('./table')
const mocks = [ const mocks = [
...user, ...user,
...table ...table
] ]
// for front mock // for front mock
// please use it cautiously, it will redefine XMLHttpRequest, // please use it cautiously, it will redefine XMLHttpRequest,
// which will cause many of your third-party libraries to be invalidated(like progress event). // which will cause many of your third-party libraries to be invalidated(like progress event).
function mockXHR() { function mockXHR() {
// mock patch // mock patch
// https://github.com/nuysoft/Mock/issues/300 // https://github.com/nuysoft/Mock/issues/300
Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send
Mock.XHR.prototype.send = function() { Mock.XHR.prototype.send = function() {
if (this.custom.xhr) { if (this.custom.xhr) {
this.custom.xhr.withCredentials = this.withCredentials || false this.custom.xhr.withCredentials = this.withCredentials || false
if (this.responseType) { if (this.responseType) {
this.custom.xhr.responseType = this.responseType this.custom.xhr.responseType = this.responseType
} }
} }
this.proxy_send(...arguments) this.proxy_send(...arguments)
} }
function XHR2ExpressReqWrap(respond) { function XHR2ExpressReqWrap(respond) {
return function(options) { return function(options) {
let result = null let result = null
if (respond instanceof Function) { if (respond instanceof Function) {
const { body, type, url } = options const { body, type, url } = options
// https://expressjs.com/en/4x/api.html#req // https://expressjs.com/en/4x/api.html#req
result = respond({ result = respond({
method: type, method: type,
body: JSON.parse(body), body: JSON.parse(body),
query: param2Obj(url) query: param2Obj(url)
}) })
} else { } else {
result = respond result = respond
} }
return Mock.mock(result) return Mock.mock(result)
} }
} }
for (const i of mocks) { for (const i of mocks) {
Mock.mock(new RegExp(i.url), i.type || 'get', XHR2ExpressReqWrap(i.response)) Mock.mock(new RegExp(i.url), i.type || 'get', XHR2ExpressReqWrap(i.response))
} }
} }
module.exports = { module.exports = {
mocks, mocks,
mockXHR mockXHR
} }

View File

@@ -1,81 +1,81 @@
const chokidar = require('chokidar') const chokidar = require('chokidar')
const bodyParser = require('body-parser') const bodyParser = require('body-parser')
const chalk = require('chalk') const chalk = require('chalk')
const path = require('path') const path = require('path')
const Mock = require('mockjs') const Mock = require('mockjs')
const mockDir = path.join(process.cwd(), 'mock') const mockDir = path.join(process.cwd(), 'mock')
function registerRoutes(app) { function registerRoutes(app) {
let mockLastIndex let mockLastIndex
const { mocks } = require('./index.js') const { mocks } = require('./index.js')
const mocksForServer = mocks.map(route => { const mocksForServer = mocks.map(route => {
return responseFake(route.url, route.type, route.response) return responseFake(route.url, route.type, route.response)
}) })
for (const mock of mocksForServer) { for (const mock of mocksForServer) {
app[mock.type](mock.url, mock.response) app[mock.type](mock.url, mock.response)
mockLastIndex = app._router.stack.length mockLastIndex = app._router.stack.length
} }
const mockRoutesLength = Object.keys(mocksForServer).length const mockRoutesLength = Object.keys(mocksForServer).length
return { return {
mockRoutesLength: mockRoutesLength, mockRoutesLength: mockRoutesLength,
mockStartIndex: mockLastIndex - mockRoutesLength mockStartIndex: mockLastIndex - mockRoutesLength
} }
} }
function unregisterRoutes() { function unregisterRoutes() {
Object.keys(require.cache).forEach(i => { Object.keys(require.cache).forEach(i => {
if (i.includes(mockDir)) { if (i.includes(mockDir)) {
delete require.cache[require.resolve(i)] delete require.cache[require.resolve(i)]
} }
}) })
} }
// for mock server // for mock server
const responseFake = (url, type, respond) => { const responseFake = (url, type, respond) => {
return { return {
url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`), url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`),
type: type || 'get', type: type || 'get',
response(req, res) { response(req, res) {
console.log('request invoke:' + req.path) console.log('request invoke:' + req.path)
res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond)) res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond))
} }
} }
} }
module.exports = app => { module.exports = app => {
// parse app.body // parse app.body
// https://expressjs.com/en/4x/api.html#req.body // https://expressjs.com/en/4x/api.html#req.body
app.use(bodyParser.json()) app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ app.use(bodyParser.urlencoded({
extended: true extended: true
})) }))
const mockRoutes = registerRoutes(app) const mockRoutes = registerRoutes(app)
var mockRoutesLength = mockRoutes.mockRoutesLength var mockRoutesLength = mockRoutes.mockRoutesLength
var mockStartIndex = mockRoutes.mockStartIndex var mockStartIndex = mockRoutes.mockStartIndex
// watch files, hot reload mock server // watch files, hot reload mock server
chokidar.watch(mockDir, { chokidar.watch(mockDir, {
ignored: /mock-server/, ignored: /mock-server/,
ignoreInitial: true ignoreInitial: true
}).on('all', (event, path) => { }).on('all', (event, path) => {
if (event === 'change' || event === 'add') { if (event === 'change' || event === 'add') {
try { try {
// remove mock routes stack // remove mock routes stack
app._router.stack.splice(mockStartIndex, mockRoutesLength) app._router.stack.splice(mockStartIndex, mockRoutesLength)
// clear routes cache // clear routes cache
unregisterRoutes() unregisterRoutes()
const mockRoutes = registerRoutes(app) const mockRoutes = registerRoutes(app)
mockRoutesLength = mockRoutes.mockRoutesLength mockRoutesLength = mockRoutes.mockRoutesLength
mockStartIndex = mockRoutes.mockStartIndex mockStartIndex = mockRoutes.mockStartIndex
console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed ${path}`)) console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed ${path}`))
} catch (error) { } catch (error) {
console.log(chalk.redBright(error)) console.log(chalk.redBright(error))
} }
} }
}) })
} }

View File

@@ -1,29 +1,29 @@
const Mock = require('mockjs') const Mock = require('mockjs')
const data = Mock.mock({ const data = Mock.mock({
'items|30': [{ 'items|30': [{
id: '@id', id: '@id',
title: '@sentence(10, 20)', title: '@sentence(10, 20)',
'status|1': ['published', 'draft', 'deleted'], 'status|1': ['published', 'draft', 'deleted'],
author: 'name', author: 'name',
display_time: '@datetime', display_time: '@datetime',
pageviews: '@integer(300, 5000)' pageviews: '@integer(300, 5000)'
}] }]
}) })
module.exports = [ module.exports = [
{ {
url: '/vue-admin-template/table/list', url: '/vue-admin-template/table/list',
type: 'get', type: 'get',
response: config => { response: config => {
const items = data.items const items = data.items
return { return {
code: 20000, code: 20000,
data: { data: {
total: items.length, total: items.length,
items: items items: items
} }
} }
} }
} }
] ]

View File

@@ -1,84 +1,84 @@
const tokens = { const tokens = {
admin: { admin: {
token: 'admin-token' token: 'admin-token'
}, },
editor: { editor: {
token: 'editor-token' token: 'editor-token'
} }
} }
const users = { const users = {
'admin-token': { 'admin-token': {
roles: ['admin'], roles: ['admin'],
introduction: 'I am a super administrator', introduction: 'I am a super administrator',
avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
name: 'Super Admin' name: 'Super Admin'
}, },
'editor-token': { 'editor-token': {
roles: ['editor'], roles: ['editor'],
introduction: 'I am an editor', introduction: 'I am an editor',
avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
name: 'Normal Editor' name: 'Normal Editor'
} }
} }
module.exports = [ module.exports = [
// user login // user login
{ {
url: '/vue-admin-template/user/login', url: '/vue-admin-template/user/login',
type: 'post', type: 'post',
response: config => { response: config => {
const { username } = config.body const { username } = config.body
const token = tokens[username] const token = tokens[username]
// mock error // mock error
if (!token) { if (!token) {
return { return {
code: 60204, code: 60204,
message: 'Account and password are incorrect.' message: 'Account and password are incorrect.'
} }
} }
return { return {
code: 20000, code: 20000,
data: token data: token
} }
} }
}, },
// get user info // get user info
{ {
url: '/vue-admin-template/user/info\.*', url: '/vue-admin-template/user/info\.*',
type: 'get', type: 'get',
response: config => { response: config => {
const { token } = config.query const { token } = config.query
const info = users[token] const info = users[token]
// mock error // mock error
if (!info) { if (!info) {
return { return {
code: 50008, code: 50008,
message: 'Login failed, unable to get user details.' message: 'Login failed, unable to get user details.'
} }
} }
return { return {
code: 20000, code: 20000,
data: info data: info
} }
} }
}, },
// user logout // user logout
{ {
url: '/vue-admin-template/user/logout', url: '/vue-admin-template/user/logout',
type: 'post', type: 'post',
response: _ => { response: _ => {
return { return {
code: 20000, code: 20000,
data: 'success' data: 'success'
} }
} }
} }
] ]

View File

@@ -1,25 +1,25 @@
/** /**
* @param {string} url * @param {string} url
* @returns {Object} * @returns {Object}
*/ */
function param2Obj(url) { function param2Obj(url) {
const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
if (!search) { if (!search) {
return {} return {}
} }
const obj = {} const obj = {}
const searchArr = search.split('&') const searchArr = search.split('&')
searchArr.forEach(v => { searchArr.forEach(v => {
const index = v.indexOf('=') const index = v.indexOf('=')
if (index !== -1) { if (index !== -1) {
const name = v.substring(0, index) const name = v.substring(0, index)
const val = v.substring(index + 1, v.length) const val = v.substring(index + 1, v.length)
obj[name] = val obj[name] = val
} }
}) })
return obj return obj
} }
module.exports = { module.exports = {
param2Obj param2Obj
} }

View File

@@ -1,72 +1,72 @@
{ {
"name": "admin-template", "name": "admin-template",
"version": "4.4.0", "version": "4.4.0",
"description": "A vue admin template with Element UI & axios & iconfont & permission control & lint", "description": "A vue admin template with Element UI & axios & iconfont & permission control & lint",
"author": "Pan <panfree23@gmail.com>", "author": "Pan <panfree23@gmail.com>",
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build", "build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging", "build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
"lint": "eslint --ext .js,.vue src", "lint": "eslint --ext .js,.vue src",
"test:unit": "jest --clearCache && vue-cli-service test:unit", "test:unit": "jest --clearCache && vue-cli-service test:unit",
"test:ci": "npm run lint && npm run test:unit" "test:ci": "npm run lint && npm run test:unit"
}, },
"dependencies": { "dependencies": {
"axios": "0.18.1", "axios": "0.18.1",
"bpmn-js": "^9.2.2", "bpmn-js": "^9.2.2",
"core-js": "^3.19.3", "core-js": "^3.19.3",
"element-ui": "2.13.2", "element-ui": "2.13.2",
"js-cookie": "2.2.0", "js-cookie": "2.2.0",
"normalize.css": "7.0.0", "normalize.css": "7.0.0",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"path-to-regexp": "2.4.0", "path-to-regexp": "2.4.0",
"portfinder": "^1.0.21", "portfinder": "^1.0.21",
"qs": "^6.9.4", "qs": "^6.9.4",
"sass-resources-loader": "^2.1.1", "sass-resources-loader": "^2.1.1",
"viewerjs": "^1.9.0", "viewerjs": "^1.9.0",
"vue": "2.6.10", "vue": "2.6.10",
"vue-amap": "^0.5.10", "vue-amap": "^0.5.10",
"vue-router": "3.0.6", "vue-router": "3.0.6",
"vuex": "3.1.0", "vuex": "3.1.0",
"vuex-persistedstate": "^4.0.0", "vuex-persistedstate": "^4.0.0",
"xcrud": "^0.4.19" "xcrud": "^0.4.19"
}, },
"devDependencies": { "devDependencies": {
"@vue/cli-plugin-babel": "4.4.4", "@vue/cli-plugin-babel": "4.4.4",
"@vue/cli-plugin-eslint": "4.4.4", "@vue/cli-plugin-eslint": "4.4.4",
"@vue/cli-plugin-unit-jest": "4.4.4", "@vue/cli-plugin-unit-jest": "4.4.4",
"@vue/cli-service": "4.4.4", "@vue/cli-service": "4.4.4",
"@vue/test-utils": "1.0.0-beta.29", "@vue/test-utils": "1.0.0-beta.29",
"autoprefixer": "9.5.1", "autoprefixer": "9.5.1",
"babel-eslint": "10.1.0", "babel-eslint": "10.1.0",
"babel-jest": "23.6.0", "babel-jest": "23.6.0",
"babel-plugin-dynamic-import-node": "2.3.3", "babel-plugin-dynamic-import-node": "2.3.3",
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",
"chalk": "2.4.2", "chalk": "2.4.2",
"connect": "3.6.6", "connect": "3.6.6",
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"eslint": "6.7.2", "eslint": "6.7.2",
"eslint-plugin-vue": "6.2.2", "eslint-plugin-vue": "6.2.2",
"html-webpack-plugin": "3.2.0", "html-webpack-plugin": "3.2.0",
"mockjs": "1.0.1-beta3", "mockjs": "1.0.1-beta3",
"runjs": "4.3.2", "runjs": "4.3.2",
"sass": "1.26.8", "sass": "1.26.8",
"sass-loader": "8.0.2", "sass-loader": "8.0.2",
"script-ext-html-webpack-plugin": "2.1.3", "script-ext-html-webpack-plugin": "2.1.3",
"serve-static": "1.13.2", "serve-static": "1.13.2",
"svg-sprite-loader": "4.1.3", "svg-sprite-loader": "4.1.3",
"svgo": "1.2.2", "svgo": "1.2.2",
"vue-template-compiler": "2.6.10" "vue-template-compiler": "2.6.10"
}, },
"browserslist": [ "browserslist": [
"> 1%", "> 1%",
"last 2 versions" "last 2 versions"
], ],
"engines": { "engines": {
"node": ">=8.9", "node": ">=8.9",
"npm": ">= 3.0.0" "npm": ">= 3.0.0"
}, },
"license": "MIT" "license": "MIT"
} }

View File

@@ -1,8 +1,8 @@
// https://github.com/michael-ciniawsky/postcss-load-config // https://github.com/michael-ciniawsky/postcss-load-config
module.exports = { module.exports = {
'plugins': { 'plugins': {
// to edit target browsers: use "browserslist" field in package.json // to edit target browsers: use "browserslist" field in package.json
'autoprefixer': {} 'autoprefixer': {}
} }
} }

View File

@@ -1,17 +1,17 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title> <title><%= webpackConfig.name %></title>
</head> </head>
<body> <body>
<noscript> <noscript>
<strong>We're sorry but <%= webpackConfig.name %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> <strong>We're sorry but <%= webpackConfig.name %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript> </noscript>
<div id="app"></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
</body> </body>
</html> </html>

View File

@@ -1,14 +1,14 @@
<template> <template>
<div id="app"> <div id="app">
<router-view /> <router-view />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'App', name: 'App',
mounted() { mounted() {
}, },
} }
</script> </script>

View File

@@ -1,30 +1,30 @@
import request from '@/utils/request' import request from '@/utils/request'
// 上传图片 // 上传图片
export function imageUpload(data){ export function imageUpload(data){
return request({ return request({
url: '/jlcyry/file/upload', url: '/jlcyry/file/upload',
method: 'post', method: 'post',
data, data,
headers:{'Content-Type':'multipart/form-data'} headers:{'Content-Type':'multipart/form-data'}
}) })
} }
// 移动端管理--新增上传插件 // 移动端管理--新增上传插件
export const uploadFile = '/api/portal/v1/appsubsetversion/save' export const uploadFile = '/api/portal/v1/appsubsetversion/save'
// 移动端管理--更新上传插件 // 移动端管理--更新上传插件
export const upload_UpdateFile = '/api/portal/v1/appsubsetversion/update' export const upload_UpdateFile = '/api/portal/v1/appsubsetversion/update'
// 移动端管理--框架更新上传插件 // 移动端管理--框架更新上传插件
export const upload_frameFile = '/api/portal/v1/appversion/save' export const upload_frameFile = '/api/portal/v1/appversion/save'
// 移动端管理--上传icon(图标) // 移动端管理--上传icon(图标)
export const uploadFileIcon = '/api/portal/file/upload' export const uploadFileIcon = '/api/portal/file/upload'
// 图片上传 // 图片上传
export const uploadImgFile = '/api/portal/file/upload' export const uploadImgFile = '/api/portal/file/upload'
// 移除图片 // 移除图片
export function deleteFilesOss(data) { export function deleteFilesOss(data) {
return request({ return request({
url: '/base/v1/baseVehicleAppendixs/deleteFilesOss', // data, url: '/base/v1/baseVehicleAppendixs/deleteFilesOss', // data,
method: 'post', method: 'post',
params: { fullPath: data } params: { fullPath: data }
}) })
} }

View File

@@ -1,25 +1,25 @@
import request from '@/utils/request' import request from '@/utils/request'
//区域获取省 //区域获取省
export function getProvince(data) { export function getProvince(data) {
return request({ return request({
url: '/system/region/getProvince', url: '/system/region/getProvince',
method: 'get' method: 'get'
}) })
} }
//根据省sid获取该省的所有市 //根据省sid获取该省的所有市
export function getCity(data) { export function getCity(data) {
return request({ return request({
url: '/system/region/getCity', url: '/system/region/getCity',
method: 'get', method: 'get',
params: data params: data
}) })
} }
//根据市sid获取该市的所有县区 //根据市sid获取该市的所有县区
export function getCounty(data) { export function getCounty(data) {
return request({ return request({
url: '/system/region/getCounty', url: '/system/region/getCounty',
method: 'get', method: 'get',
params: data params: data
}) })
} }

View File

@@ -1,54 +1,53 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
class user { class user {
login(data) { // 登录 login(data) { // 登录
return request({ return request({
url: '/system/user/login', url: '/system/user/login',
method: 'post', method: 'post',
data data
}) })
} }
logout(data) { // 退出
logout(data) { // 退出 return request({
return request({ url: '/portal/v1/sysuser/signOut',
url: '/portal/v1/sysuser/signOut', method: 'post',
method: 'post', data: qs.stringify(data)
data: qs.stringify(data) })
}) }
}
updatePassword(data) { // 退出修改密码
updatePassword(data) { // 退出修改密码 return request({
return request({ url: '/portal/v1/sysuser/updatePassword',
url: '/portal/v1/sysuser/updatePassword', method: 'post',
method: 'post', data: qs.stringify(data)
data: qs.stringify(data) })
}) }
}
reGetPwd(data) { //修改密码
reGetPwd(data) { return request({
return request({ url: '/portal/v1/sysuser/reGetPwd',
url: '/portal/v1/sysuser/reGetPwd', method: 'post',
method: 'post', params: data,
params: data, headers: {
headers: { 'Content-Type': 'application/x-www-form-urlencoded'
'Content-Type': 'application/x-www-form-urlencoded' }
} })
}) }
} selectPasswordByUserSid(data) {
selectPasswordByUserSid(data) { return request({
return request({ url: '/portal/v1/sysuser/selectPasswordByUserSid/' + data,
url: '/portal/v1/sysuser/selectPasswordByUserSid/' + data, method: 'get'
method: 'get' })
}) }
} getOrgListByUserSid(data) {
getOrgListByUserSid(data) { return request({
return request({ url: '/portal/v1/sysuser/getOrgListByUserSid',
url: '/portal/v1/sysuser/getOrgListByUserSid', method: 'get',
method: 'get', params: data
params: data })
}) }
} }
}
export default new user()
export default new user()

View File

@@ -1,37 +1,37 @@
import request from '@/utils/request' import request from '@/utils/request'
// 查看待阅和已阅列表 // 查看待阅和已阅列表
export function pagerList(data) { export function pagerList(data) {
return request({ return request({
url: '/message/v1/messagelist/todoAllReadList', url: '/message/v1/messagelist/todoAllReadList',
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 待阅列表--修改为已阅 // 待阅列表--修改为已阅
export function changeRead(data) { export function changeRead(data) {
return request({ return request({
url: '/message/v1/messagelist/changeRead?sids=' + data, url: '/message/v1/messagelist/changeRead?sids=' + data,
method: 'get' method: 'get'
}) })
} }
// 待阅列表--修改为已阅 // 待阅列表--修改为已阅
export function getToBeReadNum(data) { export function getToBeReadNum(data) {
return request({ return request({
url: '/message/v1/messagelist/getTodoNum/' + data, url: '/message/v1/messagelist/getTodoNum/' + data,
method: 'get' method: 'get'
}) })
} }
// 待办已办待阅已阅获取人员 // 待办已办待阅已阅获取人员
export function sysstaffinfo() { export function sysstaffinfo() {
return request({ return request({
url: '/portal/v1/sysstaffinfo/v1/sysstaffinfo/selectStaffLists', url: '/portal/v1/sysstaffinfo/v1/sysstaffinfo/selectStaffLists',
method: 'get' method: 'get'
}) })
} }

View File

@@ -1,133 +1,133 @@
import request from '@/utils/request' import request from '@/utils/request'
// 读取xml文件 // 读取xml文件
export function readXml(deployId, token) { export function readXml(deployId, token) {
return request({ return request({
url: '/portal/v1/flow/readXml/' + deployId, url: '/portal/v1/flow/readXml/' + deployId,
method: 'get', method: 'get',
params: token params: token
}) })
} }
// 读取image文件 // 读取image文件
export function getFlowViewer(procInsId, token) { export function getFlowViewer(procInsId, token) {
return request({ return request({
url: '/portal/v1/flow/flowViewer/' + procInsId, url: '/portal/v1/flow/flowViewer/' + procInsId,
method: 'get', method: 'get',
params: token params: token
}) })
} }
// 查看总代办列表 // 查看总代办列表
export function pagerList(params) { export function pagerList(params) {
return request({ return request({
url: '/portal/v1/flow/todoAllTaskList/' + params.params.userSid, url: '/portal/v1/flow/todoAllTaskList/' + params.params.userSid,
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 查看总已办列表 // 查看总已办列表
export function getList(params) { export function getList(params) {
return request({ return request({
url: '/portal/v1/flow/doneAllTaskList/' + params.params.userSid, url: '/portal/v1/flow/doneAllTaskList/' + params.params.userSid,
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 待办已办待阅已阅获取人员 // 待办已办待阅已阅获取人员
export function sysstaffinfo() { export function sysstaffinfo() {
return request({ return request({
url: '/portal/v1/sysstaffinfo/selectStaffLists', url: '/portal/v1/sysstaffinfo/selectStaffLists',
method: 'get' method: 'get'
}) })
} }
// 代办任务同意办理 // 代办任务同意办理
export function businessAgree(params) { export function businessAgree(params) {
return request({ return request({
url: '/portal/v1/flow/complete', url: '/portal/v1/flow/complete',
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 代办任务驳回任务 // 代办任务驳回任务
export function rejectTask(params) { export function rejectTask(params) {
return request({ return request({
url: '/portal/v1/flow/reject/' + params.businessSid, url: '/portal/v1/flow/reject/' + params.businessSid,
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 代办任务终止任务 // 代办任务终止任务
export function breakTask(params) { export function breakTask(params) {
return request({ return request({
url: '/portal/v1/flow/breakProcess/' + params.businessSid, url: '/portal/v1/flow/breakProcess/' + params.businessSid,
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 代办任务撤回任务 // 代办任务撤回任务
export function revokeTask(params) { export function revokeTask(params) {
return request({ return request({
url: '/portal/v1/flow/revokeProcess/' + params.userSid + '/' + params.businessSid, url: '/portal/v1/flow/revokeProcess/' + params.userSid + '/' + params.businessSid,
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 已办任务列表--终止 // 已办任务列表--终止
export function breakProcess(params) { export function breakProcess(params) {
return request({ return request({
url: '/flowable/v1/flow/breakProcess', url: '/flowable/v1/flow/breakProcess',
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 审批记录--保存评论 // 审批记录--保存评论
export function commentSave(data) { export function commentSave(data) {
return request({ return request({
url: '/flowable/v1/processcomment/save', url: '/flowable/v1/processcomment/save',
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 根据流程定义id节点id终端及类型查询流程与业务表单url // 根据流程定义id节点id终端及类型查询流程与业务表单url
export function selectUrl(params) { export function selectUrl(params) {
return request({ return request({
url: '/flowable/v1/flowable/proUrl/selectPcUrlByTaskDefKey', url: '/flowable/v1/flowable/proUrl/selectPcUrlByTaskDefKey',
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }

View File

@@ -1,24 +1,24 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
// 读取xml文件 // 读取xml文件
export function readXml (deployId) { export function readXml (deployId) {
return request({ return request({
url: '/portal/v1/flow/readXml/' + deployId, url: '/portal/v1/flow/readXml/' + deployId,
method: 'get' method: 'get'
}) })
} }
// 读取image文件 // 读取image文件
export function getFlowViewer (procInsId) { export function getFlowViewer (procInsId) {
return request({ return request({
url: '/portal/v1/flow/flowViewer/' + procInsId, url: '/portal/v1/flow/flowViewer/' + procInsId,
method: 'get' method: 'get'
}) })
} }
// 任务流转记录 // 任务流转记录
export function flowRecord(query) { export function flowRecord(query) {
return request({ return request({
url: '/portal/v1/flow/task/flowRecord/' + query.procInsId + "/" + query.deployId, url: '/portal/v1/flow/task/flowRecord/' + query.procInsId + "/" + query.deployId,
method: 'get', method: 'get',
params: query params: query
}) })
} }

View File

@@ -1,42 +1,42 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs'; import qs from 'qs';
class staffOrg { class staffOrg {
staffBingingList(data) { // 人员绑定审核列表 staffBingingList(data) { // 人员绑定审核列表
return request({ return request({
url: '/jlcyry/staffOrg/staffBingingList', url: '/jlcyry/staffOrg/staffBingingList',
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token' : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiIxOCIsImlzcyI6IldCSyIsImV4cCI6MTYwMjg5ODM0NH0.VBtcZcQm_1eLqThHXPM6YZrIHQFy3_LJtBkEONgcoos" 'token' : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiIxOCIsImlzcyI6IldCSyIsImV4cCI6MTYwMjg5ODM0NH0.VBtcZcQm_1eLqThHXPM6YZrIHQFy3_LJtBkEONgcoos"
} }
}) })
} }
staffOrgBingingDetails(data) { //人员绑定列表点击审核的初始化页面数据 staffOrgBingingDetails(data) { //人员绑定列表点击审核的初始化页面数据
return request({ return request({
url: '/jlcyry/staffOrg/staffOrgBingingDetails/'+ data.userName, url: '/jlcyry/staffOrg/staffOrgBingingDetails/'+ data.userName,
method: 'get', method: 'get',
params: data params: data
}) })
} }
verify(data) { //人员绑定审核 verify(data) { //人员绑定审核
return request({ return request({
url: '/jlcyry/staffOrg/verifyStaffOrg', url: '/jlcyry/staffOrg/verifyStaffOrg',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
setUpDepartment(data) { //人员绑定部门 setUpDepartment(data) { //人员绑定部门
return request({ return request({
url: '/system/v1/departmentStaffs/setUpDepartment', url: '/system/v1/departmentStaffs/setUpDepartment',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
} }
export default new staffOrg() export default new staffOrg()

View File

@@ -1,60 +1,60 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs'; import qs from 'qs';
// 获取机构的单位类别 // 获取机构的单位类别
export function getDwType(data) { export function getDwType(data) {
return request({ return request({
url: '/system/dictCommon/getDwType', url: '/system/dictCommon/getDwType',
method: 'get', method: 'get',
params: data params: data
}) })
} }
//获取机构的人员类别 //获取机构的人员类别
export function getRylb(data) { export function getRylb(data) {
return request({ return request({
url: '/system/dictCommon/getRylb', url: '/system/dictCommon/getRylb',
method: 'get' method: 'get'
}) })
} }
//获取验证码(注册) //获取验证码(注册)
export function getVerificationCode(data) { export function getVerificationCode(data) {
return request({ return request({
url: '/system/organization/getVerificationCode', url: '/system/organization/getVerificationCode',
method: 'get', method: 'get',
params: data params: data
}) })
} }
//获取机构信息列表 //获取机构信息列表
export function verifyList(data) { export function verifyList(data) {
return request({ return request({
url: '/system/organization/verifyList', url: '/system/organization/verifyList',
method: 'post', method: 'post',
data: qs.stringify(data), data: qs.stringify(data),
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
//机构信息保存 //机构信息保存
export function saveOrg(data) { export function saveOrg(data) {
return request({ return request({
url: '/system/organization/save', url: '/system/organization/save',
method: 'post', method: 'post',
data: qs.stringify(data), data: qs.stringify(data),
}) })
} }
//入职单位下拉框 //入职单位下拉框
export function inductionUnitList(data) { export function inductionUnitList(data) {
return request({ return request({
url: '/system/organization/inductionUnitList', url: '/system/organization/inductionUnitList',
method: 'post', method: 'post',
data: qs.stringify(data), data: qs.stringify(data),
}) })
} }
export function download(data) { // 下载授权证书 export function download(data) { // 下载授权证书
return request({ return request({
url: 'system/organization/download', url: 'system/organization/download',
method: 'get', method: 'get',
}) })
} }

View File

@@ -1,22 +1,22 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs'; import qs from 'qs';
class organization{ class organization{
inductionUnitList(data) { // 绑定单位 入职单位下拉框 inductionUnitList(data) { // 绑定单位 入职单位下拉框
return request({ return request({
url: '/system/organization/inductionUnitList', url: '/system/organization/inductionUnitList',
method: 'post', method: 'post',
data: qs.stringify(data), data: qs.stringify(data),
}) })
} }
save(data) { // 人员机构关系保存 save(data) { // 人员机构关系保存
return request({ return request({
url: '/jlcyry/staffOrg/save', url: '/jlcyry/staffOrg/save',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
} }
export default new organization() export default new organization()

View File

@@ -1,33 +1,33 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
// //
export function rolemenus(data) { export function rolemenus(data) {
return request({ return request({
url: '/system/v1/rolemenus/'+data.roleSid, url: '/system/v1/rolemenus/'+data.roleSid,
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 获取左侧菜单 // 获取左侧菜单
export function getrolemenus(data) { export function getrolemenus(data) {
return request({ return request({
url: '/portal/v1/sysmenu/sourcemenutree', url: 'v1/SysMenu/list',
method: 'POST', method: 'POST',
async: false, async: false,
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens} 'token':tokens}
}) })
} }
// 获取角色的主页菜单 // 获取角色的主页菜单
export function sourcesofrole(data) { export function sourcesofrole(data) {
return request({ return request({
url: '/system/v1/rolemenus/sourcesofrole', url: '/system/v1/rolemenus/sourcesofrole',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }

View File

@@ -1,69 +1,69 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
// 获取角色 不分页列表 // 获取角色 不分页列表
export function roleList(data) { export function roleList(data) {
return request({ return request({
url: '/system/v1/roles/list/', url: '/system/v1/roles/list/',
method: 'post', method: 'post',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
//获取角色 分页列表 //获取角色 分页列表
export function rolePageList(data) { export function rolePageList(data) {
return request({ return request({
url: '/system/v1/roles/pagelist', url: '/system/v1/roles/pagelist',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
//保存 角色信息 //保存 角色信息
export function saveRoleInfo(data) { export function saveRoleInfo(data) {
return request({ return request({
url: '/system/v1/roles', url: '/system/v1/roles',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
//根据sid 获取单个角色 信息 //根据sid 获取单个角色 信息
export function getRoleInfo(data) { export function getRoleInfo(data) {
return request({ return request({
url: '/system/v1/roles/' + data.sid, url: '/system/v1/roles/' + data.sid,
method: 'GET', method: 'GET',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
//根据sid 修改单个角色 信息 //根据sid 修改单个角色 信息
export function putRoleInfo(data) { export function putRoleInfo(data) {
return request({ return request({
url: '/system/v1/roles/' + data.sid, url: '/system/v1/roles/' + data.sid,
method: 'PUT', method: 'PUT',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
//根据sid 删除单个角色 信息 //根据sid 删除单个角色 信息
export function delRole(data) { export function delRole(data) {
return request({ return request({
url: '/system/v1/roles/' + data.sid, url: '/system/v1/roles/' + data.sid,
method: 'DELETE', method: 'DELETE',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
//根据sid 设置单个角色 的状态 //根据sid 设置单个角色 的状态
export function setRoleEnable(data) { export function setRoleEnable(data) {
return request({ return request({
url: `/system/v1/roles/setIsEnable/${data.sid}/${data.isEnable}`, url: `/system/v1/roles/setIsEnable/${data.sid}/${data.isEnable}`,
method: 'POST', method: 'POST',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }

View File

@@ -1,32 +1,32 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//获取单位级别 //获取单位级别
export function getDwJb(data) { export function getDwJb(data) {
return request({ return request({
url: '/system/dictCommon/getDwJb', url: '/system/dictCommon/getDwJb',
method: 'GET', method: 'GET',
}) })
} }
// 获取机构单位类别 // 获取机构单位类别
export function getDwType(data) { export function getDwType(data) {
return request({ return request({
url: '/system/dictCommon/getDwType', url: '/system/dictCommon/getDwType',
method: 'get', method: 'get',
params: data params: data
}) })
} }
//获取机构人员类别 //获取机构人员类别
export function getRylb(data) { export function getRylb(data) {
return request({ return request({
url: '/system/dictCommon/getRylb', url: '/system/dictCommon/getRylb',
method: 'get' method: 'get'
}) })
} }
// 根据Type值获取数据对象 // 根据Type值获取数据对象
export function getDicts(typeCode) { export function getDicts(typeCode) {
return request({ return request({
url: '/system/dictCommon/dicts/'+typeCode, url: '/system/dictCommon/dicts/'+typeCode,
method: 'get' method: 'get'
}) })
} }

View File

@@ -1,10 +1,10 @@
import request from '@/utils/request' import request from '@/utils/request'
export function listPage(data) { export function listPage(data) {
return request({ return request({
url: '/portal/v1/sysmapping/listPage', url: '/portal/v1/sysmapping/listPage',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }

View File

@@ -1,125 +1,125 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
// let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' // let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token') let tokens = window.sessionStorage.getItem('token')
// 获取菜单 分页列表 // 获取菜单 分页列表
export function pageList(data) { export function pageList(data) {
return request({ return request({
url: '/portal/v1/sysorganization/listPage', url: '/portal/v1/sysorganization/listPage',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 查询左侧部门列表 // 查询左侧部门列表
export function orgList(data) { export function orgList(data) {
return request({ return request({
url: '/portal/v1/sysorganization/list', url: '/portal/v1/sysorganization/list',
method: 'get', method: 'get',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 编辑部门信息 // 编辑部门信息
export function postOrgtree(data) { export function postOrgtree(data) {
return request({ return request({
url: '/portal/v1/sysorganization/update/' + data.sid, url: '/portal/v1/sysorganization/update/' + data.sid,
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 获取 机构分页列表(编辑部门信息) // 获取 机构分页列表(编辑部门信息)
export function putOrgtree(data) { export function putOrgtree(data) {
return request({ return request({
url: '/portal/v1/sysorganization/update/' + data.sid, url: '/portal/v1/sysorganization/update/' + data.sid,
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 新增部门信息 // 新增部门信息
export function addOrgTree(data) { export function addOrgTree(data) {
return request({ return request({
url: '/portal/v1/sysorganization/save', url: '/portal/v1/sysorganization/save',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 回显 // 回显
export function selectBySid(data) { export function selectBySid(data) {
return request({ return request({
url: 'portal/v1/sysorganization/fetchBySid/' + data, url: 'portal/v1/sysorganization/fetchBySid/' + data,
method: 'get', method: 'get',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 树 节点名称 删除 // 树 节点名称 删除
export function delOrgtree(data) { export function delOrgtree(data) {
return request({ return request({
url: `/portal/v1/sysorganization/delBySid/` + data.sid, url: `/portal/v1/sysorganization/delBySid/` + data.sid,
method: 'get', method: 'get',
data: qs.stringify(data), data: qs.stringify(data),
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 查询主管人员 旧的:/portal/v1/sysstafforg/staffinfoList // 查询主管人员 旧的:/portal/v1/sysstafforg/staffinfoList
export function getStaff(data) { export function getStaff(data) {
return request({ return request({
url: 'portal/v1/sysstaffinfo/getStaffNameByDeptSid', url: 'portal/v1/sysstaffinfo/getStaffNameByDeptSid',
method: 'get', method: 'get',
params: data, params: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 查询分管人员 // 查询分管人员
export function getStaffName(params) { export function getStaffName(params) {
return request({ return request({
url: '/portal/v1/sysstaffinfo/getStaffName', url: '/portal/v1/sysstaffinfo/getStaffName',
method: 'get', method: 'get',
params: params, params: params,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 查看二维码 // 查看二维码
export function getQrCode(data) { export function getQrCode(data) {
return request({ return request({
url: '/portal/v1/sysorganization/getQrCode/' + data.sid, url: '/portal/v1/sysorganization/getQrCode/' + data.sid,
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }

View File

@@ -1,58 +1,58 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
//获取字典子集 分页列表 //获取字典子集 分页列表
export function dictCommonList(data) { export function dictCommonList(data) {
return request({ return request({
url: '/portal/v1/dictcommons/pageList', url: '/portal/v1/dictcommons/pageList',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
//保存 字典子级 //保存 字典子级
export function savedictCommon(data) { export function savedictCommon(data) {
return request({ return request({
url: '/portal/v1/dictcommons/save', url: '/portal/v1/dictcommons/save',
method: 'POST', method: 'POST',
data: data , data: data ,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
//根据sid 获取单个菜单 信息 //根据sid 获取单个菜单 信息
export function getRoleInfo(data) { export function getRoleInfo(data) {
return request({ return request({
url: '/system/v1/menus/' + data.sid, url: '/system/v1/menus/' + data.sid,
method: 'GET', method: 'GET',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
//根据sid 修改 数据字典 //根据sid 修改 数据字典
export function putdictCommon(data) { export function putdictCommon(data) {
return request({ return request({
url: '/portal/v1/dictcommons/update/' + data.sid, url: '/portal/v1/dictcommons/update/' + data.sid,
method: 'POST', method: 'POST',
data: data , data: data ,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
//根据sid 删除菜单 信息 //根据sid 删除菜单 信息
export function deldictCommon(data) { export function deldictCommon(data) {
return request({ return request({
url: '/portal/v1/dictcommons/delete/' + data.sid, url: '/portal/v1/dictcommons/delete/' + data.sid,
method: 'DELETE', method: 'DELETE',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }

View File

@@ -1,74 +1,74 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
let tokens = window.sessionStorage.getItem('token') let tokens = window.sessionStorage.getItem('token')
// 获取菜单 分页列表 // 获取菜单 分页列表
export function pageList(data) { export function pageList(data) {
return request({ return request({
url: '/portal/v1/dicttypes/pageList', url: '/portal/v1/dicttypes/pageList',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 根据sid 修改 // 根据sid 修改
export function putDictType(data) { export function putDictType(data) {
return request({ return request({
url: '/portal/v1/dicttypes/update/' + data.sid, url: '/portal/v1/dicttypes/update/' + data.sid,
method: 'POST', method: 'POST',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
// 保存 角色信息 // 保存 角色信息
export function saveDictType(data) { export function saveDictType(data) {
return request({ return request({
url: '/portal/v1/dicttypes/save', url: '/portal/v1/dicttypes/save',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens } headers: { 'Content-Type': 'application/json', 'token': tokens }
}) })
} }
// 根据sid 获取单个菜单 信息 // 根据sid 获取单个菜单 信息
export function getRoleInfo(data) { export function getRoleInfo(data) {
return request({ return request({
url: '/system/v1/menus/' + data.sid, url: '/system/v1/menus/' + data.sid,
method: 'GET', method: 'GET',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
// 数据字段--映射管理保存 // 数据字段--映射管理保存
export function saveMappingList(data) { export function saveMappingList(data) {
return request({ return request({
url: '/portal/v1/sysmapping/saveMappingList', url: '/portal/v1/sysmapping/saveMappingList',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens } headers: { 'Content-Type': 'application/json', 'token': tokens }
}) })
} }
// 数据字段--映射管理保存 // 数据字段--映射管理保存
export function selectMappingListInfo(data) { export function selectMappingListInfo(data) {
return request({ return request({
url: '/portal/v1/sysmapping/selectMappingListInfo', url: '/portal/v1/sysmapping/selectMappingListInfo',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens } headers: { 'Content-Type': 'application/json', 'token': tokens }
}) })
} }
// 根据sid 删除菜单 信息 // 根据sid 删除菜单 信息
export function delDictType(data) { export function delDictType(data) {
return request({ return request({
url: '/portal/v1/dicttypes/delete/' + data.sid, url: '/portal/v1/dicttypes/delete/' + data.sid,
method: 'DELETE', method: 'DELETE',
data: data, data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens } headers: { 'Content-Type': 'application/json', 'token': tokens }
}) })
} }

View File

@@ -1,125 +1,125 @@
import request from "@/utils/request"; import request from "@/utils/request";
// 查询流程定义列表 // 查询流程定义列表
export function listDefinition(query) { export function listDefinition(query) {
console.log(query); console.log(query);
return request({ return request({
// url: '/flowable/definition/list', // url: '/flowable/definition/list',
url: "/flowable/definition/pagerList", url: "/flowable/definition/pagerList",
method: "post", method: "post",
params: query params: query
}); });
} }
// 读取xml文件 // 读取xml文件
export function readXml(deployId) { export function readXml(deployId) {
return request({ return request({
url: "/v1/flowable/definition/readXml/" + deployId, url: "/v1/flowable/definition/readXml/" + deployId,
method: "get" method: "get"
}); });
} }
// 保存模型 // 保存模型
export function saveXml(data) { export function saveXml(data) {
return request({ return request({
url: "/v1/flowable/definition/save", url: "/v1/flowable/definition/save",
method: "post", method: "post",
data: data data: data
}); });
} }
// 部署流程实例 // 部署流程实例
export function definitionStart(procDefId, data) { export function definitionStart(procDefId, data) {
return request({ return request({
url: "/v1/flowable/definition/start/" + procDefId, url: "/v1/flowable/definition/start/" + procDefId,
method: "post", method: "post",
data: data data: data
}); });
} }
// 获取流程变量 // 获取流程变量
export function getProcessVariables(taskId) { export function getProcessVariables(taskId) {
return request({ return request({
url: "/v1/flowable/task/processVariables/" + taskId, url: "/v1/flowable/task/processVariables/" + taskId,
method: "get" method: "get"
}); });
} }
// 激活/挂起流程 // 激活/挂起流程
export function updateState(params) { export function updateState(params) {
return request({ return request({
url: "/flowable/definition/updateState", url: "/flowable/definition/updateState",
method: "put", method: "put",
params: params params: params
}); });
} }
// 指定流程办理人员列表 // 指定流程办理人员列表
export function userList(query) { export function userList(query) {
return request({ return request({
url: "/v1/flowable/definition/userList", url: "/v1/flowable/definition/userList",
method: "get", method: "get",
params: query params: query
}); });
} }
// 指定流程办理组列表 // 指定流程办理组列表
export function roleList(query) { export function roleList(query) {
return request({ return request({
url: "/flowable/definition/roleList", url: "/flowable/definition/roleList",
method: "get", method: "get",
params: query params: query
}); });
} }
// 读取image文件 // 读取image文件
export function readImage(deployId) { export function readImage(deployId) {
return request({ return request({
url: "/flowable/definition/readImage/" + deployId, url: "/flowable/definition/readImage/" + deployId,
method: "get" method: "get"
}); });
} }
// 读取image文件 // 读取image文件
export function getFlowViewer(procInsId) { export function getFlowViewer(procInsId) {
return request({ return request({
url: "/v1/flowable/task/flowViewer/" + procInsId, url: "/v1/flowable/task/flowViewer/" + procInsId,
method: "get" method: "get"
}); });
} }
// 新增流程定义 // 新增流程定义
export function addDeployment(data) { export function addDeployment(data) {
return request({ return request({
url: "/system/deployment", url: "/system/deployment",
method: "post", method: "post",
data: data data: data
}); });
} }
// 修改流程定义 // 修改流程定义
export function updateDeployment(data) { export function updateDeployment(data) {
return request({ return request({
url: "/system/deployment", url: "/system/deployment",
method: "put", method: "put",
data: data data: data
}); });
} }
// 删除流程定义 // 删除流程定义
export function delDeployment(query) { export function delDeployment(query) {
return request({ return request({
url: "/v1/flowable/definition/delete", url: "/v1/flowable/definition/delete",
method: "delete", method: "delete",
params: query params: query
}); });
} }
// 导出流程定义 // 导出流程定义
export function exportDeployment(query) { export function exportDeployment(query) {
return request({ return request({
url: "/system/deployment/export", url: "/system/deployment/export",
method: "get", method: "get",
params: query params: query
}); });
} }

View File

@@ -1,80 +1,80 @@
import request from '@/utils/request' import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da"; import da from "element-ui/src/locale/lang/da";
// 查询已办任务列表 // 查询已办任务列表
export function finishedList(data) { export function finishedList(data) {
return request({ return request({
url: '/v1/flowable/task/doneList', url: '/v1/flowable/task/doneList',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 任务流转记录 // 任务流转记录
export function flowRecord(data) { export function flowRecord(data) {
return request({ return request({
url: '/v1/flowable/task/flowRecord', url: '/v1/flowable/task/flowRecord',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 撤回任务 // 撤回任务
export function revokeProcess(data) { export function revokeProcess(data) {
return request({ return request({
url: '/flowable/task/revokeProcess', url: '/flowable/task/revokeProcess',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 部署流程实例 // 部署流程实例
export function deployStart(deployId) { export function deployStart(deployId) {
return request({ return request({
url: '/flowable/process/startFlow/' + deployId, url: '/flowable/process/startFlow/' + deployId,
method: 'get', method: 'get',
}) })
} }
// 查询流程定义详细 // 查询流程定义详细
export function getDeployment(id) { export function getDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'get' method: 'get'
}) })
} }
// 新增流程定义 // 新增流程定义
export function addDeployment(data) { export function addDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 修改流程定义 // 修改流程定义
export function updateDeployment(data) { export function updateDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 删除流程定义 // 删除流程定义
export function delDeployment(id) { export function delDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'delete' method: 'delete'
}) })
} }
// 导出流程定义 // 导出流程定义
export function exportDeployment(query) { export function exportDeployment(query) {
return request({ return request({
url: '/system/deployment/export', url: '/system/deployment/export',
method: 'get', method: 'get',
params: query params: query
}) })
} }

View File

@@ -1,64 +1,64 @@
import request from '@/utils/request' import request from '@/utils/request'
// 查询流程表单列表 // 查询流程表单列表
export function listForm(query) { export function listForm(query) {
return request({ return request({
url: '/v1/flowable/form/list', url: '/v1/flowable/form/list',
method: 'post', method: 'post',
data: query data: query
}) })
} }
// 查询流程表单详细 // 查询流程表单详细
export function getForm(formId) { export function getForm(formId) {
return request({ return request({
url: '/v1/flowable/form/' + formId, url: '/v1/flowable/form/' + formId,
method: 'get' method: 'get'
}) })
} }
// 新增流程表单 // 新增流程表单
export function addForm(data) { export function addForm(data) {
return request({ return request({
url: '/v1/flowable/form/add', url: '/v1/flowable/form/add',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':1 'token':1
} }
}) })
} }
// 修改流程表单 // 修改流程表单
export function updateForm(data) { export function updateForm(data) {
return request({ return request({
url: '/v1/flowable/form', url: '/v1/flowable/form',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 挂载表单 // 挂载表单
export function addDeployForm(data) { export function addDeployForm(data) {
return request({ return request({
url: '/v1/flowable/form/addDeployForm', url: '/v1/flowable/form/addDeployForm',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 删除流程表单 // 删除流程表单
export function delForm(formId) { export function delForm(formId) {
return request({ return request({
url: '/v1/flowable/form/' + formId, url: '/v1/flowable/form/' + formId,
method: 'delete' method: 'delete'
}) })
} }
// 导出流程表单 // 导出流程表单
export function exportForm(query) { export function exportForm(query) {
return request({ return request({
url: '/v1/flowable/form/export', url: '/v1/flowable/form/export',
method: 'get', method: 'get',
params: query params: query
}) })
} }

View File

@@ -1,98 +1,98 @@
import request from '@/utils/request' import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da"; import da from "element-ui/src/locale/lang/da";
// 我的发起的流程 // 我的发起的流程
export function myProcessList(data) { export function myProcessList(data) {
return request({ return request({
url: '/v1/flowable/task/myprocess', url: '/v1/flowable/task/myprocess',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 完成任务 // 完成任务
export function complete(data) { export function complete(data) {
return request({ return request({
url: '/flowable/task/complete', url: '/flowable/task/complete',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 取消申请 // 取消申请
export function stopProcess(data) { export function stopProcess(data) {
return request({ return request({
url: '/v1/flowable/task/stopProcess', url: '/v1/flowable/task/stopProcess',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 驳回任务 // 驳回任务
export function rejectTask(data) { export function rejectTask(data) {
return request({ return request({
url: '/v1/flowable/task/reject', url: '/v1/flowable/task/reject',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 可退回任务列表 // 可退回任务列表
export function returnList(data) { export function returnList(data) {
return request({ return request({
url: '/v1/flowable/task/returnList', url: '/v1/flowable/task/returnList',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 部署流程实例 // 部署流程实例
export function deployStart(deployId) { export function deployStart(deployId) {
return request({ return request({
url: '/flowable/process/startFlow/' + deployId, url: '/flowable/process/startFlow/' + deployId,
method: 'get', method: 'get',
}) })
} }
// 查询流程定义详细 // 查询流程定义详细
export function getDeployment(id) { export function getDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'get' method: 'get'
}) })
} }
// 新增流程定义 // 新增流程定义
export function addDeployment(data) { export function addDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 修改流程定义 // 修改流程定义
export function updateDeployment(data) { export function updateDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 删除流程定义 // 删除流程定义
export function delDeployment(id) { export function delDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'delete' method: 'delete'
}) })
} }
// 导出流程定义 // 导出流程定义
export function exportDeployment(query) { export function exportDeployment(query) {
return request({ return request({
url: '/system/deployment/export', url: '/system/deployment/export',
method: 'get', method: 'get',
params: query params: query
}) })
} }

View File

@@ -1,116 +1,116 @@
import request from '@/utils/request' import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da"; import da from "element-ui/src/locale/lang/da";
// 查询待办任务列表 // 查询待办任务列表
export function todoList(data) { export function todoList(data) {
return request({ return request({
url: '/v1/flowable/task/todoList', url: '/v1/flowable/task/todoList',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 完成任务 // 完成任务
export function complete(data) { export function complete(data) {
return request({ return request({
url: '/v1/flowable/task/complete', url: '/v1/flowable/task/complete',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 委派任务 // 委派任务
export function delegate(data) { export function delegate(data) {
return request({ return request({
url: '/flowable/task/delegate', url: '/flowable/task/delegate',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 退回任务 // 退回任务
export function returnTask(data) { export function returnTask(data) {
return request({ return request({
url: '/v1/flowable/task/return', url: '/v1/flowable/task/return',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 驳回任务 // 驳回任务
export function rejectTask(data) { export function rejectTask(data) {
return request({ return request({
url: '/v1/flowable/task/reject', url: '/v1/flowable/task/reject',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 可退回任务列表 // 可退回任务列表
export function returnList(data) { export function returnList(data) {
return request({ return request({
url: '/v1/flowable/task/returnList', url: '/v1/flowable/task/returnList',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 下一节点 // 下一节点
export function getNextFlowNode(data) { export function getNextFlowNode(data) {
return request({ return request({
url: '/v1/flowable/task/nextFlowNode', url: '/v1/flowable/task/nextFlowNode',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 部署流程实例 // 部署流程实例
export function deployStart(deployId) { export function deployStart(deployId) {
return request({ return request({
url: '/flowable/process/startFlow/' + deployId, url: '/flowable/process/startFlow/' + deployId,
method: 'get', method: 'get',
}) })
} }
// 查询流程定义详细 // 查询流程定义详细
export function getDeployment(id) { export function getDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'get' method: 'get'
}) })
} }
// 新增流程定义 // 新增流程定义
export function addDeployment(data) { export function addDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 修改流程定义 // 修改流程定义
export function updateDeployment(data) { export function updateDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 删除流程定义 // 删除流程定义
export function delDeployment(id) { export function delDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'delete' method: 'delete'
}) })
} }
// 导出流程定义 // 导出流程定义
export function exportDeployment(query) { export function exportDeployment(query) {
return request({ return request({
url: '/system/deployment/export', url: '/system/deployment/export',
method: 'get', method: 'get',
params: query params: query
}) })
} }

View File

@@ -1,104 +1,104 @@
import request from '@/utils/request' import request from '@/utils/request'
let tokens = window.sessionStorage.getItem('token') let tokens = window.sessionStorage.getItem('token')
// 获取菜单 分页列表 // 获取菜单 分页列表
export function pageList(data) { export function pageList(data) {
return request({ return request({
url: '/portal/v1/sysfunction/listAllVoForSource', url: '/portal/v1/sysfunction/listAllVoForSource',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 新增 // 新增
export function savePost(data) { export function savePost(data) {
return request({ return request({
url: '/portal/v1/sysfunction/save', url: '/portal/v1/sysfunction/save',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 模块名称 // 模块名称
export function sourceList(data) { export function sourceList(data) {
return request({ return request({
url: '/portal/v1/syssource/listAll', url: 'v1/SysMenu/list',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 删除 // 删除
export function delOrgroles(data) { export function delOrgroles(data) {
return request({ return request({
url: '/portal/v1/sysfunction/delBySids/' + data.sid, url: '/portal/v1/sysfunction/delBySids/' + data.sid,
method: 'get', method: 'get',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 修改 // 修改
export function getSingleData(data) { export function getSingleData(data) {
return request({ return request({
url: '/portal/v1/sysfunction/fetchBySid/' + data.id, url: '/portal/v1/sysfunction/fetchBySid/' + data.id,
method: 'get', method: 'get',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
export function putOrgroles(data) { export function putOrgroles(data) {
return request({ return request({
url: '/portal/v1/sysfunction/update/' + data.sid, url: '/portal/v1/sysfunction/update/' + data.sid,
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 功能是否可用状态 // 功能是否可用状态
export function IsEnable(data) { export function IsEnable(data) {
return request({ return request({
url: '/portal/v1/sysfunction/updateIsEnable/' + data.sid + '/' + data.isEnable, url: '/portal/v1/sysfunction/updateIsEnable/' + data.sid + '/' + data.isEnable,
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 获取模块下的菜单 // 获取模块下的菜单
export function getMenusForFunction(data) { export function getMenusForFunction(data) {
return request({ return request({
url: '/portal/v1/sysmenu/getMenusForFunction', url: '/portal/v1/sysmenu/getMenusForFunction',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }

View File

@@ -1,9 +1,9 @@
import request from '@/utils/request' import request from '@/utils/request'
// 获取当前用户的待办数量 // 获取当前用户的待办数量
export function getTodoNum(data) { export function getTodoNum(data) {
return request({ return request({
url: '/portal/v1/flow/getTodoNum/' + data, url: '/portal/v1/flow/getTodoNum/' + data,
method: 'get' method: 'get'
}) })
} }

View File

@@ -1,49 +1,49 @@
import request from '@/utils/request' import request from '@/utils/request'
// 获取菜单 分页列表 // 获取菜单 分页列表
export function pageList(data) { export function pageList(data) {
return request({ return request({
url: '/portal/v1/sysflowcc/listPage', url: '/portal/v1/sysflowcc/listPage',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 新增 // 新增
export function save(data) { export function save(data) {
return request({ return request({
url: '/portal/v1/sysflowcc/save', url: '/portal/v1/sysflowcc/save',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 初始化应用 // 初始化应用
export function fetchSid(data) { export function fetchSid(data) {
return request({ return request({
url: '/portal/v1/sysflowcc/fetchDetailsBySid/' + data, url: '/portal/v1/sysflowcc/fetchDetailsBySid/' + data,
method: 'get' method: 'get'
}) })
} }
// 删除 // 删除
export function delBySids(data) { export function delBySids(data) {
return request({ return request({
url: '/portal/v1/sysflowcc/delBySids', url: '/portal/v1/sysflowcc/delBySids',
method: 'DELETE', method: 'DELETE',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 查询角色列表 // 查询角色列表
export function roleList(data){ export function roleList(data){
return request({ return request({
url: '/portal/v1/sysrole/listAll', url: '/portal/v1/sysrole/listAll',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }

View File

@@ -1,16 +1,16 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' //let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表 //获取菜单 分页列表
export function logPageList(data) { export function logPageList(data) {
return request({ return request({
url: '/portal/v1/systemlog/listPage', url: '/portal/v1/systemlog/listPage',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }

View File

@@ -1,109 +1,109 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' //let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表 //获取菜单 分页列表
export function pageList(data) { export function pageList(data) {
return request({ return request({
url: '/portal/v1/sysmenu/listAllVoForSource', url: 'v1/SysMenu/list',
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 新增保存 菜单信息 // 新增保存 菜单信息
export function saveMenusInfo(data) { export function saveMenusInfo(data) {
return request({ return request({
url: '/portal/v1/sysmenu/save', url: 'v1/SysMenu/save',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: { 'Content-Type': 'application/json' }
}) })
} }
// 修改保存 菜单信息 // 修改保存 菜单信息
export function putMenusInfo(data) { export function putMenusInfo(data) {
return request({ return request({
url: '/portal/v1/sysmenu/update/' + data.sid, url: 'v1/SysMenu/alterSysMenu',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: { 'Content-Type': 'application/json' }
}) })
} }
//根据sid 删除单个 资源信息 //根据sid 删除单个 资源信息
export function delMenus(data) { export function delMenus(data) {
return request({ return request({
url: '/portal/v1/sysmenu/delBySids/' + data.sid, url: 'v1/SysMenu/deleteSysMenu/' + data.sid,
method: 'get', method: 'get',
data: qs.stringify(data), data: qs.stringify(data),
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 修改状态 // 修改状态
export function IsEnable(data) { export function IsEnable(data) {
return request({ return request({
url: '/portal/v1/sysmenu/updateIsEnable/' + data.sid + '/' + data.isEnable, url: '/portal/v1/sysmenu/updateIsEnable/' + data.sid + '/' + data.isEnable,
method: 'POST', method: 'POST',
/* data: qs.stringify(data),*/ /* data: qs.stringify(data),*/
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 获取菜单 不分页列表 // 获取菜单 不分页列表
export function roleList(data) { export function roleList(data) {
return request({ return request({
url: '/system/v1/menus/list', url: '/system/v1/menus/list',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: { 'Content-Type': 'application/json' }
}) })
} }
//获取菜单 分页列表 //获取菜单 分页列表
export function menusPageList(data) { export function menusPageList(data) {
return request({ return request({
url: '/system/v1/menus/pagelist', url: '/system/v1/menus/pagelist',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: { 'Content-Type': 'application/json' }
}) })
} }
//获取菜单 树形分页列表 //获取菜单 树形分页列表
export function menusTreelist(data) { export function menusTreelist(data) {
return request({ return request({
url: '/system/v1/menus/treelist', url: '/system/v1/menus/treelist',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: { 'Content-Type': 'application/json' }
}) })
} }
//根据sid 获取单个菜单 信息 //根据sid 获取单个菜单 信息
export function getRoleInfo(data) { export function getRoleInfo(data) {
return request({ return request({
url: '/system/v1/menus/' + data.sid, url: '/system/v1/menus/' + data.sid,
method: 'GET', method: 'GET',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }

View File

@@ -1,59 +1,59 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
// 获取菜单 分页列表 // 获取菜单 分页列表
export function pageList(data) { export function pageList(data) {
return request({ return request({
url: '/portal/v1/sysmobilemenu/list', url: '/portal/v1/sysmobilemenu/list',
method: 'get', method: 'get',
data data
}) })
} }
// 新增插件 // 新增插件
export function save(data) { export function save(data) {
return request({ return request({
url: '/portal/v1/appsubsetversion/save', url: '/portal/v1/appsubsetversion/save',
method: 'get', method: 'get',
data: data data: data
}) })
} }
// 更新插件 // 更新插件
export function putMenusInfo(data) { export function putMenusInfo(data) {
return request({ return request({
url: '/portal/v1/sysmenu/update/' + data.sid, url: '/portal/v1/sysmenu/update/' + data.sid,
method: 'POST', method: 'POST',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 新增/编辑应用 // 新增/编辑应用
export function saveOrUpdate(data) { export function saveOrUpdate(data) {
return request({ return request({
url: '/portal/v1/sysmobilemenu/saveOrUpdate', url: '/portal/v1/sysmobilemenu/saveOrUpdate',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 初始化应用 // 初始化应用
export function details(data) { export function details(data) {
return request({ return request({
url: '/portal/v1/sysmobilemenu/details', url: '/portal/v1/sysmobilemenu/details',
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 根据sid应用 // 根据sid应用
export function deleteMenu(data) { export function deleteMenu(data) {
return request({ return request({
url: '/portal/v1/sysmobilemenu/deleteMenu', url: '/portal/v1/sysmobilemenu/deleteMenu',
method: 'DELETE', method: 'DELETE',
params: data params: data
}) })
} }

View File

@@ -1,36 +1,36 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
class user{ class user{
verifyList(data){ // 获取列表 verifyList(data){ // 获取列表
return request({ return request({
url: '/system/organization/verifyList', url: '/system/organization/verifyList',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
orgRegisterDetails(data){ // 单位注册信息详情 orgRegisterDetails(data){ // 单位注册信息详情
return request({ return request({
url: '/system/organization/organizationRegisterDetails/'+data.organizationSid, url: '/system/organization/organizationRegisterDetails/'+data.organizationSid,
method: 'get', method: 'get',
params: data params: data
}) })
} }
verify(data){ // 审核 verify(data){ // 审核
return request({ return request({
url: '/system/organization/verify', url: '/system/organization/verify',
method: 'post', method: 'post',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
// 删除机构信息 // 删除机构信息
del(data) { del(data) {
return request({ return request({
url: '/system/organization/delete/'+data.sid, url: '/system/organization/delete/'+data.sid,
method: 'DELETE', method: 'DELETE',
data data
}) })
} }
} }
export default new user() export default new user()

View File

@@ -1,20 +1,20 @@
import request from '@/utils/request' import request from '@/utils/request'
// 获取菜单 分页列表 // 获取菜单 分页列表
export function getList(data) { export function getList(data) {
return request({ return request({
url: '/portal/v1/sysuserdefaultorg/getList', url: '/portal/v1/sysuserdefaultorg/getList',
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 新增插件 // 新增插件
export function saveOrUpdate(data) { export function saveOrUpdate(data) {
return request({ return request({
url: '/portal/v1/sysuserdefaultorg/saveOrUpdate', url: '/portal/v1/sysuserdefaultorg/saveOrUpdate',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }

View File

@@ -1,87 +1,87 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMTE1MjUwfQ.gtn_mVsbwH6ztl835rWmIY4DxeNmRe_TOt-Q0TdldIE' //let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMTE1MjUwfQ.gtn_mVsbwH6ztl835rWmIY4DxeNmRe_TOt-Q0TdldIE'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表 //获取菜单 分页列表
export function pageList(data) { export function pageList(data) {
return request({ return request({
url: '/portal/v1/syspost/listPage', url: '/portal/v1/syspost/listPage',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 查询部门列表 // 查询部门列表
export function orgList(data){ export function orgList(data){
return request({ return request({
url: '/portal/v1/sysorganization/list', url: '/portal/v1/sysorganization/list',
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 新增 // 新增
export function savePost(data){ export function savePost(data){
return request({ return request({
url: '/portal/v1/syspost/save', url: '/portal/v1/syspost/save',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 修改 // 修改
export function putOrgroles(data){ export function putOrgroles(data){
return request({ return request({
url: '/portal/v1/syspost/update/' +data.sid, url: '/portal/v1/syspost/update/' +data.sid,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 删除 // 删除
export function delOrgroles(data){ export function delOrgroles(data){
return request({ return request({
url: '/portal/v1/syspost/delBySids/' + data.sids, url: '/portal/v1/syspost/delBySids/' + data.sids,
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
export function pullDown(data){ export function pullDown(data){
return request({ return request({
url: '/portal/v1/dictcommons/typeValues', url: '/portal/v1/dictcommons/typeValues',
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 查询岗位列表 // 查询岗位列表
export function selectList(data){ export function selectList(data){
return request({ return request({
url: '/portal/v1/syspost/selectList', url: '/portal/v1/syspost/selectList',
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 查询所有流程名称 // 查询所有流程名称
export function selectFlowList(){ export function selectFlowList(){
return request({ return request({
url: '/flowable/v1/flow/selectFlowList', url: '/flowable/v1/flow/selectFlowList',
method: 'get' method: 'get'
}) })
} }

View File

@@ -1,83 +1,83 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
// 分页列表 // 分页列表
pagerList: function (params) { pagerList: function (params) {
return request({ return request({
url: '/portal/v1/regions/pagerList', url: '/portal/v1/regions/pagerList',
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
}, },
// 新增保存 // 新增保存
save: function (regionDto) { save: function (regionDto) {
return request({ return request({
url: '/portal/v1/regions/save', url: '/portal/v1/regions/save',
method: 'post', method: 'post',
data: regionDto, data: regionDto,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
}, },
// // 根据省sid获取该省的所有市 // // 根据省sid获取该省的所有市
// getCity: function (sid) { // getCity: function (sid) {
// return request({ // return request({
// url: '/portal/v1/regions/getCity', // url: '/portal/v1/regions/getCity',
// method: 'get', // method: 'get',
// params: { // params: {
// sid // sid
// } // }
// }) // })
// }, // },
// //
// // 根据市sid获取该省的所有县区 // // 根据市sid获取该省的所有县区
// getCounty: function (sid) { // getCounty: function (sid) {
// return request({ // return request({
// url: '/portal/v1/regions/getCounty', // url: '/portal/v1/regions/getCounty',
// method: 'get', // method: 'get',
// params: { // params: {
// sid // sid
// } // }
// }) // })
// }, // },
// 删除 // 删除
delete: function (sid) { delete: function (sid) {
return request({ return request({
url: '/portal/v1/regions/delete/' + sid, url: '/portal/v1/regions/delete/' + sid,
method: 'delete', method: 'delete',
data: sid data: sid
}) })
}, },
//点击修改回显数据 //点击修改回显数据
updateEcho: function (sid) { updateEcho: function (sid) {
return request({ return request({
url: '/portal/v1/regions/getOne/' + sid, url: '/portal/v1/regions/getOne/' + sid,
method: 'post', method: 'post',
params: { params: {
sid sid
} }
}) })
}, },
// 区域修改保存 // 区域修改保存
// system/region/update/{sid} // system/region/update/{sid}
update: function (params,sid) { update: function (params,sid) {
return request({ return request({
url: '/portal/v1/regions/update/' + sid, url: '/portal/v1/regions/update/' + sid,
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
} }

View File

@@ -1,178 +1,178 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjI5OTQxNjI1fQ.aOFOz0h7c8YQs-ti2GLpqeWu4AE9mifx_043hLJQf8g' //let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjI5OTQxNjI1fQ.aOFOz0h7c8YQs-ti2GLpqeWu4AE9mifx_043hLJQf8g'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
// 业务角色 列表 // 业务角色 列表
export function roleOrgList(data){ export function roleOrgList(data){
return request({ return request({
url: '/portal/v1/sysrole/listPage', url: '/portal/v1/sysrole/listPage',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
export function postList(data){ export function postList(data){
return request({ return request({
url: '/portal/v1/syspost/list', url: '/portal/v1/syspost/list',
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
// 获取数据字典下拉列表 // 获取数据字典下拉列表
export function typeValues(data) { export function typeValues(data) {
return request({ return request({
url: '/portal/v1/dictcommons/typeValues', url: '/portal/v1/dictcommons/typeValues',
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 设置是否可用isEnable1可用0不可用 // 设置是否可用isEnable1可用0不可用
export function setRoleEnable(data) { export function setRoleEnable(data) {
return request({ return request({
url: '/portal/v1/sysrole/setIsEnable/' + data.sid + '/' + data.isEnable, url: '/portal/v1/sysrole/setIsEnable/' + data.sid + '/' + data.isEnable,
method: 'POST', method: 'POST',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
/** /**
* <新增 保存角色> * <新增 保存角色>
* @orgSid 机构SID * @orgSid 机构SID
* @remarks 备注 * @remarks 备注
* @roleName 角色名称 * @roleName 角色名称
* */ * */
export function saveOrgroles(data) { export function saveOrgroles(data) {
return request({ return request({
url: '/portal/v1/sysrole/save', url: '/portal/v1/sysrole/save',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
/** /**
* <根据SID 修改角色> * <根据SID 修改角色>
* @sid 角色SID * @sid 角色SID
* @orgSid 机构SID * @orgSid 机构SID
* @remarks 备注 * @remarks 备注
* @roleName 角色名称 * @roleName 角色名称
* */ * */
export function putOrgroles(data) { export function putOrgroles(data) {
return request({ return request({
url: `/portal/v1/sysrole/update/${data.sid}`, url: `/portal/v1/sysrole/update/${data.sid}`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
/** /**
* <根据SID 删除角色> * <根据SID 删除角色>
* @sid 角色SID * @sid 角色SID
* */ * */
export function delOrgroles(data) { export function delOrgroles(data) {
return request({ return request({
url: `/portal/v1/sysrole/delBySids/${data.sid}`, url: `/portal/v1/sysrole/delBySids/${data.sid}`,
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 移动端授权 // 移动端授权
export function getRoleMenuList(data) { export function getRoleMenuList(data) {
return request({ return request({
url: '/portal/v1/sysmobilemenurole/getRoleMenuList', url: '/portal/v1/sysmobilemenurole/getRoleMenuList',
method: 'post', method: 'post',
params: { roleSid: data } params: { roleSid: data }
}) })
} }
// 菜单授权保存 // 菜单授权保存
export function saveRoleMenuList(data) { export function saveRoleMenuList(data) {
return request({ return request({
url: `/portal/v1/sysmobilemenurole/saveRoleMenuList`, url: `/portal/v1/sysmobilemenurole/saveRoleMenuList`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 菜单授权 // 菜单授权
export function roleMenuTree(data) { export function roleMenuTree(data) {
return request({ return request({
url: `/portal/v1/sysmenu/listAllByRoleSid`, url: `/portal/v1/sysmenu/listAllByRoleSid`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 菜单授权保存 // 菜单授权保存
export function saveorgrolemenus(data) { export function saveorgrolemenus(data) {
return request({ return request({
url: `/portal/v1/sysmenurole/updateRoleAndMenu`, url: `/portal/v1/sysmenurole/updateRoleAndMenu`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 资源授权 // 资源授权
export function sourceMenuTree(data) { export function sourceMenuTree(data) {
return request({ return request({
url: `/portal/v1/syssource/listAllByRoleSid`, url: `/portal/v1/syssource/listAllByRoleSid`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 资源授权保存 // 资源授权保存
export function saveSource(data) { export function saveSource(data) {
return request({ return request({
url: `/portal/v1/syssourcerole/updateRoleAndSource`, url: `/portal/v1/syssourcerole/updateRoleAndSource`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 功能授权 // 功能授权
export function funMenuTree(data) { export function funMenuTree(data) {
return request({ return request({
url: `/portal/v1/sysfunction/getFunctionAuthorization/` + data.roleSid, url: `/portal/v1/sysfunction/getFunctionAuthorization/` + data.roleSid,
method: 'get' method: 'get'
}) })
} }
// 功能授权保存 // 功能授权保存
export function savefunMenu(data) { export function savefunMenu(data) {
return request({ return request({
url: `/portal/v1/sysrolefunction/updateRoleAndFunction`, url: `/portal/v1/sysrolefunction/updateRoleAndFunction`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }

View File

@@ -1,31 +1,31 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
/** /**
* < 业务角色授权时菜单列表(拥有的菜单选中)> * < 业务角色授权时菜单列表(拥有的菜单选中)>
* @orgTypeKeys 单位性质(类别 * @orgTypeKeys 单位性质(类别
* @roleSid 业务角色sid * @roleSid 业务角色sid
* @userType 用户类型只能为1或2 * @userType 用户类型只能为1或2
* */ * */
export function roleMenuTree(data){ export function roleMenuTree(data){
return request({ return request({
url: '/system/v1/orgrolemenus/menutree', url: '/system/v1/orgrolemenus/menutree',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
/** /**
* < 保存角色授权的菜单项 > * < 保存角色授权的菜单项 >
* @roleMenus[] 角色权限列表 {menuSid 菜单sid} {orgSid 单位sid} {roleSid 角色sid} * @roleMenus[] 角色权限列表 {menuSid 菜单sid} {orgSid 单位sid} {roleSid 角色sid}
* @roleSid 业务角色sid * @roleSid 业务角色sid
* */ * */
export function saveorgrolemenus(data){ export function saveorgrolemenus(data){
return request({ return request({
url: '/system/v1/orgrolemenus', url: '/system/v1/orgrolemenus',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }

View File

@@ -1,21 +1,21 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//角色授权时菜单列表(拥有的菜单选中) //角色授权时菜单列表(拥有的菜单选中)
export function getrolemenus(data) { export function getrolemenus(data) {
return request({ return request({
url: `/system/v1/rolemenus/${data.roleSid}`, url: `/system/v1/rolemenus/${data.roleSid}`,
method: 'GET', method: 'GET',
params: data params: data
}) })
} }
//保存 角色授权时菜单列表 //保存 角色授权时菜单列表
export function saverolemenus(data) { export function saverolemenus(data) {
return request({ return request({
url: `/system/v1/rolemenus`, url: `/system/v1/rolemenus`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }

View File

@@ -1,111 +1,141 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' //let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表 //获取菜单 分页列表
export function pageList(data) { export function pageList(data) {
return request({ return request({
url: '/portal/v1/syssource/listPage', url: 'v1/sysinfo/selectInfoList',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
//保存 资源信息 //保存 资源信息
export function saveSourcesInfo(data) { export function saveSourcesInfo(data) {
return request({ return request({
url: '/portal/v1/syssource/save', url: 'v1/sysinfo/saveInfo',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 修改 保存 资源信息 // 修改 保存 资源信息
export function putSourcesInfo(data) { export function putSourcesInfo(data) {
return request({ return request({
url: '/portal/v1/syssource/update/' + data.sid, url: 'v1/sysinfo/alterInfo',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
//根据sid 删除单个 资源信息 export function addStudentScore(data) {
export function delSources(data) { return request({
return request({ url: 'v1/sysstudentscore/addStudentScore',
url: '/portal/v1/syssource/delBySids/' + data.sid, method: 'POST',
method: 'get', data: data,
data: qs.stringify(data), headers: {'Content-Type': 'application/json',
headers: {'Content-Type': 'application/json', 'token':tokens
'token':tokens }
} })
}) }
} export function saveSysInfoShip(data) {
// 获取获取资源类别 return request({
export function getZzylb(data) { url: 'v1/sysinfoship/saveSysInfoShip',
return request({ method: 'POST',
url: '/portal/v1/syssource/listAll', data: data,
method: 'post', headers: {'Content-Type': 'application/json',
headers: {'Content-Type': 'application/json'} 'token':tokens
}) }
} })
}
export function selectTeacherDownStudent(data) {
return request({
url: 'v1/sysinfoship/selectTeacherDownStudent/' + data.infoId,
method: 'get',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//根据sid 删除单个 资源信息
export function delSources(data) {
return request({
url: 'v1/sysinfo/deleteInfo/' + data.sid,
// 获取资源 不分页列表 method: 'get',
export function sourcesList(data) { data: qs.stringify(data),
return request({ headers: {'Content-Type': 'application/json',
url: '/system/v1/sources/list', 'token':tokens
method: 'post', }
data: data, })
headers: {'Content-Type': 'application/json'} }
}) // 获取获取资源类别
} export function getZzylb(data) {
return request({
// 获取资源列表 不分页下拉 url: '/portal/v1/syssource/listAll',
export function getsourceList(data) { method: 'post',
return request({ headers: {'Content-Type': 'application/json'}
url: '/system/v1/sources/sourceList', })
method: 'post' }
})
}
////获取资源 分页列表
//export function sourcesPageList(data) {
//return request({
// url: '/system/v1/sources/pagelist',
// method: 'POST',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
// 获取资源 不分页列表
//根据sid 获取单个 资源信息 export function sourcesList(data) {
export function getSourcesInfo(data) { return request({
return request({ url: '/system/v1/sources/list',
url: '/system/v1/sources/' + data.sid, method: 'post',
method: 'GET', data: data,
data: qs.stringify(data) headers: {'Content-Type': 'application/json'}
}) })
} }
// 获取资源列表 不分页下拉
export function getsourceList(data) {
return request({
url: '/system/v1/sources/sourceList',
method: 'post'
})
}
////获取资源 分页列表
//export function sourcesPageList(data) {
//return request({
// url: '/system/v1/sources/pagelist',
// method: 'POST',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
//根据sid 获取单个 资源信息
export function getSourcesInfo(data) {
return request({
url: '/system/v1/sources/' + data.sid,
method: 'GET',
data: qs.stringify(data)
})
}

View File

@@ -1,84 +1,84 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
export function verifyList(data){ // 用户列表 export function verifyList(data){ // 用户列表
return request({ return request({
url: '/system/user/verifyList', url: '/system/user/verifyList',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
// admin用户列表 // admin用户列表
export function userListByAdmin(data){ export function userListByAdmin(data){
return request({ return request({
url: '/system/user/userListByAdmin', url: '/system/user/userListByAdmin',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
// 设置角色 // 设置角色
export function psotUserRole(data){ export function psotUserRole(data){
return request({ return request({
url: '/system/v1/userrole', url: '/system/v1/userrole',
method: 'post', method: 'post',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
// 用户初始化密码 // 用户初始化密码
export function initPwd(data){ export function initPwd(data){
return request({ return request({
url: 'system/user/initPwd/'+data.sid, url: 'system/user/initPwd/'+data.sid,
method: 'POST', method: 'POST',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
// 用户删除接口 // 用户删除接口
export function delUser(data){ export function delUser(data){
return request({ return request({
url: '/system/user/delete/'+data.sid, url: '/system/user/delete/'+data.sid,
method: 'DELETE', method: 'DELETE',
params: data params: data
}) })
} }
// 初始化设置角色 // 初始化设置角色
export function initUserRole(data){ export function initUserRole(data){
return request({ return request({
url: '/system/v1/userroles/initUserRole/'+ data.userSid, url: '/system/v1/userroles/initUserRole/'+ data.userSid,
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 保存角色 // 保存角色
export function saveUserRole(data){ export function saveUserRole(data){
return request({ return request({
url: '/system/v1/userroles', url: '/system/v1/userroles',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
// 用户信息 // 用户信息
export function getUserINfo(data){ export function getUserINfo(data){
return request({ return request({
url: '/system/user/userRegisterDetails', url: '/system/user/userRegisterDetails',
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 单位信息 // 单位信息
export function getOrgINfo(data){ export function getOrgINfo(data){
return request({ return request({
url: '/system/organization/organizationRegisterDetails/'+ data.organizationSid, url: '/system/organization/organizationRegisterDetails/'+ data.organizationSid,
method: 'get', method: 'get',
params: data params: data
}) })
} }

View File

@@ -1,43 +1,43 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//获取菜单 分页列表 //获取菜单 分页列表
export function login1(data) { export function login1(data) {
return request({ return request({
url: '/portal/v1/sysuser/login', url: '/portal/v1/sysuser/login',
method: 'POST', method: 'POST',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
// 'token':tokens // 'token':tokens
} }
}) })
} }
class user { class user {
login(data) { // 登录 login(data) { // 登录
return request({ return request({
url: '/portal/v1/sysuser/login', url: '/portal/v1/sysuser/login',
method: 'post', method: 'post',
data data
}) })
} }
logout() { // 退出 logout() { // 退出
return request({ return request({
url: '/vue-admin-template/user/logout', url: '/vue-admin-template/user/logout',
method: 'post' method: 'post'
}) })
} }
updatePassword(data) { // 退出修改密码 updatePassword(data) { // 退出修改密码
return request({ return request({
url: '/system/user/updatePassword', url: '/system/user/updatePassword',
method: 'post', method: 'post',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
} }

View File

@@ -1,43 +1,43 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
class user{ class user{
verifyList(data){ // 请求审核列表 verifyList(data){ // 请求审核列表
return request({ return request({
url: '/system/user/verifyList', url: '/system/user/verifyList',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
userRegisterDetails(data){ // 获取审核内容 userRegisterDetails(data){ // 获取审核内容
console.log(data) console.log(data)
return request({ return request({
url: '/system/user/userRegisterDetails', url: '/system/user/userRegisterDetails',
method: 'get', method: 'get',
params: data params: data
}) })
} }
verify(data){ // 审核通过不通过 verify(data){ // 审核通过不通过
return request({ return request({
url: '/system/user/verify', url: '/system/user/verify',
method: 'post', method: 'post',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
userDelete(data){ // 删除 userDelete(data){ // 删除
return request({ return request({
url: '/system/user/delete/{sid}', url: '/system/user/delete/{sid}',
method: 'delete', method: 'delete',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
userNameDelete(data){ // 删除个人注册审核 userNameDelete(data){ // 删除个人注册审核
return request({ return request({
url: '/system/staffApply/deleteByUserName', url: '/system/staffApply/deleteByUserName',
method: 'delete', method: 'delete',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
} }
export default new user() export default new user()

View File

@@ -1,32 +1,32 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
// 委托人分页列表 // 委托人分页列表
export function clientList(data){ export function clientList(data){
return request({ return request({
url: '/jlcyry/v1/clientalterrecords/pagerList', url: '/jlcyry/v1/clientalterrecords/pagerList',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
// 变更选择委托人列表 // 变更选择委托人列表
export function setclientList(data){ export function setclientList(data){
return request({ return request({
url: '/jlcyry/v1/clientalterrecords/staffClientList', url: '/jlcyry/v1/clientalterrecords/staffClientList',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
// 变更为被委托人 // 变更为被委托人
export function doClientAlter(data){ export function doClientAlter(data){
return request({ return request({
url: '/jlcyry/v1/clientalterrecords/doClientAlter', url: '/jlcyry/v1/clientalterrecords/doClientAlter',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }

View File

@@ -1,69 +1,69 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
// 单位用户列表 // 单位用户列表
export function orgUserList(data){ export function orgUserList(data){
return request({ return request({
url: '/system/user/userListByOrg', url: '/system/user/userListByOrg',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} headers: {'Content-Type': 'application/json'}
}) })
} }
// 设置角色 // 设置角色
export function psotUserRole(data){ export function psotUserRole(data){
return request({ return request({
url: '/system/v1/userrole', url: '/system/v1/userrole',
method: 'post', method: 'post',
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
/** /**
* 获取角色列表 * 获取角色列表
* orgSid 用户SID * orgSid 用户SID
* roleName 角色名称 * roleName 角色名称
* */ * */
export function orgrolesList(data){ export function orgrolesList(data){
return request({ return request({
url: '/system/v1/orgroles/list', url: '/system/v1/orgroles/list',
method: 'post', method: 'post',
headers: {'Content-Type': 'application/json'}, headers: {'Content-Type': 'application/json'},
data data
}) })
} }
/** /**
* 保存 设置角色 /system/v1/orguserroles * 保存 设置角色 /system/v1/orguserroles
* */ * */
export function saveOrgRole(data){ export function saveOrgRole(data){
return request({ return request({
url: '/system/v1/orguserroles', url: '/system/v1/orguserroles',
method: 'post', method: 'post',
headers: {'Content-Type': 'application/json'}, headers: {'Content-Type': 'application/json'},
data data
}) })
} }
/** /**
* 部门机构列表 /system/v1/departments/departmentOrgList/{organizationSid} * 部门机构列表 /system/v1/departments/departmentOrgList/{organizationSid}
* */ * */
export function getOrgList(organizationSid){ export function getOrgList(organizationSid){
return request({ return request({
url: '/system/v1/departments/departmentOrgList/' + organizationSid, url: '/system/v1/departments/departmentOrgList/' + organizationSid,
method: 'get' method: 'get'
}) })
} }
/** /**
* 保存 设置部门 /system/v1/orguserroles * 保存 设置部门 /system/v1/orguserroles
* */ * */
export function saveDepartment(data){ export function saveDepartment(data){
return request({ return request({
url: '/system/v1/departmentStaffs/setUpDepartment', url: '/system/v1/departmentStaffs/setUpDepartment',
method: 'post', method: 'post',
headers: {'Content-Type': 'application/json'}, headers: {'Content-Type': 'application/json'},
data data
}) })
} }

View File

@@ -1,150 +1,150 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
// 用户列表 // 用户列表
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjI5OTQxNjI1fQ.aOFOz0h7c8YQs-ti2GLpqeWu4AE9mifx_043hLJQf8g' //let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjI5OTQxNjI1fQ.aOFOz0h7c8YQs-ti2GLpqeWu4AE9mifx_043hLJQf8g'
let tokens = window.sessionStorage.getItem('token'); let tokens = window.sessionStorage.getItem('token');
export function userList(data){ export function userList(data){
return request({ return request({
url: '/portal/v1/sysuser/listPage', url: '/portal/v1/sysuser/listPage',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 新增 // 新增
export function userAdd(data){ export function userAdd(data){
return request({ return request({
url: '/portal/v1/sysuser/save', url: '/portal/v1/sysuser/save',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 更新 // 更新
export function userUpdata(data){ export function userUpdata(data){
return request({ return request({
url: '/portal/v1/sysuser/update/' +data.sid, url: '/portal/v1/sysuser/update/' +data.sid,
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 删除 // 删除
export function delUser(data){ export function delUser(data){
return request({ return request({
url: '/portal/v1/sysuser/delBySid/' +data.sid, url: '/portal/v1/sysuser/delBySid/' +data.sid,
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 初始化密码 // 初始化密码
export function initPwd(data){ export function initPwd(data){
return request({ return request({
url: '/portal/v1/sysuser/initPwd/' +data.sid, url: '/portal/v1/sysuser/initPwd/' +data.sid,
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 根据sid查询一条信息 // 根据sid查询一条信息
export function userSingle(data){ export function userSingle(data){
return request({ return request({
url: '/portal/v1/sysuser/fetchBySid/' +data.sid, url: '/portal/v1/sysuser/fetchBySid/' +data.sid,
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 单条用户的角色列表 // 单条用户的角色列表
export function setRole(data){ export function setRole(data){
return request({ return request({
url: '/portal/v1/sysrole/listAllByUserSid/' +data.sid, url: '/portal/v1/sysrole/listAllByUserSid/' +data.sid,
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 角色列表 // 角色列表
export function saveOrgRole(data){ export function saveOrgRole(data){
return request({ return request({
url: '/portal/v1/sysuserrole/update', url: '/portal/v1/sysuserrole/update',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 查询角色列表 // 查询角色列表
export function roleList(data){ export function roleList(data){
return request({ return request({
url: '/portal/v1/sysrole/listAll', url: '/portal/v1/sysrole/listAll',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 查询部门列表 // 查询部门列表
export function orgList(data){ export function orgList(data){
return request({ return request({
url: '/portal/v1/sysorganization/list', url: '/portal/v1/sysorganization/list',
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 查询岗位列表 // 查询岗位列表
export function postList(data){ export function postList(data){
return request({ return request({
url: '/portal/v1/syspost/fetchByOrgSid/'+data.sid, url: '/portal/v1/syspost/fetchByOrgSid/'+data.sid,
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 获取验证码 // 获取验证码
export function getCode(data){ export function getCode(data){
return request({ return request({
url: '/portal/v1/sysuser/sendMessageCode/'+data.phone, url: '/portal/v1/sysuser/sendMessageCode/'+data.phone,
method: 'get', method: 'get',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':tokens 'token':tokens
} }
}) })
} }
// 设置是否可用isEnable1可用0不可用 // 设置是否可用isEnable1可用0不可用
export function setRoleEnable(data) { export function setRoleEnable(data) {
return request({ return request({
url: '/portal/v1/sysuser/setIsEnable/' + data.sid + '/' + data.isEnable, url: '/portal/v1/sysuser/setIsEnable/' + data.sid + '/' + data.isEnable,
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }

View File

@@ -1,56 +1,54 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs' import qs from 'qs'
//登录 //登录
export function login(data) { export function login(data) {
return request({ return request({
url: '/portal/v1/sysuser/login', url: '/v1/sysuser/login',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json'} })
}) }
} // 用户注册
// 用户注册 export function registUser(data) {
export function registUser(data) { return request({
return request({ url: 'v1/sysuser/register',
url: '/system/user/save', method: 'post',
method: 'post', data,
data, })
headers:{'Content-Type':'application/x-www-form-urlencoded;'} }
}) // 获取手机验证码
} export function getVerificationCode(data) {
// 获取手机验证码 return request({
export function getVerificationCode(data) { url: '/system/user/getVerificationCode',
return request({ method: 'get',
url: '/system/user/getVerificationCode', params: data
method: 'get', })
params: data }
})
} // 获取登录验证码
export function imgCode() {
// 获取登录验证码 return request({
export function imgCode() { url: '/system/api/defaultBlendCode?temm=' + new Date().getTime(),
return request({ method: 'get'
url: '/system/api/defaultBlendCode?temm=' + new Date().getTime(), })
method: 'get' }
})
} // 获取用信息
export function getInfo(token) {
// 获取用信息 return request({
export function getInfo(token) { url: '/system/user/loginDetails',
return request({ method: 'post',
url: '/system/user/loginDetails', })
method: 'post', }
})
} // 根据token值获取登录后的用户信息
export function loginDetails(data) {
// 根据token值获取登录后的用户信息 return request({
export function loginDetails(data) { url: '/v1/sysuser/loginDetails',
return request({ method: 'post',
url: '/portal/v1/sysuser/loginDetails', data: data,
method: 'post', headers: {
data: data, 'Content-Type': 'application/json'
headers: { }
'Content-Type': 'application/json' })
} }
})
}

View File

@@ -1,87 +1,87 @@
import request from '@/utils/request' import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da"; import da from "element-ui/src/locale/lang/da";
const tokens = window.sessionStorage.getItem('token') const tokens = window.sessionStorage.getItem('token')
// 查询已办任务列表 // 查询已办任务列表
export function finishedList(query) { export function finishedList(query) {
return request({ return request({
url: '/flowable/task/finishedList', url: '/flowable/task/finishedList',
method: 'get', method: 'get',
params: query params: query
}) })
} }
// 任务流转记录 // 任务流转记录
export function flowRecord(query) { export function flowRecord(query) {
return request({ return request({
url: '/portal/v1/flow/task/flowRecordAndComment/' + query.procInsId + '/' + query.deployId, url: '/portal/v1/flow/task/flowRecordAndComment/' + query.procInsId + '/' + query.deployId,
method: 'get', method: 'get',
params: query params: query
}) })
} }
// 撤回任务 // 撤回任务
export function revokeProcess(data) { export function revokeProcess(data) {
const userSid = data.userSid const userSid = data.userSid
return request({ return request({
url: '/portal/v1/flow/task/revokeProcess/' + userSid, url: '/portal/v1/flow/task/revokeProcess/' + userSid,
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
// 部署流程实例 // 部署流程实例
export function deployStart(deployId) { export function deployStart(deployId) {
return request({ return request({
url: '/flowable/process/startFlow/' + deployId, url: '/flowable/process/startFlow/' + deployId,
method: 'get' method: 'get'
}) })
} }
// 查询流程定义详细 // 查询流程定义详细
export function getDeployment(id) { export function getDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'get' method: 'get'
}) })
} }
// 新增流程定义 // 新增流程定义
export function addDeployment(data) { export function addDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 修改流程定义 // 修改流程定义
export function updateDeployment(data) { export function updateDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 删除流程定义 // 删除流程定义
export function delDeployment(id) { export function delDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'delete' method: 'delete'
}) })
} }
// 导出流程定义 // 导出流程定义
export function exportDeployment(query) { export function exportDeployment(query) {
return request({ return request({
url: '/system/deployment/export', url: '/system/deployment/export',
method: 'get', method: 'get',
params: query params: query
}) })
} }

View File

@@ -1,92 +1,92 @@
import request from '@/utils/request' import request from '@/utils/request'
const tokens = window.sessionStorage.getItem('token') const tokens = window.sessionStorage.getItem('token')
export default { export default {
// 查询待办任务列表 // 查询待办任务列表
getNextNodes: function (query) { getNextNodes: function (query) {
return request({ return request({
url: '/portal/v1/flow/getNextTasks/'+query.taskId, url: '/portal/v1/flow/getNextTasks/'+query.taskId,
method: 'post', method: 'post',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
}, },
businessStart: function(params) { businessStart: function(params) {
const procDefId = params.procDefId const procDefId = params.procDefId
const userSid = params.userSid const userSid = params.userSid
const variables = params.variables const variables = params.variables
return request({ return request({
url: '/portal/v1/flow/businessStart/' + procDefId + '/' + userSid, url: '/portal/v1/flow/businessStart/' + procDefId + '/' + userSid,
method: 'POST', method: 'POST',
data: variables, data: variables,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
}, },
processPagerList: function(params) { processPagerList: function(params) {
const pageNum = params.current const pageNum = params.current
const pageSize = params.size const pageSize = params.size
return request({ return request({
url: '/portal/v1/flow/processPagerList', url: '/portal/v1/flow/processPagerList',
method: 'POST', method: 'POST',
data: { data: {
pageNum: pageNum, pageNum: pageNum,
pageSize: pageSize pageSize: pageSize
} }
}) })
}, },
myProcessList: function(params) { myProcessList: function(params) {
let userSid=params.params.userSid; let userSid=params.params.userSid;
return request({ return request({
url: '/portal/v1/flow/myprocess/'+userSid, url: '/portal/v1/flow/myprocess/'+userSid,
method: 'POST', method: 'POST',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
}, },
todoTaskList: function(params) { todoTaskList: function(params) {
let userSid=params.params.userSid; let userSid=params.params.userSid;
return request({ return request({
url: '/portal/v1/flow/todoTaskList/'+userSid, url: '/portal/v1/flow/todoTaskList/'+userSid,
method: 'POST', method: 'POST',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
}, },
doneTaskList: function(params) { doneTaskList: function(params) {
let userSid=params.params.userSid; let userSid=params.params.userSid;
return request({ return request({
url: '/portal/v1/flow/doneTaskList/'+userSid, url: '/portal/v1/flow/doneTaskList/'+userSid,
method: 'POST', method: 'POST',
data: params, data: params,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }
} }
// 任务流转记录 // 任务流转记录
export function complete(data) { export function complete(data) {
return request({ return request({
url: '/portal/v1/flow/complete', url: '/portal/v1/flow/complete',
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': tokens 'token': tokens
} }
}) })
} }

View File

@@ -1,64 +1,64 @@
import request from '@/utils/request' import request from '@/utils/request'
// 查询流程表单列表 // 查询流程表单列表
export function listForm(query) { export function listForm(query) {
return request({ return request({
url: '/v1/flowable/form/list', url: '/v1/flowable/form/list',
method: 'post', method: 'post',
data: query data: query
}) })
} }
// 查询流程表单详细 // 查询流程表单详细
export function getForm(formId) { export function getForm(formId) {
return request({ return request({
url: '/v1/flowable/form/' + formId, url: '/v1/flowable/form/' + formId,
method: 'get' method: 'get'
}) })
} }
// 新增流程表单 // 新增流程表单
export function addForm(data) { export function addForm(data) {
return request({ return request({
url: '/v1/flowable/form/add', url: '/v1/flowable/form/add',
method: 'post', method: 'post',
data: data, data: data,
headers: {'Content-Type': 'application/json', headers: {'Content-Type': 'application/json',
'token':1 'token':1
} }
}) })
} }
// 修改流程表单 // 修改流程表单
export function updateForm(data) { export function updateForm(data) {
return request({ return request({
url: '/v1/flowable/form', url: '/v1/flowable/form',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 挂载表单 // 挂载表单
export function addDeployForm(data) { export function addDeployForm(data) {
return request({ return request({
url: '/v1/flowable/form/addDeployForm', url: '/v1/flowable/form/addDeployForm',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 删除流程表单 // 删除流程表单
export function delForm(formId) { export function delForm(formId) {
return request({ return request({
url: '/v1/flowable/form/' + formId, url: '/v1/flowable/form/' + formId,
method: 'delete' method: 'delete'
}) })
} }
// 导出流程表单 // 导出流程表单
export function exportForm(query) { export function exportForm(query) {
return request({ return request({
url: '/v1/flowable/form/export', url: '/v1/flowable/form/export',
method: 'get', method: 'get',
params: query params: query
}) })
} }

View File

@@ -1,29 +1,29 @@
import request from '@/utils/request' import request from '@/utils/request'
// 代办、已办基础信息页面 // 代办、已办基础信息页面
// 详情编辑回显(订金收取) 已改 // 详情编辑回显(订金收取) 已改
export function fetchSid(data) { export function fetchSid(data) {
return request({ return request({
url: '/buscenter/v1/busmaindeposit/selectDepositBySid/' + data, url: '/buscenter/v1/busmaindeposit/selectDepositBySid/' + data,
method: 'get', method: 'get',
params: data params: data
}) })
} }
// 详细编辑回显(预定车辆) 已改 // 详细编辑回显(预定车辆) 已改
export function selectSid(data) { export function selectSid(data) {
return request({ return request({
url: '/buscenter/v1/busmaindeposit/selectDepositVehBySid/' + data, url: '/buscenter/v1/busmaindeposit/selectDepositVehBySid/' + data,
method: 'get', method: 'get',
params: data params: data
}) })
} }
//合同管理编辑回显 //合同管理编辑回显
export function getOneContract(data) { export function getOneContract(data) {
return request({ return request({
url: "/base/v1/commoncontract/fetchSid/" + data, url: "/base/v1/commoncontract/fetchSid/" + data,
method: "get" method: "get"
}); });
} }

View File

@@ -1,101 +1,101 @@
import request from '@/utils/request' import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da"; import da from "element-ui/src/locale/lang/da";
// 我的发起的流程 // 我的发起的流程
export function myProcessList(data) { export function myProcessList(data) {
return request({ return request({
url: '/v1/flowable/task/myprocess', url: '/v1/flowable/task/myprocess',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 完成任务 // 完成任务
export function complete(data) { export function complete(data) {
return request({ return request({
url: '/flowable/task/complete', url: '/flowable/task/complete',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 取消申请 // 取消申请
export function stopProcess(data) { export function stopProcess(data) {
return request({ return request({
url: '/portal/v1/flow/task/stopProcess', url: '/portal/v1/flow/task/stopProcess',
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 驳回任务 // 驳回任务
export function rejectTask(data) { export function rejectTask(data) {
return request({ return request({
url: '/v1/flowable/task/reject', url: '/v1/flowable/task/reject',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 可退回任务列表 // 可退回任务列表
export function returnList(data) { export function returnList(data) {
return request({ return request({
url: '/v1/flowable/task/returnList', url: '/v1/flowable/task/returnList',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 部署流程实例 // 部署流程实例
export function deployStart(deployId) { export function deployStart(deployId) {
return request({ return request({
url: '/flowable/process/startFlow/' + deployId, url: '/flowable/process/startFlow/' + deployId,
method: 'get', method: 'get',
}) })
} }
// 查询流程定义详细 // 查询流程定义详细
export function getDeployment(id) { export function getDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'get' method: 'get'
}) })
} }
// 新增流程定义 // 新增流程定义
export function addDeployment(data) { export function addDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 修改流程定义 // 修改流程定义
export function updateDeployment(data) { export function updateDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 删除流程定义 // 删除流程定义
export function delDeployment(id) { export function delDeployment(id) {
return request({ return request({
url: '/portal/v1/flow/deleteProcess/' + id, url: '/portal/v1/flow/deleteProcess/' + id,
method: 'delete' method: 'delete'
}) })
} }
// 导出流程定义 // 导出流程定义
export function exportDeployment(query) { export function exportDeployment(query) {
return request({ return request({
url: '/system/deployment/export', url: '/system/deployment/export',
method: 'get', method: 'get',
params: query params: query
}) })
} }

View File

@@ -1,129 +1,129 @@
import request from '@/utils/request' import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da"; import da from "element-ui/src/locale/lang/da";
// 查询待办任务列表 // 查询待办任务列表
export function todoList(query) { export function todoList(query) {
return request({ return request({
url: '/flowable/task/todoList', url: '/flowable/task/todoList',
method: 'get', method: 'get',
params: query params: query
}) })
} }
// 完成任务 // 完成任务
export function complete(data) { export function complete(data) {
return request({ return request({
url: '/flowable/task/complete', url: '/flowable/task/complete',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 委派任务 // 委派任务
export function delegate(data) { export function delegate(data) {
return request({ return request({
url: '/flowable/task/delegate', url: '/flowable/task/delegate',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 退回任务 // 退回任务
export function returnTask(data) { export function returnTask(data) {
return request({ return request({
url: '/flowable/task/return', url: '/flowable/task/return',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 驳回任务 // 驳回任务
export function rejectTask(data) { export function rejectTask(data) {
return request({ return request({
url: '/portal/v1/flow/task/reject', url: '/portal/v1/flow/task/reject',
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
} }
// 可退回任务列表 // 可退回任务列表
export function returnList(data) { export function returnList(data) {
return request({ return request({
url: '/flowable/task/returnList', url: '/flowable/task/returnList',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 下一节点 // 下一节点
export function getNextFlowNode(data) { export function getNextFlowNode(data) {
return request({ return request({
url: '/flowable/task/nextFlowNode', url: '/flowable/task/nextFlowNode',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 部署流程实例 // 部署流程实例
export function deployStart(deployId) { export function deployStart(deployId) {
return request({ return request({
url: '/flowable/process/startFlow/' + deployId, url: '/flowable/process/startFlow/' + deployId,
method: 'get', method: 'get',
}) })
} }
// 查询流程定义详细 // 查询流程定义详细
export function getDeployment(id) { export function getDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'get' method: 'get'
}) })
} }
// 新增流程定义 // 新增流程定义
export function addDeployment(data) { export function addDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 修改流程定义 // 修改流程定义
export function updateDeployment(data) { export function updateDeployment(data) {
return request({ return request({
url: '/system/deployment', url: '/system/deployment',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 删除流程定义 // 删除流程定义
export function delDeployment(id) { export function delDeployment(id) {
return request({ return request({
url: '/system/deployment/' + id, url: '/system/deployment/' + id,
method: 'delete' method: 'delete'
}) })
} }
// 导出流程定义 // 导出流程定义
export function exportDeployment(query) { export function exportDeployment(query) {
return request({ return request({
url: '/system/deployment/export', url: '/system/deployment/export',
method: 'get', method: 'get',
params: query params: query
}) })
} }
// 查看总代办列表 // 查看总代办列表
export function taskList (data) { export function taskList (data) {
return request({ return request({
url: '/portal/v1/flow/todoAllTaskList/' + data, url: '/portal/v1/flow/todoAllTaskList/' + data,
method: 'post', method: 'post',
data: data data: data
}) })
} }

View File

@@ -1,151 +1,151 @@
<template> <template>
<div class="AreaPicker"> <div class="AreaPicker">
<el-select v-model="form.province" <el-select v-model="form.province"
@change="changeProvince(form.province)" @change="changeProvince(form.province)"
filterable filterable
placeholder="请选择省份" placeholder="请选择省份"
:loading="loading == 'province'"> :loading="loading == 'province'">
<el-option <el-option
v-for="item in province_list" v-for="item in province_list"
:key="item.sid" :key="item.sid"
:label="item.name" :label="item.name"
:value="item.sid" :value="item.sid"
> >
</el-option> </el-option>
</el-select> </el-select>
<el-select v-model="form.city" <el-select v-model="form.city"
@change='changeCity(form.city)' @change='changeCity(form.city)'
filterable filterable
placeholder="请选择市" placeholder="请选择市"
:loading="loading == 'city'" :loading="loading == 'city'"
style="margin-left: 8px;"> style="margin-left: 8px;">
<el-option <el-option
v-for="item in city_list" v-for="item in city_list"
:key="item.sid" :key="item.sid"
:label="item.name" :label="item.name"
:value="item.sid"> :value="item.sid">
</el-option> </el-option>
</el-select> </el-select>
<el-select v-model="form.county" <el-select v-model="form.county"
@change='changeCounty(form.county)' @change='changeCounty(form.county)'
filterable filterable
:loading="loading == 'county'" :loading="loading == 'county'"
placeholder="请选择县/区" placeholder="请选择县/区"
style="margin-left: 8px;"> style="margin-left: 8px;">
<el-option <el-option
v-for="item in county_list" v-for="item in county_list"
:key="item.sid" :key="item.sid"
:label="item.name" :label="item.name"
:value="item.sid"> :value="item.sid">
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
</template> </template>
<script> <script>
import { import {
getProvince, getProvince,
getCity, getCity,
getCounty getCounty
} from '@/api/Common/areaPicker.js' } from '@/api/Common/areaPicker.js'
export default { export default {
props:{ props:{
province:{ province:{
type: String, type: String,
default: '' default: ''
}, },
city:{ city:{
type: String, type: String,
default: '' default: ''
}, },
county:{ county:{
type: String, type: String,
default: '' default: ''
} }
}, },
data() { data() {
return { return {
province_list: [], province_list: [],
city_list: [], city_list: [],
county_list: [], county_list: [],
form:{ form:{
province: this.province, province: this.province,
city: this.city, city: this.city,
county: this.county county: this.county
}, },
loading: false loading: false
} }
}, },
watch:{ watch:{
province:function(newVal,oldVal){ province:function(newVal,oldVal){
this.form.province = newVal this.form.province = newVal
}, },
city:function(newVal,oldVal){ city:function(newVal,oldVal){
this.form.city = newVal this.form.city = newVal
}, },
county:function(newVal,oldVal){ county:function(newVal,oldVal){
this.form.county = newVal this.form.county = newVal
} }
}, },
async mounted() { async mounted() {
let provincelist = await getProvince() let provincelist = await getProvince()
this.province_list = provincelist.data this.province_list = provincelist.data
if(this.province){ if(this.province){
let citylist = await getCity({ sid: this.province }) let citylist = await getCity({ sid: this.province })
this.city_list = citylist.data this.city_list = citylist.data
} }
if(this.city){ if(this.city){
let countylist = await getCounty({ sid: this.city }) let countylist = await getCounty({ sid: this.city })
this.county_list = countylist.data this.county_list = countylist.data
} }
this.loading = false this.loading = false
}, },
methods: { methods: {
changeProvince(val){ changeProvince(val){
console.log(val) console.log(val)
getCity({ sid: val }).then(res => { getCity({ sid: val }).then(res => {
this.city_list = res.data this.city_list = res.data
this.loading = false this.loading = false
}) })
let obj = {}; let obj = {};
obj = this.province_list.find((item)=>{ obj = this.province_list.find((item)=>{
return item.sid === val;//筛选出匹配数据 return item.sid === val;//筛选出匹配数据
}); });
console.log(obj) console.log(obj)
this.form.city = '' this.form.city = ''
this.form.county = '' this.form.county = ''
this.city_list = [] this.city_list = []
this.county_list = [] this.county_list = []
this.loading = 'city' this.loading = 'city'
this.$emit('areaPicker', obj.sidPath) this.$emit('areaPicker', obj.sidPath)
}, },
changeCity(val){ changeCity(val){
let obj = {}; let obj = {};
obj = this.city_list.find((item)=>{ obj = this.city_list.find((item)=>{
return item.sid === val;//筛选出匹配数据 return item.sid === val;//筛选出匹配数据
}); });
console.log(obj) console.log(obj)
this.form.county = '' this.form.county = ''
this.county_list = [] this.county_list = []
this.loading = 'county' this.loading = 'county'
this.$emit('areaPicker', obj.sidPath) this.$emit('areaPicker', obj.sidPath)
getCounty({ sid: val }).then(res => { getCounty({ sid: val }).then(res => {
this.county_list = res.data this.county_list = res.data
this.loading = false this.loading = false
}) })
}, },
changeCounty(val){ changeCounty(val){
let obj = {}; let obj = {};
obj = this.county_list.find((item)=>{ obj = this.county_list.find((item)=>{
return item.sid === val;//筛选出匹配数据 return item.sid === val;//筛选出匹配数据
}); });
this.$emit('areaPicker', obj.sidPath) this.$emit('areaPicker', obj.sidPath)
} }
} }
} }
</script> </script>
<style> <style>
</style> </style>

View File

@@ -1,78 +1,78 @@
<template> <template>
<el-breadcrumb class="app-breadcrumb" separator="/"> <el-breadcrumb class="app-breadcrumb" separator="/">
<transition-group name="breadcrumb"> <transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path"> <el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
<span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span> <span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
<a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a> <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
</el-breadcrumb-item> </el-breadcrumb-item>
</transition-group> </transition-group>
</el-breadcrumb> </el-breadcrumb>
</template> </template>
<script> <script>
import pathToRegexp from 'path-to-regexp' import pathToRegexp from 'path-to-regexp'
export default { export default {
data() { data() {
return { return {
levelList: null levelList: null
} }
}, },
watch: { watch: {
$route() { $route() {
this.getBreadcrumb() this.getBreadcrumb()
} }
}, },
created() { created() {
this.getBreadcrumb() this.getBreadcrumb()
}, },
methods: { methods: {
getBreadcrumb() { getBreadcrumb() {
// only show routes with meta.title // only show routes with meta.title
let matched = this.$route.matched.filter(item => item.meta && item.meta.title) let matched = this.$route.matched.filter(item => item.meta && item.meta.title)
const first = matched[0] const first = matched[0]
if (!this.isDashboard(first)) { if (!this.isDashboard(first)) {
matched = [{ path: '/dashboard', meta: { title: 'Dashboard' }}].concat(matched) matched = [{ path: '/dashboard', meta: { title: 'Dashboard' }}].concat(matched)
} }
this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
}, },
isDashboard(route) { isDashboard(route) {
const name = route && route.name const name = route && route.name
if (!name) { if (!name) {
return false return false
} }
return name.trim().toLocaleLowerCase() === 'Dashboard'.toLocaleLowerCase() return name.trim().toLocaleLowerCase() === 'Dashboard'.toLocaleLowerCase()
}, },
pathCompile(path) { pathCompile(path) {
// To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561 // To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
const { params } = this.$route const { params } = this.$route
var toPath = pathToRegexp.compile(path) var toPath = pathToRegexp.compile(path)
return toPath(params) return toPath(params)
}, },
handleLink(item) { handleLink(item) {
const { redirect, path } = item const { redirect, path } = item
if (redirect) { if (redirect) {
this.$router.push(redirect) this.$router.push(redirect)
return return
} }
this.$router.push(this.pathCompile(path)) this.$router.push(this.pathCompile(path))
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.app-breadcrumb.el-breadcrumb { .app-breadcrumb.el-breadcrumb {
display: inline-block; display: inline-block;
font-size: 14px; font-size: 14px;
line-height: 50px; line-height: 50px;
margin-left: 8px; margin-left: 8px;
.no-redirect { .no-redirect {
color: #97a8be; color: #97a8be;
cursor: text; cursor: text;
} }
} }
</style> </style>

View File

@@ -1,130 +1,130 @@
<template> <template>
<!--标题按钮部分开始--> <!--标题按钮部分开始-->
<div class="tab-header webtop"> <div class="tab-header webtop">
<!--标题--> <!--标题-->
<div>{{ viewTitle }}<span style="padding-left: 10px">{{ version }}</span><span style="padding-left: 10px">{{ time }}</span></div> <div>{{ viewTitle }}<span style="padding-left: 10px">{{ version }}</span><span style="padding-left: 10px">{{ time }}</span></div>
<!--start 按钮部分开始 :icon="item.icon"--> <!--start 按钮部分开始 :icon="item.icon"-->
<div> <div>
<el-button v-for="item in btnList" :key="item.btnKey" :type="item.type" :size="item.size" :disabled="btndisabled" @click="btnHandle(item.btnKey)"> <el-button v-for="item in btnList" :key="item.btnKey" :type="item.type" :size="item.size" :disabled="btndisabled" @click="btnHandle(item.btnKey)">
<svg-icon v-if="item.icon" :iconClass="item.icon"/>{{ item.btnLabel }} <svg-icon v-if="item.icon" :iconClass="item.icon"/>{{ item.btnLabel }}
</el-button> </el-button>
</div> </div>
<!--end 按钮部分结束--> <!--end 按钮部分结束-->
</div> </div>
<!--标题按钮部分结束--> <!--标题按钮部分结束-->
</template> </template>
<script> <script>
export default { export default {
name: 'ButtonBar', name: 'ButtonBar',
props: { props: {
viewTitle: String, viewTitle: String,
version: { version: {
type: String, type: String,
default: '' default: ''
}, },
time: { time: {
type: String, type: String,
default: '' default: ''
}, },
btndisabled: { type: Boolean, default: false } btndisabled: { type: Boolean, default: false }
}, },
data() { data() {
return { return {
currentPath: this.$route.path, currentPath: this.$route.path,
userSid: this.$store.getters.userInfo ? this.$store.getters.userInfo.userSid : '', userSid: this.$store.getters.userInfo ? this.$store.getters.userInfo.userSid : '',
btnList: [ btnList: [
{ {
type: 'primary', type: 'primary',
size: 'small', size: 'small',
icon: 'plus', icon: 'plus',
btnKey: 'toAdd', btnKey: 'toAdd',
btnLabel: '新增' btnLabel: '新增'
}, },
{ {
type: 'primary', type: 'primary',
size: 'small', size: 'small',
icon: 'edit', icon: 'edit',
btnKey: 'toEdit', btnKey: 'toEdit',
btnLabel: '编辑' btnLabel: '编辑'
}, },
{ {
type: 'primary', type: 'primary',
size: 'small', size: 'small',
icon: 'submit', icon: 'submit',
btnKey: 'doSubmit', btnKey: 'doSubmit',
btnLabel: '提交' btnLabel: '提交'
}, },
{ {
type: 'danger', type: 'danger',
size: 'small', size: 'small',
icon: 'del', icon: 'del',
btnKey: 'doDel', btnKey: 'doDel',
btnLabel: '删除' btnLabel: '删除'
}, },
{ {
type: 'success', type: 'success',
size: 'small', size: 'small',
icon: 'Import', icon: 'Import',
btnKey: 'doImport', btnKey: 'doImport',
btnLabel: '导入' btnLabel: '导入'
}, },
{ {
type: 'success', type: 'success',
size: 'small', size: 'small',
icon: 'export', icon: 'export',
btnKey: 'build', btnKey: 'build',
btnLabel: '导出' btnLabel: '导出'
}, },
{ {
type: 'info', type: 'info',
size: 'small', size: 'small',
icon: 'cross', icon: 'cross',
btnKey: 'doClose', btnKey: 'doClose',
btnLabel: '关闭' btnLabel: '关闭'
} }
] ]
} }
}, },
created: function() { created: function() {
this.initPermission() this.initPermission()
}, },
methods: { methods: {
initPermission() { initPermission() {
console.log('*******************当前路径 ' + this.currentPath) console.log('*******************当前路径 ' + this.currentPath)
console.log('*******************当前用户 ' + this.userSid) console.log('*******************当前用户 ' + this.userSid)
const params = { const params = {
currentPath: this.currentPath, currentPath: this.currentPath,
userSid: this.userSid userSid: this.userSid
} }
// req // req
// .buttonPermission(params) // .buttonPermission(params)
// .then(resp => { // .then(resp => {
// if (resp.success) { // if (resp.success) {
// this.btnList = resp.data // this.btnList = resp.data
// } // }
// }) // })
// .catch(e => { // .catch(e => {
// console.log('请求权限按钮组出错:' + e) // console.log('请求权限按钮组出错:' + e)
// }) // })
}, },
btnHandle(btnKey) { btnHandle(btnKey) {
this.$emit('btnhandle', btnKey) this.$emit('btnhandle', btnKey)
}, },
setButtonList(value) { setButtonList(value) {
this.btnList = value this.btnList = value
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.svg-icon { .svg-icon {
width: 1em; width: 1em;
height: 1em; height: 1em;
vertical-align: -0.16em; vertical-align: -0.16em;
fill: currentColor; fill: currentColor;
overflow: hidden; overflow: hidden;
margin-right: 3px; margin-right: 3px;
} }
</style> </style>

View File

@@ -1,45 +1,45 @@
<template> <template>
<el-image <el-image
:preview-src-list="[url]" :preview-src-list="[url]"
class="block-img" class="block-img"
:src="url" :src="url"
@click.stop="handleClickItem"></el-image> @click.stop="handleClickItem"></el-image>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
url: { url: {
type: String, type: String,
default: '' default: ''
}, },
}, },
data() { data() {
return { return {
} }
}, },
methods: { methods: {
handleClickItem() { handleClickItem() {
// 获取遮罩层dom // 获取遮罩层dom
let domImageMask = document.querySelector(".el-image-viewer__mask"); let domImageMask = document.querySelector(".el-image-viewer__mask");
if (!domImageMask) { if (!domImageMask) {
return; return;
} }
domImageMask.addEventListener("click", () => { domImageMask.addEventListener("click", () => {
// 点击遮罩层时调用关闭按钮的 click 事件 // 点击遮罩层时调用关闭按钮的 click 事件
document.querySelector(".el-image-viewer__close").click(); document.querySelector(".el-image-viewer__close").click();
}); });
} }
} }
} }
</script> </script>
<style> <style>
.block-img{ .block-img{
width: 30px; width: 30px;
height: 30px; height: 30px;
} }
.el-icon-circle-close{ .el-icon-circle-close{
color: white; color: white;
} }
</style> </style>

View File

@@ -1,78 +1,78 @@
<template> <template>
<div v-if="errorLogs.length>0"> <div v-if="errorLogs.length>0">
<el-badge :is-dot="true" style="line-height: 25px;margin-top: -5px;" @click.native="dialogTableVisible=true"> <el-badge :is-dot="true" style="line-height: 25px;margin-top: -5px;" @click.native="dialogTableVisible=true">
<el-button style="padding: 8px 10px;" size="small" type="danger"> <el-button style="padding: 8px 10px;" size="small" type="danger">
<svg-icon icon-class="bug" /> <svg-icon icon-class="bug" />
</el-button> </el-button>
</el-badge> </el-badge>
<el-dialog :visible.sync="dialogTableVisible" width="80%" append-to-body> <el-dialog :visible.sync="dialogTableVisible" width="80%" append-to-body>
<div slot="title"> <div slot="title">
<span style="padding-right: 10px;">Error Log</span> <span style="padding-right: 10px;">Error Log</span>
<el-button size="mini" type="primary" icon="el-icon-delete" @click="clearAll">Clear All</el-button> <el-button size="mini" type="primary" icon="el-icon-delete" @click="clearAll">Clear All</el-button>
</div> </div>
<el-table :data="errorLogs" border> <el-table :data="errorLogs" border>
<el-table-column label="Message"> <el-table-column label="Message">
<template slot-scope="{row}"> <template slot-scope="{row}">
<div> <div>
<span class="message-title">Msg:</span> <span class="message-title">Msg:</span>
<el-tag type="danger"> <el-tag type="danger">
{{ row.err.message }} {{ row.err.message }}
</el-tag> </el-tag>
</div> </div>
<br> <br>
<div> <div>
<span class="message-title" style="padding-right: 10px;">Info: </span> <span class="message-title" style="padding-right: 10px;">Info: </span>
<el-tag type="warning"> <el-tag type="warning">
{{ row.vm.$vnode.tag }} error in {{ row.info }} {{ row.vm.$vnode.tag }} error in {{ row.info }}
</el-tag> </el-tag>
</div> </div>
<br> <br>
<div> <div>
<span class="message-title" style="padding-right: 16px;">Url: </span> <span class="message-title" style="padding-right: 16px;">Url: </span>
<el-tag type="success"> <el-tag type="success">
{{ row.url }} {{ row.url }}
</el-tag> </el-tag>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="Stack"> <el-table-column label="Stack">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.err.stack }} {{ scope.row.err.stack }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'ErrorLog', name: 'ErrorLog',
data() { data() {
return { return {
dialogTableVisible: false dialogTableVisible: false
} }
}, },
computed: { computed: {
errorLogs() { errorLogs() {
return this.$store.getters.errorLogs return this.$store.getters.errorLogs
} }
}, },
methods: { methods: {
clearAll() { clearAll() {
this.dialogTableVisible = false this.dialogTableVisible = false
this.$store.dispatch('errorLog/clearErrorLog') this.$store.dispatch('errorLog/clearErrorLog')
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.message-title { .message-title {
font-size: 16px; font-size: 16px;
color: #333; color: #333;
font-weight: bold; font-weight: bold;
padding-right: 8px; padding-right: 8px;
} }
</style> </style>

View File

@@ -1,44 +1,44 @@
<template> <template>
<div style="padding: 0 15px;" @click="toggleClick"> <div style="padding: 0 15px;" @click="toggleClick">
<svg <svg
:class="{'is-active':isActive}" :class="{'is-active':isActive}"
class="hamburger" class="hamburger"
viewBox="0 0 1024 1024" viewBox="0 0 1024 1024"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="64" width="64"
height="64" height="64"
> >
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" /> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" />
</svg> </svg>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'Hamburger', name: 'Hamburger',
props: { props: {
isActive: { isActive: {
type: Boolean, type: Boolean,
default: false default: false
} }
}, },
methods: { methods: {
toggleClick() { toggleClick() {
this.$emit('toggleClick') this.$emit('toggleClick')
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.hamburger { .hamburger {
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
width: 20px; width: 20px;
height: 20px; height: 20px;
} }
.hamburger.is-active { .hamburger.is-active {
transform: rotate(180deg); transform: rotate(180deg);
} }
</style> </style>

View File

@@ -1,73 +1,73 @@
<template> <template>
<el-row> <el-row>
<el-col :span="12"><div style="height: 30px;" class="grid-content bg-purple" />&emsp;</el-col> <el-col :span="12"><div style="height: 30px;" class="grid-content bg-purple" />&emsp;</el-col>
<el-col :span="12" style="display: flex;justify-content: center;align-items: center;"> <el-col :span="12" style="display: flex;justify-content: center;align-items: center;">
<el-button v-if="notshowdelete == false" type="danger" size="mini" :disabled="multipleselection.length == 0" @click="delList">批量删除</el-button> <el-button v-if="notshowdelete == false" type="danger" size="mini" :disabled="multipleselection.length == 0" @click="delList">批量删除</el-button>
<el-pagination <el-pagination
:page-size="queryparams.size" :page-size="queryparams.size"
:current-page="queryparams.current" :current-page="queryparams.current"
:page-sizes="[10, 20, 50, 100]" :page-sizes="[10, 20, 50, 100]"
:total="queryparams.total" :total="queryparams.total"
background background
layout="total,sizes,prev,pager,next,jumper" layout="total,sizes,prev,pager,next,jumper"
@size-change="pageSizeChange" @size-change="pageSizeChange"
@current-change="pageNoChange" @current-change="pageNoChange"
/> />
</el-col> </el-col>
</el-row> </el-row>
<!-- <div style="display: flex;"> <!-- <div style="display: flex;">
</div> --> </div> -->
<!-- <el-pagination @current-change="pageNoChange" :page-size="queryparams.size" :current-page="queryparams.current" background layout="total,prev, pager, next,jumper" :total="queryparams.total"></el-pagination> --> <!-- <el-pagination @current-change="pageNoChange" :page-size="queryparams.size" :current-page="queryparams.current" background layout="total,prev, pager, next,jumper" :total="queryparams.total"></el-pagination> -->
</template> </template>
<script> <script>
export default { export default {
name: 'Pagging', name: 'Pagging',
props: { props: {
notshowdelete: Boolean, notshowdelete: Boolean,
queryparams: Object, queryparams: Object,
multipleselection: Array, multipleselection: Array,
idname: String idname: String
}, },
computed: {}, computed: {},
methods: { methods: {
delete() { delete() {
const id_name = this.idname || 'id' const id_name = this.idname || 'id'
this.$confirm('此操作将删除[' + this.multipleselection.length + ']条数据, 是否继续?', '提示', { this.$confirm('此操作将删除[' + this.multipleselection.length + ']条数据, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}) })
.then(() => { .then(() => {
let ids = '' let ids = ''
for (let i = 0; i < this.multipleselection.length; i++) { for (let i = 0; i < this.multipleselection.length; i++) {
ids += this.multipleselection[i][id_name] + ',' ids += this.multipleselection[i][id_name] + ','
} }
this.$emit('dodelete', ids) this.$emit('dodelete', ids)
}) })
.catch(() => {}) .catch(() => {})
}, },
pageSizeChange(val) { pageSizeChange(val) {
this.queryparams.size = val this.queryparams.size = val
this.$emit('reloading') this.$emit('reloading')
}, },
pageNoChange(val) { pageNoChange(val) {
this.queryparams.current = val this.queryparams.current = val
this.$emit('reloading') this.$emit('reloading')
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.el-row { .el-row {
border-bottom: #dfe6ec 1px solid; border-bottom: #dfe6ec 1px solid;
border-left: #dfe6ec 1px solid; border-left: #dfe6ec 1px solid;
border-right: #dfe6ec 1px solid; border-right: #dfe6ec 1px solid;
padding: 10px 0 10px 0; padding: 10px 0 10px 0;
} }
.el-pagination { .el-pagination {
margin: 0 auto; margin: 0 auto;
} }
</style> </style>

View File

@@ -1,59 +1,59 @@
<template> <template>
<div> <div>
<svg-icon :icon-class="isFullscreen?'exit-fullscreen':'fullscreen'" @click="click" /> <svg-icon :icon-class="isFullscreen?'exit-fullscreen':'fullscreen'" @click="click" />
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'Screenfull', name: 'Screenfull',
data() { data() {
return { return {
isFullscreen: false isFullscreen: false
} }
}, },
mounted() { mounted() {
this.init() this.init()
}, },
beforeDestroy() { beforeDestroy() {
this.destroy() this.destroy()
}, },
methods: { methods: {
click() { click() {
if (!screenfull.enabled) { if (!screenfull.enabled) {
this.$message({ this.$message({
message: 'you browser can not work', message: 'you browser can not work',
type: 'warning' type: 'warning'
}) })
return false return false
} }
screenfull.toggle() screenfull.toggle()
}, },
change() { change() {
this.isFullscreen = screenfull.isFullscreen this.isFullscreen = screenfull.isFullscreen
}, },
init() { init() {
if (screenfull.enabled) { if (screenfull.enabled) {
screenfull.on('change', this.change) screenfull.on('change', this.change)
} }
}, },
destroy() { destroy() {
if (screenfull.enabled) { if (screenfull.enabled) {
screenfull.off('change', this.change) screenfull.off('change', this.change)
} }
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.screenfull-svg { .screenfull-svg {
display: inline-block; display: inline-block;
cursor: pointer; cursor: pointer;
fill: #5a5e66;; fill: #5a5e66;;
width: 20px; width: 20px;
height: 20px; height: 20px;
vertical-align: 10px; vertical-align: 10px;
} }
</style> </style>

View File

@@ -1,57 +1,57 @@
<template> <template>
<el-dropdown trigger="click" @command="handleSetSize"> <el-dropdown trigger="click" @command="handleSetSize">
<div> <div>
<svg-icon class-name="size-icon" icon-class="size" /> <svg-icon class-name="size-icon" icon-class="size" />
</div> </div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="item of sizeOptions" :key="item.value" :disabled="size===item.value" :command="item.value"> <el-dropdown-item v-for="item of sizeOptions" :key="item.value" :disabled="size===item.value" :command="item.value">
{{ {{
item.label }} item.label }}
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
sizeOptions: [ sizeOptions: [
{ label: 'Default', value: 'default' }, { label: 'Default', value: 'default' },
{ label: 'Medium', value: 'medium' }, { label: 'Medium', value: 'medium' },
{ label: 'Small', value: 'small' }, { label: 'Small', value: 'small' },
{ label: 'Mini', value: 'mini' } { label: 'Mini', value: 'mini' }
] ]
} }
}, },
computed: { computed: {
size() { size() {
return this.$store.getters.size return this.$store.getters.size
} }
}, },
methods: { methods: {
handleSetSize(size) { handleSetSize(size) {
this.$ELEMENT.size = size this.$ELEMENT.size = size
this.$store.dispatch('app/setSize', size) this.$store.dispatch('app/setSize', size)
this.refreshView() this.refreshView()
this.$message({ this.$message({
message: 'Switch Size Success', message: 'Switch Size Success',
type: 'success' type: 'success'
}) })
}, },
refreshView() { refreshView() {
// In order to make the cached page re-rendered // In order to make the cached page re-rendered
this.$store.dispatch('tagsView/delAllCachedViews', this.$route) this.$store.dispatch('tagsView/delAllCachedViews', this.$route)
const { fullPath } = this.$route const { fullPath } = this.$route
this.$nextTick(() => { this.$nextTick(() => {
this.$router.replace({ this.$router.replace({
path: '/redirect' + fullPath path: '/redirect' + fullPath
}) })
}) })
} }
} }
} }
</script> </script>

View File

@@ -1,62 +1,62 @@
<template> <template>
<div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" /> <div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" />
<svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners"> <svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners">
<use :xlink:href="iconName" /> <use :xlink:href="iconName" />
</svg> </svg>
</template> </template>
<script> <script>
// doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage // doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage
import { isExternal } from '@/utils/validate' import { isExternal } from '@/utils/validate'
export default { export default {
name: 'SvgIcon', name: 'SvgIcon',
props: { props: {
iconClass: { iconClass: {
type: String, type: String,
required: true required: true
}, },
className: { className: {
type: String, type: String,
default: '' default: ''
} }
}, },
computed: { computed: {
isExternal() { isExternal() {
return isExternal(this.iconClass) return isExternal(this.iconClass)
}, },
iconName() { iconName() {
return `#icon-${this.iconClass}` return `#icon-${this.iconClass}`
}, },
svgClass() { svgClass() {
if (this.className) { if (this.className) {
return 'svg-icon ' + this.className return 'svg-icon ' + this.className
} else { } else {
return 'svg-icon' return 'svg-icon'
} }
}, },
styleExternalIcon() { styleExternalIcon() {
return { return {
mask: `url(${this.iconClass}) no-repeat 50% 50%`, mask: `url(${this.iconClass}) no-repeat 50% 50%`,
'-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%` '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`
} }
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.svg-icon { .svg-icon {
width: 1em; width: 1em;
height: 1em; height: 1em;
vertical-align: -0.15em; vertical-align: -0.15em;
fill: currentColor; fill: currentColor;
overflow: hidden; overflow: hidden;
} }
.svg-external-icon { .svg-external-icon {
background-color: currentColor; background-color: currentColor;
mask-size: cover!important; mask-size: cover!important;
display: inline-block; display: inline-block;
} }
</style> </style>

View File

@@ -1,175 +1,175 @@
<template> <template>
<el-color-picker <el-color-picker
v-model="theme" v-model="theme"
:predefine="['#409EFF', '#1890ff', '#304156','#212121','#11a983', '#13c2c2', '#6959CD', '#f5222d', ]" :predefine="['#409EFF', '#1890ff', '#304156','#212121','#11a983', '#13c2c2', '#6959CD', '#f5222d', ]"
class="theme-picker" class="theme-picker"
popper-class="theme-picker-dropdown" popper-class="theme-picker-dropdown"
/> />
</template> </template>
<script> <script>
const version = require('element-ui/package.json').version // element-ui version from node_modules const version = require('element-ui/package.json').version // element-ui version from node_modules
const ORIGINAL_THEME = '#409EFF' // default color const ORIGINAL_THEME = '#409EFF' // default color
export default { export default {
data() { data() {
return { return {
chalk: '', // content of theme-chalk css chalk: '', // content of theme-chalk css
theme: '' theme: ''
} }
}, },
computed: { computed: {
defaultTheme() { defaultTheme() {
return this.$store.state.settings.theme return this.$store.state.settings.theme
} }
}, },
watch: { watch: {
defaultTheme: { defaultTheme: {
handler: function(val, oldVal) { handler: function(val, oldVal) {
this.theme = val this.theme = val
}, },
immediate: true immediate: true
}, },
async theme(val) { async theme(val) {
const oldVal = this.chalk ? this.theme : ORIGINAL_THEME const oldVal = this.chalk ? this.theme : ORIGINAL_THEME
if (typeof val !== 'string') return if (typeof val !== 'string') return
const themeCluster = this.getThemeCluster(val.replace('#', '')) const themeCluster = this.getThemeCluster(val.replace('#', ''))
const originalCluster = this.getThemeCluster(oldVal.replace('#', '')) const originalCluster = this.getThemeCluster(oldVal.replace('#', ''))
console.log(themeCluster, originalCluster) console.log(themeCluster, originalCluster)
const $message = this.$message({ const $message = this.$message({
message: ' Compiling the theme', message: ' Compiling the theme',
customClass: 'theme-message', customClass: 'theme-message',
type: 'success', type: 'success',
duration: 0, duration: 0,
iconClass: 'el-icon-loading' iconClass: 'el-icon-loading'
}) })
const getHandler = (variable, id) => { const getHandler = (variable, id) => {
return () => { return () => {
const originalCluster = this.getThemeCluster(ORIGINAL_THEME.replace('#', '')) const originalCluster = this.getThemeCluster(ORIGINAL_THEME.replace('#', ''))
const newStyle = this.updateStyle(this[variable], originalCluster, themeCluster) const newStyle = this.updateStyle(this[variable], originalCluster, themeCluster)
let styleTag = document.getElementById(id) let styleTag = document.getElementById(id)
if (!styleTag) { if (!styleTag) {
styleTag = document.createElement('style') styleTag = document.createElement('style')
styleTag.setAttribute('id', id) styleTag.setAttribute('id', id)
document.head.appendChild(styleTag) document.head.appendChild(styleTag)
} }
styleTag.innerText = newStyle styleTag.innerText = newStyle
} }
} }
if (!this.chalk) { if (!this.chalk) {
const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css` const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css`
await this.getCSSString(url, 'chalk') await this.getCSSString(url, 'chalk')
} }
const chalkHandler = getHandler('chalk', 'chalk-style') const chalkHandler = getHandler('chalk', 'chalk-style')
chalkHandler() chalkHandler()
const styles = [].slice.call(document.querySelectorAll('style')) const styles = [].slice.call(document.querySelectorAll('style'))
.filter(style => { .filter(style => {
const text = style.innerText const text = style.innerText
return new RegExp(oldVal, 'i').test(text) && !/Chalk Variables/.test(text) return new RegExp(oldVal, 'i').test(text) && !/Chalk Variables/.test(text)
}) })
styles.forEach(style => { styles.forEach(style => {
const { innerText } = style const { innerText } = style
if (typeof innerText !== 'string') return if (typeof innerText !== 'string') return
style.innerText = this.updateStyle(innerText, originalCluster, themeCluster) style.innerText = this.updateStyle(innerText, originalCluster, themeCluster)
}) })
this.$emit('change', val) this.$emit('change', val)
$message.close() $message.close()
} }
}, },
methods: { methods: {
updateStyle(style, oldCluster, newCluster) { updateStyle(style, oldCluster, newCluster) {
let newStyle = style let newStyle = style
oldCluster.forEach((color, index) => { oldCluster.forEach((color, index) => {
newStyle = newStyle.replace(new RegExp(color, 'ig'), newCluster[index]) newStyle = newStyle.replace(new RegExp(color, 'ig'), newCluster[index])
}) })
return newStyle return newStyle
}, },
getCSSString(url, variable) { getCSSString(url, variable) {
return new Promise(resolve => { return new Promise(resolve => {
const xhr = new XMLHttpRequest() const xhr = new XMLHttpRequest()
xhr.onreadystatechange = () => { xhr.onreadystatechange = () => {
if (xhr.readyState === 4 && xhr.status === 200) { if (xhr.readyState === 4 && xhr.status === 200) {
this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, '') this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, '')
resolve() resolve()
} }
} }
xhr.open('GET', url) xhr.open('GET', url)
xhr.send() xhr.send()
}) })
}, },
getThemeCluster(theme) { getThemeCluster(theme) {
const tintColor = (color, tint) => { const tintColor = (color, tint) => {
let red = parseInt(color.slice(0, 2), 16) let red = parseInt(color.slice(0, 2), 16)
let green = parseInt(color.slice(2, 4), 16) let green = parseInt(color.slice(2, 4), 16)
let blue = parseInt(color.slice(4, 6), 16) let blue = parseInt(color.slice(4, 6), 16)
if (tint === 0) { // when primary color is in its rgb space if (tint === 0) { // when primary color is in its rgb space
return [red, green, blue].join(',') return [red, green, blue].join(',')
} else { } else {
red += Math.round(tint * (255 - red)) red += Math.round(tint * (255 - red))
green += Math.round(tint * (255 - green)) green += Math.round(tint * (255 - green))
blue += Math.round(tint * (255 - blue)) blue += Math.round(tint * (255 - blue))
red = red.toString(16) red = red.toString(16)
green = green.toString(16) green = green.toString(16)
blue = blue.toString(16) blue = blue.toString(16)
return `#${red}${green}${blue}` return `#${red}${green}${blue}`
} }
} }
const shadeColor = (color, shade) => { const shadeColor = (color, shade) => {
let red = parseInt(color.slice(0, 2), 16) let red = parseInt(color.slice(0, 2), 16)
let green = parseInt(color.slice(2, 4), 16) let green = parseInt(color.slice(2, 4), 16)
let blue = parseInt(color.slice(4, 6), 16) let blue = parseInt(color.slice(4, 6), 16)
red = Math.round((1 - shade) * red) red = Math.round((1 - shade) * red)
green = Math.round((1 - shade) * green) green = Math.round((1 - shade) * green)
blue = Math.round((1 - shade) * blue) blue = Math.round((1 - shade) * blue)
red = red.toString(16) red = red.toString(16)
green = green.toString(16) green = green.toString(16)
blue = blue.toString(16) blue = blue.toString(16)
return `#${red}${green}${blue}` return `#${red}${green}${blue}`
} }
const clusters = [theme] const clusters = [theme]
for (let i = 0; i <= 9; i++) { for (let i = 0; i <= 9; i++) {
clusters.push(tintColor(theme, Number((i / 10).toFixed(2)))) clusters.push(tintColor(theme, Number((i / 10).toFixed(2))))
} }
clusters.push(shadeColor(theme, 0.1)) clusters.push(shadeColor(theme, 0.1))
return clusters return clusters
} }
} }
} }
</script> </script>
<style> <style>
.theme-message, .theme-message,
.theme-picker-dropdown { .theme-picker-dropdown {
z-index: 99999 !important; z-index: 99999 !important;
} }
.theme-picker .el-color-picker__trigger { .theme-picker .el-color-picker__trigger {
height: 26px !important; height: 26px !important;
width: 26px !important; width: 26px !important;
padding: 2px; padding: 2px;
} }
.theme-picker-dropdown .el-color-dropdown__link-btn { .theme-picker-dropdown .el-color-dropdown__link-btn {
display: none; display: none;
} }
</style> </style>

View File

@@ -1,224 +1,224 @@
<template> <template>
<el-dialog top="5vh" :append-to-body="true" title="获取地图坐标" :visible.sync="dialogVisible" :before-close="handleClose" width="1000px"> <el-dialog top="5vh" :append-to-body="true" title="获取地图坐标" :visible.sync="dialogVisible" :before-close="handleClose" width="1000px">
<div class="amap-page-container"> <div class="amap-page-container">
<el-amap-search-box class="search-box" :search-option="searchOption" :on-search-result="onSearchResult" /> <el-amap-search-box class="search-box" :search-option="searchOption" :on-search-result="onSearchResult" />
<div class="toolbar"> <div class="toolbar">
<span>当前坐标: {{ lng }}, {{ lat }}</span> <span>当前坐标: {{ lng }}, {{ lat }}</span>
<span>地址: {{ address }}</span> <span>地址: {{ address }}</span>
<el-button type="primary" @click="select" class="btn">确定</el-button> <el-button type="primary" @click="select" class="btn">确定</el-button>
</div> </div>
<el-amap <el-amap
class="amap-demo" class="amap-demo"
vid="amapDemo2" vid="amapDemo2"
:zoom="zoom" :zoom="zoom"
:center="mapCenter" :center="mapCenter"
:events="events" :events="events"
:plugin="plugin" :plugin="plugin"
> >
<el-amap-marker v-for="(marker,index) in markers" <el-amap-marker v-for="(marker,index) in markers"
:key="index" :key="index"
:position="marker" :position="marker"
:events="markerEvents" :events="markerEvents"
/> />
<!-- <el-amap-marker v-for="marker in markers" :position="marker" /> --> <!-- <el-amap-marker v-for="marker in markers" :position="marker" /> -->
</el-amap> </el-amap>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { AMapManager } from 'vue-amap' import { AMapManager } from 'vue-amap'
export default { export default {
name: 'AmapPage', name: 'AmapPage',
props: { props: {
dialogVisible: { dialogVisible: {
type: Boolean, type: Boolean,
default: false default: false
}, },
address:{ address:{
type: String, type: String,
default: '' default: ''
}, },
makerPosition: { makerPosition: {
type: String, type: String,
default: '' default: ''
} }
}, },
data: function() { data: function() {
const self = this const self = this
return { return {
zoom: 14, zoom: 14,
mapCenter: [114.508905, 38.004099], mapCenter: [114.508905, 38.004099],
searchOption: { searchOption: {
city: '石家庄', city: '石家庄',
citylimit: false citylimit: false
}, },
lng: 0, lng: 0,
lat: 0, lat: 0,
loaded: false, loaded: false,
plugin: [{ plugin: [{
pName: 'Geolocation', pName: 'Geolocation',
resizeEnable: true, //是否使用高精度定位,默认:true resizeEnable: true, //是否使用高精度定位,默认:true
timeout: 100, //超过10秒后停止定位默认无穷大 timeout: 100, //超过10秒后停止定位默认无穷大
events: { events: {
init(o) { init(o) {
// o 是高德地图定位插件实例 // o 是高德地图定位插件实例
o.getCurrentPosition((status, result) => { o.getCurrentPosition((status, result) => {
if (result && result.position) { if (result && result.position) {
if (self.makerPosition.length == 0) { if (self.makerPosition.length == 0) {
self.$emit('update:address', result.formattedAddress) self.$emit('update:address', result.formattedAddress)
// 设置经度 // 设置经度
self.lng = result.position.lng; self.lng = result.position.lng;
// 设置维度 // 设置维度
self.lat = result.position.lat; self.lat = result.position.lat;
// 设置坐标 // 设置坐标
self.mapCenter = [self.lng, self.lat]; self.mapCenter = [self.lng, self.lat];
}else{ }else{
let maker = self.makerPosition.split(",") let maker = self.makerPosition.split(",")
self.lng = maker[0] self.lng = maker[0]
self.lat = maker[1] self.lat = maker[1]
} }
// load // load
self.loaded = true self.loaded = true
// 页面渲染好后 // 页面渲染好后
self.$nextTick() self.$nextTick()
} }
}) })
} }
} }
} }
], ],
events: { events: {
click(e) { click(e) {
const { lng, lat } = e.lnglat const { lng, lat } = e.lnglat
self.lng = lng self.lng = lng
self.lat = lat self.lat = lat
self.markers[0] = [lng, lat] self.markers[0] = [lng, lat]
// 这里通过高德 SDK 完成。 // 这里通过高德 SDK 完成。
var geocoder = new AMap.Geocoder({ var geocoder = new AMap.Geocoder({
radius: 1000, radius: 1000,
extensions: 'all' extensions: 'all'
}) })
geocoder.getAddress([lng, lat], function(status, result) { geocoder.getAddress([lng, lat], function(status, result) {
if (status === 'complete' && result.info === 'OK') { if (status === 'complete' && result.info === 'OK') {
if (result && result.regeocode) { if (result && result.regeocode) {
let addressComponent = result.regeocode.addressComponent let addressComponent = result.regeocode.addressComponent
let address = addressComponent.province + addressComponent.city + addressComponent.district + addressComponent.street + addressComponent.streetNumber let address = addressComponent.province + addressComponent.city + addressComponent.district + addressComponent.street + addressComponent.streetNumber
self.$emit('update:address', address) self.$emit('update:address', address)
self.$nextTick() self.$nextTick()
} }
} }
}) })
} }
}, },
markerEvents:{ // marker点点击事件 markerEvents:{ // marker点点击事件
click: e => { click: e => {
const { lng, lat } = e.lnglat const { lng, lat } = e.lnglat
self.lng = lng self.lng = lng
self.lat = lat self.lat = lat
// self.markers[0] = [lng, lat] // self.markers[0] = [lng, lat]
// 这里通过高德 SDK 完成。 // 这里通过高德 SDK 完成。
var geocoder = new AMap.Geocoder({ var geocoder = new AMap.Geocoder({
radius: 1000, radius: 1000,
extensions: 'all' extensions: 'all'
}) })
geocoder.getAddress([lng, lat], function(status, result) { geocoder.getAddress([lng, lat], function(status, result) {
if (status === 'complete' && result.info === 'OK') { if (status === 'complete' && result.info === 'OK') {
if (result && result.regeocode) { if (result && result.regeocode) {
let addressComponent = result.regeocode.addressComponent let addressComponent = result.regeocode.addressComponent
let address = addressComponent.province + addressComponent.city + addressComponent.district + addressComponent.street + addressComponent.streetNumber let address = addressComponent.province + addressComponent.city + addressComponent.district + addressComponent.street + addressComponent.streetNumber
self.$emit('update:address', address) self.$emit('update:address', address)
self.$nextTick() self.$nextTick()
} }
} }
}) })
} }
} }
} }
}, },
computed:{ computed:{
markers: { markers: {
get: function () { get: function () {
return [[this.lng, this.lat]] return [[this.lng, this.lat]]
}, },
set: function (newValue) { set: function (newValue) {
} }
} }
}, },
methods: { methods: {
onSearchResult(pois) { onSearchResult(pois) {
let latSum = 0 let latSum = 0
let lngSum = 0 let lngSum = 0
let _self = this let _self = this
this.markers = [] this.markers = []
if (pois.length > 0) { if (pois.length > 0) {
const { lng, lat } = pois[0] const { lng, lat } = pois[0]
_self.lng = lng _self.lng = lng
_self.lat = lat _self.lat = lat
_self.mapCenter = [lng, lat]; _self.mapCenter = [lng, lat];
// 这里通过高德 SDK 完成。 // 这里通过高德 SDK 完成。
var geocoder = new AMap.Geocoder({ var geocoder = new AMap.Geocoder({
radius: 1000, radius: 1000,
extensions: 'all' extensions: 'all'
}) })
geocoder.getAddress([lng, lat], (status, result) => { geocoder.getAddress([lng, lat], (status, result) => {
if (status === 'complete' && result.info === 'OK') { if (status === 'complete' && result.info === 'OK') {
if (result && result.regeocode) { if (result && result.regeocode) {
let addressComponent = result.regeocode.addressComponent let addressComponent = result.regeocode.addressComponent
let address = addressComponent.province + addressComponent.city + addressComponent.district + addressComponent.street + addressComponent.streetNumber let address = addressComponent.province + addressComponent.city + addressComponent.district + addressComponent.street + addressComponent.streetNumber
_self.$emit('update:address', address) _self.$emit('update:address', address)
_self.$nextTick() _self.$nextTick()
} }
} }
}) })
} }
}, },
handleClose(done) { handleClose(done) {
this.$emit('update:dialogVisible', false) this.$emit('update:dialogVisible', false)
this.$nextTick(() => { this.$nextTick(() => {
done() done()
}) })
}, },
select() { select() {
this.$emit('update:dialogVisible', false) this.$emit('update:dialogVisible', false)
this.$emit('update:makerPosition', this.markers[0].toString()) this.$emit('update:makerPosition', this.markers[0].toString())
this.$emit('update:address', this.address) this.$emit('update:address', this.address)
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.amap-demo { .amap-demo {
height: 450px; height: 450px;
} }
.search-box { .search-box {
z-index: 999; z-index: 999;
margin-bottom: 20px; margin-bottom: 20px;
position: absolute; position: absolute;
top: 70px; top: 70px;
left: 100px; left: 100px;
} }
.amap-page-container { .amap-page-container {
position: relative; position: relative;
} }
.toolbar{ .toolbar{
padding-bottom: 10px; padding-bottom: 10px;
height: 50px; height: 50px;
line-height: 50px; line-height: 50px;
position: relative; position: relative;
.btn{ .btn{
position: absolute; position: absolute;
right: 0; right: 0;
} }
span{ span{
padding-left: 10px; padding-left: 10px;
} }
} }
</style> </style>

View File

@@ -1,32 +1,32 @@
<template> <template>
<div> <div>
<bpmn-modeler <bpmn-modeler
ref="refNode" ref="refNode"
:xml="xmlData" :xml="xmlData"
:is-view="true" :is-view="true"
:taskList="taskData" :taskList="taskData"
/> />
</div> </div>
</template> </template>
<script> <script>
import bpmnModeler from '@/views/Process/index' import bpmnModeler from '@/views/Process/index'
export default { export default {
name: "Flow", name: "Flow",
components: { components: {
bpmnModeler bpmnModeler
}, },
props: { props: {
xmlData: { xmlData: {
type: String, type: String,
default: '' default: ''
}, },
taskData: { taskData: {
type: Array, type: Array,
default: () => [] default: () => []
} }
}, },
data() { data() {
return {}; return {};
} }
}; };
</script> </script>

View File

@@ -1,130 +1,130 @@
<template> <template>
<div> <div>
<!--流程流转记录--> <!--流程流转记录-->
<el-card style="overflow: auto;height: 600px"> <el-card style="overflow: auto;height: 600px">
<el-col :span="24"> <el-col :span="24">
<div> <div>
<div style="width:50%;float:left;"> <div style="width:50%;float:left;">
<span class="el-icon-picture-outline">流程图</span> <span class="el-icon-picture-outline">流程图</span>
<flow :xmlData="xmlData" :taskData="taskData"></flow> <flow :xmlData="xmlData" :taskData="taskData"></flow>
</div> </div>
<div style="width:50%;;float:left;border-left: 1px solid blue"> <div style="width:50%;;float:left;border-left: 1px solid blue">
<el-timeline> <el-timeline>
<el-timeline-item v-for="(item,index ) in flowRecordList" :key="index" :icon="setIcon(item.time)" :color="setColor(item.time)"> <el-timeline-item v-for="(item,index ) in flowRecordList" :key="index" :icon="setIcon(item.time)" :color="setColor(item.time)">
<div v-if="item.flowableRecordVo !== null"> <div v-if="item.flowableRecordVo !== null">
<p style="font-weight: 700">{{ item.flowableRecordVo.taskName }}</p> <p style="font-weight: 700">{{ item.flowableRecordVo.taskName }}</p>
<el-card :body-style="{ padding: '10px' }"> <el-card :body-style="{ padding: '10px' }">
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: flex-start"> <div style="display: flex;flex-direction: row;justify-content: space-between;align-items: flex-start">
<div> <div>
<label v-if="item.flowableRecordVo.taskUserInfos" style="font-weight: normal;margin-right: 30px;">实际办理 <label v-if="item.flowableRecordVo.taskUserInfos" style="font-weight: normal;margin-right: 30px;">实际办理
<span v-for="(items, index ) in item.flowableRecordVo.taskUserInfos" :key="index">{{ items.assigneeName }},</span> <span v-for="(items, index ) in item.flowableRecordVo.taskUserInfos" :key="index">{{ items.assigneeName }},</span>
<!-- <el-tag type="info" size="mini">{{item.deptName}}</el-tag>--> <!-- <el-tag type="info" size="mini">{{item.deptName}}</el-tag>-->
</label> </label>
<label v-if="item.flowableRecordVo.candidate" style="font-weight: normal;margin-right: 30px;">候选办理{{ item.flowableRecordVo.candidate }}</label><br> <label v-if="item.flowableRecordVo.candidate" style="font-weight: normal;margin-right: 30px;">候选办理{{ item.flowableRecordVo.candidate }}</label><br>
<label style="font-weight: normal">接收时间 </label><label style="color:#8a909c;font-weight: normal">{{ item.flowableRecordVo.createTime }}</label><br> <label style="font-weight: normal">接收时间 </label><label style="color:#8a909c;font-weight: normal">{{ item.flowableRecordVo.createTime }}</label><br>
<label v-if="item.flowableRecordVo.finishTime" style="font-weight: normal">办理时间 </label> <label v-if="item.flowableRecordVo.finishTime" style="font-weight: normal">办理时间 </label>
<label style="color:#8a909c;font-weight: normal">{{ item.flowableRecordVo.finishTime }}</label><br> <label style="color:#8a909c;font-weight: normal">{{ item.flowableRecordVo.finishTime }}</label><br>
</div> </div>
<div> <div>
<label v-if="item.flowableRecordVo.duration" style="font-weight: normal">耗时</label> <label v-if="item.flowableRecordVo.duration" style="font-weight: normal">耗时</label>
<label style="color:red;font-weight: normal">{{ item.flowableRecordVo.duration }}</label> <label style="color:red;font-weight: normal">{{ item.flowableRecordVo.duration }}</label>
</div> </div>
</div> </div>
<div> <div>
<p v-if="item.flowableRecordVo.comment"> <p v-if="item.flowableRecordVo.comment">
<el-tag type="success" v-if="item.flowableRecordVo.comment.type === '1'"> {{ item.flowableRecordVo.comment.comment }}</el-tag> <el-tag type="success" v-if="item.flowableRecordVo.comment.type === '1'"> {{ item.flowableRecordVo.comment.comment }}</el-tag>
<el-tag type="warning" v-if="item.flowableRecordVo.comment.type === '2'"> {{ item.flowableRecordVo.comment.comment }}</el-tag> <el-tag type="warning" v-if="item.flowableRecordVo.comment.type === '2'"> {{ item.flowableRecordVo.comment.comment }}</el-tag>
<el-tag type="danger" v-if="item.flowableRecordVo.comment.type === '3'"> {{ item.flowableRecordVo.comment.comment }}</el-tag> <el-tag type="danger" v-if="item.flowableRecordVo.comment.type === '3'"> {{ item.flowableRecordVo.comment.comment }}</el-tag>
<el-tag type="danger" v-if="item.flowableRecordVo.comment.type === '7'"> {{ item.flowableRecordVo.comment.comment }}</el-tag> <el-tag type="danger" v-if="item.flowableRecordVo.comment.type === '7'"> {{ item.flowableRecordVo.comment.comment }}</el-tag>
<el-tag type="danger" v-if="item.flowableRecordVo.comment.type === '6'"> {{ item.flowableRecordVo.comment.comment }}</el-tag> <el-tag type="danger" v-if="item.flowableRecordVo.comment.type === '6'"> {{ item.flowableRecordVo.comment.comment }}</el-tag>
</p> </p>
</div> </div>
</el-card> </el-card>
</div> </div>
<div v-else> <div v-else>
<p style="font-weight: 700">{{ item.processCommentVo.title }}</p> <p style="font-weight: 700">{{ item.processCommentVo.title }}</p>
<el-card :body-style="{ padding: '10px' }"> <el-card :body-style="{ padding: '10px' }">
<div> <div>
<div> <div>
<label style="font-weight: normal">评论时间 </label><label style="color:#8a909c;font-weight: normal">{{ item.processCommentVo.time }}</label><br> <label style="font-weight: normal">评论时间 </label><label style="color:#8a909c;font-weight: normal">{{ item.processCommentVo.time }}</label><br>
<label style="font-weight: normal">评论内容 </label><label style="color:#8a909c;font-weight: normal">{{ item.processCommentVo.content }}</label><br> <label style="font-weight: normal">评论内容 </label><label style="color:#8a909c;font-weight: normal">{{ item.processCommentVo.content }}</label><br>
<label style="font-weight: normal" v-show="item.processCommentVo.fileList.length > 0">评论图片: </label><label style="color:#0294d7;font-weight: normal" v-show="item.processCommentVo.fileList.length > 0" @click="handLook(item.processCommentVo.fileList)">查看</label> <label style="font-weight: normal" v-show="item.processCommentVo.fileList.length > 0">评论图片: </label><label style="color:#0294d7;font-weight: normal" v-show="item.processCommentVo.fileList.length > 0" @click="handLook(item.processCommentVo.fileList)">查看</label>
</div> </div>
</div> </div>
</el-card> </el-card>
</div> </div>
</el-timeline-item> </el-timeline-item>
</el-timeline> </el-timeline>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-card> </el-card>
<el-dialog :visible="dialogViseble" append-to-body :before-close="handleClose"> <el-dialog :visible="dialogViseble" append-to-body :before-close="handleClose">
<el-image style="width: 178px;height: 178px" v-for="(item,index) in imgList" :key="index" :src="item" :preview-src-list="imgList"></el-image> <el-image style="width: 178px;height: 178px" v-for="(item,index) in imgList" :key="index" :src="item" :preview-src-list="imgList"></el-image>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import flow from '@C/flow/flow' import flow from '@C/flow/flow'
export default { export default {
name: 'flowRecords', name: 'flowRecords',
components: { components: {
flow flow
}, },
props: { props: {
xmlData: { xmlData: {
type: String, type: String,
default: '' default: ''
}, },
taskData: { taskData: {
type: Array, type: Array,
default: () => [] default: () => []
}, },
flowRecordList: { flowRecordList: {
type: Array, type: Array,
default: () => [] default: () => []
} }
}, },
data() { data() {
return { return {
dialogViseble: false, dialogViseble: false,
imgList: [] imgList: []
} }
}, },
created() { created() {
}, },
methods: { methods: {
handLook(value) { handLook(value) {
console.log(value) console.log(value)
this.dialogViseble = true this.dialogViseble = true
this.imgList = value this.imgList = value
}, },
handleClose() { handleClose() {
this.dialogViseble = false this.dialogViseble = false
this.imgList = [] this.imgList = []
}, },
setIcon(val) { setIcon(val) {
if (val) { if (val) {
return 'el-icon-check' return 'el-icon-check'
} else { } else {
return 'el-icon-time' return 'el-icon-time'
} }
}, },
setColor(val) { setColor(val) {
if (val) { if (val) {
return '#2bc418' return '#2bc418'
} else { } else {
return '#b3bdbb' return '#b3bdbb'
} }
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.el-tag { .el-tag {
white-space: normal; white-space: normal;
height: auto; height: auto;
line-height: 20px; line-height: 20px;
} }
</style> </style>

View File

@@ -1,147 +1,147 @@
<template> <template>
<div> <div>
<div class="big-box" id="BigBox" <div class="big-box" id="BigBox"
v-loading="loading" v-loading="loading"
element-loading-text="拼命加载中" element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading" element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)"> element-loading-background="rgba(0, 0, 0, 0.8)">
<img class="codeimg" :src="imgCodeUrl" alt=""> <img class="codeimg" :src="imgCodeUrl" alt="">
<div class="click-box" @click="clickBox"></div> <div class="click-box" @click="clickBox"></div>
</div> </div>
<div class="wordList"> <div class="wordList">
请在上图依次点击: 请在上图依次点击:
<i>{{wordList[0]}}</i> <i>{{wordList[0]}}</i>
<i>{{wordList[1]}}</i> <i>{{wordList[1]}}</i>
<i>{{wordList[2]}}</i> <i>{{wordList[2]}}</i>
<span class="restcode" @click="getCodeImage">换一换</span> <span class="restcode" @click="getCodeImage">换一换</span>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import axios from 'axios' import axios from 'axios'
import qs from 'qs' import qs from 'qs'
export default { export default {
data() { data() {
return { return {
rndNum: '', //随机数 rndNum: '', //随机数
imgCodeUrl: '', //图片地址 imgCodeUrl: '', //图片地址
cssCode: '', //验证码样式 cssCode: '', //验证码样式
isSubmit: true, //提交开关 isSubmit: true, //提交开关
zuobiaoNum: 0, //点击数 zuobiaoNum: 0, //点击数
zuobiaoArr: [], //坐标数组 zuobiaoArr: [], //坐标数组
tempElement: [] ,//记录追加标签,删除时使用 tempElement: [] ,//记录追加标签,删除时使用
wordList: [] ,// 要选择的文字 wordList: [] ,// 要选择的文字
uuid: '', uuid: '',
loading: true loading: true
} }
}, },
created() { created() {
// this.getCodeImage() //获取验证码 // this.getCodeImage() //获取验证码
}, },
methods: { methods: {
// 获取图片验证码 // 获取图片验证码
getCodeImage() { getCodeImage() {
this.zuobiaoNum = 0 this.zuobiaoNum = 0
this.zuobiaoArr = [] this.zuobiaoArr = []
let BigBox = document.getElementById("BigBox"); let BigBox = document.getElementById("BigBox");
for (let i = 0; i < this.tempElement.length; i++) { for (let i = 0; i < this.tempElement.length; i++) {
BigBox.removeChild(this.tempElement[i]); BigBox.removeChild(this.tempElement[i]);
} }
this.tempElement = [] this.tempElement = []
axios.get('api/portal/v1/captcha/clickWord',{ params:{_t: Date.parse(new Date()) / 1000} }).then(res =>{ axios.get('api/portal/v1/captcha/clickWord',{ params:{_t: Date.parse(new Date()) / 1000} }).then(res =>{
console.log(res); console.log(res);
this.loading = false this.loading = false
this.imgCodeUrl = "data:image/gif;base64," + res.data.data.dataVO.originalImageBase64 this.imgCodeUrl = "data:image/gif;base64," + res.data.data.dataVO.originalImageBase64
this.wordList = res.data.data.dataVO.wordList this.wordList = res.data.data.dataVO.wordList
this.uuid = res.data.data.uuid this.uuid = res.data.data.uuid
}) })
this.rndNum = this.getRndNum() this.rndNum = this.getRndNum()
}, },
//获取随机数, //获取随机数,
getRndNum() { getRndNum() {
return Math.random() return Math.random()
.toString() .toString()
.split('.')[1] .split('.')[1]
}, },
clickBox(event) { clickBox(event) {
this.zuobiaoArr[this.zuobiaoNum] = event.offsetX + ',' + event.offsetY this.zuobiaoArr[this.zuobiaoNum] = event.offsetX + ',' + event.offsetY
this.zuobiaoArr[this.zuobiaoNum] = { 'x': parseInt(event.offsetX)-20, 'y': parseInt(event.offsetY)-20 } this.zuobiaoArr[this.zuobiaoNum] = { 'x': parseInt(event.offsetX)-20, 'y': parseInt(event.offsetY)-20 }
this.zuobiaoNum++ this.zuobiaoNum++
let BigBox = document.getElementById("BigBox"); let BigBox = document.getElementById("BigBox");
let addSpan = document.createElement("span"); let addSpan = document.createElement("span");
addSpan.innerText = this.zuobiaoNum addSpan.innerText = this.zuobiaoNum
addSpan.setAttribute('style', 'left: ' + event.offsetX + 'px; top:' + event.offsetY + 'px;') addSpan.setAttribute('style', 'left: ' + event.offsetX + 'px; top:' + event.offsetY + 'px;')
BigBox.appendChild(addSpan) BigBox.appendChild(addSpan)
this.tempElement.push(addSpan) this.tempElement.push(addSpan)
if (this.zuobiaoNum == 3) { if (this.zuobiaoNum == 3) {
let data = { let data = {
uuid: this.uuid, uuid: this.uuid,
verifyCode: '[' verifyCode: '['
} }
for (var i = 0; i < this.zuobiaoArr.length; i++) { for (var i = 0; i < this.zuobiaoArr.length; i++) {
data.verifyCode += "{'x':" + this.zuobiaoArr[i].x + ",'y':" + this.zuobiaoArr[i].y + "}" data.verifyCode += "{'x':" + this.zuobiaoArr[i].x + ",'y':" + this.zuobiaoArr[i].y + "}"
} }
data.verifyCode = data.verifyCode + ']' data.verifyCode = data.verifyCode + ']'
console.log(this.zuobiaoArr,data) console.log(this.zuobiaoArr,data)
this.$emit("login", data) this.$emit("login", data)
data = qs.stringify(data) data = qs.stringify(data)
} }
} }
}, },
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.big-box { .big-box {
position: relative; position: relative;
width: 100%; width: 100%;
height: 200px; height: 200px;
background-size: 100% 100%; background-size: 100% 100%;
.codeimg{ .codeimg{
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.click-box { .click-box {
width: 100%; width: 100%;
height: 200px; height: 200px;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 92; z-index: 92;
} }
span { span {
position: absolute; position: absolute;
width: 40px; width: 40px;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
background: rgba(0, 0, 0, 0.4); background: rgba(0, 0, 0, 0.4);
color: #fff; color: #fff;
text-align: center; text-align: center;
font-size: 20px; font-size: 20px;
border-radius: 50%; border-radius: 50%;
z-index: 1; z-index: 1;
transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%);
} }
} }
.wordList{ .wordList{
font-size: 18px; font-size: 18px;
padding-top: 5px; padding-top: 5px;
i{ i{
padding: 0 8px; padding: 0 8px;
color: #018ad2; color: #018ad2;
} }
.restcode{ .restcode{
float: right; float: right;
color: #018ad2; color: #018ad2;
cursor: pointer; cursor: pointer;
} }
} }
</style> </style>

View File

@@ -1,136 +1,136 @@
<template> <template>
<div :class="{'hidden':hidden}" class="pagination-container e-pagination"> <div :class="{'hidden':hidden}" class="pagination-container e-pagination">
<el-pagination <el-pagination
:background="background" :background="background"
:current-page.sync="current" :current-page.sync="current"
:page-size.sync="Size" :page-size.sync="Size"
:layout="layout" :layout="layout"
:page-sizes="pageSizes" :page-sizes="pageSizes"
:total="total" :total="total"
v-bind="$attrs" v-bind="$attrs"
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
/> />
</div> </div>
</template> </template>
<script> <script>
/** /**
* props 参数 * props 参数
* @total 默认数据总数 * @total 默认数据总数
* @page 默认开始页面 * @page 默认开始页面
* @limit 每页的数据条数 * @limit 每页的数据条数
* @pageSizes 分组 * @pageSizes 分组
* */ * */
export default { export default {
name: 'Pagination', name: 'Pagination',
props: { props: {
total: { total: {
required: true, required: true,
type: Number type: Number
}, },
page: { page: {
type: Number, type: Number,
default: 1 default: 1
}, },
limit: { limit: {
type: Number, type: Number,
default: 20 default: 20
}, },
pageSizes: { pageSizes: {
type: Array, type: Array,
default() { default() {
return [5, 10, 15, 20, 30, 50] return [5, 10, 15, 20, 30, 50]
} }
}, },
layout: { layout: {
type: String, type: String,
default: 'prev, pager, next, sizes, total, jumper' default: 'prev, pager, next, sizes, total, jumper'
}, },
background: { background: {
type: Boolean, type: Boolean,
default: true default: true
}, },
autoScroll: { autoScroll: {
type: Boolean, type: Boolean,
default: true default: true
}, },
hidden: { hidden: {
type: Boolean, type: Boolean,
default: false default: false
} }
}, },
/** /**
* page-size 每页显示条目个数,支持 .sync 修饰符 * page-size 每页显示条目个数,支持 .sync 修饰符
* current-page 当前页数,支持 .sync 修饰符 * current-page 当前页数,支持 .sync 修饰符
* */ * */
computed: { computed: {
current: { current: {
get() { get() {
return this.page return this.page
}, },
set(val) { set(val) {
this.$emit('update:page', val) this.$emit('update:page', val)
} }
}, },
Size: { Size: {
get() { get() {
return this.limit return this.limit
}, },
set(val) { set(val) {
this.$emit('update:limit', val) this.$emit('update:limit', val)
} }
} }
}, },
/** /**
* pagination 父定义请求函数 getList * pagination 父定义请求函数 getList
* */ * */
methods: { methods: {
handleSizeChange(val) { handleSizeChange(val) {
this.$emit('pagination', { pageNum: this.curren, pageSize: val }) this.$emit('pagination', { pageNum: this.curren, pageSize: val })
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.$emit('pagination', { pageNum: val, pageSize: this.Size }) this.$emit('pagination', { pageNum: val, pageSize: this.Size })
} }
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.pagination-container.pagesize{ .pagination-container.pagesize{
float: right; float: right;
padding: 0; padding: 0;
} }
.pagination-container { .pagination-container {
background: #fff; background: #fff;
padding: 16px 16px 0 16px; padding: 16px 16px 0 16px;
float: right; float: right;
} }
.pagination-container.hidden { .pagination-container.hidden {
display: none; display: none;
} }
.el-pagination { .el-pagination {
white-space: nowrap; white-space: nowrap;
color: #303133; color: #303133;
font-weight: bold; font-weight: bold;
height: 28px; height: 28px;
} }
.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev{ .el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev{
padding: 0 20px; padding: 0 20px;
border: 1px solid #ccc; border: 1px solid #ccc;
border-radius: 2px; border-radius: 2px;
background-color: #FFFFFF; background-color: #FFFFFF;
} }
.e-pagination{ .e-pagination{
.el-icon-arrow-left:before, .el-icon-arrow-left:before,
.el-icon-arrow-right:before{ .el-icon-arrow-right:before{
content: '下一页'; content: '下一页';
color: #727272; color: #727272;
} }
.el-icon-arrow-left:before{ .el-icon-arrow-left:before{
content: '上一页'; content: '上一页';
} }
} }
</style> </style>

View File

@@ -1,124 +1,124 @@
<template> <template>
<div :class="{'hidden':hidden}" class="pagination-container e-pagination"> <div :class="{'hidden':hidden}" class="pagination-container e-pagination">
<el-pagination <el-pagination
:background="background" :background="background"
:current-page.sync="current" :current-page.sync="current"
:page-size.sync="Size" :page-size.sync="Size"
:layout="layout" :layout="layout"
:page-sizes="pageSizes" :page-sizes="pageSizes"
:total="total" :total="total"
v-bind="$attrs" v-bind="$attrs"
@size-chage="handleSizeChange" @size-chage="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
/> />
</div> </div>
</template> </template>
<script> <script>
/** /**
* props 参数 * props 参数
* @total 默认数据总数 * @total 默认数据总数
* @page 默认开始页面 * @page 默认开始页面
* @limit 每页的数据条数 * @limit 每页的数据条数
* @pageSizes 分组 * @pageSizes 分组
* */ * */
export default { export default {
name:"Pageination", name:"Pageination",
props:{ props:{
total:{ total:{
required:true, required:true,
type:Number type:Number
}, },
page:{ page:{
type:Number, type:Number,
default:1 default:1
}, },
limit:{ limit:{
type:Number, type:Number,
default:20 default:20
}, },
pageSizes:{ pageSizes:{
type:Array, type:Array,
default(){ default(){
return[5,10,15,20,30,50] return[5,10,15,20,30,50]
} }
}, },
layout: { layout: {
type: String, type: String,
// default: 'prev, pager, next, sizes, total, jumper' // default: 'prev, pager, next, sizes, total, jumper'
default: 'sizes' default: 'sizes'
}, },
background: { background: {
type: Boolean, type: Boolean,
default: true default: true
}, },
autoScroll: { autoScroll: {
type: Boolean, type: Boolean,
default: true default: true
}, },
hidden: { hidden: {
type: Boolean, type: Boolean,
default: false default: false
} }
}, },
computed:{ computed:{
current:{ current:{
get(){ get(){
return this.page return this.page
}, },
set(val){ set(val){
this.$emit('update:page',val) this.$emit('update:page',val)
} }
}, },
Size:{ Size:{
get(){ get(){
return this.limit return this.limit
}, },
set(){ set(){
this.$emit('update:limit',val) this.$emit('update:limit',val)
} }
} }
}, },
methods:{ methods:{
handleSizeChange(val){ handleSizeChange(val){
this.$emit('pagination',{pageNum:this.current,pageSize:val}) this.$emit('pagination',{pageNum:this.current,pageSize:val})
}, },
handleCurrentChange(val){ handleCurrentChange(val){
this.$emit('pagination',{pageNum: val, pageSize: this.Size}) this.$emit('pagination',{pageNum: val, pageSize: this.Size})
} }
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.pagination-container.pagesize{ .pagination-container.pagesize{
float: right; float: right;
padding: 0; padding: 0;
} }
.pagination-container { .pagination-container {
background: #fff; background: #fff;
padding: 16px 16px 0 16px; padding: 16px 16px 0 16px;
float: right; float: right;
} }
.pagination-container.hidden { .pagination-container.hidden {
display: none; display: none;
} }
.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev{ .el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev{
padding: 0 20px; padding: 0 20px;
border: 1px solid #ccc; border: 1px solid #ccc;
border-radius: 2px; border-radius: 2px;
background-color: #FFFFFF; background-color: #FFFFFF;
} }
.e-pagination{ .e-pagination{
.el-icon-arrow-left:before, .el-icon-arrow-left:before,
.el-icon-arrow-right:before{ .el-icon-arrow-right:before{
content: '下一页'; content: '下一页';
color: #727272; color: #727272;
} }
.el-icon-arrow-left:before{ .el-icon-arrow-left:before{
content: '上一页'; content: '上一页';
} }
} }
</style> </style>

View File

@@ -1,70 +1,70 @@
<template> <template>
<div> <div>
<el-input :type="type" v-model="localValue" @input="onInput" :placeholder="placeholder" autocomplete="off" <el-input :type="type" v-model="localValue" @input="onInput" :placeholder="placeholder" autocomplete="off"
:maxlength="maxlength" show-password> :maxlength="maxlength" show-password>
</el-input> </el-input>
<div class="pasTips" v-if="pastips"> <div class="pasTips" v-if="pastips">
<span :class="{'opcity':isopcity == 1}"></span> <span :class="{'opcity':isopcity == 2}"></span> <span :class="{'opcity':isopcity == 3}"></span> <span :class="{'opcity':isopcity == 1}"></span> <span :class="{'opcity':isopcity == 2}"></span> <span :class="{'opcity':isopcity == 3}"></span>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "passwordInput", name: "passwordInput",
props: { props: {
//传进来的value值只显示不修改 //传进来的value值只显示不修改
value: { value: {
type: String, type: String,
default: '' default: ''
}, },
placeholder: { placeholder: {
type: String, type: String,
default: '' default: ''
}, },
maxlength:{ maxlength:{
type: Number, type: Number,
default: 18 default: 18
}, },
pastips:{ pastips:{
type: Boolean, type: Boolean,
default: false default: false
} }
}, },
data(){ data(){
return{ return{
// 获取props中value的值并与el-input绑定过程中不修改props中value的值保证了单向数据流原则 // 获取props中value的值并与el-input绑定过程中不修改props中value的值保证了单向数据流原则
localValue: this.value, localValue: this.value,
isopcity: 0, isopcity: 0,
type: 'password' type: 'password'
} }
}, },
methods: { methods: {
onInput(e) { onInput(e) {
this.$emit('input', e) this.$emit('input', e)
let $test = /^(?![A-Z]+$)(?![a-z]+$)(?!\d+$)(?![\W_]+$)\S{6,30}$/; let $test = /^(?![A-Z]+$)(?![a-z]+$)(?!\d+$)(?![\W_]+$)\S{6,30}$/;
let $test1 = /^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+){6,12}$/; // 弱:纯数字,纯字母,纯特殊字符 let $test1 = /^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+){6,12}$/; // 弱:纯数字,纯字母,纯特殊字符
let $test2 = /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/; //中:字母+数字,字母+特殊字符,数字+特殊字符 let $test2 = /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/; //中:字母+数字,字母+特殊字符,数字+特殊字符
let $test3 = /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/; //强:字母+数字+特殊字符 let $test3 = /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/; //强:字母+数字+特殊字符
if(e.length < 1){ this.isopcity = 0; return;} if(e.length < 1){ this.isopcity = 0; return;}
if($test1.test(e)){ if($test1.test(e)){
this.isopcity = 1 this.isopcity = 1
if($test.test(e)){ if($test.test(e)){
if($test2.test(e)){ if($test2.test(e)){
this.isopcity = 2 this.isopcity = 2
if($test3.test(e)){ if($test3.test(e)){
this.isopcity = 3 this.isopcity = 3
} }
} }
} }
}else{//没满足 弱 条件就依旧显示红色 }else{//没满足 弱 条件就依旧显示红色
this.isopcity = 1 this.isopcity = 1
} }
} }
}, },
} }
</script> </script>
<style> <style>
</style> </style>

View File

@@ -1,80 +1,80 @@
<template> <template>
<div class="tab-header"> <div class="tab-header">
<div class="tab-btn clearfix"> <div class="tab-btn clearfix">
<div class="search-from"> <div class="search-from">
<slot name="from"></slot> <slot name="from"></slot>
</div> </div>
<div class="search-bth"> <div class="search-bth">
<slot name="btn"></slot> <slot name="btn"></slot>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props:{ props:{
search:{ search:{
type: Boolean, type: Boolean,
default: false default: false
} }
}, },
data() { data() {
return { return {
form:{}, form:{},
showsearch: false showsearch: false
} }
}, },
mounted() { mounted() {
}, },
methods: { methods: {
}, },
} }
</script> </script>
<style lang="scss"> <style lang="scss">
@import "~@/styles/variables.scss"; @import "~@/styles/variables.scss";
.tab-header { .tab-header {
background-color: $search-bg; background-color: $search-bg;
padding: 8px 20px; padding: 8px 20px;
margin-bottom: 15px; margin-bottom: 15px;
.tab-search{ .tab-search{
padding: 8px 0px; padding: 8px 0px;
} }
.tab-btn{ .tab-btn{
.search-from{ .search-from{
float: left; float: left;
padding-bottom: 10px; padding-bottom: 10px;
} }
.search-bth{ .search-bth{
float: right; float: right;
} }
} }
.el-form-item{ .el-form-item{
margin-bottom: 0px; margin-bottom: 0px;
.el-input__icon, .el-input__icon,
.el-form-item__content{ .el-form-item__content{
line-height: 32px; line-height: 32px;
} }
.el-input__inner, .el-input__inner,
.el-form-item__label{ .el-form-item__label{
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
color: $text-color; color: $text-color;
} }
.el-select .el-input.is-focus .el-input__inner{ .el-select .el-input.is-focus .el-input__inner{
border-color: $border-color; border-color: $border-color;
} }
} }
.el-button{ .el-button{
padding: 8px 20px; padding: 8px 20px;
background-color: $color-primary; background-color: $color-primary;
color: $text-color-inverse; color: $text-color-inverse;
} }
.el-select{ .el-select{
width: 150px; width: 150px;
} }
} }
</style> </style>

View File

@@ -1,118 +1,118 @@
<template> <template>
<el-upload class="avatar-uploader" ref="upload" action="fakeaction" <el-upload class="avatar-uploader" ref="upload" action="fakeaction"
:show-file-list="false" :show-file-list="false"
:on-change="uploadchangeFile" :on-change="uploadchangeFile"
:http-request="uploadSectionFile"> :http-request="uploadSectionFile">
<!-- <el-button size="small" type="primary">点击上传</el-button> --> <!-- <el-button size="small" type="primary">点击上传</el-button> -->
<img v-if="Photo" :src="Photo" class="avatar"> <img v-if="Photo" :src="Photo" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
<div slot="tip" class="el-upload__tip">{{tip}}</div> <div slot="tip" class="el-upload__tip">{{tip}}</div>
</el-upload> </el-upload>
</template> </template>
<script> <script>
import { imageUpload } from '@/api/Common/Upload.js' import { imageUpload } from '@/api/Common/Upload.js'
export default { export default {
props:{ props:{
tip:{ tip:{
type: String, type: String,
default: '' default: ''
}, },
FrontPhoto:{ FrontPhoto:{
type: String, type: String,
default: "" default: ""
}, },
}, },
data() { data() {
return { return {
Photo: this.FrontPhoto, Photo: this.FrontPhoto,
loading: null loading: null
}; };
}, },
methods: { methods: {
openFullScreen2() { openFullScreen2() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: 'Loading', text: 'Loading',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
}, },
// 上传文件 FrontPhoto // 上传文件 FrontPhoto
uploadSectionFile(params) { uploadSectionFile(params) {
const file = params.file, const file = params.file,
fileType = file.type, fileType = file.type,
isImage = fileType.indexOf("image") != -1, isImage = fileType.indexOf("image") != -1,
isLt2M = file.size / 1024 / 1024 < 10; isLt2M = file.size / 1024 / 1024 < 10;
this.openFullScreen2() this.openFullScreen2()
console.log(params) console.log(params)
// 这里常规检验,看项目需求而定 // 这里常规检验,看项目需求而定
if (!isImage) { if (!isImage) {
this.$message.error("只能上传图片格式png、jpg、gif!"); this.$message.error("只能上传图片格式png、jpg、gif!");
this.loading.close(); this.loading.close();
return; return;
} }
if (!isLt2M) { if (!isLt2M) {
this.$message.error("只能上传图片大小小于10M"); this.$message.error("只能上传图片大小小于10M");
this.loading.close(); this.loading.close();
return; return;
} }
// 根据后台需求数据格式 // 根据后台需求数据格式
const form = new FormData(); const form = new FormData();
console.log(form) console.log(form)
// 文件对象 // 文件对象
form.append("file", file); form.append("file", file);
// 项目封装的请求方法,下面做简单介绍 // 项目封装的请求方法,下面做简单介绍
imageUpload(form).then(res => { imageUpload(form).then(res => {
//自行处理各种情况 //自行处理各种情况
console.log(res) console.log(res)
this.$emit('imgUrl', res.data) this.$emit('imgUrl', res.data)
this.Photo = res.data.fullUrl this.Photo = res.data.fullUrl
if(res.code == 200){ if(res.code == 200){
this.loading.close(); this.loading.close();
this.$message({ this.$message({
message: '上传成功!', message: '上传成功!',
type: 'success' type: 'success'
}); });
} }
}) })
.catch((err) => { .catch((err) => {
console.log(err) console.log(err)
}); });
}, },
uploadchangeFile(file){ uploadchangeFile(file){
// this.Photo = URL.createObjectURL(file.raw) // this.Photo = URL.createObjectURL(file.raw)
} }
} }
} }
</script> </script>
<style> <style>
.avatar-uploader .el-upload { .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9; border: 1px dashed #d9d9d9;
border-radius: 6px; border-radius: 6px;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
.avatar-uploader .el-upload:hover { .avatar-uploader .el-upload:hover {
border-color: #409EFF; border-color: #409EFF;
} }
.avatar-uploader-icon { .avatar-uploader-icon {
font-size: 28px; font-size: 28px;
color: #8c939d; color: #8c939d;
width: 200px; width: 200px;
height: 178px; height: 178px;
line-height: 178px; line-height: 178px;
text-align: center; text-align: center;
} }
.avatar { .avatar {
width: 178px; width: 178px;
height: 178px; height: 178px;
display: block; display: block;
} }
</style> </style>

View File

@@ -1,217 +1,217 @@
<template> <template>
<div> <div>
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken" :action="uploadFile" :accept="accept" list-type="picture-card" :file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees" :on-error="uploadError" :on-success="uploadImgSuccess_FuJian"> <el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken" :action="uploadFile" :accept="accept" list-type="picture-card" :file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees" :on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon"/> <i class="el-icon-plus avatar-uploader-icon"/>
</el-upload> </el-upload>
<el-dialog :visible.sync="dialogVisible" title="查看图片"> <el-dialog :visible.sync="dialogVisible" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt=""> <img width="100%" :src="dialogImageUrl" alt="">
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { uploadImgFile } from '@/api/Common/Upload' import { uploadImgFile } from '@/api/Common/Upload'
import { getStorage } from '@/utils/auth.js' import { getStorage } from '@/utils/auth.js'
export default { export default {
model: { model: {
prop: 'name', prop: 'name',
event: 'change' event: 'change'
}, },
props: { props: {
placeholder: { placeholder: {
type: String, type: String,
default: '' default: ''
}, },
bucket: { bucket: {
type: String, type: String,
default: 'abc' default: 'abc'
}, },
// 长度 // 长度
width: { width: {
type: String, type: String,
default: '270px' default: '270px'
}, },
accept: { accept: {
type: String, type: String,
default: '.jpg,.jpeg,.png,.JPG,.JPEG,' default: '.jpg,.jpeg,.png,.JPG,.JPEG,'
}, },
// 文件名称 // 文件名称
name: { name: {
type: Array, type: Array,
required: true required: true
}, },
uploadData: { uploadData: {
type: Object, type: Object,
default: {} default: {}
} }
}, },
data() { data() {
return { return {
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
accessToken: null, accessToken: null,
uploadFile: uploadImgFile, uploadFile: uploadImgFile,
fileList_FuJian: [], fileList_FuJian: [],
enclosure: '', enclosure: '',
file_add: '', file_add: '',
file_catch: '', file_catch: '',
files: [], files: [],
files_list: [], files_list: [],
filedUrl: '', filedUrl: '',
// fileUrl: fileUrl, // fileUrl: fileUrl,
// showpicture:false, // showpicture:false,
isview: false, isview: false,
nameArr: '', nameArr: '',
loadding: false loadding: false
} }
}, },
watch: { watch: {
name: { name: {
deep: true, deep: true,
immediate: true, immediate: true,
handler(newVal, oldVal) { handler(newVal, oldVal) {
console.log('aaaa1', newVal) console.log('aaaa1', newVal)
this.files = newVal this.files = newVal
console.log('aaaa2', this.files) console.log('aaaa2', this.files)
} }
} }
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.Init() this.Init()
}) })
}, },
created() { created() {
this.uploadFile = uploadImgFile // 接口 this.uploadFile = uploadImgFile // 接口
this.accessToken = { this.accessToken = {
token: getStorage() token: getStorage()
} }
}, },
methods: { methods: {
showImg(imgList) { showImg(imgList) {
this.files = imgList this.files = imgList
console.log('123123123', this.files) console.log('123123123', this.files)
}, },
view() { view() {
// window.open(this.filedUrl) // window.open(this.filedUrl)
}, },
// 页面第一次加载 // 页面第一次加载
Init() { Init() {
if (this.name !== undefined) { if (this.name !== undefined) {
this.files = [] this.files = []
for (var i = 0; i < this.name.length; i++) { for (var i = 0; i < this.name.length; i++) {
this.files.push({ this.files.push({
name: this.name[i], name: this.name[i],
url: this.name[i] url: this.name[i]
}) })
} }
} }
}, },
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.dialogVisible = true this.dialogVisible = true
this.dialogImageUrl = file.url this.dialogImageUrl = file.url
}, },
// 上传方案--成功后执行 // 上传方案--成功后执行
uploadImgSuccess_FuJian(response, file, fileList) { uploadImgSuccess_FuJian(response, file, fileList) {
console.log('您选择的file:', file) console.log('您选择的file:', file)
if (file.response.code === '200') { if (file.response.code === '200') {
this.loadding = false this.loadding = false
// 返显图片 // 返显图片
this.filedUrl = this.fileUrl + file.response.data this.filedUrl = this.fileUrl + file.response.data
// var uid = file.response.data // var uid = file.response.data
this.files.push({ this.files.push({
name: file.response.data.sourceFileName, name: file.response.data.sourceFileName,
url: file.response.data.fullUrl, url: file.response.data.fullUrl,
size: file.response.data.size size: file.response.data.size
}) })
this.$emit('change', this.files) this.$emit('change', this.files)
this.$emit('eett', this.files) this.$emit('eett', this.files)
} }
}, },
removeImage(file, ImageFileList) { removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1) this.files.splice(this.files.indexOf(file), 1)
const imgFiles = [] const imgFiles = []
this.files.forEach((o) => { this.files.forEach((o) => {
imgFiles.push(o.url) imgFiles.push(o.url)
}) })
this.$emit('fileChange', this.files) this.$emit('fileChange', this.files)
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log('file:' + JSON.stringify(file)) console.log('file:' + JSON.stringify(file))
console.log('fileList:' + JSON.stringify(fileList)) console.log('fileList:' + JSON.stringify(fileList))
this.enclosure = '' this.enclosure = ''
// 1. 保存新增文件id(this.file_add) // 1. 保存新增文件id(this.file_add)
this.getNewFileId(fileList) this.getNewFileId(fileList)
// 2. 保存数据库读取的已有文件id(this.file_catch) // 2. 保存数据库读取的已有文件id(this.file_catch)
this.getCatchFileId(file) this.getCatchFileId(file)
// 3. 保存并拼接id // 3. 保存并拼接id
this.getFileId() this.getFileId()
// 4. 返回拼接id // 4. 返回拼接id
this.$emit('change', this.enclosure) this.$emit('change', this.enclosure)
}, },
// 返回this.file_add(新上传文件的id拼接集合) // 返回this.file_add(新上传文件的id拼接集合)
getNewFileId(fileList) { getNewFileId(fileList) {
// debugger // debugger
this.file_add = '' this.file_add = ''
for (var i = 0; i < fileList.length; i++) { for (var i = 0; i < fileList.length; i++) {
if (fileList[i].response && fileList[i].response.code === '200') { if (fileList[i].response && fileList[i].response.code === '200') {
this.file_add = this.file_add + fileList[i].response.data + ',' this.file_add = this.file_add + fileList[i].response.data + ','
} }
} }
if (this.file_add !== '') { if (this.file_add !== '') {
this.file_add = this.file_add.substring(0, this.file_add.length - 1) this.file_add = this.file_add.substring(0, this.file_add.length - 1)
} }
// console.log('1. this.file_add: ' + this.file_add) // console.log('1. this.file_add: ' + this.file_add)
}, },
// 返回this.file_catch数库一寸照的文件的id的拼接集合 // 返回this.file_catch数库一寸照的文件的id的拼接集合
getCatchFileId(file) { getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) { for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== '') { if (this.file_catch !== '') {
// 1. 检查当前删除的文件是否是修改文件列表里面的如果是将修改列表里去除此id // 1. 检查当前删除的文件是否是修改文件列表里面的如果是将修改列表里去除此id
if (this.files_list[i].name === file.name) { if (this.files_list[i].name === file.name) {
// 2. 拆开file_catch到fils_arry // 2. 拆开file_catch到fils_arry
var fils_arry = this.file_catch.split(',') var fils_arry = this.file_catch.split(',')
// 3. 从fils_arry去除 this.files_list[i].id // 3. 从fils_arry去除 this.files_list[i].id
var arry = [] var arry = []
fils_arry.forEach((element) => { fils_arry.forEach((element) => {
// 不加载文件里面的 // 不加载文件里面的
if (element !== this.files_list[i].id) { if (element !== this.files_list[i].id) {
arry.push(element) arry.push(element)
} }
}) })
// 4. 重新拼接成file_catch // 4. 重新拼接成file_catch
this.file_catch = arry.join(',') this.file_catch = arry.join(',')
} }
} }
} }
// console.log('2. this.file_catch:' + this.file_catch) // console.log('2. this.file_catch:' + this.file_catch)
}, },
// 保存并拼接id // 保存并拼接id
getFileId() { getFileId() {
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add) // console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
if (this.file_catch !== '') { if (this.file_catch !== '') {
if (this.file_add !== '') { if (this.file_add !== '') {
this.enclosure = this.file_catch + ',' + this.file_add this.enclosure = this.file_catch + ',' + this.file_add
} else { } else {
this.enclosure = this.file_catch this.enclosure = this.file_catch
} }
} else { } else {
this.enclosure = this.file_add this.enclosure = this.file_add
} }
}, },
// 上传失败 // 上传失败
uploadError() { uploadError() {
this.loadding = false this.loadding = false
}, },
uploadProgrees(event, file, fileList) { uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) { if (Number(event.percent) > 0) {
this.loadding = true this.loadding = true
} }
} }
} }
} }
</script> </script>
<style scoped></style> <style scoped></style>

View File

@@ -1,55 +1,55 @@
<template> <template>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
ref="upload" ref="upload"
:action="uploadFile" :action="uploadFile"
:on-preview="handlePreview" :on-preview="handlePreview"
:on-remove="handleRemove" :on-remove="handleRemove"
:on-success="handleSuccess" :on-success="handleSuccess"
:file-list="fileList" :file-list="fileList"
:limit="1" :limit="1"
name="multipartFile" name="multipartFile"
:data="fileInfo" :data="fileInfo"
:auto-upload="false"> :auto-upload="false">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button> <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
</el-upload> </el-upload>
</template> </template>
<script> <script>
import { uploadFile } from '@/api/Common/Upload' import { uploadFile } from '@/api/Common/Upload'
export default { export default {
props: { props: {
fileInfo: { fileInfo: {
type: Object, type: Object,
default: {} default: {}
} }
}, },
data() { data() {
return { return {
fileList: [], fileList: [],
uploadFile: uploadFile uploadFile: uploadFile
} }
}, },
created() { created() {
this.fileList = [] this.fileList = []
this.uploadFile = uploadFile this.uploadFile = uploadFile
}, },
methods: { methods: {
handleSuccess(event, file, fileList) { handleSuccess(event, file, fileList) {
console.log(file) console.log(file)
this.$emit('change', file) this.$emit('change', file)
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log(file, fileList) console.log(file, fileList)
}, },
handlePreview(file) { handlePreview(file) {
console.log(file) console.log(file)
}, },
submitUpload() { submitUpload() {
console.log(this.fileInfo) console.log(this.fileInfo)
this.$refs.upload.submit() this.$refs.upload.submit()
} }
} }
} }
</script> </script>

View File

@@ -1,54 +1,54 @@
<template> <template>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
ref="upload" ref="upload"
:action="uploadFile" :action="uploadFile"
:on-preview="handlePreview" :on-preview="handlePreview"
:on-remove="handleRemove" :on-remove="handleRemove"
:on-success="handleSuccess" :on-success="handleSuccess"
:file-list="fileList" :file-list="fileList"
:limit="1" :limit="1"
name="file" name="file"
:data="fileInfo" :data="fileInfo"
:auto-upload="false"> :auto-upload="false">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button> <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
</el-upload> </el-upload>
</template> </template>
<script> <script>
import { upload_frameFile } from '@/api/Common/Upload' import { upload_frameFile } from '@/api/Common/Upload'
export default { export default {
props: { props: {
fileInfo: { fileInfo: {
type: Object type: Object
} }
}, },
data() { data() {
return { return {
fileList: [], fileList: [],
uploadFile: upload_frameFile uploadFile: upload_frameFile
} }
}, },
created() { created() {
this.fileList = [] this.fileList = []
this.uploadFile = upload_frameFile this.uploadFile = upload_frameFile
}, },
methods: { methods: {
handleSuccess(event, file, fileList) { handleSuccess(event, file, fileList) {
console.log(file) console.log(file)
this.$emit('change', file) this.$emit('change', file)
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log(file, fileList) console.log(file, fileList)
}, },
handlePreview(file) { handlePreview(file) {
console.log(file) console.log(file)
}, },
submitUpload() { submitUpload() {
console.log(this.fileInfo) console.log(this.fileInfo)
this.$refs.upload.submit() this.$refs.upload.submit()
} }
} }
} }
</script> </script>

View File

@@ -1,144 +1,144 @@
<template> <template>
<div><!----> <div><!---->
<el-upload class="avatar-uploader" :headers="accessToken" :action="uploadFile" :accept="accept" :data="uploadData" :on-success="uploadImgSuccess_FuJian" :on-remove="handleRemove" :limit="1" :file-list="files" list-type="picture-card" :on-preview="handlePictureCardPreview"> <el-upload class="avatar-uploader" :headers="accessToken" :action="uploadFile" :accept="accept" :data="uploadData" :on-success="uploadImgSuccess_FuJian" :on-remove="handleRemove" :limit="1" :file-list="files" list-type="picture-card" :on-preview="handlePictureCardPreview">
<i class="el-icon-plus avatar-uploader-icon"/> <i class="el-icon-plus avatar-uploader-icon"/>
</el-upload> </el-upload>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片"> <el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt=""> <img width="100%" :src="dialogImageUrl" alt="">
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { uploadFileIcon } from '@/api/Common/Upload' import { uploadFileIcon } from '@/api/Common/Upload'
import { getStorage } from '@/utils/auth.js' // token import { getStorage } from '@/utils/auth.js' // token
export default { export default {
model: { model: {
prop: 'name', prop: 'name',
event: 'change' event: 'change'
}, },
props: { props: {
placeholder: { placeholder: {
type: String, type: String,
default: '' default: ''
}, },
bucket: { bucket: {
type: String, type: String,
default: 'abc' default: 'abc'
}, },
// 长度 // 长度
width: { width: {
type: String, type: String,
default: '270px' default: '270px'
}, },
limit: { limit: {
type: Number, type: Number,
default: 1 default: 1
}, },
accept: { accept: {
type: String, type: String,
default: default:
'.jpg,.jpeg,.png,.JPG,.JPEG,' '.jpg,.jpeg,.png,.JPG,.JPEG,'
}, },
// 文件名称 // 文件名称
name: { name: {
type: Array, type: Array,
required: true required: true
}, },
uploadData: { uploadData: {
type: Object, type: Object,
default: {} default: {}
} }
}, },
data() { data() {
return { return {
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
accessToken: null, accessToken: null,
uploadFile: uploadFileIcon, uploadFile: uploadFileIcon,
fileList_FuJian: [], fileList_FuJian: [],
enclosure: '', enclosure: '',
file_add: '', file_add: '',
file_catch: '', file_catch: '',
files: [], files: [],
files_list: [], files_list: [],
filedUrl: '', filedUrl: '',
// fileUrl: fileUrl, // fileUrl: fileUrl,
// showpicture:false, // showpicture:false,
isview: false, isview: false,
nameArr: '', nameArr: '',
loadding: false, loadding: false,
stateName: '', stateName: '',
/* uploadData: { modelSid: '' },*/ /* uploadData: { modelSid: '' },*/
sid: '' sid: ''
} }
}, },
watch: { watch: {
name: { name: {
deep: true, deep: true,
immediate: true, immediate: true,
handler(newVal, oldVal) { handler(newVal, oldVal) {
console.log('aaaa1', newVal) console.log('aaaa1', newVal)
this.files = newVal this.files = newVal
console.log('aaaa2', this.files) console.log('aaaa2', this.files)
} }
} }
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.Init() this.Init()
}) })
}, },
created() { created() {
this.uploadFile = uploadFileIcon // 接口 this.uploadFile = uploadFileIcon // 接口
this.accessToken = { this.accessToken = {
token: getStorage() token: getStorage()
} }
}, },
methods: { methods: {
// 页面第一次加载 // 页面第一次加载
Init() { Init() {
if (this.name !== undefined) { if (this.name !== undefined) {
this.files = [] this.files = []
for (var i = 0; i < this.name.length; i++) { for (var i = 0; i < this.name.length; i++) {
this.files.push({ this.files.push({
name: this.name[i], name: this.name[i],
url: this.name[i] url: this.name[i]
}) })
} }
} }
}, },
// 上传方案--成功后执行 // 上传方案--成功后执行
uploadImgSuccess_FuJian(response, file, fileList) { uploadImgSuccess_FuJian(response, file, fileList) {
let _this = this let _this = this
console.log('您选择的file:', file) console.log('您选择的file:', file)
// console.log('您传递的data:', _this.uploadData) // console.log('您传递的data:', _this.uploadData)
if (file.response.code === '200') { if (file.response.code === '200') {
this.loadding = false this.loadding = false
// 返显图片 // 返显图片
this.filedUrl = this.fileUrl + file.response.data this.filedUrl = this.fileUrl + file.response.data
// var uid = file.response.data // var uid = file.response.data
const files = [] const files = []
files.push({ files.push({
name: file.response.data.sourceFileName, name: file.response.data.sourceFileName,
url: file.response.data.fullUrl, url: file.response.data.fullUrl,
size: file.response.data.size size: file.response.data.size
}) })
this.$emit('change', files) this.$emit('change', files)
} }
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log('file:' + JSON.stringify(file)) console.log('file:' + JSON.stringify(file))
console.log('fileList:' + JSON.stringify(fileList)) console.log('fileList:' + JSON.stringify(fileList))
}, },
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.dialogVisible = true this.dialogVisible = true
this.dialogImageUrl = file.url this.dialogImageUrl = file.url
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
</style> </style>

View File

@@ -1,54 +1,54 @@
<template> <template>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
ref="upload" ref="upload"
:action="uploadFile" :action="uploadFile"
:on-preview="handlePreview" :on-preview="handlePreview"
:on-remove="handleRemove" :on-remove="handleRemove"
:on-success="handleSuccess" :on-success="handleSuccess"
:file-list="fileList" :file-list="fileList"
:limit="1" :limit="1"
name="multipartFile" name="multipartFile"
:data="fileInfo" :data="fileInfo"
:auto-upload="false"> :auto-upload="false">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button> <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
</el-upload> </el-upload>
</template> </template>
<script> <script>
import { upload_UpdateFile } from '@/api/Common/Upload' import { upload_UpdateFile } from '@/api/Common/Upload'
export default { export default {
props: { props: {
fileInfo: { fileInfo: {
type: Object type: Object
} }
}, },
data() { data() {
return { return {
fileList: [], fileList: [],
uploadFile: upload_UpdateFile uploadFile: upload_UpdateFile
} }
}, },
created() { created() {
this.fileList = [] this.fileList = []
this.uploadFile = upload_UpdateFile this.uploadFile = upload_UpdateFile
}, },
methods: { methods: {
handleSuccess(event, file, fileList) { handleSuccess(event, file, fileList) {
console.log(file) console.log(file)
this.$emit('change', file) this.$emit('change', file)
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log(file, fileList) console.log(file, fileList)
}, },
handlePreview(file) { handlePreview(file) {
console.log(file) console.log(file)
}, },
submitUpload() { submitUpload() {
console.log(this.fileInfo) console.log(this.fileInfo)
this.$refs.upload.submit() this.$refs.upload.submit()
} }
} }
} }
</script> </script>

View File

@@ -1,104 +1,104 @@
<template> <template>
<el-upload class="avatar-uploader" ref="upload" action="fakeaction" <el-upload class="avatar-uploader" ref="upload" action="fakeaction"
:show-file-list="false" :show-file-list="false"
:on-change="uploadchangeFile" :on-change="uploadchangeFile"
:http-request="uploadSectionFile"> :http-request="uploadSectionFile">
<img v-if="FrontPhoto" :src="FrontPhoto" class="avatar"> <img v-if="FrontPhoto" :src="FrontPhoto" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
<div slot="tip" class="el-upload__tip">{{tip}}</div> <div slot="tip" class="el-upload__tip">{{tip}}</div>
</el-upload> </el-upload>
</template> </template>
<script> <script>
import { imageUpload } from '@/api/Upload.js' import { imageUpload } from '@/api/Upload.js'
export default { export default {
props:{ props:{
tip:{ tip:{
type: String, type: String,
default: '' default: ''
} }
}, },
data() { data() {
return { return {
FrontPhoto: '', FrontPhoto: '',
}; };
}, },
methods: { methods: {
// 上传文件 FrontPhoto // 上传文件 FrontPhoto
uploadSectionFile(params) { uploadSectionFile(params) {
const file = params.file, const file = params.file,
fileType = file.type, fileType = file.type,
isImage = fileType.indexOf("image") != -1, isImage = fileType.indexOf("image") != -1,
isLt2M = file.size / 1024 / 1024 < 2; isLt2M = file.size / 1024 / 1024 < 2;
console.log(params) console.log(params)
// 这里常规检验,看项目需求而定 // 这里常规检验,看项目需求而定
if (!isImage) { if (!isImage) {
this.$message.error("只能上传图片格式png、jpg、gif!"); this.$message.error("只能上传图片格式png、jpg、gif!");
return; return;
} }
if (!isLt2M) { if (!isLt2M) {
this.$message.error("只能上传图片大小小于2M"); this.$message.error("只能上传图片大小小于2M");
return; return;
} }
// 根据后台需求数据格式 // 根据后台需求数据格式
const form = new FormData(); const form = new FormData();
console.log(form) console.log(form)
// 文件对象 // 文件对象
form.append("file", file); form.append("file", file);
// 项目封装的请求方法,下面做简单介绍 // 项目封装的请求方法,下面做简单介绍
imageUpload(form).then(res => { imageUpload(form).then(res => {
//自行处理各种情况 //自行处理各种情况
console.log(res) console.log(res)
this.$emit('imgUrl',res.filePath) this.$emit('imgUrl',res.filePath)
// this.FrontPhoto = res.fullUrl // this.FrontPhoto = res.fullUrl
if(res.msg == '操作成功'){ if(res.msg == '操作成功'){
this.$message({ this.$message({
message: '上传成功!', message: '上传成功!',
type: 'success' type: 'success'
}); });
} }
}) })
.catch((err) => { .catch((err) => {
console.log(err) console.log(err)
}); });
}, },
uploadchangeFile(file){ uploadchangeFile(file){
this.FrontPhoto = URL.createObjectURL(file.raw) this.FrontPhoto = URL.createObjectURL(file.raw)
} }
} }
} }
</script> </script>
<style> <style>
.avatar-uploader .el-upload { .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9; border: 1px dashed #d9d9d9;
border-radius: 6px; border-radius: 6px;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
.avatar-uploader .el-upload:hover { .avatar-uploader .el-upload:hover {
border-color: #409EFF; border-color: #409EFF;
} }
.avatar-uploader-icon { .avatar-uploader-icon {
font-size: 28px; font-size: 28px;
color: #8c939d; color: #8c939d;
width: 200px; width: 200px;
height: 178px; height: 178px;
line-height: 178px; line-height: 178px;
text-align: center; text-align: center;
} }
.avatar { .avatar {
width: 178px; width: 178px;
height: 178px; height: 178px;
display: block; display: block;
} }
.el-upload__tip{ .el-upload__tip{
line-height: 25px; line-height: 25px;
margin-top: 0; margin-top: 0;
} }
</style> </style>

View File

@@ -1,55 +1,55 @@
<template> <template>
<div id="index"> <div id="index">
<ul> <ul>
<li v-for="(item,index) of imgArr"><img :src="item" alt="图片描述"></li> <li v-for="(item,index) of imgArr"><img :src="item" alt="图片描述"></li>
</ul> </ul>
</div> </div>
</template> </template>
<script> <script>
import Viewer from 'viewerjs'; import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css'; import 'viewerjs/dist/viewer.css';
export default { export default {
name: 'HelloWorld', name: 'HelloWorld',
data() { data() {
return { return {
imgArr:[ imgArr:[
'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2181711937,4147085500&fm=26&gp=0.jpg', 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2181711937,4147085500&fm=26&gp=0.jpg',
'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1403641414,3238219543&fm=26&gp=0.jpg', 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1403641414,3238219543&fm=26&gp=0.jpg',
] ]
} }
}, },
mounted(){ mounted(){
const ViewerDom = document.getElementById('index'); const ViewerDom = document.getElementById('index');
const viewer = new Viewer(ViewerDom, { const viewer = new Viewer(ViewerDom, {
// 相关配置项,详情见下面 // 相关配置项,详情见下面
}); });
} }
} }
</script> </script>
<style> <style>
*{ *{
padding:0; padding:0;
margin: 0; margin: 0;
} }
/* ul { /* ul {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
ul li{ ul li{
width:265px; width:265px;
height: 180px; height: 180px;
list-style: none; list-style: none;
border:2px solid #CCC; border:2px solid #CCC;
border-radius: 3px; border-radius: 3px;
padding: 1px; padding: 1px;
margin: 10px; margin: 10px;
cursor: pointer; cursor: pointer;
} */ } */
ul li img{ ul li img{
width:100px; width:100px;
height: 100px; height: 100px;
} }
</style> </style>

View File

@@ -1,9 +1,9 @@
import Vue from 'vue' import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg component import SvgIcon from '@/components/SvgIcon'// svg component
// register globally // register globally
Vue.component('svg-icon', SvgIcon) Vue.component('svg-icon', SvgIcon)
const req = require.context('./svg', false, /\.svg$/) const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext) const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req) requireAll(req)

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