manage-client 3.2.65-aode → 3.2.66-aode

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 (69) hide show
  1. package/build/dev-server.js +193 -193
  2. package/build/webpack.base.conf.js +79 -79
  3. package/client.iml +14 -14
  4. package/package.json +1 -1
  5. package/src/Util.js +383 -383
  6. package/src/components/MeterManage/MeterList.vue +336 -336
  7. package/src/components/WebReport/UserGasAll.vue +214 -214
  8. package/src/components/sale/businessquery/ChangeMeterQuery.vue +667 -667
  9. package/src/components/sale/businessquery/ChargeQuery.vue +663 -663
  10. package/src/components/sale/businessquery/DeductionGas.vue +149 -149
  11. package/src/components/sale/businessquery/DisableQuery.vue +315 -315
  12. package/src/components/sale/businessquery/EnableQuery.vue +315 -315
  13. package/src/components/sale/businessquery/FillCardQuery.vue +436 -436
  14. package/src/components/sale/businessquery/FillGasQuery.vue +435 -435
  15. package/src/components/sale/businessquery/HandplanQuery.vue +705 -705
  16. package/src/components/sale/businessquery/InspectListGas.vue +456 -456
  17. package/src/components/sale/businessquery/NewAccountQuery.vue +506 -506
  18. package/src/components/sale/businessquery/OtherChargeQuery.vue +406 -406
  19. package/src/components/sale/businessquery/QueryUserState.vue +313 -313
  20. package/src/components/sale/businessquery/ReverseQuery.vue +347 -347
  21. package/src/components/sale/businessquery/TransferQuery.vue +363 -363
  22. package/src/components/sale/businessquery/toolCardMakeQuery.vue +340 -340
  23. package/src/components/sale/filesquery/ArchivesManage.vue +3 -0
  24. package/src/components/sale/filesquery/ChangeUserQuery.vue +394 -0
  25. package/src/components/sale/filesquery/DeviceQuery.vue +329 -329
  26. package/src/components/sale/filesquery/MeterQuery.vue +593 -593
  27. package/src/components/sale/filesquery/UserQuery.vue +556 -556
  28. package/src/components/sale/filesquery/filequerydetail/BlackListQueryDetail.vue +219 -219
  29. package/src/components/sale/filesquery/filequerydetail/DisableQueryDetail.vue +272 -272
  30. package/src/components/sale/filesquery/filequerydetail/EnableQueryDetail.vue +274 -274
  31. package/src/components/sale/ncpush/ncUserLoad.vue +176 -176
  32. package/src/components/sale/ncpush/ncpushmanage/NCpushList.vue +497 -497
  33. package/src/components/sale/ncpush/ncrecord/pushdaydatalist.vue +298 -298
  34. package/src/components/sale/ncpush/pushconfirmlist.vue +414 -414
  35. package/src/components/sale/ncpush/pushconfirmmergelist.vue +480 -480
  36. package/src/components/sale/report/aode/DayReportList.vue +516 -516
  37. package/src/components/sale/report/aode/MonthByChargeType.vue +526 -526
  38. package/src/components/sale/report/aode/MonthByUserType.vue +562 -562
  39. package/src/components/sale/report/aode/YearByChargeTpye.vue +254 -254
  40. package/src/components/sale/report/aode/YearByUserType.vue +342 -342
  41. package/src/components/sale/report/aode/iot/FarawayQuery.vue +401 -401
  42. package/src/components/sale/report/aode/iot/ReportQuery.vue +387 -387
  43. package/src/components/sale/report/aode/userbuyQuery.vue +477 -477
  44. package/src/components/valueaddinfo/ValueAddinfoQuery.vue +425 -425
  45. package/src/components/valueaddinfo/renewalvalueAddUserQuery.vue +371 -371
  46. package/src/components/valueaddinfo/valueAddCountQuery.vue +315 -315
  47. package/src/components/valueaddinfo/valueAddUserQuery.vue +404 -404
  48. package/src/components/webmeter/ArreasuserQuery.vue +193 -193
  49. package/src/components/webmeter/DrillData/LostContactAnalysis.vue +531 -531
  50. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +548 -548
  51. package/src/components/webmeter/DrillData/NewUserGasAll.vue +564 -564
  52. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +507 -507
  53. package/src/components/webmeter/EasyExcelExportCk.vue +396 -396
  54. package/src/components/webmeter/IOTArrears/arrears.vue +324 -324
  55. package/src/components/webmeter/IOTArrears/iotRechargeAudit.vue +377 -377
  56. package/src/components/webmeter/NewWebmeterHandplanQuery.vue +605 -605
  57. package/src/components/webmeter/WebmeterHandplanQuery.vue +640 -640
  58. package/src/components/webmeter/dataCollection/DataCollection.vue +630 -630
  59. package/src/components/webmeter/gasAnalysis/GasAnalysisManage.vue +303 -303
  60. package/src/components/webmeter/handplan/NewWebMeterHandPlan.vue +745 -745
  61. package/src/components/webmeter/newwebmeter/NewException/NewMeterException.vue +449 -449
  62. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +492 -492
  63. package/src/components/webmeter/newwebmeter/ReportDataQuery.vue +283 -283
  64. package/src/components/webmeter/newwebmeter/UserGasList.vue +295 -295
  65. package/src/components/webmeter/newwebmeter/UserInstructList.vue +311 -311
  66. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +386 -386
  67. package/src/components/webmeter/report/ReportList.vue +211 -211
  68. package/src/main.js +56 -56
  69. package/src/saleManage.js +4 -0
@@ -1,406 +1,406 @@
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
-
6
- <criteria-paged :model="model" v-ref:paged>
7
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
- <div class="row">
10
- <div class="col-sm-2 form-group">
11
- <label class="font_normal_body">客户编号</label>
12
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
13
- condition="f_userinfo_code = '{}' " placeholder="客户编号">
14
- </div>
15
- <div class="col-sm-2 form-group">
16
- <label class="font_normal_body">客户名称</label>
17
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
18
- condition="f_user_name like '%{}%'" placeholder="客户名称">
19
- </div>
20
- <div class="col-sm-2 form-group">
21
- <label for="startDate" class="font_normal_body">开始日期</label>
22
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
23
- v-model="model.startDate"
24
- :value.sync="model.startDate"
25
- :format="'yyyy-MM-dd HH:mm:ss'"
26
- :show-reset-button="true"
27
- condition="f_operate_date >= '{}'">
28
- </datepicker>
29
- </div>
30
- <div class="col-sm-2 form-group">
31
- <label for="endDate" class="font_normal_body">结束日期</label>
32
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
33
- v-model="model.endDate"
34
- :value.sync="model.endDate"
35
- :format="'yyyy-MM-dd HH:mm:ss'"
36
- :show-reset-button="true"
37
- condition="f_operate_date <= '{}'">
38
- </datepicker>
39
- </div>
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
- <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
44
-
45
- <export-excel :data="$parent.$parent.getCondition" :defaultselect="$parent.$parent.selectfields"
46
- :field="$parent.$parent.getfield"
47
- sqlurl="rs/logic/exportfile" sql-name="otherChargeQuery" template-name='其他收费查询导出'
48
- :choose-col="true"></export-excel>
49
-
50
- <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>
51
- </div>
52
- </div>
53
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
54
- <div class="row" v-show="$parent.$parent.criteriaShow">
55
- <div class="col-sm-2 form-group">
56
- <label class="font_normal_body">客户地址</label>
57
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
58
- condition="f_address like '%{}%'" placeholder='客户地址'>
59
- </div>
60
- <div class="col-sm-2 form-group">
61
- <label class="font_normal_body">收费类型</label>
62
- <v-select id="f_type"
63
- v-model="model.f_brand_spec"
64
- placeholder='请选择'
65
- condition="f_type ='{}'"
66
- :value.sync="model.f_type"
67
- :options='$parent.$parent.chargetype'
68
- close-on-select clear-button></v-select>
69
- </div>
70
- <div class="col-sm-2 form-group">
71
- <label class="font_normal_body">收费状态</label>
72
- <v-select id="f_state"
73
- v-model="model.f_state"
74
- placeholder='请选择'
75
- condition="f_state ='{}'"
76
- :value.sync="model.f_state"
77
- :options='$parent.$parent.chargeState'
78
- close-on-select clear-button>
79
- </v-select>
80
- </div>
81
-
82
- <div class="col-sm-2 form-group">
83
- <label class="font_normal_body">付款方式</label>
84
- <v-select id="f_payment"
85
- v-model="model.f_payment"
86
- placeholder='请选择'
87
- condition="f_payment ='{}'"
88
- :value.sync="model.f_payment"
89
- :options='$parent.$parent.payments'
90
- close-on-select clear-button>
91
- </v-select>
92
- </div>
93
- <div class="col-sm-2 form-group">
94
- <label class="font_normal_body">服务人员</label>
95
- <v-select id="f_service_person"
96
- v-model="model.f_service_person"
97
- placeholder='请选择'
98
- condition="f_service_person ='{}'"
99
- :value.sync="model.f_service_person"
100
- :options='$parent.$parent.service_person'
101
- close-on-select clear-button>
102
- </v-select>
103
- </div>
104
- </div>
105
- </div>
106
- </criteria>
107
-
108
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
109
- <template partial='head'>
110
- <tr>
111
- <th>
112
- <nobr>客户编号</nobr>
113
- </th>
114
- <th>
115
- <nobr>客户名称</nobr>
116
- </th>
117
- <th>
118
- <nobr>客户地址</nobr>
119
- </th>
120
- <th>
121
- <nobr>收款</nobr>
122
- </th>
123
- <th>
124
- <nobr>付款方式</nobr>
125
- </th>
126
- <th>
127
- <nobr>状态</nobr>
128
- </th>
129
- <th>
130
- <nobr>收费日期</nobr>
131
- </th>
132
- <th>
133
- <nobr>服务人员</nobr>
134
- </th>
135
- <th>
136
- <nobr>备注</nobr>
137
- </th>
138
- <th>
139
- <nobr>人员</nobr>
140
- </th>
141
- <th>
142
- <nobr>部门</nobr>
143
- </th>
144
- <th>
145
- <nobr>公司</nobr>
146
- </th>
147
- <th><nobr>查看详情</nobr></th>
148
- </tr>
149
- </template>
150
- <template partial='body'>
151
- <td style="text-align: center;">
152
- <nobr>
153
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
154
- </td>
155
- <td style="text-align: center;">
156
- <nobr>{{row.f_user_name}}</nobr>
157
- </td>
158
- <td style="text-align: center;">
159
- <nobr>{{row.f_address}}</nobr>
160
- </td>
161
- <td style="text-align: center;">
162
- <nobr>{{row.f_collection}}</nobr>
163
- </td>
164
- <td style="text-align: center;">
165
- <nobr>{{row.f_payment}}</nobr>
166
- </td>
167
- <td style="text-align: center;">
168
- <nobr>{{row.f_state}}</nobr>
169
- </td>
170
- <td style="text-align: center;">
171
- <nobr>{{row.f_operate_date}}</nobr>
172
- </td>
173
- <td style="text-align: center;">
174
- <nobr>{{row.f_service_person}}</nobr>
175
- </td>
176
- <td style="text-align: center;">
177
- <nobr>{{row.f_comments}}</nobr>
178
- </td>
179
- <td style="text-align: center;">
180
- <nobr>{{row.f_operator}}</nobr>
181
- </td>
182
- <td style="text-align: center;">
183
- <nobr>{{row.f_depname}}</nobr>
184
- </td>
185
- <td style="text-align: center;">
186
- <nobr>{{row.f_orgname}}</nobr>
187
- </td>
188
- <td style="text-align: center;">
189
- <button class="btn btn-link" @click.stop="$parent.$parent.$parent.showchargedetail(row)">查看</button>
190
- </td>
191
- </template>
192
- <template partial='foot'></template>
193
- </data-grid>
194
-
195
- </criteria-paged>
196
-
197
- <table class="table-hover">
198
- <tr style="position: relative" class="table-bordered">
199
- <td
200
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
201
- 汇总信息
202
- </td>
203
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
204
- 收款合计:&emsp;{{sumsmodel.f_collection}}
205
- </td>
206
- </tr>
207
- </table>
208
-
209
- </div>
210
- <div v-if="show">
211
- <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
212
- </div>
213
- </div>
214
- </div>
215
-
216
- <modal v-if="showdetail" :show.sync="showdetail" title="详细记录" v-ref:modal large backdrop="false">
217
- <article slot="modal-body" class="modal-body">
218
- <other-charge-detail-query :otherchargeid="otherchargeid" ></other-charge-detail-query>
219
- </article>
220
- <footer slot="modal-footer" class="modal-footer">
221
- </footer>
222
- </modal>
223
-
224
- </template>
225
-
226
- <script>
227
- import {PagedList} from 'vue-client'
228
- import defaultPrint from '../config/DefaultPrint'
229
- import exportConfig from '../config/exportConfig'
230
- import OtherChargeDetailQuery from "./OtherChargeDetailQuery";
231
-
232
- let readySomething = async function (self) {
233
- self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
234
- self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
235
- // await self.$refs.paged.$refs.cri.search()
236
- await self.$MagLoadParams.loadParam()
237
-
238
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
239
- }
240
- export default {
241
- components: {
242
- OtherChargeDetailQuery
243
- },
244
- data() {
245
- return {
246
- selectfields:[],
247
- data: {},
248
- model: new PagedList('rs/sql/otherChargeQuery', 20, {}, {f_collection: 0}),
249
- criteriaShow: false,
250
- orgCondtionStr: '',
251
- modelval: [],
252
- printshow: false,
253
- all: false,
254
- fields: {},
255
- thead: '',
256
- tfoot: '',
257
- initres: {
258
- org:[this.$login.f.orgid],
259
- dep:[],
260
- user:[],
261
- },
262
- show:false,
263
- showdetail:false,
264
- otherchargeid:'',
265
- rowdata:{},
266
- //合计数据
267
- sumsmodel: {}
268
- }
269
- },
270
- props:['selectorg'],
271
- ready() {
272
- if(this.selectorg != null && this.selectorg != null != ''){
273
- this.initres.org=[]
274
- this.initres.org.push(this.selectorg);
275
- }
276
- readySomething(this).then(() => {
277
- this.$emit('ready')
278
- }).catch((error) => {
279
- this.$emit('error', error)
280
- })
281
- for(var item in exportConfig.dataReportConfig){
282
- this.selectfields.push(item)
283
- }
284
- },
285
- methods: {
286
- search(){
287
- this.$refs.paged.$refs.cri.search()
288
- },
289
- selfSearch(args) {
290
- args.condition = `${args.condition}` + this.orgCondtionStr
291
- this.model.search(args.condition, args.model)
292
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
293
- },
294
- clear() {
295
- //清空部门和人员
296
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
297
- //部门和人员变为全选
298
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
299
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
300
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
301
- this.$refs.paged.$refs.cri.model[key] = ''
302
- })
303
- },
304
- show() {
305
- this.criteriaShow = true
306
- },
307
- hidden() {
308
- this.criteriaShow = !this.criteriaShow
309
- },
310
- getRes(obj) {
311
- this.orgCondtionStr = obj
312
- },
313
- cancel() {
314
- this.show = false
315
- },
316
- dealmsg(val) {
317
- console.log('---------------dealmsg')
318
- this.rowdata=val
319
- this.show=true
320
- val.model = this.model.model
321
- this.$dispatch('deal-msg', val)
322
- },
323
- stamp() {
324
- this.all = false
325
- //默认选择要打印的列
326
- this.modelval = defaultPrint.config
327
- this.fields = this.getfield
328
- console.log('所有打印字段', this.fields)
329
- this.printshow = true
330
- this.put()
331
- },
332
- put() {
333
- // 对Modelval进行排序
334
- this.sortModelval()
335
- this.thead = `<tr><th colspan=${this.modelval.length}>其他收费查询统计报表</th></tr><tr>`
336
- for (let key of this.modelval) {
337
- this.thead += '<th>' + this.fields[key] + '</th>'
338
- }
339
- this.thead += '</tr>'
340
- },
341
- print() {
342
- this.$refs.print.PrintAsFile()
343
- this.printshow = false
344
- },
345
- close() {
346
- this.printshow = false
347
- this.all = false
348
- },
349
- // 对选择的列进行排序
350
- sortModelval() {
351
- let sortModel = []
352
- Object.keys(this.fields).forEach((key) => {
353
- if (this.modelval.includes(key)) {
354
- sortModel.push(key)
355
- }
356
- })
357
- this.modelval = sortModel
358
- console.log('选择的打印的字段', this.modelval)
359
- },
360
- showchargedetail(row){
361
- this.showdetail=true
362
- this.otherchargeid=row.id
363
- }
364
- },
365
- watch: {
366
- 'all'(val) {
367
- if (val) {
368
- this.modelval = this.bodyData
369
- } else {
370
- this.modelval = defaultPrint.config
371
- this.put()
372
- }
373
- },
374
- 'modelval.length'() {
375
- this.put()
376
- },
377
- 'orgCondtionStr'(val) {
378
- let res = val.match(/'(.*?)'/)
379
- console.log('正则提取:',res && res[1])
380
- if (res) {
381
- this.selectorg = res[1]
382
- }
383
- }
384
- },
385
- computed: {
386
- getCondition() {
387
- return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
388
- },
389
- service_person() {
390
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('服务人员')]
391
- },
392
- getfield() {
393
- return exportConfig.otherchargeConfig
394
- },
395
- chargetype() {
396
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('品名及规格')]
397
- },
398
- chargeState() {
399
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
400
- },
401
- payments() {
402
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
403
- }
404
- }
405
- }
406
- </script>
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
+
6
+ <criteria-paged :model="model" v-ref:paged>
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label class="font_normal_body">客户编号</label>
12
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
13
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
14
+ </div>
15
+ <div class="col-sm-2 form-group">
16
+ <label class="font_normal_body">客户名称</label>
17
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
18
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label for="startDate" class="font_normal_body">开始日期</label>
22
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
23
+ v-model="model.startDate"
24
+ :value.sync="model.startDate"
25
+ :format="'yyyy-MM-dd HH:mm:ss'"
26
+ :show-reset-button="true"
27
+ condition="f_operate_date >= '{}'">
28
+ </datepicker>
29
+ </div>
30
+ <div class="col-sm-2 form-group">
31
+ <label for="endDate" class="font_normal_body">结束日期</label>
32
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
33
+ v-model="model.endDate"
34
+ :value.sync="model.endDate"
35
+ :format="'yyyy-MM-dd HH:mm:ss'"
36
+ :show-reset-button="true"
37
+ condition="f_operate_date <= '{}'">
38
+ </datepicker>
39
+ </div>
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
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
44
+
45
+ <export-excel :data="$parent.$parent.getCondition" :defaultselect="$parent.$parent.selectfields"
46
+ :field="$parent.$parent.getfield"
47
+ sqlurl="rs/logic/exportfile" sql-name="otherChargeQuery" template-name='其他收费查询导出'
48
+ :choose-col="true"></export-excel>
49
+
50
+ <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>
51
+ </div>
52
+ </div>
53
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
54
+ <div class="row" v-show="$parent.$parent.criteriaShow">
55
+ <div class="col-sm-2 form-group">
56
+ <label class="font_normal_body">客户地址</label>
57
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
58
+ condition="f_address like '%{}%'" placeholder='客户地址'>
59
+ </div>
60
+ <div class="col-sm-2 form-group">
61
+ <label class="font_normal_body">收费类型</label>
62
+ <v-select id="f_type"
63
+ v-model="model.f_brand_spec"
64
+ placeholder='请选择'
65
+ condition="f_type ='{}'"
66
+ :value.sync="model.f_type"
67
+ :options='$parent.$parent.chargetype'
68
+ close-on-select clear-button></v-select>
69
+ </div>
70
+ <div class="col-sm-2 form-group">
71
+ <label class="font_normal_body">收费状态</label>
72
+ <v-select id="f_state"
73
+ v-model="model.f_state"
74
+ placeholder='请选择'
75
+ condition="f_state ='{}'"
76
+ :value.sync="model.f_state"
77
+ :options='$parent.$parent.chargeState'
78
+ close-on-select clear-button>
79
+ </v-select>
80
+ </div>
81
+
82
+ <div class="col-sm-2 form-group">
83
+ <label class="font_normal_body">付款方式</label>
84
+ <v-select id="f_payment"
85
+ v-model="model.f_payment"
86
+ placeholder='请选择'
87
+ condition="f_payment ='{}'"
88
+ :value.sync="model.f_payment"
89
+ :options='$parent.$parent.payments'
90
+ close-on-select clear-button>
91
+ </v-select>
92
+ </div>
93
+ <div class="col-sm-2 form-group">
94
+ <label class="font_normal_body">服务人员</label>
95
+ <v-select id="f_service_person"
96
+ v-model="model.f_service_person"
97
+ placeholder='请选择'
98
+ condition="f_service_person ='{}'"
99
+ :value.sync="model.f_service_person"
100
+ :options='$parent.$parent.service_person'
101
+ close-on-select clear-button>
102
+ </v-select>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </criteria>
107
+
108
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
109
+ <template partial='head'>
110
+ <tr>
111
+ <th>
112
+ <nobr>客户编号</nobr>
113
+ </th>
114
+ <th>
115
+ <nobr>客户名称</nobr>
116
+ </th>
117
+ <th>
118
+ <nobr>客户地址</nobr>
119
+ </th>
120
+ <th>
121
+ <nobr>收款</nobr>
122
+ </th>
123
+ <th>
124
+ <nobr>付款方式</nobr>
125
+ </th>
126
+ <th>
127
+ <nobr>状态</nobr>
128
+ </th>
129
+ <th>
130
+ <nobr>收费日期</nobr>
131
+ </th>
132
+ <th>
133
+ <nobr>服务人员</nobr>
134
+ </th>
135
+ <th>
136
+ <nobr>备注</nobr>
137
+ </th>
138
+ <th>
139
+ <nobr>人员</nobr>
140
+ </th>
141
+ <th>
142
+ <nobr>部门</nobr>
143
+ </th>
144
+ <th>
145
+ <nobr>公司</nobr>
146
+ </th>
147
+ <th><nobr>查看详情</nobr></th>
148
+ </tr>
149
+ </template>
150
+ <template partial='body'>
151
+ <td style="text-align: center;">
152
+ <nobr>
153
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
154
+ </td>
155
+ <td style="text-align: center;">
156
+ <nobr>{{row.f_user_name}}</nobr>
157
+ </td>
158
+ <td style="text-align: center;">
159
+ <nobr>{{row.f_address}}</nobr>
160
+ </td>
161
+ <td style="text-align: center;">
162
+ <nobr>{{row.f_collection}}</nobr>
163
+ </td>
164
+ <td style="text-align: center;">
165
+ <nobr>{{row.f_payment}}</nobr>
166
+ </td>
167
+ <td style="text-align: center;">
168
+ <nobr>{{row.f_state}}</nobr>
169
+ </td>
170
+ <td style="text-align: center;">
171
+ <nobr>{{row.f_operate_date}}</nobr>
172
+ </td>
173
+ <td style="text-align: center;">
174
+ <nobr>{{row.f_service_person}}</nobr>
175
+ </td>
176
+ <td style="text-align: center;">
177
+ <nobr>{{row.f_comments}}</nobr>
178
+ </td>
179
+ <td style="text-align: center;">
180
+ <nobr>{{row.f_operator}}</nobr>
181
+ </td>
182
+ <td style="text-align: center;">
183
+ <nobr>{{row.f_depname}}</nobr>
184
+ </td>
185
+ <td style="text-align: center;">
186
+ <nobr>{{row.f_orgname}}</nobr>
187
+ </td>
188
+ <td style="text-align: center;">
189
+ <button class="btn btn-link" @click.stop="$parent.$parent.$parent.showchargedetail(row)">查看</button>
190
+ </td>
191
+ </template>
192
+ <template partial='foot'></template>
193
+ </data-grid>
194
+
195
+ </criteria-paged>
196
+
197
+ <table class="table-hover">
198
+ <tr style="position: relative" class="table-bordered">
199
+ <td
200
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
201
+ 汇总信息
202
+ </td>
203
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
204
+ 收款合计:&emsp;{{sumsmodel.f_collection}}
205
+ </td>
206
+ </tr>
207
+ </table>
208
+
209
+ </div>
210
+ <div v-if="show">
211
+ <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
212
+ </div>
213
+ </div>
214
+ </div>
215
+
216
+ <modal v-if="showdetail" :show.sync="showdetail" title="详细记录" v-ref:modal large backdrop="false">
217
+ <article slot="modal-body" class="modal-body">
218
+ <other-charge-detail-query :otherchargeid="otherchargeid" ></other-charge-detail-query>
219
+ </article>
220
+ <footer slot="modal-footer" class="modal-footer">
221
+ </footer>
222
+ </modal>
223
+
224
+ </template>
225
+
226
+ <script>
227
+ import {PagedList} from 'vue-client'
228
+ import defaultPrint from '../config/DefaultPrint'
229
+ import exportConfig from '../config/exportConfig'
230
+ import OtherChargeDetailQuery from "./OtherChargeDetailQuery";
231
+
232
+ let readySomething = async function (self) {
233
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
234
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
235
+ // await self.$refs.paged.$refs.cri.search()
236
+ await self.$MagLoadParams.loadParam()
237
+
238
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
239
+ }
240
+ export default {
241
+ components: {
242
+ OtherChargeDetailQuery
243
+ },
244
+ data() {
245
+ return {
246
+ selectfields:[],
247
+ data: {},
248
+ model: new PagedList('rs/sql/otherChargeQuery', 20, {}, {f_collection: 0}),
249
+ criteriaShow: false,
250
+ orgCondtionStr: '',
251
+ modelval: [],
252
+ printshow: false,
253
+ all: false,
254
+ fields: {},
255
+ thead: '',
256
+ tfoot: '',
257
+ initres: {
258
+ org:[this.$login.f.orgid],
259
+ dep:[],
260
+ user:[],
261
+ },
262
+ show:false,
263
+ showdetail:false,
264
+ otherchargeid:'',
265
+ rowdata:{},
266
+ //合计数据
267
+ sumsmodel: {}
268
+ }
269
+ },
270
+ props:['selectorg'],
271
+ ready() {
272
+ if(this.selectorg != null && this.selectorg != null != ''){
273
+ this.initres.org=[]
274
+ this.initres.org.push(this.selectorg);
275
+ }
276
+ readySomething(this).then(() => {
277
+ this.$emit('ready')
278
+ }).catch((error) => {
279
+ this.$emit('error', error)
280
+ })
281
+ for(var item in exportConfig.dataReportConfig){
282
+ this.selectfields.push(item)
283
+ }
284
+ },
285
+ methods: {
286
+ search(){
287
+ this.$refs.paged.$refs.cri.search()
288
+ },
289
+ selfSearch(args) {
290
+ args.condition = `${args.condition}` + this.orgCondtionStr
291
+ this.model.search(args.condition, args.model)
292
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
293
+ },
294
+ clear() {
295
+ //清空部门和人员
296
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
297
+ //部门和人员变为全选
298
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
299
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
300
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
301
+ this.$refs.paged.$refs.cri.model[key] = ''
302
+ })
303
+ },
304
+ show() {
305
+ this.criteriaShow = true
306
+ },
307
+ hidden() {
308
+ this.criteriaShow = !this.criteriaShow
309
+ },
310
+ getRes(obj) {
311
+ this.orgCondtionStr = obj
312
+ },
313
+ cancel() {
314
+ this.show = false
315
+ },
316
+ dealmsg(val) {
317
+ console.log('---------------dealmsg')
318
+ this.rowdata=val
319
+ this.show=true
320
+ val.model = this.model.model
321
+ this.$dispatch('deal-msg', val)
322
+ },
323
+ stamp() {
324
+ this.all = false
325
+ //默认选择要打印的列
326
+ this.modelval = defaultPrint.config
327
+ this.fields = this.getfield
328
+ console.log('所有打印字段', this.fields)
329
+ this.printshow = true
330
+ this.put()
331
+ },
332
+ put() {
333
+ // 对Modelval进行排序
334
+ this.sortModelval()
335
+ this.thead = `<tr><th colspan=${this.modelval.length}>其他收费查询统计报表</th></tr><tr>`
336
+ for (let key of this.modelval) {
337
+ this.thead += '<th>' + this.fields[key] + '</th>'
338
+ }
339
+ this.thead += '</tr>'
340
+ },
341
+ print() {
342
+ this.$refs.print.PrintAsFile()
343
+ this.printshow = false
344
+ },
345
+ close() {
346
+ this.printshow = false
347
+ this.all = false
348
+ },
349
+ // 对选择的列进行排序
350
+ sortModelval() {
351
+ let sortModel = []
352
+ Object.keys(this.fields).forEach((key) => {
353
+ if (this.modelval.includes(key)) {
354
+ sortModel.push(key)
355
+ }
356
+ })
357
+ this.modelval = sortModel
358
+ console.log('选择的打印的字段', this.modelval)
359
+ },
360
+ showchargedetail(row){
361
+ this.showdetail=true
362
+ this.otherchargeid=row.id
363
+ }
364
+ },
365
+ watch: {
366
+ 'all'(val) {
367
+ if (val) {
368
+ this.modelval = this.bodyData
369
+ } else {
370
+ this.modelval = defaultPrint.config
371
+ this.put()
372
+ }
373
+ },
374
+ 'modelval.length'() {
375
+ this.put()
376
+ },
377
+ 'orgCondtionStr'(val) {
378
+ let res = val.match(/'(.*?)'/)
379
+ console.log('正则提取:',res && res[1])
380
+ if (res) {
381
+ this.selectorg = res[1]
382
+ }
383
+ }
384
+ },
385
+ computed: {
386
+ getCondition() {
387
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
388
+ },
389
+ service_person() {
390
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('服务人员')]
391
+ },
392
+ getfield() {
393
+ return exportConfig.otherchargeConfig
394
+ },
395
+ chargetype() {
396
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('品名及规格')]
397
+ },
398
+ chargeState() {
399
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
400
+ },
401
+ payments() {
402
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
403
+ }
404
+ }
405
+ }
406
+ </script>