system-clients 1.6.20 → 1.6.22-heat
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +102 -102
- package/src/components/Main.vue +1 -1
- package/src/components/server/LeftTree.vue +99 -89
- package/src/plugins/GetLoginInfoService.js +3 -1
- package/src/stores/AppData.js +38 -38
- package/src/system.js +50 -50
- package/.npmignore +0 -9
- package/build/.npmignore +0 -1
- package/dist/index.html +0 -3
- package/dist/static/.gitkeep +0 -0
- package/dist/static/1.25099a35dc54229a2b64.js +0 -2
- package/dist/static/2.78bd79ed0a918c12c653.js +0 -2
- package/dist/static/3.c94112cb61587a7c23bd.js +0 -2
- package/dist/static/4.f4df5000d5f6d5735be9.js +0 -2
- package/dist/static/5.eac5763e002ec6910ec9.js +0 -2
- package/dist/static/6.6ece2b332732c92ca496.js +0 -2
- package/dist/static/app.css +0 -2
- package/dist/static/app3f10eebe3247bef633ae.js +0 -64
- package/dist/static/batchleft.png +0 -0
- package/dist/static/batchright.png +0 -0
- package/dist/static/bluemainbg.jpg +0 -0
- package/dist/static/huangtengbiaozhi.png +0 -0
- package/dist/static/login_bg.jpg +0 -0
- package/dist/static/login_title.png +0 -0
- package/dist/static/login_title1.png +0 -0
- package/dist/static/loginbg.jpg +0 -0
- package/dist/static/loginlogo.png +0 -0
- package/dist/static/main_logo.png +0 -0
- package/dist/static/mainbg.jpg +0 -0
- package/dist/static/menulogo.png +0 -0
- package/dist/static/newmainbg.jpg +0 -0
- package/dist/static/psicon.png +0 -0
- package/dist/static/singleleft.png +0 -0
- package/dist/static/singleright.png +0 -0
- package/dist/static/treeopen.png +0 -0
- package/dist/static/treeout.png +0 -0
- package/dist/static/treeset.png +0 -0
- package/dist/static/usericon.png +0 -0
- package/dist/static/xinxi.png +0 -0
- package/src/.npmignore +0 -1
package/package.json
CHANGED
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "system-clients",
|
|
3
|
-
"version": "1.6.
|
|
4
|
-
"description": "系统基础框架",
|
|
5
|
-
"main": "src/index.js",
|
|
6
|
-
"directories": {
|
|
7
|
-
"example": "examples",
|
|
8
|
-
"test": "test"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"example": "node build/example-server.js",
|
|
12
|
-
"dev": "node build/dev-server.js",
|
|
13
|
-
"lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
|
|
14
|
-
"build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
|
|
15
|
-
"e2e": "node test/e2e/runner.js",
|
|
16
|
-
"unit": "karma start test/unit/karma.conf.js",
|
|
17
|
-
"release": "npm set registry http://registry.npmjs.org && npm publish && npm set registry http://registry.npm.taobao.org"
|
|
18
|
-
},
|
|
19
|
-
"dependencies": {
|
|
20
|
-
"base64-js": "^1.3.0",
|
|
21
|
-
"js-base64": "^2.4.9",
|
|
22
|
-
"jsencrypt": "^3.0.0-rc.1",
|
|
23
|
-
"less": "^2.7.1",
|
|
24
|
-
"less-loader": "^2.2.3",
|
|
25
|
-
"src": "^1.1.2",
|
|
26
|
-
"vue": "^1.0.17"
|
|
27
|
-
},
|
|
28
|
-
"devDependencies": {
|
|
29
|
-
"babel-core": "^6.0.0",
|
|
30
|
-
"babel-loader": "^6.0.0",
|
|
31
|
-
"babel-plugin-transform-runtime": "^6.0.0",
|
|
32
|
-
"babel-preset-es2015": "^6.0.0",
|
|
33
|
-
"babel-preset-stage-2": "^6.0.0",
|
|
34
|
-
"chai": "^3.5.0",
|
|
35
|
-
"connect-history-api-fallback": "^1.1.0",
|
|
36
|
-
"cross-env": "^1.0.7",
|
|
37
|
-
"cross-spawn": "^2.1.5",
|
|
38
|
-
"css-loader": "^0.23.0",
|
|
39
|
-
"eslint": "^2.0.0",
|
|
40
|
-
"eslint-config-standard": "^5.1.0",
|
|
41
|
-
"eslint-friendly-formatter": "^1.2.2",
|
|
42
|
-
"eslint-loader": "^1.3.0",
|
|
43
|
-
"eslint-plugin-html": "^1.3.0",
|
|
44
|
-
"eslint-plugin-promise": "^1.0.8",
|
|
45
|
-
"eslint-plugin-standard": "^1.3.2",
|
|
46
|
-
"eslint-plugin-vue": "^0.1.1",
|
|
47
|
-
"eventsource-polyfill": "^0.9.6",
|
|
48
|
-
"express": "^4.13.3",
|
|
49
|
-
"extract-text-webpack-plugin": "^1.0.1",
|
|
50
|
-
"file-loader": "^0.8.4",
|
|
51
|
-
"function-bind": "^1.0.2",
|
|
52
|
-
"html-webpack-plugin": "^2.8.1",
|
|
53
|
-
"http-proxy-middleware": "^0.11.0",
|
|
54
|
-
"inject-loader": "^2.0.1",
|
|
55
|
-
"isparta-loader": "^2.0.0",
|
|
56
|
-
"jasmine-core": "^2.4.1",
|
|
57
|
-
"jquery": "^3.3.1",
|
|
58
|
-
"json-loader": "^0.5.4",
|
|
59
|
-
"karma": "^1.4.1",
|
|
60
|
-
"karma-chrome-launcher": "^2.2.0",
|
|
61
|
-
"karma-coverage": "^1.1.1",
|
|
62
|
-
"karma-mocha": "^1.3.0",
|
|
63
|
-
"karma-sinon-chai": "^1.3.1",
|
|
64
|
-
"karma-sourcemap-loader": "^0.3.7",
|
|
65
|
-
"karma-spec-reporter": "0.0.31",
|
|
66
|
-
"karma-webpack": "^2.0.2",
|
|
67
|
-
"manage-client": "^1.4.20",
|
|
68
|
-
"mkdirp": "^0.5.1",
|
|
69
|
-
"mocha": "^3.2.0",
|
|
70
|
-
"ncp": "^2.0.0",
|
|
71
|
-
"nightwatch": "^0.8.18",
|
|
72
|
-
"rimraf": "^2.5.0",
|
|
73
|
-
"selenium-server": "2.52.0",
|
|
74
|
-
"sinon": "^2.1.0",
|
|
75
|
-
"sinon-chai": "^2.8.0",
|
|
76
|
-
"style": "0.0.3",
|
|
77
|
-
"style-loader": "^0.20.3",
|
|
78
|
-
"url-loader": "^0.5.7",
|
|
79
|
-
"vue-client": "^1.18.5",
|
|
80
|
-
"vue-hot-reload-api": "^1.2.0",
|
|
81
|
-
"vue-html-loader": "^1.0.0",
|
|
82
|
-
"vue-loader": "^8.2.1",
|
|
83
|
-
"vue-resource": "^1.5.0",
|
|
84
|
-
"vue-router": "^0.7.13",
|
|
85
|
-
"vue-strap": "^1.0.9",
|
|
86
|
-
"vue-style-loader": "^1.0.0",
|
|
87
|
-
"vue-validator": "^3.0.0-alpha.2",
|
|
88
|
-
"webpack": "^1.12.2",
|
|
89
|
-
"webpack-dev-middleware": "^1.4.0",
|
|
90
|
-
"webpack-hot-middleware": "^2.6.0",
|
|
91
|
-
"webpack-merge": "^0.8.3"
|
|
92
|
-
},
|
|
93
|
-
"repository": {
|
|
94
|
-
"type": "git",
|
|
95
|
-
"url": "https://gitee.com/aotu/System"
|
|
96
|
-
},
|
|
97
|
-
"keywords": [
|
|
98
|
-
"system_clients"
|
|
99
|
-
],
|
|
100
|
-
"author": "杨文宇",
|
|
101
|
-
"license": "ISC"
|
|
102
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "system-clients",
|
|
3
|
+
"version": "1.6.22-heat",
|
|
4
|
+
"description": "系统基础框架",
|
|
5
|
+
"main": "src/index.js",
|
|
6
|
+
"directories": {
|
|
7
|
+
"example": "examples",
|
|
8
|
+
"test": "test"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"example": "node build/example-server.js",
|
|
12
|
+
"dev": "node build/dev-server.js",
|
|
13
|
+
"lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
|
|
14
|
+
"build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
|
|
15
|
+
"e2e": "node test/e2e/runner.js",
|
|
16
|
+
"unit": "karma start test/unit/karma.conf.js",
|
|
17
|
+
"release": "npm set registry http://registry.npmjs.org && npm publish && npm set registry http://registry.npm.taobao.org"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"base64-js": "^1.3.0",
|
|
21
|
+
"js-base64": "^2.4.9",
|
|
22
|
+
"jsencrypt": "^3.0.0-rc.1",
|
|
23
|
+
"less": "^2.7.1",
|
|
24
|
+
"less-loader": "^2.2.3",
|
|
25
|
+
"src": "^1.1.2",
|
|
26
|
+
"vue": "^1.0.17"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"babel-core": "^6.0.0",
|
|
30
|
+
"babel-loader": "^6.0.0",
|
|
31
|
+
"babel-plugin-transform-runtime": "^6.0.0",
|
|
32
|
+
"babel-preset-es2015": "^6.0.0",
|
|
33
|
+
"babel-preset-stage-2": "^6.0.0",
|
|
34
|
+
"chai": "^3.5.0",
|
|
35
|
+
"connect-history-api-fallback": "^1.1.0",
|
|
36
|
+
"cross-env": "^1.0.7",
|
|
37
|
+
"cross-spawn": "^2.1.5",
|
|
38
|
+
"css-loader": "^0.23.0",
|
|
39
|
+
"eslint": "^2.0.0",
|
|
40
|
+
"eslint-config-standard": "^5.1.0",
|
|
41
|
+
"eslint-friendly-formatter": "^1.2.2",
|
|
42
|
+
"eslint-loader": "^1.3.0",
|
|
43
|
+
"eslint-plugin-html": "^1.3.0",
|
|
44
|
+
"eslint-plugin-promise": "^1.0.8",
|
|
45
|
+
"eslint-plugin-standard": "^1.3.2",
|
|
46
|
+
"eslint-plugin-vue": "^0.1.1",
|
|
47
|
+
"eventsource-polyfill": "^0.9.6",
|
|
48
|
+
"express": "^4.13.3",
|
|
49
|
+
"extract-text-webpack-plugin": "^1.0.1",
|
|
50
|
+
"file-loader": "^0.8.4",
|
|
51
|
+
"function-bind": "^1.0.2",
|
|
52
|
+
"html-webpack-plugin": "^2.8.1",
|
|
53
|
+
"http-proxy-middleware": "^0.11.0",
|
|
54
|
+
"inject-loader": "^2.0.1",
|
|
55
|
+
"isparta-loader": "^2.0.0",
|
|
56
|
+
"jasmine-core": "^2.4.1",
|
|
57
|
+
"jquery": "^3.3.1",
|
|
58
|
+
"json-loader": "^0.5.4",
|
|
59
|
+
"karma": "^1.4.1",
|
|
60
|
+
"karma-chrome-launcher": "^2.2.0",
|
|
61
|
+
"karma-coverage": "^1.1.1",
|
|
62
|
+
"karma-mocha": "^1.3.0",
|
|
63
|
+
"karma-sinon-chai": "^1.3.1",
|
|
64
|
+
"karma-sourcemap-loader": "^0.3.7",
|
|
65
|
+
"karma-spec-reporter": "0.0.31",
|
|
66
|
+
"karma-webpack": "^2.0.2",
|
|
67
|
+
"manage-client": "^1.4.20",
|
|
68
|
+
"mkdirp": "^0.5.1",
|
|
69
|
+
"mocha": "^3.2.0",
|
|
70
|
+
"ncp": "^2.0.0",
|
|
71
|
+
"nightwatch": "^0.8.18",
|
|
72
|
+
"rimraf": "^2.5.0",
|
|
73
|
+
"selenium-server": "2.52.0",
|
|
74
|
+
"sinon": "^2.1.0",
|
|
75
|
+
"sinon-chai": "^2.8.0",
|
|
76
|
+
"style": "0.0.3",
|
|
77
|
+
"style-loader": "^0.20.3",
|
|
78
|
+
"url-loader": "^0.5.7",
|
|
79
|
+
"vue-client": "^1.18.5",
|
|
80
|
+
"vue-hot-reload-api": "^1.2.0",
|
|
81
|
+
"vue-html-loader": "^1.0.0",
|
|
82
|
+
"vue-loader": "^8.2.1",
|
|
83
|
+
"vue-resource": "^1.5.0",
|
|
84
|
+
"vue-router": "^0.7.13",
|
|
85
|
+
"vue-strap": "^1.0.9",
|
|
86
|
+
"vue-style-loader": "^1.0.0",
|
|
87
|
+
"vue-validator": "^3.0.0-alpha.2",
|
|
88
|
+
"webpack": "^1.12.2",
|
|
89
|
+
"webpack-dev-middleware": "^1.4.0",
|
|
90
|
+
"webpack-hot-middleware": "^2.6.0",
|
|
91
|
+
"webpack-merge": "^0.8.3"
|
|
92
|
+
},
|
|
93
|
+
"repository": {
|
|
94
|
+
"type": "git",
|
|
95
|
+
"url": "https://gitee.com/aotu/System"
|
|
96
|
+
},
|
|
97
|
+
"keywords": [
|
|
98
|
+
"system_clients"
|
|
99
|
+
],
|
|
100
|
+
"author": "杨文宇",
|
|
101
|
+
"license": "ISC"
|
|
102
|
+
}
|
package/src/components/Main.vue
CHANGED
|
@@ -1,89 +1,99 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class='over'>
|
|
3
|
-
<tree :model='functions' :is-click="false" v-ref:tree @toggle="toggled">
|
|
4
|
-
<span partial :class="{ 'tree-img': isFolder(row), 'tree-span': !isFolder(row) }">
|
|
5
|
-
<img v-if="isFolder(row)" :src="row.data.icon" alt="">{{row.data.name}}
|
|
6
|
-
</span>
|
|
7
|
-
</tree>
|
|
8
|
-
</div>
|
|
9
|
-
</template>
|
|
10
|
-
<script>
|
|
11
|
-
import Vue from 'vue'
|
|
12
|
-
|
|
13
|
-
export default {
|
|
14
|
-
props: ['functions', 'userid','tabs'],
|
|
15
|
-
title: '左侧树菜单',
|
|
16
|
-
data () {
|
|
17
|
-
return {
|
|
18
|
-
index: -1,
|
|
19
|
-
name: null,
|
|
20
|
-
tbcg:[]
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
methods: {
|
|
24
|
-
open (row) {
|
|
25
|
-
if (row.data.name === '资源管理') {
|
|
26
|
-
this.$parent.changeMain(row.data.id)
|
|
27
|
-
return
|
|
28
|
-
}
|
|
29
|
-
if (row.data.navigate) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.$
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div class='over'>
|
|
3
|
+
<tree :model='functions' :is-click="false" v-ref:tree @toggle="toggled">
|
|
4
|
+
<span partial :class="{ 'tree-img': isFolder(row), 'tree-span': !isFolder(row) }">
|
|
5
|
+
<img v-if="isFolder(row)" :src="row.data.icon" alt="">{{row.data.name}}
|
|
6
|
+
</span>
|
|
7
|
+
</tree>
|
|
8
|
+
</div>
|
|
9
|
+
</template>
|
|
10
|
+
<script>
|
|
11
|
+
import Vue from 'vue'
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
props: ['functions', 'userid','tabs'],
|
|
15
|
+
title: '左侧树菜单',
|
|
16
|
+
data () {
|
|
17
|
+
return {
|
|
18
|
+
index: -1,
|
|
19
|
+
name: null,
|
|
20
|
+
tbcg:[]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
methods: {
|
|
24
|
+
open (row) {
|
|
25
|
+
if (row.data.name === '资源管理') {
|
|
26
|
+
this.$parent.changeMain(row.data.id)
|
|
27
|
+
return
|
|
28
|
+
}
|
|
29
|
+
if (row.data.navigate) {
|
|
30
|
+
let isExist = false
|
|
31
|
+
this.tbcg.forEach((tab) => {
|
|
32
|
+
if(tab.comp.name == row.data.link) {
|
|
33
|
+
isExist = true
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
if (!isExist){
|
|
37
|
+
this.$goto('embbed-page', {domainName: row.data.navigate, title: row.data.name, compName: row.data.link, login: Vue.$login, param: Vue.$appdata}, 'main')
|
|
38
|
+
}else {
|
|
39
|
+
this.$emit('isnodo',row.data.link)
|
|
40
|
+
}
|
|
41
|
+
} else if (row.data.link) {
|
|
42
|
+
let isExist = false
|
|
43
|
+
this.tbcg.forEach((tab) => {
|
|
44
|
+
if(tab.comp.name == row.data.link) {
|
|
45
|
+
isExist = true
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
if (!isExist){
|
|
49
|
+
this.$goto(row.data.link, {f: this.functions}, 'main')
|
|
50
|
+
}else {
|
|
51
|
+
this.$emit('isnodo',row.data.link)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
changeSelect(name) {
|
|
56
|
+
if (!name) {
|
|
57
|
+
this.$refs.tree.selectStore.select(null)
|
|
58
|
+
return
|
|
59
|
+
}
|
|
60
|
+
this.name = name
|
|
61
|
+
let index = this.selfFindIndex(name)
|
|
62
|
+
this.index = index
|
|
63
|
+
// 当前激活页签有,index为-1,说明菜单收缩
|
|
64
|
+
this.changeSelected(index)
|
|
65
|
+
},
|
|
66
|
+
selfFindIndex (name) {
|
|
67
|
+
return this.$refs.tree.toNode.findIndex((item) => {
|
|
68
|
+
return item.data.link === name
|
|
69
|
+
})
|
|
70
|
+
},
|
|
71
|
+
changeSelected (index) {
|
|
72
|
+
if (index === -1) {
|
|
73
|
+
this.$refs.tree.selectStore.select(null)
|
|
74
|
+
}else {
|
|
75
|
+
this.$refs.tree.selectStore.select(this.$refs.tree.toNode[index])
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
toggled () {
|
|
79
|
+
if (this.name && this.index === -1) {
|
|
80
|
+
let index = this.selfFindIndex(this.name)
|
|
81
|
+
if (index !== -1) {
|
|
82
|
+
this.changeSelected(index)
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
events: {
|
|
88
|
+
'select-changed': function (data) {
|
|
89
|
+
// 事件回调内的 `this` 自动绑定到注册它的实例上
|
|
90
|
+
this.open(data.val)
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
watch:{
|
|
94
|
+
'tabs'(val){
|
|
95
|
+
this.tbcg = val
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
</script>
|
|
@@ -23,6 +23,8 @@ let loginGen = async function (name, password) {
|
|
|
23
23
|
Vue.$login.f = resource.data
|
|
24
24
|
//获取jwt
|
|
25
25
|
Vue.$login.jwt = getLogin.data.jwt
|
|
26
|
+
// 获取jwtNew
|
|
27
|
+
Vue.$login.jwtNew = getLogin.data.jwtNew
|
|
26
28
|
// 把登录用户添加到cookie里
|
|
27
29
|
Vue.cookie.set('loginId', Vue.$login.f.id)
|
|
28
30
|
if (Vue.$login.f.id !== '11') {
|
|
@@ -141,7 +143,7 @@ let loginGen = async function (name, password) {
|
|
|
141
143
|
// TODO 处理界面细节
|
|
142
144
|
try {
|
|
143
145
|
let viewDetails = await Vue.resetpost('rs/search', {
|
|
144
|
-
source: 'this.getRights().where(row.getType()==$function$ && row.getPath($name$).indexOf(
|
|
146
|
+
source: 'this.getRights().where(row.getType()==$function$ && row.getPath($name$).indexOf($功能权限$) != -1)',
|
|
145
147
|
userid: Vue.$login.f.id
|
|
146
148
|
}, {resolveMsg: null, rejectMsg: null})
|
|
147
149
|
let r = viewDetails.data
|
package/src/stores/AppData.js
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import Vue from 'vue'
|
|
2
|
-
|
|
3
|
-
let GetAppDataService = {
|
|
4
|
-
install(Vue, options) {
|
|
5
|
-
// 给vue增添对话框显示方法
|
|
6
|
-
|
|
7
|
-
Vue.$appdata = Vue.prototype.$appdata = GetAppDataService
|
|
8
|
-
},
|
|
9
|
-
|
|
10
|
-
// 开启卡监听
|
|
11
|
-
load () {
|
|
12
|
-
return Vue.resetpost('rs/logic/getInitData', {data: {f_filialeids: Vue.$login.f.f_orgids}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
13
|
-
res.data.singleValues.forEach((item) => {
|
|
14
|
-
this.singleValues[item.name] = item.value
|
|
15
|
-
})
|
|
16
|
-
res.data.params.forEach((item) => {
|
|
17
|
-
let value = []
|
|
18
|
-
item.f_paramvalues.forEach((item, index) => {
|
|
19
|
-
value[index] = {}
|
|
20
|
-
value[index].label = item.name
|
|
21
|
-
value[index].value = item.name
|
|
22
|
-
})
|
|
23
|
-
this.params[item.name] = value
|
|
24
|
-
})
|
|
25
|
-
})
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
params: {},
|
|
29
|
-
singleValues: {},
|
|
30
|
-
|
|
31
|
-
getParam(key) {
|
|
32
|
-
return this.params[key]
|
|
33
|
-
},
|
|
34
|
-
getSingleValue(key) {
|
|
35
|
-
return this.singleValues[key]
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export default GetAppDataService
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
|
|
3
|
+
let GetAppDataService = {
|
|
4
|
+
install(Vue, options) {
|
|
5
|
+
// 给vue增添对话框显示方法
|
|
6
|
+
|
|
7
|
+
Vue.$appdata = Vue.prototype.$appdata = GetAppDataService
|
|
8
|
+
},
|
|
9
|
+
|
|
10
|
+
// 开启卡监听
|
|
11
|
+
load () {
|
|
12
|
+
return Vue.resetpost('rs/logic/getInitData', {data: {f_filialeids: Vue.$login.f.f_orgids}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
13
|
+
res.data.singleValues.forEach((item) => {
|
|
14
|
+
this.singleValues[item.name] = item.value
|
|
15
|
+
})
|
|
16
|
+
res.data.params.forEach((item) => {
|
|
17
|
+
let value = []
|
|
18
|
+
item.f_paramvalues.forEach((item, index) => {
|
|
19
|
+
value[index] = {}
|
|
20
|
+
value[index].label = item.name
|
|
21
|
+
value[index].value = item.name
|
|
22
|
+
})
|
|
23
|
+
this.params[item.name] = value
|
|
24
|
+
})
|
|
25
|
+
})
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
params: {},
|
|
29
|
+
singleValues: {},
|
|
30
|
+
|
|
31
|
+
getParam(key) {
|
|
32
|
+
return this.params[key]
|
|
33
|
+
},
|
|
34
|
+
getSingleValue(key) {
|
|
35
|
+
return this.singleValues[key]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export default GetAppDataService
|
package/src/system.js
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import Vue from 'vue'
|
|
2
|
-
import { all } from 'vue-client'
|
|
3
|
-
|
|
4
|
-
import GetLoginInfoService from './plugins/GetLoginInfoService'
|
|
5
|
-
import GetAppDataService from './stores/AppData'
|
|
6
|
-
|
|
7
|
-
// /** **************************登录与主界面相关******************************/
|
|
8
|
-
|
|
9
|
-
import login from './components/server/Login'
|
|
10
|
-
import changeDeclare from './components/server/ChangeDeclare'
|
|
11
|
-
import addChangemsg from './components/server/AddChangeMsg'
|
|
12
|
-
import homePage from './components/Main'
|
|
13
|
-
import leftTree from './components/server/LeftTree'
|
|
14
|
-
import iconTree from './components/server/IconTree'
|
|
15
|
-
import modifyPw from './components/server/ModifyPw'
|
|
16
|
-
import LoadData from './components/server/LoadData'
|
|
17
|
-
import TestResourceTree from './components/server/TestResourceTree'
|
|
18
|
-
import RightTree from './components/server/RightTree'
|
|
19
|
-
import TestRightTree from './components/server/TestRightTree'
|
|
20
|
-
all()
|
|
21
|
-
export default function () {
|
|
22
|
-
Vue.use(GetLoginInfoService)
|
|
23
|
-
Vue.use(GetAppDataService)
|
|
24
|
-
|
|
25
|
-
Vue.component('login', login)
|
|
26
|
-
Vue.component('change-declare', changeDeclare)
|
|
27
|
-
Vue.component('add-changemsg', addChangemsg)
|
|
28
|
-
Vue.component('home-page', homePage)
|
|
29
|
-
Vue.component('left-tree', leftTree)
|
|
30
|
-
Vue.component('icon-tree', iconTree)
|
|
31
|
-
Vue.component('modify-pw', modifyPw)
|
|
32
|
-
Vue.component('load-data', LoadData)
|
|
33
|
-
Vue.component('test-resource-tree', TestResourceTree)
|
|
34
|
-
Vue.component('right-tree', RightTree)
|
|
35
|
-
Vue.component('test-right-tree', TestRightTree)
|
|
36
|
-
|
|
37
|
-
// 参数管理(新)
|
|
38
|
-
Vue.component('param-manage', (resolve) => { require(['./components/parammanage/ParamManage'], resolve) })
|
|
39
|
-
// 参数管理
|
|
40
|
-
Vue.component('param-page', (resolve) => { require(['./components/parammanage/ParamPage'], resolve) })
|
|
41
|
-
// 参数管理
|
|
42
|
-
Vue.component('single-page', (resolve) => { require(['./components/parammanage/SinglePage'], resolve) })
|
|
43
|
-
|
|
44
|
-
// 参数管理(旧)
|
|
45
|
-
Vue.component('param-manages', (resolve) => { require(['./components/parammanage/ParamManages'], resolve) })
|
|
46
|
-
// 参数管理
|
|
47
|
-
Vue.component('param-pages', (resolve) => { require(['./components/parammanage/ParamPages'], resolve) })
|
|
48
|
-
// 参数管理
|
|
49
|
-
Vue.component('single-pages', (resolve) => { require(['./components/parammanage/SinglePages'], resolve) })
|
|
50
|
-
}
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
import { all } from 'vue-client'
|
|
3
|
+
|
|
4
|
+
import GetLoginInfoService from './plugins/GetLoginInfoService'
|
|
5
|
+
import GetAppDataService from './stores/AppData'
|
|
6
|
+
|
|
7
|
+
// /** **************************登录与主界面相关******************************/
|
|
8
|
+
|
|
9
|
+
import login from './components/server/Login'
|
|
10
|
+
import changeDeclare from './components/server/ChangeDeclare'
|
|
11
|
+
import addChangemsg from './components/server/AddChangeMsg'
|
|
12
|
+
import homePage from './components/Main'
|
|
13
|
+
import leftTree from './components/server/LeftTree'
|
|
14
|
+
import iconTree from './components/server/IconTree'
|
|
15
|
+
import modifyPw from './components/server/ModifyPw'
|
|
16
|
+
import LoadData from './components/server/LoadData'
|
|
17
|
+
import TestResourceTree from './components/server/TestResourceTree'
|
|
18
|
+
import RightTree from './components/server/RightTree'
|
|
19
|
+
import TestRightTree from './components/server/TestRightTree'
|
|
20
|
+
all()
|
|
21
|
+
export default function () {
|
|
22
|
+
Vue.use(GetLoginInfoService)
|
|
23
|
+
Vue.use(GetAppDataService)
|
|
24
|
+
|
|
25
|
+
Vue.component('login', login)
|
|
26
|
+
Vue.component('change-declare', changeDeclare)
|
|
27
|
+
Vue.component('add-changemsg', addChangemsg)
|
|
28
|
+
Vue.component('home-page', homePage)
|
|
29
|
+
Vue.component('left-tree', leftTree)
|
|
30
|
+
Vue.component('icon-tree', iconTree)
|
|
31
|
+
Vue.component('modify-pw', modifyPw)
|
|
32
|
+
Vue.component('load-data', LoadData)
|
|
33
|
+
Vue.component('test-resource-tree', TestResourceTree)
|
|
34
|
+
Vue.component('right-tree', RightTree)
|
|
35
|
+
Vue.component('test-right-tree', TestRightTree)
|
|
36
|
+
|
|
37
|
+
// 参数管理(新)
|
|
38
|
+
Vue.component('param-manage', (resolve) => { require(['./components/parammanage/ParamManage'], resolve) })
|
|
39
|
+
// 参数管理
|
|
40
|
+
Vue.component('param-page', (resolve) => { require(['./components/parammanage/ParamPage'], resolve) })
|
|
41
|
+
// 参数管理
|
|
42
|
+
Vue.component('single-page', (resolve) => { require(['./components/parammanage/SinglePage'], resolve) })
|
|
43
|
+
|
|
44
|
+
// 参数管理(旧)
|
|
45
|
+
Vue.component('param-manages', (resolve) => { require(['./components/parammanage/ParamManages'], resolve) })
|
|
46
|
+
// 参数管理
|
|
47
|
+
Vue.component('param-pages', (resolve) => { require(['./components/parammanage/ParamPages'], resolve) })
|
|
48
|
+
// 参数管理
|
|
49
|
+
Vue.component('single-pages', (resolve) => { require(['./components/parammanage/SinglePages'], resolve) })
|
|
50
|
+
}
|
package/.npmignore
DELETED
package/build/.npmignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/dev-server.js
|
package/dist/index.html
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta http-equiv=pragma content=no-cache><meta http-equiv=Cache-Control content="no-cache, must-revalidate"><meta http-equiv=expires content=0><title>奥枫信息系统</title><style media=screen>/*url(./static/newmainbg.jpg)*/
|
|
2
|
-
body{width: 100%;background:#7f8eaf no-repeat center bottom; background-size: cover;}
|
|
3
|
-
body .loginbg{ width:100%; height:100%; background:url(./static/loginbg.jpg) no-repeat center top;}</style><link href=static/app.css rel=stylesheet></head><body><app></app><script type=text/javascript src=static/app3f10eebe3247bef633ae.js></script></body></html>
|
package/dist/static/.gitkeep
DELETED
|
File without changes
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
webpackJsonp([1],{217:function(n,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={title:"用户操作",data:function(){return{selectItem:{name:"",value:"",f_filialeids:this.$login.f.f_orgids},params:null,model:{rows:[]},show:!1,index:null,f_filialeids:null,filialeCodeStr:this.$login.f.f_orgids,userid:this.$login.f.id,source:"tool.getFullTree(this.getRights().where(row.getType() == $organization$))"}},ready:function(){var n=this;this.loadSingle().then(function(){n.$emit("ready")}).catch(function(e){n.$emit("error",e)})},methods:{loadSingle:function(){var n=this;return this.$refs.singleLoad.load("rs/sql/singleTable",{data:{tablename:"t_singlevalue",condition:"1=1"}}).then(function(e){n.params=e.data,n.filterParams(null,n.filialeCodeStr)})},deleteItem:function(n){var e=this;this.$showMessage("删除后不可恢复,确认删除吗?",["confirm","cancel"]).then(function(t){"confirm"===t&&e.$refs.singleLoad.load("rs/logic/deleteValue",{tablename:"t_singlevalue",id:n.id}).then(function(t){e.operate(e.params,n),e.operate(e.model.rows,n)})})},operate:function(n,e){var t=n.indexOf(e);n.splice(t,1)},filterParams:function(n,e){n?this.model.rows=this.params.filter(function(t){return e==t.f_filialeids&&t.name.includes(n)}):this.model.rows=this.params.filter(function(n){return e==n.f_filialeids})},add:function(){this.show=!0},modifyParam:function(n,e){this.show=!0,this.index=e,this.selectItem.name=n.name,this.selectItem.id=n.id,this.selectItem.value=n.value,this.selectItem.f_filialeids=n.f_filialeids},confirm:function(){var n=this;this.$refs.singleLoad.load("rs/entity/t_singlevalue",this.selectItem).then(function(e){if(n.show=!1,n.selectItem.id){var t=n.model.rows[n.index];n.params[n.params.indexOf(t)].name=n.selectItem.name,n.params[n.params.indexOf(t)].value=n.selectItem.value,n.model.rows[n.index].name=n.selectItem.name,n.model.rows[n.index].value=n.selectItem.value}else n.selectItem.id=e.data.id,n.params.push(n.selectItem),n.model.rows.push(n.selectItem);n.selectItem={name:"",value:"",f_filialeids:n.$login.f.f_orgids}})},getRes:function(n){this.filialeCodeStr=n.resids},getCopyStr:function(n){this.f_filialeids=n.resids},copyParams:function(){var n=this;this.f_filialeids&&0!=this.model.rows.length&&this.f_filialeids!=this.model.rows[0].f_filialeids?(this.model.f_filialeids=this.f_filialeids,this.$refs.singleLoad.load("rs/logic/copyValue",this.model).then(function(e){n.loadSingle(),alert("复制成功!")})):alert("选择有误")},close:function(){this.show=!1,this.selectItem={name:"",value:"",f_filialeids:this.$login.f.f_orgids}}}}},283:function(n,e,t){e=n.exports=t(37)(),e.push([n.id,".left{margin-left:20px}.rigth{float:right}","",{version:3,sources:["/./src/components/parammanage/SinglePage.vue"],names:[],mappings:"AAuNA,MACE,gBAAkB,CACnB,AACD,OACE,WAAa,CACd",file:"SinglePage.vue",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.left{\n margin-left: 20px;\n}\n.rigth{\n float: right;\n}\n"],sourceRoot:"webpack://"}])},313:function(n,e,t){var s=t(283);"string"==typeof s&&(s=[[n.id,s,""]]);t(46)(s,{});s.locals&&(n.exports=s.locals)},411:function(n,e){n.exports=' <div class=flex> <p class="bg-info text-center" style="padding: 8px"> 单值管理 <span class="btn btn-link add-postition" @click=add()>新增</span> </p> <div class="form-inline auto" style="margin-bottom: 5px"> <label for="">参数名称:</label> <input type=text class=form-control placeholder=请输入查找的参数名 v-model=param @keyup.enter=filterParams(param,filialeCodeStr)> <label class="control-label left">组织机构:</label> <right-tree :userid.sync=userid :source.sync=source @re-res=getRes :permissions=true> </right-tree> <button class="btn btn-primary" @click.stop=filterParams(param,filialeCodeStr)>查询</button> <button class="btn btn-primary rigth left" @click.stop=copyParams()>一键复制</button> <right-tree class=rigth :userid.sync=userid :source.sync=source @re-res=getCopyStr> </right-tree> </div> <div class=span> <partial-view v-ref:single-load> <data-grid :model=model v-ref:grid> <template partial=head> <tr> <th>序号</th> <th>名称</th> <th>参数值</th> <th>操作</th> </tr> </template> <template partial=body> <td>{{$index+1}}</td> <td>{{row.name}}</td> <td> {{row.value}} </td> <td class=flex-around> <button type=button name=button class="btn btn-link" @click.stop=$parent.$parent.$parent.modifyParam(row,$index)>修改</button> <button type=button name=button class="btn btn-link" @click.stop=$parent.$parent.$parent.deleteItem(row)>删除</button> </td> </template> </data-grid> </partial-view> </div> <modal :show.sync=show v-ref:modal backdrop=false> <header slot=modal-header class=modal-header> <button type=button class=close @click=close><span>×</span></button> <h4 class=modal-title>单值配置</h4> </header> <article slot=modal-body class=modal-body> <div class=from-group> <label for="">单值名称</label> <input type=text class=form-control v-model=selectItem.name> </div> <div class=from-group> <label for="">单值内容</label> <input type=text class=form-control v-model=selectItem.value> </div> </article> <footer slot=modal-footer class=modal-footer> <button v-show=show type=button class="btn btn-default" @click=close>取消</button> <button v-show=show type=button class="btn btn-success" @click=confirm>确认</button> </footer> </modal> </div> '},510:function(n,e,t){var s,i,l={};t(313),s=t(217),i=t(411),n.exports=s||{},n.exports.__esModule&&(n.exports=n.exports.default);var a="function"==typeof n.exports?n.exports.options||(n.exports.options={}):n.exports;i&&(a.template=i),a.computed||(a.computed={}),Object.keys(l).forEach(function(n){var e=l[n];a.computed[n]=function(){return e}})}});
|
|
2
|
-
//# sourceMappingURL=1.25099a35dc54229a2b64.js.map
|