system-clients 1.6.379 → 1.6.380
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 +113 -113
- package/src/App.vue +24 -28
- package/src/components/equipment/PosList.vue +290 -290
- package/src/plugins/EncryptUtil.js +30 -0
- package/src/plugins/GetLoginInfoService.js +3 -0
package/package.json
CHANGED
|
@@ -1,113 +1,113 @@
|
|
|
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
|
-
"encryptlong": "^3.1.4",
|
|
26
|
-
"src": "^1.1.2",
|
|
27
|
-
"vue": "^1.0.17"
|
|
28
|
-
},
|
|
29
|
-
"devDependencies": {
|
|
30
|
-
"address-client": "1.3.53.1",
|
|
31
|
-
"axios": "0.15.3",
|
|
32
|
-
"babel-core": "^6.0.0",
|
|
33
|
-
"babel-loader": "^6.0.0",
|
|
34
|
-
"babel-plugin-transform-runtime": "^6.0.0",
|
|
35
|
-
"babel-preset-es2015": "^6.0.0",
|
|
36
|
-
"babel-preset-stage-2": "^6.0.0",
|
|
37
|
-
"chai": "^3.5.0",
|
|
38
|
-
"co": "^4.6.0",
|
|
39
|
-
"connect-history-api-fallback": "^1.1.0",
|
|
40
|
-
"cross-env": "^1.0.7",
|
|
41
|
-
"cross-spawn": "^2.1.5",
|
|
42
|
-
"css-loader": "^0.23.0",
|
|
43
|
-
"echarts": "^4.1.0",
|
|
44
|
-
"eslint": "^2.0.0",
|
|
45
|
-
"eslint-config-standard": "^5.1.0",
|
|
46
|
-
"eslint-friendly-formatter": "^1.2.2",
|
|
47
|
-
"eslint-loader": "^1.3.0",
|
|
48
|
-
"eslint-plugin-html": "^1.3.0",
|
|
49
|
-
"eslint-plugin-promise": "^1.0.8",
|
|
50
|
-
"eslint-plugin-standard": "^1.3.2",
|
|
51
|
-
"eslint-plugin-vue": "^0.1.1",
|
|
52
|
-
"eventsource-polyfill": "^0.9.6",
|
|
53
|
-
"express": "^4.13.3",
|
|
54
|
-
"extract-text-webpack-plugin": "^1.0.1",
|
|
55
|
-
"file-loader": "^0.8.4",
|
|
56
|
-
"function-bind": "^1.0.2",
|
|
57
|
-
"html-webpack-plugin": "^2.8.1",
|
|
58
|
-
"http-proxy": "^1.17.0",
|
|
59
|
-
"http-proxy-middleware": "^0.11.0",
|
|
60
|
-
"inject-loader": "^2.0.1",
|
|
61
|
-
"isparta-loader": "^2.0.0",
|
|
62
|
-
"jasmine-core": "^2.4.1",
|
|
63
|
-
"jquery": "^3.3.1",
|
|
64
|
-
"json-loader": "^0.5.4",
|
|
65
|
-
"karma": "^1.4.1",
|
|
66
|
-
"karma-chrome-launcher": "^2.2.0",
|
|
67
|
-
"karma-coverage": "^1.1.1",
|
|
68
|
-
"karma-mocha": "^1.3.0",
|
|
69
|
-
"karma-sinon-chai": "^1.3.1",
|
|
70
|
-
"karma-sourcemap-loader": "^0.3.7",
|
|
71
|
-
"karma-spec-reporter": "0.0.31",
|
|
72
|
-
"karma-webpack": "^2.0.2",
|
|
73
|
-
"less": "^2.7.3",
|
|
74
|
-
"ldap-clients": "0.4.5",
|
|
75
|
-
"jsencrypt": "3.0.0-rc.1",
|
|
76
|
-
"manage-client": "1.0.4",
|
|
77
|
-
"mkdirp": "^0.5.1",
|
|
78
|
-
"mocha": "^3.2.0",
|
|
79
|
-
"ncp": "^2.0.0",
|
|
80
|
-
"nightwatch": "^0.8.18",
|
|
81
|
-
"rimraf": "^2.5.0",
|
|
82
|
-
"selenium-server": "2.52.0",
|
|
83
|
-
"sinon": "^2.1.0",
|
|
84
|
-
"sinon-chai": "^2.8.0",
|
|
85
|
-
"style": "0.0.3",
|
|
86
|
-
"style-loader": "^0.20.3",
|
|
87
|
-
"url-loader": "^0.5.7",
|
|
88
|
-
"vue-client": "1.21.7-jc",
|
|
89
|
-
"crypto-js": "^4.1.1",
|
|
90
|
-
"vue-hot-reload-api": "^1.2.0",
|
|
91
|
-
"vue-html-loader": "^1.0.0",
|
|
92
|
-
"vue-loader": "8.2.1",
|
|
93
|
-
"vue-resource": "^1.5.0",
|
|
94
|
-
"vue-router": "^0.7.13",
|
|
95
|
-
"vue-strap": "^1.0.9",
|
|
96
|
-
"vue-style-loader": "^1.0.0",
|
|
97
|
-
"vue-validator": "2.1.7",
|
|
98
|
-
"webpack": "1.12.2",
|
|
99
|
-
"webpack-bundle-analyzer": "^2.8.3",
|
|
100
|
-
"webpack-dev-middleware": "^1.4.0",
|
|
101
|
-
"webpack-hot-middleware": "^2.6.0",
|
|
102
|
-
"webpack-merge": "^0.8.3"
|
|
103
|
-
},
|
|
104
|
-
"repository": {
|
|
105
|
-
"type": "git",
|
|
106
|
-
"url": "https://gitee.com/aotu/System"
|
|
107
|
-
},
|
|
108
|
-
"keywords": [
|
|
109
|
-
"system_clients"
|
|
110
|
-
],
|
|
111
|
-
"author": "杨文宇",
|
|
112
|
-
"license": "ISC"
|
|
113
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "system-clients",
|
|
3
|
+
"version": "1.6.380",
|
|
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
|
+
"encryptlong": "^3.1.4",
|
|
26
|
+
"src": "^1.1.2",
|
|
27
|
+
"vue": "^1.0.17"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"address-client": "1.3.53.1",
|
|
31
|
+
"axios": "0.15.3",
|
|
32
|
+
"babel-core": "^6.0.0",
|
|
33
|
+
"babel-loader": "^6.0.0",
|
|
34
|
+
"babel-plugin-transform-runtime": "^6.0.0",
|
|
35
|
+
"babel-preset-es2015": "^6.0.0",
|
|
36
|
+
"babel-preset-stage-2": "^6.0.0",
|
|
37
|
+
"chai": "^3.5.0",
|
|
38
|
+
"co": "^4.6.0",
|
|
39
|
+
"connect-history-api-fallback": "^1.1.0",
|
|
40
|
+
"cross-env": "^1.0.7",
|
|
41
|
+
"cross-spawn": "^2.1.5",
|
|
42
|
+
"css-loader": "^0.23.0",
|
|
43
|
+
"echarts": "^4.1.0",
|
|
44
|
+
"eslint": "^2.0.0",
|
|
45
|
+
"eslint-config-standard": "^5.1.0",
|
|
46
|
+
"eslint-friendly-formatter": "^1.2.2",
|
|
47
|
+
"eslint-loader": "^1.3.0",
|
|
48
|
+
"eslint-plugin-html": "^1.3.0",
|
|
49
|
+
"eslint-plugin-promise": "^1.0.8",
|
|
50
|
+
"eslint-plugin-standard": "^1.3.2",
|
|
51
|
+
"eslint-plugin-vue": "^0.1.1",
|
|
52
|
+
"eventsource-polyfill": "^0.9.6",
|
|
53
|
+
"express": "^4.13.3",
|
|
54
|
+
"extract-text-webpack-plugin": "^1.0.1",
|
|
55
|
+
"file-loader": "^0.8.4",
|
|
56
|
+
"function-bind": "^1.0.2",
|
|
57
|
+
"html-webpack-plugin": "^2.8.1",
|
|
58
|
+
"http-proxy": "^1.17.0",
|
|
59
|
+
"http-proxy-middleware": "^0.11.0",
|
|
60
|
+
"inject-loader": "^2.0.1",
|
|
61
|
+
"isparta-loader": "^2.0.0",
|
|
62
|
+
"jasmine-core": "^2.4.1",
|
|
63
|
+
"jquery": "^3.3.1",
|
|
64
|
+
"json-loader": "^0.5.4",
|
|
65
|
+
"karma": "^1.4.1",
|
|
66
|
+
"karma-chrome-launcher": "^2.2.0",
|
|
67
|
+
"karma-coverage": "^1.1.1",
|
|
68
|
+
"karma-mocha": "^1.3.0",
|
|
69
|
+
"karma-sinon-chai": "^1.3.1",
|
|
70
|
+
"karma-sourcemap-loader": "^0.3.7",
|
|
71
|
+
"karma-spec-reporter": "0.0.31",
|
|
72
|
+
"karma-webpack": "^2.0.2",
|
|
73
|
+
"less": "^2.7.3",
|
|
74
|
+
"ldap-clients": "0.4.5",
|
|
75
|
+
"jsencrypt": "3.0.0-rc.1",
|
|
76
|
+
"manage-client": "1.0.4",
|
|
77
|
+
"mkdirp": "^0.5.1",
|
|
78
|
+
"mocha": "^3.2.0",
|
|
79
|
+
"ncp": "^2.0.0",
|
|
80
|
+
"nightwatch": "^0.8.18",
|
|
81
|
+
"rimraf": "^2.5.0",
|
|
82
|
+
"selenium-server": "2.52.0",
|
|
83
|
+
"sinon": "^2.1.0",
|
|
84
|
+
"sinon-chai": "^2.8.0",
|
|
85
|
+
"style": "0.0.3",
|
|
86
|
+
"style-loader": "^0.20.3",
|
|
87
|
+
"url-loader": "^0.5.7",
|
|
88
|
+
"vue-client": "1.21.7-jc",
|
|
89
|
+
"crypto-js": "^4.1.1",
|
|
90
|
+
"vue-hot-reload-api": "^1.2.0",
|
|
91
|
+
"vue-html-loader": "^1.0.0",
|
|
92
|
+
"vue-loader": "8.2.1",
|
|
93
|
+
"vue-resource": "^1.5.0",
|
|
94
|
+
"vue-router": "^0.7.13",
|
|
95
|
+
"vue-strap": "^1.0.9",
|
|
96
|
+
"vue-style-loader": "^1.0.0",
|
|
97
|
+
"vue-validator": "2.1.7",
|
|
98
|
+
"webpack": "1.12.2",
|
|
99
|
+
"webpack-bundle-analyzer": "^2.8.3",
|
|
100
|
+
"webpack-dev-middleware": "^1.4.0",
|
|
101
|
+
"webpack-hot-middleware": "^2.6.0",
|
|
102
|
+
"webpack-merge": "^0.8.3"
|
|
103
|
+
},
|
|
104
|
+
"repository": {
|
|
105
|
+
"type": "git",
|
|
106
|
+
"url": "https://gitee.com/aotu/System"
|
|
107
|
+
},
|
|
108
|
+
"keywords": [
|
|
109
|
+
"system_clients"
|
|
110
|
+
],
|
|
111
|
+
"author": "杨文宇",
|
|
112
|
+
"license": "ISC"
|
|
113
|
+
}
|
package/src/App.vue
CHANGED
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
Vue.HWQMM = [51, 150, 231, 300, 565, 708, 721, 952, 738, 560, 935, 912, 1274, 1148, 840, 1440]
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<app-base class="bg">
|
|
3
|
+
<div class='flex'>
|
|
4
|
+
<article>
|
|
5
|
+
<!--<route :comp="{name: 'check-model'}"></route>-->
|
|
6
|
+
<!--<route :comp="{name: 'vender-management'}"></route>-->
|
|
7
|
+
<route :comp="{name: 'login'}"></route>
|
|
8
|
+
<!-- <route :comp="{name: 'load-data'}"></route> -->
|
|
9
|
+
<!-- <route :comp="{name: 'load-params', props: {componentName: 'login'}}"></route> -->
|
|
10
|
+
<!-- <route :comp="{name: 'load-params', props: {dataUrl: ['rs/sql/getMeterBrand','rs/sql/getPriceType','rs/sql/getMeterStyle'], componentName: 'login'}}"></route> -->
|
|
11
|
+
</article>
|
|
12
|
+
</div>
|
|
13
|
+
</app-base>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script>
|
|
17
|
+
// import cardListen from './plugins/CardListen'
|
|
18
|
+
|
|
19
|
+
export default {
|
|
20
|
+
// ready () {
|
|
21
|
+
// cardListen.startListen()
|
|
22
|
+
// }
|
|
23
|
+
}
|
|
24
|
+
</script>
|
|
@@ -1,290 +1,290 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="flex">
|
|
3
|
-
<criteria-paged :model="model" v-ref:paged>
|
|
4
|
-
|
|
5
|
-
<criteria partial='criteria' style="background-color: white;" @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
6
|
-
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
7
|
-
<div class="row">
|
|
8
|
-
<!--<div class="col-sm-3 form-group">-->
|
|
9
|
-
<!--<label class="font_normal_body">公 司</label>-->
|
|
10
|
-
<!--<res-select restype='organization'-->
|
|
11
|
-
<!--is-mul="false"-->
|
|
12
|
-
<!--@res-select="$parent.$parent.getorg"-->
|
|
13
|
-
<!--:initresid="$parent.$parent.curorgid">-->
|
|
14
|
-
<!--</res-select>-->
|
|
15
|
-
<!--</div>-->
|
|
16
|
-
<div class="col-sm-3 form-group">
|
|
17
|
-
<label class="font_normal_body">设备编号</label>
|
|
18
|
-
<input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_number"
|
|
19
|
-
condition="f_terminal_number like '%{}%'" placeholder="设备编号">
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<div class="span" style="float:right;margin-top: 6px">
|
|
24
|
-
<!-- <button type="button" class="btn-success btn " style="border-radius: 4px"-->
|
|
25
|
-
<!-- @click="$parent.$parent.batchRoot('1')">批量启用-->
|
|
26
|
-
<!-- </button>-->
|
|
27
|
-
<!-- <button type="button" class="btn-danger btn " style="border-radius: 4px"-->
|
|
28
|
-
<!-- @click="$parent.$parent.batchRoot('0')">批量停用-->
|
|
29
|
-
<!-- </button>-->
|
|
30
|
-
<button type="button" class="button_search btn" @click="search()" v-el:cx>查询</button>
|
|
31
|
-
<export-excel :data="{condition: condition}"
|
|
32
|
-
:field="$parent.$parent.getfield"
|
|
33
|
-
sqlurl="rs/logic/saleExport" sql-name="sale_equipmentQuery" template-name='pos导出' :choose-col="true"></export-excel>
|
|
34
|
-
<!-- <button type="button" class="button_search btn" @click="$parent.$parent.add() " v-el:cx>新增</button>-->
|
|
35
|
-
<!-- <div style="float: right" class="button_spacing"-->
|
|
36
|
-
<!-- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"-->
|
|
37
|
-
<!-- @click="$parent.$parent.hidden()"></div>-->
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
41
|
-
<div class="col-sm-3 form-group">
|
|
42
|
-
<label class="font_normal_body">所属人员</label>
|
|
43
|
-
<right-tree @re-res="$parent.$parent.getRes" :source="$parent.$parent.source"></right-tree>
|
|
44
|
-
</div>
|
|
45
|
-
<div class="col-sm-3 form-group">
|
|
46
|
-
<label class="font_normal_body">所在地</label>
|
|
47
|
-
<input type="text" class="input_search" style="width:60%" v-model="model.f_address"
|
|
48
|
-
condition="f_address like '%{}%'" placeholder="所在地">
|
|
49
|
-
</div>
|
|
50
|
-
<div class="col-sm-3 form-group">
|
|
51
|
-
<label class="font_normal_body">设备名称</label>
|
|
52
|
-
<input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_name"
|
|
53
|
-
condition="f_terminal_name like '%{}%'" placeholder="设备名称">
|
|
54
|
-
</div>
|
|
55
|
-
<div class="col-sm-3 form-group">
|
|
56
|
-
<label class="font_normal_body">机器编号</label>
|
|
57
|
-
<input type="text" class="input_search" style="width:60%" v-model="model.f_machine_number"
|
|
58
|
-
condition="f_machine_number like '%{}%'" placeholder="机器编号">
|
|
59
|
-
</div>
|
|
60
|
-
<div class="col-sm-3 form-group">
|
|
61
|
-
<label class="font_normal_body">所属银行</label>
|
|
62
|
-
<input type="text" class="input_search" style="width:60%" v-model="model.f_bank_name"
|
|
63
|
-
condition="f_bank_name like '%{}%'" placeholder="所属银行">
|
|
64
|
-
</div>
|
|
65
|
-
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
</criteria>
|
|
69
|
-
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
|
|
70
|
-
<template partial='head'>
|
|
71
|
-
<tr>
|
|
72
|
-
<th><input type="checkbox" name="ischeckbox_all_id" v-model="$parent.$parent.$parent.isSelAll" :value.sync="$parent.$parent.$parent.isSelAll" /></th>
|
|
73
|
-
<th style="text-align:center;white-space:nowrap;">序号</th>
|
|
74
|
-
<th style="text-align:center;white-space:nowrap;">设备编号</th>
|
|
75
|
-
<th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">设备类型</th>
|
|
76
|
-
<th style="text-align:center;white-space:nowrap;">设备名称</th>
|
|
77
|
-
<th style="text-align:center;white-space:nowrap;">所属公司</th>
|
|
78
|
-
<th style="text-align:center;white-space:nowrap;">所属部门</th>
|
|
79
|
-
<th style="text-align:center;white-space:nowrap;">所属人员</th>
|
|
80
|
-
<th style="text-align:center;white-space:nowrap;">机器编号</th>
|
|
81
|
-
<th style="text-align:center;white-space:nowrap;">所在地</th>
|
|
82
|
-
<th style="text-align:center;white-space:nowrap;">所属银行</th>
|
|
83
|
-
<th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">操作时间</th>
|
|
84
|
-
<th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">操作人</th>
|
|
85
|
-
<th style="text-align:center;white-space:nowrap;">失联状态</th>
|
|
86
|
-
</tr>
|
|
87
|
-
</template>
|
|
88
|
-
<template partial='body':model="model">
|
|
89
|
-
<tr>
|
|
90
|
-
<td><input type="checkbox" name="checkbox_id" v-model="$parent.$parent.$parent.selPos" :value.sync="row"></td>
|
|
91
|
-
<td style="text-align:center;white-space:nowrap;">{{$index+1}}</td>
|
|
92
|
-
<!-- <td style="text-align:center;white-space:nowrap;"><span title="点击查看历史" @click="$parent.$parent.$parent.abcd(row)"><a>{{row.f_terminal_number}}</a></span></td>-->
|
|
93
|
-
<td style="text-align:center;white-space:nowrap;">{{row.f_terminal_number}}</td>
|
|
94
|
-
<td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_equipment_type}}</td>
|
|
95
|
-
<td style="text-align:center;white-space:nowrap;">{{row.f_terminal_name}}</td>
|
|
96
|
-
<td style="text-align:center;white-space:nowrap;">{{row.f_user_orgname}}</td>
|
|
97
|
-
<td style="text-align:center;white-space:nowrap;">{{row.f_depname}}</td>
|
|
98
|
-
<td style="text-align:center;white-space:nowrap;">{{row.f_operator}}</td>
|
|
99
|
-
<td style="text-align:center;white-space:nowrap;">{{row.f_machine_number}}</td>
|
|
100
|
-
<td style="text-align:center;white-space:nowrap;">{{row.f_address}}</td>
|
|
101
|
-
<td style="text-align:center;white-space:nowrap;">{{row.f_bank_name}}</td>
|
|
102
|
-
<td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_report_date}}</td>
|
|
103
|
-
<td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_operator}}</td>
|
|
104
|
-
<td style="text-align:center;white-space:nowrap;" >{{row.isunknown}}</td>
|
|
105
|
-
</tr>
|
|
106
|
-
</template>
|
|
107
|
-
</data-grid>
|
|
108
|
-
</criteria-paged>
|
|
109
|
-
</div>
|
|
110
|
-
<modal v-show="infoshow" :show.sync="infoshow" v-ref:modal backdrop="false" width="800px" title="终端历史信息">
|
|
111
|
-
<article slot="modal-body" class="modal-body">
|
|
112
|
-
<criteria-paged :model="model2" v-ref:paged2>
|
|
113
|
-
<data-grid :model="model2" v-ref:grid2 partial='list'>
|
|
114
|
-
<template partial='head'>
|
|
115
|
-
<tr>
|
|
116
|
-
<!--<th style="padding: 0;border: 0">
|
|
117
|
-
<input type="checkbox" id="f_operator" v-model="$parent.$parent.$parent.all[model.pageIndex-1]"
|
|
118
|
-
@change="$parent.$parent.$parent.select()" style="width: 22px;height: 22px"/>
|
|
119
|
-
</th>-->
|
|
120
|
-
<th><nobr>序号</nobr></th>
|
|
121
|
-
<th><nobr>终端号</nobr></th>
|
|
122
|
-
<th><nobr>上次上报时间</nobr></th>
|
|
123
|
-
<th><nobr>本次上报时间</nobr></th>
|
|
124
|
-
<th><nobr><b>状态</b></nobr></th>
|
|
125
|
-
</tr>
|
|
126
|
-
</template>
|
|
127
|
-
<template partial='body'>
|
|
128
|
-
<td style="text-align: center;">{{$index + 1}}</td>
|
|
129
|
-
<td style="text-align: center;">{{row.f_terminal_number}}</td>
|
|
130
|
-
<td style="text-align: center;">{{row.f_update_date}}</td>
|
|
131
|
-
<td style="text-align: center;">{{row.f_update_date }}</td>
|
|
132
|
-
<td style="text-align: center;"><b>{{row.f_pos_state}}</b></td>
|
|
133
|
-
</template>
|
|
134
|
-
</data-grid>
|
|
135
|
-
</criteria-paged>
|
|
136
|
-
</article>
|
|
137
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
138
|
-
<button type="button" class="btn btn-success" @click='infoclose'>关闭</button>
|
|
139
|
-
</footer>
|
|
140
|
-
</modal>
|
|
141
|
-
</template>
|
|
142
|
-
|
|
143
|
-
<script>
|
|
144
|
-
|
|
145
|
-
import {PagedList} from 'vue-client'
|
|
146
|
-
|
|
147
|
-
export default {
|
|
148
|
-
title: '终端控制',
|
|
149
|
-
components: {},
|
|
150
|
-
data () {
|
|
151
|
-
return {
|
|
152
|
-
source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
|
|
153
|
-
model: new PagedList('rs/sql/equipmentQuery', 20),
|
|
154
|
-
model2: new PagedList('rs/sql/singleTable', 30, {tablename: '`t_poshistory`'}),
|
|
155
|
-
curorgid: [this.f_filialeid],
|
|
156
|
-
f_orgid: '',
|
|
157
|
-
f_filialeids: '',
|
|
158
|
-
criteriaShow: false,
|
|
159
|
-
infoadd: false,
|
|
160
|
-
selPos: [],
|
|
161
|
-
getfield:{
|
|
162
|
-
'f_terminal_number': '设备编号',
|
|
163
|
-
'f_equipment_type':'设备类型',
|
|
164
|
-
'f_terminal_name':'设备名称',
|
|
165
|
-
'f_user_orgname':'所属公司',
|
|
166
|
-
'f_depname':'所属部门',
|
|
167
|
-
'f_operator':'所属人员',
|
|
168
|
-
'f_machine_number':'机器编号',
|
|
169
|
-
'f_address':'所在地',
|
|
170
|
-
'f_bank_name':'所属银行',
|
|
171
|
-
'isunknown':'失联状态',
|
|
172
|
-
'f_report_date':'操作时间'
|
|
173
|
-
},
|
|
174
|
-
isSelAll: false, // 默认不全选
|
|
175
|
-
infoshow: false
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
props: ['f_filialeid','isshowless'],
|
|
179
|
-
ready () {
|
|
180
|
-
this.search()
|
|
181
|
-
},
|
|
182
|
-
watch:{
|
|
183
|
-
// 'selPos'(val){
|
|
184
|
-
// console.log(val)
|
|
185
|
-
// },
|
|
186
|
-
'isSelAll'(val){
|
|
187
|
-
console.log('-------', val)
|
|
188
|
-
if (val) {
|
|
189
|
-
// 对当前页面全选
|
|
190
|
-
this.selPos = []
|
|
191
|
-
for (const sel of this.model.rows) {
|
|
192
|
-
// if (this.selPos.indexOf(sel.id) < 0){
|
|
193
|
-
this.selPos.push(sel)
|
|
194
|
-
// }
|
|
195
|
-
}
|
|
196
|
-
} else {
|
|
197
|
-
// 取消全选
|
|
198
|
-
this.selPos = []
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
},
|
|
202
|
-
methods: {
|
|
203
|
-
getRes(val){
|
|
204
|
-
if (val.orgobj.length === 1 && val.orgobj[0].resourcetype === 'user'){
|
|
205
|
-
this.$refs.paged.$refs.cri.model.f_user_operatorid=val.orgobj[0].userid
|
|
206
|
-
this.$refs.paged.$refs.cri.model.f_user_operator=val.orgobj[0].name
|
|
207
|
-
} else {
|
|
208
|
-
this.$refs.paged.$refs.cri.model.f_user_operatorid=''
|
|
209
|
-
this.$refs.paged.$refs.cri.model.f_user_operator=''
|
|
210
|
-
}
|
|
211
|
-
},
|
|
212
|
-
infoclose(){
|
|
213
|
-
this.infoshow=false
|
|
214
|
-
},
|
|
215
|
-
// 批量操作
|
|
216
|
-
async batchRoot(val) {
|
|
217
|
-
let arrs = []
|
|
218
|
-
let alertMessage = ''
|
|
219
|
-
let selPos = this.selPos
|
|
220
|
-
if (val === '0') {
|
|
221
|
-
alertMessage = '停用'
|
|
222
|
-
for (const tmp of selPos) {
|
|
223
|
-
if (tmp.f_state === '正常') arrs.push(tmp)
|
|
224
|
-
}
|
|
225
|
-
} else if (val === '1') {
|
|
226
|
-
alertMessage = '启用'
|
|
227
|
-
for (const tmp of selPos) {
|
|
228
|
-
if (tmp.f_state === '停用') arrs.push(tmp)
|
|
229
|
-
}
|
|
230
|
-
} else if (val === '2') {
|
|
231
|
-
alertMessage = '升级'
|
|
232
|
-
for (const tmp of selPos) {
|
|
233
|
-
if (tmp.f_state === '正常') arrs.push(tmp)
|
|
234
|
-
}
|
|
235
|
-
} else {
|
|
236
|
-
this.showAlert('出现异常,请重新进操作')
|
|
237
|
-
return
|
|
238
|
-
}
|
|
239
|
-
await this.$resetpost('rs/logic/batchPos', {data: {tasks: arrs, taskState: val}}, {
|
|
240
|
-
rejectMsg: null,
|
|
241
|
-
resolveMsg: null
|
|
242
|
-
})
|
|
243
|
-
// 需要提示
|
|
244
|
-
this.$showAlert(`已经开始批量${alertMessage},选择${selPos.length},其中${arrs.length}台可以正常${alertMessage},具体请留意设备情况,并刷新列表查看执行结果!`,'success', 2500)
|
|
245
|
-
this.$dispatch('close')
|
|
246
|
-
},
|
|
247
|
-
abcd (row) {
|
|
248
|
-
console.log("chakan",row)
|
|
249
|
-
let condition = `f_terminal_number = '${row.f_terminal_number}' order by id desc`
|
|
250
|
-
this.model2.search(condition)
|
|
251
|
-
this.infoshow = true
|
|
252
|
-
},
|
|
253
|
-
search () {
|
|
254
|
-
this.$refs.paged.$refs.cri.search()
|
|
255
|
-
},
|
|
256
|
-
|
|
257
|
-
selfSearch (args) {
|
|
258
|
-
console.log(args)
|
|
259
|
-
if (args.model.f_user_operatorid && args.model.f_user_operator){
|
|
260
|
-
args.condition = `${args.condition} and f_user_operatorid = '${args.model.f_user_operatorid}'
|
|
261
|
-
and f_user_operator = '${args.model.f_user_operator}'`
|
|
262
|
-
}
|
|
263
|
-
args.condition = `${args.condition} and f_equipment_type = 'POS'`
|
|
264
|
-
this.model.search(args.condition, this.model)
|
|
265
|
-
this.$dispatch('research')
|
|
266
|
-
},
|
|
267
|
-
|
|
268
|
-
add () {
|
|
269
|
-
this.infoadd=false
|
|
270
|
-
// if (this.f_filialeid) {
|
|
271
|
-
this.$dispatch('add', this.f_filialeid)
|
|
272
|
-
// } else {
|
|
273
|
-
// this.$showAlert('请先选择左上角的所在分公司', 'warning', 2000)
|
|
274
|
-
// }
|
|
275
|
-
},
|
|
276
|
-
|
|
277
|
-
getorg (val) {
|
|
278
|
-
this.f_orgid = val[0]
|
|
279
|
-
this.f_filialeid = val[0]
|
|
280
|
-
// this.search()
|
|
281
|
-
},
|
|
282
|
-
hidden(){
|
|
283
|
-
this.criteriaShow = !this.criteriaShow
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
computed: {
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex">
|
|
3
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
4
|
+
|
|
5
|
+
<criteria partial='criteria' style="background-color: white;" @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
6
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
7
|
+
<div class="row">
|
|
8
|
+
<!--<div class="col-sm-3 form-group">-->
|
|
9
|
+
<!--<label class="font_normal_body">公 司</label>-->
|
|
10
|
+
<!--<res-select restype='organization'-->
|
|
11
|
+
<!--is-mul="false"-->
|
|
12
|
+
<!--@res-select="$parent.$parent.getorg"-->
|
|
13
|
+
<!--:initresid="$parent.$parent.curorgid">-->
|
|
14
|
+
<!--</res-select>-->
|
|
15
|
+
<!--</div>-->
|
|
16
|
+
<div class="col-sm-3 form-group">
|
|
17
|
+
<label class="font_normal_body">设备编号</label>
|
|
18
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_number"
|
|
19
|
+
condition="f_terminal_number like '%{}%'" placeholder="设备编号">
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<div class="span" style="float:right;margin-top: 6px">
|
|
24
|
+
<!-- <button type="button" class="btn-success btn " style="border-radius: 4px"-->
|
|
25
|
+
<!-- @click="$parent.$parent.batchRoot('1')">批量启用-->
|
|
26
|
+
<!-- </button>-->
|
|
27
|
+
<!-- <button type="button" class="btn-danger btn " style="border-radius: 4px"-->
|
|
28
|
+
<!-- @click="$parent.$parent.batchRoot('0')">批量停用-->
|
|
29
|
+
<!-- </button>-->
|
|
30
|
+
<button type="button" class="button_search btn" @click="search()" v-el:cx>查询</button>
|
|
31
|
+
<export-excel :data="{condition: condition}"
|
|
32
|
+
:field="$parent.$parent.getfield"
|
|
33
|
+
sqlurl="rs/logic/saleExport" sql-name="sale_equipmentQuery" template-name='pos导出' :choose-col="true"></export-excel>
|
|
34
|
+
<!-- <button type="button" class="button_search btn" @click="$parent.$parent.add() " v-el:cx>新增</button>-->
|
|
35
|
+
<!-- <div style="float: right" class="button_spacing"-->
|
|
36
|
+
<!-- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"-->
|
|
37
|
+
<!-- @click="$parent.$parent.hidden()"></div>-->
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
41
|
+
<div class="col-sm-3 form-group">
|
|
42
|
+
<label class="font_normal_body">所属人员</label>
|
|
43
|
+
<right-tree @re-res="$parent.$parent.getRes" :source="$parent.$parent.source"></right-tree>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="col-sm-3 form-group">
|
|
46
|
+
<label class="font_normal_body">所在地</label>
|
|
47
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_address"
|
|
48
|
+
condition="f_address like '%{}%'" placeholder="所在地">
|
|
49
|
+
</div>
|
|
50
|
+
<div class="col-sm-3 form-group">
|
|
51
|
+
<label class="font_normal_body">设备名称</label>
|
|
52
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_name"
|
|
53
|
+
condition="f_terminal_name like '%{}%'" placeholder="设备名称">
|
|
54
|
+
</div>
|
|
55
|
+
<div class="col-sm-3 form-group">
|
|
56
|
+
<label class="font_normal_body">机器编号</label>
|
|
57
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_machine_number"
|
|
58
|
+
condition="f_machine_number like '%{}%'" placeholder="机器编号">
|
|
59
|
+
</div>
|
|
60
|
+
<div class="col-sm-3 form-group">
|
|
61
|
+
<label class="font_normal_body">所属银行</label>
|
|
62
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_bank_name"
|
|
63
|
+
condition="f_bank_name like '%{}%'" placeholder="所属银行">
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</criteria>
|
|
69
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
|
|
70
|
+
<template partial='head'>
|
|
71
|
+
<tr>
|
|
72
|
+
<th><input type="checkbox" name="ischeckbox_all_id" v-model="$parent.$parent.$parent.isSelAll" :value.sync="$parent.$parent.$parent.isSelAll" /></th>
|
|
73
|
+
<th style="text-align:center;white-space:nowrap;">序号</th>
|
|
74
|
+
<th style="text-align:center;white-space:nowrap;">设备编号</th>
|
|
75
|
+
<th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">设备类型</th>
|
|
76
|
+
<th style="text-align:center;white-space:nowrap;">设备名称</th>
|
|
77
|
+
<th style="text-align:center;white-space:nowrap;">所属公司</th>
|
|
78
|
+
<th style="text-align:center;white-space:nowrap;">所属部门</th>
|
|
79
|
+
<th style="text-align:center;white-space:nowrap;">所属人员</th>
|
|
80
|
+
<th style="text-align:center;white-space:nowrap;">机器编号</th>
|
|
81
|
+
<th style="text-align:center;white-space:nowrap;">所在地</th>
|
|
82
|
+
<th style="text-align:center;white-space:nowrap;">所属银行</th>
|
|
83
|
+
<th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">操作时间</th>
|
|
84
|
+
<th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">操作人</th>
|
|
85
|
+
<th style="text-align:center;white-space:nowrap;">失联状态</th>
|
|
86
|
+
</tr>
|
|
87
|
+
</template>
|
|
88
|
+
<template partial='body':model="model">
|
|
89
|
+
<tr>
|
|
90
|
+
<td><input type="checkbox" name="checkbox_id" v-model="$parent.$parent.$parent.selPos" :value.sync="row"></td>
|
|
91
|
+
<td style="text-align:center;white-space:nowrap;">{{$index+1}}</td>
|
|
92
|
+
<!-- <td style="text-align:center;white-space:nowrap;"><span title="点击查看历史" @click="$parent.$parent.$parent.abcd(row)"><a>{{row.f_terminal_number}}</a></span></td>-->
|
|
93
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_terminal_number}}</td>
|
|
94
|
+
<td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_equipment_type}}</td>
|
|
95
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_terminal_name}}</td>
|
|
96
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_user_orgname}}</td>
|
|
97
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_depname}}</td>
|
|
98
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_operator}}</td>
|
|
99
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_machine_number}}</td>
|
|
100
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_address}}</td>
|
|
101
|
+
<td style="text-align:center;white-space:nowrap;">{{row.f_bank_name}}</td>
|
|
102
|
+
<td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_report_date}}</td>
|
|
103
|
+
<td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_operator}}</td>
|
|
104
|
+
<td style="text-align:center;white-space:nowrap;" >{{row.isunknown}}</td>
|
|
105
|
+
</tr>
|
|
106
|
+
</template>
|
|
107
|
+
</data-grid>
|
|
108
|
+
</criteria-paged>
|
|
109
|
+
</div>
|
|
110
|
+
<modal v-show="infoshow" :show.sync="infoshow" v-ref:modal backdrop="false" width="800px" title="终端历史信息">
|
|
111
|
+
<article slot="modal-body" class="modal-body">
|
|
112
|
+
<criteria-paged :model="model2" v-ref:paged2>
|
|
113
|
+
<data-grid :model="model2" v-ref:grid2 partial='list'>
|
|
114
|
+
<template partial='head'>
|
|
115
|
+
<tr>
|
|
116
|
+
<!--<th style="padding: 0;border: 0">
|
|
117
|
+
<input type="checkbox" id="f_operator" v-model="$parent.$parent.$parent.all[model.pageIndex-1]"
|
|
118
|
+
@change="$parent.$parent.$parent.select()" style="width: 22px;height: 22px"/>
|
|
119
|
+
</th>-->
|
|
120
|
+
<th><nobr>序号</nobr></th>
|
|
121
|
+
<th><nobr>终端号</nobr></th>
|
|
122
|
+
<th><nobr>上次上报时间</nobr></th>
|
|
123
|
+
<th><nobr>本次上报时间</nobr></th>
|
|
124
|
+
<th><nobr><b>状态</b></nobr></th>
|
|
125
|
+
</tr>
|
|
126
|
+
</template>
|
|
127
|
+
<template partial='body'>
|
|
128
|
+
<td style="text-align: center;">{{$index + 1}}</td>
|
|
129
|
+
<td style="text-align: center;">{{row.f_terminal_number}}</td>
|
|
130
|
+
<td style="text-align: center;">{{row.f_update_date}}</td>
|
|
131
|
+
<td style="text-align: center;">{{row.f_update_date }}</td>
|
|
132
|
+
<td style="text-align: center;"><b>{{row.f_pos_state}}</b></td>
|
|
133
|
+
</template>
|
|
134
|
+
</data-grid>
|
|
135
|
+
</criteria-paged>
|
|
136
|
+
</article>
|
|
137
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
138
|
+
<button type="button" class="btn btn-success" @click='infoclose'>关闭</button>
|
|
139
|
+
</footer>
|
|
140
|
+
</modal>
|
|
141
|
+
</template>
|
|
142
|
+
|
|
143
|
+
<script>
|
|
144
|
+
|
|
145
|
+
import {PagedList} from 'vue-client'
|
|
146
|
+
|
|
147
|
+
export default {
|
|
148
|
+
title: '终端控制',
|
|
149
|
+
components: {},
|
|
150
|
+
data () {
|
|
151
|
+
return {
|
|
152
|
+
source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
|
|
153
|
+
model: new PagedList('rs/sql/equipmentQuery', 20),
|
|
154
|
+
model2: new PagedList('rs/sql/singleTable', 30, {tablename: '`t_poshistory`'}),
|
|
155
|
+
curorgid: [this.f_filialeid],
|
|
156
|
+
f_orgid: '',
|
|
157
|
+
f_filialeids: '',
|
|
158
|
+
criteriaShow: false,
|
|
159
|
+
infoadd: false,
|
|
160
|
+
selPos: [],
|
|
161
|
+
getfield:{
|
|
162
|
+
'f_terminal_number': '设备编号',
|
|
163
|
+
'f_equipment_type':'设备类型',
|
|
164
|
+
'f_terminal_name':'设备名称',
|
|
165
|
+
'f_user_orgname':'所属公司',
|
|
166
|
+
'f_depname':'所属部门',
|
|
167
|
+
'f_operator':'所属人员',
|
|
168
|
+
'f_machine_number':'机器编号',
|
|
169
|
+
'f_address':'所在地',
|
|
170
|
+
'f_bank_name':'所属银行',
|
|
171
|
+
'isunknown':'失联状态',
|
|
172
|
+
'f_report_date':'操作时间'
|
|
173
|
+
},
|
|
174
|
+
isSelAll: false, // 默认不全选
|
|
175
|
+
infoshow: false
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
props: ['f_filialeid','isshowless'],
|
|
179
|
+
ready () {
|
|
180
|
+
this.search()
|
|
181
|
+
},
|
|
182
|
+
watch:{
|
|
183
|
+
// 'selPos'(val){
|
|
184
|
+
// console.log(val)
|
|
185
|
+
// },
|
|
186
|
+
'isSelAll'(val){
|
|
187
|
+
console.log('-------', val)
|
|
188
|
+
if (val) {
|
|
189
|
+
// 对当前页面全选
|
|
190
|
+
this.selPos = []
|
|
191
|
+
for (const sel of this.model.rows) {
|
|
192
|
+
// if (this.selPos.indexOf(sel.id) < 0){
|
|
193
|
+
this.selPos.push(sel)
|
|
194
|
+
// }
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
// 取消全选
|
|
198
|
+
this.selPos = []
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
methods: {
|
|
203
|
+
getRes(val){
|
|
204
|
+
if (val.orgobj.length === 1 && val.orgobj[0].resourcetype === 'user'){
|
|
205
|
+
this.$refs.paged.$refs.cri.model.f_user_operatorid=val.orgobj[0].userid
|
|
206
|
+
this.$refs.paged.$refs.cri.model.f_user_operator=val.orgobj[0].name
|
|
207
|
+
} else {
|
|
208
|
+
this.$refs.paged.$refs.cri.model.f_user_operatorid=''
|
|
209
|
+
this.$refs.paged.$refs.cri.model.f_user_operator=''
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
infoclose(){
|
|
213
|
+
this.infoshow=false
|
|
214
|
+
},
|
|
215
|
+
// 批量操作
|
|
216
|
+
async batchRoot(val) {
|
|
217
|
+
let arrs = []
|
|
218
|
+
let alertMessage = ''
|
|
219
|
+
let selPos = this.selPos
|
|
220
|
+
if (val === '0') {
|
|
221
|
+
alertMessage = '停用'
|
|
222
|
+
for (const tmp of selPos) {
|
|
223
|
+
if (tmp.f_state === '正常') arrs.push(tmp)
|
|
224
|
+
}
|
|
225
|
+
} else if (val === '1') {
|
|
226
|
+
alertMessage = '启用'
|
|
227
|
+
for (const tmp of selPos) {
|
|
228
|
+
if (tmp.f_state === '停用') arrs.push(tmp)
|
|
229
|
+
}
|
|
230
|
+
} else if (val === '2') {
|
|
231
|
+
alertMessage = '升级'
|
|
232
|
+
for (const tmp of selPos) {
|
|
233
|
+
if (tmp.f_state === '正常') arrs.push(tmp)
|
|
234
|
+
}
|
|
235
|
+
} else {
|
|
236
|
+
this.showAlert('出现异常,请重新进操作')
|
|
237
|
+
return
|
|
238
|
+
}
|
|
239
|
+
await this.$resetpost('rs/logic/batchPos', {data: {tasks: arrs, taskState: val}}, {
|
|
240
|
+
rejectMsg: null,
|
|
241
|
+
resolveMsg: null
|
|
242
|
+
})
|
|
243
|
+
// 需要提示
|
|
244
|
+
this.$showAlert(`已经开始批量${alertMessage},选择${selPos.length},其中${arrs.length}台可以正常${alertMessage},具体请留意设备情况,并刷新列表查看执行结果!`,'success', 2500)
|
|
245
|
+
this.$dispatch('close')
|
|
246
|
+
},
|
|
247
|
+
abcd (row) {
|
|
248
|
+
console.log("chakan",row)
|
|
249
|
+
let condition = `f_terminal_number = '${row.f_terminal_number}' order by id desc`
|
|
250
|
+
this.model2.search(condition)
|
|
251
|
+
this.infoshow = true
|
|
252
|
+
},
|
|
253
|
+
search () {
|
|
254
|
+
this.$refs.paged.$refs.cri.search()
|
|
255
|
+
},
|
|
256
|
+
|
|
257
|
+
selfSearch (args) {
|
|
258
|
+
console.log(args)
|
|
259
|
+
if (args.model.f_user_operatorid && args.model.f_user_operator){
|
|
260
|
+
args.condition = `${args.condition} and f_user_operatorid = '${args.model.f_user_operatorid}'
|
|
261
|
+
and f_user_operator = '${args.model.f_user_operator}'`
|
|
262
|
+
}
|
|
263
|
+
args.condition = `${args.condition} and f_equipment_type = 'POS'`
|
|
264
|
+
this.model.search(args.condition, this.model)
|
|
265
|
+
this.$dispatch('research')
|
|
266
|
+
},
|
|
267
|
+
|
|
268
|
+
add () {
|
|
269
|
+
this.infoadd=false
|
|
270
|
+
// if (this.f_filialeid) {
|
|
271
|
+
this.$dispatch('add', this.f_filialeid)
|
|
272
|
+
// } else {
|
|
273
|
+
// this.$showAlert('请先选择左上角的所在分公司', 'warning', 2000)
|
|
274
|
+
// }
|
|
275
|
+
},
|
|
276
|
+
|
|
277
|
+
getorg (val) {
|
|
278
|
+
this.f_orgid = val[0]
|
|
279
|
+
this.f_filialeid = val[0]
|
|
280
|
+
// this.search()
|
|
281
|
+
},
|
|
282
|
+
hidden(){
|
|
283
|
+
this.criteriaShow = !this.criteriaShow
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
computed: {
|
|
287
|
+
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
</script>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import AesEncryptJS from "crypto-js"
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
/**
|
|
5
|
+
* AES加密
|
|
6
|
+
* @param word
|
|
7
|
+
* @returns {*}
|
|
8
|
+
*/
|
|
9
|
+
AESEncrypt(word, encryKey){
|
|
10
|
+
var key = AesEncryptJS.enc.Utf8.parse(encryKey);
|
|
11
|
+
var srcs = AesEncryptJS.enc.Utf8.parse(word);
|
|
12
|
+
var encrypted = AesEncryptJS.AES.encrypt(srcs, key, {mode:AesEncryptJS.mode.ECB,padding: AesEncryptJS.pad.Pkcs7});
|
|
13
|
+
return encrypted.toString();
|
|
14
|
+
},
|
|
15
|
+
/**
|
|
16
|
+
* AES解密
|
|
17
|
+
* @param word
|
|
18
|
+
* @returns {*}
|
|
19
|
+
*/
|
|
20
|
+
AESDecrypt(word, encryKey){
|
|
21
|
+
var key = AesEncryptJS.enc.Utf8.parse(encryKey);
|
|
22
|
+
var decrypt = AesEncryptJS.AES.decrypt(word, key, {mode:AesEncryptJS.mode.ECB,padding: AesEncryptJS.pad.Pkcs7});
|
|
23
|
+
var ret = AesEncryptJS.enc.Utf8.stringify(decrypt).toString();
|
|
24
|
+
try{
|
|
25
|
+
return JSON.parse(ret) ;
|
|
26
|
+
}catch (e){
|
|
27
|
+
return ret
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Vue from 'vue'
|
|
2
2
|
import {HttpResetClass} from 'vue-client'
|
|
3
3
|
import JSEncrypt from 'encryptlong'
|
|
4
|
+
import cryptJS from './EncryptUtil'
|
|
4
5
|
|
|
5
6
|
let loginGen = async function (name, password, vcode, uuid) {
|
|
6
7
|
let data = {name: name, password: password, vcode: vcode, uuid: uuid}
|
|
@@ -198,6 +199,7 @@ let loginGen = async function (name, password, vcode, uuid) {
|
|
|
198
199
|
}
|
|
199
200
|
|
|
200
201
|
let GetLoginInfoService = {
|
|
202
|
+
SinglePageToken: {},
|
|
201
203
|
// 登录后要处理的异步对象
|
|
202
204
|
afterLogin: [],
|
|
203
205
|
//验证码开关
|
|
@@ -217,6 +219,7 @@ let GetLoginInfoService = {
|
|
|
217
219
|
* @param password
|
|
218
220
|
*/
|
|
219
221
|
login (name, password, vcode, uuid) {
|
|
222
|
+
Vue.$login.SinglePageToken = cryptJS.AESEncrypt(JSON.stringify({name: name, password: password}), "3KMKqvgwR8ULbR8Z")
|
|
220
223
|
return loginGen(name, password, vcode, uuid)
|
|
221
224
|
},
|
|
222
225
|
|