system-clients 3.1.94-aode → 3.1.96

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 (77) hide show
  1. package/.eslintrc.js +16 -16
  2. package/.gradle/{5.5 → 5.2.1}/gc.properties +0 -0
  3. package/{dist/static/.gitkeep → .gradle/buildOutputCleanup/built.bin} +0 -0
  4. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  5. package/.gradle/buildOutputCleanup/cache.properties.lock +1 -0
  6. package/SystemClient.iml +1 -1
  7. package/build/webpack.base.conf.js +17 -14
  8. package/package.json +4 -4
  9. package/src/components/Main.vue +622 -508
  10. package/src/components/TabButton.vue +201 -0
  11. package/src/components/Tabs.vue +67 -0
  12. package/src/components/equipment/EquipmentManage.vue +65 -65
  13. package/src/components/equipment/PcAdd.vue +5 -5
  14. package/src/components/equipment/PcList.vue +5 -5
  15. package/src/components/equipment/PhoneAdd.vue +4 -4
  16. package/src/components/equipment/PhoneList.vue +4 -4
  17. package/src/components/equipment/PosAdd.vue +323 -137
  18. package/src/components/equipment/PosList.vue +294 -164
  19. package/src/components/equipment/PosManage.vue +138 -67
  20. package/src/components/equipment/PosManageBoth.vue +125 -0
  21. package/src/components/equipment/PosParamAdd.vue +236 -0
  22. package/src/components/equipment/PosParamList.vue +121 -0
  23. package/src/components/equipment/PosParamManage.vue +51 -0
  24. package/src/components/parammanage/ParamManage.vue +2 -2
  25. package/src/components/parammanage/ParamPage.vue +7 -7
  26. package/src/components/parammanage/SinglePage.vue +4 -4
  27. package/src/components/server/ImageVieweTest.vue +56 -0
  28. package/src/components/server/ImageViewer.vue +350 -0
  29. package/src/components/server/Login.vue +70 -47
  30. package/src/components/server/PcdBuildingSelect.vue +241 -0
  31. package/src/components/server/ResSelect.vue +5 -0
  32. package/src/components/server/ResSelectGroup.vue +155 -118
  33. package/src/components/server/RightTree.vue +262 -257
  34. package/src/plugins/GetLoginInfoService.js +514 -514
  35. package/src/styles/less/aofeng/standard.less +446 -60
  36. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +13 -13
  37. package/src/styles/less/aofeng/themeOne/systemStyle.less +18 -18
  38. package/src/styles/less/manageStyle/manageStyle/manageChile.less +180 -0
  39. package/src/styles/less/manageStyle/manageStyle/manageStyle.less +1102 -0
  40. package/src/styles/less/manageStyle/manageStyle/safeStyle.less +498 -0
  41. package/src/styles/less/tables.less +50 -0
  42. package/src/styles/less/type.less +16 -3
  43. package/src/styles/less/variables.less +6 -3
  44. package/src/system.js +93 -83
  45. package/static/{ewmlogo.png → logo.png} +0 -0
  46. package/static/newStyle/about-us.png +0 -0
  47. package/yarn-error.log +6896 -0
  48. package/.gradle/5.5/fileChanges/last-build.bin +0 -0
  49. package/.gradle/5.5/fileHashes/fileHashes.lock +0 -0
  50. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  51. package/.npmignore +0 -10
  52. package/build/.npmignore +0 -1
  53. package/dist/static/batchleft.png +0 -0
  54. package/dist/static/batchright.png +0 -0
  55. package/dist/static/bluemainbg.jpg +0 -0
  56. package/dist/static/huangtengbiaozhi.png +0 -0
  57. package/dist/static/login_bg.jpg +0 -0
  58. package/dist/static/login_title.png +0 -0
  59. package/dist/static/login_title1.png +0 -0
  60. package/dist/static/loginbg.jpg +0 -0
  61. package/dist/static/loginlogo.png +0 -0
  62. package/dist/static/main_logo.png +0 -0
  63. package/dist/static/mainbg.jpg +0 -0
  64. package/dist/static/menulogo.png +0 -0
  65. package/dist/static/newmainbg.jpg +0 -0
  66. package/dist/static/psicon.png +0 -0
  67. package/dist/static/singleleft.png +0 -0
  68. package/dist/static/singleright.png +0 -0
  69. package/dist/static/treeopen.png +0 -0
  70. package/dist/static/treeout.png +0 -0
  71. package/dist/static/treeset.png +0 -0
  72. package/dist/static/usericon.png +0 -0
  73. package/dist/static/xinxi.png +0 -0
  74. package/package-lock.json +0 -10507
  75. package/src/.npmignore +0 -1
  76. package/static/aodelogo.png +0 -0
  77. package/static/aodenewlogo.png +0 -0
@@ -1,16 +1,26 @@
1
1
  <template>
2
2
  <div class="syslogin">
3
3
  <div class="login-title" >
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>
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>
9
12
  </div>
10
13
  </div>
11
- <div class="logopic" >
12
- <div class="aodelogo"></div>
13
- </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
+
14
24
  <div class="logoew" v-if="logoandroid" >
15
25
  <div v-if="logoandroid" class="imglogo"></div>
16
26
  <p class="logocontent">燃气客服系统Android版</p>
@@ -22,9 +32,9 @@
22
32
  <div class="loginmain-left">
23
33
  <img class="loginmain-left-img" src="../../../static/newStyle/login-left.png">
24
34
  </div>
25
- <div class="loginmain-right" style="width:45%">
35
+ <div class="loginmain-right">
26
36
 
27
- <p @click="theme()" style="white-space: nowrap">燃气客服系统</p>
37
+ <p @click="theme()" style="white-space: nowrap">{{config.title}}</p>
28
38
 
29
39
  <form v-show="!login">
30
40
  <!-- <input type="text" placeholder="用户名" v-model="model.ename" class="usericon">-->
@@ -81,12 +91,6 @@
81
91
  <p class="form-control-static">{{$login.f.name}}</p>
82
92
  </div>
83
93
  </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>
90
94
  <div class="col-sm-12 form-group">
91
95
  <label class="col-sm-5 control-label">所在销售点</label>
92
96
  <div class="col-sm-7">
@@ -112,6 +116,9 @@
112
116
  import co from 'co'
113
117
  import $ from 'jquery'
114
118
  import Vue from 'vue'
119
+ import {HttpResetClass} from 'vue-client'
120
+
121
+
115
122
 
116
123
  let saveGen = function *(self) {
117
124
  try {
@@ -199,12 +206,21 @@
199
206
  }
200
207
  export default {
201
208
  title: '登录',
202
- ready () {
203
- if (this.$login && this.$login.getUrlCompileParames('name') && this.$login.getUrlCompileParames('password')) {
204
- this.model.ename = this.$login.getUrlCompileParames('name')
205
- this.model.password = this.$login.getUrlCompileParames('password')
206
- this.confirm()
207
- }
209
+ async ready () {
210
+ try{
211
+ let http = new HttpResetClass()
212
+ let res = await http.load('POST', 'rs/sql/singleTable',
213
+ {data:{
214
+ tablename: 't_changedeclare',
215
+ condition: ` f_type ='变更通知' `
216
+ }
217
+ }, {resolveMsg: null, rejectMsg: null})
218
+ if(res.data.length>0){
219
+ console.log("---------------获取通知",res.data[0].f_change_message)
220
+ this.notice=res.data[0].f_change_message
221
+ }
222
+ }catch(e){}
223
+ this.loginother();
208
224
  $('#login-button').click(function (event) {
209
225
  event.preventDefault()
210
226
  $('form').fadeOut(500)
@@ -225,7 +241,9 @@
225
241
  config: {
226
242
  isMac: false,
227
243
  depPrompt: false,
228
- weakPassword: true
244
+ weakPassword: false,
245
+ title: '燃气客服系统',
246
+ distanceLogin: false
229
247
  },
230
248
  login: false,
231
249
  depPromptShow: false,
@@ -236,10 +254,29 @@
236
254
  picLyanzhengma: '',
237
255
  // 修改密码弹框展示
238
256
  modifyPwShow: false,
239
- logoandroid:true
257
+ logoandroid:false,
258
+ showus:false,
259
+ notice:'',
260
+ loginotherflag :true
240
261
  }
241
262
  },
242
263
  methods: {
264
+ async loginother(){
265
+ if (this.config.distanceLogin) {
266
+ if (this.$login && this.$login.getUrlParames('name') ) {
267
+ let ename = this.$login.getUrlParames('name');
268
+ let logininfo = await this.$resetpost('rs/logic/getLoginData',{data:{ename:ename}},{resolveMsg: null, rejectMsg: null});
269
+ if(logininfo.data){
270
+ if(logininfo.data.ename && logininfo.data.password){
271
+ this.model.ename = logininfo.data.ename
272
+ this.model.password =logininfo.data.password
273
+ let gen = saveGen(this)
274
+ return co(gen)
275
+ }
276
+ }
277
+ }
278
+ }
279
+ },
243
280
  theme(){
244
281
  // var elementList = document.querySelectorAll('body');
245
282
  // console.log(elementList)
@@ -331,20 +368,21 @@
331
368
  box-sizing: border-box;
332
369
  margin: 0;
333
370
  padding: 0;
334
- font-weight: 300;
371
+ font-weight: 400;
372
+ outline: none;
335
373
  }
336
374
 
337
375
  body {
338
376
  font-family: 'Source Sans Pro', sans-serif;
339
377
  color: white;
340
- font-weight: 300;
378
+ font-weight: 400;
341
379
  }
342
380
 
343
381
  body ::-webkit-input-placeholder {
344
382
  /* WebKit browsers */
345
383
  font-family: 'Source Sans Pro', sans-serif;
346
384
  color: white;
347
- font-weight: 300;
385
+ font-weight: 400;
348
386
  }
349
387
 
350
388
  body :-moz-placeholder {
@@ -352,7 +390,7 @@
352
390
  font-family: 'Source Sans Pro', sans-serif;
353
391
  color: white;
354
392
  opacity: 1;
355
- font-weight: 300;
393
+ font-weight: 400;
356
394
  }
357
395
 
358
396
  body ::-moz-placeholder {
@@ -360,14 +398,14 @@
360
398
  font-family: 'Source Sans Pro', sans-serif;
361
399
  color: white;
362
400
  opacity: 1;
363
- font-weight: 300;
401
+ font-weight: 400;
364
402
  }
365
403
 
366
404
  body :-ms-input-placeholder {
367
405
  /* Internet Explorer 10+ */
368
406
  font-family: 'Source Sans Pro', sans-serif;
369
407
  color: white;
370
- font-weight: 300;
408
+ font-weight: 400;
371
409
  }
372
410
 
373
411
  .wrapper {
@@ -436,7 +474,7 @@
436
474
  color: white;
437
475
  -webkit-transition-duration: 0.25s;
438
476
  transition-duration: 0.25s;
439
- font-weight: 300;
477
+ font-weight: 400;
440
478
  }
441
479
 
442
480
  .form input:hover {
@@ -660,17 +698,10 @@
660
698
  width:150px;
661
699
  margin: 3px -15px;
662
700
  }
663
- .aodelogo {
664
- background:url(../../../static/aodelogo.png);
665
- background-size:100%;
666
- background-repeat: no-repeat;
667
- }
668
701
  .imglogo {
669
- background:url(../../../static/ewmlogo.png);
702
+ background:url(../../../static/logo.png);
670
703
  background-size:100%;
671
- background-repeat: no-repeat;
672
704
  }
673
-
674
705
  .logoew {
675
706
  width:120px;
676
707
  height:120px;
@@ -679,14 +710,6 @@
679
710
  margin-top:10px;
680
711
  }
681
712
 
682
- .logopic{
683
- width: 23%;
684
- height: 100px;
685
- float:left;
686
- margin-left:3.5%;
687
- margin-top:10px;
688
- }
689
-
690
713
  @-webkit-keyframes square {
691
714
  0% {
692
715
  -webkit-transform: translateY(0);
@@ -0,0 +1,241 @@
1
+ <template>
2
+ <div :class="style" v-show="show.pcdShow">
3
+ <label class="font_normal_body">省&nbsp;市&nbsp;区&nbsp;</label>
4
+ <v-select :value.sync="model.f_pcd"
5
+ class="select_list select"
6
+ enter-push
7
+ v-model="model.f_pcd"
8
+ style="width: 60%"
9
+ :multiple="mul"
10
+ @change="pcdChange"
11
+ :options='arrays.pcd' placeholder='选择省市区'
12
+ close-on-select v-el:cc>
13
+ </v-select>
14
+ </div>
15
+ <div :class="style" v-show="show.streetShow">
16
+ <label class="font_normal_body">街&emsp;&emsp;道</label>
17
+ <v-select :value.sync="model.f_street"
18
+ class="select_list select"
19
+ enter-push
20
+ v-model="model.f_street"
21
+ @change="streetChange"
22
+ style="width: 60%"
23
+ :multiple="mul"
24
+ :options='arrays.street' placeholder='选择街道'
25
+ close-on-select v-el:cc>
26
+ </v-select>
27
+ </div>
28
+ <div :class="style" v-show="show.areaShow">
29
+ <label class="font_normal_body">小&ensp;&ensp;&ensp;&ensp;区</label>
30
+ <v-select :value.sync="model.f_residential_area"
31
+ class="select_list select"
32
+ enter-push
33
+ v-model="model.f_residential_area"
34
+ style="width: 60%"
35
+ :multiple="mul"
36
+ @change="areaChange()"
37
+ :options='arrays.area' placeholder='选择小区'
38
+ close-on-select v-el:cc>
39
+ </v-select>
40
+ </div>
41
+ <div :class="style" v-show="show.buildingShow">
42
+ <label class="font_normal_body">楼&emsp;&emsp;栋</label>
43
+ <v-select :value.sync="model.f_building"
44
+ class="select_list select"
45
+ enter-push
46
+ v-model="model.f_building"
47
+ style="width: 60%"
48
+ :multiple="mul"
49
+ :options='arrays.building' placeholder='选择楼栋'
50
+ close-on-select v-el:cc>
51
+ </v-select>
52
+ </div>
53
+ </template>
54
+ <script>
55
+ import plugin from '../../plugins/GetLoginInfoService'
56
+ import { HttpResetClass } from 'vue-client'
57
+ let readyGen = async function (self) {
58
+ self.showComponent.find((item)=>{
59
+ switch(item){
60
+ case 'pcd': self.show.pcdShow=true; break;
61
+ case 'street': self.show.streetShow=true; break;
62
+ case 'area': self.show.areaShow=true; break;
63
+ case 'building': self.show.buildingShow=true; break;
64
+ }
65
+ })
66
+ self.arrays.pcd=[{label:'全部',value:''}]
67
+ if(self.show.pcdShow){
68
+ let HttpReset = new HttpResetClass()
69
+ var pcd = await HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
70
+ data: {
71
+ items: 'f_pcd',
72
+ tablename: 't_pcd',
73
+ condition: `f_pcd is not null group by f_pcd`,
74
+ orderitem: 'f_pcd'
75
+ }
76
+ }, {resolveMsg: null, rejectMsg: '获取省市区出错!'})
77
+ for(var i=0;i<pcd.data.length;i++){
78
+ self.arrays.pcd.push({label:pcd.data[i].f_pcd,value:pcd.data[i].f_pcd})
79
+ }
80
+ }else if(self.show.streetShow){
81
+ console.log("------------查街道")
82
+ let HttpReset = new HttpResetClass()
83
+ var street = await HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
84
+ data: {
85
+ items: 'f_street',
86
+ tablename: 't_street',
87
+ condition: `f_filialeid = '${self.$login.f.orgid}' and f_street is not null group by f_street`,
88
+ orderitem: 'f_street'
89
+ }
90
+ }, {resolveMsg: null, rejectMsg: '获取街道出错!'})
91
+ for(var i=0;i<street.data.length;i++){
92
+ self.arrays.street.push({label:street.data[i].f_street,value:street.data[i].f_street})
93
+ }
94
+ }else if(self.show.areaShow){
95
+ let HttpReset = new HttpResetClass()
96
+ var area = await HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
97
+ data: {
98
+ items: 'f_residential_area',
99
+ tablename: 't_area',
100
+ condition: `f_filialeid = '${self.$login.f.orgid}' and f_residential_area is not null group by f_residential_area`,
101
+ orderitem: 'f_residential_area'
102
+ }
103
+ }, {resolveMsg: null, rejectMsg: '获取小区出错!'})
104
+ for(var i=0;i<area.data.length;i++){
105
+ self.arrays.area.push({label:area.data[i].f_residential_area,value:area.data[i].f_residential_area})
106
+ }
107
+ }
108
+
109
+
110
+ }
111
+ export default {
112
+ title: '省市区级联选择',
113
+ props: {
114
+ style: {
115
+ type: String,
116
+ default: 'col-sm-2 form-group'
117
+ },
118
+ mul: {
119
+ type: Boolean,
120
+ default: false
121
+ },
122
+ showComponent:{
123
+ default:['pcd','street','area','building']
124
+ }
125
+
126
+ },
127
+ data () {
128
+ return {
129
+ condition:'',
130
+ show:{
131
+ pcdShow:false,
132
+ streetShow:false,
133
+ areaShow:false,
134
+ buildingShow:false
135
+ },
136
+ arrays:{
137
+ pcd:[{label: '全部', value: ''}],
138
+ street:[{label: '全部', value: ''}],
139
+ area:[{label: '全部', value: ''}],
140
+ building:[{label: '全部', value: ''}]
141
+ },
142
+ model:{
143
+ f_pcd:[],
144
+ f_street:[],
145
+ f_residential_area:[],
146
+ f_building:[]
147
+ }
148
+
149
+ }
150
+ },
151
+ ready () {
152
+ readyGen(this)
153
+ },
154
+ methods:{
155
+ async pcdChange(){
156
+ this.arrays.street=[{label:'全部',value:''}]
157
+ var condition = `f_filialeid = '${this.$login.f.orgid}' and f_street is not null group by f_street`
158
+ let street = await this.$resetpost('rs/sql/singleTable_OrderBy', {
159
+ data: {
160
+ items: 'f_street',
161
+ tablename: 't_street',
162
+ condition: condition,
163
+ orderitem: 'f_street'
164
+ }
165
+ }, {resolveMsg: null, rejectMsg: '获取街道出错'})
166
+ for(var i=0;i<street.data.length;i++){
167
+ this.arrays.street.push({label:street.data[i].f_street,value:street.data[i].f_street})
168
+ }
169
+ this.returnCondition()
170
+ },
171
+ async streetChange(){
172
+ this.arrays.area=[{label:'全部',value:''}]
173
+ var condition = `f_street = '${this.model.f_street?this.model.f_street:null}' and f_residential_area is not null group by f_residential_area`
174
+ let area = await this.$resetpost('rs/sql/singleTable_OrderBy', {
175
+ data: {
176
+ items: 'f_residential_area',
177
+ tablename: 't_area',
178
+ condition: condition,
179
+ orderitem: 'f_residential_area'
180
+ }
181
+ }, {resolveMsg: null, rejectMsg: '获取小区出错'})
182
+ for(var i=0;i<area.data.length;i++){
183
+ this.arrays.area.push({label:area.data[i].f_residential_area,value:area.data[i].f_residential_area})
184
+ }
185
+ this.returnCondition()
186
+ },
187
+ async areaChange(){
188
+ this.building = [{label:'全部',value:''}]
189
+ var condition=''
190
+ if(this.show.areaShow){
191
+ condition = `f_residential_area = '${this.model.f_residential_area?this.model.f_residential_area:null}' and f_building is not null group by f_building`
192
+ }else{
193
+ condition = `f_filialeid = '${this.$login.f.orgid}' and f_building is not null group by f_building`
194
+ }
195
+ let build = await this.$resetpost('rs/sql/singleTable_OrderBy', {
196
+ data: {
197
+ items: 'f_building',
198
+ tablename: 't_user_address',
199
+ condition: condition,
200
+ orderitem: 'f_building'
201
+ }
202
+ }, {resolveMsg: null, rejectMsg: '获取楼栋出错'})
203
+ for(var i=0;i<build.data.length;i++){
204
+ this.arrays.building.push({label:build.data[i].f_building,value:build.data[i].f_building})
205
+ }
206
+ this.returnCondition()
207
+ },
208
+
209
+ returnCondition(){
210
+ this.condition=''
211
+ if(this.model.f_pcd){
212
+ if(this.model.f_pcd.length>0){
213
+ this.condition+=` and f_pcd = '${this.model.f_pcd[0]}'`
214
+ }
215
+ }
216
+ if(this.model.f_street) {
217
+ if (this.model.f_street.length > 0) {
218
+ this.condition += ` and f_street = '${this.model.f_street[0]}'`
219
+ }
220
+ }
221
+ if(this.model.f_area) {
222
+ if (this.model.f_area.length > 0) {
223
+ this.condition += ` and f_area = '${this.model.f_area[0]}'`
224
+ }
225
+ }
226
+ if(this.model.f_building) {
227
+ if (this.model.f_building.length > 0) {
228
+ this.condition += ` and f_building = '${this.model.f_building[0]}'`
229
+ }
230
+ }
231
+ // this.$parent.setCon(this.condition)
232
+ this.$dispatch('setcon',this.condition)
233
+ }
234
+ },
235
+ watch: {
236
+ // 'condition'(val){
237
+ //
238
+ // }
239
+ }
240
+ }
241
+ </script>
@@ -3,6 +3,7 @@
3
3
  :value.sync="selectres"
4
4
  :multiple="isMul"
5
5
  search="true"
6
+ :disabled="mustselect"
6
7
  :close-on-select="!isMul"
7
8
  @change="resChange"
8
9
  >
@@ -33,6 +34,10 @@
33
34
  type: Array,
34
35
  default() { return [] },
35
36
  },
37
+ mustselect: {
38
+ type: Boolean,
39
+ default: false
40
+ },
36
41
  },
37
42
  data () {
38
43
  return {