Browse Source

项目初始化

master
liupopo 2 years ago
parent
commit
bfea6eef9e
  1. 14
      .editorconfig
  2. 9
      .env.development
  3. 9
      .env.production
  4. 8
      .env.staging
  5. 5
      .eslintignore
  6. 199
      .eslintrc.js
  7. 1
      .gitignore
  8. 5
      .travis.yml
  9. 21
      LICENSE
  10. 0
      README-zh.md
  11. 16
      babel.config.js
  12. 24
      jest.config.js
  13. 9
      jsconfig.json
  14. 57
      mock/index.js
  15. 81
      mock/mock-server.js
  16. 29
      mock/table.js
  17. 84
      mock/user.js
  18. 25
      mock/utils.js
  19. 74
      package.json
  20. 14470
      pnpm-lock.yaml
  21. 8
      postcss.config.js
  22. BIN
      public/WebComponentsKit.exe
  23. BIN
      public/favicon.ico
  24. BIN
      public/faviconhr.ico
  25. BIN
      public/image/liuchengtu.jpg
  26. 17
      public/index.html
  27. 14
      src/App.vue
  28. 13
      src/api/Common/Upload.js
  29. 25
      src/api/Common/areaPicker.js
  30. 13
      src/api/Common/permission.js
  31. 35
      src/api/User/login.js
  32. 66
      src/api/flow/cunfangdidianbiangeng.js
  33. 33
      src/api/flow/flowable.js
  34. 80
      src/api/flow/tiaochekaipiaoshenqing.js
  35. 80
      src/api/flow/tiaozhangshenqing.js
  36. 50
      src/api/flow/todo.js
  37. 70
      src/api/flow/vehicleReturn.js
  38. 2019
      src/api/hikvision/demo.js
  39. 430
      src/api/hikvision/hkVideo.js
  40. 4
      src/api/hikvision/jquery-1.7.1.min.js
  41. 4379
      src/api/hikvision/webVideoCtrl.js
  42. 47
      src/api/system/Role/role.js
  43. 69
      src/api/system/Role/roleManage.js
  44. 138
      src/api/system/basefkManage/index.js
  45. 32
      src/api/system/dataDict/dataDict.js
  46. 120
      src/api/system/departments/departments.js
  47. 52
      src/api/system/dictType/dictCommon.js
  48. 72
      src/api/system/dictType/index.js
  49. 84
      src/api/system/functional/functional.js
  50. 16
      src/api/system/log/index.js
  51. 115
      src/api/system/menu/index.js
  52. 36
      src/api/system/organization/organization.js
  53. 61
      src/api/system/postManage/index.js
  54. 139
      src/api/system/roleAdminister/index.js
  55. 31
      src/api/system/roleAdminister/rolemenus.js
  56. 21
      src/api/system/roleMenus/index.js
  57. 111
      src/api/system/sources/index.js
  58. 84
      src/api/system/user/Auser.js
  59. 38
      src/api/system/user/login.js
  60. 43
      src/api/system/user/user.js
  61. 32
      src/api/system/userAdminister/client.js
  62. 69
      src/api/system/userAdminister/index.js
  63. 60
      src/api/system/userManage/index.js
  64. 56
      src/api/user.js
  65. BIN
      src/assets/404_images/404.png
  66. BIN
      src/assets/404_images/404_cloud.png
  67. BIN
      src/assets/home/anrui.png
  68. BIN
      src/assets/home/bIcon1.png
  69. BIN
      src/assets/home/bIcon2.png
  70. BIN
      src/assets/home/bIcon3.png
  71. BIN
      src/assets/home/bIcon4.png
  72. BIN
      src/assets/home/bIcon5.png
  73. BIN
      src/assets/home/bIcon6.png
  74. BIN
      src/assets/home/bIcon7.png
  75. BIN
      src/assets/home/bIcon8.png
  76. BIN
      src/assets/home/bottomBg.png
  77. BIN
      src/assets/home/line.png
  78. BIN
      src/assets/home/ltBg.png
  79. BIN
      src/assets/home/ltIcon1.png
  80. BIN
      src/assets/home/ltIcon2.png
  81. BIN
      src/assets/home/ltIcon3.png
  82. BIN
      src/assets/home/ltIcon4.png
  83. BIN
      src/assets/home/notice.png
  84. BIN
      src/assets/home/rtBg.png
  85. BIN
      src/assets/images/arrow.png
  86. BIN
      src/assets/images/bdrysh.png
  87. BIN
      src/assets/images/btn.png
  88. BIN
      src/assets/images/cdgl.png
  89. BIN
      src/assets/images/cxjl.png
  90. BIN
      src/assets/images/czsc.png
  91. BIN
      src/assets/images/dwrysh.png
  92. BIN
      src/assets/images/dwxxgl.png
  93. BIN
      src/assets/images/dy.png
  94. BIN
      src/assets/images/head.png
  95. BIN
      src/assets/images/info.png
  96. BIN
      src/assets/images/jcxx.png
  97. BIN
      src/assets/images/jggl.png
  98. BIN
      src/assets/images/jlsc.png
  99. BIN
      src/assets/images/jsgl.png
  100. BIN
      src/assets/images/jsxd.png

14
.editorconfig

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

9
.env.development

@ -0,0 +1,9 @@
# just a flag
ENV = 'development'
# base api
VUE_APP_BASE_API = '/api'
## 配置测试和本地开发时的 接口地址
##VUE_APP_URL = "http://8.130.39.13:8112"
VUE_APP_URL = "http://192.168.3.173:8112"

9
.env.production

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

8
.env.staging

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

5
.eslintignore

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

199
.eslintrc.js

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

1
.gitignore

@ -96,3 +96,4 @@ fabric.properties
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
monitor-ui/

5
.travis.yml

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

21
LICENSE

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

0
README-zh.md

16
babel.config.js

@ -0,0 +1,16 @@
module.exports = {
presets: [
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
// '@vue/cli-plugin-babel/preset',
['@vue/app', { useBuiltIns: 'entry' }]
],
"ignore" : ["./src/api/hikvision/webVideoCtrl.js"],
'env': {
'development': {
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
// https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html
'plugins': ['dynamic-import-node']
}
}
}

24
jest.config.js

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

9
jsconfig.json

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

57
mock/index.js

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

81
mock/mock-server.js

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

29
mock/table.js

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

84
mock/user.js

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

25
mock/utils.js

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

74
package.json

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

14470
pnpm-lock.yaml

File diff suppressed because it is too large

8
postcss.config.js

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

BIN
public/WebComponentsKit.exe

Binary file not shown.

BIN
public/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
public/faviconhr.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
public/image/liuchengtu.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

17
public/index.html

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<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">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= webpackConfig.name %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

14
src/App.vue

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

13
src/api/Common/Upload.js

@ -0,0 +1,13 @@
import request from '@/utils/request'
// 上传图片
export function imageUpload(data){
return request({
url: '/jlcyry/file/upload',
method: 'post',
data,
headers:{'Content-Type':'multipart/form-data'}
})
}
export const uploadFile = '/api/base/v1/basemanufactorsubscription/pictureUpload'
export const uploadimg_tuiku = '/api/base/v1/basemanufacturerretwareveh/pictureUpload'

25
src/api/Common/areaPicker.js

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

13
src/api/Common/permission.js

@ -0,0 +1,13 @@
import request from '@/utils/request'
// 请求按钮权限
export default {
// 查询分页列表,输入当前路径和userSid,返回
buttonPermission: function(params) {
return request({
url: '/demopackage/v1/demo/buttonPermission',
method: 'post',
data: params
})
}
}

35
src/api/User/login.js

@ -0,0 +1,35 @@
import request from '@/utils/request'
import qs from 'qs'
class User {
login(data) { // 登录
return request({
url: '/system/user/login',
method: 'post',
data
})
}
logout(data) { // 退出
return request({
url: '/portal/v1/sysuser/signOut',
method: 'post',
data: qs.stringify(data)
})
}
updatePassword(data) { // 退出修改密码
return request({
url: '/portal/v1/sysuser/updatePassword',
method: 'post',
data: qs.stringify(data)
})
}
reGetPwd(data) {
return request({
url: `/system/user/reGetPwd/${data.userName}/${data.userPhone}`,
method: 'post',
data: qs.stringify(data)
})
}
}
export default new User()

66
src/api/flow/cunfangdidianbiangeng.js

@ -0,0 +1,66 @@
import request from '@/utils/request'
export default {
// 流程审批(同意)
agreeTask: function(params) {
return request({
url: 'scm/v1/scmvehiclegression/complete',
method: 'post',
data: params
})
},
// 流程审批(驳回)
rejectTask: function(params) {
return request({
url: 'scm/v1/scmvehiclegression/reject',
method: 'post',
data: params
})
},
// 流程审批(终止)
breakTask: function(params) {
return request({
url: 'scm/v1/scmvehiclegression/breakProcess',
method: 'post',
data: params
})
},
// 流程审批(撤回)
revokeTask: function(params) {
return request({
url: 'scm/v1/scmvehiclegression/revokeProcess',
method: 'post',
data: params
})
},
// 审批流程(同意)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: 'scm/v1/scmvehiclegression/getNextNodesForSubmit',
method: 'post',
data: data
})
},
// 审批流程(驳回、终止)获取下一环节
getPreviousNodesForReject: function(data) {
return request({
url: 'scm/v1/scmvehiclegression/getPreviousNodesForReject',
method: 'post',
data: data
})
},
// 读取xml文件
readXml: function(deployId) {
return request({
url: '/flowable/v1/flowable/task/readXml/' + deployId,
method: 'get'
})
},
// 读取image文件
getFlowViewer: function(procInsId) {
return request({
url: '/flowable/v1/flowable/task/flowViewer/' + procInsId,
method: 'get'
})
}
}

33
src/api/flow/flowable.js

@ -0,0 +1,33 @@
import request from '@/utils/request'
// 外采申请表
export default {
getNextNodes: function(taskid) {
return request({
url: '/base/baseoutsourcingapplication/getNextTasks/' + taskid,
method: 'post',
headers: {
'Content-Type': 'application/json'
}
})
},
getNextNodesForSubmit: function(data) {
return request({
url: '/base/baseoutsourcingapplication/getNextNodesForSubmit',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
getPreviousNodesForReject(formobj) {
return request({
url: '/base/baseoutsourcingapplication/getPreviousNodesForReject',
method: 'post',
data: formobj,
headers: {
'Content-Type': 'application/json'
}
})
}
}

80
src/api/flow/tiaochekaipiaoshenqing.js

@ -0,0 +1,80 @@
import request from '@/utils/request'
export default {
// 流程审批(同意)
agreeTask: function(params) {
return request({
url: '/base/v1/baseshuntinginvoicingapply/complete',
method: 'post',
data: params
})
},
agreeTaskCallInToCallOut: function(params) {
return request({
url: '/base/v1/baseshuntinginvoicingapply/callInOrgToCallOutOrg',
method: 'post',
data: params
})
},
callOutSaleManageExa: function(params) {
return request({
url: '/base/v1/baseshuntinginvoicingapply/callOutSaleManageExa',
method: 'post',
data: params
})
},
// 流程审批(驳回)
rejectTask: function(params) {
return request({
url: '/base/v1/baseshuntinginvoicingapply/reject',
method: 'post',
data: params
})
},
// 流程审批(终止)
breakTask: function(params) {
return request({
url: '/base/v1/baseshuntinginvoicingapply/breakProcess',
method: 'post',
data: params
})
},
// 流程审批(撤回)
revokeTask: function(params) {
return request({
url: '/base/v1/baseshuntinginvoicingapply/revokeProcess',
method: 'post',
data: params
})
},
// 审批流程(同意)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/base/v1/baseshuntinginvoicingapply/getNextNodesForSubmit',
method: 'get',
params: data
})
},
// 审批流程(驳回、终止)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/base/v1/baseshuntinginvoicingapply/getPreviousNodesForReject',
method: 'get',
params: data
})
},
// 读取xml文件
readXml: function(deployId) {
return request({
url: '/flowable/v1/flowable/task/readXml/' + deployId,
method: 'get'
})
},
// 读取image文件
getFlowViewer: function(procInsId) {
return request({
url: '/flowable/v1/flowable/task/flowViewer/' + procInsId,
method: 'get'
})
}
}

80
src/api/flow/tiaozhangshenqing.js

@ -0,0 +1,80 @@
import request from '@/utils/request'
export default {
// 流程审批(同意)
agreeTask: function(params) {
return request({
url: '/base/v1/baseaccadjapply/complete',
method: 'post',
data: params
})
},
agreeTaskCallInOrCallOut: function(params) {
return request({
url: '/base/v1/baseaccadjapply/InitiatorToAnswer',
method: 'post',
data: params
})
},
agreeTaskOrgChange: function(params) {
return request({
url: '/base/v1/baseaccadjapply/companyToFinancialCenter',
method: 'post',
data: params
})
},
// 流程审批(驳回)
rejectTask: function(params) {
return request({
url: '/base/v1/baseaccadjapply/reject',
method: 'post',
data: params
})
},
// 流程审批(终止)
breakTask: function(params) {
return request({
url: '/base/v1/baseaccadjapply/breakProcess',
method: 'post',
data: params
})
},
// 流程审批(撤回)
revokeTask: function(params) {
return request({
url: '/base/v1/baseaccadjapply/revokeProcess',
method: 'post',
data: params
})
},
// 审批流程(同意)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/base/v1/baseaccadjapply/getNextNodesForSubmit',
method: 'post',
data: data
})
},
// 审批流程(驳回、终止)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/base/v1/baseaccadjapply/getPreviousNodesForReject',
method: 'get',
params: data
})
},
// 读取xml文件
readXml: function(deployId) {
return request({
url: '/flowable/v1/flowable/task/readXml/' + deployId,
method: 'get'
})
},
// 读取image文件
getFlowViewer: function(procInsId) {
return request({
url: '/flowable/v1/flowable/task/flowViewer/' + procInsId,
method: 'get'
})
}
}

50
src/api/flow/todo.js

@ -0,0 +1,50 @@
import request from '@/utils/request'
// 代办任务同意办理
export function businessAgree(params) {
return request({
url: '/portal/v1/flow/complete',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 代办任务驳回任务
export function rejectTask(params) {
return request({
url: '/portal/v1/flow/reject/' + params.businessSid,
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 代办任务终止任务
export function breakTask(params) {
return request({
url: '/portal/v1/flow/breakProcess/' + params.businessSid,
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 代办任务撤回任务
export function revokeTask(params) {
return request({
url: '/portal/v1/flow/revokeProcess/' + params.userSid + '/' + params.businessSid,
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}

70
src/api/flow/vehicleReturn.js

@ -0,0 +1,70 @@
import request from '@/utils/request'
///scm/v1/scmvehiclereturn/listPage'
export default {
getPreviousNodesForReject: function(formobj) {
return request({
url: '/scm/v1/scmvehiclereturn/getPreviousNodesForReject',
method: 'post',
data: formobj,
headers: {
'Content-Type': 'application/json'
}
})
},
getNextNodesForSubmit: function(data) {
return request({
url: '/scm/v1/scmvehiclereturn/getNextNodesForSubmit',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 同意任务
agreeTask: function(params) {
return request({
url: '/scm/v1/scmvehiclereturn/complete',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 驳回任务
rejectTask: function(params) {
return request({
url: '/scm/v1/scmvehiclereturn/reject',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 终止任务
breakTask: function(params) {
return request({
url: '/scm/v1/scmvehiclereturn/breakProcess',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 撤回任务
revokeTask: function(params) {
return request({
url: '/scm/v1/scmvehiclereturn/revokeProcess',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
}

2019
src/api/hikvision/demo.js

File diff suppressed because it is too large

430
src/api/hikvision/hkVideo.js

@ -0,0 +1,430 @@
import { Message } from "element-ui";
var webVideoCtrl = window.WebVideoCtrl;
var $ = window.$;
/**
* 初始化
* @param {number} iWndowType 分屏类型1 - 1*12 - 2*23 - 3*34 - 4*4默认值1单画面
* @param {number} width 插件的宽度单位为px 100%表示撑满插件容器
* @param {number} height 插件的高度单位为px 100%表示撑满插件容器
* @returns null
*/
let init = (iWndowType, width, height) => {
// 检查浏览器是否支持无插件
if (!webVideoCtrl.I_SupportNoPlugin()) {
Message.warning(
"当前浏览器不支持无插件预览监控视频,已自动切换成插件模式,如果还未安装插件请安装"
);
// 检查插件是否已经安装
const isInstall = webVideoCtrl.I_CheckPluginInstall();
if (isInstall == -1) {
Message.warning(
"您还未安装过插件,请先下载WebComponentsKit.exe双击安装!"
);
return;
}
}
// 初始化插件
webVideoCtrl.I_InitPlugin(width, height, {
szColorProperty:
"plugin-background:ffffff; sub-background:00000; sub-border:D0DAE4; sub-border-select:409EFF", // 表示插件的背景颜色,插件子窗口的背景颜色,窗口边框的颜色,窗口边框选中后的颜色
iWndowType,
bNoPlugin: true, // 支持无插件
cbSelWnd: (xmlDoc) => {
let iWndIndex = parseInt($(xmlDoc)?.find("SelectWnd").eq(0).text(), 10);
console.log("当前选择的窗口编号:" + iWndIndex);
},
cbDoubleClickWnd: (iWndIndex, bFullScreen) => {
let szInfo = "当前放大的窗口编号:" + iWndIndex;
if (!bFullScreen) {
szInfo = "当前还原的窗口编号:" + iWndIndex;
}
console.log(szInfo);
}, // 无插件模式不起效
cbInitPluginComplete: () => {
// 嵌入播放插件
webVideoCtrl.I_InsertOBJECTPlugin("divPlugin");
console.log("初始化成功--------");
resize();
// 检查插件是否最新
if (webVideoCtrl.I_CheckPluginVersion() == -1) {
Message.warning("检测到新的插件版本,双击WebComponentsKit.exe升级!");
return;
}
// login(
// global.hk_ip, // 设备的 IP 地址或者普通域名
// global.hk_prototocol,// http 协议,1 表示 http 协议 2 表示 https 协议
// global.hk_port,//登录设备的 http/https 端口号,根据 iPrototocol 选择传入不同的端口
// global.hk_username,//登录用户名称
// global.hk_password//用户密码
// );
login(
"192.168.3.175", // 设备的 IP 地址或者普通域名
"1",// http 协议,1 表示 http 协议 2 表示 https 协议
"80",//登录设备的 http/https 端口号,根据 iPrototocol 选择传入不同的端口
"admin",//登录用户名称
"Yxt123456"//用户密码
);
}, // 插件初始化完成回调,必须要定义
});
};
let destroy = () => {};
/**
* 调整大小
*/
let resize = () => {
webVideoCtrl.I_Resize($("#divPlugin").width(), $("#divPlugin").height());
};
/**
* 登录
* @param {string} ip 设备的 IP 地址或者普通域名
* @param {number} prototocol http 协议1 表示 http 协议 2 表示 https 协议
* @param {number} port 登录设备的 http/https 端口号根据 iPrototocol 选择传入不同的端口
* @param {string} userName 登录用户名称
* @param {string} password 用户密码
*/
let login = (ip, prototocol, port, userName, password) => {
webVideoCtrl.I_Login(ip, prototocol, port, userName, password, {
async: true, // http 交互方式,true 表示异步,false 表示同步
cgi: 1, // CGI 协议选择,1 表示 ISAPI,2 表示 PSIA,如果不传这个参数,会自动选择一种设备支持的协议.
// 登录成功回调
success: (xmlDoc) => {
console.log("login success-----------", xmlDoc);
// getAnalogChannelInfo(`${ip}_${port}`, {
// async: true,
// success: (analogChannelInfo) => {
// let analogCameras = analysisAnalogChannelInfo(analogChannelInfo);
// console.log(
// "获取模拟通道----------",
// analogChannelInfo,
// analogCameras
// );
// },
// error: (statusA, xmlDocA) => {
// console.log("获取模拟通道 error-----------", statusA, xmlDocA);
// },
// });
getDigitalChannelInfo(`${ip}_${port}`, {
async: true,
success: (digitalChannelInfo) => {
let digitalCameras = analysisDigitalChannelInfo(digitalChannelInfo);
console.log(
"获取数字通道----------",
digitalChannelInfo,
digitalCameras
);
},
error: (statusD, xmlDocD) => {
console.log("获取数字通道 error-----------", statusD, xmlDocD);
},
});
// getZeroChannelInfo(`${ip}_${port}`, {
// async: true,
// success: (zeroChannelInfo) => {
// let zeroCameras = analysisZeroChannelInfo(zeroChannelInfo);
// console.log("获取零通道----------", zeroChannelInfo, zeroCameras);
// },
// error: (statusZ, xmlDocZ) => {
// console.log("获取零通道 error-----------", statusZ, xmlDocZ);
// },
// });
},
// 失败函数回调
error: () => {
console.log("login error-----------");
},
});
};
/**
* 登出
* @param {string} deviceIdentify 设备标识IP_Port
* @returns 成功返回 0失败返回-1
*/
let logout = (deviceIdentify) => {
return webVideoCtrl.I_Logout(deviceIdentify);
};
/**
* 获取设备基本信息
* @param {string} deviceIdentify 设备标识IP_Port
* @param {*} options 可选参数对象:
* * async http 交互方式true 表示异步false 表示同步;
* * success 成功回调函数有一个参数表示返回的 XML 内容;
* * error 失败回调函数有两个参数第一个是 http 状态码第二个是设备返回的 XML(可能为空)
*/
let getDeviceInfo = (deviceIdentify, options) => {
webVideoCtrl.I_GetDeviceInfo(deviceIdentify, options);
};
/**
* 获取模拟通道
* @param {string} deviceIdentify 设备标识IP_Port
* @param {*} options 可选参数对象:
* * async http 交互方式true 表示异步false 表示同步;
* * success 成功回调函数有一个参数表示返回的 XML 内容;
* * error 失败回调函数有两个参数第一个是 http 状态码第二个是设备返回的 XML(可能为空)
*/
let getAnalogChannelInfo = (deviceIdentify, options) => {
webVideoCtrl.I_GetAnalogChannelInfo(deviceIdentify, options);
};
/**
* 解析模拟通道XML内容
* @param {XMLDocument} xmlDoc XML内容
* @returns cameraList: 监控列表
*/
let analysisAnalogChannelInfo = (xmlDoc) => {
let cameraList = [];
let channels = $(xmlDoc)?.find("VideoInputChannel");
$.each(channels, (i, channel) => {
let id = $(channel).find("id").eq(0).text();
let name = $(channel).find("name").eq(0).text();
if (name == "") {
name = "Camera " + (i < 9 ? "0" + (i + 1) : i + 1);
}
cameraList.push({
id,
name,
});
});
return cameraList;
};
/**
* 获取数字通道
* @param {string} deviceIdentify 设备标识IP_Port
* @param {*} options 可选参数对象:
* * async http 交互方式true 表示异步false 表示同步;
* * success 成功回调函数有一个参数表示返回的 XML 内容;
* * error 失败回调函数有两个参数第一个是 http 状态码第二个是设备返回的 XML(可能为空)
*/
let getDigitalChannelInfo = (deviceIdentify, options) => {
webVideoCtrl.I_GetDigitalChannelInfo(deviceIdentify, options);
};
/**
* 解析数字通道XML内容
* @param {XMLDocument} xmlDoc XML内容
* @param {boolean} filterOnline 是否过滤禁用的数字通道
* @returns cameraList: 监控列表
*/
let analysisDigitalChannelInfo = (xmlDoc, filterOnline) => {
let cameraList = [];
let channels = $(xmlDoc)?.find("InputProxyChannelStatus");
$.each(channels, (i, channel) => {
let id = $(channel).find("id").eq(0).text();
let name = $(channel).find("name").eq(0).text();
let online = $(channel).find("online").eq(0).text();
if (filterOnline && online == "false") {
// 过滤禁用的数字通道
return true;
}
if (name == "") {
name = "IPCamera " + (i < 9 ? "0" + (i + 1) : i + 1);
}
cameraList.push({
id,
name,
online,
});
});
return cameraList;
};
/**
* 获取零通道
* @param {string} deviceIdentify 设备标识IP_Port
* @param {*} options 可选参数对象:
* * async http 交互方式true 表示异步false 表示同步;
* * success 成功回调函数有一个参数表示返回的 XML 内容;
* * error 失败回调函数有两个参数第一个是 http 状态码第二个是设备返回的 XML(可能为空)
*/
let getZeroChannelInfo = (deviceIdentify, options) => {
webVideoCtrl.I_GetZeroChannelInfo(deviceIdentify, options);
};
/**
* 解析零通道XML内容
* @param {XMLDocument} xmlDoc XML内容
* @param {boolean} filterEnabled 是否过滤禁用的零通道
* @returns cameraList: 监控列表
*/
let analysisZeroChannelInfo = (xmlDoc, filterEnabled) => {
let cameraList = [];
let channels = $(xmlDoc)?.find("ZeroVideoChannel");
$.each(channels, (i, channel) => {
let id = $(channel).find("id").eq(0).text();
let name = $(channel).find("name").eq(0).text();
if (name == "") {
name = "Zero Channel " + (i < 9 ? "0" + (i + 1) : i + 1);
}
let enabled = $(channel).find("enabled").eq(0).text();
if (filterEnabled && enabled == "false") {
// 过滤禁用的零通道
return true;
}
cameraList.push({
id,
name,
enabled,
});
});
return cameraList;
};
/**
* 录像搜索
* @param {string} deviceIdentify 设备标识IP_Port
* @param {string} channelId 通道 ID
* @param {string} startTime 开始时间2013-12-23 00:00:00
* @param {string} endTime 结束时间2013-12-23 23:59:59
* @param {*} options 可选参数对象:
* * async http 交互方式true 表示异步false 表示同步
* * iSearchPos 搜索录像的位置默认为 00 表示返回结果的第 0-40 40 表示 40-80 依次类推
* * success 成功回调函数有一个参数表示返回的 XML 内容
* * error 失败回调函数有两个参数第一个是 http 状态码第二个是设备返回的 XML(可能为空)
* * iStreamType 码流类型 1-主码流2-子码流默认主码流
*/
let recordSearch = (deviceIdentify, channelId, startTime, endTime, options) => {
webVideoCtrl.I_RecordSearch(
deviceIdentify,
channelId,
startTime,
endTime,
options
);
};
/**
* 开始预览
* @param {string} deviceIdentify 设备标识IP_Port
* @param {*} options 可选参数对象:
* * iWndIndex 播放窗口如果不传则默认使用当前选择窗口播放默认选中窗口 0
* * iStreamType 码流类型 1-主码流2-子码流默认使用主码流预览
* * iChannelID 播放通道号默认通道 1
* * bZeroChannel 是否播放零通道默认为 false
* * iPort RTSP 端口号可以选择传入如果不传开发包会自动判断设备的 RTSP 端口
* * success 成功回调函数
* * error 失败回调函数
*/
let startRealPlay = (deviceIdentify, options) => {
webVideoCtrl.I_StartRealPlay(deviceIdentify, options);
};
/**
* 开始回放
* @param {string} deviceIdentify 设备标识IP_Port
* @param {*} options 可选参数对象:
* * iWndIndex 播放窗口如果不传则默认使用当前选择窗口播放默认选中窗口 0
* * iStreamType 码流类型 1-主码流2-子码流默认使用主码流预览
* * szStartTime 开始时间默认为当天 00:00:00格式如2013-12-23 00:00:00
* * szEndTime 结束时间默认为当天 23:59:59格式如2013-12-23 23:59:59
* * iChannelID 播放通道号默认通道 1
* * iPort RTSP 端口号可以选择传入如果不传开发包会自动判断设备的 RTSP 端口
* * oTransCodeParam 转码回放参数对象传入此参数将按照此对象中的编码参数进行转码回放转码回放需要设备支持如果不支持则不要传入这个参数
* * iStreamType 码流类型 1-主码流2-子码流默认主码流
* * success 成功回调函数
* * error 失败回调函数
*/
let startPlayBack = (deviceIdentify, options) => {
webVideoCtrl.I_StartPlayback(deviceIdentify, options);
};
/**
* 停止播放
* @param {*} options 可选参数对象:
* * iWndIndex 播放窗口号可不传表示操作当前选中窗口
* * success 成功回调函数
* * error 失败回调函数
*/
let stopPlay = (options) => {
webVideoCtrl.I_Stop(options);
};
/**
* 暂停
* @param {*} options 可选参数对象:
* * iWndIndex 播放窗口号可不传表示操作当前选中窗口
* * success 成功回调函数
* * error 失败回调函数
*/
let pause = (options) => {
webVideoCtrl.I_Pause(options);
};
/**
* 打开声音
* @param {number} iWndIndex 播放窗口号可不传表示操作当前选中窗口
* @returns 成功返回 0失败返回-1
*/
let openSound = (iWndIndex) => {
return webVideoCtrl.I_OpenSound(iWndIndex);
};
/**
* 关闭声音
* @param {number} iWndIndex 播放窗口号可不传表示操作当前选中窗口
* @returns 成功返回 0失败返回-1
*/
let closeSound = (iWndIndex) => {
return webVideoCtrl.I_CloseSound(iWndIndex);
};
/**
* 设置音量
* @param {number} iVolume 音量大小
* @param {number} iWndIndex 播放窗口号可不传表示操作当前选中窗口
* @returns 成功返回 0失败返回-1
*/
let setVolume = (iVolume, iWndIndex) => {
return webVideoCtrl.I_SetVolume(iVolume, iWndIndex);
};
/**
* 修改画面分割类型
* @param {number} iWndType 画面分割类型1- 1*12- 2*23- 3*34- 4*45- 5*56- 6*67- 7*78- 8*8
* @returns 成功返回 0失败返回-1
*/
let changeWndNum = (iWndType) => {
return webVideoCtrl.I_ChangeWndNum(iWndType);
};
/**
* 全屏播放
* @param {boolean} full 是否全屏true-全屏 false-退出全屏
*/
let fullScreen = (full) => {
webVideoCtrl.I_FullScreen(full);
};
export default {
init,
destroy,
resize,
login,
logout,
getDeviceInfo,
getAnalogChannelInfo,
analysisAnalogChannelInfo,
getDigitalChannelInfo,
analysisDigitalChannelInfo,
getZeroChannelInfo,
analysisZeroChannelInfo,
recordSearch,
startRealPlay,
startPlayBack,
stopPlay,
pause,
openSound,
closeSound,
setVolume,
changeWndNum,
fullScreen,
};

4
src/api/hikvision/jquery-1.7.1.min.js

File diff suppressed because one or more lines are too long

4379
src/api/hikvision/webVideoCtrl.js

File diff suppressed because it is too large

47
src/api/system/Role/role.js

@ -0,0 +1,47 @@
import request from '@/utils/request'
import qs from 'qs'
const tokens = window.sessionStorage.getItem('token')
//
export function rolemenus(data) {
return request({
url: '/system/v1/rolemenus/' + data.roleSid,
method: 'get',
params: data
})
}
// 获取左侧菜单
export function getrolemenus(data) {
return request({
baseURL: '/api',
url: '/portal/v1/sysmenu/sourcemenutree',
method: 'POST',
async: false,
// data: {userSid: data.userSid, sourceSid: '000011'},
data: data,
headers: { 'Content-Type': 'application/json',
'token': tokens }
})
}
// 获取角色的主页菜单
export function sourcesofrole(data) {
return request({
url: '/system/v1/rolemenus/sourcesofrole',
method: 'POST',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
// 根据token值获取登录后的用户信息
export function loginDetails(data) {
return request({
baseURL: '/api',
url: '/portal/v1/sysuser/loginDetails',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}

69
src/api/system/Role/roleManage.js

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

138
src/api/system/basefkManage/index.js

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

32
src/api/system/dataDict/dataDict.js

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

120
src/api/system/departments/departments.js

@ -0,0 +1,120 @@
import request from '@/utils/request'
import qs from 'qs';
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/sysorganization/listPage',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 查询左侧部门列表
export function orgList(data){
return request({
url: '/portal/v1/sysorganization/list',
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 编辑部门信息
export function postOrgtree(data){
return request({
url: '/portal/v1/sysorganization/update/' +data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 获取 机构分页列表
export function putOrgtree(data) {
return request({
url: '/portal/v1/sysorganization/update/' +data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens}
})
}
// 新增部门信息
export function addOrgTree(data){
return request({
url: '/portal/v1/sysorganization/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 树 节点名称 删除
export function delOrgtree(data) {
return request({
url: `/portal/v1/sysorganization/delBySid/`+data.sid,
method: 'get',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 获取 机构树形
export function getOrgTree(data) {
return request({
url: `/system/v1/departments/departmentTreeList/`+ data.organizationSid,
method: 'GET',
params: data
})
}
//// 添加 机构树形节点
//export function addOrgTree(data) {
//return request({
// url: `/system/v1/departments`,
// method: 'post',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
// 获取 机构分页列表
export function getPagelist(data) {
return request({
url: `/system/v1/departments/pagelist`,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 查看二维码
export function getQrCode(data) {
return request({
url: `/system/v1/departments/getQrCode/`+data.sid,
method: 'POST',
data: qs.stringify(data)
})
}

52
src/api/system/dictType/dictCommon.js

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

72
src/api/system/dictType/index.js

@ -0,0 +1,72 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/dicttypes/pageList',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//根据sid 修改
export function putDictType(data) {
return request({
url: '/portal/v1/dicttypes/update/' + data.sid,
method: 'POST',
data: qs.stringify(data)
})
}
////获取菜单 分页列表
//export function dictTypeList(data) {
//return request({
// url: '/system/dicttype/pageList',
// method: 'post',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
//保存 角色信息
export function saveDictType(data) {
return request({
url: '/system/dicttype/save',
method: 'POST',
data: qs.stringify(data)
})
}
//根据sid 获取单个菜单 信息
export function getRoleInfo(data) {
return request({
url: '/system/v1/menus/' + data.sid,
method: 'GET',
data: qs.stringify(data)
})
}
//根据sid 删除菜单 信息
export function delDictType(data) {
return request({
url: '/system/dicttype/delete/' + data.sid,
method: 'DELETE',
data: qs.stringify(data)
})
}

84
src/api/system/functional/functional.js

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

16
src/api/system/log/index.js

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

115
src/api/system/menu/index.js

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

36
src/api/system/organization/organization.js

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

61
src/api/system/postManage/index.js

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

139
src/api/system/roleAdminister/index.js

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

31
src/api/system/roleAdminister/rolemenus.js

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

21
src/api/system/roleMenus/index.js

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

111
src/api/system/sources/index.js

@ -0,0 +1,111 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/syssource/listPage',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//保存 资源信息
export function saveSourcesInfo(data) {
return request({
url: '/portal/v1/syssource/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 修改 保存 资源信息
export function putSourcesInfo(data) {
return request({
url: '/portal/v1/syssource/update/' + data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//根据sid 删除单个 资源信息
export function delSources(data) {
return request({
url: '/portal/v1/syssource/delBySids/' + data.sid,
method: 'get',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 获取获取资源类别
export function getZzylb(data) {
return request({
url: '/portal/v1/syssource/listAll',
method: 'post',
headers: {'Content-Type': 'application/json'}
})
}
// 获取资源 不分页列表
export function sourcesList(data) {
return request({
url: '/system/v1/sources/list',
method: 'post',
data: 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)
})
}

84
src/api/system/user/Auser.js

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

38
src/api/system/user/login.js

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

43
src/api/system/user/user.js

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

32
src/api/system/userAdminister/client.js

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

69
src/api/system/userAdminister/index.js

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

60
src/api/system/userManage/index.js

@ -0,0 +1,60 @@
import request from '@/utils/request'
import qs from 'qs'
// 用户列表
let tokens = window.sessionStorage.getItem('token');
export function userList(data){
return request({
url: '/base/v1/basefinbank/listPage',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 根据sid查询一条信息
export function userSingle(data){
return request({
url: '/base/v1/basefinpolicy/fetchSid/' +data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 新增
export function userListAdd(data){
return request({
url: '/base/v1/basefinbank/save/',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 更新
export function userUpdata(data){
return request({
url: '/base/v1/basefinbank/update/' +data.sid,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 删除
export function delbank(data){
return request({
url: '/base/v1/basefinbank/deleteBySids/' +data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}

56
src/api/user.js

@ -0,0 +1,56 @@
import request from '@/utils/request'
// eslint-disable-next-line no-unused-vars
import qs from 'qs'
// 登录
export function login(data) {
return request({
url: '/portal/v1/sysuser/login',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
// 用户注册
export function registUser(data) {
return request({
url: '/system/user/save',
method: 'post',
data,
headers: { 'Content-Type': 'application/x-www-form-urlencoded;' }
})
}
// 获取手机验证码
export function getVerificationCode(data) {
return request({
url: '/system/user/getVerificationCode',
method: 'get',
params: data
})
}
// 获取登录验证码
export function imgCode() {
return request({
url: '/system/api/defaultBlendCode?temm=' + new Date().getTime(),
method: 'get'
})
}
// 获取用信息
export function getInfo(token) {
return request({
url: '/system/user/loginDetails',
method: 'post'
})
}
export function logout(data) { // 退出
return request({
url: '/portal/v1/sysuser/signOut',
method: 'post',
data: qs.stringify(data)
})
}

BIN
src/assets/404_images/404.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

BIN
src/assets/404_images/404_cloud.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
src/assets/home/anrui.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
src/assets/home/bIcon1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
src/assets/home/bIcon2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

BIN
src/assets/home/bIcon3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

BIN
src/assets/home/bIcon4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
src/assets/home/bIcon5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

BIN
src/assets/home/bIcon6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
src/assets/home/bIcon7.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
src/assets/home/bIcon8.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
src/assets/home/bottomBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
src/assets/home/line.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

BIN
src/assets/home/ltBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
src/assets/home/ltIcon1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/assets/home/ltIcon2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
src/assets/home/ltIcon3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
src/assets/home/ltIcon4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
src/assets/home/notice.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

BIN
src/assets/home/rtBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/images/arrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/assets/images/bdrysh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/images/btn.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/images/cdgl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/images/cxjl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
src/assets/images/czsc.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/images/dwrysh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/images/dwxxgl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/images/dy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/images/head.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
src/assets/images/info.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/assets/images/jcxx.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/assets/images/jggl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/images/jlsc.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
src/assets/images/jsgl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/images/jsxd.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

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

Loading…
Cancel
Save