manage-client 3.3.2 → 3.3.5

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 (63) hide show
  1. package/build/dev-server.js +180 -180
  2. package/package.json +1 -1
  3. package/src/components/sale/businessquery/GroupChargeQuery.vue +481 -481
  4. package/src/components/sale/businessquery/NewAreaGeneralQuery.vue +633 -633
  5. package/src/components/webmeter/recharge/RechargeList.vue +346 -346
  6. package/src/filiale/gehua/GroupChargeQuery.vue +486 -486
  7. package/src/filiale/huayin/ChargeQuery.vue +1305 -1305
  8. package/src/filiale/macheng/config/exportConfig.js +1 -1
  9. package/src/filiale/rongcheng/AreaBuildingDetailInfo.vue +281 -281
  10. package/src/filiale/rongcheng/AreaBuildingInfoSummary.vue +301 -301
  11. package/src/filiale/rongcheng/exportConfig.js +536 -536
  12. package/src/filiale/rongcheng/sale.js +22 -22
  13. package/src/filiale/shanxian/CancellationQuery.vue +426 -0
  14. package/src/filiale/shanxian/ChangeUserQuery.vue +395 -0
  15. package/src/filiale/shanxian/DeviceQuery.vue +586 -0
  16. package/src/filiale/shanxian/DisableQuery.vue +528 -0
  17. package/src/filiale/shanxian/EnableQuery.vue +461 -0
  18. package/src/filiale/shanxian/FMYGasQuery.vue +731 -0
  19. package/src/filiale/shanxian/FillCardQuery.vue +569 -569
  20. package/src/filiale/shanxian/FillGasQuery.vue +588 -588
  21. package/src/filiale/shanxian/FmyGasDeviceQuery.vue +68 -33
  22. package/src/filiale/shanxian/InspectListUserNew.vue +18 -16
  23. package/src/filiale/shanxian/LostContactAnalysisList.vue +633 -632
  24. package/src/filiale/shanxian/MeterQuery.vue +968 -0
  25. package/src/filiale/shanxian/MonthGasQuery.vue +481 -0
  26. package/src/filiale/shanxian/NewQueryInstruct.vue +457 -0
  27. package/src/filiale/shanxian/OtherChargeQuery.vue +684 -684
  28. package/src/filiale/shanxian/ReverseQuery.vue +454 -0
  29. package/src/filiale/shanxian/TransferQuery.vue +469 -0
  30. package/src/filiale/shanxian/UserGasAll.vue +15 -14
  31. package/src/filiale/shanxian/UserLostContactAnalysis.vue +584 -583
  32. package/src/filiale/shanxian/UserQuery.vue +960 -959
  33. package/src/filiale/shanxian/config/exportConfig.js +100 -100
  34. package/src/filiale/shanxian/newwebmeter/TotalExceptionByMeter.vue +608 -0
  35. package/src/filiale/shanxian/sale.js +46 -26
  36. package/src/filiale/shanxian/webmeterManage.js +4 -0
  37. package/src/filiale/wenxi/ChangeMeterQuery.vue +704 -704
  38. package/src/filiale/wenxi/ChangeUserQuery.vue +371 -371
  39. package/src/filiale/wenxi/ChargeQuery.vue +1260 -1260
  40. package/src/filiale/wenxi/FmyGasDeviceQuery.vue +944 -944
  41. package/src/filiale/wenxi/GasDeviceQuery.vue +1041 -1041
  42. package/src/filiale/wenxi/GasStatistics.vue +515 -515
  43. package/src/filiale/wenxi/GetNoMetereadData.vue +374 -374
  44. package/src/filiale/wenxi/HandplanQuery.vue +1370 -1370
  45. package/src/filiale/wenxi/ManageUserTypeSell.vue +173 -173
  46. package/src/filiale/wenxi/MeterQuery.vue +937 -964
  47. package/src/filiale/wenxi/NewGasStatistics.vue +522 -522
  48. package/src/filiale/wenxi/RecordInfoQuery.vue +1213 -1213
  49. package/src/filiale/wenxi/WebHandQuery.vue +475 -475
  50. package/src/filiale/wenxi/config/exportConfig.js +916 -916
  51. package/src/filiale/wenxi/sale.js +24 -24
  52. package/src/filiale/wenxi/webmeterManage.js +13 -13
  53. package/src/filiale/xinkang/EchartsBox.vue +139 -139
  54. package/src/filiale/xinkang/ManageBrandHouseCount.vue +347 -347
  55. package/src/filiale/xinkang/NewGasStatistics.vue +526 -526
  56. package/src/filiale/xinkang/exportConfig.js +1998 -1998
  57. package/src/filiale/xinkang/meterFaultChangeSummary.vue +196 -196
  58. package/src/filiale/xinkang/reportManage.js +15 -15
  59. package/src/filiale/xinkang/sale.js +13 -13
  60. package/src/filiale/xinkang/webmeterManage.js +9 -9
  61. package/src/filiale/zhongyi/GasStatistics.vue +521 -521
  62. package/src/main.js +66 -72
  63. package/lib/package_2022-12-01-14-30-50.json +0 -109
@@ -1,959 +1,960 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main" @keyup.enter="search" v-if="!show">
4
- <div class="flex">
5
- <div style="flex:1;" class="flex" >
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 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 class="font_normal_body" title="旧客户编号">档案编号</label>
22
- <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
23
- condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
24
- </div>
25
- <div class="col-sm-2 form-group">
26
- <label class="font_normal_body">客户电话</label>
27
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
28
- condition="f_user_phone like '%{}%'" placeholder="客户电话">
29
- </div>
30
- <div class="span" style="float:right;">
31
- <button class="button_search button_spacing" @click="search()">查询</button>
32
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
33
- <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
34
-
35
- <export-excel :data="$parent.$parent.getCondition"
36
- :field="$parent.$parent.getExportField"
37
- :footer="$parent.$parent.footer"
38
- :header="$parent.$parent.other"
39
- v-if="$parent.$parent.authArr.includes('档案查询导出')"
40
- sqlurl="rs/logic/exportfile" sql-name="filesQuery" template-name='用户查询导出'
41
- :choose-col="true"></export-excel>
42
- <print-data :sum-field="$parent.$parent.getExportField" :model="$parent.model" :field="$parent.$parent.getExportField"
43
- :defaultfield="$parent.$parent.defaultfield"
44
- titletable="客户查询"
45
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
46
-
47
- <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>
48
- </div>
49
- </div>
50
- <div class="row" v-show="$parent.$parent.criteriaShow">
51
-
52
- <div class="col-sm-2 form-group">
53
- <label class="font_normal_body">身份证号</label>
54
- <input type="text" style="width:60%" class="input_search" v-model="model.f_idnumber"
55
- condition="f_idnumber like '%{}%'" placeholder="身份证号">
56
- </div>
57
- <div class="col-sm-2 form-group">
58
- <label class="font_normal_body">客户状态</label>
59
- <v-select :value.sync="model.f_user_state"
60
- v-model="model.f_user_state"
61
- :options='$parent.$parent.userstates' placeholder='请选择'
62
- condition="f_user_state = '{}'"
63
- close-on-select></v-select>
64
- </div>
65
- <div class="col-sm-2 form-group">
66
- <label class="font_normal_body">客户类型</label>
67
- <v-select :value.sync="model.f_user_type"
68
- v-model="model.f_user_type" condition="f_user_type = '{}'"
69
- :options='$parent.$parent.userTypes' placeholder='请选择'
70
- close-on-select></v-select>
71
- </div>
72
- <div class="col-sm-2 form-group">
73
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;人数&nbsp;&nbsp;&nbsp;</label>
74
- <input type="text" style="width:60%" class="input_search" v-model="model.f_people_num"
75
- condition="f_people_num = '{}'" placeholder="人数">
76
- </div>
77
- <div class="col-sm-2 form-group">
78
- <label class="font_normal_body">微信绑定</label>
79
- <v-select
80
- :value.sync="model.f_wechat"
81
- v-model="model.f_wechat"
82
- :options='$parent.$parent.weixinSign'
83
- placeholder='请选择'
84
- condition="f_wechat = '{}'"
85
- close-on-select>
86
- </v-select>
87
- </div>
88
- <div class="col-sm-2 form-group">
89
- <label class="font_normal_body" >缴费类型</label>
90
- <v-select :value.sync="model.f_payment" multiple
91
- v-model="model.f_payment"
92
- :options='$parent.$parent.dypayment' placeholder='请选择'
93
- condition="f_cost_type in {}"
94
- close-on-select></v-select>
95
- </div>
96
- <div class="col-sm-2 form-group">
97
- <label class="font_normal_body">客户地址</label>
98
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
99
- condition="f_address like '%{}%'" placeholder='客户地址'>
100
- </div>
101
- <div class="col-sm-2 form-group">
102
- <label for="startDate" class="font_normal_body">建档日期</label>
103
- <datepicker placeholder="建档日期" style="width:60%"
104
- v-model="model.f_createfile_date"
105
- :value.sync="model.f_createfile_date"
106
- :format="'yyyy-MM-dd'"
107
- :show-reset-button="true"
108
- condition="f_createfile_date >= '{} 00:00:00'">
109
- </datepicker>
110
- </div>
111
- <div class="col-sm-2 form-group">
112
- <label class="font_normal_body">建档部门</label>
113
- <input type="text" style="width:60%" class="input_search" v-model="model.f_depname"
114
- condition="f_depname like '%{}%'" placeholder='建档部门'>
115
- </div>
116
- <div class="col-sm-2 form-group">
117
- <label class="font_normal_body">报警器编码</label>
118
- <input type="text" style="width:60%" class="input_search" v-model="model.f_alarm_code"
119
- condition="f_alarm_code like '%{}%'" placeholder='报警器编码'>
120
- </div>
121
- <div class="col-sm-2 form-group">
122
- <label class="font_normal_body">发票编码</label>
123
- <input type="text" style="width:60%" class="input_search" v-model="model.f_taxpayer_id"
124
- condition="f_taxpayer_id like '%{}%'" placeholder='发票编码'>
125
- </div>
126
- <div class="col-sm-2 form-group">
127
- <label class="font_normal_body">燃气表号</label>
128
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
129
- condition="f_meternumber like '%{}%'" placeholder='燃气表号'>
130
- </div>
131
- <!-- <div class="col-sm-2">-->
132
- <!-- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区名称&nbsp;&nbsp;&nbsp;</label>-->
133
- <!-- <input type="text" style="width:60%" class="input_search" v-model="model.f_residential_area"-->
134
- <!-- condition="f_residential_area like '%{}%'" placeholder="小区"/>-->
135
- <!-- <div class="col-sm-8">&ndash;&gt;-->
136
- <!-- <input type="text" v-show="false" v-model="model.f_residential_area" class="input_search" style="width: 80%"&ndash;&gt;-->
137
- <!--; v-validate:f_residential_area='{required: true }'>&ndash;&gt;-->
138
- <!-- <v-select :value.sync="model.f_residential_area" :value-single="true"&ndash;&gt;-->
139
- <!-- class="select_list select"&ndash;&gt;-->
140
- <!-- :options='fresidentialarea' placeholder='请选择'&ndash;&gt;-->
141
- <!-- close-on-select search="true">&ndash;&gt;-->
142
- <!-- </v-select>-->
143
- <!-- </div>-->
144
-
145
- <div class="col-sm-2 form-group">
146
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区&nbsp;&nbsp;&nbsp;</label>
147
- <v-select :value.sync="model.f_residential_area"
148
- class="select_list select"
149
- enter-push
150
- multiple = "true"
151
- v-model="model.f_residential_area"
152
- style="width: 60%"
153
- :options='$parent.$parent.residentialArea' placeholder='选择小区'
154
- close-on-select>
155
-
156
- </v-select>
157
- </div>
158
- <div class="col-sm-2 form-group">
159
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;楼栋&nbsp;&nbsp;&nbsp;</label>
160
- <input type="text" style="width:60%" class="input_search" v-model="model.f_building"
161
- condition="f_building like '%{}%'" placeholder="楼栋"/>
162
- </div>
163
- <div class="col-sm-2 form-group">
164
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;单元&nbsp;&nbsp;&nbsp;</label>
165
- <input type="text" style="width:60%" class="input_search" v-model="model.f_unit"
166
- condition="f_unit like '%{}%'" placeholder="单元"/>
167
- </div>
168
- <div class="col-sm-2 form-group">
169
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;楼层&nbsp;&nbsp;</label>
170
- <input type="text" style="width:60%" class="input_search" v-model="model.f_floor"
171
- condition="f_floor like '%{}%'" placeholder="楼层"/>
172
- </div>
173
- <div class="col-sm-2 form-group">
174
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;门牌号</label>
175
- <input type="text" style="width:60%" class="input_search" v-model="model.f_room"
176
- condition="f_room like '%{}%'" placeholder="门牌号">
177
- </div>
178
- <div class="col-sm-2 form-group">
179
- <label class="font_normal_body">余额区间</label>
180
- <input type="text" style="width:60%" class="input_search" v-model="model.f_balance"
181
- condition="f_balance >= '{}'" placeholder="最小值">
182
- </div>
183
- <div class="col-sm-2 form-group">
184
- <label class="font_normal_body">&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
185
- <input type="text" style="width:60%" class="input_search" v-model="model.balance2"
186
- condition="f_balance <= '{}'" placeholder="最大值">
187
- </div>
188
- <div class="col-sm-2 form-group">
189
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;抄表员</label>
190
- <v-select :value.sync="model.f_inputtor"
191
- v-model="model.f_inputtor" condition="f_inputtor = '{}'"
192
- :options='$parent.$parent.inputtores' placeholder='请选择'
193
- multiple = "true"
194
- close-on-select></v-select>
195
- </div>
196
-
197
- <!-- <div class="col-sm-2" >-->
198
- <!-- <label for="f_balance" class="font_normal_body">账户结余</label>-->
199
- <!-- <div class="form-group">-->
200
- <!-- <v-input id="f_balance" placeholder="账户结余"-->
201
- <!-- :expression.sync = 'model.f_balance'-->
202
- <!-- v-model="model.f_balance"-->
203
- <!-- condition= "f_balance {}"-->
204
- <!-- :show-reset-button="reset"-->
205
- <!-- v-ref:f_balance>-->
206
- <!-- </v-input>-->
207
- <!-- </div>-->
208
- <!-- </div>-->
209
- <div class="col-sm-2 form-group">
210
- <label for="startDate" class="font_normal_body">开始日期</label>
211
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
212
- v-model="model.startDate"
213
- :value.sync="model.startDate"
214
- :format="'yyyy-MM-dd'"
215
- :show-reset-button="true"
216
- condition="f_createfile_date >= '{} 00:00:00'">
217
- </datepicker>
218
- </div>
219
- <div class="col-sm-2 form-group">
220
- <label for="endDate" class="font_normal_body">结束日期</label>
221
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
222
- v-model="model.endDate"
223
- :value.sync="model.endDate"
224
- :format="'yyyy-MM-dd'"
225
- :show-reset-button="true"
226
- condition="f_createfile_date <= '{} 23:59:59'">
227
- </datepicker>
228
- </div>
229
- <!--表册片区-->
230
- <div class="col-sm-2 form-group">
231
- <label class="font_normal_body">表册片区</label>
232
- <v-select :value.sync="model.f_book_slice_area" v-model="model.f_book_slice_area"
233
- :options='$parent.$parent.bookSlice' placeholder='片区/表册'
234
- style="width:60%"
235
- close-on-select
236
- condition="f_book_slice_area = '{}'"></v-select>
237
- </div>
238
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"></res-select-group>
239
- <div class="col-sm-2 form-group">
240
- <label class="font_normal_body">客户等级</label>
241
- <v-select :value.sync="model.f_user_level"
242
- v-model="model.f_user_level" condition="f_user_level in {}"
243
- :options='$parent.$parent.userLevels' placeholder='请选择'
244
- multiple = "true"
245
- close-on-select></v-select>
246
- </div>
247
- <div class="col-sm-2 form-group">
248
- <label class="font_normal_body">通气状态</label>
249
- <v-select :value.sync="model.f_address_state"
250
- v-model="model.f_address_state" condition="f_address_state = '{}'"
251
- :options='$parent.$parent.addressstate' placeholder='请选择'
252
- close-on-select></v-select>
253
- </div>
254
- <div class="col-sm-2 form-group">
255
- <label for="startGasDate" class="font_normal_body">通气时间</label>
256
- <datepicker id="startGasDate" placeholder="开始日期" style="width:60%"
257
- v-model="model.startGasDate"
258
- :value.sync="model.startGasDate"
259
- :format="'yyyy-MM-dd'"
260
- :show-reset-button="true"
261
- condition="f_gas_date >= '{} 00:00:00'">
262
- </datepicker>
263
- </div>
264
- <div class="col-sm-2 form-group">
265
- <label for="endGasDate" class="font_normal_body">至</label>
266
- <datepicker id="endGasDate" placeholder="结束日期" style="width:60%"
267
- v-model="model.endGasDate"
268
- :value.sync="model.endGasDate"
269
- :format="'yyyy-MM-dd'"
270
- :show-reset-button="true"
271
- condition="f_gas_date <= '{} 23:59:59'">
272
- </datepicker>
273
- </div>
274
- <div class="col-sm-2 form-group">
275
- <label class="font_normal_body">发卡状态</label>
276
- <v-select :value.sync="model.f_whether_hairpin"
277
- v-model="model.f_whether_hairpin" condition="f_whether_hairpin = '{}'"
278
- :options='$parent.$parent.hairpin' placeholder='请选择'
279
- close-on-select></v-select>
280
- </div>
281
-
282
- </div>
283
- </div>
284
- </criteria>
285
-
286
-
287
- <data-grid :model="model" partial='list' class="list_area table_sy" @dblclick="$parent.dblclick" v-ref:grid>
288
- <template partial='head'>
289
- <tr>
290
- <th>
291
- <!--<nobr>客户编号</nobr>-->
292
- <data-order field="f_userinfo_code" name="客户编号"
293
- :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
294
- </th>
295
- <th>
296
- <nobr>客户名称</nobr>
297
- </th>
298
- <th>
299
- <nobr>档案编号</nobr>
300
- </th>
301
- <th>
302
- <nobr>客户电话</nobr>
303
- </th>
304
- <th>
305
- <nobr>身份证号</nobr>
306
- </th>
307
- <th>
308
- <nobr>表册片区</nobr>
309
- </th>
310
- <th>
311
- <nobr>账户余额</nobr>
312
- </th>
313
- <th>
314
- <nobr>客户等级</nobr>
315
- </th>
316
- <th>
317
- <nobr>客户类型</nobr>
318
- </th>
319
- <th>
320
- <data-order field="f_address" name="客户地址"
321
- :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
322
- </th>
323
- <th>
324
- <nobr>表号</nobr>
325
- </th>
326
- <th>
327
- <nobr>小区</nobr>
328
- </th>
329
- <th>
330
- <nobr>详细地址</nobr>
331
- </th>
332
- <th>
333
- <nobr>楼栋</nobr>
334
- </th>
335
- <th>
336
- <nobr>单元</nobr>
337
- </th>
338
- <th>
339
- <nobr>楼层</nobr>
340
- </th>
341
- <th>
342
- <nobr>门牌号</nobr>
343
- </th>
344
- <th>
345
- <nobr>客户状态</nobr>
346
- </th>
347
- <th>
348
- <!--<nobr>建档日期</nobr>-->
349
- <data-order field="f_createfile_date" name="建档日期"
350
- :order.sync="$parent.$parent.$parent.orderFields.f_createfile_date"></data-order>
351
- </th>
352
- <th>
353
- <nobr>建档人</nobr>
354
- </th>
355
- <th>
356
- <nobr>缴费类型</nobr>
357
- </th>
358
- <th>
359
- <nobr>银行户名</nobr>
360
- </th>
361
- <th>
362
- <nobr>银行名称</nobr>
363
- </th>
364
- <th>
365
- <nobr>银行账号</nobr>
366
- </th>
367
- <th>
368
- <nobr>银行身份证号</nobr>
369
- </th>
370
- <th>
371
- <nobr>缴费编号</nobr>
372
- </th>
373
- <th>
374
- <nobr>通气状态</nobr>
375
- </th>
376
- <th>
377
- <nobr>通气时间</nobr>
378
- </th>
379
- <th>
380
- <nobr>发卡状态</nobr>
381
- </th>
382
- <th>
383
- <nobr>备注</nobr>
384
- </th>
385
- <!-- <th>-->
386
- <!-- <nobr>部门</nobr>-->
387
- <!-- </th>-->
388
- <!-- <th>-->
389
- <!-- <nobr>公司</nobr>-->
390
- <!-- </th>-->
391
- </tr>
392
- </template>
393
- <template partial='body'>
394
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;" ><nobr>
395
- <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
396
- </nobr> </td>
397
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
398
- <nobr>{{row.f_user_name}}</nobr>
399
- </td>
400
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
401
- <nobr>{{row.f_olduserinfo_code}}</nobr>
402
- </td>
403
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
404
- <nobr>{{row.f_user_phone}}</nobr>
405
- </td>
406
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
407
- <nobr>{{row.f_idnumber}}</nobr>
408
- </td>
409
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
410
- <nobr>{{row.f_book_slice_area}}</nobr>
411
- </td>
412
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
413
- <nobr>{{row.f_balance}}</nobr>
414
- </td>
415
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
416
- <nobr>{{row.f_user_level}}</nobr>
417
- </td>
418
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
419
- <nobr>{{row.f_user_type}}</nobr>
420
- </td>
421
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
422
- <nobr>{{row.f_address}}</nobr>
423
- </td>
424
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
425
- <nobr>{{row.f_meternumber}}</nobr>
426
- </td>
427
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
428
- <nobr>{{row.f_residential_area}}</nobr>
429
- </td>
430
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
431
- <nobr>{{row.address}}</nobr>
432
- </td>
433
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
434
- <nobr>{{row.f_building}}</nobr>
435
- </td>
436
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
437
- <nobr>{{row.f_unit}}</nobr>
438
- </td>
439
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
440
- <nobr>{{row.f_floor}}</nobr>
441
- </td>
442
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
443
- <nobr>{{row.f_room}}</nobr>
444
- </td>
445
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
446
- <nobr>{{row.f_user_state}}</nobr>
447
- </td>
448
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
449
- <nobr>{{row.f_createfile_date}}</nobr>
450
- </td>
451
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
452
- <nobr>{{row.f_createfile_person}}</nobr>
453
- </td>
454
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
455
- <nobr>{{row.f_cost_type}}</nobr>
456
- </td>
457
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
458
- <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_accopen}}</span></nobr>
459
- </td>
460
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
461
- <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_name}}</span></nobr>
462
- </td>
463
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
464
- <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_account}}</span></nobr>
465
- </td>
466
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
467
- <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_idnumber}}</span></nobr>
468
- </td>
469
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
470
- <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_pay_number}}</span></nobr>
471
- </td>
472
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
473
- <nobr>{{row.f_address_state}}</nobr>
474
- </td>
475
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
476
- <nobr>{{row.f_gas_date}}</nobr>
477
- </td>
478
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
479
- <nobr>{{row.f_whether_hairpin}}</nobr>
480
- </td>
481
- <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
482
- <nobr>{{row.f_comments}}</nobr>
483
- </td>
484
- <!-- <td style="text-align: center;">-->
485
- <!-- <nobr>{{row.f_depname}}</nobr>-->
486
- <!-- </td>-->
487
- <!-- <td style="text-align: center;">-->
488
- <!-- <nobr>{{row.f_orgname}}</nobr>-->
489
- <!-- </td>-->
490
- </template>
491
- <template partial='foot'>
492
- </template>
493
- </data-grid>
494
- </criteria-paged>
495
-
496
- <table class="table-hover">
497
- <tr style="position: relative" class="table-bordered">
498
- <td
499
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
500
- 汇总信息
501
- </td>
502
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
503
- 结余合计:&emsp;{{sumsmodel.f_balance}}
504
- </td>
505
- </tr>
506
- </table>
507
-
508
- <!--<modal :show.sync="printshow" v-ref:modal backdrop="false">-->
509
- <!--<header slot="modal-header" class="modal-header text-center">-->
510
- <!--<h4 class="modal-title">打印列选择</h4>-->
511
- <!--<input type="checkbox" class="" id="f_generations" v-model="all">-->
512
- <!--<label for="f_generations" class="font-size">全选</label>-->
513
- <!--</header>-->
514
- <!--<article slot="modal-body">-->
515
- <!--<div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">-->
516
- <!--<div class="col-sm-3" v-for="f in fields">-->
517
- <!--<input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">-->
518
- <!--<label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>-->
519
- <!--</div>-->
520
- <!--</div>-->
521
- <!--</article>-->
522
- <!--<footer slot="modal-footer" class="modal-footer">-->
523
- <!--<center>-->
524
- <!--<button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>-->
525
- <!--<button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>-->
526
- <!--<print-table :model='model' v-show="false" v-ref:print-->
527
- <!--:top='40' :left='60' :right='40' :bottom='60'-->
528
- <!--:thead="thead" :tfoot='tfoot' :attach="yangsen"-->
529
- <!--:fields="modelval" :printpage="true">-->
530
- <!--</print-table>-->
531
- <!--</center>-->
532
- <!--</footer>-->
533
- <!--</modal>-->
534
- <!--<user-detail v-if="userdetail.show" :data="userdetail"></user-detail>-->
535
- </div>
536
-
537
- </div>
538
- </div>
539
- <div class="basic-main" style="width:99%;height:98%;margin-bottom:0px" v-if="show">
540
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
541
- </div>
542
- </div>
543
- </template>
544
-
545
- <script>
546
- import {HttpResetClass, PagedList} from 'vue-client'
547
- import defaultPrint from './config/DefaultPrint'
548
- import exportConfig from './config/exportConfig'
549
-
550
- let readySomething = async function (self) {
551
- self.$MagGetSaleParam.initinputtor();
552
- self.getinputtores();
553
- // 获取区县
554
- // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
555
- // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
556
- // await self.$refs.paged.$refs.cri.search()
557
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
558
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
559
- }
560
-
561
- export default {
562
- title: '客户查询',
563
- data() {
564
- return {
565
- other:[],
566
- footer:[],
567
- model: new PagedList('rs/sql/filesQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_userinfo_code desc'`}, {f_balance: 0}),
568
- criteriaShow: false,
569
- orgCondtionStr: '',
570
- modelval: [],
571
- printshow: false,
572
- all: false,
573
- fields: {},
574
- //排序
575
- orderitem:'f_userinfo_code desc',
576
- orderFields: {
577
- f_operate_date: 'no'
578
- },
579
- //默认打印列
580
- defaultfield: [],
581
- config: {
582
- defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone', 'f_user_state']
583
- },
584
- balance2:'',
585
- thead: '',
586
- tfoot: '',
587
- area: [],
588
- //合计数据
589
- sumsmodel: {},
590
- initres: {
591
- org:[this.$login.f.orgid],
592
- dep:[],
593
- user:[],
594
- },
595
- userdetail: {
596
- show: false,
597
- f_userinfo_code: '',
598
- f_filialeids: ''
599
- },
600
-
601
- show:false,
602
- rowdata:{},
603
- meterInfo:{},
604
- deviceInfo:{},
605
- condition2:'',
606
-
607
-
608
- weixinSign:[{label:"全部",value:""},{label:"已绑定",value:"已绑定"},{label:"未绑定",value:"未绑定"}],
609
- //小区
610
- residentialArea: [],
611
- //表册片区
612
- bookSlice:[{label: '全部',value: ''}],
613
- inputtores:[{label: '全部',value: ''}], //抄表员
614
- allorgid:[],
615
- f_filialeid: this.$login.f.f_orgid,
616
- dypayment:[{label:"全部",value:""},{label:"银行代扣",value:"银行代扣",},{label:"现金缴费",value:"现金缴费",}],
617
- }
618
- },
619
- ready() {
620
- this.getaddress()
621
- this.$refs.paged.$refs.cri.model.f_user_state=['正常']
622
- readySomething(this).then(() => {
623
- this.$emit('ready')
624
- }).catch((error) => {
625
- this.$emit('error', error)
626
- })
627
- this.initAreas(this.$login.f.orgid)
628
- },
629
- methods: {
630
- async getinputtores () {
631
- // 获取抄表员
632
- let rs = []
633
- if (this.$login.f.f_gasman.length > 0) {
634
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
635
- let temp = {
636
- label: this.$login.f.f_gasman[i].name,
637
- value: this.$login.f.f_gasman[i].name
638
- }
639
- rs.push(temp)
640
- }
641
- }
642
- this.inputtores = [{label: '全部', value: ''}, ...rs]
643
- },
644
- async updateParams() {
645
- await this.$MagLoadParams.loadParam(this.f_filialeid)
646
- this.inputtores = [];
647
- this.inputtores.push({label: "全部", value: ""})
648
- this.initSlice(this.f_filialeid)
649
- if(this.allorgid!=null){
650
- this.allorgid.forEach((res)=>{
651
- this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
652
- })
653
- }
654
- },
655
- getotherfooter () {
656
- // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
657
- // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
658
- this.other = [];
659
- this.footer = [];
660
- let exportdata = this.getCondition;
661
- let otherInData = [];
662
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
663
- let footerData = [], exportfield = this.getExportField;
664
- footerData.push("合计");
665
- let self = this;
666
- for (var field in self.sumsmodel) {
667
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
668
- }
669
- this.footer.push(footerData);
670
- this.other.push(otherInData);
671
- },
672
- async getaddress(){
673
- console.log('开始获取小区')
674
- let HttpReset = new HttpResetClass()
675
- var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
676
- data: {
677
- condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
678
- }
679
- }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
680
- console.log('小区',data)
681
- let house = []
682
- for (let row of data.data){
683
- console.log('开始保存小区')
684
- house.push({label: row.f_residential_area, value: row.f_residential_area})
685
- }
686
- this.residentialArea = house
687
- },
688
-
689
- //把数据库查询数据转换为下拉数据
690
- calculate(rows){
691
- let data = []
692
- rows.forEach((row, n) => {
693
- data[n] = {label: row.f_residential_area, value: row.id}
694
- })
695
- return data
696
- },
697
- search(){
698
- this.$refs.paged.$refs.cri.search()
699
- },
700
- cancel(obj) {
701
- this.show = false
702
- },
703
- showmsg(obj){
704
-
705
- this.rowdata=obj
706
- this.show=true
707
- // let http = new HttpResetClass()
708
- // http.load('POST','rs/sql/getUserMeter',{data: {condition: `f_userinfo_id ='${obj.f_userinfo_id}'`}},
709
- // {resolveMsg: null, rejectMsg: null}).then((res) => {
710
- // this.meterInfo = res.data})
711
- // let http2 = new HttpResetClass()
712
- // http2.load('POST','rs/sql/deviceQuery',{data: {condition: `f_userinfo_id ='${obj.f_userinfo_id}'`}},
713
- // {resolveMsg: null, rejectMsg: null}).then((res) => {
714
- // this.deviceInfo = res.data})
715
-
716
- // this.f_userinfo_id=obj.f_userinfo_id
717
- },
718
- //初始化片区
719
- async initSlice (val) {
720
- if (val) {
721
- let getAllArea = await this.$resetpost('/rs/search', {
722
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
723
- userid: this.$login.f.id
724
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
725
- let arr = getAllArea.data.filter((res) => {
726
- return res.parentid == val
727
- })
728
- this.bookSlice = []
729
- console.log('过滤之后的片区-------------------', arr)
730
- arr.forEach((res) => {
731
- this.bookSlice.push({label: res.name, value: res.name})
732
- })
733
- }
734
- },
735
- async initAreas (val) {
736
-
737
- if (val) {
738
- let getAllArea = await this.$resetpost('/rs/search', {
739
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
740
- userid: this.$login.f.id
741
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
742
-
743
- let arr = getAllArea.data.filter((res) => {
744
- return res.parentid == val
745
- })
746
- console.log('过滤之后的片区', arr)
747
- this.sliceArea = []
748
- arr.forEach((res) => {
749
- this.sliceArea.push({label: res.name, value: res.name})
750
- })
751
- }
752
- },
753
- selfSearch(args) {
754
- //小区查询条件
755
- this.area = this.$refs.paged.$refs.cri.model.f_residential_area
756
- console.log("=====小区model绑定====",this.area)
757
- if(this.area.length !== 0){
758
- let str = JSON.stringify(this.area)
759
- str = str.replace(/"/g,`'`)
760
- str = str.replace(/\[/g,``)
761
- str = str.replace(/\]/g,``)
762
- console.log("=====小区model22222222222绑定====",str)
763
- //查询多个小区时条件
764
- args.condition += ` and f_residential_area in ( ${str} )`
765
- }
766
-
767
- if (!this.orgCondtionStr) {
768
- args.condition = `${args.condition}` + " and f_orgid = " + this.$login.f.orgid
769
- } else {
770
- args.condition = `${args.condition}` + this.orgCondtionStr
771
- }
772
- this.condition2 = args.condition
773
- this.model.search(args.condition, args.model)
774
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
775
- console.log('合计字段', this.sumsmodel)
776
- },
777
- clear() {
778
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
779
- this.$refs.paged.$refs.cri.model[key] = []
780
- })
781
- },
782
- hidden() {
783
- this.criteriaShow = !this.criteriaShow
784
- },
785
- getRes(obj) {
786
- this.orgCondtionStr = obj
787
- },
788
- stamp() {
789
- this.all = false
790
- //默认选择要打印的列
791
- this.modelval = defaultPrint.config
792
- this.fields = this.getfield
793
- console.log('所有打印字段', this.fields)
794
- this.printshow = true
795
- this.put()
796
- },
797
- put() {
798
- // 对Modelval进行排序
799
- this.sortModelval()
800
- this.thead = `<tr><th colspan=${this.modelval.length}>用户查询统计报表</th></tr><tr>`
801
- for (let key of this.modelval) {
802
- this.thead += '<th>' + this.fields[key] + '</th>'
803
- }
804
- this.thead += '</tr>'
805
- },
806
- print() {
807
- this.$refs.print.PrintAsFile()
808
- this.printshow = false
809
- },
810
- close() {
811
- this.printshow = false
812
- },
813
- // 对选择的列进行排序
814
- sortModelval() {
815
- let sortModel = []
816
- Object.keys(this.fields).forEach((key) => {
817
- if (this.modelval.includes(key)) {
818
- sortModel.push(key)
819
- }
820
- })
821
- this.modelval = sortModel
822
- console.log('选择的打印的字段', this.modelval)
823
- },
824
- dblclick(row, index) {
825
- console.log('双击之后数据', row, index)
826
- this.userdetail.show = true
827
- this.userdetail.f_userinfo_code = row.f_userinfo_code
828
- this.userdetail.f_filialeids = row.f_filialeids
829
- },
830
- sort (field, rule) {
831
- // 将所有排序方式设为不排序,实现相互排斥
832
- for (let key in this.orderFields) {
833
- if (key === field) {
834
- this.orderFields[key] = rule
835
- } else {
836
- this.orderFields[key] = 'no'
837
- }
838
- }
839
- // 如果新规则不排序,还原为默认排序
840
- if (rule === 'no') {
841
- this.model.paramSource.orderitem = `'${this.orderitem}'`
842
- } else {
843
- this.model.paramSource.orderitem = `'${field} ${rule}'`
844
- }
845
-
846
- this.search()
847
- }
848
- },
849
-
850
- watch: {
851
- 'all'(val) {
852
- if (val) {
853
- this.modelval = this.bodyData
854
- } else {
855
- this.modelval = defaultPrint.config
856
- this.put()
857
- }
858
- },
859
- 'modelval.length'() {
860
- this.put()
861
- },
862
- sumsmodel:{
863
- handler: function(val) {
864
- this.getotherfooter();
865
- },
866
- deep: true
867
- },
868
- 'orgCondtionStr'(val) {
869
- let res = val.match(/'(.*?)'/)
870
- console.log('正则提取:',res && res[1])
871
- if (res) {
872
- this.f_filialeid = res[1]
873
- if(res.input !=null){
874
- let resorgid = res.input.substring(res.input.indexOf("'"));
875
- if(resorgid!= null && resorgid!=''){
876
- resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
877
- // resorgid = resorgid.replaceAll("'","");
878
- resorgid = resorgid.replace(/'/g,"");
879
- this.allorgid = resorgid.split(",")
880
- }
881
- }
882
- this.updateParams()
883
- }
884
- },
885
- },
886
- computed: {
887
- // defaultexport() {
888
- // return exportConfig.chargeexportConfig
889
- // },
890
- authArr () {
891
- return this.$login.r ? this.$login.r : []
892
- },
893
-
894
- getCondition() {
895
- return {condition: this.condition2,orderitem:this.orderitem}
896
- },
897
- getfield() {
898
- let data = {}
899
- this.bodyData.forEach((value, index) => {
900
- data[this.bodyData[index]] = this.headData[index]
901
- })
902
- //合计字段打印
903
- this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
904
- if (this.sumsmodel) {
905
- Object.keys(this.sumsmodel).forEach((key) => {
906
- this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
907
- })
908
- } else {
909
- this.tfoot += '暂无'
910
- }
911
- this.tfoot += '</th></tr>'
912
- return data
913
- },
914
- getExportField() {
915
- return exportConfig.userConfig
916
- },
917
- inputtor () {
918
- // 获取抄表员
919
- console.log('获取抄表员', this.$login.f)
920
- let rs = []
921
- if (this.$login.f.f_gasman.length > 0) {
922
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
923
- let temp = {
924
- label: this.$login.f.f_gasman[i].name,
925
- value: this.$login.f.f_gasman[i].name
926
- }
927
- rs.push(temp)
928
- }
929
- }
930
-
931
- return [{label: '全部', value: ''}, ...rs]
932
- },
933
- userstates() {
934
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('客户状态')]
935
- },
936
- userLevels () {
937
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')]
938
- },
939
- userTypes () {
940
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
941
- },
942
- hairpin() {
943
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('发卡状态')]
944
- },
945
- addressstate() {
946
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('地址状态')]
947
- }
948
- }
949
- }
950
- </script>
951
- <style>
952
- .back-red{ /* 红色背景 */
953
- background-color: #F6C6CE;
954
- }
955
- .back-blue{ /* 蓝色背景 */
956
-
957
- }
958
- </style>
959
-
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search" v-if="!show">
4
+ <div class="flex">
5
+ <div style="flex:1;" class="flex" >
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 class="font_normal_body">{{$parent.$parent.usertitle}}编号</label>
12
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
13
+ condition="f_userinfo_code = '{}' " placeholder={{$parent.$parent.usertitle}}编号>
14
+ </div>
15
+ <div class="col-sm-2 form-group">
16
+ <label class="font_normal_body">{{$parent.$parent.usertitle}}名称</label>
17
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
18
+ condition="f_user_name like '%{}%'" placeholder={{$parent.$parent.usertitle}}名称>
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label class="font_normal_body">{{$parent.$parent.usertitle}}地址</label>
22
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
23
+ condition="f_address like '%{}%'" placeholder={{$parent.$parent.usertitle}}地址>
24
+ </div>
25
+ <div class="col-sm-2 form-group">
26
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
27
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
28
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
29
+ </div>
30
+
31
+ <div class="span" style="float:right;">
32
+ <button class="button_search button_spacing" @click="search()">查询</button>
33
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
34
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
35
+
36
+ <export-excel :data="$parent.$parent.getCondition"
37
+ :field="$parent.$parent.getExportField"
38
+ :footer="$parent.$parent.footer"
39
+ :header="$parent.$parent.other"
40
+ v-if="$parent.$parent.authArr.includes('档案查询导出')"
41
+ sqlurl="rs/logic/exportfile" sql-name="filesQuery" template-name='用户查询导出'
42
+ :choose-col="true"></export-excel>
43
+ <print-data :sum-field="$parent.$parent.getExportField" :model="$parent.model" :field="$parent.$parent.getExportField"
44
+ :defaultfield="$parent.$parent.defaultfield"
45
+ titletable="客户查询"
46
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
47
+
48
+ <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>
49
+ </div>
50
+ </div>
51
+ <div class="row" v-show="$parent.$parent.criteriaShow">
52
+ <div class="col-sm-2 form-group">
53
+ <label class="font_normal_body">{{$parent.$parent.usertitle}}电话</label>
54
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
55
+ condition="f_user_phone like '%{}%'" placeholder={{$parent.$parent.usertitle}}电话>
56
+ </div>
57
+ <div class="col-sm-2 form-group">
58
+ <label class="font_normal_body">身份证号</label>
59
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_idnumber"
60
+ condition="f_idnumber like '%{}%'" placeholder="身份证号">
61
+ </div>
62
+ <div class="col-sm-2 form-group">
63
+ <label class="font_normal_body">{{$parent.$parent.usertitle}}状态</label>
64
+ <v-select :value.sync="model.f_user_state"
65
+ v-model="model.f_user_state"
66
+ :options='$parent.$parent.userstates' placeholder='请选择'
67
+ condition="f_user_state = '{}'"
68
+ close-on-select></v-select>
69
+ </div>
70
+ <div class="col-sm-2 form-group">
71
+ <label class="font_normal_body">{{$parent.$parent.usertitle}}类型</label>
72
+ <v-select :value.sync="model.f_user_type"
73
+ v-model="model.f_user_type" condition="f_user_type = '{}'"
74
+ :options='$parent.$parent.userTypes' placeholder='请选择'
75
+ close-on-select></v-select>
76
+ </div>
77
+ <div class="col-sm-2 form-group">
78
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;人数&nbsp;&nbsp;&nbsp;</label>
79
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_people_num"
80
+ condition="f_people_num = '{}'" placeholder="人数">
81
+ </div>
82
+ <div class="col-sm-2 form-group">
83
+ <label class="font_normal_body">微信绑定</label>
84
+ <v-select
85
+ :value.sync="model.f_wechat"
86
+ v-model="model.f_wechat"
87
+ :options='$parent.$parent.weixinSign'
88
+ placeholder='请选择'
89
+ condition="f_wechat = '{}'"
90
+ close-on-select>
91
+ </v-select>
92
+ </div>
93
+ <div class="col-sm-2 form-group">
94
+ <label class="font_normal_body" >缴费类型</label>
95
+ <v-select :value.sync="model.f_payment" multiple
96
+ v-model="model.f_payment"
97
+ :options='$parent.$parent.dypayment' placeholder='请选择'
98
+ condition="f_cost_type in {}"
99
+ close-on-select></v-select>
100
+ </div>
101
+
102
+ <div class="col-sm-2 form-group">
103
+ <label for="startDate" class="font_normal_body">建档日期</label>
104
+ <datepicker placeholder="建档日期" style="width:60%"
105
+ v-model="model.f_createfile_date"
106
+ :value.sync="model.f_createfile_date"
107
+ :format="'yyyy-MM-dd'"
108
+ :show-reset-button="true"
109
+ condition="f_createfile_date >= '{} 00:00:00'">
110
+ </datepicker>
111
+ </div>
112
+ <div class="col-sm-2 form-group">
113
+ <label class="font_normal_body">建档部门</label>
114
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_depname"
115
+ condition="f_depname like '%{}%'" placeholder='建档部门'>
116
+ </div>
117
+ <div class="col-sm-2 form-group">
118
+ <label class="font_normal_body">报警器编码</label>
119
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_alarm_code"
120
+ condition="f_alarm_code like '%{}%'" placeholder='报警器编码'>
121
+ </div>
122
+ <div class="col-sm-2 form-group">
123
+ <label class="font_normal_body">发票编码</label>
124
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_taxpayer_id"
125
+ condition="f_taxpayer_id like '%{}%'" placeholder='发票编码'>
126
+ </div>
127
+ <div class="col-sm-2 form-group">
128
+ <label class="font_normal_body">燃气表号</label>
129
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
130
+ condition="f_meternumber like '%{}%'" placeholder='燃气表号'>
131
+ </div>
132
+ <!-- <div class="col-sm-2">-->
133
+ <!-- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区名称&nbsp;&nbsp;&nbsp;</label>-->
134
+ <!-- <input type="text" style="width:60%" class="input_search" v-model="model.f_residential_area"-->
135
+ <!-- condition="f_residential_area like '%{}%'" placeholder="小区"/>-->
136
+ <!-- <div class="col-sm-8">&ndash;&gt;-->
137
+ <!-- <input type="text" v-show="false" v-model="model.f_residential_area" class="input_search" style="width: 80%"&ndash;&gt;-->
138
+ <!--; v-validate:f_residential_area='{required: true }'>&ndash;&gt;-->
139
+ <!-- <v-select :value.sync="model.f_residential_area" :value-single="true"&ndash;&gt;-->
140
+ <!-- class="select_list select"&ndash;&gt;-->
141
+ <!-- :options='fresidentialarea' placeholder='请选择'&ndash;&gt;-->
142
+ <!-- close-on-select search="true">&ndash;&gt;-->
143
+ <!-- </v-select>-->
144
+ <!-- </div>-->
145
+
146
+ <div class="col-sm-2 form-group">
147
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区&nbsp;&nbsp;&nbsp;</label>
148
+ <v-select :value.sync="model.f_residential_area"
149
+ class="select_list select"
150
+ enter-push
151
+ multiple = "true"
152
+ v-model="model.f_residential_area"
153
+ style="width: 60%"
154
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
155
+ close-on-select>
156
+
157
+ </v-select>
158
+ </div>
159
+ <div class="col-sm-2 form-group">
160
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;楼栋&nbsp;&nbsp;&nbsp;</label>
161
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_building"
162
+ condition="f_building like '%{}%'" placeholder="楼栋"/>
163
+ </div>
164
+ <div class="col-sm-2 form-group">
165
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;单元&nbsp;&nbsp;&nbsp;</label>
166
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_unit"
167
+ condition="f_unit like '%{}%'" placeholder="单元"/>
168
+ </div>
169
+ <div class="col-sm-2 form-group">
170
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;楼层&nbsp;&nbsp;</label>
171
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_floor"
172
+ condition="f_floor like '%{}%'" placeholder="楼层"/>
173
+ </div>
174
+ <div class="col-sm-2 form-group">
175
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;门牌号</label>
176
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_room"
177
+ condition="f_room like '%{}%'" placeholder="门牌号">
178
+ </div>
179
+ <div class="col-sm-2 form-group">
180
+ <label class="font_normal_body">余额区间</label>
181
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_balance"
182
+ condition="f_balance >= '{}'" placeholder="最小值">
183
+ </div>
184
+ <div class="col-sm-2 form-group">
185
+ <label class="font_normal_body">&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
186
+ <input type="text" style="width:60%" class="input_search" v-model="model.balance2"
187
+ condition="f_balance <= '{}'" placeholder="最大值">
188
+ </div>
189
+ <div class="col-sm-2 form-group">
190
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;抄表员</label>
191
+ <v-select :value.sync="model.f_inputtor"
192
+ v-model="model.f_inputtor" condition="f_inputtor = '{}'"
193
+ :options='$parent.$parent.inputtores' placeholder='请选择'
194
+ multiple = "true"
195
+ close-on-select></v-select>
196
+ </div>
197
+
198
+ <!-- <div class="col-sm-2" >-->
199
+ <!-- <label for="f_balance" class="font_normal_body">账户结余</label>-->
200
+ <!-- <div class="form-group">-->
201
+ <!-- <v-input id="f_balance" placeholder="账户结余"-->
202
+ <!-- :expression.sync = 'model.f_balance'-->
203
+ <!-- v-model="model.f_balance"-->
204
+ <!-- condition= "f_balance {}"-->
205
+ <!-- :show-reset-button="reset"-->
206
+ <!-- v-ref:f_balance>-->
207
+ <!-- </v-input>-->
208
+ <!-- </div>-->
209
+ <!-- </div>-->
210
+ <div class="col-sm-2 form-group">
211
+ <label for="startDate" class="font_normal_body">开始日期</label>
212
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
213
+ v-model="model.startDate"
214
+ :value.sync="model.startDate"
215
+ :format="'yyyy-MM-dd'"
216
+ :show-reset-button="true"
217
+ condition="f_createfile_date >= '{} 00:00:00'">
218
+ </datepicker>
219
+ </div>
220
+ <div class="col-sm-2 form-group">
221
+ <label for="endDate" class="font_normal_body">结束日期</label>
222
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
223
+ v-model="model.endDate"
224
+ :value.sync="model.endDate"
225
+ :format="'yyyy-MM-dd'"
226
+ :show-reset-button="true"
227
+ condition="f_createfile_date <= '{} 23:59:59'">
228
+ </datepicker>
229
+ </div>
230
+ <!--表册片区-->
231
+ <div class="col-sm-2 form-group">
232
+ <label class="font_normal_body">表册片区</label>
233
+ <v-select :value.sync="model.f_book_slice_area" v-model="model.f_book_slice_area"
234
+ :options='$parent.$parent.bookSlice' placeholder='片区/表册'
235
+ style="width:60%"
236
+ close-on-select
237
+ condition="f_book_slice_area = '{}'"></v-select>
238
+ </div>
239
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"></res-select-group>
240
+ <div class="col-sm-2 form-group">
241
+ <label class="font_normal_body">{{$parent.$parent.usertitle}}等级</label>
242
+ <v-select :value.sync="model.f_user_level"
243
+ v-model="model.f_user_level" condition="f_user_level in {}"
244
+ :options='$parent.$parent.userLevels' placeholder='请选择'
245
+ multiple = "true"
246
+ close-on-select></v-select>
247
+ </div>
248
+ <div class="col-sm-2 form-group">
249
+ <label class="font_normal_body">通气状态</label>
250
+ <v-select :value.sync="model.f_address_state"
251
+ v-model="model.f_address_state" condition="f_address_state = '{}'"
252
+ :options='$parent.$parent.addressstate' placeholder='请选择'
253
+ close-on-select></v-select>
254
+ </div>
255
+ <div class="col-sm-2 form-group">
256
+ <label for="startGasDate" class="font_normal_body">通气时间</label>
257
+ <datepicker id="startGasDate" placeholder="开始日期" style="width:60%"
258
+ v-model="model.startGasDate"
259
+ :value.sync="model.startGasDate"
260
+ :format="'yyyy-MM-dd'"
261
+ :show-reset-button="true"
262
+ condition="f_gas_date >= '{} 00:00:00'">
263
+ </datepicker>
264
+ </div>
265
+ <div class="col-sm-2 form-group">
266
+ <label for="endGasDate" class="font_normal_body">至</label>
267
+ <datepicker id="endGasDate" placeholder="结束日期" style="width:60%"
268
+ v-model="model.endGasDate"
269
+ :value.sync="model.endGasDate"
270
+ :format="'yyyy-MM-dd'"
271
+ :show-reset-button="true"
272
+ condition="f_gas_date <= '{} 23:59:59'">
273
+ </datepicker>
274
+ </div>
275
+ <div class="col-sm-2 form-group">
276
+ <label class="font_normal_body">发卡状态</label>
277
+ <v-select :value.sync="model.f_whether_hairpin"
278
+ v-model="model.f_whether_hairpin" condition="f_whether_hairpin = '{}'"
279
+ :options='$parent.$parent.hairpin' placeholder='请选择'
280
+ close-on-select></v-select>
281
+ </div>
282
+
283
+ </div>
284
+ </div>
285
+ </criteria>
286
+
287
+
288
+ <data-grid :model="model" partial='list' class="list_area table_sy" @dblclick="$parent.dblclick" v-ref:grid>
289
+ <template partial='head'>
290
+ <tr>
291
+ <th>
292
+ <!--<nobr>客户编号</nobr>-->
293
+ <data-order field="f_userinfo_code" :name=`${$parent.$parent.$parent.usertitle}编号`
294
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
295
+ </th>
296
+ <th>
297
+ <nobr>{{$parent.$parent.$parent.usertitle}}名称</nobr>
298
+ </th>
299
+ <th>
300
+ <nobr>档案编号</nobr>
301
+ </th>
302
+ <th>
303
+ <nobr>{{$parent.$parent.$parent.usertitle}}电话</nobr>
304
+ </th>
305
+ <th>
306
+ <nobr>身份证号</nobr>
307
+ </th>
308
+ <th>
309
+ <nobr>表册片区</nobr>
310
+ </th>
311
+ <th>
312
+ <nobr>账户余额</nobr>
313
+ </th>
314
+ <th>
315
+ <nobr>{{$parent.$parent.$parent.usertitle}}等级</nobr>
316
+ </th>
317
+ <th>
318
+ <nobr>{{$parent.$parent.$parent.usertitle}}类型</nobr>
319
+ </th>
320
+ <th>
321
+ <data-order field="f_address" :name.sync=`${$parent.$parent.$parent.usertitle}地址`
322
+ :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
323
+ </th>
324
+ <th>
325
+ <nobr>表号</nobr>
326
+ </th>
327
+ <th>
328
+ <nobr>小区</nobr>
329
+ </th>
330
+ <th>
331
+ <nobr>详细地址</nobr>
332
+ </th>
333
+ <th>
334
+ <nobr>楼栋</nobr>
335
+ </th>
336
+ <th>
337
+ <nobr>单元</nobr>
338
+ </th>
339
+ <th>
340
+ <nobr>楼层</nobr>
341
+ </th>
342
+ <th>
343
+ <nobr>门牌号</nobr>
344
+ </th>
345
+ <th>
346
+ <nobr>{{$parent.$parent.$parent.usertitle}}状态</nobr>
347
+ </th>
348
+ <th>
349
+ <!--<nobr>建档日期</nobr>-->
350
+ <data-order field="f_createfile_date" name="建档日期"
351
+ :order.sync="$parent.$parent.$parent.orderFields.f_createfile_date"></data-order>
352
+ </th>
353
+ <th>
354
+ <nobr>建档人</nobr>
355
+ </th>
356
+ <th>
357
+ <nobr>缴费类型</nobr>
358
+ </th>
359
+ <th>
360
+ <nobr>银行户名</nobr>
361
+ </th>
362
+ <th>
363
+ <nobr>银行名称</nobr>
364
+ </th>
365
+ <th>
366
+ <nobr>银行账号</nobr>
367
+ </th>
368
+ <th>
369
+ <nobr>银行身份证号</nobr>
370
+ </th>
371
+ <th>
372
+ <nobr>缴费编号</nobr>
373
+ </th>
374
+ <th>
375
+ <nobr>通气状态</nobr>
376
+ </th>
377
+ <th>
378
+ <nobr>通气时间</nobr>
379
+ </th>
380
+ <th>
381
+ <nobr>发卡状态</nobr>
382
+ </th>
383
+ <th>
384
+ <nobr>备注</nobr>
385
+ </th>
386
+ <!-- <th>-->
387
+ <!-- <nobr>部门</nobr>-->
388
+ <!-- </th>-->
389
+ <!-- <th>-->
390
+ <!-- <nobr>公司</nobr>-->
391
+ <!-- </th>-->
392
+ </tr>
393
+ </template>
394
+ <template partial='body'>
395
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;" ><nobr>
396
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
397
+ </nobr> </td>
398
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
399
+ <nobr>{{row.f_user_name}}</nobr>
400
+ </td>
401
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
402
+ <nobr>{{row.f_olduserinfo_code}}</nobr>
403
+ </td>
404
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
405
+ <nobr>{{row.f_user_phone}}</nobr>
406
+ </td>
407
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
408
+ <nobr>{{row.f_idnumber}}</nobr>
409
+ </td>
410
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
411
+ <nobr>{{row.f_book_slice_area}}</nobr>
412
+ </td>
413
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
414
+ <nobr>{{row.f_balance}}</nobr>
415
+ </td>
416
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
417
+ <nobr>{{row.f_user_level}}</nobr>
418
+ </td>
419
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
420
+ <nobr>{{row.f_user_type}}</nobr>
421
+ </td>
422
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
423
+ <nobr>{{row.f_address}}</nobr>
424
+ </td>
425
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
426
+ <nobr>{{row.f_meternumber}}</nobr>
427
+ </td>
428
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
429
+ <nobr>{{row.f_residential_area}}</nobr>
430
+ </td>
431
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
432
+ <nobr>{{row.address}}</nobr>
433
+ </td>
434
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
435
+ <nobr>{{row.f_building}}</nobr>
436
+ </td>
437
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
438
+ <nobr>{{row.f_unit}}</nobr>
439
+ </td>
440
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
441
+ <nobr>{{row.f_floor}}</nobr>
442
+ </td>
443
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
444
+ <nobr>{{row.f_room}}</nobr>
445
+ </td>
446
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
447
+ <nobr>{{row.f_user_state}}</nobr>
448
+ </td>
449
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
450
+ <nobr>{{row.f_createfile_date}}</nobr>
451
+ </td>
452
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
453
+ <nobr>{{row.f_createfile_person}}</nobr>
454
+ </td>
455
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
456
+ <nobr>{{row.f_cost_type}}</nobr>
457
+ </td>
458
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
459
+ <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_accopen}}</span></nobr>
460
+ </td>
461
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
462
+ <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_name}}</span></nobr>
463
+ </td>
464
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
465
+ <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_account}}</span></nobr>
466
+ </td>
467
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
468
+ <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_idnumber}}</span></nobr>
469
+ </td>
470
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
471
+ <nobr><span v-if="row.f_cost_type =='银行代扣'">{{row.f_bank_pay_number}}</span></nobr>
472
+ </td>
473
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
474
+ <nobr>{{row.f_address_state}}</nobr>
475
+ </td>
476
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
477
+ <nobr>{{row.f_gas_date}}</nobr>
478
+ </td>
479
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
480
+ <nobr>{{row.f_whether_hairpin}}</nobr>
481
+ </td>
482
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
483
+ <nobr>{{row.f_comments}}</nobr>
484
+ </td>
485
+ <!-- <td style="text-align: center;">-->
486
+ <!-- <nobr>{{row.f_depname}}</nobr>-->
487
+ <!-- </td>-->
488
+ <!-- <td style="text-align: center;">-->
489
+ <!-- <nobr>{{row.f_orgname}}</nobr>-->
490
+ <!-- </td>-->
491
+ </template>
492
+ <template partial='foot'>
493
+ </template>
494
+ </data-grid>
495
+ </criteria-paged>
496
+
497
+ <table class="table-hover">
498
+ <tr style="position: relative" class="table-bordered">
499
+ <td
500
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
501
+ 汇总信息
502
+ </td>
503
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
504
+ 结余合计:&emsp;{{sumsmodel.f_balance}}
505
+ </td>
506
+ </tr>
507
+ </table>
508
+
509
+ <!--<modal :show.sync="printshow" v-ref:modal backdrop="false">-->
510
+ <!--<header slot="modal-header" class="modal-header text-center">-->
511
+ <!--<h4 class="modal-title">打印列选择</h4>-->
512
+ <!--<input type="checkbox" class="" id="f_generations" v-model="all">-->
513
+ <!--<label for="f_generations" class="font-size">全选</label>-->
514
+ <!--</header>-->
515
+ <!--<article slot="modal-body">-->
516
+ <!--<div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">-->
517
+ <!--<div class="col-sm-3" v-for="f in fields">-->
518
+ <!--<input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">-->
519
+ <!--<label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>-->
520
+ <!--</div>-->
521
+ <!--</div>-->
522
+ <!--</article>-->
523
+ <!--<footer slot="modal-footer" class="modal-footer">-->
524
+ <!--<center>-->
525
+ <!--<button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>-->
526
+ <!--<button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>-->
527
+ <!--<print-table :model='model' v-show="false" v-ref:print-->
528
+ <!--:top='40' :left='60' :right='40' :bottom='60'-->
529
+ <!--:thead="thead" :tfoot='tfoot' :attach="yangsen"-->
530
+ <!--:fields="modelval" :printpage="true">-->
531
+ <!--</print-table>-->
532
+ <!--</center>-->
533
+ <!--</footer>-->
534
+ <!--</modal>-->
535
+ <!--<user-detail v-if="userdetail.show" :data="userdetail"></user-detail>-->
536
+ </div>
537
+
538
+ </div>
539
+ </div>
540
+ <div class="basic-main" style="width:99%;height:98%;margin-bottom:0px" v-if="show">
541
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
542
+ </div>
543
+ </div>
544
+ </template>
545
+
546
+ <script>
547
+ import {HttpResetClass, PagedList} from 'vue-client'
548
+ import defaultPrint from './config/DefaultPrint'
549
+ import exportConfig from './config/exportConfig'
550
+
551
+ let readySomething = async function (self) {
552
+ self.$MagGetSaleParam.initinputtor();
553
+ self.getinputtores();
554
+ // 获取区县
555
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
556
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
557
+ // await self.$refs.paged.$refs.cri.search()
558
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
559
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
560
+ }
561
+
562
+ export default {
563
+ title: '客户查询',
564
+ data() {
565
+ return {
566
+ other:[],
567
+ footer:[],
568
+ model: new PagedList('rs/sql/filesQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_userinfo_code desc'`}, {f_balance: 0}),
569
+ criteriaShow: false,
570
+ orgCondtionStr: '',
571
+ modelval: [],
572
+ printshow: false,
573
+ all: false,
574
+ fields: {},
575
+ //排序
576
+ orderitem:'f_userinfo_code desc',
577
+ orderFields: {
578
+ f_operate_date: 'no'
579
+ },
580
+ //默认打印列
581
+ defaultfield: [],
582
+ config: {
583
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone', 'f_user_state']
584
+ },
585
+ balance2:'',
586
+ thead: '',
587
+ tfoot: '',
588
+ area: [],
589
+ //合计数据
590
+ sumsmodel: {},
591
+ initres: {
592
+ org:[this.$login.f.orgid],
593
+ dep:[],
594
+ user:[],
595
+ },
596
+ userdetail: {
597
+ show: false,
598
+ f_userinfo_code: '',
599
+ f_filialeids: ''
600
+ },
601
+
602
+ show:false,
603
+ rowdata:{},
604
+ meterInfo:{},
605
+ deviceInfo:{},
606
+ condition2:'',
607
+ usertitle: this.$appdata.getSingleValue('用户名称前缀') ? this.$appdata.getSingleValue('用户名称前缀') : '客户',
608
+
609
+ weixinSign:[{label:"全部",value:""},{label:"已绑定",value:"已绑定"},{label:"未绑定",value:"未绑定"}],
610
+ //小区
611
+ residentialArea: [],
612
+ //表册片区
613
+ bookSlice:[{label: '全部',value: ''}],
614
+ inputtores:[{label: '全部',value: ''}], //抄表员
615
+ allorgid:[],
616
+ f_filialeid: this.$login.f.f_orgid,
617
+ dypayment:[{label:"全部",value:""},{label:"银行代扣",value:"银行代扣",},{label:"现金缴费",value:"现金缴费",}],
618
+ }
619
+ },
620
+ ready() {
621
+ this.getaddress()
622
+ this.$refs.paged.$refs.cri.model.f_user_state=['正常']
623
+ readySomething(this).then(() => {
624
+ this.$emit('ready')
625
+ }).catch((error) => {
626
+ this.$emit('error', error)
627
+ })
628
+ this.initAreas(this.$login.f.orgid)
629
+ },
630
+ methods: {
631
+ async getinputtores () {
632
+ // 获取抄表员
633
+ let rs = []
634
+ if (this.$login.f.f_gasman.length > 0) {
635
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
636
+ let temp = {
637
+ label: this.$login.f.f_gasman[i].name,
638
+ value: this.$login.f.f_gasman[i].name
639
+ }
640
+ rs.push(temp)
641
+ }
642
+ }
643
+ this.inputtores = [{label: '全部', value: ''}, ...rs]
644
+ },
645
+ async updateParams() {
646
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
647
+ this.inputtores = [];
648
+ this.inputtores.push({label: "全部", value: ""})
649
+ this.initSlice(this.f_filialeid)
650
+ if(this.allorgid!=null){
651
+ this.allorgid.forEach((res)=>{
652
+ this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
653
+ })
654
+ }
655
+ },
656
+ getotherfooter () {
657
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
658
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
659
+ this.other = [];
660
+ this.footer = [];
661
+ let exportdata = this.getCondition;
662
+ let otherInData = [];
663
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
664
+ let footerData = [], exportfield = this.getExportField;
665
+ footerData.push("合计");
666
+ let self = this;
667
+ for (var field in self.sumsmodel) {
668
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
669
+ }
670
+ this.footer.push(footerData);
671
+ this.other.push(otherInData);
672
+ },
673
+ async getaddress(){
674
+ console.log('开始获取小区')
675
+ let HttpReset = new HttpResetClass()
676
+ var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
677
+ data: {
678
+ condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
679
+ }
680
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
681
+ console.log('小区',data)
682
+ let house = []
683
+ for (let row of data.data){
684
+ console.log('开始保存小区')
685
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
686
+ }
687
+ this.residentialArea = house
688
+ },
689
+
690
+ //把数据库查询数据转换为下拉数据
691
+ calculate(rows){
692
+ let data = []
693
+ rows.forEach((row, n) => {
694
+ data[n] = {label: row.f_residential_area, value: row.id}
695
+ })
696
+ return data
697
+ },
698
+ search(){
699
+ this.$refs.paged.$refs.cri.search()
700
+ },
701
+ cancel(obj) {
702
+ this.show = false
703
+ },
704
+ showmsg(obj){
705
+
706
+ this.rowdata=obj
707
+ this.show=true
708
+ // let http = new HttpResetClass()
709
+ // http.load('POST','rs/sql/getUserMeter',{data: {condition: `f_userinfo_id ='${obj.f_userinfo_id}'`}},
710
+ // {resolveMsg: null, rejectMsg: null}).then((res) => {
711
+ // this.meterInfo = res.data})
712
+ // let http2 = new HttpResetClass()
713
+ // http2.load('POST','rs/sql/deviceQuery',{data: {condition: `f_userinfo_id ='${obj.f_userinfo_id}'`}},
714
+ // {resolveMsg: null, rejectMsg: null}).then((res) => {
715
+ // this.deviceInfo = res.data})
716
+
717
+ // this.f_userinfo_id=obj.f_userinfo_id
718
+ },
719
+ //初始化片区
720
+ async initSlice (val) {
721
+ if (val) {
722
+ let getAllArea = await this.$resetpost('/rs/search', {
723
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
724
+ userid: this.$login.f.id
725
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
726
+ let arr = getAllArea.data.filter((res) => {
727
+ return res.parentid == val
728
+ })
729
+ this.bookSlice = []
730
+ console.log('过滤之后的片区-------------------', arr)
731
+ arr.forEach((res) => {
732
+ this.bookSlice.push({label: res.name, value: res.name})
733
+ })
734
+ }
735
+ },
736
+ async initAreas (val) {
737
+
738
+ if (val) {
739
+ let getAllArea = await this.$resetpost('/rs/search', {
740
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
741
+ userid: this.$login.f.id
742
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
743
+
744
+ let arr = getAllArea.data.filter((res) => {
745
+ return res.parentid == val
746
+ })
747
+ console.log('过滤之后的片区', arr)
748
+ this.sliceArea = []
749
+ arr.forEach((res) => {
750
+ this.sliceArea.push({label: res.name, value: res.name})
751
+ })
752
+ }
753
+ },
754
+ selfSearch(args) {
755
+ //小区查询条件
756
+ this.area = this.$refs.paged.$refs.cri.model.f_residential_area
757
+ console.log("=====小区model绑定====",this.area)
758
+ if(this.area.length !== 0){
759
+ let str = JSON.stringify(this.area)
760
+ str = str.replace(/"/g,`'`)
761
+ str = str.replace(/\[/g,``)
762
+ str = str.replace(/\]/g,``)
763
+ console.log("=====小区model22222222222绑定====",str)
764
+ //查询多个小区时条件
765
+ args.condition += ` and f_residential_area in ( ${str} )`
766
+ }
767
+
768
+ if (!this.orgCondtionStr) {
769
+ args.condition = `${args.condition}` + " and f_orgid = " + this.$login.f.orgid
770
+ } else {
771
+ args.condition = `${args.condition}` + this.orgCondtionStr
772
+ }
773
+ this.condition2 = args.condition
774
+ this.model.search(args.condition, args.model)
775
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
776
+ console.log('合计字段', this.sumsmodel)
777
+ },
778
+ clear() {
779
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
780
+ this.$refs.paged.$refs.cri.model[key] = []
781
+ })
782
+ },
783
+ hidden() {
784
+ this.criteriaShow = !this.criteriaShow
785
+ },
786
+ getRes(obj) {
787
+ this.orgCondtionStr = obj
788
+ },
789
+ stamp() {
790
+ this.all = false
791
+ //默认选择要打印的列
792
+ this.modelval = defaultPrint.config
793
+ this.fields = this.getfield
794
+ console.log('所有打印字段', this.fields)
795
+ this.printshow = true
796
+ this.put()
797
+ },
798
+ put() {
799
+ // 对Modelval进行排序
800
+ this.sortModelval()
801
+ this.thead = `<tr><th colspan=${this.modelval.length}>用户查询统计报表</th></tr><tr>`
802
+ for (let key of this.modelval) {
803
+ this.thead += '<th>' + this.fields[key] + '</th>'
804
+ }
805
+ this.thead += '</tr>'
806
+ },
807
+ print() {
808
+ this.$refs.print.PrintAsFile()
809
+ this.printshow = false
810
+ },
811
+ close() {
812
+ this.printshow = false
813
+ },
814
+ // 对选择的列进行排序
815
+ sortModelval() {
816
+ let sortModel = []
817
+ Object.keys(this.fields).forEach((key) => {
818
+ if (this.modelval.includes(key)) {
819
+ sortModel.push(key)
820
+ }
821
+ })
822
+ this.modelval = sortModel
823
+ console.log('选择的打印的字段', this.modelval)
824
+ },
825
+ dblclick(row, index) {
826
+ console.log('双击之后数据', row, index)
827
+ this.userdetail.show = true
828
+ this.userdetail.f_userinfo_code = row.f_userinfo_code
829
+ this.userdetail.f_filialeids = row.f_filialeids
830
+ },
831
+ sort (field, rule) {
832
+ // 将所有排序方式设为不排序,实现相互排斥
833
+ for (let key in this.orderFields) {
834
+ if (key === field) {
835
+ this.orderFields[key] = rule
836
+ } else {
837
+ this.orderFields[key] = 'no'
838
+ }
839
+ }
840
+ // 如果新规则不排序,还原为默认排序
841
+ if (rule === 'no') {
842
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
843
+ } else {
844
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
845
+ }
846
+
847
+ this.search()
848
+ }
849
+ },
850
+
851
+ watch: {
852
+ 'all'(val) {
853
+ if (val) {
854
+ this.modelval = this.bodyData
855
+ } else {
856
+ this.modelval = defaultPrint.config
857
+ this.put()
858
+ }
859
+ },
860
+ 'modelval.length'() {
861
+ this.put()
862
+ },
863
+ sumsmodel:{
864
+ handler: function(val) {
865
+ this.getotherfooter();
866
+ },
867
+ deep: true
868
+ },
869
+ 'orgCondtionStr'(val) {
870
+ let res = val.match(/'(.*?)'/)
871
+ console.log('正则提取:',res && res[1])
872
+ if (res) {
873
+ this.f_filialeid = res[1]
874
+ if(res.input !=null){
875
+ let resorgid = res.input.substring(res.input.indexOf("'"));
876
+ if(resorgid!= null && resorgid!=''){
877
+ resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
878
+ // resorgid = resorgid.replaceAll("'","");
879
+ resorgid = resorgid.replace(/'/g,"");
880
+ this.allorgid = resorgid.split(",")
881
+ }
882
+ }
883
+ this.updateParams()
884
+ }
885
+ },
886
+ },
887
+ computed: {
888
+ // defaultexport() {
889
+ // return exportConfig.chargeexportConfig
890
+ // },
891
+ authArr () {
892
+ return this.$login.r ? this.$login.r : []
893
+ },
894
+
895
+ getCondition() {
896
+ return {condition: this.condition2,orderitem:this.orderitem}
897
+ },
898
+ getfield() {
899
+ let data = {}
900
+ this.bodyData.forEach((value, index) => {
901
+ data[this.bodyData[index]] = this.headData[index]
902
+ })
903
+ //合计字段打印
904
+ this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
905
+ if (this.sumsmodel) {
906
+ Object.keys(this.sumsmodel).forEach((key) => {
907
+ this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
908
+ })
909
+ } else {
910
+ this.tfoot += '暂无'
911
+ }
912
+ this.tfoot += '</th></tr>'
913
+ return data
914
+ },
915
+ getExportField() {
916
+ return exportConfig.userConfig
917
+ },
918
+ inputtor () {
919
+ // 获取抄表员
920
+ console.log('获取抄表员', this.$login.f)
921
+ let rs = []
922
+ if (this.$login.f.f_gasman.length > 0) {
923
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
924
+ let temp = {
925
+ label: this.$login.f.f_gasman[i].name,
926
+ value: this.$login.f.f_gasman[i].name
927
+ }
928
+ rs.push(temp)
929
+ }
930
+ }
931
+
932
+ return [{label: '全部', value: ''}, ...rs]
933
+ },
934
+ userstates() {
935
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('客户状态')]
936
+ },
937
+ userLevels () {
938
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')]
939
+ },
940
+ userTypes () {
941
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
942
+ },
943
+ hairpin() {
944
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('发卡状态')]
945
+ },
946
+ addressstate() {
947
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('地址状态')]
948
+ }
949
+ }
950
+ }
951
+ </script>
952
+ <style>
953
+ .back-red{ /* 红色背景 */
954
+ background-color: #F6C6CE;
955
+ }
956
+ .back-blue{ /* 蓝色背景 */
957
+
958
+ }
959
+ </style>
960
+