system-clients 3.2.92 → 3.2.93-tongchuan

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 (64) hide show
  1. package/.gradle/7.4/checksums/checksums.lock +0 -0
  2. package/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
  3. package/.gradle/7.4/dependencies-accessors/gc.properties +0 -0
  4. package/.gradle/7.4/executionHistory/executionHistory.bin +0 -0
  5. package/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
  6. package/.gradle/7.4/fileChanges/last-build.bin +0 -0
  7. package/.gradle/7.4/fileHashes/fileHashes.bin +0 -0
  8. package/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
  9. package/.gradle/7.4/gc.properties +0 -0
  10. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  11. package/.gradle/buildOutputCleanup/cache.properties +2 -0
  12. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  13. package/.gradle/file-system.probe +0 -0
  14. package/.gradle/vcs-1/gc.properties +0 -0
  15. package/package.json +105 -105
  16. package/src/components/Main.vue +5 -17
  17. package/src/components/Util.js +14 -0
  18. package/src/components/equipment/EquipmentManage.vue +83 -83
  19. package/src/components/equipment/PcAdd.vue +115 -115
  20. package/src/components/equipment/PcList.vue +119 -119
  21. package/src/components/equipment/PcManage.vue +61 -61
  22. package/src/components/equipment/PhoneAdd.vue +118 -118
  23. package/src/components/equipment/PhoneList.vue +113 -113
  24. package/src/components/equipment/PhoneManage.vue +61 -61
  25. package/src/components/equipment/PosAdd.vue +10 -6
  26. package/src/components/equipment/PosList.vue +5 -3
  27. package/src/components/equipment/PosParamAdd.vue +1 -1
  28. package/src/components/equipment/PosParamList.vue +2 -2
  29. package/src/components/parammanage/ParamPage.vue +12 -12
  30. package/src/components/parammanage/SinglePage.vue +8 -8
  31. package/src/components/server/Login.vue +69 -60
  32. package/src/components/server/ModifyPw.vue +0 -1
  33. package/src/components/server/PcdBuildingSelect.vue +0 -2
  34. package/src/components/server/ResSelect.vue +0 -3
  35. package/src/components/server/ResSelectGroup.vue +211 -211
  36. package/src/components/server/RoleSelector.vue +2 -3
  37. package/src/filiale/baole/Login.vue +0 -2
  38. package/src/filiale/chengtou/Login.vue +0 -2
  39. package/src/filiale/dongguan/Login.vue +0 -2
  40. package/src/filiale/dongguan/Main.vue +0 -2
  41. package/src/filiale/furuike/Login.vue +0 -4
  42. package/src/filiale/furuike/Main.vue +0 -2
  43. package/src/filiale/gehua/Main.vue +0 -2
  44. package/src/filiale/konggang/Login.vue +0 -2
  45. package/src/filiale/qianneng/Login.vue +582 -584
  46. package/src/filiale/qianneng/Main.vue +0 -2
  47. package/src/filiale/qianneng/ModifyPw.vue +0 -1
  48. package/src/filiale/rizhao/Login.vue +0 -2
  49. package/src/filiale/rizhao/Main.vue +1 -1
  50. package/src/filiale/shiquan/Login.vue +0 -2
  51. package/src/filiale/tianyi/Login.vue +0 -2
  52. package/src/filiale/tongchuan/Login.vue +108 -113
  53. package/src/filiale/tongchuan/Main.vue +16 -3
  54. package/src/filiale/weinan/Main.vue +923 -924
  55. package/src/filiale/weinan/system.js +7 -7
  56. package/src/filiale/wenxi/Login.vue +0 -2
  57. package/src/filiale/wenxi/Main.vue +0 -2
  58. package/src/filiale/wuhai/Main.vue +0 -3
  59. package/src/filiale/yuchuan/Login.vue +0 -2
  60. package/src/filiale/yuchuan/Main.vue +0 -2
  61. package/src/filiale/zhoukou/Main.vue +0 -2
  62. package/src/plugins/EncryptUtil.js +1 -1
  63. package/src/plugins/GetLoginInfoService.js +85 -16
  64. package/src/stores/AppData.js +1 -1
File without changes
@@ -0,0 +1,2 @@
1
+ #Thu Aug 03 14:29:00 CST 2023
2
+ gradle.version=7.4
Binary file
File without changes
package/package.json CHANGED
@@ -1,105 +1,105 @@
1
- {
2
- "name": "system-clients",
3
- "version": "3.2.92",
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.145-1",
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
- }
1
+ {
2
+ "name": "system-clients",
3
+ "version": "3.2.93-tongchuan",
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
+ }
@@ -189,7 +189,6 @@ let getwartermakr = async function (self) {
189
189
  tablename: 't_singlevalue',
190
190
  condition: " 1=1 and name=\'水印内容\'"
191
191
  };
192
- // todo v4
193
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;
@@ -259,6 +258,7 @@ let createWaterMark = function (userName) {
259
258
  qrCode:false,
260
259
  isManger: false,
261
260
  show: false,
261
+ orgpathnames: `${this.$login.f.orgs}-${this.$login.f.deps}-${this.$login.f.name}`,
262
262
  systemname: '客服系统',
263
263
  date: this.$login.toStandardDateString(),
264
264
  tabs: [], //已初始化页签数组
@@ -321,7 +321,9 @@ let createWaterMark = function (userName) {
321
321
  // }
322
322
  this.changeShow()
323
323
  const istelRemindTimes =this.$appdata.getSingleValue("是否开启工单提醒定时器")
324
+ this.getDaiBan()
324
325
  if(istelRemindTimes=='是'){
326
+ this.getOrderList()
325
327
  this.getTimesgotoWorkOrderSite()
326
328
  }
327
329
  const isapplyRemind =this.$appdata.getSingleValue("是否开启提醒")
@@ -470,6 +472,7 @@ let createWaterMark = function (userName) {
470
472
  res.data.forEach(itre => {
471
473
  let band = null
472
474
  if ('f_dynamic_expire' in itre) {
475
+ console.log(itre.f_dynamic_expire)
473
476
  if (itre.f_dynamic_expire !== null && itre.f_dynamic_expire !== '') {
474
477
  let todayold = new Date(itre.f_dynamic_expire)
475
478
  todayold.setDate(todayold.getDate() - parseInt(this.$appdata.getSingleValue('动态库提醒天数设置')))
@@ -599,28 +602,13 @@ let createWaterMark = function (userName) {
599
602
  username: this.$login.f.name,
600
603
  usertelephone: this.$login.f.f_user_telephone
601
604
  }
602
- // todo v4
603
- try {
604
- await this.$resetget('api/af-system/user/logout', {resolveMsg: '退出成功', rejectMsg: null})
605
- }catch(e){
606
- }
605
+ await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
607
606
  window.location.reload()
608
607
  }
609
608
  })
610
609
  }
611
610
  },
612
611
  computed: {
613
- orgpathnames(){
614
- let names = this.$login.f.name
615
- if(this.$login.f.deps){
616
- names = `${this.$login.f.deps}-${names}`
617
- }
618
- if(this.$login.f.orgs){
619
- names = `${this.$login.f.orgs}-${names}`
620
- }
621
- return names
622
- },
623
-
624
612
  nowDate() {
625
613
  return this.$login.getNowDate()
626
614
  }
@@ -76,6 +76,20 @@ export function parse3339String (strDate) {
76
76
  strDate.substr(11, 2), strDate.substr(14, 2), strDate.substr(17, 2)
77
77
  )
78
78
  }
79
+ // 判断密码最后修改时间是否超过两个半月(2个月零15天)
80
+ export function isPasswordModificationExpired (lastModificationTime) {
81
+ if (!lastModificationTime) {
82
+ return true
83
+ }
84
+ const lastMod = parse3339String(lastModificationTime)
85
+ if (isNaN(lastMod.getTime())) {
86
+ return true
87
+ }
88
+ const expireDate = new Date(lastMod)
89
+ expireDate.setMonth(expireDate.getMonth() + 2)
90
+ expireDate.setDate(expireDate.getDate() + 15)
91
+ return new Date() > expireDate
92
+ }
79
93
 
80
94
  export function format3339TimeString (dt) {
81
95
  let month = dt.getMonth() + 1
@@ -1,83 +1,83 @@
1
- <template>
2
- <div class="flex">
3
- <div class="auto">
4
- <div class="form-horizontal select-overspread" style="background: white; padding: 0 1%;">
5
- <div class="row">
6
- <div class="col-sm-2 form-group">
7
- <label class="font_normal_body" title="参数管理:终端类型">终端类型</label>
8
- <v-select id="f_charge_type"
9
- v-model="model.f_equipment_type"
10
- placeholder='终端类型'
11
- :value.sync="model.f_equipment_type"
12
- :options='equipmentType'
13
- close-on-select clear-button>
14
- </v-select>
15
- </div>
16
- </div>
17
- </div>
18
- </div>
19
- <div v-if="model.f_equipment_type[0] === 'PC'">
20
- <pc-manage :users="users"></pc-manage>
21
- </div>
22
- <div v-if="model.f_equipment_type[0] === 'POS'">
23
- <pos-manage></pos-manage>
24
- </div>
25
- <div v-if="model.f_equipment_type[0] === 'PHONE'">
26
- <phone-manage :users="users"></phone-manage>
27
- </div>
28
- </div>
29
- </template>
30
-
31
- <script>
32
-
33
- import {HttpResetClass} from "vue-client";
34
-
35
- export default {
36
- title: '终端控制',
37
- data () {
38
- return {
39
- filialeNameStr: this.$login.f.f_fengongsi,
40
- filialeCodeStr: this.$login.f.orgid,
41
- userid:this.$login.f.id,
42
- source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
43
- equipmentType: this.$appdata.getParam('终端类型'),
44
- users:[],
45
- model: {
46
- f_equipment_type: []
47
- }
48
- }
49
- },
50
- ready () {
51
- console.log('看看终端类型', this.equipmentType)
52
- this.model.f_equipment_type = [this.equipmentType[0].value]
53
- this.getUser()
54
- },
55
- methods: {
56
- del (row) {
57
- console.log('要删除了', row)
58
- },
59
- getUser(){
60
- new HttpResetClass().load('POST', '/rs/search', {
61
- "source": " this.getParentByType($organization$).getAllChildrens().where(row.getAttributes().get($resourcetype$).indexOf($user$) != -1))",
62
- "userid": this.$login.f.id
63
- }, {resolveMsg: null, rejectMsg: null}).then((res)=>{
64
- this.users=[]
65
- let ids=[]
66
- res.data.forEach((resRow) => {
67
- if(resRow.state=='在职' && !ids.includes(resRow.id+'_'+resRow.name)){
68
- ids.push(resRow.id+'_'+resRow.name)
69
- this.users.push({label:resRow.name,value:{id:resRow.id,name:resRow.name}})
70
- }
71
- })
72
- })
73
- },
74
- getRes (obj) {
75
- this.filialeNameStr = obj.res
76
- this.filialeCodeStr = obj.resids
77
- },
78
- },
79
- computed: {
80
-
81
- }
82
- }
83
- </script>
1
+ <template>
2
+ <div class="flex">
3
+ <div class="auto">
4
+ <div class="form-horizontal select-overspread" style="background: white; padding: 0 1%;">
5
+ <div class="row">
6
+ <div class="col-sm-2 form-group">
7
+ <label class="font_normal_body" title="参数管理:终端类型">终端类型</label>
8
+ <v-select id="f_charge_type"
9
+ v-model="model.f_equipment_type"
10
+ placeholder='终端类型'
11
+ :value.sync="model.f_equipment_type"
12
+ :options='equipmentType'
13
+ close-on-select clear-button>
14
+ </v-select>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ <div v-if="model.f_equipment_type[0] === 'PC'">
20
+ <pc-manage :users="users"></pc-manage>
21
+ </div>
22
+ <div v-if="model.f_equipment_type[0] === 'POS'">
23
+ <pos-manage></pos-manage>
24
+ </div>
25
+ <div v-if="model.f_equipment_type[0] === 'PHONE'">
26
+ <phone-manage :users="users"></phone-manage>
27
+ </div>
28
+ </div>
29
+ </template>
30
+
31
+ <script>
32
+
33
+ import {HttpResetClass} from "vue-client";
34
+
35
+ export default {
36
+ title: '终端控制',
37
+ data () {
38
+ return {
39
+ filialeNameStr: this.$login.f.f_fengongsi,
40
+ filialeCodeStr: this.$login.f.orgid,
41
+ userid:this.$login.f.id,
42
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
43
+ equipmentType: this.$appdata.getParam('终端类型'),
44
+ users:[],
45
+ model: {
46
+ f_equipment_type: []
47
+ }
48
+ }
49
+ },
50
+ ready () {
51
+ console.log('看看终端类型', this.equipmentType)
52
+ this.model.f_equipment_type = [this.equipmentType[0].value]
53
+ this.getUser()
54
+ },
55
+ methods: {
56
+ del (row) {
57
+ console.log('要删除了', row)
58
+ },
59
+ getUser(){
60
+ new HttpResetClass().load('POST', '/rs/search', {
61
+ "source": " this.getParentByType($organization$).getAllChildrens().where(row.getAttributes().get($resourcetype$).indexOf($user$) != -1))",
62
+ "userid": this.$login.f.id
63
+ }, {resolveMsg: null, rejectMsg: null}).then((res)=>{
64
+ this.users=[]
65
+ let ids=[]
66
+ res.data.forEach((resRow) => {
67
+ if(resRow.state=='在职' && !ids.includes(resRow.id+'_'+resRow.name)){
68
+ ids.push(resRow.id+'_'+resRow.name)
69
+ this.users.push({label:resRow.name,value:{id:resRow.id,name:resRow.name}})
70
+ }
71
+ })
72
+ })
73
+ },
74
+ getRes (obj) {
75
+ this.filialeNameStr = obj.res
76
+ this.filialeCodeStr = obj.resids
77
+ },
78
+ },
79
+ computed: {
80
+
81
+ }
82
+ }
83
+ </script>