system-clients 3.2.92 → 3.2.93-ys

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 (76) 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/8.10/checksums/checksums.lock +0 -0
  11. package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
  12. package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
  13. package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
  14. package/.gradle/8.10/fileChanges/last-build.bin +0 -0
  15. package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
  16. package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
  17. package/.gradle/8.10/gc.properties +0 -0
  18. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  19. package/.gradle/buildOutputCleanup/cache.properties +2 -0
  20. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  21. package/.gradle/file-system.probe +0 -0
  22. package/.gradle/vcs-1/gc.properties +0 -0
  23. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  24. package/gradle/wrapper/gradle-wrapper.properties +7 -0
  25. package/gradlew +252 -0
  26. package/gradlew.bat +94 -0
  27. package/package.json +105 -105
  28. package/src/components/Main.vue +14 -18
  29. package/src/components/equipment/EquipmentManage.vue +83 -83
  30. package/src/components/equipment/PcAdd.vue +115 -115
  31. package/src/components/equipment/PcList.vue +119 -119
  32. package/src/components/equipment/PcManage.vue +61 -61
  33. package/src/components/equipment/PhoneAdd.vue +118 -118
  34. package/src/components/equipment/PhoneList.vue +113 -113
  35. package/src/components/equipment/PhoneManage.vue +61 -61
  36. package/src/components/equipment/PosAdd.vue +10 -6
  37. package/src/components/equipment/PosList.vue +5 -3
  38. package/src/components/equipment/PosParamAdd.vue +1 -1
  39. package/src/components/equipment/PosParamList.vue +2 -2
  40. package/src/components/parammanage/ParamPage.vue +12 -12
  41. package/src/components/parammanage/SinglePage.vue +8 -8
  42. package/src/components/server/Login.vue +35 -17
  43. package/src/components/server/LoginRecordQuery.vue +128 -0
  44. package/src/components/server/ModifyPw.vue +0 -1
  45. package/src/components/server/PcdBuildingSelect.vue +0 -2
  46. package/src/components/server/ResSelect.vue +0 -3
  47. package/src/components/server/ResSelectGroup.vue +211 -211
  48. package/src/components/server/RoleSelector.vue +2 -3
  49. package/src/filiale/baole/Login.vue +0 -2
  50. package/src/filiale/chengtou/Login.vue +0 -2
  51. package/src/filiale/dongguan/Login.vue +0 -2
  52. package/src/filiale/dongguan/Main.vue +0 -2
  53. package/src/filiale/furuike/Login.vue +0 -4
  54. package/src/filiale/furuike/Main.vue +0 -2
  55. package/src/filiale/gehua/Main.vue +0 -2
  56. package/src/filiale/konggang/Login.vue +0 -2
  57. package/src/filiale/qianneng/Login.vue +582 -584
  58. package/src/filiale/qianneng/Main.vue +0 -2
  59. package/src/filiale/qianneng/ModifyPw.vue +0 -1
  60. package/src/filiale/rizhao/Login.vue +0 -2
  61. package/src/filiale/rizhao/Main.vue +1 -1
  62. package/src/filiale/shiquan/Login.vue +0 -2
  63. package/src/filiale/tianyi/Login.vue +0 -2
  64. package/src/filiale/tongchuan/Login.vue +0 -2
  65. package/src/filiale/tongchuan/Main.vue +1 -3
  66. package/src/filiale/weinan/Main.vue +923 -924
  67. package/src/filiale/weinan/system.js +7 -7
  68. package/src/filiale/wenxi/Login.vue +0 -2
  69. package/src/filiale/wenxi/Main.vue +0 -2
  70. package/src/filiale/wuhai/Main.vue +0 -3
  71. package/src/filiale/yuchuan/Login.vue +0 -2
  72. package/src/filiale/yuchuan/Main.vue +0 -2
  73. package/src/filiale/zhoukou/Main.vue +0 -2
  74. package/src/plugins/GetLoginInfoService.js +84 -13
  75. package/src/stores/AppData.js +1 -1
  76. package/src/system.js +2 -0
@@ -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: [], //已初始化页签数组
@@ -470,6 +470,7 @@ let createWaterMark = function (userName) {
470
470
  res.data.forEach(itre => {
471
471
  let band = null
472
472
  if ('f_dynamic_expire' in itre) {
473
+ console.log(itre.f_dynamic_expire)
473
474
  if (itre.f_dynamic_expire !== null && itre.f_dynamic_expire !== '') {
474
475
  let todayold = new Date(itre.f_dynamic_expire)
475
476
  todayold.setDate(todayold.getDate() - parseInt(this.$appdata.getSingleValue('动态库提醒天数设置')))
@@ -594,33 +595,28 @@ let createWaterMark = function (userName) {
594
595
  console.log(this.$login.f)
595
596
  this.$showMessage('您确定要退出系统吗?', ['confirm', 'cancel']).then(async (res) => {
596
597
  if (res == 'confirm') {
598
+ let ip = '';
599
+ try {
600
+ const res = await fetch('rs/systemUrl/getIp');
601
+ const ipData = await res.json();
602
+ ip = ipData.ip;
603
+ } catch (e) {
604
+ console.warn('获取IP失败', e);
605
+ }
597
606
  let data = {
598
607
  userid: this.$login.f.id,
599
608
  username: this.$login.f.name,
600
- usertelephone: this.$login.f.f_user_telephone
601
- }
602
- // todo v4
603
- try {
604
- await this.$resetget('api/af-system/user/logout', {resolveMsg: '退出成功', rejectMsg: null})
605
- }catch(e){
609
+ usertelephone: this.$login.f.f_user_telephone,
610
+ ip: ip,
611
+ device_type: 'PC'
606
612
  }
613
+ await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
607
614
  window.location.reload()
608
615
  }
609
616
  })
610
617
  }
611
618
  },
612
619
  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
620
  nowDate() {
625
621
  return this.$login.getNowDate()
626
622
  }
@@ -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>
@@ -1,115 +1,115 @@
1
- <template>
2
- <div class="row select-overspread">
3
- <validator name='v'>
4
- <ul class="nav nav-tabs" >
5
- <li role="presentation" class="active"><a href="#">PC端MAC</a></li>
6
- </ul>
7
- <form class="form-horizontal">
8
- <div class="col-sm-6 form-group">
9
- <label class="font_normal_body">使用人员</label>
10
- <v-select style="width:60% "
11
- class="select select_list"
12
- :value.sync="model.f_username"
13
- v-model="model.f_username"
14
- :options='users'
15
- placeholder='人员选择'
16
- value-single
17
- close-on-select>
18
- </v-select>
19
- </div>
20
- <div class="col-sm-6 form-group">
21
- <label class="font_normal_body">所属地址</label>
22
- <input type="text" style="width: 60%" class="input_search" v-model="model.f_mac_outlets" placeholder="所属地址" >
23
- </div>
24
- <div class="col-sm-6 form-group">
25
- <label class="font_normal_body">mac地址</label>
26
- <input type="text" style="width: 60%" class="input_search" v-model="model.f_mac_number" placeholder="mac地址" >
27
- </div>
28
- <div class="col-sm-6 form-group">
29
- <label class="font_normal_body">使用公司</label>
30
-
31
- <res-select restype='organization'
32
- is-mul="false"
33
- @res-select="getorg"
34
- :initresid="curorgid">
35
- </res-select>
36
-
37
- </div>
38
- </form>
39
- <div style="text-align:right;height:auto;">
40
- <button class="btn button_search" @click="confirm()" >确认</button>
41
- <button class="btn button_clear " @click="cancel()" >取消</button>
42
- </div>
43
- </validator>
44
- </div>
45
- </template>
46
- <script>
47
-
48
-
49
- export default {
50
- data () {
51
- return {
52
- model: {
53
- f_username: '',
54
- f_mac_outlets: '',
55
- f_mac_number: '',
56
- f_equipment_type: 'PC',
57
- f_state: '正常'
58
- },
59
- curorgid: [this.$login.f.orgid],
60
- f_orgid: ''
61
- }
62
- },
63
- props: ['data','users'],
64
- watch: {
65
- 'data' (val) {
66
- if (val) {
67
- this.edit(val)
68
- } else {
69
- this.initModel()
70
- }
71
- }
72
- },
73
- ready () {
74
- console.log('mac信息:', this.data)
75
- if (this.data) {
76
- this.edit(this.data)
77
- }
78
- },
79
- methods: {
80
- confirm () {
81
- this.model.f_user_operatorid=this.model.f_username.id
82
- this.model.f_user_operator=this.model.f_username.name
83
- this.model.f_operator = this.$login.f.name
84
- this.model.f_operatorid = this.$login.f.id
85
- this.model.f_orgid = this.f_orgid
86
- console.log('保存', this.model)
87
- this.$resetpost('api/af-system/logic/save_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
88
- this.$dispatch('refresh')
89
- }).catch((error) => {
90
- this.$dispatch('refresh')
91
- })
92
- },
93
- edit (row) {
94
- console.log('修改,,。。', row)
95
- this.model.f_username = row.f_username
96
- this.model.f_mac_outlets = row.f_mac_outlets
97
- this.model.f_mac_number = row.f_mac_number
98
- this.model.id = row.id
99
- this.f_orgid = row.f_orgid
100
- },
101
- initModel () {
102
- delete this.model.id
103
- this.model.f_username = ''
104
- this.model.f_mac_outlets = ''
105
- this.model.f_mac_number = ''
106
- },
107
- cancel () {
108
- this.$dispatch('close')
109
- },
110
- getorg (val) {
111
- this.f_orgid = val[0]
112
- }
113
- }
114
- }
115
- </script>
1
+ <template>
2
+ <div class="row select-overspread">
3
+ <validator name='v'>
4
+ <ul class="nav nav-tabs" >
5
+ <li role="presentation" class="active"><a href="#">PC端MAC</a></li>
6
+ </ul>
7
+ <form class="form-horizontal">
8
+ <div class="col-sm-6 form-group">
9
+ <label class="font_normal_body">使用人员</label>
10
+ <v-select style="width:60% "
11
+ class="select select_list"
12
+ :value.sync="model.f_username"
13
+ v-model="model.f_username"
14
+ :options='users'
15
+ placeholder='人员选择'
16
+ value-single
17
+ close-on-select>
18
+ </v-select>
19
+ </div>
20
+ <div class="col-sm-6 form-group">
21
+ <label class="font_normal_body">所属地址</label>
22
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_mac_outlets" placeholder="所属地址" >
23
+ </div>
24
+ <div class="col-sm-6 form-group">
25
+ <label class="font_normal_body">mac地址</label>
26
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_mac_number" placeholder="mac地址" >
27
+ </div>
28
+ <div class="col-sm-6 form-group">
29
+ <label class="font_normal_body">使用公司</label>
30
+
31
+ <res-select restype='organization'
32
+ is-mul="false"
33
+ @res-select="getorg"
34
+ :initresid="curorgid">
35
+ </res-select>
36
+
37
+ </div>
38
+ </form>
39
+ <div style="text-align:right;height:auto;">
40
+ <button class="btn button_search" @click="confirm()" >确认</button>
41
+ <button class="btn button_clear " @click="cancel()" >取消</button>
42
+ </div>
43
+ </validator>
44
+ </div>
45
+ </template>
46
+ <script>
47
+
48
+
49
+ export default {
50
+ data () {
51
+ return {
52
+ model: {
53
+ f_username: '',
54
+ f_mac_outlets: '',
55
+ f_mac_number: '',
56
+ f_equipment_type: 'PC',
57
+ f_state: '正常'
58
+ },
59
+ curorgid: [this.$login.f.orgid],
60
+ f_orgid: ''
61
+ }
62
+ },
63
+ props: ['data','users'],
64
+ watch: {
65
+ 'data' (val) {
66
+ if (val) {
67
+ this.edit(val)
68
+ } else {
69
+ this.initModel()
70
+ }
71
+ }
72
+ },
73
+ ready () {
74
+ console.log('mac信息:', this.data)
75
+ if (this.data) {
76
+ this.edit(this.data)
77
+ }
78
+ },
79
+ methods: {
80
+ confirm () {
81
+ this.model.f_user_operatorid=this.model.f_username.id
82
+ this.model.f_user_operator=this.model.f_username.name
83
+ this.model.f_operator = this.$login.f.name
84
+ this.model.f_operatorid = this.$login.f.id
85
+ this.model.f_orgid = this.f_orgid
86
+ console.log('保存', this.model)
87
+ this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
88
+ this.$dispatch('refresh')
89
+ }).catch((error) => {
90
+ this.$dispatch('refresh')
91
+ })
92
+ },
93
+ edit (row) {
94
+ console.log('修改,,。。', row)
95
+ this.model.f_username = row.f_username
96
+ this.model.f_mac_outlets = row.f_mac_outlets
97
+ this.model.f_mac_number = row.f_mac_number
98
+ this.model.id = row.id
99
+ this.f_orgid = row.f_orgid
100
+ },
101
+ initModel () {
102
+ delete this.model.id
103
+ this.model.f_username = ''
104
+ this.model.f_mac_outlets = ''
105
+ this.model.f_mac_number = ''
106
+ },
107
+ cancel () {
108
+ this.$dispatch('close')
109
+ },
110
+ getorg (val) {
111
+ this.f_orgid = val[0]
112
+ }
113
+ }
114
+ }
115
+ </script>