manage-client 3.2.63 → 3.2.67

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.
@@ -0,0 +1,450 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" :class="{showbottom:showbottomsum}" v-if="!show">
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
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 for="startDate" class="font_normal_body">开始日期</label>
11
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
12
+ v-model="model.startDate"
13
+ :value.sync="model.startDate"
14
+ :format="'yyyy-MM-dd HH:mm:ss'"
15
+ :show-reset-button="true"
16
+ condition="f_operate_date >= '{}'">
17
+ </datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group">
20
+ <label for="endDate" class="font_normal_body">结束日期</label>
21
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
22
+ v-model="model.endDate"
23
+ :value.sync="model.endDate"
24
+ :format="'yyyy-MM-dd HH:mm:ss'"
25
+ :show-reset-button="true"
26
+ condition="f_operate_date <= '{}'">
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_user_name"
32
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
33
+ </div>
34
+ <div class="col-sm-2 form-group">
35
+ <label class="font_normal_body">客户类型</label>
36
+ <v-select :value.sync="model.f_user_type"
37
+ :search="false"
38
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
39
+ condition="f_user_type = '{}'"
40
+ close-on-select></v-select>
41
+ </div>
42
+ <div class="span" style="float:right;">
43
+ <button class="button_search button_spacing" @click="search()">查询</button>
44
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
45
+
46
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
47
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
48
+ :defaultselect="$parent.$parent.defaultexport"
49
+ sqlurl="rs/logic/exportfile" sql-name="chargeQuery" template-name='收费查询导出'
50
+ :choose-col="true">
51
+ </export-excel>
52
+
53
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
54
+ :defaultfield="$parent.$parent.config.defaultPrint"
55
+ titletable="团体缴费记录报表" :starthead="$parent.$parent.getstart"
56
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
57
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
58
+
59
+ </div>
60
+ </div>
61
+ <div class="row" v-show="$parent.$parent.criteriaShow">
62
+ <div class="col-sm-2 form-group">
63
+ <label class="font_normal_body">客户地址</label>
64
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
65
+ condition="f_address like '%{}%'" placeholder='客户地址'>
66
+ </div>
67
+ <div class="col-sm-2 form-group">
68
+ <label class="font_normal_body" title="参数:付款方式查询">付款方式</label>
69
+ <v-select :value.sync="model.f_payment" multiple
70
+ v-model="model.f_payment"
71
+ :options='$parent.$parent.payment' placeholder='请选择'
72
+ condition="f_payment in {}"
73
+ close-on-select></v-select>
74
+ </div>
75
+ <div class="col-sm-2 form-group">
76
+ <label class="font_normal_body">收费类型</label>
77
+ <v-select :value.sync="model.f_type" multiple
78
+ :search="false"
79
+ :options='$parent.$parent.chargetype' placeholder='请选择'
80
+ close-on-select clear-button
81
+ condition="f_type in {}"
82
+ v-model="model.f_type"></v-select>
83
+ </div>
84
+ <div class="col-sm-2 form-group">
85
+ <label class="font_normal_body">收费状态</label>
86
+ <v-select :value.sync="model.f_state" multiple
87
+ :search="false"
88
+ v-model="model.f_state"
89
+ :options='$parent.$parent.charge_state' placeholder='请选择'
90
+ condition="f_state in {}"
91
+ close-on-select></v-select>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ </criteria>
96
+
97
+ <data-grid :model="model" partial='list' class="list_area table_sy" style="height: 95%" v-ref:grid>
98
+ <template partial='head'>
99
+ <tr>
100
+ <th>
101
+ <nobr>收费编号</nobr>
102
+ </th>
103
+ <th>
104
+ <nobr>客户姓名</nobr>
105
+ </th>
106
+ <th>
107
+ <nobr>客户类型</nobr>
108
+ </th>
109
+ <th>
110
+ <nobr>客户地址</nobr>
111
+ </th>
112
+ <th>
113
+ <nobr>气量</nobr>
114
+ </th>
115
+ <th>
116
+ <nobr>气费</nobr>
117
+ </th>
118
+ <th>
119
+ <nobr>应交滞纳金</nobr>
120
+ </th>
121
+ <th>
122
+ <nobr>实交滞纳金</nobr>
123
+ </th>
124
+ <th>
125
+ <nobr>上期余额</nobr>
126
+ </th>
127
+ <th>
128
+ <nobr>本期余额</nobr>
129
+ </th>
130
+ <th>
131
+ <nobr>收款</nobr>
132
+ </th>
133
+ <th>
134
+ <nobr>收费状态</nobr>
135
+ </th>
136
+ <th>
137
+ <nobr>收费日期</nobr>
138
+ </th>
139
+ <th>
140
+ <nobr>付款方式</nobr>
141
+ </th>
142
+ <th>
143
+ <nobr>收费类型</nobr>
144
+ </th>
145
+ <th>
146
+ <nobr>备注</nobr>
147
+ </th>
148
+ <th>
149
+ <nobr>收费人</nobr>
150
+ </th>
151
+ <th>
152
+ <nobr>部门</nobr>
153
+ </th>
154
+ <th>
155
+ <nobr>公司</nobr>
156
+ </th>
157
+ </tr>
158
+ </template>
159
+ <template partial='body'>
160
+ <td style="text-align: center;">
161
+ <nobr>{{row.id}}</nobr>
162
+ </td>
163
+ <td style="text-align: center;">
164
+ <nobr>{{row.f_user_name}}</nobr>
165
+ </td>
166
+ <td style="text-align: center;">
167
+ <nobr>{{row.f_user_type}}</nobr>
168
+ </td>
169
+ <td style="text-align: center;">
170
+ <nobr>{{row.f_address}}</nobr>
171
+ </td>
172
+ <td style="text-align: center;">
173
+ <nobr>{{row.f_pregas}}</nobr>
174
+ </td>
175
+ <td style="text-align: center;">
176
+ <nobr>{{row.f_preamount}}</nobr>
177
+ </td>
178
+ <td style="text-align: center;">
179
+ <nobr>{{row.f_delay}}</nobr>
180
+ </td>
181
+ <td style="text-align: center;">
182
+ <nobr>{{row.f_delaypay}}</nobr>
183
+ </td>
184
+ <td style="text-align: center;">
185
+ <nobr>{{row.f_balance}}</nobr>
186
+ </td>
187
+ <td style="text-align: center;">
188
+ <nobr>{{row.f_curbalance}}</nobr>
189
+ </td>
190
+ <td style="text-align: center;">
191
+ <nobr>{{row.f_collection}}</nobr>
192
+ </td>
193
+ <td style="text-align: center;">
194
+ <nobr>{{row.f_state}}</nobr>
195
+ </td>
196
+ <td style="text-align: center;">
197
+ <nobr>{{row.f_operate_date}}</nobr>
198
+ </td>
199
+ <td style="text-align: center;">
200
+ <nobr>{{row.f_payment}}</nobr>
201
+ </td>
202
+ <td style="text-align: center;">
203
+ <nobr>{{row.f_type}}</nobr>
204
+ </td>
205
+ <td style="text-align: center;">
206
+ <nobr>{{row.f_comments}}</nobr>
207
+ </td>
208
+ <td style="text-align: center;">
209
+ <nobr>{{row.f_operator}}</nobr>
210
+ </td>
211
+ <td style="text-align: center;">
212
+ <nobr>{{row.f_orgname}}</nobr>
213
+ </td>
214
+ <td style="text-align: center;">
215
+ <nobr>{{row.f_depname}}</nobr>
216
+ </td>
217
+ </template>
218
+ <template partial='foot'></template>
219
+ </data-grid>
220
+ </criteria-paged>
221
+ <table class="table-hover">
222
+ <tr style="position: relative" class="table-bordered">
223
+ <td
224
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
225
+ 汇总信息
226
+ </td>
227
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
228
+ 气量合计:&emsp;{{sumsmodel.f_pregas}}
229
+ </td>
230
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
231
+ 燃气费合计:&emsp;{{sumsmodel.f_preamount}}
232
+ </td>
233
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
234
+ 收款合计:&emsp;{{sumsmodel.f_collection}}
235
+ </td>
236
+ </tr>
237
+ </table>
238
+ </div>
239
+ </div>
240
+ </div>
241
+ </template>
242
+
243
+ <script>
244
+ import {PagedList} from 'vue-client'
245
+ import exportConfig from '../config/exportConfig'
246
+ let readySomething = async function (self) {
247
+ //加载抄表册
248
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
249
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
250
+ self.$refs.paged.$refs.cri.search()
251
+ await self.$MagLoadParams.loadParam()
252
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums;
253
+ }
254
+ export default {
255
+ props:['data'],
256
+ title: '团缴查询',
257
+ data() {
258
+ return {
259
+ isSingleUser: null,
260
+ startDate1:'',
261
+ endDate1:'',
262
+ other:[],
263
+ footer:[],
264
+ config: {
265
+ defaultPrint: ['f_user_name', 'f_pregas', 'f_collection', 'f_operate_date']
266
+ },
267
+ //排序
268
+ orderitem:'f_operate_date desc',
269
+ orderFields: {
270
+ f_operate_date: 'no'
271
+ },
272
+ //f_price_name:[],
273
+ gasproperties:[],
274
+ showinfo: false,
275
+ data: {},
276
+ getstart:'',
277
+ show:false,
278
+ chargetype: [{label: '批量收费', value: '批量收费'}, {label: '团体收费', value: '团体收费'}],
279
+ rowdata:{},
280
+ initres: {
281
+ org:[this.$login.f.orgid],
282
+ dep:[],
283
+ user:[]
284
+ },
285
+ model: new PagedList('rs/sql/manage_singleTable', 20, {items: `'*'`, orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`, tablename: `'t_sellinggasbatch'`},{
286
+ f_pregas: 0,
287
+ f_preamount: 0,
288
+ f_collection: 0,
289
+ }),
290
+ criteriaShow: false,
291
+ orgCondtionStr: '',
292
+ area: [],
293
+ sumsmodel: {},
294
+ f_filialeid: this.$login.f.orgid,
295
+ selected:{},
296
+ showbottomsum:false //页面下方是否有合计: 默认为false, 在watch修改
297
+ }
298
+ },
299
+ ready() {
300
+ this.$refs.paged.$refs.cri.model.f_state=['有效']
301
+ readySomething(this).then(() => {
302
+ this.$emit('ready')
303
+ }).catch((error) => {
304
+ this.$emit('error', error)
305
+ })
306
+ },
307
+ methods: {
308
+ getotherfooter () {
309
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
310
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
311
+ this.other = [];
312
+ this.footer = [];
313
+ let exportdata = this.getCondition;
314
+ let otherInData = [];
315
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
316
+ let footerData = [], exportfield = this.getfield;
317
+ footerData.push("合计");
318
+ let self = this;
319
+ for (var field in self.sumsmodel) {
320
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
321
+ }
322
+ this.footer.push(footerData);
323
+ this.other.push(otherInData);
324
+ },
325
+ search(){
326
+ this.$refs.paged.$refs.cri.search()
327
+ },
328
+ selfSearch(args) {
329
+ if (this.data) {
330
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
331
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
332
+ }
333
+
334
+ let f_orgstr = this.orgCondtionStr
335
+ args.condition = `${args.condition} ` + f_orgstr
336
+ this.model.search(args.condition, args.model)
337
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
338
+ },
339
+ clear() {
340
+ //清空部门和人员
341
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
342
+ //部门和人员变为全选
343
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
344
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
345
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
346
+ this.$refs.paged.$refs.cri.model[key] = []
347
+ })
348
+
349
+ },
350
+ dealmsg(val,startDate,endDate) {
351
+ val.model = this.model.model
352
+ startDate=this.startDate1
353
+ endDate=this.endDate1
354
+ this.$dispatch('deal-msg', val,startDate,endDate)
355
+ },
356
+ show() {
357
+ this.criteriaShow = true
358
+ },
359
+ hidden() {
360
+ this.criteriaShow = !this.criteriaShow
361
+ },
362
+ async getRes(condition,obj) {
363
+ this.orgCondtionStr = condition
364
+ this.orgname = obj.orgnames[0]
365
+ this.depname = obj.depnames[0]
366
+ },
367
+ sort (field, rule) {
368
+ // 将所有排序方式设为不排序,实现相互排斥
369
+ for (let key in this.orderFields) {
370
+ if (key === field) {
371
+ this.orderFields[key] = rule
372
+ } else {
373
+ this.orderFields[key] = 'no'
374
+ }
375
+ }
376
+ // 如果新规则不排序,还原为默认排序
377
+ if (rule === 'no') {
378
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
379
+ } else {
380
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
381
+ }
382
+
383
+ this.search()
384
+ }
385
+
386
+ },
387
+ watch: {
388
+ 'model.rows'(val) {
389
+ //如果有合计 这里为true, 其他为false ,反正相反
390
+ this.showbottomsum=true;
391
+ if(val.length === 0){
392
+ this.sumsmodel = {}
393
+ this.showbottomsum=false;
394
+ }
395
+ },
396
+ 'model.rows.length' () {
397
+ this.isSingleUser = this.model.rows
398
+ },
399
+ sumsmodel:{
400
+ handler: function(val) {
401
+ this.getotherfooter();
402
+ },
403
+ deep: true
404
+ }
405
+ },
406
+ computed: {
407
+ getstart(){
408
+ return `开始时间:${this.$refs.paged.$refs.cri.model.startDate} 结束时间:${this.$refs.paged.$refs.cri.model.endDate}`
409
+ },
410
+ chooserow(){
411
+ let aaa= true
412
+ if(this.$login.r && this.$login.r.includes('打印项选择')){
413
+ aaa = false
414
+ }
415
+ return aaa
416
+ },
417
+ getCondition() {
418
+ return {
419
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
420
+ endDate: this.$refs.paged.$refs.cri.model.endDate,
421
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
422
+ orderitem: this.orderitem?`${this.orderitem}`: " f_operate_date desc"
423
+ }
424
+ },
425
+ getfield() {
426
+ return exportConfig.GroupCharge
427
+ },
428
+ defaultexport() {
429
+ return exportConfig.GroupCharge
430
+ },
431
+ usertypes() {
432
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
433
+ },
434
+ payment() {
435
+ return [...this.$appdata.getParam('付款方式')]
436
+ },
437
+ banktype() {
438
+ return [...this.$appdata.getParam('支付渠道查询')]
439
+ },
440
+ charge_state() {
441
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
442
+ },
443
+ bank(){
444
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('银行名称')]
445
+ }
446
+ }
447
+ }
448
+ </script>
449
+ <style scoped>
450
+ </style>
@@ -46,6 +46,7 @@
46
46
  :field="$parent.$parent.getfield"
47
47
  :footer="$parent.$parent.footer"
48
48
  :header="$parent.$parent.other"
49
+ :defaultselect="$parent.$parent.getfield"
49
50
  sqlurl="rs/logic/exportfile"
50
51
  sql-name="privilegeQuery"
51
52
  template-name='免费送气操作记录'
@@ -195,7 +196,15 @@
195
196
  all: false,
196
197
  fields: {},
197
198
  config: {
198
- defaultPrint: ["f_userinfo_code", "f_user_name", "f_last_balance", "f_charge_money", "f_pre_deduct_money", "f_balance"]
199
+ defaultPrint: ['f_userinfo_code',
200
+ 'f_user_name',
201
+ 'f_user_type',
202
+ 'f_address',
203
+ 'f_meter_type',
204
+ 'f_privilege_gas',
205
+ 'f_privilege_money',
206
+ 'f_operator',
207
+ 'f_operate_date']
199
208
  },
200
209
  //默认打印列
201
210
  defaultfield: [],
@@ -31,10 +31,12 @@ export default{
31
31
  'f_address': '客户地址'
32
32
  },
33
33
  meterConfig: {
34
- 'f_userinfo_code': '客户编号', 'f_user_name': '客户名称', 'f_olduserinfo_code': '档案编号', 'f_user_phone': '客户电话', 'idnumber': '身份证号', 'f_address': '客户地址', 'f_balance_amount': '表上余额',
35
- 'f_user_type': '客户类型', 'f_usetype': '使用类型', 'f_gasproperties': '用气性质', 'f_meternumber': '表号', 'f_card_id': '卡号', 'f_price_name': '气价名称',
36
- 'value': '气价详情', 'f_meter_brand': '气表品牌', 'f_meter_style': '气表型号',
37
- 'f_gas_person': '通气人', 'f_gas_date': '通气时间', 'f_input_date': '建表时间', 'f_table_state': '气表状态', 'isbgl': '是否壁挂炉', 'f_inputtor': '抄表员', 'f_book_name': '抄表册'
34
+ 'f_userinfo_code': '客户编号', 'f_user_name': '客户名称', 'f_olduserinfo_code': '档案编号',
35
+ 'f_user_phone': '客户电话','f_rent_phone': '备用电话', 'idnumber': '身份证号', 'f_address': '客户地址', 'f_book_slice_area': '表册片区',
36
+ 'f_balance_amount': '表上余额', 'f_user_type': '客户类型', 'f_usetype': '使用类型', 'f_gasproperties': '用气性质',
37
+ 'f_meternumber': '表号', 'f_card_id': '卡号', 'f_price_name': '气价名称', 'value': '气价详情', 'f_meter_brand': '气表品牌',
38
+ 'f_meter_style': '气表型号', 'f_inputtor': '户管员', 'f_gas_person': '通气人', 'f_gas_date': '通气时间',
39
+ 'f_input_date': '建表时间', 'f_table_state': '气表状态', 'isbgl': '是否壁挂炉'
38
40
  },
39
41
  ResidentialQuery: {
40
42
  'f_residential_area': '小区', 'hushu': '户数', 'xinhushu': '新建户数', 'f_oughtfee': '用气金额', 'f_oughtamount': '用气量',
@@ -912,6 +914,11 @@ export default{
912
914
  'f_wosi_lng': '我司',
913
915
  'f_yinzhen_lng': '引镇',
914
916
  'finaltotal': '一日'
917
+ },
918
+ GroupCharge: {
919
+ 'id': '收费编号', 'f_user_name': '客户姓名', 'f_user_type': '客户类型', 'f_address': '客户地址','f_pregas': '气量','f_preamount': '气费','f_delay': '应交滞纳金','f_delaypay': '实交滞纳金',
920
+ 'f_balance': '上期余额','f_curbalance': '本期余额','f_collection': '收款','f_state': '收费状态','f_operate_date': '收费日期','f_payment': '付款方式','f_type': '收费类型','f_comments': '备注',
921
+ 'f_operator': '收费人','f_orgname': '部门','f_depname': '公司'
915
922
  }
916
923
 
917
924
  }