manage-client 4.0.9 → 4.0.10

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "4.0.9",
3
+ "version": "4.0.10",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,504 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" >
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row">
9
+ <div class="col-sm-2 form-group">
10
+ <label class="font_normal_body" title="限购时间">限购时间</label>
11
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.startDate"
12
+ class="datepicker"
13
+ placeholder="限购开始时间"
14
+ style="width:60%"
15
+ condition="f_operate_date >= '{} 00:00:00'"
16
+ v-model="model.startDate">
17
+ </datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group">
20
+ <label class="font_normal_body" title="限购时间">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
21
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.endDate"
22
+ class="datepicker"
23
+ placeholder="限购结束时间"
24
+ style="width:60%"
25
+ condition="f_operate_date <= '{} 23:59:59'"
26
+ v-model="model.endDate">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-2 form-group">
30
+ <label class="font_normal_body">客户编号</label>
31
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
32
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
33
+ </div>
34
+ <div class="col-sm-2 form-group">
35
+ <label class="font_normal_body">客户名称</label>
36
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
37
+ condition="f_user_name = '{}'" placeholder="客户名称">
38
+ </div>
39
+ <div class="span" style="float:right;">
40
+ <button class="button_search button_spacing" @click="search()">查询</button>
41
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
42
+ <button class="button_clear button_spacing" @click="$parent.$parent.batchOper()">批量解除限购</button>
43
+ <export-excel :data="$parent.$parent.getCondition"
44
+ :field="$parent.$parent.getfield"
45
+ :header="$parent.$parent.other"
46
+ sqlurl="api/af-revenue/logic/openapi/exportfile"
47
+ sql-name="manage_quotaRecordQuery"
48
+ template-name='限购记录查询'
49
+ :choose-col="true"></export-excel>
50
+ <print-data :sum-field="$parent.$parent.getfield"
51
+ :model="$parent.model"
52
+ :field="$parent.$parent.getfield"
53
+ titletable="限购记录查询"
54
+ :defaultfield="$parent.$parent.defaultfield"
55
+ ></print-data>
56
+ <div
57
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
58
+ @click="$parent.$parent.hidden()"
59
+ class="button_spacing"
60
+ style="float: right"></div>
61
+ </div>
62
+ </div>
63
+ <div class="row" v-if="$parent.$parent.criteriaShow">
64
+ <res-select-group
65
+ :style="$parent.$parent.style"
66
+ :show-component="['company']"
67
+ :initres="$parent.$parent.initres"
68
+ @re-res="$parent.$parent.getRes"
69
+ v-ref:sel>
70
+ </res-select-group>
71
+ <div class="col-sm-2 form-group">
72
+ <label class="font_normal_body">客户电话</label>
73
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
74
+ condition="f_user_phone like '%{}%'" placeholder="客户电话">
75
+ </div>
76
+ <div class="col-sm-2 form-group">
77
+ <label class="font_normal_body">客户地址</label>
78
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
79
+ condition="f_address like '%{}%'" placeholder='客户地址'>
80
+ </div>
81
+ <div class="col-sm-2 form-group">
82
+ <label class="font_normal_body">限购原因</label>
83
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_operate_reason"
84
+ condition="f_operate_reason = '{}'" placeholder='限购原因'>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </criteria>
89
+ <data-grid :model="model" class="list_area table_sy" class="list_area table_sy" :optional="true" partial='list' v-ref:grid>
90
+ <template partial='head'>
91
+ <tr>
92
+ <th>
93
+ <nobr>用户编号</nobr>
94
+ </th>
95
+ <th>
96
+ <nobr>用户名称</nobr>
97
+ </th>
98
+ <th>
99
+ <nobr>用户电话</nobr>
100
+ </th>
101
+ <th>
102
+ <nobr>用户地址</nobr>
103
+ </th>
104
+ <th>
105
+ <nobr>操作人员</nobr>
106
+ </th>
107
+ <th>
108
+ <nobr>限购来源</nobr>
109
+ </th>
110
+ <th>
111
+ <nobr>限购时间</nobr>
112
+ </th>
113
+ <th>
114
+ <nobr>限购类型</nobr>
115
+ </th>
116
+ <th>
117
+ <nobr>周期类型</nobr>
118
+ </th>
119
+ <th>
120
+ <nobr>周期时长</nobr>
121
+ </th>
122
+ <th>
123
+ <nobr>限购次数</nobr>
124
+ </th>
125
+ <th>
126
+ <nobr>单次限购量</nobr>
127
+ </th>
128
+ <th>
129
+ <nobr>执行时间</nobr>
130
+ </th>
131
+ <th>
132
+ <nobr>限购原因</nobr>
133
+ </th>
134
+ <th>
135
+ <nobr>操作完整限购记录</nobr>
136
+ </th>
137
+ </tr>
138
+ </template>
139
+ <template partial='body' partial='list' v-ref:grid>
140
+ <tr>
141
+ <td style="text-align:center">{{ row.f_userinfo_code }}</td>
142
+ <td style="text-align:center">{{ row.f_user_name }}</td>
143
+ <td style="text-align:center">{{ row.f_user_phone }}</td>
144
+ <td style="text-align:center">{{ row.f_address }}</td>
145
+ <td style="text-align:center">{{ row.f_operate_people }}</td>
146
+ <td style="text-align:center">{{ row.f_limit_source }}</td>
147
+ <td style="text-align:center">{{ row.f_operate_date }}</td>
148
+ <td style="text-align:center">{{ row.f_limit_type }}</td>
149
+ <td style="text-align:center">{{ row.f_time_type }}</td>
150
+ <td style="text-align:center">{{ row.f_time_value }}</td>
151
+ <td style="text-align:center">{{ row.f_limit_times }}</td>
152
+ <td style="text-align:center">{{ row.f_limit_value }}</td>
153
+ <td style="text-align:center">{{ row.f_start_date }}</td>
154
+ <td style="text-align:center">{{ row.f_operate_reason }}</td>
155
+ <td style="text-align: center;">
156
+ <button type="button" name="button" class="button_search button_spacing width-60"
157
+ @click.stop="$parent.$parent.$parent.toDetail(row)">查看
158
+ </button>
159
+ </td>
160
+ </tr>
161
+ </template>
162
+ <template partial='foot'></template>
163
+ </data-grid>
164
+ </criteria-paged>
165
+ <modal :show.sync="allQuotaRecordModalShow" backdrop="false"
166
+ class="allQuotaRecordModalShow" width="80%">
167
+ <header slot="modal-header" class="modal-header" style="text-align: center">
168
+ <h4 class="modal-title">用户完整限购记录</h4>
169
+ </header>
170
+ <article slot="modal-body" class="modal-body">
171
+ <data-grid class="list_area table_sy" :model="modalModel" v-ref:modalgrid :optional="true" partial='list'>
172
+ <template partial='head'>
173
+ <th>
174
+ <nobr>用户编号</nobr>
175
+ </th>
176
+ <th>
177
+ <nobr>用户姓名</nobr>
178
+ </th>
179
+ <th>
180
+ <nobr>操作人员</nobr>
181
+ </th>
182
+ <th>
183
+ <nobr>限购来源</nobr>
184
+ </th>
185
+ <th>
186
+ <nobr>限购时间</nobr>
187
+ </th>
188
+ <th>
189
+ <nobr>限购类型</nobr>
190
+ </th>
191
+ <th>
192
+ <nobr>周期类型</nobr>
193
+ </th>
194
+ <th>
195
+ <nobr>周期时长</nobr>
196
+ </th>
197
+ <th>
198
+ <nobr>限购次数</nobr>
199
+ </th>
200
+ <th>
201
+ <nobr>单次限购量</nobr>
202
+ </th>
203
+ <th>
204
+ <nobr>执行时间</nobr>
205
+ </th>
206
+ <th>
207
+ <nobr>限购原因</nobr>
208
+ </th>
209
+ <th>
210
+ <nobr>操作</nobr>
211
+ </th>
212
+ </template>
213
+ <template partial='body'>
214
+ <td style="text-align:center">{{row.f_userinfo_code}}</td>
215
+ <td style="text-align:center">{{row.f_user_name }}</td>
216
+ <td style="text-align:center">{{row.f_operate_people}}</td>
217
+ <td style="text-align:center">{{row.f_limit_source}}</td>
218
+ <td style="text-align:center">{{row.f_operate_date}}</td>
219
+ <td style="text-align:center">{{row.f_limit_type}}</td>
220
+ <td style="text-align:center">{{row.f_time_type}}</td>
221
+ <td style="text-align:center">{{row.f_time_value}}</td>
222
+ <td style="text-align:center">{{row.f_limit_times}}</td>
223
+ <td style="text-align:center">{{row.f_limit_value}}</td>
224
+ <td style="text-align:center">{{row.f_start_date}}</td>
225
+ <td style="text-align:center">{{row.f_operate_reason}}</td>
226
+ <td style="text-align: center;">
227
+ <button type="button" name="button" class="button_search button_spacing width-60"
228
+ @click.stop="$parent.$parent.$parent.secureQuotaShow(row)">作废限购
229
+ </button>
230
+ </td>
231
+ </template>
232
+ </data-grid>
233
+ </article>
234
+ <footer slot="modal-footer" class="modal-footer">
235
+ <button type="button" class="btn btn-default" @click='batchSecureQuota'>批量作废限购</button>
236
+ <button type="button" class="btn btn-default" @click='allQuotaRecordModalClose'>关闭</button>
237
+ </footer>
238
+ </modal>
239
+ <modal :show.sync="secureQuotaModalShow" v-ref:secureQuotaModalShow
240
+ backdrop="false" class="secureQuotaModalShow" @modal-close="secureQuotaModalClose">
241
+ <header slot="modal-header" class="modal-header" style="text-align: center">
242
+ </header>
243
+ <article slot="modal-body" class="modal-body">
244
+ <div class="auto select-overspread form-horizontal">
245
+ <div class="row auto" :class="[ !secureData.f_cancel_reason? 'has-error' : '']">
246
+ <div class="col-sm-12 form-group form-input-group">
247
+ <label class="control-label">解除限购原因:</label>
248
+ <div class="col-sm-4">
249
+ <textarea class="form-control col-sm-4"
250
+ v-model="secureData.f_cancel_reason"
251
+ placeholder="解除限购原因">
252
+ </textarea>
253
+ </div>
254
+ </div>
255
+ </div>
256
+ </div>
257
+ </article>
258
+ <footer slot="modal-footer" class="modal-footer">
259
+ <div class="modal-footer">
260
+ <button type="button" class="btn btn-default" :disabled="!secureData.f_cancel_reason"
261
+ @click='secureQuota'>确定
262
+ </button>
263
+ <button type="button" class="btn btn-default" @click='secureQuotaModalClose'>取消</button>
264
+ </div>
265
+ </footer>
266
+ </modal>
267
+ </div>
268
+ </div>
269
+ </div>
270
+ </template>
271
+ <script>
272
+ import {HttpResetClass, PagedList} from 'vue-client'
273
+ import exportConfig from './config/exportConfig'
274
+
275
+ export default {
276
+ title: '限购记录',
277
+ data () {
278
+ return {
279
+ condition: '1=1',
280
+ model: new PagedList('api/af-revenue/sql/manage_quotaRecordQuery', 20, {
281
+ startDate:'this.model.startDate',
282
+ endDate:'this.model.endDate'
283
+ }),
284
+ orgConditionStr: '',
285
+ criteriaShow: false,
286
+ allQuotaRecordModalShow: false,
287
+ initres: {
288
+ org: [this.$login.f.orgid]
289
+ },
290
+ modalModel: new PagedList('api/af-revenue/sql/manage_singleTable', 100, {
291
+ items: '"lg.*,ui.f_userinfo_code,ui.f_user_name"',
292
+ tablename: '"t_limit_gas lg left join t_userinfo ui on lg.f_userinfo_id = ui.f_userinfo_id"',
293
+ orderitem: '"lg.f_operate_date desc"'
294
+ }),
295
+ map: new Map(),
296
+ secureData: {
297
+ f_cancel_reason: ''
298
+ },
299
+ selectDataLen: 0,
300
+ isBatch: '0',
301
+ other: [],
302
+ footer: [],
303
+ sumsmodel: {},
304
+ batchRowList: [],
305
+ selectRowLen: [],
306
+ f_cancel_people: [],
307
+ toDetailObj: null,
308
+ defaultfield: [],
309
+ modalCondition: '1=1',
310
+ secureQuotaModalShow: false,
311
+ secureQuotaObj: null,
312
+ issecures: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}]
313
+ }
314
+ },
315
+ ready () {
316
+ this.$refs.paged.$refs.cri.model.startDate = this.$login.toStandardDateString()
317
+ this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString()
318
+ },
319
+ methods: {
320
+ getotherfooter () {
321
+ this.other = [];
322
+ this.footer = [];
323
+ let exportdata = this.getCondition;
324
+ let otherInData = [];
325
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
326
+ let footerData = [], exportfield = this.getExportField;
327
+ footerData.push("合计");
328
+ let self = this;
329
+ for (var field in self.sumsmodel) {
330
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
331
+ }
332
+ this.footer.push(footerData);
333
+ this.other.push(otherInData);
334
+ },
335
+ async batchOper () {
336
+ this.isBatch = '3'
337
+ if (this.$refs.paged.$refs.grid.getRowData().length > 0) {
338
+ // 获取要批量删除的小区数据
339
+ this.batchRowList = this.$refs.paged.$refs.grid.getRowData()
340
+ this.selectRowLen = this.batchRowList.length
341
+ this.secureQuotaModalShow = true
342
+ } else {
343
+ this.$showAlert('请至少选择一项!', 'warning', 2000)
344
+ }
345
+ },
346
+ async batchSecureQuota () {
347
+ this.isBatch = '1'
348
+ if (this.$refs.modalgrid.getRowData().length != 0) {
349
+ // 获取要批量删除的小区数据
350
+ this.getRowData = this.$refs.modalgrid.getRowData()
351
+ this.selectDataLen = this.getRowData.length
352
+ console.log(this.selectDataLen + '-----------------------')
353
+ this.secureQuotaModalShow = true
354
+ } else {
355
+ this.$showAlert('请至少选择一项!', 'warning', 2000)
356
+ }
357
+ },
358
+ secureQuotaShow (row) {
359
+ this.isBatch = '2'
360
+ this.secureQuotaObj = row
361
+ this.secureQuotaModalShow = true
362
+ },
363
+ allQuotaRecordModalClose () {
364
+ this.toDetailObj = null
365
+ this.allQuotaRecordModalShow = false
366
+ this.$refs.modalgrid.selectInit()
367
+ },
368
+ secureQuotaModalClose () {
369
+ this.secureQuotaObj = null
370
+ this.secureQuotaModalShow = false
371
+ },
372
+ hidden () {
373
+ this.criteriaShow = !this.criteriaShow
374
+ },
375
+ secureQuota () {
376
+ let _this = this
377
+ if (_this.isBatch === '1') {
378
+ let msg = {
379
+ resolveMsg: '批量作废限购成功!',
380
+ rejectMsg: '批量作废限购失败!'
381
+ }
382
+ _this.$showMessage(`您确定要作废你选中的${_this.selectDataLen}条限购吗?`, ['confirm', 'cancel']).then(async (res) => {
383
+ if (res === 'confirm') {
384
+ console.log('所选中的限购信息:=======' + JSON.stringify(_this.getRowData))
385
+ let data = {
386
+ selectRow: _this.getRowData,
387
+ f_cancel_people: _this.$login.f.name,
388
+ f_cancel_peopleid: _this.$login.f.id,
389
+ f_cancel_reason: _this.secureData.f_cancel_reason,
390
+ f_operate_type: '1'
391
+ }
392
+ _this.secureQuotaModalShow = false
393
+ await _this.$resetpost('api/af-revenue/logic/sale_operateQuotaRecord', {data: data}, msg).then(res => {
394
+ if (res) {
395
+ _this.$refs.paged.$refs.grid.selectInit()
396
+ _this.modalSearch()
397
+ }
398
+ })
399
+
400
+ }
401
+ })
402
+ } else if (_this.isBatch === '2') {
403
+ _this.$showMessage('您确定要作废此条限购吗?', ['confirm', 'cancel']).then(async (res) => {
404
+ if (res === 'confirm') {
405
+ let data = {
406
+ id: _this.secureQuotaObj.id,
407
+ f_cancel_people: _this.$login.f.name,
408
+ f_cancel_peopleid: _this.$login.f.id,
409
+ f_cancel_reason: _this.secureData.f_cancel_reason,
410
+ f_operate_type: '1'
411
+ }
412
+ _this.secureQuotaModalShow = false
413
+ await _this.$resetpost('api/af-revenue/logic/sale_operateQuotaRecord', {data: data}, {
414
+ resolveMsg: '作废限购成功!!!',
415
+ rejectMsg: '作废限购失败!!!'
416
+ }).then(res => {
417
+ if (res) {
418
+ _this.modalSearch()
419
+ }
420
+ })
421
+ }
422
+ })
423
+ } else if (_this.isBatch === '3') {
424
+ let msg = {
425
+ resolveMsg: '批量作废限购成功!',
426
+ rejectMsg: '批量作废限购失败!'
427
+ }
428
+ _this.$showMessage(`您确定要作废你选中的${_this.selectRowLen}条限购吗?`, ['confirm', 'cancel']).then(async (res) => {
429
+ if (res === 'confirm') {
430
+ console.log('所选中的限购信息:=======' + JSON.stringify(_this.batchRowList))
431
+ let data = {
432
+ selectRow: _this.batchRowList,
433
+ f_cancel_people: _this.$login.f.name,
434
+ f_cancel_peopleid: _this.$login.f.id,
435
+ f_cancel_reason: _this.secureData.f_cancel_reason,
436
+ f_operate_type: '1'
437
+ }
438
+ _this.secureQuotaModalShow = false
439
+ await _this.$resetpost('api/af-revenue/logic/sale_operateQuotaRecord', {data: data}, msg).then(res => {
440
+ if (res) {
441
+ _this.$refs.paged.$refs.grid.selectInit()
442
+ _this.search()
443
+ }
444
+ })
445
+ }
446
+ })
447
+ }
448
+ },
449
+ async toDetail (row) {
450
+ this.toDetailObj = row
451
+ await this.modalSearch()
452
+ this.allQuotaRecordModalShow = true
453
+ },
454
+ clear () {
455
+ // 清空部门和人员
456
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
457
+ this.$refs.paged.$refs.cri.model[key] = []
458
+ })
459
+ },
460
+ modalSearch () {
461
+ this.modalCondition = `lg.f_state = '有效' and lg.f_userinfo_id = '${this.toDetailObj.f_userinfo_id}'`
462
+ this.modalModel.search(this.modalCondition, this.modalModel)
463
+ },
464
+ search () {
465
+ this.$refs.paged.$refs.cri.search()
466
+ },
467
+ getRes (obj) {
468
+ this.orgConditionStr = obj
469
+ },
470
+ selfSearch (args) {
471
+ if (!this.orgConditionStr) {
472
+ args.condition = `${args.condition}` + `and f_orgid = '${this.$login.f.orgid}'`
473
+ } else {
474
+ args.condition = `${args.condition}` + this.orgConditionStr
475
+ }
476
+ this.condition = args.condition
477
+ this.model.search(args.condition, args.model)
478
+ }
479
+ },
480
+ computed: {
481
+ getCondition() {
482
+ return {
483
+ condition: this.condition
484
+ }
485
+ },
486
+ getfield() {
487
+ return exportConfig.quotaQueryConfig
488
+ },
489
+ },
490
+ watch: {
491
+ 'secureQuotaModalShow' (val) {
492
+ if (!val) {
493
+ this.secureData.f_cancel_reason = ''
494
+ }
495
+ },
496
+ 'allQuotaRecordModalShow' (val) {
497
+ if (!val) {
498
+ this.search()
499
+ }
500
+ }
501
+ }
502
+ }
503
+ </script>
504
+
@@ -2263,6 +2263,22 @@ export default {
2263
2263
  'f_card_id': '写卡账号',
2264
2264
  'f_write_card': '写卡状态',
2265
2265
  'f_write_money': '写卡金额'
2266
+ },
2267
+ quotaQueryConfig: {
2268
+ 'f_userinfo_code': '用户编号',
2269
+ 'f_user_name': '用户名称',
2270
+ 'f_user_phone': '用户电话',
2271
+ 'f_address': '用户地址',
2272
+ 'f_operate_people': '操作人员',
2273
+ 'f_limit_source': '限购来源',
2274
+ 'f_operate_date': '限购时间',
2275
+ 'f_limit_type': '限购类型',
2276
+ 'f_time_type': '周期类型',
2277
+ 'f_time_value': '周期时长',
2278
+ 'f_limit_times': '限购次数',
2279
+ 'f_limit_value': '单次限购量',
2280
+ 'f_start_date': '执行时间',
2281
+ 'f_operate_reason': '限购原因'
2266
2282
  }
2267
2283
  }
2268
2284
 
@@ -9,4 +9,8 @@ export default function () {
9
9
  Vue.component('meter-query', (resolve) => {
10
10
  require(['./MeterQuery'], resolve)
11
11
  })
12
+ // 限购记录查询
13
+ Vue.component('quota-record-query', (resolve) => {
14
+ require(['./QuotaRecordQuery'], resolve)
15
+ })
12
16
  }
@@ -405,10 +405,10 @@
405
405
  <nobr>缴费编号</nobr>
406
406
  </th>
407
407
  <th>
408
- <nobr>挂表人</nobr>
408
+ <nobr>通气人</nobr>
409
409
  </th>
410
410
  <th>
411
- <nobr>通气人</nobr>
411
+ <nobr>挂表人</nobr>
412
412
  </th>
413
413
  <th>
414
414
  <nobr>通气状态</nobr>