system-clients 3.3.1 → 3.3.2-v3

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.
Files changed (58) hide show
  1. package/package.info +1 -0
  2. package/package.json +104 -104
  3. package/src/LodopFuncs.js +71 -103
  4. package/src/components/Main.vue +14 -22
  5. package/src/components/Util.js +15 -0
  6. package/src/components/equipment/PcAdd.vue +1 -1
  7. package/src/components/equipment/PcList.vue +3 -3
  8. package/src/components/equipment/PhoneAdd.vue +1 -1
  9. package/src/components/equipment/PhoneList.vue +2 -2
  10. package/src/components/equipment/PosAdd.vue +11 -7
  11. package/src/components/equipment/PosList.vue +5 -3
  12. package/src/components/equipment/PosManage.vue +1 -1
  13. package/src/components/equipment/PosParamAdd.vue +2 -2
  14. package/src/components/equipment/PosParamList.vue +2 -2
  15. package/src/components/materialManage/materialList.vue +1 -1
  16. package/src/components/parammanage/ParamPage.vue +12 -12
  17. package/src/components/parammanage/ParamPages.vue +2 -2
  18. package/src/components/parammanage/SinglePage.vue +8 -8
  19. package/src/components/parammanage/SinglePages.vue +2 -2
  20. package/src/components/server/AddChangeMsg.vue +1 -1
  21. package/src/components/server/ChangeDeclare.vue +1 -1
  22. package/src/components/server/Login.vue +44 -35
  23. package/src/components/server/ModifyPw.vue +0 -1
  24. package/src/components/server/PcdBuildingSelect.vue +6 -8
  25. package/src/components/server/ResSelect.vue +0 -3
  26. package/src/components/server/ResSelectGroup.vue +1 -1
  27. package/src/components/server/RoleSelector.vue +2 -3
  28. package/src/components/server/TestResSelectGroup.vue +1 -1
  29. package/src/filiale/baole/Login.vue +22 -21
  30. package/src/filiale/chengtou/Login.vue +22 -21
  31. package/src/filiale/dongguan/Login.vue +22 -21
  32. package/src/filiale/dongguan/Main.vue +3 -5
  33. package/src/filiale/furuike/Login.vue +23 -24
  34. package/src/filiale/furuike/Main.vue +26 -39
  35. package/src/filiale/gehua/Main.vue +3 -5
  36. package/src/filiale/konggang/Login.vue +22 -21
  37. package/src/filiale/qianneng/Login.vue +22 -21
  38. package/src/filiale/qianneng/Main.vue +3 -5
  39. package/src/filiale/qianneng/ModifyPw.vue +0 -1
  40. package/src/filiale/rizhao/Login.vue +21 -20
  41. package/src/filiale/rizhao/Main.vue +3 -3
  42. package/src/filiale/shiquan/Login.vue +22 -21
  43. package/src/filiale/tianyi/Login.vue +22 -21
  44. package/src/filiale/tongchuan/Login.vue +22 -21
  45. package/src/filiale/tongchuan/Main.vue +6 -8
  46. package/src/filiale/weinan/Main.vue +6 -7
  47. package/src/filiale/wenxi/Login.vue +22 -21
  48. package/src/filiale/wenxi/Main.vue +3 -5
  49. package/src/filiale/wuhai/Main.vue +3 -6
  50. package/src/filiale/yuchuan/Login.vue +23 -22
  51. package/src/filiale/yuchuan/Main.vue +3 -5
  52. package/src/filiale/zhoukou/Main.vue +3 -5
  53. package/src/plugins/EncryptUtil.js +1 -1
  54. package/src/plugins/GetLoginInfoService.js +85 -20
  55. package/src/stores/AppData.js +1 -1
  56. package/build.gradle +0 -6
  57. package/src/filiale/ruihua/Login.vue +0 -549
  58. package/src/filiale/ruihua/system.js +0 -5
package/package.info ADDED
@@ -0,0 +1 @@
1
+ 此为纯v3项目使用的 systemclient_v3 分支
package/package.json CHANGED
@@ -1,105 +1,105 @@
1
1
  {
2
- "name": "system-clients",
3
- "version": "3.3.1",
4
- "description": "系统基础框架",
5
- "main": "src/index.js",
6
- "directories": {
7
- "doc": "doc",
8
- "example": "examples",
9
- "test": "test"
10
- },
11
- "scripts": {
12
- "example": "node build/example-server.js",
13
- "dev": "node build/dev-server.js",
14
- "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
15
- "build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
16
- "e2e": "node test/e2e/runner.js",
17
- "unit": "karma start test/unit/karma.conf.js",
18
- "makeall": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --progress --hide-modules --config build/webpack.example.conf.js",
19
- "release": "npm set registry http://registry.npmjs.org && npm publish && npm set registry http://registry.npm.taobao.org"
20
- },
21
- "dependencies": {
22
- "base64-js": "^1.3.0",
23
- "js-base64": "^2.4.9",
24
- "less": "^2.7.1",
25
- "less-loader": "^2.2.3",
26
- "nyc": "^15.1.0",
27
- "src": "^1.1.2",
28
- "vue": "^1.0.17"
29
- },
30
- "devDependencies": {
31
- "babel-core": "^6.0.0",
32
- "babel-loader": "^6.0.0",
33
- "babel-plugin-transform-runtime": "^6.0.0",
34
- "babel-preset-es2015": "^6.0.0",
35
- "babel-preset-stage-2": "^6.0.0",
36
- "chai": "^3.5.0",
37
- "connect-history-api-fallback": "^1.1.0",
38
- "cross-env": "^1.0.7",
39
- "cross-spawn": "^2.1.5",
40
- "css-loader": "^0.23.0",
41
- "eslint": "^2.0.0",
42
- "eslint-config-standard": "^5.1.0",
43
- "eslint-friendly-formatter": "^1.2.2",
44
- "eslint-loader": "^1.3.0",
45
- "eslint-plugin-html": "^1.3.0",
46
- "eslint-plugin-promise": "^1.0.8",
47
- "eslint-plugin-standard": "^1.3.2",
48
- "eslint-plugin-vue": "^0.1.1",
49
- "eventsource-polyfill": "^0.9.6",
50
- "express": "^4.13.3",
51
- "extract-text-webpack-plugin": "^1.0.1",
52
- "file-loader": "^0.8.4",
53
- "function-bind": "^1.0.2",
54
- "html-webpack-plugin": "^2.8.1",
55
- "http-proxy-middleware": "^0.11.0",
56
- "inject-loader": "^2.0.1",
57
- "isparta-loader": "^2.0.0",
58
- "jasmine-core": "^2.4.1",
59
- "jquery": "^3.3.1",
60
- "jsencrypt": "^3.0.0-rc.1",
61
- "json-loader": "^0.5.4",
62
- "karma": "^1.4.1",
63
- "karma-chrome-launcher": "^2.2.0",
64
- "karma-coverage": "^1.1.1",
65
- "karma-mocha": "^1.3.0",
66
- "karma-sinon-chai": "^1.3.1",
67
- "karma-sourcemap-loader": "^0.3.7",
68
- "karma-spec-reporter": "0.0.31",
69
- "karma-webpack": "^2.0.2",
70
- "manage-client": "^1.4.20",
71
- "mkdirp": "^0.5.1",
72
- "mocha": "^3.2.0",
73
- "ncp": "^2.0.0",
74
- "nightwatch": "^0.8.18",
75
- "rimraf": "^2.5.0",
76
- "selenium-server": "2.52.0",
77
- "sinon": "^2.1.0",
78
- "sinon-chai": "^2.8.0",
79
- "style": "0.0.3",
80
- "style-loader": "^0.20.3",
81
- "url-loader": "^0.5.7",
82
- "vue-client": "1.24.160",
83
- "vue-hot-reload-api": "^1.2.0",
84
- "vue-html-loader": "^1.0.0",
85
- "vue-loader": "^8.2.1",
86
- "vue-resource": "^1.5.0",
87
- "vue-router": "^0.7.13",
88
- "vue-strap": "^1.0.9",
89
- "vue-style-loader": "^1.0.0",
90
- "vue-validator": "2.1.7",
91
- "webpack": "^1.12.2",
92
- "webpack-dev-middleware": "^1.4.0",
93
- "webpack-hot-middleware": "^2.6.0",
94
- "webpack-merge": "^0.8.3"
95
- },
96
- "repository": {
97
- "type": "git",
98
- "url": "https://gitee.com/aotu/System"
99
- },
100
- "keywords": [
101
- "system_clients"
102
- ],
103
- "author": "杨文宇",
104
- "license": "ISC"
105
- }
2
+ "name": "system-clients",
3
+ "version": "3.3.2-v3",
4
+ "description": "系统基础框架",
5
+ "main": "src/index.js",
6
+ "directories": {
7
+ "doc": "doc",
8
+ "example": "examples",
9
+ "test": "test"
10
+ },
11
+ "scripts": {
12
+ "example": "node build/example-server.js",
13
+ "dev": "node build/dev-server.js",
14
+ "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
15
+ "build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
16
+ "e2e": "node test/e2e/runner.js",
17
+ "unit": "karma start test/unit/karma.conf.js",
18
+ "makeall": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --progress --hide-modules --config build/webpack.example.conf.js",
19
+ "release": "npm set registry http://registry.npmjs.org && npm publish && npm set registry http://registry.npm.taobao.org"
20
+ },
21
+ "dependencies": {
22
+ "base64-js": "^1.3.0",
23
+ "js-base64": "^2.4.9",
24
+ "less": "^2.7.1",
25
+ "less-loader": "^2.2.3",
26
+ "nyc": "^15.1.0",
27
+ "src": "^1.1.2",
28
+ "vue": "^1.0.17"
29
+ },
30
+ "devDependencies": {
31
+ "babel-core": "^6.0.0",
32
+ "babel-loader": "^6.0.0",
33
+ "babel-plugin-transform-runtime": "^6.0.0",
34
+ "babel-preset-es2015": "^6.0.0",
35
+ "babel-preset-stage-2": "^6.0.0",
36
+ "chai": "^3.5.0",
37
+ "connect-history-api-fallback": "^1.1.0",
38
+ "cross-env": "^1.0.7",
39
+ "cross-spawn": "^2.1.5",
40
+ "css-loader": "^0.23.0",
41
+ "eslint": "^2.0.0",
42
+ "eslint-config-standard": "^5.1.0",
43
+ "eslint-friendly-formatter": "^1.2.2",
44
+ "eslint-loader": "^1.3.0",
45
+ "eslint-plugin-html": "^1.3.0",
46
+ "eslint-plugin-promise": "^1.0.8",
47
+ "eslint-plugin-standard": "^1.3.2",
48
+ "eslint-plugin-vue": "^0.1.1",
49
+ "eventsource-polyfill": "^0.9.6",
50
+ "express": "^4.13.3",
51
+ "extract-text-webpack-plugin": "^1.0.1",
52
+ "file-loader": "^0.8.4",
53
+ "function-bind": "^1.0.2",
54
+ "html-webpack-plugin": "^2.8.1",
55
+ "http-proxy-middleware": "^0.11.0",
56
+ "inject-loader": "^2.0.1",
57
+ "isparta-loader": "^2.0.0",
58
+ "jasmine-core": "^2.4.1",
59
+ "jquery": "^3.3.1",
60
+ "jsencrypt": "^3.0.0-rc.1",
61
+ "json-loader": "^0.5.4",
62
+ "karma": "^1.4.1",
63
+ "karma-chrome-launcher": "^2.2.0",
64
+ "karma-coverage": "^1.1.1",
65
+ "karma-mocha": "^1.3.0",
66
+ "karma-sinon-chai": "^1.3.1",
67
+ "karma-sourcemap-loader": "^0.3.7",
68
+ "karma-spec-reporter": "0.0.31",
69
+ "karma-webpack": "^2.0.2",
70
+ "manage-client": "^1.4.20",
71
+ "mkdirp": "^0.5.1",
72
+ "mocha": "^3.2.0",
73
+ "ncp": "^2.0.0",
74
+ "nightwatch": "^0.8.18",
75
+ "rimraf": "^2.5.0",
76
+ "selenium-server": "2.52.0",
77
+ "sinon": "^2.1.0",
78
+ "sinon-chai": "^2.8.0",
79
+ "style": "0.0.3",
80
+ "style-loader": "^0.20.3",
81
+ "url-loader": "^0.5.7",
82
+ "vue-client": "1.24.107-test",
83
+ "vue-hot-reload-api": "^1.2.0",
84
+ "vue-html-loader": "^1.0.0",
85
+ "vue-loader": "^8.2.1",
86
+ "vue-resource": "^1.5.0",
87
+ "vue-router": "^0.7.13",
88
+ "vue-strap": "^1.0.9",
89
+ "vue-style-loader": "^1.0.0",
90
+ "vue-validator": "2.1.7",
91
+ "webpack": "^1.12.2",
92
+ "webpack-dev-middleware": "^1.4.0",
93
+ "webpack-hot-middleware": "^2.6.0",
94
+ "webpack-merge": "^0.8.3"
95
+ },
96
+ "repository": {
97
+ "type": "git",
98
+ "url": "https://gitee.com/aotu/System"
99
+ },
100
+ "keywords": [
101
+ "system_clients"
102
+ ],
103
+ "author": "杨文宇",
104
+ "license": "ISC"
105
+ }
package/src/LodopFuncs.js CHANGED
@@ -1,69 +1,57 @@
1
1
  var CreatedOKLodop7766 = null
2
2
 
3
- function loadScriptAsync(src) {
4
- return new Promise((resolve, reject) => {
5
- var script = document.createElement('script')
6
- script.src = src
7
- script.async = true
8
- script.onload = resolve
9
- script.onerror = reject
10
- document.head.appendChild(script)
11
- })
12
- }
13
-
14
3
  // ====判断是否需要安装CLodop云打印服务器:====
15
- function needCLodop() {
4
+ function needCLodop () {
16
5
  // return false;
17
6
  try {
18
- var ua = navigator.userAgent
19
- if (ua.match(/Windows\sPhone/i) != null) return true
20
- if (ua.match(/iPhone|iPod/i) != null) return true
21
- if (ua.match(/Android/i) != null) return true
22
- if (ua.match(/Edge\D?\d+/i) != null) return true
23
- if (ua.match(/QQBrowser/i) != null) return false
24
- var verTrident = ua.match(/Trident\D?\d+/i)
25
- var verIE = ua.match(/MSIE\D?\d+/i)
26
- var verOPR = ua.match(/OPR\D?\d+/i)
27
- var verFF = ua.match(/Firefox\D?\d+/i)
28
- var x64 = ua.match(/x64/i)
29
- if ((verTrident == null) && (verIE == null) && (x64 !== null)) {
30
- return true
31
- } else if (verFF !== null) {
32
- verFF = verFF[0].match(/\d+/)
33
- if (verFF[0] >= 42) return true
34
- } else if (verOPR !== null) {
35
- verOPR = verOPR[0].match(/\d+/)
36
- if (verOPR[0] >= 32) return true
37
- } else if ((verTrident == null) && (verIE == null)) {
38
- var verChrome = ua.match(/Chrome\D?\d+/i)
39
- if (verChrome !== null) {
40
- verChrome = verChrome[0].match(/\d+/)
41
- if (verChrome[0] >= 42) return true
42
- }
43
- ;
44
- }
45
- ;
7
+ var ua = navigator.userAgent
8
+ if (ua.match(/Windows\sPhone/i) != null) return true
9
+ if (ua.match(/iPhone|iPod/i) != null) return true
10
+ if (ua.match(/Android/i) != null) return true
11
+ if (ua.match(/Edge\D?\d+/i) != null) return true
12
+ if (ua.match(/QQBrowser/i) != null) return false
13
+ var verTrident = ua.match(/Trident\D?\d+/i)
14
+ var verIE = ua.match(/MSIE\D?\d+/i)
15
+ var verOPR = ua.match(/OPR\D?\d+/i)
16
+ var verFF = ua.match(/Firefox\D?\d+/i)
17
+ var x64 = ua.match(/x64/i)
18
+ if ((verTrident == null) && (verIE == null) && (x64 !== null))
19
+ return true; else
20
+ if (verFF !== null) {
21
+ verFF = verFF[0].match(/\d+/)
22
+ if (verFF[0] >= 42) return true
23
+ } else
24
+ if (verOPR !== null) {
25
+ verOPR = verOPR[0].match(/\d+/)
26
+ if (verOPR[0] >= 32) return true
27
+ } else
28
+ if ((verTrident == null) && (verIE == null)) {
29
+ var verChrome = ua.match(/Chrome\D?\d+/i)
30
+ if (verChrome !== null) {
31
+ verChrome = verChrome[0].match(/\d+/)
32
+ if (verChrome[0] >= 42) return true
33
+ };
34
+ };
46
35
  return false
47
- } catch (err) {
48
- return true
49
- }
50
- ;
36
+ } catch (err) { return true };
51
37
  };
52
38
 
53
39
  // ====页面引用CLodop云打印必须的JS文件:====
54
40
  if (needCLodop()) {
55
- loadScriptAsync('http://localhost:18000/CLodopfuncs.js?priority=1')
56
- .then(() => {
57
- console.log('CLodop script loaded successfully.')
58
- // 这里可以继续执行其他需要在脚本加载完后执行的逻辑
59
- })
60
- .catch((error) => {
61
- console.error('Failed to load CLodop script:', error)
62
- })
63
- }
41
+ var head = document.head || document.getElementsByTagName('head')[0] || document.documentElement
42
+ var oscript = document.createElement('script')
43
+ // 让本机浏览器打印(更优先)
44
+ oscript = document.createElement('script')
45
+ oscript.src = 'http://localhost:8000/CLodopfuncs.js?priority=1'
46
+ head.insertBefore(oscript, head.firstChild)
47
+ // 本机浏览器的后补端口8001:
48
+ // oscript = document.createElement("script");
49
+ // oscript.src ="http://localhost:8001/CLodopfuncs.js?priority=2";
50
+ // head.insertBefore( oscript,head.firstChild );
51
+ };
64
52
 
65
53
  // ====获取LODOP对象的主过程:====
66
- function getLodop(oOBJECT, oEMBED) {
54
+ function getLodop (oOBJECT, oEMBED) {
67
55
  var strHtmInstall = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='http://113.10.155.131/install_lodop32.zip' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>"
68
56
  var strHtmUpdate = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='http://113.10.155.131/install_lodop32.zip' target='_self'>执行升级</a>,升级后请重新进入。</font>"
69
57
  var strHtm64_Install = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='http://113.10.155.131/install_lodop64.zip' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>"
@@ -76,35 +64,23 @@ function getLodop(oOBJECT, oEMBED) {
76
64
  try {
77
65
  var isIE = (navigator.userAgent.indexOf('MSIE') >= 0) || (navigator.userAgent.indexOf('Trident') >= 0)
78
66
  if (needCLodop()) {
79
- try {
80
- LODOP = getCLodop()
81
- } catch (err) {
82
- }
83
- ;
84
- if (!LODOP && document.readyState !== 'complete') {
85
- alert('C-Lodop没准备好,请稍后再试!');
86
- return
87
- }
88
- ;
67
+ try { LODOP = getCLodop() } catch (err) {};
68
+ if (!LODOP && document.readyState !== 'complete') { alert('C-Lodop没准备好,请稍后再试!'); return };
89
69
  if (!LODOP) {
90
- if (isIE) document.write(strCLodopInstall); else {
91
- document.documentElement.innerHTML = strCLodopInstall + document.documentElement.innerHTML
92
- }
70
+ if (isIE) document.write(strCLodopInstall); else
71
+ document.documentElement.innerHTML = strCLodopInstall + document.documentElement.innerHTML
93
72
  return
94
73
  } else {
95
- if (CLODOP.CVERSION < '2.0.6.2') {
96
- if (isIE) document.write(strCLodopUpdate); else {
97
- document.documentElement.innerHTML = strCLodopUpdate + document.documentElement.innerHTML
98
- }
99
- }
100
- ;
101
- if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED)
102
- if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT)
103
- }
104
- ;
74
+ if (CLODOP.CVERSION < '2.0.6.2') {
75
+ if (isIE) document.write(strCLodopUpdate); else
76
+ document.documentElement.innerHTML = strCLodopUpdate + document.documentElement.innerHTML
77
+ };
78
+ if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED)
79
+ if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT)
80
+ };
105
81
  } else {
106
82
  var is64IE = isIE && (navigator.userAgent.indexOf('x64') >= 0)
107
- // =====如果页面有Lodop就直接使用,没有则新建:==========
83
+ // =====如果页面有Lodop就直接使用,没有则新建:==========
108
84
  if (oOBJECT != undefined || oEMBED != undefined) {
109
85
  if (isIE) LODOP = oOBJECT; else LODOP = oEMBED
110
86
  } else if (CreatedOKLodop7766 == null) {
@@ -117,39 +93,31 @@ function getLodop(oOBJECT, oEMBED) {
117
93
  document.documentElement.appendChild(LODOP)
118
94
  CreatedOKLodop7766 = LODOP
119
95
  } else LODOP = CreatedOKLodop7766
120
- // =====Lodop插件未安装时提示下载地址:==========
96
+ // =====Lodop插件未安装时提示下载地址:==========
121
97
  if ((LODOP == null) || (typeof (LODOP.VERSION) == 'undefined')) {
122
- if (navigator.userAgent.indexOf('Chrome') >= 0) {
98
+ if (navigator.userAgent.indexOf('Chrome') >= 0)
123
99
  document.documentElement.innerHTML = strHtmChrome + document.documentElement.innerHTML
124
- }
125
- if (navigator.userAgent.indexOf('Firefox') >= 0) {
100
+ if (navigator.userAgent.indexOf('Firefox') >= 0)
126
101
  document.documentElement.innerHTML = strHtmFireFox + document.documentElement.innerHTML
127
- }
128
- if (is64IE) document.write(strHtm64_Install); else if (isIE) document.write(strHtmInstall); else {
129
- document.documentElement.innerHTML = strHtmInstall + document.documentElement.innerHTML
130
- }
102
+ if (is64IE) document.write(strHtm64_Install); else
103
+ if (isIE) document.write(strHtmInstall); else
104
+ document.documentElement.innerHTML = strHtmInstall + document.documentElement.innerHTML
131
105
  return LODOP
132
- }
133
- ;
134
- }
135
- ;
106
+ };
107
+ };
136
108
  if (LODOP.VERSION < '6.2.0.3') {
137
- if (needCLodop()) {
138
- document.documentElement.innerHTML = strCLodopUpdate + document.documentElement.innerHTML
139
- } else if (is64IE) document.write(strHtm64_Update); else if (isIE) document.write(strHtmUpdate); else {
140
- document.documentElement.innerHTML = strHtmUpdate + document.documentElement.innerHTML
141
- }
109
+ if (needCLodop())
110
+ document.documentElement.innerHTML = strCLodopUpdate + document.documentElement.innerHTML; else
111
+ if (is64IE) document.write(strHtm64_Update); else
112
+ if (isIE) document.write(strHtmUpdate); else
113
+ document.documentElement.innerHTML = strHtmUpdate + document.documentElement.innerHTML
142
114
  return LODOP
143
- }
144
- ;
145
- // ===如下空白位置适合调用统一功能(如注册语句、语言选择等):===
115
+ };
116
+ // ===如下空白位置适合调用统一功能(如注册语句、语言选择等):===
146
117
  LODOP.SET_LICENSES('西安奥枫软件有限公司', '552C41D5AB0D146FCF77D05CD8AA15A1', '', '')
147
- // ===========================================================
118
+ // ===========================================================
148
119
  return LODOP
149
- } catch (err) {
150
- alert('getLodop出错:' + err)
151
- }
152
- ;
120
+ } catch (err) { alert('getLodop出错:' + err) };
153
121
  };
154
122
 
155
123
  export default getLodop
@@ -189,8 +189,7 @@ let getwartermakr = async function (self) {
189
189
  tablename: 't_singlevalue',
190
190
  condition: " 1=1 and name=\'水印内容\'"
191
191
  };
192
- // todo v4
193
- let result = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
192
+ let result = await self.$resetpost('rs/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
194
193
  if (result && result.data.length > 0) {
195
194
  self.showwatermakeflag = true;
196
195
  createWaterMark(`${result.data[0].value}${self.$login.f.ename}`);
@@ -227,6 +226,12 @@ let createWaterMark = function (userName) {
227
226
  (document.head.append || document.head.appendChild).apply(document.head, [style]);
228
227
  }
229
228
 
229
+ window.onunload = () => {
230
+ vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
231
+ }
232
+ window.onbeforeunload = () => {
233
+ vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
234
+ }
230
235
  export default {
231
236
  title: '主界面',
232
237
  props: ['functions', 'userid', 'config'],
@@ -253,6 +258,7 @@ let createWaterMark = function (userName) {
253
258
  qrCode:false,
254
259
  isManger: false,
255
260
  show: false,
261
+ orgpathnames: `${this.$login.f.orgs}-${this.$login.f.deps}-${this.$login.f.name}`,
256
262
  systemname: '客服系统',
257
263
  date: this.$login.toStandardDateString(),
258
264
  tabs: [], //已初始化页签数组
@@ -391,7 +397,7 @@ let createWaterMark = function (userName) {
391
397
  this.OrderDaiBan = ''
392
398
  this.AppDaiBan = ''
393
399
  let http = new HttpResetClass()
394
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
400
+ await http.load('POST', '/rs/sql/singleTable', {data: {
395
401
  tablename:'t_order_center',
396
402
  condition:` (f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and f_orderstate != '预约失败' ) or f_orderstate is null`
397
403
  }}, {
@@ -439,7 +445,7 @@ let createWaterMark = function (userName) {
439
445
  async getExpireDate(){
440
446
  // 获取分公司的表品牌id
441
447
  let http = new HttpResetClass()
442
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
448
+ await http.load('POST', '/rs/sql/singleTable', {data: {
443
449
  tablename:'t_gasbrand_orgid',
444
450
  condition:`f_using_orgid ='${this.$login.f.orgid}'`
445
451
  }}, {
@@ -453,7 +459,7 @@ let createWaterMark = function (userName) {
453
459
  }
454
460
  if (this.gasbrandIdData.length > 0) {
455
461
  // 获取卡表到期时间
456
- http.load('POST', '/api/af-system/sql/singleTable', {data: {
462
+ http.load('POST', '/rs/sql/singleTable', {data: {
457
463
  tablename:'t_gasbrand',
458
464
  condition:`id in (${this.gasbrandIdData}) and f_meter_type like '%卡表%'`
459
465
  }}, {
@@ -464,6 +470,7 @@ let createWaterMark = function (userName) {
464
470
  res.data.forEach(itre => {
465
471
  let band = null
466
472
  if ('f_dynamic_expire' in itre) {
473
+ console.log(itre.f_dynamic_expire)
467
474
  if (itre.f_dynamic_expire !== null && itre.f_dynamic_expire !== '') {
468
475
  let todayold = new Date(itre.f_dynamic_expire)
469
476
  todayold.setDate(todayold.getDate() - parseInt(this.$appdata.getSingleValue('动态库提醒天数设置')))
@@ -514,7 +521,7 @@ let createWaterMark = function (userName) {
514
521
  }
515
522
  },
516
523
  openUrl() {
517
- var url = `http://123.60.214.109:8406/submitTicket?contact=${this.$login.f.name}&orgName=${this.$login.f.orgs}&phone=${this.$login.f.f_user_telephone}`
524
+ var url = `https://liuli.aofengcloud.com:31467`
518
525
  window.open(url, '_blank')
519
526
  },
520
527
  hindsetting() {
@@ -593,28 +600,13 @@ let createWaterMark = function (userName) {
593
600
  username: this.$login.f.name,
594
601
  usertelephone: this.$login.f.f_user_telephone
595
602
  }
596
- // todo v4
597
- try {
598
- await this.$resetget('api/af-system/user/logout', {resolveMsg: '退出成功', rejectMsg: null})
599
- }catch(e){
600
- }
603
+ await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
601
604
  window.location.reload()
602
605
  }
603
606
  })
604
607
  }
605
608
  },
606
609
  computed: {
607
- orgpathnames(){
608
- let names = this.$login.f.name
609
- if(this.$login.f.deps){
610
- names = `${this.$login.f.deps}-${names}`
611
- }
612
- if(this.$login.f.orgs){
613
- names = `${this.$login.f.orgs}-${names}`
614
- }
615
- return names
616
- },
617
-
618
610
  nowDate() {
619
611
  return this.$login.getNowDate()
620
612
  }
@@ -77,6 +77,21 @@ export function parse3339String (strDate) {
77
77
  )
78
78
  }
79
79
 
80
+ // 判断密码最后修改时间是否超过两个半月(2个月零15天)
81
+ export function isPasswordModificationExpired (lastModificationTime) {
82
+ if (!lastModificationTime) {
83
+ return true
84
+ }
85
+ const lastMod = parse3339String(lastModificationTime)
86
+ if (isNaN(lastMod.getTime())) {
87
+ return true
88
+ }
89
+ const expireDate = new Date(lastMod)
90
+ expireDate.setMonth(expireDate.getMonth() + 2)
91
+ expireDate.setDate(expireDate.getDate() + 15)
92
+ return new Date() > expireDate
93
+ }
94
+
80
95
  export function format3339TimeString (dt) {
81
96
  let month = dt.getMonth() + 1
82
97
  let date = dt.getDate()
@@ -84,7 +84,7 @@
84
84
  this.model.f_operatorid = this.$login.f.id
85
85
  this.model.f_orgid = this.f_orgid
86
86
  console.log('保存', this.model)
87
- this.$resetpost('api/af-system/logic/save_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
87
+ this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
88
88
  this.$dispatch('refresh')
89
89
  }).catch((error) => {
90
90
  this.$dispatch('refresh')
@@ -76,7 +76,7 @@
76
76
  data () {
77
77
  return {
78
78
  criteriaShow: false,
79
- model: new PagedList('api/af-system/sql/equipmentQuery', 20),
79
+ model: new PagedList('rs/sql/equipmentQuery', 20),
80
80
  curorgid: [this.$login.f.orgid],
81
81
  f_orgid: ''
82
82
  }
@@ -93,7 +93,7 @@
93
93
  },
94
94
 
95
95
  selfSearch (args) {
96
- args.condition = `${args.condition} and f_equipment_type = 'PC' and f_state = '正常' and f_orgid = '${this.f_orgid ? this.f_orgid: this.$login.f.orgid}'`
96
+ args.condition = `${args.condition} and f_equipment_type = 'PC' and f_state = '正常' and f_orgid like '${this.f_orgid ? this.f_orgid: this.$login.f.orgid}'`
97
97
  this.model.search(args.condition, this.model)
98
98
  },
99
99
  add () {
@@ -102,7 +102,7 @@
102
102
  del (row) {
103
103
  console.log('要删除了', row)
104
104
  row.f_state = '已删除'
105
- this.$resetpost('api/af-system/logic/save_equipment', row, {warnMsg: '确定要删除这条信息吗?', resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
105
+ this.$resetpost('rs/entity/t_equipment', row, {warnMsg: '确定要删除这条信息吗?', resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
106
106
  this.$dispatch('refresh')
107
107
  }).catch((error) => {
108
108
  this.$dispatch('refresh')
@@ -84,7 +84,7 @@ import { HttpResetClass } from 'vue-client'
84
84
  this.model.f_filialeids = this.$login.f.f_orgids
85
85
  this.model.f_orgid = this.f_orgid
86
86
  console.log('保存', this.model)
87
- this.$resetpost('api/af-system/logic/save_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
87
+ this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
88
88
  this.$dispatch('refresh')
89
89
  }).catch(() => {
90
90
  this.$dispatch('refresh')
@@ -64,7 +64,7 @@
64
64
 
65
65
  data () {
66
66
  return {
67
- model: new PagedList('api/af-system/sql/equipmentQuery', 20),
67
+ model: new PagedList('rs/sql/equipmentQuery', 20),
68
68
  filialeNameStr: this.$login.f.f_fengongsi,
69
69
  filialeCodeStr: this.$login.f.f_orgids,
70
70
  userid:this.$login.f.id,
@@ -92,7 +92,7 @@
92
92
  del (row) {
93
93
  console.log('要删除了', row)
94
94
  row.f_state = '已删除'
95
- this.$resetpost('api/af-system/logic/save_equipment', row, {warnMsg: '确定要删除这条信息吗?', resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
95
+ this.$resetpost('rs/entity/t_equipment', row, {warnMsg: '确定要删除这条信息吗?', resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
96
96
  this.$dispatch('refresh')
97
97
  }).catch((error) => {
98
98
  this.$dispatch('refresh')