system-clients 3.1.87-aode → 3.1.87-xianyang

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 (132) hide show
  1. package/build/webpack.base.conf.js +1 -4
  2. package/package.json +2 -2
  3. package/src/components/Main.vue +6 -8
  4. package/src/components/equipment/EquipmentManage.vue +68 -65
  5. package/src/components/equipment/PcAdd.vue +5 -5
  6. package/src/components/equipment/PcList.vue +5 -5
  7. package/src/components/equipment/PhoneAdd.vue +4 -4
  8. package/src/components/equipment/PhoneList.vue +4 -4
  9. package/src/components/equipment/PosAdd.vue +205 -43
  10. package/src/components/equipment/PosList.vue +153 -63
  11. package/src/components/equipment/PosManage.vue +92 -9
  12. package/src/components/equipment/QCAdd.vue +318 -0
  13. package/src/components/equipment/QCList.vue +230 -0
  14. package/src/components/equipment/QCManage.vue +150 -0
  15. package/src/components/server/Login.vue +49 -100
  16. package/src/components/server/ModifyPw.vue +4 -5
  17. package/src/components/server/ResSelect.vue +5 -1
  18. package/src/components/server/ResSelectGroup.vue +1 -1
  19. package/src/components/server/RightTree.vue +314 -344
  20. package/src/plugins/EncryptUtil.js +53 -0
  21. package/src/plugins/GetLoginInfoService.js +3 -0
  22. package/src/plugins/validation.js +1 -1
  23. package/src/system.js +89 -83
  24. package/.gradle/3.5/file-changes/last-build.bin +0 -0
  25. package/.gradle/3.5/taskHistory/taskHistory.lock +0 -0
  26. package/.gradle/5.5/fileChanges/last-build.bin +0 -0
  27. package/.gradle/5.5/fileHashes/fileHashes.lock +0 -0
  28. package/.gradle/5.5/gc.properties +0 -0
  29. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  30. package/.gradle/buildOutputCleanup/built.bin +0 -0
  31. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  32. package/.gradle/buildOutputCleanup/cache.properties.lock +0 -1
  33. package/src/styles/fonts/PINGFANG LIGHT.TTF +0 -0
  34. package/src/styles/fonts/PingFangSC-Regular.ttf +0 -0
  35. package/src/styles/fonts/glyphicons-halflings-regular.eot +0 -0
  36. package/src/styles/fonts/glyphicons-halflings-regular.svg +0 -288
  37. package/src/styles/fonts/glyphicons-halflings-regular.ttf +0 -0
  38. package/src/styles/fonts/glyphicons-halflings-regular.woff +0 -0
  39. package/src/styles/fonts/glyphicons-halflings-regular.woff2 +0 -0
  40. package/src/styles/fonts/pingfang-bold.ttf +0 -0
  41. package/src/styles/fonts/pingfang-medium.ttf +0 -0
  42. package/src/styles/fonts/pingfang-regular.ttf +0 -0
  43. package/src/styles/fonts/trendstrends.ttf +0 -0
  44. package/src/styles/fonts//346/261/211/344/273/252/350/217/261/345/277/203/344/275/223/347/256/200.ttf +0 -0
  45. package/src/styles/less/.csscomb.json +0 -304
  46. package/src/styles/less/.csslintrc +0 -19
  47. package/src/styles/less/alerts.less +0 -73
  48. package/src/styles/less/aofeng/animate.min.css +0 -11
  49. package/src/styles/less/aofeng/expandcss.less +0 -569
  50. package/src/styles/less/aofeng/standard.less +0 -2121
  51. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +0 -686
  52. package/src/styles/less/aofeng/themeOne/loginStyle.less +0 -1586
  53. package/src/styles/less/aofeng/themeOne/systemStyle.less +0 -2650
  54. package/src/styles/less/aofeng/themeOne.less +0 -17
  55. package/src/styles/less/aofeng/themeTwo/newStyle1.less +0 -415
  56. package/src/styles/less/aofeng/themeTwo.less +0 -3
  57. package/src/styles/less/badges.less +0 -66
  58. package/src/styles/less/bootstrap.less +0 -66
  59. package/src/styles/less/breadcrumbs.less +0 -26
  60. package/src/styles/less/button-groups.less +0 -247
  61. package/src/styles/less/buttons.less +0 -172
  62. package/src/styles/less/carousel.less +0 -269
  63. package/src/styles/less/close.less +0 -34
  64. package/src/styles/less/code.less +0 -69
  65. package/src/styles/less/component-animations.less +0 -33
  66. package/src/styles/less/dropdowns.less +0 -216
  67. package/src/styles/less/fonts-list.less +0 -25
  68. package/src/styles/less/forms.less +0 -626
  69. package/src/styles/less/glyphicons.less +0 -305
  70. package/src/styles/less/grid.less +0 -84
  71. package/src/styles/less/input-groups.less +0 -167
  72. package/src/styles/less/jumbotron.less +0 -52
  73. package/src/styles/less/labels.less +0 -64
  74. package/src/styles/less/list-group.less +0 -141
  75. package/src/styles/less/manageStyle/manageChile.less +0 -180
  76. package/src/styles/less/manageStyle/manageStyle.less +0 -1102
  77. package/src/styles/less/manageStyle/safeStyle.less +0 -498
  78. package/src/styles/less/media.less +0 -66
  79. package/src/styles/less/mixins/alerts.less +0 -14
  80. package/src/styles/less/mixins/background-variant.less +0 -9
  81. package/src/styles/less/mixins/border-radius.less +0 -18
  82. package/src/styles/less/mixins/buttons.less +0 -69
  83. package/src/styles/less/mixins/center-block.less +0 -7
  84. package/src/styles/less/mixins/clearfix.less +0 -22
  85. package/src/styles/less/mixins/forms.less +0 -90
  86. package/src/styles/less/mixins/gradients.less +0 -59
  87. package/src/styles/less/mixins/grid-framework.less +0 -92
  88. package/src/styles/less/mixins/grid.less +0 -122
  89. package/src/styles/less/mixins/hide-text.less +0 -21
  90. package/src/styles/less/mixins/image.less +0 -33
  91. package/src/styles/less/mixins/labels.less +0 -12
  92. package/src/styles/less/mixins/list-group.less +0 -30
  93. package/src/styles/less/mixins/nav-divider.less +0 -10
  94. package/src/styles/less/mixins/nav-vertical-align.less +0 -9
  95. package/src/styles/less/mixins/opacity.less +0 -8
  96. package/src/styles/less/mixins/pagination.less +0 -24
  97. package/src/styles/less/mixins/panels.less +0 -24
  98. package/src/styles/less/mixins/progress-bar.less +0 -10
  99. package/src/styles/less/mixins/reset-filter.less +0 -8
  100. package/src/styles/less/mixins/reset-text.less +0 -18
  101. package/src/styles/less/mixins/resize.less +0 -6
  102. package/src/styles/less/mixins/responsive-visibility.less +0 -15
  103. package/src/styles/less/mixins/size.less +0 -10
  104. package/src/styles/less/mixins/tab-focus.less +0 -9
  105. package/src/styles/less/mixins/table-row.less +0 -44
  106. package/src/styles/less/mixins/text-emphasis.less +0 -9
  107. package/src/styles/less/mixins/text-overflow.less +0 -8
  108. package/src/styles/less/mixins/vendor-prefixes.less +0 -227
  109. package/src/styles/less/mixins.less +0 -40
  110. package/src/styles/less/modals.less +0 -151
  111. package/src/styles/less/navbar.less +0 -660
  112. package/src/styles/less/navs.less +0 -285
  113. package/src/styles/less/normalize.less +0 -424
  114. package/src/styles/less/pager.less +0 -76
  115. package/src/styles/less/pagination.less +0 -89
  116. package/src/styles/less/panels.less +0 -275
  117. package/src/styles/less/popovers.less +0 -131
  118. package/src/styles/less/print.less +0 -101
  119. package/src/styles/less/progress-bars.less +0 -87
  120. package/src/styles/less/responsive-embed.less +0 -35
  121. package/src/styles/less/responsive-utilities.less +0 -194
  122. package/src/styles/less/scaffolding.less +0 -161
  123. package/src/styles/less/stand.less +0 -207
  124. package/src/styles/less/tables.less +0 -262
  125. package/src/styles/less/theme.less +0 -291
  126. package/src/styles/less/thumbnails.less +0 -36
  127. package/src/styles/less/tooltip.less +0 -102
  128. package/src/styles/less/type.less +0 -303
  129. package/src/styles/less/utilities.less +0 -55
  130. package/src/styles/less/variables.less +0 -896
  131. package/src/styles/less/wells.less +0 -29
  132. package/static/logo.png +0 -0
@@ -0,0 +1,230 @@
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+
5
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="col-sm-3 form-group">
9
+ <label class="font_normal_body">公&nbsp;&nbsp;&nbsp;司</label>
10
+ <res-select restype='organization'
11
+ is-mul="false"
12
+ @res-select="$parent.$parent.getorg"
13
+ :initresid="$parent.$parent.curorgid">
14
+ </res-select>
15
+ </div>
16
+ <div class="col-sm-3 form-group">
17
+ <label class="font_normal_body">设备编号</label>
18
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_number"
19
+ condition="f_terminal_number like '%{}%'" placeholder="设备编号">
20
+ </div>
21
+ <div class="span" style="float:right;">
22
+ <button type="button" class="button_search" @click="search()" v-el:cx>查询</button>
23
+ <button type="button" class="button_search" @click="$parent.$parent.add() " v-el:cx >新增</button>
24
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
25
+ @click="$parent.$parent.hidden()"></div>
26
+ </div>
27
+ </div>
28
+ <div class="row" v-show="$parent.$parent.criteriaShow">
29
+ <div class="col-sm-3 form-group">
30
+ <label class="font_normal_body">所在地</label>
31
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_address"
32
+ condition="f_address like '%{}%'" placeholder="所在地">
33
+ </div>
34
+ <div class="col-sm-3 form-group">
35
+ <label class="font_normal_body">设备名称</label>
36
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_name"
37
+ condition="f_terminal_name like '%{}%'" placeholder="设备名称">
38
+ </div>
39
+ <div class="col-sm-3 form-group">
40
+ <label class="font_normal_body">机器编号</label>
41
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_machine_number"
42
+ condition="f_machine_number like '%{}%'" placeholder="机器编号">
43
+ </div>
44
+ <div class="col-sm-3 form-group">
45
+ <label class="font_normal_body">联系电话</label>
46
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_phone"
47
+ condition="f_phone like '%{}%'" placeholder="联系电话">
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </criteria>
52
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
53
+ <template partial='head'>
54
+ <tr>
55
+ <th><input type="checkbox" name="ischeckbox_all_id" v-model="$parent.$parent.$parent.isSelAll" :value.sync="$parent.$parent.$parent.isSelAll" /></th>
56
+ <th style="text-align:center;white-space:nowrap;">序号</th>
57
+ <th style="text-align:center;white-space:nowrap;">设备编号</th>
58
+ <th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">设备类型</th>
59
+ <th style="text-align:center;white-space:nowrap;">设备名称</th>
60
+ <th style="text-align:center;white-space:nowrap;">所属公司</th>
61
+ <th style="text-align:center;white-space:nowrap;">状态</th>
62
+ <th style="text-align:center;white-space:nowrap;">机器编号</th>
63
+ <th style="text-align:center;white-space:nowrap;">联系电话</th>
64
+ <th style="text-align:center;white-space:nowrap;">所在地</th>
65
+ <!-- <th style="text-align:center;white-space:nowrap;">电池电量</th>-->
66
+ <!-- <th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">是否登录</th>-->
67
+ <!-- <th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">更新时间</th>-->
68
+ <th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">操作时间</th>
69
+ <!-- <th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">软件版本</th>-->
70
+ <th style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">操作人</th>
71
+ <th style="text-align:center;white-space:nowrap;">失联状态</th>
72
+ <th style="text-align:center;white-space:nowrap;">操作</th>
73
+ </tr>
74
+ </template>
75
+ <template partial='body':model="model">
76
+ <tr>
77
+ <td><input type="checkbox" name="checkbox_id" v-model="$parent.$parent.$parent.selPos" :value.sync="row"></td>
78
+ <td style="text-align:center;white-space:nowrap;">{{$index+1}}</td>
79
+ <td style="text-align:center;white-space:nowrap;"><span title="点击查看历史" @click="$parent.$parent.$parent.abcd(row)"><a>{{row.f_terminal_number}}</a></span></td>
80
+ <td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_equipment_type}}</td>
81
+ <td style="text-align:center;white-space:nowrap;">{{row.f_terminal_name}}</td>
82
+ <td style="text-align:center;white-space:nowrap;">{{row.f_user_orgname}}</td>
83
+ <td style="text-align:center;white-space:nowrap;">{{row.f_state}}</td>
84
+ <td style="text-align:center;white-space:nowrap;">{{row.f_machine_number}}</td>
85
+ <td style="text-align:center;white-space:nowrap;">{{row.f_phone}}</td>
86
+ <td style="text-align:center;white-space:nowrap;">{{row.f_address}}</td>
87
+ <!-- <td style="text-align:center;white-space:nowrap;">{{row.f_battery_level}}</td>-->
88
+ <!-- <td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_is_login}}</td>-->
89
+ <!-- <td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_hybrid_version}}</td>-->
90
+ <td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_operate_date}}</td>
91
+ <!-- <td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_appVer}}</td>-->
92
+ <td style="text-align:center;white-space:nowrap;" v-show="!$parent.$parent.$parent.isshowless">{{row.f_operator}}</td>
93
+ <td style="text-align:center;white-space:nowrap;" >{{row.f_online}}</td>
94
+ <td style="text-align:center;white-space:nowrap;" ><button class="btn btn-danger" @click="$parent.$parent.$parent.delQc(row)">删除</button></td>
95
+ </tr>
96
+ </template>
97
+ </data-grid>
98
+ </criteria-paged>
99
+ </div>
100
+ <modal v-show="infoshow" :show.sync="infoshow" v-ref:modal backdrop="false" width="800px" title="终端历史信息">
101
+ <article slot="modal-body" class="modal-body">
102
+ <criteria-paged :model="model2" v-ref:paged2>
103
+ <data-grid :model="model2" v-ref:grid2 partial='list'>
104
+ <template partial='head'>
105
+ <tr>
106
+ <th><nobr>序号</nobr></th>
107
+ <th><nobr>终端号</nobr></th>
108
+ <th><nobr>上次上报时间</nobr></th>
109
+ <th><nobr>本次上报时间</nobr></th>
110
+ <th><nobr><b>状态</b></nobr></th>
111
+ </tr>
112
+ </template>
113
+ <template partial='body'>
114
+ <td style="text-align: center;">{{$index + 1}}</td>
115
+ <td style="text-align: center;">{{row.f_terminal_number}}</td>
116
+ <td style="text-align: center;">{{row.f_update_date}}</td>
117
+ <td style="text-align: center;">{{row.f_update_date }}</td>
118
+ <td style="text-align: center;"><b>{{row.f_pos_state}}</b></td>
119
+ </template>
120
+ </data-grid>
121
+ </criteria-paged>
122
+ </article>
123
+ <footer slot="modal-footer" class="modal-footer">
124
+ <button type="button" class="btn btn-success" @click='infoclose'>关闭</button>
125
+ </footer>
126
+ </modal>
127
+ </template>
128
+
129
+ <script>
130
+
131
+ import {PagedList} from 'vue-client'
132
+
133
+ export default {
134
+ title: '终端控制',
135
+ components: {},
136
+ data () {
137
+ return {
138
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
139
+ model: new PagedList('rs/sql/equipmentQuery', 20),
140
+ model2: new PagedList('rs/sql/singleTable', 30, {tablename: '`t_poshistory`'}),
141
+ curorgid: [this.f_filialeid],
142
+ f_orgid: '',
143
+ f_filialeids: '',
144
+ criteriaShow: false,
145
+ infoadd: false,
146
+ selPos: [],
147
+ isSelAll: false, // 默认不全选
148
+ infoshow: false
149
+ }
150
+ },
151
+ props: ['f_filialeid','isshowless'],
152
+ ready () {
153
+ this.search()
154
+ },
155
+ watch:{
156
+ 'isSelAll'(val){
157
+ if (val) {
158
+ // 对当前页面全选
159
+ this.selPos = []
160
+ for (const sel of this.model.rows) {
161
+ this.selPos.push(sel)
162
+ }
163
+ } else {
164
+ this.selPos = []
165
+ }
166
+ }
167
+ },
168
+ methods: {
169
+ delQc(row){
170
+ this.$showMessage('删除之后不可回复,确定要删除该圈存机吗?', ['confirm', 'cancel']).then(async (res) => {
171
+ if (res == 'confirm') {
172
+ console.log('要删除了', row)
173
+ row.f_state = '已删除'
174
+ this.$resetpost('rs/entity/t_equipment', row, {warnMsg: '确定要删除这条信息吗?', resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
175
+ this.$dispatch('refresh')
176
+ }).catch((error) => {
177
+ this.$dispatch('refresh')
178
+ })
179
+ }
180
+ })
181
+ },
182
+ getRes(val){
183
+ if (val.orgobj.length === 1 && val.orgobj[0].resourcetype === 'user'){
184
+ this.$refs.paged.$refs.cri.model.f_user_operatorid=val.orgobj[0].userid
185
+ this.$refs.paged.$refs.cri.model.f_user_operator=val.orgobj[0].name
186
+ } else {
187
+ this.$refs.paged.$refs.cri.model.f_user_operatorid=''
188
+ this.$refs.paged.$refs.cri.model.f_user_operator=''
189
+ }
190
+ },
191
+ infoclose(){
192
+ this.infoshow=false
193
+ },
194
+ abcd (row) {
195
+ console.log("chakan",row)
196
+ let condition = `f_terminal_number = '${row.f_terminal_number}' order by id desc`
197
+ // this.model2.search(condition)
198
+ this.infoshow = true
199
+ },
200
+ search () {
201
+ console.log("111111111111111111111111111111111111")
202
+ this.$refs.paged.$refs.cri.search()
203
+ },
204
+
205
+ selfSearch (args) {
206
+ // args.condition = `${args.condition} and f_equipment_type = '圈存机' and f_orgid = '${this.f_filialeid ? this.f_orgid: this.$login.f.orgid}'`
207
+ args.condition = `${args.condition} and f_equipment_type = '圈存机' and f_state !='已删除' and f_orgid = '${this.f_filialeid ? this.f_orgid: this.$login.f.orgid}'`
208
+ this.model.search(args.condition, this.model)
209
+ this.$dispatch('research')
210
+ },
211
+
212
+ add () {
213
+ this.infoadd=false
214
+ this.$dispatch('add', this.f_filialeid)
215
+ },
216
+
217
+ getorg (val) {
218
+ this.f_orgid = val[0]
219
+ this.f_filialeid = val[0]
220
+ // this.search()
221
+ },
222
+ hidden(){
223
+ this.criteriaShow = !this.criteriaShow
224
+ }
225
+ },
226
+ computed: {
227
+
228
+ }
229
+ }
230
+ </script>
@@ -0,0 +1,150 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div :class="{'basic-main':!isChange,'binary-left':isChange}">
4
+ <qc-list :row="row" @dblclick="selected" style="width:auto;" :f_filialeid.sync="f_filialeids" :isshowless="isChange" v-ref:list ></qc-list>
5
+ </div>
6
+ <div class="binary-right" style="margin-left: 10px; width: 40%;" v-if="isChange">
7
+ <qc-add :data="row" :info="infoadd" :f_filialeids.sync="f_filialeids" v-ref:addbox></qc-add>
8
+ </div>
9
+
10
+ <modal v-if="batchPos" :show.sync="batchPos" backdrop="false" >
11
+ <header slot="modal-header" class="modal-header">
12
+ <button type="button" class="close" @click="close"><span>&times;</span></button>
13
+ <h4 class="modal-title">批量操作</h4>
14
+ </header>
15
+ <article slot="modal-body" class="modal-body">
16
+ <form class="form-horizontal">
17
+ <div class="row">
18
+ <div>
19
+ <h4>注意事项</h4>
20
+ <p>1.如果需要对POS设备进行升级,批量选择的POS设备包含非正常状态,则只会对状态为正常的设备进行升级。</p>
21
+ <p>2.如果POS设备处于停用状态,则可以进行启用操作。如果设备处于启用状态,则可以进行停用和升级操作。</p>
22
+ <p>3.批量操作可能耗时较长,请刷新列表查看结果。</p>
23
+ </div>
24
+ </div>
25
+ </form>
26
+ </article>
27
+ <footer slot="modal-footer" class="modal-footer">
28
+ <button type="button" class="button_search button_spacing" @click="batchRoot('2')">批量升级</button>
29
+ <button type="button" class="button_search button_spacing" @click="batchRoot('1')">批量启用</button>
30
+ <button type="button" class="button_search button_spacing" @click="batchRoot('0')">批量停用</button>
31
+ <button type="button" class="button_clear button_spacing" @click='close'>退出</button>
32
+ </footer>
33
+ </modal>
34
+ </div>
35
+ </template>
36
+ <script>
37
+
38
+ import QcList from './QCList'
39
+ import QcAdd from './QCAdd'
40
+
41
+ export default {
42
+ title: 'POS终端管理',
43
+ components: {
44
+ QcList, QcAdd
45
+ },
46
+ data () {
47
+ return {
48
+ isChange: false,
49
+ row: null,
50
+ infoadd: true, // 判断是否显示 升级 等按钮(true/false)
51
+ batchPos: false,
52
+ f_filialeids: ''
53
+ }
54
+ },
55
+ methods: {
56
+ // 批量操作
57
+ async batchRoot(val){
58
+ let arrs = []
59
+ let alertMessage=''
60
+ let selPos = this.$refs.list.selPos
61
+ if (val==='0'){
62
+ alertMessage='停用'
63
+ for (const tmp of selPos) {
64
+ if (tmp.f_state==='正常') arrs.push(tmp)
65
+ }
66
+ } else if (val==='1'){
67
+ alertMessage='启用'
68
+ for (const tmp of selPos) {
69
+ if (tmp.f_state==='停用') arrs.push(tmp)
70
+ }
71
+ } else if(val==='2'){
72
+ alertMessage='升级'
73
+ for (const tmp of selPos) {
74
+ if (tmp.f_state==='正常') arrs.push(tmp)
75
+ }
76
+ } else {
77
+ this.showAlert('出现异常,请重新进操作')
78
+ return
79
+ }
80
+
81
+ await this.$resetpost('rs/logic/batchPos',{data: {tasks: arrs, taskState: val}}, {rejectMsg: null, resolveMsg: null})
82
+
83
+ // 需要提示
84
+ this.$showAlert(`已经开始批量${alertMessage},选择${selPos.length},其中${arrs.length}台可以正常${alertMessage},具体请留意设备情况,并刷新列表查看执行结果!`)
85
+ this.isChange = false
86
+ this.close()
87
+ },
88
+ close(){
89
+ this.batchPos = false
90
+ },
91
+ selected (obj, idx) {
92
+ console.log(obj)
93
+ if (!(obj instanceof MouseEvent)) {
94
+ if (this.$refs.list.selPos.length > 0){
95
+ this.$showMessage(`系统检测到您进行了多选,是否进行批量操作?`, ['confirm', 'cancel']).then((res) => {
96
+ if (res==='confirm'){
97
+ this.batchPos = true
98
+ } else {
99
+ this.isChange = true
100
+ this.infoadd = true
101
+ this.row = obj
102
+ }
103
+ })
104
+
105
+ }else {
106
+ this.isChange = true
107
+ this.infoadd = true
108
+ this.row = obj
109
+ }
110
+ } else {
111
+ this.$showAlert('如需新增,请点击增加按钮!', 'info', 1000)
112
+ }
113
+ }
114
+ },
115
+ events: {
116
+ 'search' () {
117
+ this.infoadd=true
118
+ this.isChange = false
119
+ this.row = null
120
+ this.$refs.list.$refs.paged.$refs.cri.search()
121
+ },
122
+ 'research' () {
123
+ console.log('重新查询')
124
+ this.isChange = false
125
+ this.row = null
126
+ },
127
+ 'refresh' () {
128
+ this.isChange = false
129
+ this.row = null
130
+ this.$refs.list.search()
131
+ },
132
+ 'error' (name, row, res) {
133
+ this.isChange = false
134
+ this.row = null
135
+ },
136
+ 'close' () {
137
+ this.isChange = false
138
+ this.row = null
139
+ // this.$refs.list.search()
140
+ },
141
+ 'add' (val) {
142
+ this.f_filialeids = val
143
+ this.infoadd=false
144
+ this.row = null
145
+ this.isChange = true
146
+ this.$refs.list.$refs.paged.$refs.grid.selectStore.selected = null
147
+ }
148
+ }
149
+ }
150
+ </script>
@@ -8,11 +8,6 @@
8
8
  <span>联系我们</span>
9
9
  </div>
10
10
  </div>
11
- <div class="logoew" v-if="logoandroid" >
12
- <div v-if="logoandroid" class="imglogo"></div>
13
- <p class="logocontent">燃气客服系统Android版</p>
14
- <p class="logofooter">(仅浏览器扫描)</p>
15
- </div>
16
11
  <!--输入框-->
17
12
  <div class="loginmain">
18
13
  <!-- <img src="../../../static/login_title1.png" alt="图片加载未完成" class="img-responsive" style="margin: 0 auto; padding-top: 150px;" /> -->
@@ -21,7 +16,7 @@
21
16
  </div>
22
17
  <div class="loginmain-right">
23
18
 
24
- <p @click="theme()" style="white-space: nowrap">燃气客服系统</p>
19
+ <p @click="theme()" style="white-space: nowrap">咸阳天然气营收系统</p>
25
20
 
26
21
  <form v-show="!login">
27
22
  <!-- <input type="text" placeholder="用户名" v-model="model.ename" class="usericon">-->
@@ -34,16 +29,16 @@
34
29
  <input type="password" placeholder="密码" style="display: inline;background-color: darkgray;" v-model="model.password"
35
30
  @keyup.enter="confirm('key')"/>
36
31
  </div>
37
- <div class="login-input-1">
38
- <img src="../../../static/newStyle/login-check.png"/>
39
- <input v-if="$login.Verification" class="login-check" type="text" placeholder="请输入验证码"
40
- v-model="picLyanzhengma" @keyup.enter="confirm('key')"/>
41
- </div>
42
- <div class="login-input-2" >
43
- <input v-if="$login.Verification" class="login-check-1" style="display: inline;background-color:#eeeeee !important;"
44
- type="button" @click="createCode" v-model="checkCode"/>
45
- </div>
46
- <div class="login-bt">
32
+ <!-- <div class="login-input-1">-->
33
+ <!-- <img src="../../../static/newStyle/login-check.png"/>-->
34
+ <!-- <input v-if="$login.Verification" class="login-check" type="text" placeholder="请输入验证码"-->
35
+ <!-- v-model="picLyanzhengma" @keyup.enter="confirm('key')"/>-->
36
+ <!-- </div>-->
37
+ <!-- <div class="login-input-2" >-->
38
+ <!-- <input v-if="$login.Verification" class="login-check-1" style="display: inline;background-color:#eeeeee !important;"-->
39
+ <!-- type="button" @click="createCode" v-model="checkCode"/>-->
40
+ <!-- </div>-->
41
+ <div class="login-bt" style="transform: translate(0,-55px)">
47
42
  <button type="button" id="login-button" class="login-button" @click.prevent="confirm('click')">登录</button>
48
43
  </div>
49
44
  <!-- <input type="password" placeholder="密码" v-model="model.password" class="psicon"-->
@@ -78,12 +73,6 @@
78
73
  <p class="form-control-static">{{$login.f.name}}</p>
79
74
  </div>
80
75
  </div>
81
- <div class="col-sm-12 form-group">
82
- <label class="col-sm-5 control-label">组&nbsp;织&nbsp;编&nbsp;码</label>
83
- <div class="col-sm-7">
84
- <p class="form-control-static">{{$login.f.number}}</p>
85
- </div>
86
- </div>
87
76
  <div class="col-sm-12 form-group">
88
77
  <label class="col-sm-5 control-label">所在销售点</label>
89
78
  <div class="col-sm-7">
@@ -98,9 +87,6 @@
98
87
  <button class="button_clear" @click="depPromptCancel">取消</button>
99
88
  </footer>
100
89
  </modal>
101
-
102
- <!-- 修改密码组件 -->
103
- <modify-pw :show.sync="modifyPwShow" v-if="modifyPwShow"></modify-pw>
104
90
  </div>
105
91
 
106
92
  </template>
@@ -108,68 +94,50 @@
108
94
  <script>
109
95
  import co from 'co'
110
96
  import $ from 'jquery'
111
- import Vue from 'vue'
112
97
 
113
98
  let saveGen = function *(self) {
114
99
  try {
115
100
  yield self.$login.login(self.model.ename, self.model.password)
116
101
  yield self.$appdata.load()
117
102
 
118
- if (Vue.$heatCompatibility) {
119
- try {
120
- yield self.$loginHeat.login(self.model.ename, self.model.password)
121
- yield self.$appdataHeat.load()
122
- } catch (e) {
123
- console.log('热力系统登陆失败!')
124
- }
125
- }
126
-
127
103
  yield self.$getConfig(self, 'Login')
128
104
  console.log('登录配置', self.config)
129
- if (self.config.isMac) {
130
- // 获取该登录人分公司下的mac配置
131
- let getMacs = yield self.$resetpost('rs/sql/equipmentQuery', {data: {condition: `f_filialeids like '%${self.$login.f.f_orgids}%'`}}, {
105
+ if (self.$login.r.includes('验证站点') && self.$login.f.name!='超级管理员') {
106
+ // 获取本地mac地址
107
+ let getLocalMac = yield self.$resetpost('http://127.0.0.1:8003/loadmac', {
132
108
  resolveMsg: null,
133
109
  rejectMsg: null
134
110
  }).catch(() => {
135
- throw new Error('获取mac配置失败')
111
+ throw new Error('获取本地mac配置失败')
136
112
  })
137
- console.log('MAC地址信息', getMacs)
138
- // 获取本地mac地址
139
- let getLocalMac = yield self.$resetget('http://127.0.0.1:8003/loadmac', {
113
+ console.log('本地MAC地址信息', getLocalMac)
114
+ // 获取该登录人分公司下的mac配置
115
+ let getMacs = yield self.$resetpost('rs/sql/equipmentQuery', {data: {condition: `f_mac_number = '${getLocalMac.data}'`}}, {
140
116
  resolveMsg: null,
141
117
  rejectMsg: null
142
118
  }).catch(() => {
143
- throw new Error('获取本地mac配置失败')
119
+ throw new Error('获取mac配置失败')
144
120
  })
145
- console.log('本地MAC地址信息', getLocalMac)
121
+ console.log('MAC地址信息', getMacs)
146
122
  // 对Mac地址进行匹配
147
123
  let macValidate = false
148
- for (let i = 0; i < getLocalMac.data.mac.length; i++) {
149
- for (let j = 0; j < getMacs.data.length; j++) {
150
- if (getMacs.data[j].f_mac_number.toLocaleUpperCase() === getLocalMac.data.mac[i]) {
151
- macValidate = true
152
- }
153
- }
124
+ // for (let i = 0; i < getLocalMac.data.mac.length; i++) {
125
+ for (let j = 0; j < getMacs.data.length; j++) {
126
+ // if (getMacs.data[j].f_mac_number.toLocaleUpperCase() === getLocalMac.data.mac[i]) {
127
+ macValidate = true
128
+ self.$login.f.depids = getMacs.data[j].f_username
129
+ self.$login.f.deps = getMacs.data[j].f_mac_outlets
130
+ // }
154
131
  }
132
+ // }
155
133
  if (!macValidate) {
156
134
  throw new Error('Mac地址验证失败, 请联系管理员!!')
157
135
  }
158
136
  }
159
- // 弱口令验证
160
- if (self.config.weakPassword && !(/^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(self.model.password))) {
161
- self.$showMessage('登录系统: 此账户的密码过于简单,请修改密码后重新登陆!!!', ['confirm']).then((res) => {
162
- self.modifyPwShow = true
163
- })
164
- } else if (self.config.depPrompt) {
137
+ if (self.config.depPrompt) {
165
138
  self.depPromptShow = true
166
139
  } else {
167
140
  self.$goto('home-page', {functions: self.$login.f})
168
- if (self.$login) {
169
- console.log('登录信息', self.$login.f)
170
- global.login=self.$login.f
171
- console.log('登录信息', global.login)
172
- }
173
141
  }
174
142
 
175
143
  } catch (ret) {
@@ -197,9 +165,9 @@
197
165
  export default {
198
166
  title: '登录',
199
167
  ready () {
200
- if (this.$login && this.$login.getUrlCompileParames('name') && this.$login.getUrlCompileParames('password')) {
201
- this.model.ename = this.$login.getUrlCompileParames('name')
202
- this.model.password = this.$login.getUrlCompileParames('password')
168
+ if (this.getUrlCompileParames('name') && this.getUrlCompileParames('password')) {
169
+ this.model.ename = this.getUrlCompileParames('name')
170
+ this.model.password = this.getUrlCompileParames('password')
203
171
  this.confirm()
204
172
  }
205
173
  $('#login-button').click(function (event) {
@@ -222,7 +190,6 @@
222
190
  config: {
223
191
  isMac: false,
224
192
  depPrompt: false,
225
- weakPassword: true
226
193
  },
227
194
  login: false,
228
195
  depPromptShow: false,
@@ -230,13 +197,26 @@
230
197
  show: false,
231
198
  checkCode: '',
232
199
  login_do:true,
233
- picLyanzhengma: '',
234
- // 修改密码弹框展示
235
- modifyPwShow: false,
236
- logoandroid:false
200
+ picLyanzhengma: ''
237
201
  }
238
202
  },
239
203
  methods: {
204
+ // 从地址栏获取加密的参数
205
+ getUrlCompileParames (param) {
206
+ console.log(window.location)
207
+ let query = window.location.search
208
+ let iLen = param.length
209
+ let iStart = query.indexOf(param)
210
+ if (iStart === -1) {
211
+ return ''
212
+ }
213
+ iStart += iLen + 1
214
+ let iEnd = query.indexOf('&', iStart)
215
+ if (iEnd === -1) {
216
+ return query.substring(iStart)
217
+ }
218
+ return query.substring(iStart, iEnd)
219
+ },
240
220
  theme(){
241
221
  // var elementList = document.querySelectorAll('body');
242
222
  // console.log(elementList)
@@ -309,19 +289,11 @@
309
289
  this.login = false
310
290
  $('form').fadeIn(500)
311
291
  }
312
- },
313
- watch: {
314
- 'modifyPwShow' (val){
315
- if (!val) {
316
- window.location.reload()
317
- }
318
- }
319
292
  }
320
293
  }
321
294
  </script>
322
295
 
323
296
  <style>
324
-
325
297
  /*输入框样式*/
326
298
  /*@import url(http://fonts.useso.com/css?family=Source+Sans+Pro:200,300);*/
327
299
  * {
@@ -645,29 +617,6 @@
645
617
  -webkit-animation-delay: 11s;
646
618
  animation-delay: 11s;
647
619
  }
648
- .logofooter{
649
- font-size: 12px;
650
- color:#fff;
651
- width:150px;
652
- margin-left: 17px;
653
- }
654
- .logocontent{
655
- font-size: 14px;
656
- color:#fff;
657
- width:150px;
658
- margin: 3px -15px;
659
- }
660
- .imglogo {
661
- background:url(../../../static/logo.png);
662
- background-size:100%;
663
- }
664
- .logoew {
665
- width:120px;
666
- height:120px;
667
- float:right;
668
- margin-right:8.5%;
669
- margin-top:10px;
670
- }
671
620
 
672
621
  @-webkit-keyframes square {
673
622
  0% {
@@ -18,14 +18,13 @@
18
18
  </div>
19
19
  </div>
20
20
  <div class="has-feedback form-group"
21
- :class="{'has-warning':$v.newpassword.required,'has-error':$v.newpassword.strongpassword && !($v.newpassword.required),
22
- 'has-success': !$v.newpassword.required && !$v.newpassword.strongpassword }">
21
+ :class="{'has-warning':$v.newpassword.required,'has-error':$v.newpassword.required,
22
+ 'has-success': !$v.newpassword.required }">
23
23
  <label for="newpassword" class="col-sm-4 col-sm-offset-1 control-label">新的密码:&nbsp;&nbsp;</label>
24
24
  <div class="col-sm-4">
25
- <input type="password" v-model="deliver.newpassword" class="form-control" id="newpassword" v-validate:newpassword='{required:true, strongpassword: true}'>
26
- <span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.newpassword.required && !($v.newpassword.strongpassword && !($v.newpassword.required))"></span>
25
+ <input type="password" v-model="deliver.newpassword" class="form-control" id="newpassword" v-validate:newpassword='{required:true}'>
26
+ <span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.newpassword.required"></span>
27
27
  <span v-if="$v.newpassword.required">不能为空</span>
28
- <span v-if="$v.newpassword.strongpassword && !($v.newpassword.required)">密码必须包含英文大小写、阿拉伯数字、字符</span>
29
28
  </div>
30
29
  </div>
31
30
  <div class="has-feedback form-group"