manage-client 3.3.178 → 3.3.179

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 (42) hide show
  1. package/build/dev-server.js +7 -11
  2. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  3. package/gradlew +234 -234
  4. package/gradlew.bat +89 -89
  5. package/package.json +2 -2
  6. package/src/components/SellReport/BusinessClassify.vue +292 -292
  7. package/src/components/SellReport/GasMoneyPublicConReport.vue +258 -258
  8. package/src/components/handReport/WebGastypeMonthReport.vue +190 -190
  9. package/src/components/sale/businessquery/BusinessManage.vue +212 -212
  10. package/src/components/sale/businessquery/CardHandplanQuery.vue +546 -546
  11. package/src/components/sale/businessquery/FMYGasQuery.vue +813 -813
  12. package/src/components/sale/businessquery/TransferQuery.vue +502 -502
  13. package/src/components/sale/businessquery/WebMeterMonthUserGasQuery.vue +471 -471
  14. package/src/components/sale/config/exportConfig.js +1245 -1245
  15. package/src/components/sale/filesquery/RecordInfoQuery.vue +1443 -1443
  16. package/src/components/webmeter/gasStatistics/GasStatistics.vue +525 -525
  17. package/src/components/webmeter/gasStatistics/NewGasStatistics.vue +541 -541
  18. package/src/filiale/WEINAN/InspectListGas.vue +616 -616
  19. package/src/filiale/jingyang/RechargeList.vue +346 -346
  20. package/src/filiale/jingyang/sale.js +6 -6
  21. package/src/filiale/liaoyuan/HandplanQuery.vue +1289 -1289
  22. package/src/filiale/meihekou/CardHandplanQuery.vue +664 -664
  23. package/src/filiale/meihekou/ChargeQuery.vue +1274 -1274
  24. package/src/filiale/meihekou/HandplanQuery.vue +1248 -1248
  25. package/src/filiale/ningjin/UserLostContactAnalysis.vue +623 -623
  26. package/src/filiale/qianneng/exportConfig.js +232 -232
  27. package/src/filiale/shaoguan/errorHandplanQuery.vue +386 -386
  28. package/src/filiale/taizhoukesi/ChangeMeterQuery.vue +683 -683
  29. package/src/filiale/taizhoukesi/config/exportConfig.js +2379 -2379
  30. package/src/filiale/taizhoukesi/sale.js +11 -11
  31. package/src/filiale/tongchuan/InspectListGas.vue +700 -700
  32. package/src/filiale/tongchuan/ResSelectGroupNew.vue +188 -188
  33. package/src/filiale/yangchun/ManageBusSummaryNew.vue +239 -239
  34. package/src/filiale/yangchun/UserQuery.vue +980 -980
  35. package/src/filiale/yangchun/config/DefaultPrint.js +6 -6
  36. package/src/filiale/yangchun/config/exportConfig.js +1231 -1231
  37. package/src/filiale/yangchun/config/tableConfig.js +58 -58
  38. package/src/filiale/yangchun/reportManage.js +6 -6
  39. package/src/filiale/yangchun/sale.js +8 -8
  40. package/src/filiale/yangchun/webmeterManage.js +5 -5
  41. package/src/reportManage.js +768 -768
  42. package/src/saleManage.js +689 -689
@@ -1,502 +1,502 @@
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 @sort="sort">
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 for="startDate" class="font_normal_body">开始日期</label>
12
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
- v-model="model.startDate"
14
- :value.sync="model.startDate"
15
- :format="'yyyy-MM-dd HH:mm:ss'"
16
- :show-reset-button="true"
17
- condition="f_operate_date >= '{}'">
18
- </datepicker>
19
- </div>
20
- <div class="col-sm-2 form-group">
21
- <label for="endDate" class="font_normal_body">结束日期</label>
22
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
- v-model="model.endDate"
24
- :value.sync="model.endDate"
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 class="font_normal_body">客户编号</label>
32
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
- condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
- </div>
35
- <div class="col-sm-2 form-group">
36
- <label class="font_normal_body" title="旧客户编号">档案编号</label>
37
- <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
38
- condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
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
- <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
45
- :field="$parent.$parent.getfield" :header="$parent.$parent.other"
46
- sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="transferQuery" template-name='过户查询导出'
47
- :choose-col="true"></export-excel>
48
- <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
49
- :defaultfield="$parent.$parent.defaultfield"
50
- titletable="过户记录"
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" v-show="$parent.$parent.criteriaShow">
56
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" :cascade =true v-ref:sel></res-select-group>
57
-
58
- <div class="col-sm-2 form-group">
59
- <label class="font_normal_body">客户地址</label>
60
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
61
- condition="f_address like '%{}%'" placeholder='客户地址'>
62
- </div>
63
- <div class="col-sm-2 form-group">
64
- <label class="font_normal_body">表&emsp;&emsp;号</label>
65
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
66
- condition="f_meternumber = '{}'" placeholder='表号'>
67
- </div>
68
- <div class="col-sm-2 form-group">
69
- <label class="font_normal_body">卡&emsp;&emsp;号</label>
70
- <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
71
- condition="f_card_id = '{}'" placeholder='卡号'>
72
- </div>
73
- <div class="col-sm-2 form-group">
74
- <label class="font_normal_body">过户状态</label>
75
- <v-select :value.sync="model.f_state"
76
- v-model="model.f_state"
77
- :options='$parent.$parent.transferstate' placeholder='请选择'
78
- condition="f_state = '{}'"
79
- close-on-select></v-select>
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_user_name"
84
- placeholder="原户姓名"
85
- condition="f_user_name = '{}'">
86
- </div>
87
- <div class="col-sm-2 form-group">
88
- <label class="font_normal_body">新户姓名</label>
89
- <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_name"
90
- condition="f_newuser_name like '%{}%' " placeholder="新户姓名">
91
- </div>
92
- <div class="col-sm-2 form-group">
93
- <label class="font_normal_body">原户电话</label>
94
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
95
- condition="f_user_phone like '%{}%' " placeholder="原户电话">
96
- </div>
97
- <div class="col-sm-2 form-group">
98
- <label class="font_normal_body">新户电话</label>
99
- <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_phone"
100
- condition="f_newuser_phone like '%{}%' " placeholder="新户电话">
101
- </div>
102
- <div class="col-sm-2 form-group">
103
- <label class="font_normal_body">合同编号</label>
104
- <input type="text" style="width:60%" class="input_search" v-model="model.f_contract_id"
105
- condition="f_contract_id like '%{}%' " placeholder="合同编号">
106
- </div>
107
- </div>
108
- </div>
109
- </criteria>
110
-
111
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
112
- <template partial='head'>
113
- <tr>
114
- <th>
115
- <!-- <nobr>客户编号</nobr>-->
116
- <data-order field="f_userinfo_code" name="客户编号"
117
- :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
118
- </th>
119
- <th>
120
- <nobr>客户名称</nobr>
121
- </th>
122
- <th>
123
- <nobr>档案编号</nobr>
124
- </th>
125
- <th>
126
- <!-- <nobr>客户地址</nobr>-->
127
- <data-order field="f_address" name="客户地址"
128
- :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
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
- <th>
161
- <!-- <nobr>过户日期</nobr>-->
162
- <data-order field="f_operate_date" name="过户日期"
163
- :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
164
- </th>
165
- <th>
166
- <nobr>备注</nobr>
167
- </th>
168
- <th>
169
- <nobr>操作员</nobr>
170
- </th>
171
- <th>
172
- <nobr>部门</nobr>
173
- </th>
174
- <th>
175
- <nobr>公司</nobr>
176
- </th>
177
- <th><nobr>附件</nobr></th>
178
- </tr>
179
- </template>
180
- <template partial='body'>
181
- <td style="text-align: center;">
182
- <nobr>
183
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
184
- </td>
185
- <td style="text-align: center;">
186
- <nobr>{{row.f_newuser_name}}</nobr>
187
- </td>
188
- <td style="text-align: center;">
189
- <nobr>{{row.f_olduserinfo_code}}</nobr>
190
- </td>
191
- <td style="text-align: center;">
192
- <nobr>{{row.f_address}}</nobr>
193
- </td>
194
- <td style="text-align: center;">
195
- <nobr>{{row.f_meternumber}}</nobr>
196
- </td>
197
- <td style="text-align: center;">
198
- <nobr>{{row.f_user_name}}</nobr>
199
- </td>
200
- <td style="text-align: center;">
201
- <nobr>{{row.f_newuser_phone}}</nobr>
202
- </td>
203
- <td style="text-align: center;">
204
- <nobr>{{row.f_newidnumber}}</nobr>
205
- </td>
206
- <td style="text-align: center;">
207
- <nobr>{{row.f_user_phone}}</nobr>
208
- </td>
209
- <td style="text-align: center;">
210
- <nobr>{{row.f_idnumber}}</nobr>
211
- </td>
212
- <td style="text-align: center;">
213
- <nobr>{{ row.f_old_people_num }}</nobr>
214
- </td>
215
- <td style="text-align: center;">
216
- <nobr>{{ row.f_new_people_num }}</nobr>
217
- </td>
218
- <td style="text-align: center;">
219
- <nobr>{{row.f_transfer_fees}}</nobr>
220
- </td>
221
- <td style="text-align: center;">
222
- <nobr>{{row.f_contract_id}}</nobr>
223
- </td>
224
- <td style="text-align: center;">
225
- <nobr>{{row.f_operate_date}}</nobr>
226
- </td>
227
- <td style="text-align: center;">
228
- <nobr>{{row.f_comments}}</nobr>
229
- </td>
230
- <td style="text-align: center;">
231
- <nobr>{{row.f_operator}}</nobr>
232
- </td>
233
- <td style="text-align: center;">
234
- <nobr>{{row.f_depname}}</nobr>
235
- </td>
236
- <td style="text-align: center;">
237
- <nobr>{{row.f_orgname}}</nobr>
238
- </td>
239
- <td style="text-align: center;"><nobr>
240
- <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
241
- </nobr></td>
242
- </template>
243
- <template partial='foot'></template>
244
- </data-grid>
245
- </criteria-paged>
246
-
247
- <table class="table-hover">
248
- <tr style="position: relative" class="table-bordered">
249
- <td
250
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
251
- 汇总信息
252
- </td>
253
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
254
- 过户费合计:&emsp;{{sumsmodel.f_transfer_fees}}
255
- </td>
256
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
257
- 户数合计:&emsp;{{sumsmodel.hushu}}
258
- </td>
259
- </tr>
260
- </table>
261
- </div>
262
- <div class="flex" v-if="show">
263
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
264
- </div>
265
- </div>
266
- <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
267
- <article slot="modal-body">
268
- <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="过户管理" :isremark="false" style="width:auto" ></upload>
269
- </article>
270
- <footer slot="modal-footer" class="modal-footer">
271
- </footer>
272
- </modal>
273
- </div>
274
- </template>
275
-
276
- <script>
277
- import {PagedList} from 'vue-client'
278
- import defaultPrint from '../config/DefaultPrint'
279
- import exportConfig from '../config/exportConfig'
280
-
281
- let readySomething = async function (self) {
282
- self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
283
- self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
284
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
285
- // await self.$refs.paged.$refs.cri.search()
286
- await self.$MagLoadParams.loadParam(self.$login.f)
287
-
288
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
289
- }
290
- export default {
291
- props:['data'],
292
- title: '过户查询',
293
- data() {
294
- return {
295
- data: {},
296
- other:[],
297
- footer:[],
298
- show:false,
299
- rowdata:{},
300
- model: new PagedList('api/af-revenue/sql/transferQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}, {f_transfer_fees: 0,hushu:0}),
301
- criteriaShow: false,
302
- initres: {
303
- org:[this.$login.f.orgid],
304
- dep:[],
305
- user:[],
306
- },
307
- headData: ["客户编号", "新户姓名", "新户电话", "客户地址", "过户状态", "原户姓名", "原户电话", "客户类型", "用气性质", "气价名称", "过户费", "过户日期", "人员", "部门", "公司"],
308
- bodyData: ["f_userinfo_code", "f_newuser_name", "f_newuser_phone", "address", "f_state", "f_user_name", "f_user_phone", "f_user_type", "f_gasproperties", "f_price_name", "f_transfer_fees", "f_operate_date", "f_operator", "f_depname", "f_orgname"],
309
- orgCondtionStr: '',
310
- modelval: [],
311
- printshow: false,
312
- all: false,
313
- fields: {},
314
- config: {
315
- defaultPrint: ["f_userinfo_code", "f_newuser_name", "f_newuser_phone", "address", "f_state", "f_user_name","f_transfer_fees", "f_operate_date", "f_operator", "f_depname", "f_orgname"]
316
- },
317
- //排序
318
- orderitem:'f_operate_date desc',
319
- orderFields: {
320
- f_operate_date: 'no'
321
- },
322
- //默认打印列
323
- defaultfield: [],
324
- thead: '',
325
- tfoot: '',
326
- showupload:false,
327
- selected:{},
328
-
329
- transferstate: this.$appdata.getParam('过户状态') ? [{
330
- label: '全部',
331
- value: ''
332
- }, ...this.$appdata.getParam('过户状态')] : [],
333
- //合计数据
334
- sumsmodel: {}
335
- }
336
- },
337
- ready() {
338
- console.log(this.$login.f)
339
- readySomething(this).then(() => {
340
- this.$emit('ready')
341
- }).catch((error) => {
342
- this.$emit('error', error)
343
- })
344
- },
345
- methods: {
346
- view(row){
347
- this.showupload = true
348
- this.selected= row
349
- },
350
- getotherfooter(){
351
- // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
352
- // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
353
- this.other=[];
354
- this.footer=[];
355
- let exportdata = this.getCondition;
356
- let otherInData=[];
357
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
358
- let footerData=[],exportfield=this.getfield;
359
- footerData.push("合计");
360
- let self = this;
361
- for(var field in self.sumsmodel){
362
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
363
- }
364
- this.footer.push(footerData);
365
- this.other.push(otherInData);
366
- },
367
- search(){
368
- this.$refs.paged.$refs.cri.search()
369
- },
370
- dblclick(obj) {
371
- this.data = obj
372
- this.showinfo = true
373
- },
374
- async selfSearch(args) {
375
- if (this.data) {
376
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
377
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
378
- }
379
- args.condition = `${args.condition}` + this.orgCondtionStr
380
- // console.log('我的阐述', JSON.stringify(args.condition))
381
- await this.model.search(args.condition, args.model)
382
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
383
- this.sumsmodel.hushu=[...new Set(this.$refs.paged.$refs.grid.model.rows.map(item => item.f_userinfo_code))].length
384
-
385
- console.log('合计字段', this.sumsmodel)
386
- },
387
- dealmsg(val) {
388
- console.log('---------------dealmsg')
389
- this.rowdata=val
390
- this.show=true
391
- val.model = this.model.model
392
- this.$dispatch('deal-msg', val)
393
- },
394
- cancel() {
395
- this.show = false
396
- },
397
- clear() {
398
- //清空部门和人员
399
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
400
- //部门和人员变为全选
401
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
402
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
403
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
404
- this.$refs.paged.$refs.cri.model[key] = []
405
- })
406
- },
407
- show() {
408
- this.criteriaShow = true
409
- },
410
- hidden() {
411
- this.criteriaShow = !this.criteriaShow
412
- },
413
- getRes(obj) {
414
- this.orgCondtionStr = obj
415
- },
416
- stamp() {
417
- this.all = false
418
- //默认选择要打印的列
419
- this.modelval = defaultPrint.config
420
- this.fields = this.getfield
421
- console.log('所有打印字段', this.fields)
422
- this.printshow = true
423
- this.put()
424
- },
425
- put() {
426
- // 对Modelval进行排序
427
- this.sortModelval()
428
- this.thead = `<tr><th colspan=${this.modelval.length}>过户查询统计报表</th></tr><tr>`
429
- for (let key of this.modelval) {
430
- this.thead += '<th>' + this.fields[key] + '</th>'
431
- }
432
- this.thead += '</tr>'
433
- },
434
- print() {
435
- this.$refs.print.PrintAsFile()
436
- this.printshow = false
437
- },
438
- close() {
439
- this.printshow = false
440
- this.all = false
441
- },
442
- // 对选择的列进行排序
443
- sortModelval() {
444
- let sortModel = []
445
- Object.keys(this.fields).forEach((key) => {
446
- if (this.modelval.includes(key)) {
447
- sortModel.push(key)
448
- }
449
- })
450
- this.modelval = sortModel
451
- console.log('选择的打印的字段', this.modelval)
452
- },
453
- sort (field, rule) {
454
- // 将所有排序方式设为不排序,实现相互排斥
455
- for (let key in this.orderFields) {
456
- if (key === field) {
457
- this.orderFields[key] = rule
458
- } else {
459
- this.orderFields[key] = 'no'
460
- }
461
- }
462
- // 如果新规则不排序,还原为默认排序
463
- if (rule === 'no') {
464
- this.model.paramSource.orderitem = `'${this.orderitem}'`
465
- } else {
466
- this.model.paramSource.orderitem = `'${field} ${rule}'`
467
- }
468
-
469
- this.search()
470
- }
471
- },
472
- watch: {
473
- 'all'(val) {
474
- if (val) {
475
- this.modelval = this.bodyData
476
- } else {
477
- this.modelval = defaultPrint.config
478
- this.put()
479
- }
480
- },
481
- 'modelval.length'() {
482
- this.put()
483
- },
484
- sumsmodel:{
485
- handler: function(val) {
486
- this.getotherfooter();
487
- },
488
- deep: true
489
- }
490
- },
491
- computed: {
492
- getCondition() {
493
- return {
494
- condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
495
- orderitem: this.orderitem?`${this.orderitem}`: `'f_operate_date desc'` }
496
- },
497
- getfield() {
498
- return exportConfig.transferConfig
499
- }
500
- }
501
- }
502
- </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 @sort="sort">
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 for="startDate" class="font_normal_body">开始日期</label>
12
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
+ v-model="model.startDate"
14
+ :value.sync="model.startDate"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ :show-reset-button="true"
17
+ condition="f_operate_date >= '{}'">
18
+ </datepicker>
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label for="endDate" class="font_normal_body">结束日期</label>
22
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
+ v-model="model.endDate"
24
+ :value.sync="model.endDate"
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 class="font_normal_body">客户编号</label>
32
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
37
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
38
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
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
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
45
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
46
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="transferQuery" template-name='过户查询导出'
47
+ :choose-col="true"></export-excel>
48
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
49
+ :defaultfield="$parent.$parent.defaultfield"
50
+ titletable="过户记录"
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" v-show="$parent.$parent.criteriaShow">
56
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" :cascade =true v-ref:sel></res-select-group>
57
+
58
+ <div class="col-sm-2 form-group">
59
+ <label class="font_normal_body">客户地址</label>
60
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
61
+ condition="f_address like '%{}%'" placeholder='客户地址'>
62
+ </div>
63
+ <div class="col-sm-2 form-group">
64
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
65
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
66
+ condition="f_meternumber = '{}'" placeholder='表号'>
67
+ </div>
68
+ <div class="col-sm-2 form-group">
69
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
70
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
71
+ condition="f_card_id = '{}'" placeholder='卡号'>
72
+ </div>
73
+ <div class="col-sm-2 form-group">
74
+ <label class="font_normal_body">过户状态</label>
75
+ <v-select :value.sync="model.f_state"
76
+ v-model="model.f_state"
77
+ :options='$parent.$parent.transferstate' placeholder='请选择'
78
+ condition="f_state = '{}'"
79
+ close-on-select></v-select>
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_user_name"
84
+ placeholder="原户姓名"
85
+ condition="f_user_name = '{}'">
86
+ </div>
87
+ <div class="col-sm-2 form-group">
88
+ <label class="font_normal_body">新户姓名</label>
89
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_name"
90
+ condition="f_newuser_name like '%{}%' " placeholder="新户姓名">
91
+ </div>
92
+ <div class="col-sm-2 form-group">
93
+ <label class="font_normal_body">原户电话</label>
94
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
95
+ condition="f_user_phone like '%{}%' " placeholder="原户电话">
96
+ </div>
97
+ <div class="col-sm-2 form-group">
98
+ <label class="font_normal_body">新户电话</label>
99
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_phone"
100
+ condition="f_newuser_phone like '%{}%' " placeholder="新户电话">
101
+ </div>
102
+ <div class="col-sm-2 form-group">
103
+ <label class="font_normal_body">合同编号</label>
104
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_contract_id"
105
+ condition="f_contract_id like '%{}%' " placeholder="合同编号">
106
+ </div>
107
+ </div>
108
+ </div>
109
+ </criteria>
110
+
111
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
112
+ <template partial='head'>
113
+ <tr>
114
+ <th>
115
+ <!-- <nobr>客户编号</nobr>-->
116
+ <data-order field="f_userinfo_code" name="客户编号"
117
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
118
+ </th>
119
+ <th>
120
+ <nobr>客户名称</nobr>
121
+ </th>
122
+ <th>
123
+ <nobr>档案编号</nobr>
124
+ </th>
125
+ <th>
126
+ <!-- <nobr>客户地址</nobr>-->
127
+ <data-order field="f_address" name="客户地址"
128
+ :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
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
+ <th>
161
+ <!-- <nobr>过户日期</nobr>-->
162
+ <data-order field="f_operate_date" name="过户日期"
163
+ :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
164
+ </th>
165
+ <th>
166
+ <nobr>备注</nobr>
167
+ </th>
168
+ <th>
169
+ <nobr>操作员</nobr>
170
+ </th>
171
+ <th>
172
+ <nobr>部门</nobr>
173
+ </th>
174
+ <th>
175
+ <nobr>公司</nobr>
176
+ </th>
177
+ <th><nobr>附件</nobr></th>
178
+ </tr>
179
+ </template>
180
+ <template partial='body'>
181
+ <td style="text-align: center;">
182
+ <nobr>
183
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
184
+ </td>
185
+ <td style="text-align: center;">
186
+ <nobr>{{row.f_newuser_name}}</nobr>
187
+ </td>
188
+ <td style="text-align: center;">
189
+ <nobr>{{row.f_olduserinfo_code}}</nobr>
190
+ </td>
191
+ <td style="text-align: center;">
192
+ <nobr>{{row.f_address}}</nobr>
193
+ </td>
194
+ <td style="text-align: center;">
195
+ <nobr>{{row.f_meternumber}}</nobr>
196
+ </td>
197
+ <td style="text-align: center;">
198
+ <nobr>{{row.f_user_name}}</nobr>
199
+ </td>
200
+ <td style="text-align: center;">
201
+ <nobr>{{row.f_newuser_phone}}</nobr>
202
+ </td>
203
+ <td style="text-align: center;">
204
+ <nobr>{{row.f_newidnumber}}</nobr>
205
+ </td>
206
+ <td style="text-align: center;">
207
+ <nobr>{{row.f_user_phone}}</nobr>
208
+ </td>
209
+ <td style="text-align: center;">
210
+ <nobr>{{row.f_idnumber}}</nobr>
211
+ </td>
212
+ <td style="text-align: center;">
213
+ <nobr>{{ row.f_old_people_num }}</nobr>
214
+ </td>
215
+ <td style="text-align: center;">
216
+ <nobr>{{ row.f_new_people_num }}</nobr>
217
+ </td>
218
+ <td style="text-align: center;">
219
+ <nobr>{{row.f_transfer_fees}}</nobr>
220
+ </td>
221
+ <td style="text-align: center;">
222
+ <nobr>{{row.f_contract_id}}</nobr>
223
+ </td>
224
+ <td style="text-align: center;">
225
+ <nobr>{{row.f_operate_date}}</nobr>
226
+ </td>
227
+ <td style="text-align: center;">
228
+ <nobr>{{row.f_comments}}</nobr>
229
+ </td>
230
+ <td style="text-align: center;">
231
+ <nobr>{{row.f_operator}}</nobr>
232
+ </td>
233
+ <td style="text-align: center;">
234
+ <nobr>{{row.f_depname}}</nobr>
235
+ </td>
236
+ <td style="text-align: center;">
237
+ <nobr>{{row.f_orgname}}</nobr>
238
+ </td>
239
+ <td style="text-align: center;"><nobr>
240
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
241
+ </nobr></td>
242
+ </template>
243
+ <template partial='foot'></template>
244
+ </data-grid>
245
+ </criteria-paged>
246
+
247
+ <table class="table-hover">
248
+ <tr style="position: relative" class="table-bordered">
249
+ <td
250
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
251
+ 汇总信息
252
+ </td>
253
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
254
+ 过户费合计:&emsp;{{sumsmodel.f_transfer_fees}}
255
+ </td>
256
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
257
+ 户数合计:&emsp;{{sumsmodel.hushu}}
258
+ </td>
259
+ </tr>
260
+ </table>
261
+ </div>
262
+ <div class="flex" v-if="show">
263
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
264
+ </div>
265
+ </div>
266
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
267
+ <article slot="modal-body">
268
+ <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="过户管理" :isremark="false" style="width:auto" ></upload>
269
+ </article>
270
+ <footer slot="modal-footer" class="modal-footer">
271
+ </footer>
272
+ </modal>
273
+ </div>
274
+ </template>
275
+
276
+ <script>
277
+ import {PagedList} from 'vue-client'
278
+ import defaultPrint from '../config/DefaultPrint'
279
+ import exportConfig from '../config/exportConfig'
280
+
281
+ let readySomething = async function (self) {
282
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
283
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
284
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
285
+ // await self.$refs.paged.$refs.cri.search()
286
+ await self.$MagLoadParams.loadParam(self.$login.f)
287
+
288
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
289
+ }
290
+ export default {
291
+ props:['data'],
292
+ title: '过户查询',
293
+ data() {
294
+ return {
295
+ data: {},
296
+ other:[],
297
+ footer:[],
298
+ show:false,
299
+ rowdata:{},
300
+ model: new PagedList('api/af-revenue/sql/transferQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}, {f_transfer_fees: 0,hushu:0}),
301
+ criteriaShow: false,
302
+ initres: {
303
+ org:[this.$login.f.orgid],
304
+ dep:[],
305
+ user:[],
306
+ },
307
+ headData: ["客户编号", "新户姓名", "新户电话", "客户地址", "过户状态", "原户姓名", "原户电话", "客户类型", "用气性质", "气价名称", "过户费", "过户日期", "人员", "部门", "公司"],
308
+ bodyData: ["f_userinfo_code", "f_newuser_name", "f_newuser_phone", "address", "f_state", "f_user_name", "f_user_phone", "f_user_type", "f_gasproperties", "f_price_name", "f_transfer_fees", "f_operate_date", "f_operator", "f_depname", "f_orgname"],
309
+ orgCondtionStr: '',
310
+ modelval: [],
311
+ printshow: false,
312
+ all: false,
313
+ fields: {},
314
+ config: {
315
+ defaultPrint: ["f_userinfo_code", "f_newuser_name", "f_newuser_phone", "address", "f_state", "f_user_name","f_transfer_fees", "f_operate_date", "f_operator", "f_depname", "f_orgname"]
316
+ },
317
+ //排序
318
+ orderitem:'f_operate_date desc',
319
+ orderFields: {
320
+ f_operate_date: 'no'
321
+ },
322
+ //默认打印列
323
+ defaultfield: [],
324
+ thead: '',
325
+ tfoot: '',
326
+ showupload:false,
327
+ selected:{},
328
+
329
+ transferstate: this.$appdata.getParam('过户状态') ? [{
330
+ label: '全部',
331
+ value: ''
332
+ }, ...this.$appdata.getParam('过户状态')] : [],
333
+ //合计数据
334
+ sumsmodel: {}
335
+ }
336
+ },
337
+ ready() {
338
+ console.log(this.$login.f)
339
+ readySomething(this).then(() => {
340
+ this.$emit('ready')
341
+ }).catch((error) => {
342
+ this.$emit('error', error)
343
+ })
344
+ },
345
+ methods: {
346
+ view(row){
347
+ this.showupload = true
348
+ this.selected= row
349
+ },
350
+ getotherfooter(){
351
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
352
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
353
+ this.other=[];
354
+ this.footer=[];
355
+ let exportdata = this.getCondition;
356
+ let otherInData=[];
357
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
358
+ let footerData=[],exportfield=this.getfield;
359
+ footerData.push("合计");
360
+ let self = this;
361
+ for(var field in self.sumsmodel){
362
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
363
+ }
364
+ this.footer.push(footerData);
365
+ this.other.push(otherInData);
366
+ },
367
+ search(){
368
+ this.$refs.paged.$refs.cri.search()
369
+ },
370
+ dblclick(obj) {
371
+ this.data = obj
372
+ this.showinfo = true
373
+ },
374
+ async selfSearch(args) {
375
+ if (this.data) {
376
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
377
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
378
+ }
379
+ args.condition = `${args.condition}` + this.orgCondtionStr
380
+ // console.log('我的阐述', JSON.stringify(args.condition))
381
+ await this.model.search(args.condition, args.model)
382
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
383
+ this.sumsmodel.hushu=[...new Set(this.$refs.paged.$refs.grid.model.rows.map(item => item.f_userinfo_code))].length
384
+
385
+ console.log('合计字段', this.sumsmodel)
386
+ },
387
+ dealmsg(val) {
388
+ console.log('---------------dealmsg')
389
+ this.rowdata=val
390
+ this.show=true
391
+ val.model = this.model.model
392
+ this.$dispatch('deal-msg', val)
393
+ },
394
+ cancel() {
395
+ this.show = false
396
+ },
397
+ clear() {
398
+ //清空部门和人员
399
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
400
+ //部门和人员变为全选
401
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
402
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
403
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
404
+ this.$refs.paged.$refs.cri.model[key] = []
405
+ })
406
+ },
407
+ show() {
408
+ this.criteriaShow = true
409
+ },
410
+ hidden() {
411
+ this.criteriaShow = !this.criteriaShow
412
+ },
413
+ getRes(obj) {
414
+ this.orgCondtionStr = obj
415
+ },
416
+ stamp() {
417
+ this.all = false
418
+ //默认选择要打印的列
419
+ this.modelval = defaultPrint.config
420
+ this.fields = this.getfield
421
+ console.log('所有打印字段', this.fields)
422
+ this.printshow = true
423
+ this.put()
424
+ },
425
+ put() {
426
+ // 对Modelval进行排序
427
+ this.sortModelval()
428
+ this.thead = `<tr><th colspan=${this.modelval.length}>过户查询统计报表</th></tr><tr>`
429
+ for (let key of this.modelval) {
430
+ this.thead += '<th>' + this.fields[key] + '</th>'
431
+ }
432
+ this.thead += '</tr>'
433
+ },
434
+ print() {
435
+ this.$refs.print.PrintAsFile()
436
+ this.printshow = false
437
+ },
438
+ close() {
439
+ this.printshow = false
440
+ this.all = false
441
+ },
442
+ // 对选择的列进行排序
443
+ sortModelval() {
444
+ let sortModel = []
445
+ Object.keys(this.fields).forEach((key) => {
446
+ if (this.modelval.includes(key)) {
447
+ sortModel.push(key)
448
+ }
449
+ })
450
+ this.modelval = sortModel
451
+ console.log('选择的打印的字段', this.modelval)
452
+ },
453
+ sort (field, rule) {
454
+ // 将所有排序方式设为不排序,实现相互排斥
455
+ for (let key in this.orderFields) {
456
+ if (key === field) {
457
+ this.orderFields[key] = rule
458
+ } else {
459
+ this.orderFields[key] = 'no'
460
+ }
461
+ }
462
+ // 如果新规则不排序,还原为默认排序
463
+ if (rule === 'no') {
464
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
465
+ } else {
466
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
467
+ }
468
+
469
+ this.search()
470
+ }
471
+ },
472
+ watch: {
473
+ 'all'(val) {
474
+ if (val) {
475
+ this.modelval = this.bodyData
476
+ } else {
477
+ this.modelval = defaultPrint.config
478
+ this.put()
479
+ }
480
+ },
481
+ 'modelval.length'() {
482
+ this.put()
483
+ },
484
+ sumsmodel:{
485
+ handler: function(val) {
486
+ this.getotherfooter();
487
+ },
488
+ deep: true
489
+ }
490
+ },
491
+ computed: {
492
+ getCondition() {
493
+ return {
494
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
495
+ orderitem: this.orderitem?`${this.orderitem}`: `'f_operate_date desc'` }
496
+ },
497
+ getfield() {
498
+ return exportConfig.transferConfig
499
+ }
500
+ }
501
+ }
502
+ </script>