system-clients 3.0.47 → 3.0.48-fanxian
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/CHANGELOG.md +51 -51
- package/build/webpack.base.conf.js +1 -1
- package/build.gradle +6 -6
- package/package.json +102 -102
- package/src/components/Main.vue +102 -3
- package/src/components/equipment/EquipmentManage.vue +2 -2
- package/src/components/parammanage/AlarmInformation.vue +124 -0
- package/src/components/parammanage/ParamPage.vue +8 -8
- package/src/components/parammanage/ParamPages.vue +4 -12
- package/src/components/parammanage/SinglePage.vue +15 -13
- package/src/components/parammanage/SinglePages.vue +9 -15
- package/src/components/server/Login.vue +6 -5
- package/src/components/server/ModifyPw.vue +23 -4
- package/src/components/server/ResSelectGroup.vue +140 -140
- package/src/components/server/TestResSelect.vue +58 -58
- package/src/plugins/GetLoginInfoService.js +14 -18
- package/src/system.js +2 -0
- package/static/newStyle/alarm.mp3 +0 -0
- package/test/unit/karma.conf.js +49 -49
- package/test/unit/specs/components/parammanage/ParamPage.spec.js +20 -20
- package/test/unit/specs/components/server/LeftTree/LeftTree.spec.js +22 -22
- package/.gradle/3.5.1/file-changes/last-build.bin +0 -0
- package/.gradle/3.5.1/taskHistory/taskHistory.lock +0 -0
package/CHANGELOG.md
CHANGED
@@ -1,51 +1,51 @@
|
|
1
|
-
# Change Log
|
2
|
-
所有关于本产品的变化都在该文档里。
|
3
|
-
|
4
|
-
## [版本更新]
|
5
|
-
##1.6.4 2018-12-24 @陈栋扬
|
6
|
-
-首页及左边栏标题名称修改
|
7
|
-
|
8
|
-
##1.6.0 2018-12-1 @何宁社
|
9
|
-
- 支持功能连接为其它页面,把登录人信息同步到其它页面中
|
10
|
-
|
11
|
-
##1.3.14 2018-11-8 @陈栋扬
|
12
|
-
-修改参数管理,添加参数一键复制功能
|
13
|
-
-修改RightTree组件,添加选择上级的权限控制permissions
|
14
|
-
|
15
|
-
##1.3.13 2018-11-1 @何宁社
|
16
|
-
- 登录用户名,密码加密
|
17
|
-
- 登录后2分钟发一次心跳信息,防止2次登录
|
18
|
-
- 用户名密码错误,模糊提醒
|
19
|
-
|
20
|
-
##1.3.8 2018-10-31 @何宁社
|
21
|
-
- 登录后,可以调用注册的异步加载插件
|
22
|
-
|
23
|
-
##1.3.7 2018-10-9 @张桥
|
24
|
-
- 返回资源树正常
|
25
|
-
|
26
|
-
## 1.3.6 - 2018-10-12 @何宁社
|
27
|
-
- 修改了$appdata的加载过程
|
28
|
-
|
29
|
-
## 1.3.1 - 2018-10-6 @何宁社
|
30
|
-
- 把登录过程放到GetLoginInfoService插件里了
|
31
|
-
|
32
|
-
## 1.2.3 - 2018-9-27 @何宁社
|
33
|
-
- 修改路径错误
|
34
|
-
|
35
|
-
## 1.2.2 - 2018-9-27 @何宁社
|
36
|
-
- 修改资源选择器的bug
|
37
|
-
|
38
|
-
## 1.2.0 - 2018-9-20 @何宁社
|
39
|
-
- 登录后,把登录人员id存放到cookie中
|
40
|
-
|
41
|
-
## 1.1.4 - 2018-9-12 @张桥
|
42
|
-
- 修改公司树样式,登录获取显示登录人
|
43
|
-
|
44
|
-
## 1.1.3 - 2018-9-11 @何宁社
|
45
|
-
- 抄表员等获取过程,修改成更加合理模式
|
46
|
-
|
47
|
-
## 1.1.2 - 2018-9-10 @何宁社
|
48
|
-
- 片区的获取过程,修改成更加合理模式
|
49
|
-
|
50
|
-
## 1.1.1 - 2018-9-7 @何宁社
|
51
|
-
- 资源管理连接转到资源管理的页面
|
1
|
+
# Change Log
|
2
|
+
所有关于本产品的变化都在该文档里。
|
3
|
+
|
4
|
+
## [版本更新]
|
5
|
+
##1.6.4 2018-12-24 @陈栋扬
|
6
|
+
-首页及左边栏标题名称修改
|
7
|
+
|
8
|
+
##1.6.0 2018-12-1 @何宁社
|
9
|
+
- 支持功能连接为其它页面,把登录人信息同步到其它页面中
|
10
|
+
|
11
|
+
##1.3.14 2018-11-8 @陈栋扬
|
12
|
+
-修改参数管理,添加参数一键复制功能
|
13
|
+
-修改RightTree组件,添加选择上级的权限控制permissions
|
14
|
+
|
15
|
+
##1.3.13 2018-11-1 @何宁社
|
16
|
+
- 登录用户名,密码加密
|
17
|
+
- 登录后2分钟发一次心跳信息,防止2次登录
|
18
|
+
- 用户名密码错误,模糊提醒
|
19
|
+
|
20
|
+
##1.3.8 2018-10-31 @何宁社
|
21
|
+
- 登录后,可以调用注册的异步加载插件
|
22
|
+
|
23
|
+
##1.3.7 2018-10-9 @张桥
|
24
|
+
- 返回资源树正常
|
25
|
+
|
26
|
+
## 1.3.6 - 2018-10-12 @何宁社
|
27
|
+
- 修改了$appdata的加载过程
|
28
|
+
|
29
|
+
## 1.3.1 - 2018-10-6 @何宁社
|
30
|
+
- 把登录过程放到GetLoginInfoService插件里了
|
31
|
+
|
32
|
+
## 1.2.3 - 2018-9-27 @何宁社
|
33
|
+
- 修改路径错误
|
34
|
+
|
35
|
+
## 1.2.2 - 2018-9-27 @何宁社
|
36
|
+
- 修改资源选择器的bug
|
37
|
+
|
38
|
+
## 1.2.0 - 2018-9-20 @何宁社
|
39
|
+
- 登录后,把登录人员id存放到cookie中
|
40
|
+
|
41
|
+
## 1.1.4 - 2018-9-12 @张桥
|
42
|
+
- 修改公司树样式,登录获取显示登录人
|
43
|
+
|
44
|
+
## 1.1.3 - 2018-9-11 @何宁社
|
45
|
+
- 抄表员等获取过程,修改成更加合理模式
|
46
|
+
|
47
|
+
## 1.1.2 - 2018-9-10 @何宁社
|
48
|
+
- 片区的获取过程,修改成更加合理模式
|
49
|
+
|
50
|
+
## 1.1.1 - 2018-9-7 @何宁社
|
51
|
+
- 资源管理连接转到资源管理的页面
|
package/build.gradle
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
version = '3.0.
|
2
|
-
|
3
|
-
task release(type:Exec) {
|
4
|
-
workingDir '.'
|
5
|
-
commandLine 'cmd', '/c', 'release.bat ' + version
|
6
|
-
}
|
1
|
+
version = '3.0.17'
|
2
|
+
|
3
|
+
task release(type:Exec) {
|
4
|
+
workingDir '.'
|
5
|
+
commandLine 'cmd', '/c', 'release.bat ' + version
|
6
|
+
}
|
package/package.json
CHANGED
@@ -1,102 +1,102 @@
|
|
1
|
-
{
|
2
|
-
"name": "system-clients",
|
3
|
-
"version": "3.0.
|
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.21.60",
|
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": "3.0.48-fanxian",
|
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.21.60",
|
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
@@ -56,8 +56,19 @@
|
|
56
56
|
<!-- </div>-->
|
57
57
|
<!-- </div>-->
|
58
58
|
<!-- </div>-->
|
59
|
-
|
60
|
-
|
59
|
+
|
60
|
+
<div class='flex-row aaa system-main' id="box" v-el:box v-if="!isManger">
|
61
|
+
<div class="auto" style="position: fixed;right: 370px;top: 15px;color: #333">
|
62
|
+
<button class="btn" @click="showAbnormity = true" style="background: none;">
|
63
|
+
<img
|
64
|
+
src="../assets/shezhi-hover.png" height="15" width="15">
|
65
|
+
异常警报<label style="display: inline-block;width: 8px;height: 8px;border-radius: 50%;background-color: red;text-align: center;line-height: 30px;" v-show="showaData"></label>
|
66
|
+
</button>
|
67
|
+
<button class="btn" @click="stopSound" style="background: none;">
|
68
|
+
关闭警报
|
69
|
+
</button>
|
70
|
+
</div>
|
71
|
+
<div class="auto" style="position: fixed;right: 30px;top: 20px;color: #333">
|
61
72
|
<span>
|
62
73
|
<img
|
63
74
|
src="../assets/people.png" height="15" width="15">
|
@@ -114,12 +125,26 @@
|
|
114
125
|
<!-- 修改密码组件 -->
|
115
126
|
<modify-pw :show.sync="show" v-if="show"></modify-pw>
|
116
127
|
<!-- 修改密码模态框 -->
|
128
|
+
<!-- 异常查看 -->
|
129
|
+
<modal v-if="showAbnormity" :show.sync="showAbnormity" :width="1000" v-ref:modal backdrop="false">
|
130
|
+
<header slot="modal-header" class="modal-header">
|
131
|
+
<button type="button" class="close" @click="stopSoundNew"><span>×</span></button>
|
132
|
+
<h4 class="modal-title">异常报警</h4>
|
133
|
+
</header>
|
134
|
+
<article slot="modal-body" class="modal-body modifystyle auto form-horizontal">
|
135
|
+
<alarm-information :mergeinfo=abnormityWarningData></alarm-information>
|
136
|
+
</article>
|
137
|
+
<footer slot="modal-footer" class="modal-footer">
|
138
|
+
<button type="button" class="btn btn-success" @click='stopSoundNew'>确认</button>
|
139
|
+
</footer>
|
140
|
+
</modal>
|
117
141
|
</div>
|
118
142
|
</template>
|
119
143
|
|
120
144
|
<script>
|
121
145
|
import vue from 'vue'
|
122
146
|
import co from 'co'
|
147
|
+
import source from '../../static/newStyle/alarm.mp3'
|
123
148
|
|
124
149
|
window.onunload = () => {
|
125
150
|
vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
|
@@ -150,7 +175,16 @@
|
|
150
175
|
tabs:[], //已初始化页签数组
|
151
176
|
selecttab:'',
|
152
177
|
setting:true,
|
153
|
-
srcsetting:'../../static/newStyle/setting.png'
|
178
|
+
srcsetting:'../../static/newStyle/setting.png',
|
179
|
+
abnormityWarningData: {
|
180
|
+
data: []
|
181
|
+
},
|
182
|
+
showAbnormity: false,
|
183
|
+
showaData: false,
|
184
|
+
audio: null,
|
185
|
+
isTimeAb: parseInt(this.$appdata.getSingleValue('异常报警查询时间')),
|
186
|
+
isBell: this.$appdata.getSingleValue('是否响铃')
|
187
|
+
|
154
188
|
|
155
189
|
// headerHint: true, // 右侧顶部提示信息
|
156
190
|
// value: 25645.26,
|
@@ -202,8 +236,52 @@
|
|
202
236
|
// return false
|
203
237
|
// }
|
204
238
|
this.changeShow()
|
239
|
+
// 在组件挂载后立即开始定时任务
|
240
|
+
this.abnormityWarning()
|
241
|
+
this.abnormityWarData()
|
205
242
|
},
|
206
243
|
methods: {
|
244
|
+
handleMouseMoveOnce () {
|
245
|
+
const handleMouseMove = (event) => {
|
246
|
+
this.playSound()
|
247
|
+
// 移除事件监听器
|
248
|
+
document.removeEventListener('mousemove', handleMouseMove)
|
249
|
+
}
|
250
|
+
// 添加事件监听器
|
251
|
+
document.addEventListener('mousemove', handleMouseMove)
|
252
|
+
},
|
253
|
+
abnormityWarning () {
|
254
|
+
setInterval(() => {
|
255
|
+
this.abnormityWarningData = []
|
256
|
+
this.$resetpost('rs/sql/getAbnormityWarning', {data: {}}, {resolveMsg: '', rejectMsg: ''}).then(item => {
|
257
|
+
this.abnormityWarningData = item
|
258
|
+
if (this.isBell === '是') {
|
259
|
+
if (this.abnormityWarningData.data.length > 0) {
|
260
|
+
this.playSound()
|
261
|
+
this.showaData = true
|
262
|
+
this.showAbnormity = true
|
263
|
+
} else {
|
264
|
+
this.showaData = false
|
265
|
+
}
|
266
|
+
}
|
267
|
+
})
|
268
|
+
}, this.isTimeAb)
|
269
|
+
},
|
270
|
+
abnormityWarData () {
|
271
|
+
this.$resetpost('rs/sql/getAbnormityWarning', {data: {}}, {resolveMsg: '', rejectMsg: ''}).then(item => {
|
272
|
+
this.abnormityWarningData = item
|
273
|
+
if (this.isBell === '是') {
|
274
|
+
if (this.abnormityWarningData.data.length > 0) {
|
275
|
+
// this.handleMouseMoveOnce()
|
276
|
+
this.playSound()
|
277
|
+
this.showaData = true
|
278
|
+
this.showAbnormity = true
|
279
|
+
} else {
|
280
|
+
this.showaData = false
|
281
|
+
}
|
282
|
+
}
|
283
|
+
})
|
284
|
+
},
|
207
285
|
hindsetting(){
|
208
286
|
|
209
287
|
this.setting=!this.setting
|
@@ -271,6 +349,27 @@
|
|
271
349
|
tabcg(val){
|
272
350
|
console.log(val)
|
273
351
|
this.tabs = val
|
352
|
+
},
|
353
|
+
playSound () {
|
354
|
+
if (this.audio) {
|
355
|
+
this.audio.pause()
|
356
|
+
this.audio = null
|
357
|
+
}
|
358
|
+
this.audio = new Audio(source)
|
359
|
+
// this.audio.src = 'static/newStyle/alarm.mp3' // 替换为实际的音频文件路径
|
360
|
+
this.audio.loop = true // 设置循环播放
|
361
|
+
this.audio.autoplay = true
|
362
|
+
this.audio.play()
|
363
|
+
},
|
364
|
+
stopSound () {
|
365
|
+
if (this.audio) {
|
366
|
+
this.audio.pause()
|
367
|
+
this.audio = null
|
368
|
+
}
|
369
|
+
},
|
370
|
+
stopSoundNew () {
|
371
|
+
this.showAbnormity = false
|
372
|
+
this.stopSound()
|
274
373
|
}
|
275
374
|
},
|
276
375
|
computed: {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="flex">
|
3
3
|
<div class="auto">
|
4
|
-
<div class="form-horizontal select-overspread" style="
|
4
|
+
<div class="form-horizontal select-overspread" style="height: auto">
|
5
5
|
<div class="row">
|
6
|
-
<div class="col-sm-2
|
6
|
+
<div class="col-sm-2">
|
7
7
|
<label class="font_normal_body">终端类型</label>
|
8
8
|
<v-select id="f_charge_type"
|
9
9
|
v-model="model.f_equipment_type"
|
@@ -0,0 +1,124 @@
|
|
1
|
+
<template>
|
2
|
+
<div id="unit" class="flex-row">
|
3
|
+
<div class="basic-main">
|
4
|
+
<criteria-paged :model="model" v-ref:paged >
|
5
|
+
<criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search' >
|
6
|
+
<div v-show="false" novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
</criteria>
|
10
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
11
|
+
<template partial='head'>
|
12
|
+
<tr>
|
13
|
+
<th><nobr>客户编号</nobr></th>
|
14
|
+
<th><nobr>客户姓名</nobr></th>
|
15
|
+
<th><nobr>上报时间</nobr></th>
|
16
|
+
<th><nobr>上报级别</nobr></th>
|
17
|
+
<th><nobr>报警类型</nobr></th>
|
18
|
+
<th><nobr>报警详情</nobr></th>
|
19
|
+
<th>操作</th>
|
20
|
+
</tr>
|
21
|
+
</template>
|
22
|
+
<template partial='body'>
|
23
|
+
<tr>
|
24
|
+
<td style="text-align:center"><nobr>{{row.f_userinfo_code}}</nobr></td>
|
25
|
+
<td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
|
26
|
+
<td style="text-align:center"><nobr>{{row.f_insert_date}}</nobr></td>
|
27
|
+
<td style="text-align:center"><nobr>{{row.f_error_level}}</nobr></td>
|
28
|
+
<td style="text-align:center"><nobr>{{row.f_error_type}}</nobr></td>
|
29
|
+
<td style="text-align:center"><nobr>{{row.f_error_msg}}</nobr></td>
|
30
|
+
<td style="text-align:center;" v-if="row.f_is_read == false" >
|
31
|
+
<span ><a href="#" @click.stop="$parent.$parent.$parent.backSend1(row.id)">添加备注</a></span>
|
32
|
+
</td>
|
33
|
+
<td style="text-align:center;" v-if="row.f_is_read === true"><span title="备注信息:{{row.f_error_reason}}">备注信息</span></td>
|
34
|
+
</tr>
|
35
|
+
</template>
|
36
|
+
<template partial='foot'></template>
|
37
|
+
</data-grid>
|
38
|
+
</criteria-paged>
|
39
|
+
|
40
|
+
<modal :show.sync="watchshow" v-ref:modal backdrop="false">
|
41
|
+
<header slot="modal-header" class="modal-header">
|
42
|
+
<button type="button" class="close" @click="tableFault()"><span>×</span></button>
|
43
|
+
<h4 class="modal-title">信息备注</h4>
|
44
|
+
</header>
|
45
|
+
<article slot="modal-body" class="modal-body">
|
46
|
+
<div class="col-sm-12">
|
47
|
+
<label class="font_normal_body">添加信息备注</label>
|
48
|
+
<textarea name="name" rows="2" style="width: 100%"
|
49
|
+
class="ver-textarea" class="form-control"
|
50
|
+
placeholder='请填写信息备注'
|
51
|
+
v-model='f_error_reason'></textarea>
|
52
|
+
</div>
|
53
|
+
</article>
|
54
|
+
<footer slot="modal-footer" class="modal-footer">
|
55
|
+
<button v-show="watchshow" type="button" class="btn btn-default" @click='tableFault()'>取消</button>
|
56
|
+
<button v-show="watchshow" type="button" class="btn btn-danger btn-ln fr" @click='saveException()'>确认</button>
|
57
|
+
</footer>
|
58
|
+
</modal>
|
59
|
+
</div>
|
60
|
+
</div>
|
61
|
+
</template>
|
62
|
+
<script>
|
63
|
+
import {PagedList} from 'vue-client'
|
64
|
+
|
65
|
+
export default {
|
66
|
+
title: '异常警报信息',
|
67
|
+
props: ['mergeinfo'],
|
68
|
+
data () {
|
69
|
+
return {
|
70
|
+
watchshow: false,
|
71
|
+
cancelid: '',
|
72
|
+
condition: '1=1',
|
73
|
+
error_condition: '',
|
74
|
+
f_error_reason: '',
|
75
|
+
model: new PagedList('rs/sql/getAbnormityWarning', 8)
|
76
|
+
}
|
77
|
+
},
|
78
|
+
ready () {
|
79
|
+
this.model
|
80
|
+
this.$refs.paged.$refs.criteria.search()
|
81
|
+
},
|
82
|
+
methods: {
|
83
|
+
backSend1(megrow){
|
84
|
+
this.watchshow = true
|
85
|
+
this.cancelid = megrow
|
86
|
+
},
|
87
|
+
tableFault (val) {
|
88
|
+
if (val) {
|
89
|
+
console.log('开启弹窗')
|
90
|
+
} else {
|
91
|
+
console.log('返回置空')
|
92
|
+
this.f_error_reason = ''
|
93
|
+
}
|
94
|
+
this.watchshow = !this.watchshow
|
95
|
+
},
|
96
|
+
search (args) {
|
97
|
+
console.log(args)
|
98
|
+
this.condition = '1=1'
|
99
|
+
this.model.search(args.condition, args.model)
|
100
|
+
},
|
101
|
+
saveException () {
|
102
|
+
let send = {
|
103
|
+
id: this.cancelid, // 当前记录ID
|
104
|
+
f_is_read: 1,
|
105
|
+
f_error_operator: this.$login.f.name,
|
106
|
+
f_error_operatorid: this.$login.f.id,
|
107
|
+
f_error_reason: this.f_error_reason // 备注原因
|
108
|
+
}
|
109
|
+
let param = {
|
110
|
+
tablename: 't_exception',
|
111
|
+
id:1,
|
112
|
+
basedata: send
|
113
|
+
}
|
114
|
+
this.$resetpost('rs/logic/iat_saveTable', param).then(() => {
|
115
|
+
// this.params.rows.splice(index, 1)
|
116
|
+
this.watchshow = false
|
117
|
+
this.$refs.paged
|
118
|
+
this.f_error_reason = ''
|
119
|
+
})
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
}
|
124
|
+
</script>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<div class="auto">
|
7
7
|
<form class="form-horizontal" style="margin-bottom: 5px;">
|
8
8
|
<div class="row">
|
9
|
-
<div class="col-sm-4
|
9
|
+
<div class="col-sm-4">
|
10
10
|
<label class="font_normal_body">使用公司</label>
|
11
11
|
<res-select restype='organization'
|
12
12
|
:is-mul="false"
|
@@ -14,11 +14,11 @@
|
|
14
14
|
@res-select="getorgCur">
|
15
15
|
</res-select>
|
16
16
|
</div>
|
17
|
-
<div class="col-sm-4
|
17
|
+
<div class="col-sm-4">
|
18
18
|
<label class="font_normal_body">参数名称</label>
|
19
19
|
<input type="text" class="input_search" style="width: 60%" placeholder='请输入查找的参数名' v-model="conditionModel.paramName" @keyup.enter="filter_query(param, f_orgid_current)">
|
20
20
|
</div>
|
21
|
-
<div class="
|
21
|
+
<div class="text-right">
|
22
22
|
<button type="button" class="button_search" @click="filter_query(conditionModel.paramName,conditionModel.f_cond_orgid);return false;">查询</button>
|
23
23
|
</div>
|
24
24
|
</div>
|
@@ -79,12 +79,12 @@
|
|
79
79
|
</header>
|
80
80
|
<article slot="modal-body" class="modal-body">
|
81
81
|
<form class="form-horizontal">
|
82
|
-
<div class="
|
83
|
-
<div class="col-sm-6
|
82
|
+
<div class="form-group">
|
83
|
+
<div class="col-sm-6">
|
84
84
|
<label class="font_normal_body">参数名称</label>
|
85
85
|
<input type="text" class="input_search" style="width: 60%" v-model="modifyItem.name" @keyup.enter="confirm">
|
86
86
|
</div>
|
87
|
-
<div class="col-sm-6
|
87
|
+
<div class="col-sm-6" v-if="modifyItem.EntityType === 't_parameter'">
|
88
88
|
<div class="checkbox">
|
89
89
|
<label>
|
90
90
|
<input type="checkbox" v-model="modifyItem.isGlobal" :checked="modifyItem.isGlobal">是否全局
|
@@ -92,8 +92,8 @@
|
|
92
92
|
</div>
|
93
93
|
</div>
|
94
94
|
</div>
|
95
|
-
<div class="
|
96
|
-
<div class="col-sm-6
|
95
|
+
<div class="form-group" v-if="modifyItem.EntityType === 't_parameter' && !modifyItem.isGlobal">
|
96
|
+
<div class="col-sm-6">
|
97
97
|
<label class="font_normal_body">所属公司</label>
|
98
98
|
<res-select restype='organization'
|
99
99
|
:is-mul="false"
|