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
@@ -174,7 +174,7 @@ let saveGen = function *(self) {
174
174
  console.log('登录配置', self.config)
175
175
  if (self.config.isMac) {
176
176
  // 获取该登录人分公司下的mac配置
177
- let getMacs = yield self.$resetpost('api/af-system/sql/equipmentQuery', {data: {condition: `f_filialeids like '%${self.$login.f.f_orgids}%'`}}, {
177
+ let getMacs = yield self.$resetpost('rs/sql/equipmentQuery', {data: {condition: `f_filialeids like '%${self.$login.f.f_orgids}%'`}}, {
178
178
  resolveMsg: null,
179
179
  rejectMsg: null
180
180
  }).catch(() => {
@@ -239,7 +239,7 @@ let saveGen = function *(self) {
239
239
  msg = ret.data
240
240
  } else if (ret.status === 710) {
241
241
  msg = ret.data
242
- } else {
242
+ } else if (ret.status === 555) {
243
243
  msg = ret.data
244
244
  }
245
245
  self.createCode()
@@ -257,6 +257,21 @@ export default {
257
257
  this.titleShow = this.$appdata.getSingleValue('关于我们')
258
258
  window.versionTime = window.versionTime ? window.versionTime : new Date().getTime()
259
259
  this.vTime = this.format(new Date(window.versionTime));
260
+ try{
261
+ let http = new HttpResetClass()
262
+ let res = await http.load('POST', 'rs/sql/singleTable',
263
+ {data:{
264
+ tablename: 't_changedeclare',
265
+ condition: ` f_type ='变更通知' `
266
+ }
267
+ }, {resolveMsg: null, rejectMsg: null})
268
+ if(res.data.length>0){
269
+ console.log("---------------获取通知",res.data[0].f_change_message)
270
+ this.notice=res.data[0].f_change_message
271
+ }
272
+ }catch(e){}
273
+
274
+ this.loginother();
260
275
  $('#login-button').click(function (event) {
261
276
  event.preventDefault()
262
277
  $('form').fadeOut(500)
@@ -412,24 +427,27 @@ export default {
412
427
  }else {
413
428
  console.log("待办提醒全局关闭。")
414
429
  }
430
+
431
+
432
+
433
+
415
434
  },
416
435
 
417
436
  async loginother(){
418
- // if (this.config.distanceLogin) {
419
- // if (this.$login && this.$login.getUrlParames('name') ) {
420
- // let ename = this.$login.getUrlParames('name');
421
- // // todo v4
422
- // let logininfo = await this.$resetpost('rs/logic/getLoginData',{data:{ename:ename}},{resolveMsg: null, rejectMsg: null});
423
- // if(logininfo.data){
424
- // if(logininfo.data.ename && logininfo.data.password){
425
- // this.model.ename = logininfo.data.ename
426
- // this.model.password =logininfo.data.password
427
- // let gen = saveGen(this)
428
- // return co(gen)
429
- // }
430
- // }
431
- // }
432
- // }
437
+ if (this.config.distanceLogin) {
438
+ if (this.$login && this.$login.getUrlParames('name') ) {
439
+ let ename = this.$login.getUrlParames('name');
440
+ let logininfo = await this.$resetpost('rs/logic/getLoginData',{data:{ename:ename}},{resolveMsg: null, rejectMsg: null});
441
+ if(logininfo.data){
442
+ if(logininfo.data.ename && logininfo.data.password){
443
+ this.model.ename = logininfo.data.ename
444
+ this.model.password =logininfo.data.password
445
+ let gen = saveGen(this)
446
+ return co(gen)
447
+ }
448
+ }
449
+ }
450
+ }
433
451
  },
434
452
  theme(){
435
453
  // var elementList = document.querySelectorAll('body');
@@ -0,0 +1,128 @@
1
+ <template>
2
+ <div id="file-user-files" class="binary">
3
+ <div class="flex" style="flex: 1;">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row">
8
+ <div class="col-sm-2 form-group">
9
+ <label class="font_normal_body">登陆人员</label>
10
+ <input type="text" class="input_search" style="width:60%" v-model="model.username"
11
+ condition="username like '%{}%'" placeholder="登陆人员">
12
+ </div>
13
+ <div class="form-group col-sm-2">
14
+ <label class="font_normal_body">登录类型</label>
15
+ <v-select :options='$parent.$parent.type'
16
+ :value.sync="model.type"
17
+ close-on-select
18
+ condition="type = '{}'"
19
+ placeholder='登录类型'
20
+ v-model="model.type">
21
+ </v-select>
22
+ </div>
23
+ <div class="form-group col-sm-2">
24
+ <label class="font_normal_body">开始时间</label>
25
+ <datepicker placeholder="登入/登出时间"
26
+ style="width:60%"
27
+ v-model="model.startDate"
28
+ :value.sync="model.startDate"
29
+ :format="'yyyy-MM-dd HH:mm:ss'"
30
+ condition="logindate >= '{}'"
31
+ ></datepicker>
32
+ </div>
33
+ <div class="form-group col-sm-2">
34
+ <label class="font_normal_body">结束日期</label>
35
+ <datepicker placeholder="登入/登出时间"
36
+ style="width:60%"
37
+ v-model="model.endDate"
38
+ :value.sync="model.endDate"
39
+ :format="'yyyy-MM-dd HH:mm:ss'"
40
+ condition="logindate <= '{}'"
41
+ ></datepicker>
42
+ </div>
43
+ <div class="span" style="float:right;">
44
+ <button class="button_search" @click="$parent.$parent.search()" v-el:cx>查询</button>
45
+ <div style="float: right" class="button_spacing"
46
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
47
+ @click="$parent.$parent.hidden()"></div>
48
+ </div>
49
+ </div>
50
+ <div class="row" v-show="$parent.$parent.criteriaShow">
51
+ <div class="form-group col-sm-2">
52
+ <label class="font_normal_body">设备类型</label>
53
+ <v-select :options='$parent.$parent.device_type'
54
+ :value.sync="model.device_type"
55
+ close-on-select
56
+ condition="device_type = '{}'"
57
+ placeholder='设备类型'
58
+ v-model="model.device_type">
59
+ </v-select>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </criteria>
64
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
65
+ <template partial='head'>
66
+ <tr>
67
+ <th>序号</th>
68
+ <th>登陆人员</th>
69
+ <th>类型</th>
70
+ <th>登入/登出时间</th>
71
+ <th>登录ip</th>
72
+ <th>设备类型</th>
73
+ </tr>
74
+ </template>
75
+ <template partial='body' :model="model">
76
+ <tr>
77
+ <td style="text-align:center">{{ $index + 1 }}</td>
78
+ <td style="text-align:center">{{ row.username }}</td>
79
+ <td style="text-align:center">{{ row.type }}</td>
80
+ <td style="text-align:center">{{ row.logindate }}</td>
81
+ <td style="text-align:center">{{ row.login_ip }}</td>
82
+ <td style="text-align:center">{{ row.device_type }}</td>
83
+ </tr>
84
+ </template>
85
+ </data-grid>
86
+ </criteria-paged>
87
+ </div>
88
+ </div>
89
+ </template>
90
+
91
+ <script>
92
+ import {PagedList} from 'vue-client'
93
+ import * as Util from '../Util'
94
+
95
+ export default {
96
+ title: '登录操作查询',
97
+ components: {},
98
+ data() {
99
+ return {
100
+ criteriaShow: false,
101
+ model: new PagedList('rs/sql/singleTable', 20, {
102
+ items: '"*"',
103
+ tablename: '"t_loginrecord"',
104
+ orderitem: '"id desc"'
105
+ }),
106
+ type: [{label: '全部', value: ''}, {label: '登入', value: '登入'}, {label: '登出', value: '登出'}],
107
+ device_type: [{label: '全部', value: ''}, {label: 'PC', value: 'PC'}, {label: 'PHONE', value: 'PHONE'}]
108
+ }
109
+ },
110
+ ready() {
111
+ this.$refs.paged.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
112
+ this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
113
+ this.search()
114
+ },
115
+ methods: {
116
+ hidden() {
117
+ this.criteriaShow = !this.criteriaShow
118
+ },
119
+ search() {
120
+ this.$refs.paged.$refs.cri.search()
121
+ },
122
+ selfSearch(args) {
123
+ this.model.search(args.condition, this.model)
124
+ }
125
+ },
126
+ computed: {}
127
+ }
128
+ </script>
@@ -62,7 +62,6 @@
62
62
  // let res = yield self.$post('rs/db/modifypassword', {data: self.deliver})
63
63
  // let res = yield self.$resetpost('/rs/db/modifypwd', {data: self.deliver})
64
64
  // Util.f.password = self.deliver.newpassword
65
- // todo v4
66
65
  let res = yield self.$resetpost('/rs/user/modifypwd', {data: self.deliver }, {resolveMsg: null,rejectMsg: null})
67
66
  self.$login.f.password = self.deliver.newpassword
68
67
  if (res.data) {
@@ -155,7 +155,6 @@
155
155
  async pcdChange(){
156
156
  this.arrays.street=[{label:'全部',value:''}]
157
157
  var condition = `f_filialeid = '${this.$login.f.orgid}' and f_street is not null group by f_street`
158
- // todo v4
159
158
  let street = await this.$resetpost('rs/sql/singleTable_OrderBy', {
160
159
  data: {
161
160
  items: 'f_street',
@@ -193,7 +192,6 @@
193
192
  }else{
194
193
  condition = `f_filialeid = '${this.$login.f.orgid}' and f_building is not null group by f_building`
195
194
  }
196
- // todo v4
197
195
  let build = await this.$resetpost('rs/sql/singleTable_OrderBy', {
198
196
  data: {
199
197
  items: 'f_building',
@@ -80,9 +80,6 @@
80
80
  //找到跟节点
81
81
  ergodicList (val,parentname) {
82
82
  if(val.children.length > 0 ){
83
- if (val.name !== '组织机构'){
84
- this.resoptions.push({label: parentname === '组织机构' ? val.name : val.name+' - '+parentname, value: val.id})
85
- }
86
83
  parentname=parentname+val.name
87
84
  this.treetoList(val,parentname)
88
85
  }else {
@@ -1,211 +1,211 @@
1
- <template>
2
- <div :class="style" v-show="companyshow">
3
- <label class="font_normal_body">公&emsp;&emsp;司</label>
4
- <right-tree @re-res="getorg"
5
- :mustselect="mustselect"
6
- :initresid='initres.org'></right-tree>
7
- </div>
8
- <div :class="style" v-show="departmentshow">
9
- <label class="font_normal_body">部&emsp;&emsp;门</label>
10
- <res-select restype='department' v-ref:department
11
- @res-select="getdep"
12
- :parentresid="depresid"
13
- :specialquery="specialquery"
14
- :initresid='initres.dep'
15
- :mustselect="mustselect"
16
- :is-mul="mul">
17
- </res-select>
18
- </div>
19
- <div :class="style" v-show="operatorshow && (!cascade)">
20
- <label class="font_normal_body">人&emsp;&emsp;员</label>
21
- <res-select restype='user'
22
- @res-select="getuser"
23
- :parentresid="depresid"
24
- :initresid='initres.user'
25
- :mustselect="mustselect"
26
- :is-mul="mul">
27
- </res-select>
28
- </div>
29
- <div :class="style" v-show="operatorshow && cascade">
30
- <label class="font_normal_body">人&emsp;&emsp;员</label>
31
- <res-select restype='user'
32
- @res-select="getuser"
33
- :parentresid="userresid"
34
- :initresid='initres.user'
35
- :mustselect="mustselect"
36
- :is-mul="mul">
37
- </res-select>
38
- </div>
39
- <div :class="style " v-if="sliceareashow" >
40
- <label class="font_normal_body">片&emsp;&emsp;区</label>
41
- <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
42
- :options='sliceArea' placeholder='片区/管理站' filer-key="name"
43
- close-on-select v-ref:slice>
44
- </v-select>
45
- </div>
46
- </template>
47
- <script>
48
- import plugin from '../../plugins/GetLoginInfoService'
49
- import { HttpResetClass } from 'vue-client'
50
- export default {
51
- title: '资源选择测试',
52
- props: {
53
- style: {
54
- type: String,
55
- default: 'col-sm-2 form-group'
56
- },
57
- mul: {
58
- type: Boolean,
59
- default: true
60
- },
61
- //是否只查询营业厅
62
- specialquery: {
63
- type: Boolean,
64
- default: false
65
- },
66
- //初始值
67
- initres: {
68
- type: Object,
69
- default: null,
70
- },
71
- showComponent:{
72
- default:['company','department','operator','slicearea']
73
- },
74
- //人员是否和部门关联
75
- cascade: {
76
- type: Boolean,
77
- default: true
78
- },
79
- selectin: {
80
- type: Boolean,
81
- default: true
82
- }
83
- },
84
- data () {
85
- return {
86
- orgresid:[this.$login.f.orgid],
87
- depresid:[],
88
- userresid:[],
89
- operatorsid: [],
90
- sliceArea: [],
91
- slice_area:[],
92
- companyshow:false,
93
- departmentshow:false,
94
- operatorshow:false,
95
- sliceareashow:false,
96
- mustselect:false,
97
- obj:{
98
- orgnames:[],
99
- depnames:[],
100
- operatornames:[]
101
- }
102
- }
103
- },
104
- ready () {
105
- if(this.$login.r.includes('部门默认选中')&& this.selectin){
106
- this.initres.dep = [this.$login.f.depids]
107
- }
108
- if(this.$login.r.includes('人员默认选中')&& this.selectin){
109
- this.initres.user = [this.$login.f.id]
110
- if(this.$login.r.includes('人员强制选中')){
111
- this.mustselect = true
112
- }
113
- }
114
- this.initComponent();
115
- this.initAreas(this.$login.f.orgid)
116
- },
117
- methods:{
118
- initComponent(){
119
- let self=this;
120
- this.showComponent.find((item)=>{
121
- switch(item){
122
- case 'company': self.companyshow=true; break;
123
- case 'department': self.departmentshow=true; break;
124
- case 'operator': self.operatorshow=true; break;
125
- case 'slicearea': self.sliceareashow=true; break;
126
- }
127
- })
128
- },
129
- // 初始化片区
130
- async initAreas (val) {
131
- if (val) {
132
- let http = new HttpResetClass()
133
- let getAllArea = await http.load('POST', '/rs/search', {
134
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
135
- userid: this.$login.f.id
136
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
137
- let arr = getAllArea.data.filter((res) => {
138
- if(Array.isArray(val)){
139
- for (let i = 0; i <val.length ; i++) {
140
- if(res.parentid == val[i]){
141
- return true
142
- }
143
- }
144
- }
145
- return res.parentid == val
146
- })
147
- this.sliceArea = []
148
- this.slice_area = []
149
- arr.forEach((res) => {
150
- this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
151
- })
152
- }
153
- },
154
- returnOrg(ids){
155
- let limit = this.$login.r.includes('数据授权限定')
156
-
157
- let condition;
158
- if(this.depresid.length > 0)
159
- condition = " and f_orgid in " + plugin.convertToIn(this.depresid);
160
- else
161
- condition = " and f_orgid = " + this.$login.f.orgid;
162
- if(this.userresid.length > 0){
163
- condition += " and f_depid in " + plugin.convertToIn(this.userresid);
164
- } else {
165
- if (limit) {
166
- let depids = []
167
- for (let row of this.$refs.department.resoptions) {
168
- depids.push(row.value)
169
- }
170
- let depid = depids.length ? plugin.convertToIn(depids) : ('')
171
- condition += " and f_depid in " + depid;
172
- }
173
- }
174
- if(ids && ids.length > 0){
175
- condition += " and f_operatorid in " + plugin.convertToIn(ids);
176
- }
177
- if(this.slice_area.length>0){
178
- condition += " and f_zones = '" + this.slice_area[0].name+"'"
179
- }
180
- this.$dispatch('re-res',condition,this.obj)
181
- },
182
- getorg (obj) {
183
- this.depresid=obj.resids
184
- this.obj.orgnames = obj.res
185
- this.initAreas(obj.resids)
186
- this.returnOrg();
187
- },
188
- getdep(obj,val) {
189
- this.obj.depnames = val
190
- this.userresid=obj
191
- this.returnOrg();
192
- },
193
- getuser(obj,val) {
194
- this.obj.operatornames = val
195
- this.operatorsid = obj
196
- this.returnOrg(obj);
197
- },
198
- getarea(val) {
199
- this.slice_area=val
200
- if(this.operatorsid){
201
- this.returnOrg(this.operatorsid);
202
- }else{
203
- this.returnOrg();
204
- }
205
- }
206
- },
207
- watch: {
208
-
209
- }
210
- }
211
- </script>
1
+ <template>
2
+ <div :class="style" v-show="companyshow">
3
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
4
+ <right-tree @re-res="getorg"
5
+ :mustselect="mustselect"
6
+ :initresid='initres.org'></right-tree>
7
+ </div>
8
+ <div :class="style" v-show="departmentshow">
9
+ <label class="font_normal_body">部&emsp;&emsp;门</label>
10
+ <res-select restype='department' v-ref:department
11
+ @res-select="getdep"
12
+ :parentresid="depresid"
13
+ :specialquery="specialquery"
14
+ :initresid='initres.dep'
15
+ :mustselect="mustselect"
16
+ :is-mul="mul">
17
+ </res-select>
18
+ </div>
19
+ <div :class="style" v-show="operatorshow && (!cascade)">
20
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
21
+ <res-select restype='user'
22
+ @res-select="getuser"
23
+ :parentresid="depresid"
24
+ :initresid='initres.user'
25
+ :mustselect="mustselect"
26
+ :is-mul="mul">
27
+ </res-select>
28
+ </div>
29
+ <div :class="style" v-show="operatorshow && cascade">
30
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
31
+ <res-select restype='user'
32
+ @res-select="getuser"
33
+ :parentresid="userresid"
34
+ :initresid='initres.user'
35
+ :mustselect="mustselect"
36
+ :is-mul="mul">
37
+ </res-select>
38
+ </div>
39
+ <div :class="style " v-if="sliceareashow" >
40
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
41
+ <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
42
+ :options='sliceArea' placeholder='片区/管理站' filer-key="name"
43
+ close-on-select v-ref:slice>
44
+ </v-select>
45
+ </div>
46
+ </template>
47
+ <script>
48
+ import plugin from '../../plugins/GetLoginInfoService'
49
+ import { HttpResetClass } from 'vue-client'
50
+ export default {
51
+ title: '资源选择测试',
52
+ props: {
53
+ style: {
54
+ type: String,
55
+ default: 'col-sm-2 form-group'
56
+ },
57
+ mul: {
58
+ type: Boolean,
59
+ default: true
60
+ },
61
+ //是否只查询营业厅
62
+ specialquery: {
63
+ type: Boolean,
64
+ default: false
65
+ },
66
+ //初始值
67
+ initres: {
68
+ type: Object,
69
+ default: null,
70
+ },
71
+ showComponent:{
72
+ default:['company','department','operator','slicearea']
73
+ },
74
+ //人员是否和部门关联
75
+ cascade: {
76
+ type: Boolean,
77
+ default: true
78
+ },
79
+ selectin: {
80
+ type: Boolean,
81
+ default: true
82
+ }
83
+ },
84
+ data () {
85
+ return {
86
+ orgresid:[this.$login.f.orgid],
87
+ depresid:[],
88
+ userresid:[],
89
+ operatorsid: [],
90
+ sliceArea: [],
91
+ slice_area:[],
92
+ companyshow:false,
93
+ departmentshow:false,
94
+ operatorshow:false,
95
+ sliceareashow:false,
96
+ mustselect:false,
97
+ obj:{
98
+ orgnames:[],
99
+ depnames:[],
100
+ operatornames:[]
101
+ }
102
+ }
103
+ },
104
+ ready () {
105
+ if(this.$login.r.includes('部门默认选中')&& this.selectin){
106
+ this.initres.dep = [this.$login.f.depids]
107
+ }
108
+ if(this.$login.r.includes('人员默认选中')&& this.selectin){
109
+ this.initres.user = [this.$login.f.id]
110
+ if(this.$login.r.includes('人员强制选中')){
111
+ this.mustselect = true
112
+ }
113
+ }
114
+ this.initComponent();
115
+ this.initAreas(this.$login.f.orgid)
116
+ },
117
+ methods:{
118
+ initComponent(){
119
+ let self=this;
120
+ this.showComponent.find((item)=>{
121
+ switch(item){
122
+ case 'company': self.companyshow=true; break;
123
+ case 'department': self.departmentshow=true; break;
124
+ case 'operator': self.operatorshow=true; break;
125
+ case 'slicearea': self.sliceareashow=true; break;
126
+ }
127
+ })
128
+ },
129
+ // 初始化片区
130
+ async initAreas (val) {
131
+ if (val) {
132
+ let http = new HttpResetClass()
133
+ let getAllArea = await http.load('POST', '/rs/search', {
134
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
135
+ userid: this.$login.f.id
136
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
137
+ let arr = getAllArea.data.filter((res) => {
138
+ if(Array.isArray(val)){
139
+ for (let i = 0; i <val.length ; i++) {
140
+ if(res.parentid == val[i]){
141
+ return true
142
+ }
143
+ }
144
+ }
145
+ return res.parentid == val
146
+ })
147
+ this.sliceArea = []
148
+ this.slice_area = []
149
+ arr.forEach((res) => {
150
+ this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
151
+ })
152
+ }
153
+ },
154
+ returnOrg(ids){
155
+ let limit = this.$login.r.includes('数据授权限定')
156
+
157
+ let condition;
158
+ if(this.depresid.length > 0)
159
+ condition = " and f_orgid in " + plugin.convertToIn(this.depresid);
160
+ else
161
+ condition = " and f_orgid = " + this.$login.f.orgid;
162
+ if(this.userresid.length > 0){
163
+ condition += " and f_depid in " + plugin.convertToIn(this.userresid);
164
+ } else {
165
+ if (limit) {
166
+ let depids = []
167
+ for (let row of this.$refs.department.resoptions) {
168
+ depids.push(row.value)
169
+ }
170
+ let depid = depids.length ? plugin.convertToIn(depids) : ('')
171
+ condition += " and f_depid in " + depid;
172
+ }
173
+ }
174
+ if(ids && ids.length > 0){
175
+ condition += " and f_operatorid in " + plugin.convertToIn(ids);
176
+ }
177
+ if(this.slice_area.length>0){
178
+ condition += " and f_zones = '" + this.slice_area[0].name+"'"
179
+ }
180
+ this.$dispatch('re-res',condition,this.obj)
181
+ },
182
+ getorg (obj) {
183
+ this.depresid=obj.resids
184
+ this.obj.orgnames = obj.res
185
+ this.initAreas(obj.resids)
186
+ this.returnOrg();
187
+ },
188
+ getdep(obj,val) {
189
+ this.obj.depnames = val
190
+ this.userresid=obj
191
+ this.returnOrg();
192
+ },
193
+ getuser(obj,val) {
194
+ this.obj.operatornames = val
195
+ this.operatorsid = obj
196
+ this.returnOrg(obj);
197
+ },
198
+ getarea(val) {
199
+ this.slice_area=val
200
+ if(this.operatorsid){
201
+ this.returnOrg(this.operatorsid);
202
+ }else{
203
+ this.returnOrg();
204
+ }
205
+ }
206
+ },
207
+ watch: {
208
+
209
+ }
210
+ }
211
+ </script>