manage-client-xy 3.2.28 → 3.2.30

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 (31) hide show
  1. package/build/dev-server.js +2 -2
  2. package/package.json +1 -1
  3. package/src/components/SellReport/FinancialStatement.vue +30 -0
  4. package/src/components/SellReport/ManageBusSummary.vue +241 -241
  5. package/src/components/SellReport/SmartKitchenSummary.vue +275 -275
  6. package/src/components/SellReport/UserNumber.vue +30 -0
  7. package/src/components/SellReport/XianYangNewCharge.vue +355 -355
  8. package/src/components/sale/businessquery/AreaGeneralQuery.vue +715 -700
  9. package/src/components/sale/businessquery/CMHGasQuery.vue +441 -411
  10. package/src/components/sale/businessquery/ChangeMeterQuery.vue +659 -630
  11. package/src/components/sale/businessquery/ChangeUserQuery.vue +403 -373
  12. package/src/components/sale/businessquery/ChargeQuery.vue +1027 -997
  13. package/src/components/sale/businessquery/DisableQuery.vue +433 -403
  14. package/src/components/sale/businessquery/EnableQuery.vue +422 -392
  15. package/src/components/sale/businessquery/FMYGasQuery.vue +440 -410
  16. package/src/components/sale/businessquery/FillCardQuery.vue +522 -492
  17. package/src/components/sale/businessquery/FillGasQuery.vue +506 -476
  18. package/src/components/sale/businessquery/HandplanQuery.vue +728 -698
  19. package/src/components/sale/businessquery/LogQuery.vue +301 -269
  20. package/src/components/sale/businessquery/NewAccountQuery.vue +518 -488
  21. package/src/components/sale/businessquery/OtherChargeQuery.vue +432 -402
  22. package/src/components/sale/businessquery/RecordQuery.vue +399 -369
  23. package/src/components/sale/businessquery/ResidentialQuery.vue +417 -387
  24. package/src/components/sale/businessquery/ReverseQuery.vue +459 -429
  25. package/src/components/sale/businessquery/SellingHand.vue +408 -378
  26. package/src/components/sale/businessquery/TransferQuery.vue +589 -559
  27. package/src/components/sale/businessquery/cancelAccountQuery.vue +518 -488
  28. package/src/components/sale/filesquery/DeviceQuery.vue +30 -0
  29. package/src/components/sale/filesquery/MeterQuery.vue +30 -0
  30. package/src/components/sale/filesquery/UserQuery.vue +796 -764
  31. package/src/components/webmeter/DrillData/UserGasAll.vue +30 -1
@@ -1,378 +1,408 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main" @keyup.enter="search">
4
- <div class="flex" v-if="!show">
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">客户编号</label>
11
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
12
- condition="f_userinfo_code = '{}' " placeholder="客户编号">
13
- </div>
14
- <div class="col-sm-2 form-group">
15
- <label class="font_normal_body">收费票据id</label>
16
- <input type="text" style="width:60%" class="input_search" v-model="model.f_bill_sell_id"
17
- condition="f_bill_sell_id = '{}' " placeholder="票据id">
18
- </div>
19
- <div class="col-sm-2 form-group">
20
- <label for="startDate" class="font_normal_body">开始日期</label>
21
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
22
- v-model="model.startDate"
23
- :value.sync="model.startDate"
24
- :format="'yyyy-MM-dd'"
25
- :show-reset-button="true"
26
- condition="f_operate_date >= to_date('{} 00:00:00','yyyy-mm-dd hh24:mi:ss')">
27
- </datepicker>
28
- </div>
29
- <div class="col-sm-2 form-group">
30
- <label for="endDate" class="font_normal_body">结束日期</label>
31
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
32
- v-model="model.endDate"
33
- :value.sync="model.endDate"
34
- :format="'yyyy-MM-dd'"
35
- :show-reset-button="true"
36
- condition="f_operate_date <= to_date('{} 23:59:59','yyyy-mm-dd hh24:mi:ss')">
37
- </datepicker>
38
- </div>
39
-
40
- <div class="span" style="float:right;">
41
- <button class="button_search button_spacing" @click="search()">查询</button>
42
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
-
44
- <export-excel :data="$parent.$parent.getCondition"
45
- :field="$parent.$parent.getfield"
46
- sqlurl="rs/logic/exportfile" sql-name="getSellingHand" template-name='收费抄表导出'
47
- v-if ="$parent.$parent.jurisdiction.includes('excel导出')"
48
- :choose-col="true"></export-excel>
49
- <print-data :model="$parent.model" :field="$parent.$parent.getfield"
50
- :defaultfield="$parent.$parent.defaultfield" print-name="收费抄表打印"
51
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
52
- <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>
53
- </div>
54
- </div>
55
- <div class="row">
56
- <res-select-group style="col-sm-2 form-group" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
57
- <div class="col-sm-2 form-group">
58
- <label for="f_area_id" class="font_normal_body">小区编码</label>
59
- <input id="f_area_id" type="text" style="width:60%" class="input_search" v-model="model.f_area_id"
60
- condition="f_area_id = '{}'" placeholder='小区编码'>
61
- </div>
62
- <div class="col-sm-2 form-group">
63
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区&nbsp;&nbsp;&nbsp;</label>
64
- <v-select :value.sync="model.f_residential_area"
65
- class="select_list select"
66
- enter-push
67
- multiple = "true"
68
- v-model="model.f_residential_area"
69
- style="width: 60%"
70
- :options='$parent.$parent.residentialArea' placeholder='选择小区'
71
- close-on-select>
72
- </v-select>
73
- </div>
74
- </div>
75
- <div class="row" v-show="$parent.$parent.criteriaShow">
76
- <div class="col-sm-2 form-group">
77
- <label class="font_normal_body">收费状态</label>
78
- <v-select :value.sync="model.f_state"
79
- v-model="model.f_state"
80
- :options='$parent.$parent.charge_state' placeholder='请选择'
81
- condition="f_state = '{}'"
82
- close-on-select></v-select>
83
- </div>
84
- </div>
85
- </div>
86
- </criteria>
87
-
88
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
89
- <template partial='head'>
90
- <tr>
91
- <th>
92
- <nobr>客户编号</nobr>
93
- </th>
94
- <th>
95
- <nobr>客户名称</nobr>
96
- </th>
97
- <th>
98
- <nobr>上期结余</nobr>
99
- </th>
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
- </tr>
131
- </template>
132
- <template partial='body'>
133
- <td style="text-align: center;"><nobr>
134
- <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
135
- </nobr> </td>
136
- <td style="text-align: center;">{{row.f_user_name}}</td>
137
- <td style="text-align: center;">{{row.f_last_balance}}</td>
138
- <th style="text-align: center;">{{row.f_balance}}</th>
139
- <th style="text-align: center;">{{row.f_pregas}}</th>
140
- <th style="text-align: center;">{{row.f_preamount}}</th>
141
- <th style="text-align: center;">{{row.f_charge_money}}</th>
142
- <th style="text-align: center;">{{row.f_debt_money}}</th>
143
- <th style="text-align: center;">{{row.f_overdue}}</th>
144
- <th style="text-align: center;">{{row.f_type}}</th>
145
- <th style="text-align: center;">{{row.f_state}}</th>
146
- <th style="text-align: center;">{{row.f_operate_date}}</th>
147
- <td style="text-align: center;">{{row.f_orgname}}</td>
148
- </template>
149
- </data-grid>
150
- </criteria-paged>
151
- <table class="table-hover">
152
- <tr style="position: relative" class="table-bordered">
153
- <td
154
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
155
- 汇总信息
156
- </td>
157
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
158
- 收费金额合计:&emsp;{{sumsmodel.f_charge_money}}
159
- </td>
160
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
161
- 清欠金额合计:&emsp;{{sumsmodel.f_debt_money}}
162
- </td>
163
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
164
- 违约金金额合计:&emsp;{{sumsmodel.f_overdue}}
165
- </td>
166
- </tr>
167
- </table>
168
- </div>
169
- <div v-if="show">
170
- <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
171
- </div>
172
- </div>
173
- </div>
174
-
175
- </template>
176
- <script>
177
- /**
178
- *用户档案查询列表以及添加操作组件
179
- */
180
- import {HttpResetClass, PagedList} from 'vue-client'
181
- import defaultPrint from '../config/DefaultPrint'
182
- import exportConfig from '../config/exportConfig'
183
-
184
- let readySomething = async function (self) {
185
- self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
186
- self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
187
- // await self.$refs.paged.$refs.cri.search()
188
- await self.$getConfig(self, 'SellingHand')
189
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
190
-
191
- await self.$MagLoadParams.loadParam()
192
-
193
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
194
- console.log('self.sumsmodel', self.sumsmodel)
195
- }
196
-
197
-
198
- export default {
199
- title: '收费抄表',
200
- data() {
201
- return {
202
- rows: null,
203
- criteriaShow: false,
204
- model: new PagedList('rs/sql/getSellingHand', 50, {}, {f_charge_money: 0, f_debt_money: 0, f_overdue: 0}),
205
- orgCondtionStr: '',
206
- charge_state: this.$appdata.getParam('收费状态') ? [{
207
- label: '全部',
208
- value: ''
209
- }, ...this.$appdata.getParam('收费状态')] : [],
210
- getfield: '',
211
- show:false,
212
- jurisdiction:this.$login.r,
213
- rowdata:{},
214
- residentialArea:[],
215
- area:[],
216
- config: {
217
- defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_last_balance', 'f_balance']
218
- },
219
- initres: {
220
- org:[this.$login.f.orgid],
221
- dep:[],
222
- user:[],
223
- },
224
- defaultfield: [],
225
- sumsmodel: {}
226
- }
227
- },
228
- ready() {
229
- this.getaddress()
230
-
231
- readySomething(this).then(() => {
232
- this.$emit('ready')
233
- }).catch((error) => {
234
- this.$emit('error', error)
235
- })
236
- },
237
- methods: {
238
- async getaddress(){
239
- console.log('开始获取小区')
240
- let HttpReset = new HttpResetClass()
241
- var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
242
- data: {
243
- condition: '1=1'
244
- }
245
- }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
246
- console.log('小区',data)
247
- let house = []
248
- for (let row of data.data){
249
- console.log('开始保存小区')
250
- house.push({label: row.f_residential_area, value: row.f_residential_area})
251
- }
252
- this.residentialArea = house
253
- },
254
- search(){
255
- this.$refs.paged.$refs.cri.search()
256
- },
257
- selfSearch(args) {
258
- //小区查询条件
259
- this.area = this.$refs.paged.$refs.cri.model.f_residential_area
260
- console.log("=====小区model绑定====",this.area)
261
- if(this.area.length !== 0){
262
- let str = JSON.stringify(this.area)
263
- str = str.replace(/"/g,`'`)
264
- str = str.replace(/\[/g,``)
265
- str = str.replace(/\]/g,``)
266
- console.log("=====小区model22222222222绑定====",str)
267
- //查询多个小区时条件
268
- args.condition += ` and f_residential_area in ( ${str} )`
269
- }
270
-
271
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
272
- args.condition = `${args.condition}` + this.orgCondtionStr
273
- this.model.search(args.condition, args.model)
274
- },
275
- show() {
276
- this.criteriaShow = true
277
- },
278
- cancel() {
279
- this.show = false
280
- },
281
- showmsg(obj){
282
- this.rowdata=obj
283
- this.show=true
284
- },
285
- dealmsg(val) {
286
- console.log('---------------dealmsg')
287
- val.model = this.model.model
288
- this.$dispatch('deal-msg', val)
289
- },
290
- hidden() {
291
- this.criteriaShow = !this.criteriaShow
292
- },
293
- clear() {
294
- //清空部门和人员
295
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
296
- //部门和人员变为全选
297
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
298
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
299
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
300
- this.$refs.paged.$refs.cri.model[key] = []
301
- })
302
- },
303
- getRes(obj) {
304
- this.orgCondtionStr = obj
305
- },
306
- stamp() {
307
- this.all = false
308
- //默认选择要打印的列
309
- this.modelval = defaultPrint.config
310
- this.fields = this.getfield
311
- console.log('所有打印字段', this.fields)
312
- this.printshow = true
313
- this.put()
314
- },
315
- put() {
316
- // 对Modelval进行排序
317
- this.sortModelval()
318
- this.thead = `<tr><th colspan=${this.modelval.length}>抄表收费统计报表</th></tr><tr>`
319
- for (let key of this.modelval) {
320
- this.thead += '<th>' + this.fields[key] + '</th>'
321
- }
322
- this.thead += '</tr>'
323
- },
324
- print() {
325
- this.$refs.print.PrintAsFile()
326
- this.printshow = false
327
- },
328
- close() {
329
- this.printshow = false
330
- this.all = false
331
- },
332
- // 对选择的列进行排序
333
- sortModelval() {
334
- let sortModel = []
335
- Object.keys(this.fields).forEach((key) => {
336
- if (this.modelval.includes(key)) {
337
- sortModel.push(key)
338
- }
339
- })
340
- this.modelval = sortModel
341
- console.log('选择的打印的字段', this.modelval)
342
- }
343
- },
344
- watch: {
345
- 'all'(val) {
346
- if (val) {
347
- this.modelval = this.bodyData
348
- } else {
349
- this.modelval = defaultPrint.config
350
- this.put()
351
- }
352
- },
353
- 'modelval.length'() {
354
- this.put()
355
- },
356
- },
357
- computed: {
358
- getCondition() {
359
- let result = {
360
- condition: ''
361
- }
362
- result.condition = this.$refs.paged.$refs.cri.condition + this.orgCondtionStr
363
- return result
364
- },
365
- getfield() {
366
- return exportConfig.sellingHandConfig
367
- },
368
- }
369
- }
370
- </script>
371
- <style media="screen">
372
- .divtext {
373
- min-width: 50px;
374
- max-width: 200px;
375
- border: 1px solid green;
376
- display: inline-block;
377
- }
378
- </style>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" v-if="!show">
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">客户编号</label>
11
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
12
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
13
+ </div>
14
+ <div class="col-sm-2 form-group">
15
+ <label class="font_normal_body">收费票据id</label>
16
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_bill_sell_id"
17
+ condition="f_bill_sell_id = '{}' " placeholder="票据id">
18
+ </div>
19
+ <div class="col-sm-2 form-group">
20
+ <label for="startDate" class="font_normal_body">开始日期</label>
21
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
22
+ v-model="model.startDate"
23
+ :value.sync="model.startDate"
24
+ :format="'yyyy-MM-dd'"
25
+ :show-reset-button="true"
26
+ condition="f_operate_date >= to_date('{} 00:00:00','yyyy-mm-dd hh24:mi:ss')">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-2 form-group">
30
+ <label for="endDate" class="font_normal_body">结束日期</label>
31
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
32
+ v-model="model.endDate"
33
+ :value.sync="model.endDate"
34
+ :format="'yyyy-MM-dd'"
35
+ :show-reset-button="true"
36
+ condition="f_operate_date <= to_date('{} 23:59:59','yyyy-mm-dd hh24:mi:ss')">
37
+ </datepicker>
38
+ </div>
39
+
40
+ <div class="span" style="float:right;">
41
+ <button class="button_search button_spacing" @click="search()">查询</button>
42
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
+
44
+ <export-excel :data="$parent.$parent.getCondition"
45
+ :field="$parent.$parent.getfield"
46
+ sqlurl="rs/logic/exportfile" sql-name="getSellingHand" template-name='收费抄表导出'
47
+ v-if ="$parent.$parent.jurisdiction.includes('excel导出')"
48
+ :choose-col="true"></export-excel>
49
+ <print-data :model="$parent.model" :field="$parent.$parent.getfield"
50
+ :defaultfield="$parent.$parent.defaultfield" print-name="收费抄表打印"
51
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
52
+ <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>
53
+ </div>
54
+ </div>
55
+ <div class="row">
56
+ <res-select-group style="col-sm-2 form-group" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
57
+ <div class="col-sm-2 form-group">
58
+ <label for="f_area_id" class="font_normal_body">小区编码</label>
59
+ <input id="f_area_id" type="text" style="width:60%" class="input_search" v-model="model.f_area_id"
60
+ condition="f_area_id = '{}'" placeholder='小区编码'>
61
+ </div>
62
+ <div class="col-sm-2 form-group">
63
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区&nbsp;&nbsp;&nbsp;</label>
64
+ <v-select :value.sync="model.f_residential_area"
65
+ class="select_list select"
66
+ enter-push
67
+ multiple = "true"
68
+ v-model="model.f_residential_area"
69
+ style="width: 60%"
70
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
71
+ close-on-select>
72
+ </v-select>
73
+ </div>
74
+ </div>
75
+ <div class="row" v-show="$parent.$parent.criteriaShow">
76
+ <div class="col-sm-2 form-group">
77
+ <label class="font_normal_body">收费状态</label>
78
+ <v-select :value.sync="model.f_state"
79
+ v-model="model.f_state"
80
+ :options='$parent.$parent.charge_state' placeholder='请选择'
81
+ condition="f_state = '{}'"
82
+ close-on-select></v-select>
83
+ </div>
84
+ <div class="col-sm-2 form-group">
85
+ <label class="font_normal_body">房产地址</label>
86
+ <input class="input_search" condition="f_house_address = '{}'"
87
+ placeholder='房产地址'
88
+ style="width:60%" type="text" v-model="model.f_house_address">
89
+ </div>
90
+ <div class="col-sm-2 form-group">
91
+ <label class="font_normal_body">用途</label>
92
+ <input class="input_search" condition="f_property_usage = '{}'"
93
+ placeholder='用途'
94
+ style="width:60%" type="text" v-model="model.f_property_usage">
95
+ </div>
96
+ <div class="col-sm-2 form-group">
97
+ <label class="font_normal_body">房型</label>
98
+ <input class="input_search" condition="f_house_type = '{}'"
99
+ placeholder='房型'
100
+ style="width:60%" type="text" v-model="model.f_house_type">
101
+ </div>
102
+ <div class="col-sm-2 form-group">
103
+ <label class="font_normal_body">是否一户多表</label>
104
+ <input class="input_search" condition="f_is_multi_meter = '{}'"
105
+ placeholder='是否一户多表'
106
+ style="width:60%" type="text" v-model="model.f_is_multi_meter">
107
+ </div>
108
+ <div class="col-sm-2 form-group">
109
+ <label class="font_normal_body">关联ID</label>
110
+ <input class="input_search" condition="f_house_id = '{}'"
111
+ placeholder='关联ID'
112
+ style="width:60%" type="text" v-model="model.f_house_id">
113
+ </div>
114
+ </div>
115
+ </div>
116
+ </criteria>
117
+
118
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
119
+ <template partial='head'>
120
+ <tr>
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
+ <th>
158
+ <nobr>公司</nobr>
159
+ </th>
160
+ </tr>
161
+ </template>
162
+ <template partial='body'>
163
+ <td style="text-align: center;"><nobr>
164
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
165
+ </nobr> </td>
166
+ <td style="text-align: center;">{{row.f_user_name}}</td>
167
+ <td style="text-align: center;">{{row.f_last_balance}}</td>
168
+ <th style="text-align: center;">{{row.f_balance}}</th>
169
+ <th style="text-align: center;">{{row.f_pregas}}</th>
170
+ <th style="text-align: center;">{{row.f_preamount}}</th>
171
+ <th style="text-align: center;">{{row.f_charge_money}}</th>
172
+ <th style="text-align: center;">{{row.f_debt_money}}</th>
173
+ <th style="text-align: center;">{{row.f_overdue}}</th>
174
+ <th style="text-align: center;">{{row.f_type}}</th>
175
+ <th style="text-align: center;">{{row.f_state}}</th>
176
+ <th style="text-align: center;">{{row.f_operate_date}}</th>
177
+ <td style="text-align: center;">{{row.f_orgname}}</td>
178
+ </template>
179
+ </data-grid>
180
+ </criteria-paged>
181
+ <table class="table-hover">
182
+ <tr style="position: relative" class="table-bordered">
183
+ <td
184
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
185
+ 汇总信息
186
+ </td>
187
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
188
+ 收费金额合计:&emsp;{{sumsmodel.f_charge_money}}
189
+ </td>
190
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
191
+ 清欠金额合计:&emsp;{{sumsmodel.f_debt_money}}
192
+ </td>
193
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
194
+ 违约金金额合计:&emsp;{{sumsmodel.f_overdue}}
195
+ </td>
196
+ </tr>
197
+ </table>
198
+ </div>
199
+ <div v-if="show">
200
+ <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
201
+ </div>
202
+ </div>
203
+ </div>
204
+
205
+ </template>
206
+ <script>
207
+ /**
208
+ *用户档案查询列表以及添加操作组件
209
+ */
210
+ import {HttpResetClass, PagedList} from 'vue-client'
211
+ import defaultPrint from '../config/DefaultPrint'
212
+ import exportConfig from '../config/exportConfig'
213
+
214
+ let readySomething = async function (self) {
215
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
216
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
217
+ // await self.$refs.paged.$refs.cri.search()
218
+ await self.$getConfig(self, 'SellingHand')
219
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
220
+
221
+ await self.$MagLoadParams.loadParam()
222
+
223
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
224
+ console.log('self.sumsmodel', self.sumsmodel)
225
+ }
226
+
227
+
228
+ export default {
229
+ title: '收费抄表',
230
+ data() {
231
+ return {
232
+ rows: null,
233
+ criteriaShow: false,
234
+ model: new PagedList('rs/sql/getSellingHand', 50, {}, {f_charge_money: 0, f_debt_money: 0, f_overdue: 0}),
235
+ orgCondtionStr: '',
236
+ charge_state: this.$appdata.getParam('收费状态') ? [{
237
+ label: '全部',
238
+ value: ''
239
+ }, ...this.$appdata.getParam('收费状态')] : [],
240
+ getfield: '',
241
+ show:false,
242
+ jurisdiction:this.$login.r,
243
+ rowdata:{},
244
+ residentialArea:[],
245
+ area:[],
246
+ config: {
247
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_last_balance', 'f_balance']
248
+ },
249
+ initres: {
250
+ org:[this.$login.f.orgid],
251
+ dep:[],
252
+ user:[],
253
+ },
254
+ defaultfield: [],
255
+ sumsmodel: {}
256
+ }
257
+ },
258
+ ready() {
259
+ this.getaddress()
260
+
261
+ readySomething(this).then(() => {
262
+ this.$emit('ready')
263
+ }).catch((error) => {
264
+ this.$emit('error', error)
265
+ })
266
+ },
267
+ methods: {
268
+ async getaddress(){
269
+ console.log('开始获取小区')
270
+ let HttpReset = new HttpResetClass()
271
+ var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
272
+ data: {
273
+ condition: '1=1'
274
+ }
275
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
276
+ console.log('小区',data)
277
+ let house = []
278
+ for (let row of data.data){
279
+ console.log('开始保存小区')
280
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
281
+ }
282
+ this.residentialArea = house
283
+ },
284
+ search(){
285
+ this.$refs.paged.$refs.cri.search()
286
+ },
287
+ selfSearch(args) {
288
+ //小区查询条件
289
+ this.area = this.$refs.paged.$refs.cri.model.f_residential_area
290
+ console.log("=====小区model绑定====",this.area)
291
+ if(this.area.length !== 0){
292
+ let str = JSON.stringify(this.area)
293
+ str = str.replace(/"/g,`'`)
294
+ str = str.replace(/\[/g,``)
295
+ str = str.replace(/\]/g,``)
296
+ console.log("=====小区model22222222222绑定====",str)
297
+ //查询多个小区时条件
298
+ args.condition += ` and f_residential_area in ( ${str} )`
299
+ }
300
+
301
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
302
+ args.condition = `${args.condition}` + this.orgCondtionStr
303
+ this.model.search(args.condition, args.model)
304
+ },
305
+ show() {
306
+ this.criteriaShow = true
307
+ },
308
+ cancel() {
309
+ this.show = false
310
+ },
311
+ showmsg(obj){
312
+ this.rowdata=obj
313
+ this.show=true
314
+ },
315
+ dealmsg(val) {
316
+ console.log('---------------dealmsg')
317
+ val.model = this.model.model
318
+ this.$dispatch('deal-msg', val)
319
+ },
320
+ hidden() {
321
+ this.criteriaShow = !this.criteriaShow
322
+ },
323
+ clear() {
324
+ //清空部门和人员
325
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
326
+ //部门和人员变为全选
327
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
328
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
329
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
330
+ this.$refs.paged.$refs.cri.model[key] = []
331
+ })
332
+ },
333
+ getRes(obj) {
334
+ this.orgCondtionStr = obj
335
+ },
336
+ stamp() {
337
+ this.all = false
338
+ //默认选择要打印的列
339
+ this.modelval = defaultPrint.config
340
+ this.fields = this.getfield
341
+ console.log('所有打印字段', this.fields)
342
+ this.printshow = true
343
+ this.put()
344
+ },
345
+ put() {
346
+ // 对Modelval进行排序
347
+ this.sortModelval()
348
+ this.thead = `<tr><th colspan=${this.modelval.length}>抄表收费统计报表</th></tr><tr>`
349
+ for (let key of this.modelval) {
350
+ this.thead += '<th>' + this.fields[key] + '</th>'
351
+ }
352
+ this.thead += '</tr>'
353
+ },
354
+ print() {
355
+ this.$refs.print.PrintAsFile()
356
+ this.printshow = false
357
+ },
358
+ close() {
359
+ this.printshow = false
360
+ this.all = false
361
+ },
362
+ // 对选择的列进行排序
363
+ sortModelval() {
364
+ let sortModel = []
365
+ Object.keys(this.fields).forEach((key) => {
366
+ if (this.modelval.includes(key)) {
367
+ sortModel.push(key)
368
+ }
369
+ })
370
+ this.modelval = sortModel
371
+ console.log('选择的打印的字段', this.modelval)
372
+ }
373
+ },
374
+ watch: {
375
+ 'all'(val) {
376
+ if (val) {
377
+ this.modelval = this.bodyData
378
+ } else {
379
+ this.modelval = defaultPrint.config
380
+ this.put()
381
+ }
382
+ },
383
+ 'modelval.length'() {
384
+ this.put()
385
+ },
386
+ },
387
+ computed: {
388
+ getCondition() {
389
+ let result = {
390
+ condition: ''
391
+ }
392
+ result.condition = this.$refs.paged.$refs.cri.condition + this.orgCondtionStr
393
+ return result
394
+ },
395
+ getfield() {
396
+ return exportConfig.sellingHandConfig
397
+ },
398
+ }
399
+ }
400
+ </script>
401
+ <style media="screen">
402
+ .divtext {
403
+ min-width: 50px;
404
+ max-width: 200px;
405
+ border: 1px solid green;
406
+ display: inline-block;
407
+ }
408
+ </style>