system-clients 3.1.94 → 3.1.95-aode

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 (49) hide show
  1. package/.eslintrc.js +16 -16
  2. package/build/webpack.base.conf.js +10 -17
  3. package/package.json +102 -102
  4. package/src/components/Main.vue +30 -107
  5. package/src/components/equipment/EquipmentManage.vue +1 -1
  6. package/src/components/equipment/PcAdd.vue +5 -5
  7. package/src/components/equipment/PcList.vue +5 -5
  8. package/src/components/equipment/PhoneAdd.vue +4 -4
  9. package/src/components/equipment/PhoneList.vue +4 -4
  10. package/src/components/equipment/PosAdd.vue +45 -231
  11. package/src/components/equipment/PosList.vue +68 -198
  12. package/src/components/equipment/PosManage.vue +9 -80
  13. package/src/components/parammanage/ParamManage.vue +2 -2
  14. package/src/components/parammanage/ParamPage.vue +7 -7
  15. package/src/components/parammanage/SinglePage.vue +4 -4
  16. package/src/components/server/Login.vue +42 -48
  17. package/src/components/server/ResSelect.vue +0 -5
  18. package/src/components/server/ResSelectGroup.vue +159 -196
  19. package/src/components/server/RightTree.vue +257 -262
  20. package/src/plugins/GetLoginInfoService.js +7 -7
  21. package/src/styles/less/aofeng/standard.less +60 -446
  22. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  23. package/src/styles/less/aofeng/themeOne/systemStyle.less +6 -6
  24. package/src/styles/less/tables.less +0 -50
  25. package/src/styles/less/type.less +3 -16
  26. package/src/styles/less/variables.less +3 -6
  27. package/src/system.js +0 -10
  28. package/static/aodelogo.png +0 -0
  29. package/static/aodenewlogo.png +0 -0
  30. package/static/{logo.png → ewmlogo.png} +0 -0
  31. package/.gradle/4.4/fileChanges/last-build.bin +0 -0
  32. package/.gradle/4.4/fileHashes/fileHashes.bin +0 -0
  33. package/.gradle/4.4/fileHashes/fileHashes.lock +0 -0
  34. package/.gradle/5.2.1/gc.properties +0 -0
  35. package/.gradle/vcs-1/gc.properties +0 -0
  36. package/src/components/TabButton.vue +0 -201
  37. package/src/components/Tabs.vue +0 -67
  38. package/src/components/equipment/PosManageBoth.vue +0 -125
  39. package/src/components/equipment/PosParamAdd.vue +0 -236
  40. package/src/components/equipment/PosParamList.vue +0 -121
  41. package/src/components/equipment/PosParamManage.vue +0 -51
  42. package/src/components/server/ImageVieweTest.vue +0 -56
  43. package/src/components/server/ImageViewer.vue +0 -350
  44. package/src/components/server/PcdBuildingSelect.vue +0 -241
  45. package/src/styles/less/manageStyle/manageStyle/manageChile.less +0 -180
  46. package/src/styles/less/manageStyle/manageStyle/manageStyle.less +0 -1102
  47. package/src/styles/less/manageStyle/manageStyle/safeStyle.less +0 -498
  48. package/static/newStyle/about-us.png +0 -0
  49. package/yarn-error.log +0 -6896
@@ -1,26 +1,16 @@
1
1
  <template>
2
2
  <div class="syslogin">
3
3
  <div class="login-title" >
4
- <div class="row auto">
5
- <marquee style="width:80%;margin-top:25px"><span style="font-size: 1.8rem;color: white;">{{notice}}</span></marquee>
6
- <div class="login-title-chi" style="white-space: nowrap;margin-right:-5%">
7
- <img src="../../../static/newStyle/login-info.png"/>
8
- <span @click="showus=true">关于我们</span>
9
- <!-- <img src="../../../static/newStyle/login-con.png"/>-->
10
- <!-- <span>联系我们</span>-->
11
- </div>
4
+ <div class="login-title-chi" style="white-space: nowrap">
5
+ <img src="../../../static/newStyle/login-info.png"/>
6
+ <span>关于我们</span>
7
+ <img src="../../../static/newStyle/login-con.png"/>
8
+ <span>联系我们</span>
12
9
  </div>
13
10
  </div>
14
-
15
- <modal :show.sync="showus" backdrop="true" width="50%" style="width:auto;">
16
- <article slot="modal-body" class="modal-body" >
17
- <img style="height:100%;width:100%" src="../../../static/newStyle/about-us.png"/>
18
- </article>
19
- <footer slot="modal-footer" class="modal-footer">
20
- </footer>
21
- </modal>
22
-
23
-
11
+ <div class="logopic" >
12
+ <div class="aodelogo"></div>
13
+ </div>
24
14
  <div class="logoew" v-if="logoandroid" >
25
15
  <div v-if="logoandroid" class="imglogo"></div>
26
16
  <p class="logocontent">燃气客服系统Android版</p>
@@ -32,9 +22,9 @@
32
22
  <div class="loginmain-left">
33
23
  <img class="loginmain-left-img" src="../../../static/newStyle/login-left.png">
34
24
  </div>
35
- <div class="loginmain-right">
25
+ <div class="loginmain-right" style="width:45%">
36
26
 
37
- <p @click="theme()" style="white-space: nowrap">{{config.title}}</p>
27
+ <p @click="theme()" style="white-space: nowrap">燃气客服系统</p>
38
28
 
39
29
  <form v-show="!login">
40
30
  <!-- <input type="text" placeholder="用户名" v-model="model.ename" class="usericon">-->
@@ -91,6 +81,12 @@
91
81
  <p class="form-control-static">{{$login.f.name}}</p>
92
82
  </div>
93
83
  </div>
84
+ <div class="col-sm-12 form-group">
85
+ <label class="col-sm-5 control-label">组&nbsp;织&nbsp;编&nbsp;码</label>
86
+ <div class="col-sm-7">
87
+ <p class="form-control-static">{{$login.f.number}}</p>
88
+ </div>
89
+ </div>
94
90
  <div class="col-sm-12 form-group">
95
91
  <label class="col-sm-5 control-label">所在销售点</label>
96
92
  <div class="col-sm-7">
@@ -116,7 +112,6 @@
116
112
  import co from 'co'
117
113
  import $ from 'jquery'
118
114
  import Vue from 'vue'
119
- import {HttpResetClass} from 'vue-client'
120
115
 
121
116
  let saveGen = function *(self) {
122
117
  try {
@@ -204,19 +199,7 @@
204
199
  }
205
200
  export default {
206
201
  title: '登录',
207
- async ready () {
208
- let http = new HttpResetClass()
209
- let res = await http.load('POST', 'rs/sql/singleTable',
210
- {data:{
211
- tablename: 't_changedeclare',
212
- condition: ` f_type ='变更通知' `
213
- }
214
- }, {resolveMsg: null, rejectMsg: '获取通知出错!!'})
215
- if(res.data.length>0){
216
- console.log("---------------获取通知",res.data[0].f_change_message)
217
- this.notice=res.data[0].f_change_message
218
- }
219
-
202
+ ready () {
220
203
  if (this.$login && this.$login.getUrlCompileParames('name') && this.$login.getUrlCompileParames('password')) {
221
204
  this.model.ename = this.$login.getUrlCompileParames('name')
222
205
  this.model.password = this.$login.getUrlCompileParames('password')
@@ -242,8 +225,7 @@
242
225
  config: {
243
226
  isMac: false,
244
227
  depPrompt: false,
245
- weakPassword: false,
246
- title: '燃气客服系统'
228
+ weakPassword: true
247
229
  },
248
230
  login: false,
249
231
  depPromptShow: false,
@@ -254,9 +236,7 @@
254
236
  picLyanzhengma: '',
255
237
  // 修改密码弹框展示
256
238
  modifyPwShow: false,
257
- logoandroid:false,
258
- showus:false,
259
- notice:''
239
+ logoandroid:true
260
240
  }
261
241
  },
262
242
  methods: {
@@ -351,21 +331,20 @@
351
331
  box-sizing: border-box;
352
332
  margin: 0;
353
333
  padding: 0;
354
- font-weight: 400;
355
- outline: none;
334
+ font-weight: 300;
356
335
  }
357
336
 
358
337
  body {
359
338
  font-family: 'Source Sans Pro', sans-serif;
360
339
  color: white;
361
- font-weight: 400;
340
+ font-weight: 300;
362
341
  }
363
342
 
364
343
  body ::-webkit-input-placeholder {
365
344
  /* WebKit browsers */
366
345
  font-family: 'Source Sans Pro', sans-serif;
367
346
  color: white;
368
- font-weight: 400;
347
+ font-weight: 300;
369
348
  }
370
349
 
371
350
  body :-moz-placeholder {
@@ -373,7 +352,7 @@
373
352
  font-family: 'Source Sans Pro', sans-serif;
374
353
  color: white;
375
354
  opacity: 1;
376
- font-weight: 400;
355
+ font-weight: 300;
377
356
  }
378
357
 
379
358
  body ::-moz-placeholder {
@@ -381,14 +360,14 @@
381
360
  font-family: 'Source Sans Pro', sans-serif;
382
361
  color: white;
383
362
  opacity: 1;
384
- font-weight: 400;
363
+ font-weight: 300;
385
364
  }
386
365
 
387
366
  body :-ms-input-placeholder {
388
367
  /* Internet Explorer 10+ */
389
368
  font-family: 'Source Sans Pro', sans-serif;
390
369
  color: white;
391
- font-weight: 400;
370
+ font-weight: 300;
392
371
  }
393
372
 
394
373
  .wrapper {
@@ -457,7 +436,7 @@
457
436
  color: white;
458
437
  -webkit-transition-duration: 0.25s;
459
438
  transition-duration: 0.25s;
460
- font-weight: 400;
439
+ font-weight: 300;
461
440
  }
462
441
 
463
442
  .form input:hover {
@@ -681,10 +660,17 @@
681
660
  width:150px;
682
661
  margin: 3px -15px;
683
662
  }
663
+ .aodelogo {
664
+ background:url(../../../static/aodelogo.png);
665
+ background-size:100%;
666
+ background-repeat: no-repeat;
667
+ }
684
668
  .imglogo {
685
- background:url(../../../static/logo.png);
669
+ background:url(../../../static/ewmlogo.png);
686
670
  background-size:100%;
671
+ background-repeat: no-repeat;
687
672
  }
673
+
688
674
  .logoew {
689
675
  width:120px;
690
676
  height:120px;
@@ -693,6 +679,14 @@
693
679
  margin-top:10px;
694
680
  }
695
681
 
682
+ .logopic{
683
+ width: 23%;
684
+ height: 100px;
685
+ float:left;
686
+ margin-left:3.5%;
687
+ margin-top:10px;
688
+ }
689
+
696
690
  @-webkit-keyframes square {
697
691
  0% {
698
692
  -webkit-transform: translateY(0);
@@ -3,7 +3,6 @@
3
3
  :value.sync="selectres"
4
4
  :multiple="isMul"
5
5
  search="true"
6
- :disabled="mustselect"
7
6
  :close-on-select="!isMul"
8
7
  @change="resChange"
9
8
  >
@@ -34,10 +33,6 @@
34
33
  type: Array,
35
34
  default() { return [] },
36
35
  },
37
- mustselect: {
38
- type: Boolean,
39
- default: false
40
- },
41
36
  },
42
37
  data () {
43
38
  return {
@@ -1,196 +1,159 @@
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
- :initresid='initres.dep'
14
- :mustselect="mustselect"
15
- :is-mul="mul">
16
- </res-select>
17
- </div>
18
- <div :class="style" v-show="operatorshow && (!cascade)">
19
- <label class="font_normal_body">人&emsp;&emsp;员</label>
20
- <res-select restype='user'
21
- @res-select="getuser"
22
- :parentresid="depresid"
23
- :initresid='initres.user'
24
- :mustselect="mustselect"
25
- :is-mul="mul">
26
- </res-select>
27
- </div>
28
- <div :class="style" v-show="operatorshow && cascade">
29
- <label class="font_normal_body">人&emsp;&emsp;员</label>
30
- <res-select restype='user'
31
- @res-select="getuser"
32
- :parentresid="userresid"
33
- :initresid='initres.user'
34
- :mustselect="mustselect"
35
- :is-mul="mul">
36
- </res-select>
37
- </div>
38
- <div :class="style " v-if="sliceareashow" >
39
- <label class="font_normal_body">片&emsp;&emsp;区</label>
40
- <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
41
- :options='sliceArea' placeholder='片区/管理站' filer-key="name"
42
- close-on-select v-ref:slice>
43
- </v-select>
44
- </div>
45
- </template>
46
- <script>
47
- import plugin from '../../plugins/GetLoginInfoService'
48
- import { HttpResetClass } from 'vue-client'
49
- export default {
50
- title: '资源选择测试',
51
- props: {
52
- style: {
53
- type: String,
54
- default: 'col-sm-2 form-group'
55
- },
56
- mul: {
57
- type: Boolean,
58
- default: true
59
- },
60
- //初始值
61
- initres: {
62
- type: Object,
63
- default: null,
64
- },
65
- showComponent:{
66
- default:['company','department','operator','slicearea']
67
- },
68
- //人员是否和部门关联
69
- cascade: {
70
- type: Boolean,
71
- default: true
72
- },
73
- selectin: {
74
- type: Boolean,
75
- default: false
76
- }
77
- },
78
- data () {
79
- return {
80
- orgresid:[this.$login.f.orgid],
81
- depresid:[],
82
- userresid:[],
83
- sliceArea: [],
84
- slice_area:[],
85
- companyshow:false,
86
- departmentshow:false,
87
- operatorshow:false,
88
- sliceareashow:false,
89
- mustselect:false,
90
- obj:{
91
- orgnames:[],
92
- depnames:[],
93
- operatornames:[]
94
- }
95
- }
96
- },
97
- ready () {
98
- if(this.$login.r.includes('部门默认选中')&& this.selectin){
99
- this.initres.dep = [this.$login.f.depids]
100
- }
101
- if(this.$login.r.includes('人员默认选中')&& this.selectin){
102
- this.initres.user = [this.$login.f.id]
103
- if(this.$login.r.includes('人员强制选中')){
104
- this.mustselect = true
105
- }
106
- }
107
- this.initComponent();
108
- this.initAreas(this.$login.f.orgid)
109
- },
110
- methods:{
111
- initComponent(){
112
- let self=this;
113
- this.showComponent.find((item)=>{
114
- switch(item){
115
- case 'company': self.companyshow=true; break;
116
- case 'department': self.departmentshow=true; break;
117
- case 'operator': self.operatorshow=true; break;
118
- case 'slicearea': self.sliceareashow=true; break;
119
- }
120
- })
121
- },
122
- // 初始化片区
123
- async initAreas (val) {
124
- if (val) {
125
- let http = new HttpResetClass()
126
- let getAllArea = await http.load('POST', '/rs/search', {
127
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
128
- userid: this.$login.f.id
129
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
130
- let arr = getAllArea.data.filter((res) => {
131
- return res.parentid == val
132
- })
133
- this.sliceArea = []
134
- this.slice_area = []
135
- arr.forEach((res) => {
136
- this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
137
- })
138
- }
139
- },
140
- returnOrg(ids){
141
- let limit = this.$login.r.includes('数据授权限定')
142
-
143
- let condition;
144
- if(this.depresid.length > 0)
145
- condition = " and f_orgid in " + plugin.convertToIn(this.depresid);
146
- else
147
- condition = " and f_orgid = " + this.$login.f.orgid;
148
- if(this.userresid.length > 0){
149
- condition += " and f_depid in " + plugin.convertToIn(this.userresid);
150
- } else {
151
- if (limit) {
152
- let depids = []
153
- for (let row of this.$refs.department.resoptions) {
154
- depids.push(row.value)
155
- }
156
- let depid = depids.length ? plugin.convertToIn(depids) : ('')
157
- condition += " and f_depid in " + depid;
158
- }
159
- }
160
- if(ids && ids.length > 0){
161
- condition += " and f_operatorid in " + plugin.convertToIn(ids);
162
- }
163
- if(this.slice_area.length>0){
164
- condition += " and f_zones = '" + this.slice_area[0].name+"'"
165
- }
166
- this.$dispatch('re-res',condition,this.obj)
167
- },
168
- getorg (obj) {
169
- this.depresid=obj.resids
170
- this.obj.orgnames = obj.res
171
- this.initAreas(obj.resids)
172
- this.returnOrg();
173
- },
174
- getdep(obj,val) {
175
- this.obj.depnames = val
176
- this.userresid=obj
177
- this.returnOrg();
178
- },
179
- getuser(obj) {
180
- this.obj.operatornames = obj
181
- this.returnOrg(obj);
182
- },
183
- getarea(val) {
184
- this.slice_area=val
185
- if(this.obj.operatornames){
186
- this.returnOrg(this.obj.operatornames);
187
- }else{
188
- this.returnOrg();
189
- }
190
- }
191
- },
192
- watch: {
193
-
194
- }
195
- }
196
- </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
+ :initresid='initres.org'></right-tree>
6
+ </div>
7
+ <div :class="style" v-show="departmentshow">
8
+ <label class="font_normal_body">部&emsp;&emsp;门</label>
9
+ <res-select restype='department'
10
+ @res-select="getdep"
11
+ :parentresid="depresid"
12
+ :initresid='initres.dep'
13
+ :is-mul="mul">
14
+ </res-select>
15
+ </div>
16
+ <div :class="style" v-show="operatorshow">
17
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
18
+ <res-select restype='user'
19
+ @res-select="getuser"
20
+ :parentresid="depresid"
21
+ :initresid='initres.user'
22
+ :is-mul="mul">
23
+ </res-select>
24
+ </div>
25
+ <div :class="style " v-show="sliceareashow" >
26
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
27
+ <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
28
+ :options='sliceArea' placeholder='片区/管理站' filer-key="name"
29
+ close-on-select v-ref:slice>
30
+ </v-select>
31
+ </div>
32
+ </template>
33
+ <script>
34
+ import plugin from '../../plugins/GetLoginInfoService'
35
+ import { HttpResetClass } from 'vue-client'
36
+ export default {
37
+ title: '资源选择测试',
38
+ props: {
39
+ style: {
40
+ type: String,
41
+ default: 'col-sm-2 form-group'
42
+ },
43
+ mul: {
44
+ type: Boolean,
45
+ default: true
46
+ },
47
+ //初始值
48
+ initres: {
49
+ type: Object,
50
+ default: null,
51
+ },
52
+ showComponent:{
53
+ default:['company','department','operator','slicearea']
54
+ }
55
+ },
56
+ data () {
57
+ return {
58
+ orgresid:[this.$login.f.orgid],
59
+ depresid:[],
60
+ userresid:[],
61
+ sliceArea: [],
62
+ slice_area:[],
63
+ companyshow:false,
64
+ departmentshow:false,
65
+ operatorshow:false,
66
+ sliceareashow:false,
67
+ obj:{
68
+ orgnames:[],
69
+ depnames:[],
70
+ operatornames:[]
71
+ }
72
+ }
73
+ },
74
+ ready () {
75
+ console.log('开始获取组织结构。。。')
76
+ this.initComponent();
77
+ this.initAreas(this.$login.f.orgid)
78
+ },
79
+ methods:{
80
+ initComponent(){
81
+ let self=this;
82
+ this.showComponent.find((item)=>{
83
+ switch(item){
84
+ case 'company': self.companyshow=true; break;
85
+ case 'department': self.departmentshow=true; break;
86
+ case 'operator': self.operatorshow=true; break;
87
+ case 'slicearea': self.sliceareashow=true; break;
88
+ }
89
+ })
90
+ },
91
+ // 初始化片区
92
+ async initAreas (val) {
93
+ if (val) {
94
+ let http = new HttpResetClass()
95
+ let getAllArea = await http.load('POST', '/rs/search', {
96
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
97
+ userid: this.$login.f.id
98
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
99
+ let arr = getAllArea.data.filter((res) => {
100
+ return res.parentid == val
101
+ })
102
+ console.log('过滤之后的片区', arr)
103
+ this.sliceArea = []
104
+ arr.forEach((res) => {
105
+ this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
106
+ })
107
+ }
108
+ },
109
+ returnOrg(ids){
110
+
111
+ let condition;
112
+ if(this.depresid.length > 0)
113
+ condition = " and f_orgid in " + plugin.convertToIn(this.depresid);
114
+ else
115
+ condition = " and f_orgid = " + this.$login.f.orgid;
116
+ if(this.userresid.length > 0){
117
+ condition += " and f_depid in " + plugin.convertToIn(this.userresid);
118
+ }
119
+ if(ids && ids.length > 0){
120
+ condition += " and f_operatorid in " + plugin.convertToIn(ids);
121
+ }
122
+ if(this.slice_area.length>0){
123
+ condition += " and f_zones = '" + this.slice_area[0].name+"'"
124
+ }
125
+ this.$dispatch('re-res',condition,this.obj)
126
+ },
127
+ getorg (obj) {
128
+ console.log("选中公司的数据11",obj.resids)
129
+ this.depresid=obj.resids
130
+ this.obj.orgnames = obj.res
131
+ this.initAreas(obj.resids)
132
+ this.returnOrg();
133
+ },
134
+ getdep(obj,val) {
135
+ console.log("选中部门的数据22",obj)
136
+ this.obj.depnames = val
137
+ this.userresid=obj
138
+ this.returnOrg();
139
+ },
140
+ getuser(obj) {
141
+ this.obj.operatornames = obj
142
+ console.log("选中用户的数据33",obj)
143
+ this.returnOrg(obj);
144
+ },
145
+ getarea(val) {
146
+ this.slice_area=val
147
+ console.log("选中的大区",val)
148
+ if(this.obj.operatornames){
149
+ this.returnOrg(this.obj.operatornames);
150
+ }else{
151
+ this.returnOrg();
152
+ }
153
+ }
154
+ },
155
+ watch: {
156
+
157
+ }
158
+ }
159
+ </script>