manage-client 3.3.234 → 3.3.235

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 (213) hide show
  1. package/.gradle/7.4/checksums/checksums.lock +0 -0
  2. package/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
  3. package/.gradle/7.4/dependencies-accessors/gc.properties +0 -0
  4. package/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
  5. package/.gradle/7.4/fileChanges/last-build.bin +0 -0
  6. package/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
  7. package/.gradle/7.4/gc.properties +0 -0
  8. package/build/dev-server.js +190 -190
  9. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  10. package/gradlew +234 -234
  11. package/gradlew.bat +89 -89
  12. package/hs_err_pid13052.log +206 -206
  13. package/package.json +111 -111
  14. package/src/components/SellReport/BusinessClassify.vue +382 -292
  15. package/src/components/SellReport/ChManageBusSummary.vue +273 -273
  16. package/src/components/SellReport/GasMoneyPublicConReport.vue +231 -231
  17. package/src/components/SellReport/ManageGasGroupSummary.vue +208 -208
  18. package/src/components/SellReport/ManageSellType.vue +267 -267
  19. package/src/components/SellReport/ReportItems.vue +312 -312
  20. package/src/components/SellReport/yangchun/YcBusSummaryes.vue +229 -229
  21. package/src/components/handReport/WebGastypeMonthReport.vue +190 -190
  22. package/src/components/sale/businessquery/AreaChargeQuery.vue +384 -384
  23. package/src/components/sale/businessquery/AreaGeneralQuery.vue +637 -637
  24. package/src/components/sale/businessquery/ArrearsQuery.vue +983 -983
  25. package/src/components/sale/businessquery/BalanceTable.vue +482 -482
  26. package/src/components/sale/businessquery/BusinessManage.vue +212 -212
  27. package/src/components/sale/businessquery/CancellationQuery.vue +428 -428
  28. package/src/components/sale/businessquery/CardHandplanQuery.vue +546 -546
  29. package/src/components/sale/businessquery/ChangeMeterQuery.vue +699 -699
  30. package/src/components/sale/businessquery/ChargeQuery.vue +1435 -1435
  31. package/src/components/sale/businessquery/CollectManage.vue +161 -161
  32. package/src/components/sale/businessquery/CommunityPaymen.vue +307 -307
  33. package/src/components/sale/businessquery/DisableQuery.vue +523 -523
  34. package/src/components/sale/businessquery/EnableQuery.vue +462 -462
  35. package/src/components/sale/businessquery/FMYGasQuery.vue +872 -872
  36. package/src/components/sale/businessquery/FillCardQuery.vue +573 -573
  37. package/src/components/sale/businessquery/FillGasQuery.vue +593 -593
  38. package/src/components/sale/businessquery/GroupChargeQuery.vue +492 -492
  39. package/src/components/sale/businessquery/HandBookQuery.vue +692 -692
  40. package/src/components/sale/businessquery/HandBookTwoQuery.vue +704 -704
  41. package/src/components/sale/businessquery/HandGasPropertiesQuery.vue +671 -671
  42. package/src/components/sale/businessquery/HandPeopleQuery.vue +719 -719
  43. package/src/components/sale/businessquery/HandRateQuery.vue +524 -524
  44. package/src/components/sale/businessquery/Handgasquery.vue +477 -477
  45. package/src/components/sale/businessquery/HandplanQuery.vue +1376 -1376
  46. package/src/components/sale/businessquery/MonthGasQuery.vue +482 -482
  47. package/src/components/sale/businessquery/NoBusinessQuery.vue +778 -778
  48. package/src/components/sale/businessquery/PlotSummaryQuery.vue +499 -499
  49. package/src/components/sale/businessquery/ProceedsOper.vue +415 -415
  50. package/src/components/sale/businessquery/ResidentialCardQuery.vue +377 -377
  51. package/src/components/sale/businessquery/ResidentialQuery.vue +415 -415
  52. package/src/components/sale/businessquery/SellOrgnameQuery.vue +680 -680
  53. package/src/components/sale/businessquery/SellPeopleQuery.vue +752 -752
  54. package/src/components/sale/businessquery/SellingHand.vue +421 -421
  55. package/src/components/sale/businessquery/TransferQuery.vue +502 -502
  56. package/src/components/sale/businessquery/UnhandBusiness.vue +328 -328
  57. package/src/components/sale/businessquery/UserSellHeadDetail.vue +579 -579
  58. package/src/components/sale/businessquery/WebHandplanQuery.vue +987 -987
  59. package/src/components/sale/businessquery/WebMeterMonthUserGasQuery.vue +471 -471
  60. package/src/components/sale/businessquery/YingShouMingXi.vue +524 -524
  61. package/src/components/sale/businessquery/YonghuJieyu.vue +358 -358
  62. package/src/components/sale/businessquery/chargeRecordMaintenanceQuery.vue +353 -353
  63. package/src/components/sale/businessquery/usergas.vue +315 -315
  64. package/src/components/sale/config/exportConfig.js +2763 -2763
  65. package/src/components/sale/config/tableConfig.js +59 -59
  66. package/src/components/sale/filesquery/FireQuery.vue +539 -539
  67. package/src/components/sale/filesquery/RecordInfoQuery.vue +1448 -1448
  68. package/src/components/sale/filesquery/UserQuery.vue +1002 -1002
  69. package/src/components/webmeter/DrillData/GetNoMetereadData.vue +423 -423
  70. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +739 -739
  71. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +691 -691
  72. package/src/components/webmeter/WebmeterQuery.vue +77 -77
  73. package/src/components/webmeter/gasAnalysis/WebmeterSettlementAnalysis.vue +456 -456
  74. package/src/components/webmeter/gasStatistics/GasStatistics.vue +526 -526
  75. package/src/components/webmeter/gasStatistics/NewGasStatistics.vue +542 -542
  76. package/src/components/webmeter/instruction/NewQueryInstruct.vue +606 -606
  77. package/src/components/webmeter/newwebmeter/NewException/MeterExceptionList.vue +557 -557
  78. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +1 -1
  79. package/src/components/webmeter/newwebmeter/WebhandMonthGas.vue +819 -819
  80. package/src/components/webmeter/recharge/RechargeList.vue +371 -371
  81. package/src/components/webmeter/report/ReportList.vue +453 -453
  82. package/src/components/webmeter/reportdata/ReportDataQuery.vue +339 -339
  83. package/src/filiale/WEINAN/InspectListGas.vue +616 -616
  84. package/src/filiale/WEINAN/ManageCompanyGasSummary.vue +555 -555
  85. package/src/filiale/WEINAN/ManageSummaryReport.vue +712 -712
  86. package/src/filiale/WEINAN/RecordInfoQuery.vue +1328 -1328
  87. package/src/filiale/WEINAN/businessquery/WallHangingFurnaceUserQuery.vue +418 -418
  88. package/src/filiale/ancheng/businessquery/FMYGasQuery.vue +853 -853
  89. package/src/filiale/ancheng/exportConfig.js +1112 -1112
  90. package/src/filiale/bayan/ChargeQuery.vue +1436 -1436
  91. package/src/filiale/bayan/PrintTableManage.vue +242 -242
  92. package/src/filiale/bayan/config/DefaultPrint.js +6 -6
  93. package/src/filiale/bayan/config/exportConfig.js +2642 -2642
  94. package/src/filiale/bayan/config/tableConfig.js +59 -59
  95. package/src/filiale/bayan/sale.js +8 -8
  96. package/src/filiale/bayan/webmeter/GetNoMetereadData.vue +425 -425
  97. package/src/filiale/bayan/webmeter/LostContactAnalysisList.vue +719 -719
  98. package/src/filiale/bayan/webmeter/MeterExceptionList.vue +591 -591
  99. package/src/filiale/bayan/webmeter/NewGasStatistics.vue +665 -665
  100. package/src/filiale/bayan/webmeter/NewQueryInstruct.vue +650 -650
  101. package/src/filiale/bayan/webmeter/NewWebmeterSettlementAnalysis.vue +464 -464
  102. package/src/filiale/bayan/webmeter/RechargeList.vue +430 -430
  103. package/src/filiale/bayan/webmeter/ReportDataQuery.vue +343 -343
  104. package/src/filiale/bayan/webmeter/ReportList.vue +555 -555
  105. package/src/filiale/bayan/webmeter/UserLostContactAnalysis.vue +674 -674
  106. package/src/filiale/bayan/webmeterManage.js +26 -26
  107. package/src/filiale/dingcheng/DefaultPrint.js +6 -6
  108. package/src/filiale/dingcheng/businessquery/ChangeMeterQuery.vue +798 -798
  109. package/src/filiale/dingcheng/exportConfig.js +2765 -2765
  110. package/src/filiale/dingcheng/sale.js +9 -9
  111. package/src/filiale/fugou/RecordInfoQuery.vue +1451 -0
  112. package/src/filiale/fugou/config/DefaultPrint.js +6 -0
  113. package/src/filiale/fugou/config/exportConfig.js +2763 -0
  114. package/src/filiale/fugou/config/tableConfig.js +59 -0
  115. package/src/filiale/fugou/sale.js +6 -0
  116. package/src/filiale/hantou/ChangeMeterQuery.vue +699 -699
  117. package/src/filiale/hantou/config/DefaultPrint.js +6 -6
  118. package/src/filiale/hantou/config/exportConfig.js +2667 -2667
  119. package/src/filiale/hantou/config/tableConfig.js +54 -54
  120. package/src/filiale/hantou/sale.js +8 -8
  121. package/src/filiale/jingwei/RecordInfoQuery.vue +1210 -1210
  122. package/src/filiale/jingwei/config/exportConfig.js +1106 -1106
  123. package/src/filiale/jingyang/ChargeQuery.vue +1464 -1464
  124. package/src/filiale/jingyang/RechargeList.vue +346 -346
  125. package/src/filiale/jingyang/config/DefaultPrint.js +6 -6
  126. package/src/filiale/jingyang/config/exportConfig.js +2776 -2776
  127. package/src/filiale/jingyang/config/tableConfig.js +58 -58
  128. package/src/filiale/jingyang/sale.js +8 -8
  129. package/src/filiale/kelai/AreaChargeQuery.vue +398 -398
  130. package/src/filiale/kelai/ChargeQuery.vue +1348 -1348
  131. package/src/filiale/kelai/GasStatistics.vue +561 -561
  132. package/src/filiale/kelai/NewAccountQuery.vue +417 -417
  133. package/src/filiale/kelai/NewGasStatistics.vue +556 -556
  134. package/src/filiale/kelai/feimin_style_kl.vue +400 -400
  135. package/src/filiale/kelai/reportManage.js +13 -13
  136. package/src/filiale/kelai/sale.js +17 -17
  137. package/src/filiale/liaoyuan/HandplanQuery.vue +1289 -1289
  138. package/src/filiale/lixianV3/RecordInfoQuery.vue +1474 -1474
  139. package/src/filiale/macheng/ArrearsQuery.vue +831 -831
  140. package/src/filiale/macheng/RecordInfoQuery.vue +1023 -1023
  141. package/src/filiale/macheng/config/exportConfig.js +79 -79
  142. package/src/filiale/meihekou/AreaGeneralQuery.vue +206 -206
  143. package/src/filiale/meihekou/CardHandplanQuery.vue +664 -664
  144. package/src/filiale/meihekou/ChargeQuery.vue +1274 -1274
  145. package/src/filiale/meihekou/CollectManage.vue +152 -152
  146. package/src/filiale/meihekou/HandplanQuery.vue +1248 -1248
  147. package/src/filiale/meihekou/OtherChargeQuery.vue +618 -618
  148. package/src/filiale/meihekou/UserSellHeadDetail.vue +516 -516
  149. package/src/filiale/meihekou/YingShouMingXi.vue +556 -556
  150. package/src/filiale/meihekou/config/exportConfig.js +829 -829
  151. package/src/filiale/meihekou/sale.js +39 -39
  152. package/src/filiale/ningjin/MeterExceptionList.vue +616 -616
  153. package/src/filiale/ningjin/UserLostContactAnalysis.vue +623 -623
  154. package/src/filiale/qianneng/RecordInfoQuery.vue +1369 -1369
  155. package/src/filiale/qianneng/WebmeterQuery.vue +70 -70
  156. package/src/filiale/qianneng/exportConfig.js +232 -232
  157. package/src/filiale/qingtongxia/ChargeQuery.vue +1209 -1209
  158. package/src/filiale/qingtongxia/config/exportConfig.js +712 -712
  159. package/src/filiale/rizhao/BusinessManage.vue +212 -212
  160. package/src/filiale/rizhao/sale.js +13 -13
  161. package/src/filiale/shangluo/HandplanQuery.vue +1376 -1376
  162. package/src/filiale/shangluo/sale.js +17 -17
  163. package/src/filiale/shangluo/webmeter/PriceInstructList.vue +303 -303
  164. package/src/filiale/shangluo/webmeter/UserInstructList.vue +304 -304
  165. package/src/filiale/shangluo/webmeter/WebmeterSettlementAnalysis.vue +432 -432
  166. package/src/filiale/shanxian/EchartsBox.vue +134 -134
  167. package/src/filiale/shaoguan/errorHandplanQuery.vue +386 -386
  168. package/src/filiale/shexian/ChangeMeterQuery.vue +797 -797
  169. package/src/filiale/taizhoukesi/ChangeMeterQuery.vue +683 -683
  170. package/src/filiale/taizhoukesi/NewGasStatistics.vue +539 -539
  171. package/src/filiale/taizhoukesi/config/exportConfig.js +2712 -2712
  172. package/src/filiale/taizhoukesi/sale.js +11 -11
  173. package/src/filiale/tongchuan/GasInspection.vue +716 -716
  174. package/src/filiale/tongchuan/InspectListGas.vue +700 -700
  175. package/src/filiale/tongchuan/MeterQuery.vue +1002 -1002
  176. package/src/filiale/tongchuan/ResSelectGroupNew.vue +188 -188
  177. package/src/filiale/tongchuan/config/exportConfig.js +858 -858
  178. package/src/filiale/wenxi/ChangeMeterQuery.vue +721 -721
  179. package/src/filiale/wenxi/ManageUserTypeSell.vue +173 -173
  180. package/src/filiale/wenxi/config/exportConfig.js +995 -995
  181. package/src/filiale/xinjiangdexin/ChargeQuery.vue +1435 -1435
  182. package/src/filiale/xinjiangdexin/config/exportConfig.js +2770 -2770
  183. package/src/filiale/xinjiangdexin/sale.js +7 -7
  184. package/src/filiale/yangchun/ChangeMeterQuery.vue +722 -722
  185. package/src/filiale/yangchun/ManageBusSummaryNew.vue +239 -239
  186. package/src/filiale/yangchun/OtherChargeDetailQuery.vue +74 -74
  187. package/src/filiale/yangchun/OtherChargeQuery.vue +755 -755
  188. package/src/filiale/yangchun/RecordInfoQuery.vue +1494 -1494
  189. package/src/filiale/yangchun/UserQuery.vue +980 -980
  190. package/src/filiale/yangchun/config/DefaultPrint.js +6 -6
  191. package/src/filiale/yangchun/config/exportConfig.js +1229 -1229
  192. package/src/filiale/yangchun/config/tableConfig.js +58 -58
  193. package/src/filiale/yangchun/reportManage.js +6 -6
  194. package/src/filiale/yangchun/sale.js +20 -20
  195. package/src/filiale/yangchun/webmeterManage.js +5 -5
  196. package/src/filiale/yuncheng/ChangeMeterQuery.vue +743 -743
  197. package/src/filiale/yuncheng/DeviceQuery.vue +611 -611
  198. package/src/filiale/yuncheng/GasInspection.vue +610 -610
  199. package/src/filiale/yuncheng/LostContactAnalysisList.vue +700 -700
  200. package/src/filiale/yuncheng/MeterQuery.vue +1017 -1017
  201. package/src/filiale/yuncheng/config/exportConfig.js +2681 -2681
  202. package/src/filiale/yuncheng/sale.js +23 -23
  203. package/src/filiale/zhongyi/ChargeQuery.vue +1454 -1454
  204. package/src/filiale/zhongyi/GasStatistics.vue +537 -537
  205. package/src/filiale/zhongyi/NewGasStatistics.vue +558 -558
  206. package/src/filiale/zhongyi/exportConfig.js +2556 -2556
  207. package/src/filiale/zhongyi/sale.js +33 -33
  208. package/src/filiale/zhongyi/webmeterManage.js +15 -15
  209. package/src/main.js +68 -68
  210. package/src/plugins/LodopFuncs.js +159 -159
  211. package/src/reportManage.js +777 -777
  212. package/src/saleManage.js +689 -689
  213. package/src/webmeterManage.js +130 -130
@@ -1,987 +1,987 @@
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
-
6
- <criteria-paged :model="model" v-ref:paged>
7
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
- <div class="row">
10
- <div class="col-sm-2 form-group">
11
- <label class="font_normal_body">客户编号</label>
12
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
13
- condition="f_userinfo_code = '{}' " placeholder="客户编号">
14
- </div>
15
- <div class="col-sm-2 form-group">
16
- <label class="font_normal_body">客户名称</label>
17
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
18
- condition="f_user_name like '%{}%'" placeholder="客户名称">
19
- </div>
20
- <div class="span" style="float:right;">
21
- <button class="button_search button_spacing" @click="search()">查询</button>
22
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
23
- <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
24
- :field="$parent.$parent.getfield" :header="$parent.$parent.other"
25
- sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="webhandplanQuery" template-name='物联网表抄表查询导出'
26
- :choose-col="true"></export-excel>
27
- <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
28
- :defaultfield="$parent.$parent.defaultfield" print-name="抄表查询打印"
29
- titletable="抄表查询"
30
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
31
-
32
- <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>
33
- </div>
34
- </div>
35
- <div class="row" v-show="$parent.$parent.criteriaShow">
36
-
37
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
38
-
39
- <div class="col-sm-2 form-group">
40
- <label for="startDate" class="font_normal_body">抄表日期</label>
41
- <datepicker id="handStartDate" placeholder="开始日期" style="width:60%"
42
- v-model="model.handStartDate"
43
- :value.sync="model.handStartDate"
44
- :format="'yyyy-MM-dd 00:00:00'"
45
- :show-reset-button="true"
46
- condition="f_input_date >= '{}'">
47
- </datepicker>
48
- </div>
49
- <div class="col-sm-2 form-group">
50
- <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
51
- <datepicker id="handEndDate" placeholder="结束日期" style="width:60%"
52
- v-model="model.handEndDate"
53
- :value.sync="model.handEndDate"
54
- :format="'yyyy-MM-dd 23:59:59'"
55
- :show-reset-button="true"
56
- condition="f_input_date <= '{}'">
57
- </datepicker>
58
- </div>
59
- <div class="col-sm-2 form-group">
60
- <label class="font_normal_body">抄表状态</label>
61
- <v-select :value.sync="model.f_meter_state"
62
- v-model="model.f_meter_state"
63
- :options='$parent.$parent.meterstate' placeholder='请选择'
64
- condition="f_meter_state = '{}'"
65
- close-on-select></v-select>
66
- </div>
67
- <div class="col-sm-2 form-group">
68
- <label class="font_normal_body">表单状态</label>
69
- <v-select :value.sync="model.f_hand_state"
70
- v-model="model.f_hand_state"
71
- :options='$parent.$parent.handstate' placeholder='请选择'
72
- condition="f_hand_state = '{}'"
73
- close-on-select></v-select>
74
- </div>
75
-
76
-
77
-
78
- <div class="col-sm-2 form-group">
79
- <label class="font_normal_body">小区名称</label>
80
- <v-select :value.sync="model.f_residential_area"
81
- class="select_list select"
82
- enter-push
83
- multiple = "true"
84
- v-model="model.f_residential_area"
85
- style="width: 60%"
86
- :options='$parent.$parent.residentialArea' placeholder='选择小区'
87
- close-on-select>
88
-
89
- </v-select>
90
- </div>
91
- <div class="col-sm-2 form-group">
92
- <label class="font_normal_body">客户地址</label>
93
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
94
- condition="f_address like '%{}%'" placeholder='客户地址'>
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_input_person"
99
- condition="f_input_person like '%{}%'" placeholder='录入人员'>
100
- </div>
101
-
102
- <div class="col-sm-2 form-group">
103
- <label class="font_normal_body">客户类型</label>
104
- <v-select :value.sync="model.f_user_type"
105
- @change="$parent.$parent.userTypeChange()"
106
- :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
107
- condition="f_user_type = '{}'"
108
- close-on-select></v-select>
109
- </div>
110
- <div class="col-sm-2 form-group">
111
- <label class="font_normal_body">用气性质</label>
112
- <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
113
- :options='$parent.$parent.gasproperties' placeholder='请选择'
114
- condition="f_gasproperties = '{}'"
115
- close-on-select></v-select>
116
- </div>
117
- <div class="col-sm-2 form-group">
118
- <label class="font_normal_body">气价类型</label>
119
- <v-select :value.sync="model.pricetype" v-model="model.pricetype"
120
- placeholder='气价类型' :options="$parent.$parent.pricetypes"
121
- close-on-select v-ref:type>
122
- </v-select>
123
- </div>
124
- <div class="col-sm-2 form-group">
125
- <label class="font_normal_body">气价名称</label>
126
- <v-select :value.sync="model.f_price_name"
127
- v-model="model.f_price_name"
128
- :options="$parent.$parent.getPricenames"
129
- condition="f_price_name = '{}'"
130
- close-on-select></v-select>
131
- </div>
132
- <div class="col-sm-2 form-group">
133
- <label class="font_normal_body">用&ensp;气&ensp;量</label>
134
- <input type="text" style="width:30%" class="input_search" title="大于等于"
135
- v-model="model.f_oughtamount_big" condition="f_oughtamount >= {}" placeholder='大于等于'>
136
- <input type="text" style="width:30%" class="input_search" title="小于等于"
137
- v-model="model.f_oughtamount_small" condition="f_oughtamount <= {}" placeholder='小于等于'>
138
- </div>
139
- <div class="col-sm-2 form-group">
140
- <label class="font_normal_body">&ensp;表&ensp;号&ensp;&ensp;</label>
141
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
142
- condition="f_meternumber = '{}' " placeholder="表号">
143
- </div>
144
- <div class="col-sm-2 form-group">
145
- <label class="font_normal_body">气表品牌</label>
146
- <v-select :value.sync="model.f_meter_brand" multiple
147
- v-model="model.f_meter_brand"
148
- :options='$parent.$parent.meterbrands' placeholder='请选择'
149
- condition="f_meter_brand in {}"
150
- close-on-select></v-select>
151
- </div>
152
- <div class="col-sm-2 form-group">
153
- <label class="font_normal_body" >抄&nbsp;&nbsp;表&nbsp;员</label>
154
- <v-select :value.sync="model.f_inputtor"
155
- v-model="model.f_inputtor"
156
- :options='$parent.$parent.inputtores' placeholder='请选择'
157
- condition="f_inputtor = '{}'"
158
- close-on-select :search="false">
159
- </v-select>
160
- </div>
161
- <!--表册片区-->
162
- <div class="col-sm-2 form-group">
163
- <label class="font_normal_body">表册片区</label>
164
- <v-select :value.sync="model.f_book_slice_area" v-model="model.f_book_slice_area"
165
- @change="$parent.$parent.inputtorchange"
166
- multiple
167
- :options='$parent.$parent.bookSlice' placeholder='片区/表册'
168
- style="width:60%"
169
- close-on-select
170
- condition="f_book_slice_area in {}"></v-select>
171
- </div>
172
- <div class="col-sm-2 form-group">
173
- <label class="font_normal_body">抄&ensp;表&ensp;册</label>
174
- <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
175
- :options='$parent.$parent.meterbooks' placeholder='抄表册'
176
- style="width:60%"
177
- multiple
178
- close-on-select
179
- condition="f_meter_book_num in {}"></v-select>
180
- </div>
181
- <div class="col-sm-2 form-group">
182
- <label class="font_normal_body">阀门状态</label>
183
- <v-select :value.sync="model.f_valve_state"
184
- v-model="model.f_valve_state"
185
- :options='$parent.$parent.valvestate' placeholder='阀门状态'
186
- condition="f_valve_state = '{}'"
187
- close-on-select></v-select>
188
- </div>
189
- <div class="col-sm-2 form-group">
190
- <label class="font_normal_body">余额小于</label>
191
- <input type="text" style="width:60%" class="input_search" v-model="model.f_curbalance"
192
- condition="f_curbalance < '{}' " placeholder="本期余额小于">
193
- </div>
194
- </div>
195
- </div>
196
- </criteria>
197
-
198
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
199
- <template partial='head'>
200
- <tr>
201
- <th>
202
- <nobr>客户编号</nobr>
203
- </th>
204
- <th>
205
- <nobr>客户名称</nobr>
206
- </th>
207
- <th>
208
- <nobr>档案编号</nobr>
209
- </th>
210
- <th>
211
- <nobr>片区</nobr>
212
- </th>
213
- <th>
214
- <nobr>表册片区</nobr>
215
- </th>
216
- <th>
217
- <nobr>客户地址</nobr>
218
- </th>
219
- <th>
220
- <nobr>客户手机</nobr>
221
- </th>
222
- <th>
223
- <nobr>阀门状态</nobr>
224
- </th>
225
- <th>
226
- <nobr>表号</nobr>
227
- </th>
228
- <th>
229
- <nobr>数据年月</nobr>
230
- </th>
231
- <th>
232
- <nobr>上期底数</nobr>
233
- </th>
234
- <th>
235
- <nobr>本期底数</nobr>
236
- </th>
237
- <th>
238
- <nobr>用气量</nobr>
239
- </th>
240
- <th>
241
- <nobr>用气金额</nobr>
242
- </th>
243
- <th>
244
- <nobr>上期余额</nobr>
245
- </th>
246
- <th>
247
- <nobr>本期余额</nobr>
248
- </th>
249
-
250
- <th>
251
- <nobr>抄表日期</nobr>
252
- </th>
253
- <th>
254
- <nobr>所属年月</nobr>
255
- </th>
256
-
257
- <th>
258
- <nobr>客户类型</nobr>
259
- </th>
260
- <th>
261
- <nobr>用气性质</nobr>
262
- </th>
263
- <th>
264
- <nobr>气价名称</nobr>
265
- </th>
266
- <th>
267
- <nobr>一阶气量</nobr>
268
- </th>
269
- <th>
270
- <nobr>一阶单价</nobr>
271
- </th>
272
- <th>
273
- <nobr>一阶气费</nobr>
274
- </th>
275
- <th>
276
- <nobr>二阶气量</nobr>
277
- </th>
278
- <th>
279
- <nobr>二阶单价</nobr>
280
- </th>
281
- <th>
282
- <nobr>二阶气费</nobr>
283
- </th>
284
- <th>
285
- <nobr>三阶气量</nobr>
286
- </th>
287
- <th>
288
- <nobr>三阶单价</nobr>
289
- </th>
290
- <th>
291
- <nobr>三阶气费</nobr>
292
- </th>
293
- <th>
294
- <nobr>天数</nobr>
295
- </th>
296
- <th>
297
- <nobr>抄表员</nobr>
298
- </th>
299
- <th>
300
- <nobr>录入人员</nobr>
301
- </th>
302
- <th>
303
- <nobr>抄表状态</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>公司</nobr>
316
- </th>
317
- </tr>
318
- </template>
319
- <template partial='body'>
320
- <td style="text-align: center;">
321
- <nobr>
322
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
323
- </td>
324
- <td style="text-align: center;">
325
- <nobr>{{row.f_user_name}}</nobr>
326
- </td>
327
- <td style="text-align: center;">
328
- <nobr>{{row.f_olduserinfo_code}}</nobr>
329
- </td>
330
- <td style="text-align: center;">
331
- <nobr>{{row.f_zones}}</nobr>
332
- </td>
333
- <td style="text-align: center;">
334
- <nobr>{{row.f_book_slice_area}}</nobr>
335
- </td>
336
- <td style="text-align: center;">
337
- <nobr>{{row.f_address}}</nobr>
338
- </td>
339
-
340
- <td style="text-align: center;">
341
- <nobr>{{row.phone}}</nobr>
342
- </td>
343
- <td style="text-align: center;">
344
- <nobr>{{row.f_valve_state}}</nobr>
345
- </td>
346
-
347
- <td style="text-align: center;">
348
- <nobr>{{row.f_meternumber}}</nobr>
349
- </td>
350
- <td style="text-align: center;">
351
- <nobr>{{row.ym_data}}</nobr>
352
- </td>
353
- <td style="text-align: center;">
354
- <nobr>{{row.f_last_tablebase}}</nobr>
355
- </td>
356
- <td style="text-align: center;">
357
- <nobr>{{row.f_tablebase}}</nobr>
358
- </td>
359
- <td style="text-align: center;">
360
- <nobr>{{row.f_oughtamount}}</nobr>
361
- </td>
362
- <td style="text-align: center;">
363
- <nobr>{{row.f_oughtfee}}</nobr>
364
- </td>
365
- <td style="text-align: center;">
366
- <nobr>{{row.f_balance}}</nobr>
367
- </td>
368
- <td style="text-align: center;">
369
- <nobr>{{row.f_curbalance}}</nobr>
370
- </td>
371
-
372
- <td style="text-align: center;">
373
- <nobr>{{row.f_hand_date}}</nobr>
374
- </td>
375
- <td>
376
- <nobr>{{row.belongmonth}}</nobr>
377
- </td>
378
-
379
- <td style="text-align: center;">
380
- <nobr>{{row.f_user_type}}</nobr>
381
- </td>
382
- <td style="text-align: center;">
383
- <nobr>{{row.f_gasproperties}}</nobr>
384
- </td>
385
- <td style="text-align: center;">
386
- <nobr>{{row.f_price_name}}</nobr>
387
- </td>
388
- <td style="text-align: center;">
389
- <nobr>{{row.f_stair1amount}}</nobr>
390
- </td>
391
- <td style="text-align: center;">
392
- <nobr>{{row.f_stair1price}}</nobr>
393
- </td>
394
- <td style="text-align: center;">
395
- <nobr>{{row.f_stair1fee}}</nobr>
396
- </td>
397
- <td style="text-align: center;">
398
- <nobr>{{row.f_stair2amount}}</nobr>
399
- </td>
400
- <td style="text-align: center;">
401
- <nobr>{{row.f_stair2price}}</nobr>
402
- </td>
403
- <td style="text-align: center;">
404
- <nobr>{{row.f_stair2fee}}</nobr>
405
- </td>
406
- <td style="text-align: center;">
407
- <nobr>{{row.f_stair3amount}}</nobr>
408
- </td>
409
- <td style="text-align: center;">
410
- <nobr>{{row.f_stair3price}}</nobr>
411
- </td>
412
- <td style="text-align: center;">
413
- <nobr>{{row.f_stair3fee}}</nobr>
414
- </td>
415
- <td style="text-align: center;">
416
- <nobr>{{row.dd}}</nobr>
417
- </td>
418
- <td style="text-align: center;">
419
- <nobr>{{row.f_inputtor}}</nobr>
420
- </td>
421
- <td style="text-align: center;">
422
- <nobr>{{row.f_input_person}}</nobr>
423
- </td>
424
-
425
- <td style="text-align: center;">
426
- <nobr>{{row.f_meter_state}}</nobr>
427
- </td>
428
- <td style="text-align: center;">
429
- <nobr>{{row.f_hand_state}}</nobr>
430
- </td>
431
- <td style="text-align: center;">
432
- <nobr>{{row.f_operator}}</nobr>
433
- </td>
434
- <td style="text-align: center;">
435
- <nobr>{{row.f_depname}}</nobr>
436
- </td>
437
- <td style="text-align: center;">
438
- <nobr>{{row.f_orgname}}</nobr>
439
- </td>
440
- </template>
441
- <template partial='foot'></template>
442
- </data-grid>
443
- </criteria-paged>
444
-
445
- <table class="table-hover">
446
- <tr style="position: relative;margin-top: -16px;" class="table-bordered">
447
- <td
448
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
449
- 汇总信息
450
- </td>
451
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
452
- 用气量合计:&emsp;{{sumsmodel.f_oughtamount}}
453
- </td>
454
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
455
- 气费合计:&emsp;{{sumsmodel.f_oughtfee}}
456
- </td>
457
- </tr>
458
- </table>
459
- </div>
460
- </div>
461
- <div class="flex" v-if="show">
462
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
463
- </div>
464
-
465
- <work-busy :is-busy="iswork" v-show="iswork"></work-busy>
466
- </div>
467
- </template>
468
-
469
- <script>
470
- import {PagedList, HttpResetClass} from 'vue-client'
471
- import defaultPrint from '../config/DefaultPrint'
472
- import exportConfig from "../config/exportConfig";
473
- import axios from 'axios'
474
-
475
- let readySomething = async function (self) {
476
- //加载抄表册
477
- self.$MagGetSaleParam.initinputtor();
478
- self.getinputtores();
479
- self.initmeterbook();
480
- self.$refs.paged.$refs.cri.model.handStartDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
481
- self.$refs.paged.$refs.cri.model.handEndDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
482
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
483
- await self.$MagLoadParams.loadParam()
484
- await self.initParams()
485
- console.log('开始查询')
486
- await self.$getConfig(self, 'WebHandplanQuery')
487
- }
488
- export default {
489
- props:['data'],
490
- title: '物联网表抄表查询',
491
- data() {
492
- return {
493
- iswork:false,
494
- other:[],
495
- footer:[],
496
- data: {},
497
- model: new PagedList('api/af-revenue/sql/webhandplanQuery', 20, {startDate: 'this.model.handStartDate', endDate: 'this.model.handEndDate'}, {
498
- f_oughtamount: 0,
499
- f_oughtfee: 0
500
- }),
501
- initres: {
502
- org:[this.$login.f.orgid],
503
- dep:[],
504
- user:[],
505
- },
506
- show:false,
507
- rowdata:{},
508
- criteriaShow: false,
509
- residentialArea: [],
510
- orgCondtionStr: '',
511
- modelval: [],
512
- gasproperties:[],
513
- inputtouPerson: [],
514
- meterbrands: [],
515
- printshow: false,
516
- f_filialeid: this.$login.f.f_orgid,
517
- all: false,
518
- fields: {},
519
- thead: '',
520
- tfoot: '',
521
- selected:{},
522
-
523
- // 下拉框
524
-
525
- //合计数据
526
- sumsmodel: {},
527
- defaultfield: [],
528
- config: {
529
- defaultPrint: ['f_userinfo_code', 'f_address', 'f_user_name', 'f_meternumber']
530
- },
531
- prices: [],
532
- bgl:[{label: '全部', value: ''},{label: '有', value: '1'},{label: '无', value: '0'}],
533
- meterbooks:[{label: '全部',value: ''}], //抄表册
534
- tempfalg :false,
535
- lastorgstr:'',
536
- allorgid:[],
537
- inputtores:[{label: '全部',value: ''}], //抄表员
538
- //表册片区
539
- bookSlice:[{label: '全部',value: ''}],
540
- imgfilename:'',
541
- percent:0,
542
- uuida:'',
543
- timer:'',
544
- }
545
- },
546
- ready() {
547
- this.$refs.paged.$refs.cri.model.f_meter_state=['已抄表']
548
- this.getaddress()
549
- readySomething(this).then(() => {
550
- this.$emit('ready')
551
- }).catch((error) => {
552
- this.$emit('error', error)
553
- })
554
- },
555
- methods: {
556
- getuuid(){
557
- let uuidA = '';
558
- var s = [];
559
- var hexDigits = '0123456789abcdef';
560
- for (var i = 0; i < 36; i++) {
561
- s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
562
- }
563
- s[14] = '4';
564
- s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
565
- s[8] = s[13] = s[18] = s[23] = '-';
566
- uuidA = s.join('');
567
- this.uuida = uuidA;
568
- },
569
-
570
- //初始化片区
571
- async initSlice (val) {
572
- if (val) {
573
- let getAllArea = await this.$resetpost('/rs/search', {
574
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
575
- userid: this.$login.f.id
576
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
577
- let arr = getAllArea.data.filter((res) => {
578
- return res.parentid == val
579
- })
580
- this.bookSlice = []
581
- arr.forEach((res) => {
582
- this.bookSlice.push({label: res.name, value: res.name})
583
- })
584
- }
585
- },
586
- //表册片区和抄表册关联
587
- async inputtorchange(){
588
- this.$set('$refs.paged.$refs.cri.model.f_meter_book',[]);
589
- /*let val1=this.$refs.paged.$refs.cri.model.f_meter_book*/
590
- let val2=this.$refs.paged.$refs.cri.model.f_book_slice_area
591
- if((val2.length>0)){
592
- let condition = ` 1=1 and f_orgid ='${this.f_filialeid}' and f_book_state='有效' `
593
- let aaa = '('
594
- val2.forEach((item) => {
595
- aaa = aaa + `'${item}',`
596
- })
597
- aaa = aaa + `'')`
598
- condition = condition + ` and f_book_slice_area in ${aaa} `
599
- let param={
600
- items:'*',
601
- tablename:'t_meter_book',
602
- condition:condition,
603
- orderitem:'id'
604
- }
605
- let getMeterBooks = await this.$resetpost('api/af-revenue/sql/singleTable_OrderBy', {data: param}, {resolveMsg: null, rejectMsg: '获取营收参数出错!!!'})
606
- if (getMeterBooks.data) {
607
- if(getMeterBooks.data.length >0){
608
- let rs = [];
609
- getMeterBooks.data.forEach((item)=>{
610
- let temp = {
611
- label:item.f_book_name,
612
- value:item.id
613
- };
614
- rs.push(temp);
615
-
616
- })
617
- this.meterbooks = [{label: '全部',value: ''}, ...rs];
618
- }else{
619
- this.meterbooks = [{label: '全部',value: ''}];
620
- }
621
- }
622
- }else{
623
- this.meterbooks = [{label: '全部',value: ''}];
624
- this.initmeterbook();
625
- }
626
- },
627
- async initmeterbook(orgstr){
628
- if(orgstr == null ){
629
- orgstr = this.f_filialeid;
630
- }
631
- //获取新的抄表册,先去清理所有的抄表册
632
- this.$GetSaleParam.meterbooks = [];
633
- //开始加载新的抄表册
634
- await this.$LoadParams.loadMeterBook(orgstr)
635
- this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
636
- },
637
-
638
- async getinputtores () {
639
- // 获取抄表员
640
- let rs = []
641
- if (this.$login.f.f_gasman.length > 0) {
642
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
643
- let temp = {
644
- label: this.$login.f.f_gasman[i].name,
645
- value: this.$login.f.f_gasman[i].name
646
- }
647
- rs.push(temp)
648
- }
649
- }
650
- this.inputtores = [{label: '全部', value: ''}, ...rs]
651
- this.inputtores.push({label: "微信公众号", value: "微信公众号"})
652
- },
653
- async updateParams() {
654
- await this.$MagLoadParams.loadParam(this.f_filialeid)
655
- this.inputtores = [];
656
- this.inputtores.push({label: "全部", value: ""})
657
- this.initSlice(this.f_filialeid)
658
- if(this.allorgid!=null){
659
- this.allorgid.forEach((res)=>{
660
- this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
661
- })
662
- }
663
- this.initParams()
664
- },
665
-
666
- async initParams() {
667
- // 初始化气表品牌
668
- let brandArr = []
669
- await this.$MagGetSaleParam.getGasbrand().forEach((item) => {
670
- if (item.value.f_meter_type === '物联网表'){
671
- let temp = {}
672
- temp.label = item.label
673
- temp.value = item.value.f_meter_brand
674
- brandArr.push(temp)
675
- }
676
- })
677
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
678
- //初始化气价
679
- let result = []
680
- await this.$MagGetSaleParam.prices.forEach((item) => {
681
- if (item.f_state === '有效' && this.$login.f.orgid == item.f_filialeid) {
682
- let value = {
683
- label: item.f_price_name,
684
- value: item.f_price_name
685
- }
686
- result.push(value)
687
- }
688
- })
689
- let hash = {}
690
- result = result.reduce((item, next) => {
691
- hash[next.label] ? '' : hash[next.label] = true && item.push(next)
692
- return item
693
- }, [])
694
- this.prices = Array.from(new Set(result))
695
- },
696
- async getaddress(){
697
- let HttpReset = new HttpResetClass()
698
- var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
699
- data: {
700
- condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
701
- }
702
- }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
703
- console.log('小区',data)
704
- let house = [{label: '全部', value: ''}]
705
- for (let row of data.data){
706
- house.push({label: row.f_residential_area, value: row.f_residential_area})
707
- }
708
- this.residentialArea = house
709
- },
710
- search(){
711
- this.$refs.paged.$refs.cri.search()
712
- },
713
- cancel() {
714
- this.show = false
715
- },
716
- selfSearch(args) {
717
- if (this.data) {
718
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
719
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
720
- }
721
-
722
- if (!(this.$refs.paged.$refs.cri.model.handStartDate != '' && this.$refs.paged.$refs.cri.model.handEndDate != '')) {
723
- this.$showMessage('请选择【抄表时间】开始时间和结束时间!')
724
- return
725
- }
726
- this.area = this.$refs.paged.$refs.cri.model.f_residential_area
727
- if(this.area.length !== 0){
728
- let str = JSON.stringify(this.area)
729
- str = str.replace(/"/g,`'`)
730
- str = str.replace(/\[/g,``)
731
- str = str.replace(/\]/g,``)
732
- //查询多个小区时条件
733
- args.condition += ` and f_residential_area in ( ${str} )`
734
- }
735
- //抄表员查询条件
736
- this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
737
- if(this.inputtouPerson.length !== 0){
738
- let str = JSON.stringify(this.inputtouPerson)
739
- str = str.replace(/"/g,`'`)
740
- str = str.replace(/\[/g,``)
741
- str = str.replace(/\]/g,``)
742
- //查询多个抄表员时条件
743
- args.condition += ` and f_inputtor in ( ${str} )`
744
- }
745
-
746
- args.condition = `${args.condition} ` + this.orgCondtionStr
747
- this.model.search(args.condition, args.model)
748
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
749
- },
750
- clear() {
751
- //清空部门和人员
752
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
753
- //部门和人员变为全选
754
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
755
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
756
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
757
- this.$refs.paged.$refs.cri.model[key] = []
758
- })
759
- },
760
- show() {
761
- this.criteriaShow = true
762
- },
763
- hidden() {
764
- this.criteriaShow = !this.criteriaShow
765
- },
766
- async getRes(condition,obj) {
767
- this.orgCondtionStr = condition
768
-
769
- },
770
- stamp() {
771
- this.all = false
772
- //默认选择要打印的列
773
- this.modelval = defaultPrint.config
774
- this.fields = this.getfield
775
- this.printshow = true
776
- this.put()
777
- },
778
- put() {
779
- // 对Modelval进行排序
780
- this.sortModelval()
781
- this.thead = `<tr><th colspan=${this.modelval.length}>抄表查询统计报表</th></tr><tr>`
782
- for (let key of this.modelval) {
783
- this.thead += '<th>' + this.fields[key] + '</th>'
784
- }
785
- this.thead += '</tr>'
786
- },
787
- print() {
788
- this.$refs.print.PrintAsFile()
789
- this.printshow = false
790
- },
791
- dealmsg(val) {
792
- this.rowdata=val
793
- this.show=true
794
- val.model = this.model.model
795
- this.$dispatch('deal-msg', val)
796
- },
797
- close() {
798
- this.printshow = false
799
- this.all = false
800
- },
801
-
802
- userTypeChange () {
803
- this.gasproperties=[]
804
- if(this.$refs.paged.$refs.cri.model !==null) {
805
- this.$refs.paged.$refs.cri.model.f_gasproperties=''
806
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
807
- }
808
- else{
809
- this.gasproperties =[{label: '全部', value: ''}]
810
- }
811
- },
812
- getotherfooter () {
813
- // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
814
- // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
815
- this.other = [];
816
- this.footer = [];
817
- let exportdata = this.getCondition;
818
- let otherInData = [];
819
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
820
-
821
- // otherInData.push(``)
822
- let footerData = [], exportfield = this.getfield;
823
- footerData.push("合计");
824
- let self = this;
825
- for (var field in self.sumsmodel) {
826
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
827
- }
828
- this.footer.push(footerData);
829
- this.other.push(otherInData);
830
- let date = []
831
- date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
832
- date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
833
- this.other.push(date)
834
- // this.other.push(enddate)
835
- },
836
- // 对选择的列进行排序
837
- sortModelval() {
838
- let sortModel = []
839
- Object.keys(this.fields).forEach((key) => {
840
- if (this.modelval.includes(key)) {
841
- sortModel.push(key)
842
- }
843
- })
844
- this.modelval = sortModel
845
- }
846
- },
847
- watch: {
848
- 'model.rows'(val) {
849
- if(val.length === 0){
850
- this.sumsmodel = {}
851
- }
852
- },
853
- async 'orgCondtionStr'(val) {
854
- this.$refs.paged.$refs.cri.model.f_inputtor=[]
855
- this.$refs.paged.$refs.cri.model.f_book_slice_area=[]
856
- this.$refs.paged.$refs.cri.model.f_meter_book = []
857
- this.meterbooks = [{label: '全部',value: ''}];
858
- if(this.lastorgstr != val){
859
- this.tempfalg = true;
860
- this.lastorgstr = val;
861
- }
862
- if(this.tempfalg && val != null && val!='' && val.indexOf("(")>-1){
863
- this.tempfalg = false;
864
- let a = val.substring(val.indexOf("(")+2)
865
- await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
866
- }
867
- let res = val.match(/'(.*?)'/)
868
- console.log('正则提取:',res && res[1])
869
- if (res) {
870
- this.f_filialeid = res[1]
871
- if(res.input !=null){
872
- let resorgid = res.input.substring(res.input.indexOf("'"));
873
- if(resorgid!= null && resorgid!=''){
874
- resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
875
- // resorgid = resorgid.replaceAll("'","");
876
- resorgid = resorgid.replace(/'/g,"");
877
- this.allorgid = resorgid.split(",")
878
- }
879
- }
880
- this.updateParams()
881
- }
882
- },
883
- 'all'(val) {
884
- if (val) {
885
- this.modelval = this.bodyData
886
- } else {
887
- this.modelval = defaultPrint.config
888
- this.put()
889
- }
890
- },
891
- sumsmodel:{
892
- handler: function(val) {
893
- this.getotherfooter();
894
- },
895
- deep: true
896
- },
897
- 'modelval.length'() {
898
- this.put()
899
- }
900
- },
901
- computed: {
902
-
903
- getCondition() {
904
- return {
905
- startDate: this.$refs.paged.$refs.cri.model.startDate,
906
- endDate: this.$refs.paged.$refs.cri.model.endDate,
907
- condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr }
908
- },
909
- getfield() {
910
- return {
911
- 'f_userinfo_code': '客户编号', 'f_user_name': '客户名称', 'f_olduserinfo_code': '档案编号', 'f_address': '客户地址', 'f_zones': '片区', 'phone': '客户手机', 'f_valve_state': '阀门状态',
912
- 'f_last_tablebase': '上期底数', 'f_tablebase': '本期底数', 'f_oughtamount': '用气量', 'f_oughtfee': '用气金额','f_meternumber': '表号', 'ym_data': '数据年月',
913
- 'f_balance': '上期余额', 'f_curbalance': '本期余额', 'f_hand_date': '抄表日期','f_meter_state': '抄表状态', 'f_hand_state': '记录状态',
914
- 'f_inputtor': '抄表员', 'f_book_slice_area': '表册片区', 'f_user_type': '客户类型', 'f_gasproperties': '用气性质', 'f_operator': '操作员', 'f_depname': '部门', 'f_orgname': '公司',
915
- 'f_stair1amount': '一阶气量', 'f_stair1price': '一阶单价', 'f_stair1fee': '一阶气费','f_stair2amount': '二阶气量', 'f_stair2price': '二阶单价', 'f_stair2fee': '二阶气费',
916
- 'f_stair3amount': '三阶气量','f_stair3price': '三阶单价', 'f_stair3fee': '三阶气费', 'belongmonth': '所属年月'
917
- }
918
- },
919
- getBankfield(){
920
- return exportConfig.batchBankConfig2
921
- },
922
- usertypes() {
923
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
924
- },
925
- meterstate() {
926
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表状态')]
927
- },
928
- handstate() {
929
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('表单状态')]
930
- },
931
- valvestate() {
932
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('阀门状态')]
933
- },
934
- pricetypes() {
935
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
936
- },
937
- getPricenames() {
938
- let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
939
- let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
940
- let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
941
- console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
942
- if(this.$refs.paged.$refs.cri.model !==null) {
943
- let rs = []
944
- let priceArr = []
945
- if ( pricetype.length >0) {
946
- let params = {
947
- f_price_type: pricetype[0],
948
- filter: this.f_filialeid,
949
- prices: this.prices
950
- }
951
- this.$MagGetSaleParam.getPrice(params).forEach((item) => {
952
- let temp = {}
953
- temp.label = item.label
954
- temp.value = item.value.f_price_name
955
- priceArr.push(temp)
956
- })
957
- rs = [{label: '全部', value: ''}, ...priceArr]
958
- }
959
- if (rs.length === 0) {
960
- console.log('rs读出来是空')
961
- this.$refs.paged.$refs.cri.model.f_price_name = ''
962
- }
963
- return rs
964
- }
965
- },
966
- inputtor () {
967
- // 获取抄表员
968
- console.log('获取抄表员', this.$login.f)
969
- let rs = []
970
- if (this.$login.f.f_gasman.length > 0) {
971
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
972
- let temp = {
973
- label: this.$login.f.f_gasman[i].name,
974
- value: this.$login.f.f_gasman[i].name
975
- }
976
- rs.push(temp)
977
- }
978
- }
979
-
980
- return [{label: '全部', value: ''}, ...rs]
981
- },
982
-
983
- },
984
- events:{
985
- }
986
- }
987
- </script>
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
+
6
+ <criteria-paged :model="model" v-ref:paged>
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label class="font_normal_body">客户编号</label>
12
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
13
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
14
+ </div>
15
+ <div class="col-sm-2 form-group">
16
+ <label class="font_normal_body">客户名称</label>
17
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
18
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
19
+ </div>
20
+ <div class="span" style="float:right;">
21
+ <button class="button_search button_spacing" @click="search()">查询</button>
22
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
23
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
24
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
25
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="webhandplanQuery" template-name='物联网表抄表查询导出'
26
+ :choose-col="true"></export-excel>
27
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
28
+ :defaultfield="$parent.$parent.defaultfield" print-name="抄表查询打印"
29
+ titletable="抄表查询"
30
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
31
+
32
+ <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>
33
+ </div>
34
+ </div>
35
+ <div class="row" v-show="$parent.$parent.criteriaShow">
36
+
37
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
38
+
39
+ <div class="col-sm-2 form-group">
40
+ <label for="startDate" class="font_normal_body">抄表日期</label>
41
+ <datepicker id="handStartDate" placeholder="开始日期" style="width:60%"
42
+ v-model="model.handStartDate"
43
+ :value.sync="model.handStartDate"
44
+ :format="'yyyy-MM-dd 00:00:00'"
45
+ :show-reset-button="true"
46
+ condition="f_input_date >= '{}'">
47
+ </datepicker>
48
+ </div>
49
+ <div class="col-sm-2 form-group">
50
+ <label for="endDate" class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
51
+ <datepicker id="handEndDate" placeholder="结束日期" style="width:60%"
52
+ v-model="model.handEndDate"
53
+ :value.sync="model.handEndDate"
54
+ :format="'yyyy-MM-dd 23:59:59'"
55
+ :show-reset-button="true"
56
+ condition="f_input_date <= '{}'">
57
+ </datepicker>
58
+ </div>
59
+ <div class="col-sm-2 form-group">
60
+ <label class="font_normal_body">抄表状态</label>
61
+ <v-select :value.sync="model.f_meter_state"
62
+ v-model="model.f_meter_state"
63
+ :options='$parent.$parent.meterstate' placeholder='请选择'
64
+ condition="f_meter_state = '{}'"
65
+ close-on-select></v-select>
66
+ </div>
67
+ <div class="col-sm-2 form-group">
68
+ <label class="font_normal_body">表单状态</label>
69
+ <v-select :value.sync="model.f_hand_state"
70
+ v-model="model.f_hand_state"
71
+ :options='$parent.$parent.handstate' placeholder='请选择'
72
+ condition="f_hand_state = '{}'"
73
+ close-on-select></v-select>
74
+ </div>
75
+
76
+
77
+
78
+ <div class="col-sm-2 form-group">
79
+ <label class="font_normal_body">小区名称</label>
80
+ <v-select :value.sync="model.f_residential_area"
81
+ class="select_list select"
82
+ enter-push
83
+ multiple = "true"
84
+ v-model="model.f_residential_area"
85
+ style="width: 60%"
86
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
87
+ close-on-select>
88
+
89
+ </v-select>
90
+ </div>
91
+ <div class="col-sm-2 form-group">
92
+ <label class="font_normal_body">客户地址</label>
93
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
94
+ condition="f_address like '%{}%'" placeholder='客户地址'>
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_input_person"
99
+ condition="f_input_person like '%{}%'" placeholder='录入人员'>
100
+ </div>
101
+
102
+ <div class="col-sm-2 form-group">
103
+ <label class="font_normal_body">客户类型</label>
104
+ <v-select :value.sync="model.f_user_type"
105
+ @change="$parent.$parent.userTypeChange()"
106
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
107
+ condition="f_user_type = '{}'"
108
+ close-on-select></v-select>
109
+ </div>
110
+ <div class="col-sm-2 form-group">
111
+ <label class="font_normal_body">用气性质</label>
112
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
113
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
114
+ condition="f_gasproperties = '{}'"
115
+ close-on-select></v-select>
116
+ </div>
117
+ <div class="col-sm-2 form-group">
118
+ <label class="font_normal_body">气价类型</label>
119
+ <v-select :value.sync="model.pricetype" v-model="model.pricetype"
120
+ placeholder='气价类型' :options="$parent.$parent.pricetypes"
121
+ close-on-select v-ref:type>
122
+ </v-select>
123
+ </div>
124
+ <div class="col-sm-2 form-group">
125
+ <label class="font_normal_body">气价名称</label>
126
+ <v-select :value.sync="model.f_price_name"
127
+ v-model="model.f_price_name"
128
+ :options="$parent.$parent.getPricenames"
129
+ condition="f_price_name = '{}'"
130
+ close-on-select></v-select>
131
+ </div>
132
+ <div class="col-sm-2 form-group">
133
+ <label class="font_normal_body">用&ensp;气&ensp;量</label>
134
+ <input type="text" style="width:30%" class="input_search" title="大于等于"
135
+ v-model="model.f_oughtamount_big" condition="f_oughtamount >= {}" placeholder='大于等于'>
136
+ <input type="text" style="width:30%" class="input_search" title="小于等于"
137
+ v-model="model.f_oughtamount_small" condition="f_oughtamount <= {}" placeholder='小于等于'>
138
+ </div>
139
+ <div class="col-sm-2 form-group">
140
+ <label class="font_normal_body">&ensp;表&ensp;号&ensp;&ensp;</label>
141
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
142
+ condition="f_meternumber = '{}' " placeholder="表号">
143
+ </div>
144
+ <div class="col-sm-2 form-group">
145
+ <label class="font_normal_body">气表品牌</label>
146
+ <v-select :value.sync="model.f_meter_brand" multiple
147
+ v-model="model.f_meter_brand"
148
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
149
+ condition="f_meter_brand in {}"
150
+ close-on-select></v-select>
151
+ </div>
152
+ <div class="col-sm-2 form-group">
153
+ <label class="font_normal_body" >抄&nbsp;&nbsp;表&nbsp;员</label>
154
+ <v-select :value.sync="model.f_inputtor"
155
+ v-model="model.f_inputtor"
156
+ :options='$parent.$parent.inputtores' placeholder='请选择'
157
+ condition="f_inputtor = '{}'"
158
+ close-on-select :search="false">
159
+ </v-select>
160
+ </div>
161
+ <!--表册片区-->
162
+ <div class="col-sm-2 form-group">
163
+ <label class="font_normal_body">表册片区</label>
164
+ <v-select :value.sync="model.f_book_slice_area" v-model="model.f_book_slice_area"
165
+ @change="$parent.$parent.inputtorchange"
166
+ multiple
167
+ :options='$parent.$parent.bookSlice' placeholder='片区/表册'
168
+ style="width:60%"
169
+ close-on-select
170
+ condition="f_book_slice_area in {}"></v-select>
171
+ </div>
172
+ <div class="col-sm-2 form-group">
173
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
174
+ <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
175
+ :options='$parent.$parent.meterbooks' placeholder='抄表册'
176
+ style="width:60%"
177
+ multiple
178
+ close-on-select
179
+ condition="f_meter_book_num in {}"></v-select>
180
+ </div>
181
+ <div class="col-sm-2 form-group">
182
+ <label class="font_normal_body">阀门状态</label>
183
+ <v-select :value.sync="model.f_valve_state"
184
+ v-model="model.f_valve_state"
185
+ :options='$parent.$parent.valvestate' placeholder='阀门状态'
186
+ condition="f_valve_state = '{}'"
187
+ close-on-select></v-select>
188
+ </div>
189
+ <div class="col-sm-2 form-group">
190
+ <label class="font_normal_body">余额小于</label>
191
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_curbalance"
192
+ condition="f_curbalance < '{}' " placeholder="本期余额小于">
193
+ </div>
194
+ </div>
195
+ </div>
196
+ </criteria>
197
+
198
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
199
+ <template partial='head'>
200
+ <tr>
201
+ <th>
202
+ <nobr>客户编号</nobr>
203
+ </th>
204
+ <th>
205
+ <nobr>客户名称</nobr>
206
+ </th>
207
+ <th>
208
+ <nobr>档案编号</nobr>
209
+ </th>
210
+ <th>
211
+ <nobr>片区</nobr>
212
+ </th>
213
+ <th>
214
+ <nobr>表册片区</nobr>
215
+ </th>
216
+ <th>
217
+ <nobr>客户地址</nobr>
218
+ </th>
219
+ <th>
220
+ <nobr>客户手机</nobr>
221
+ </th>
222
+ <th>
223
+ <nobr>阀门状态</nobr>
224
+ </th>
225
+ <th>
226
+ <nobr>表号</nobr>
227
+ </th>
228
+ <th>
229
+ <nobr>数据年月</nobr>
230
+ </th>
231
+ <th>
232
+ <nobr>上期底数</nobr>
233
+ </th>
234
+ <th>
235
+ <nobr>本期底数</nobr>
236
+ </th>
237
+ <th>
238
+ <nobr>用气量</nobr>
239
+ </th>
240
+ <th>
241
+ <nobr>用气金额</nobr>
242
+ </th>
243
+ <th>
244
+ <nobr>上期余额</nobr>
245
+ </th>
246
+ <th>
247
+ <nobr>本期余额</nobr>
248
+ </th>
249
+
250
+ <th>
251
+ <nobr>抄表日期</nobr>
252
+ </th>
253
+ <th>
254
+ <nobr>所属年月</nobr>
255
+ </th>
256
+
257
+ <th>
258
+ <nobr>客户类型</nobr>
259
+ </th>
260
+ <th>
261
+ <nobr>用气性质</nobr>
262
+ </th>
263
+ <th>
264
+ <nobr>气价名称</nobr>
265
+ </th>
266
+ <th>
267
+ <nobr>一阶气量</nobr>
268
+ </th>
269
+ <th>
270
+ <nobr>一阶单价</nobr>
271
+ </th>
272
+ <th>
273
+ <nobr>一阶气费</nobr>
274
+ </th>
275
+ <th>
276
+ <nobr>二阶气量</nobr>
277
+ </th>
278
+ <th>
279
+ <nobr>二阶单价</nobr>
280
+ </th>
281
+ <th>
282
+ <nobr>二阶气费</nobr>
283
+ </th>
284
+ <th>
285
+ <nobr>三阶气量</nobr>
286
+ </th>
287
+ <th>
288
+ <nobr>三阶单价</nobr>
289
+ </th>
290
+ <th>
291
+ <nobr>三阶气费</nobr>
292
+ </th>
293
+ <th>
294
+ <nobr>天数</nobr>
295
+ </th>
296
+ <th>
297
+ <nobr>抄表员</nobr>
298
+ </th>
299
+ <th>
300
+ <nobr>录入人员</nobr>
301
+ </th>
302
+ <th>
303
+ <nobr>抄表状态</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>公司</nobr>
316
+ </th>
317
+ </tr>
318
+ </template>
319
+ <template partial='body'>
320
+ <td style="text-align: center;">
321
+ <nobr>
322
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
323
+ </td>
324
+ <td style="text-align: center;">
325
+ <nobr>{{row.f_user_name}}</nobr>
326
+ </td>
327
+ <td style="text-align: center;">
328
+ <nobr>{{row.f_olduserinfo_code}}</nobr>
329
+ </td>
330
+ <td style="text-align: center;">
331
+ <nobr>{{row.f_zones}}</nobr>
332
+ </td>
333
+ <td style="text-align: center;">
334
+ <nobr>{{row.f_book_slice_area}}</nobr>
335
+ </td>
336
+ <td style="text-align: center;">
337
+ <nobr>{{row.f_address}}</nobr>
338
+ </td>
339
+
340
+ <td style="text-align: center;">
341
+ <nobr>{{row.phone}}</nobr>
342
+ </td>
343
+ <td style="text-align: center;">
344
+ <nobr>{{row.f_valve_state}}</nobr>
345
+ </td>
346
+
347
+ <td style="text-align: center;">
348
+ <nobr>{{row.f_meternumber}}</nobr>
349
+ </td>
350
+ <td style="text-align: center;">
351
+ <nobr>{{row.ym_data}}</nobr>
352
+ </td>
353
+ <td style="text-align: center;">
354
+ <nobr>{{row.f_last_tablebase}}</nobr>
355
+ </td>
356
+ <td style="text-align: center;">
357
+ <nobr>{{row.f_tablebase}}</nobr>
358
+ </td>
359
+ <td style="text-align: center;">
360
+ <nobr>{{row.f_oughtamount}}</nobr>
361
+ </td>
362
+ <td style="text-align: center;">
363
+ <nobr>{{row.f_oughtfee}}</nobr>
364
+ </td>
365
+ <td style="text-align: center;">
366
+ <nobr>{{row.f_balance}}</nobr>
367
+ </td>
368
+ <td style="text-align: center;">
369
+ <nobr>{{row.f_curbalance}}</nobr>
370
+ </td>
371
+
372
+ <td style="text-align: center;">
373
+ <nobr>{{row.f_hand_date}}</nobr>
374
+ </td>
375
+ <td>
376
+ <nobr>{{row.belongmonth}}</nobr>
377
+ </td>
378
+
379
+ <td style="text-align: center;">
380
+ <nobr>{{row.f_user_type}}</nobr>
381
+ </td>
382
+ <td style="text-align: center;">
383
+ <nobr>{{row.f_gasproperties}}</nobr>
384
+ </td>
385
+ <td style="text-align: center;">
386
+ <nobr>{{row.f_price_name}}</nobr>
387
+ </td>
388
+ <td style="text-align: center;">
389
+ <nobr>{{row.f_stair1amount}}</nobr>
390
+ </td>
391
+ <td style="text-align: center;">
392
+ <nobr>{{row.f_stair1price}}</nobr>
393
+ </td>
394
+ <td style="text-align: center;">
395
+ <nobr>{{row.f_stair1fee}}</nobr>
396
+ </td>
397
+ <td style="text-align: center;">
398
+ <nobr>{{row.f_stair2amount}}</nobr>
399
+ </td>
400
+ <td style="text-align: center;">
401
+ <nobr>{{row.f_stair2price}}</nobr>
402
+ </td>
403
+ <td style="text-align: center;">
404
+ <nobr>{{row.f_stair2fee}}</nobr>
405
+ </td>
406
+ <td style="text-align: center;">
407
+ <nobr>{{row.f_stair3amount}}</nobr>
408
+ </td>
409
+ <td style="text-align: center;">
410
+ <nobr>{{row.f_stair3price}}</nobr>
411
+ </td>
412
+ <td style="text-align: center;">
413
+ <nobr>{{row.f_stair3fee}}</nobr>
414
+ </td>
415
+ <td style="text-align: center;">
416
+ <nobr>{{row.dd}}</nobr>
417
+ </td>
418
+ <td style="text-align: center;">
419
+ <nobr>{{row.f_inputtor}}</nobr>
420
+ </td>
421
+ <td style="text-align: center;">
422
+ <nobr>{{row.f_input_person}}</nobr>
423
+ </td>
424
+
425
+ <td style="text-align: center;">
426
+ <nobr>{{row.f_meter_state}}</nobr>
427
+ </td>
428
+ <td style="text-align: center;">
429
+ <nobr>{{row.f_hand_state}}</nobr>
430
+ </td>
431
+ <td style="text-align: center;">
432
+ <nobr>{{row.f_operator}}</nobr>
433
+ </td>
434
+ <td style="text-align: center;">
435
+ <nobr>{{row.f_depname}}</nobr>
436
+ </td>
437
+ <td style="text-align: center;">
438
+ <nobr>{{row.f_orgname}}</nobr>
439
+ </td>
440
+ </template>
441
+ <template partial='foot'></template>
442
+ </data-grid>
443
+ </criteria-paged>
444
+
445
+ <table class="table-hover">
446
+ <tr style="position: relative;margin-top: -16px;" class="table-bordered">
447
+ <td
448
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
449
+ 汇总信息
450
+ </td>
451
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
452
+ 用气量合计:&emsp;{{sumsmodel.f_oughtamount}}
453
+ </td>
454
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
455
+ 气费合计:&emsp;{{sumsmodel.f_oughtfee}}
456
+ </td>
457
+ </tr>
458
+ </table>
459
+ </div>
460
+ </div>
461
+ <div class="flex" v-if="show">
462
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
463
+ </div>
464
+
465
+ <work-busy :is-busy="iswork" v-show="iswork"></work-busy>
466
+ </div>
467
+ </template>
468
+
469
+ <script>
470
+ import {PagedList, HttpResetClass} from 'vue-client'
471
+ import defaultPrint from '../config/DefaultPrint'
472
+ import exportConfig from "../config/exportConfig";
473
+ import axios from 'axios'
474
+
475
+ let readySomething = async function (self) {
476
+ //加载抄表册
477
+ self.$MagGetSaleParam.initinputtor();
478
+ self.getinputtores();
479
+ self.initmeterbook();
480
+ self.$refs.paged.$refs.cri.model.handStartDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
481
+ self.$refs.paged.$refs.cri.model.handEndDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
482
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
483
+ await self.$MagLoadParams.loadParam()
484
+ await self.initParams()
485
+ console.log('开始查询')
486
+ await self.$getConfig(self, 'WebHandplanQuery')
487
+ }
488
+ export default {
489
+ props:['data'],
490
+ title: '物联网表抄表查询',
491
+ data() {
492
+ return {
493
+ iswork:false,
494
+ other:[],
495
+ footer:[],
496
+ data: {},
497
+ model: new PagedList('api/af-revenue/sql/webhandplanQuery', 20, {startDate: 'this.model.handStartDate', endDate: 'this.model.handEndDate'}, {
498
+ f_oughtamount: 0,
499
+ f_oughtfee: 0
500
+ }),
501
+ initres: {
502
+ org:[this.$login.f.orgid],
503
+ dep:[],
504
+ user:[],
505
+ },
506
+ show:false,
507
+ rowdata:{},
508
+ criteriaShow: false,
509
+ residentialArea: [],
510
+ orgCondtionStr: '',
511
+ modelval: [],
512
+ gasproperties:[],
513
+ inputtouPerson: [],
514
+ meterbrands: [],
515
+ printshow: false,
516
+ f_filialeid: this.$login.f.f_orgid,
517
+ all: false,
518
+ fields: {},
519
+ thead: '',
520
+ tfoot: '',
521
+ selected:{},
522
+
523
+ // 下拉框
524
+
525
+ //合计数据
526
+ sumsmodel: {},
527
+ defaultfield: [],
528
+ config: {
529
+ defaultPrint: ['f_userinfo_code', 'f_address', 'f_user_name', 'f_meternumber']
530
+ },
531
+ prices: [],
532
+ bgl:[{label: '全部', value: ''},{label: '有', value: '1'},{label: '无', value: '0'}],
533
+ meterbooks:[{label: '全部',value: ''}], //抄表册
534
+ tempfalg :false,
535
+ lastorgstr:'',
536
+ allorgid:[],
537
+ inputtores:[{label: '全部',value: ''}], //抄表员
538
+ //表册片区
539
+ bookSlice:[{label: '全部',value: ''}],
540
+ imgfilename:'',
541
+ percent:0,
542
+ uuida:'',
543
+ timer:'',
544
+ }
545
+ },
546
+ ready() {
547
+ this.$refs.paged.$refs.cri.model.f_meter_state=['已抄表']
548
+ this.getaddress()
549
+ readySomething(this).then(() => {
550
+ this.$emit('ready')
551
+ }).catch((error) => {
552
+ this.$emit('error', error)
553
+ })
554
+ },
555
+ methods: {
556
+ getuuid(){
557
+ let uuidA = '';
558
+ var s = [];
559
+ var hexDigits = '0123456789abcdef';
560
+ for (var i = 0; i < 36; i++) {
561
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
562
+ }
563
+ s[14] = '4';
564
+ s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
565
+ s[8] = s[13] = s[18] = s[23] = '-';
566
+ uuidA = s.join('');
567
+ this.uuida = uuidA;
568
+ },
569
+
570
+ //初始化片区
571
+ async initSlice (val) {
572
+ if (val) {
573
+ let getAllArea = await this.$resetpost('/rs/search', {
574
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
575
+ userid: this.$login.f.id
576
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
577
+ let arr = getAllArea.data.filter((res) => {
578
+ return res.parentid == val
579
+ })
580
+ this.bookSlice = []
581
+ arr.forEach((res) => {
582
+ this.bookSlice.push({label: res.name, value: res.name})
583
+ })
584
+ }
585
+ },
586
+ //表册片区和抄表册关联
587
+ async inputtorchange(){
588
+ this.$set('$refs.paged.$refs.cri.model.f_meter_book',[]);
589
+ /*let val1=this.$refs.paged.$refs.cri.model.f_meter_book*/
590
+ let val2=this.$refs.paged.$refs.cri.model.f_book_slice_area
591
+ if((val2.length>0)){
592
+ let condition = ` 1=1 and f_orgid ='${this.f_filialeid}' and f_book_state='有效' `
593
+ let aaa = '('
594
+ val2.forEach((item) => {
595
+ aaa = aaa + `'${item}',`
596
+ })
597
+ aaa = aaa + `'')`
598
+ condition = condition + ` and f_book_slice_area in ${aaa} `
599
+ let param={
600
+ items:'*',
601
+ tablename:'t_meter_book',
602
+ condition:condition,
603
+ orderitem:'id'
604
+ }
605
+ let getMeterBooks = await this.$resetpost('api/af-revenue/sql/singleTable_OrderBy', {data: param}, {resolveMsg: null, rejectMsg: '获取营收参数出错!!!'})
606
+ if (getMeterBooks.data) {
607
+ if(getMeterBooks.data.length >0){
608
+ let rs = [];
609
+ getMeterBooks.data.forEach((item)=>{
610
+ let temp = {
611
+ label:item.f_book_name,
612
+ value:item.id
613
+ };
614
+ rs.push(temp);
615
+
616
+ })
617
+ this.meterbooks = [{label: '全部',value: ''}, ...rs];
618
+ }else{
619
+ this.meterbooks = [{label: '全部',value: ''}];
620
+ }
621
+ }
622
+ }else{
623
+ this.meterbooks = [{label: '全部',value: ''}];
624
+ this.initmeterbook();
625
+ }
626
+ },
627
+ async initmeterbook(orgstr){
628
+ if(orgstr == null ){
629
+ orgstr = this.f_filialeid;
630
+ }
631
+ //获取新的抄表册,先去清理所有的抄表册
632
+ this.$GetSaleParam.meterbooks = [];
633
+ //开始加载新的抄表册
634
+ await this.$LoadParams.loadMeterBook(orgstr)
635
+ this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
636
+ },
637
+
638
+ async getinputtores () {
639
+ // 获取抄表员
640
+ let rs = []
641
+ if (this.$login.f.f_gasman.length > 0) {
642
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
643
+ let temp = {
644
+ label: this.$login.f.f_gasman[i].name,
645
+ value: this.$login.f.f_gasman[i].name
646
+ }
647
+ rs.push(temp)
648
+ }
649
+ }
650
+ this.inputtores = [{label: '全部', value: ''}, ...rs]
651
+ this.inputtores.push({label: "微信公众号", value: "微信公众号"})
652
+ },
653
+ async updateParams() {
654
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
655
+ this.inputtores = [];
656
+ this.inputtores.push({label: "全部", value: ""})
657
+ this.initSlice(this.f_filialeid)
658
+ if(this.allorgid!=null){
659
+ this.allorgid.forEach((res)=>{
660
+ this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
661
+ })
662
+ }
663
+ this.initParams()
664
+ },
665
+
666
+ async initParams() {
667
+ // 初始化气表品牌
668
+ let brandArr = []
669
+ await this.$MagGetSaleParam.getGasbrand().forEach((item) => {
670
+ if (item.value.f_meter_type === '物联网表'){
671
+ let temp = {}
672
+ temp.label = item.label
673
+ temp.value = item.value.f_meter_brand
674
+ brandArr.push(temp)
675
+ }
676
+ })
677
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
678
+ //初始化气价
679
+ let result = []
680
+ await this.$MagGetSaleParam.prices.forEach((item) => {
681
+ if (item.f_state === '有效' && this.$login.f.orgid == item.f_filialeid) {
682
+ let value = {
683
+ label: item.f_price_name,
684
+ value: item.f_price_name
685
+ }
686
+ result.push(value)
687
+ }
688
+ })
689
+ let hash = {}
690
+ result = result.reduce((item, next) => {
691
+ hash[next.label] ? '' : hash[next.label] = true && item.push(next)
692
+ return item
693
+ }, [])
694
+ this.prices = Array.from(new Set(result))
695
+ },
696
+ async getaddress(){
697
+ let HttpReset = new HttpResetClass()
698
+ var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
699
+ data: {
700
+ condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
701
+ }
702
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
703
+ console.log('小区',data)
704
+ let house = [{label: '全部', value: ''}]
705
+ for (let row of data.data){
706
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
707
+ }
708
+ this.residentialArea = house
709
+ },
710
+ search(){
711
+ this.$refs.paged.$refs.cri.search()
712
+ },
713
+ cancel() {
714
+ this.show = false
715
+ },
716
+ selfSearch(args) {
717
+ if (this.data) {
718
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
719
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
720
+ }
721
+
722
+ if (!(this.$refs.paged.$refs.cri.model.handStartDate != '' && this.$refs.paged.$refs.cri.model.handEndDate != '')) {
723
+ this.$showMessage('请选择【抄表时间】开始时间和结束时间!')
724
+ return
725
+ }
726
+ this.area = this.$refs.paged.$refs.cri.model.f_residential_area
727
+ if(this.area.length !== 0){
728
+ let str = JSON.stringify(this.area)
729
+ str = str.replace(/"/g,`'`)
730
+ str = str.replace(/\[/g,``)
731
+ str = str.replace(/\]/g,``)
732
+ //查询多个小区时条件
733
+ args.condition += ` and f_residential_area in ( ${str} )`
734
+ }
735
+ //抄表员查询条件
736
+ this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
737
+ if(this.inputtouPerson.length !== 0){
738
+ let str = JSON.stringify(this.inputtouPerson)
739
+ str = str.replace(/"/g,`'`)
740
+ str = str.replace(/\[/g,``)
741
+ str = str.replace(/\]/g,``)
742
+ //查询多个抄表员时条件
743
+ args.condition += ` and f_inputtor in ( ${str} )`
744
+ }
745
+
746
+ args.condition = `${args.condition} ` + this.orgCondtionStr
747
+ this.model.search(args.condition, args.model)
748
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
749
+ },
750
+ clear() {
751
+ //清空部门和人员
752
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
753
+ //部门和人员变为全选
754
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
755
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
756
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
757
+ this.$refs.paged.$refs.cri.model[key] = []
758
+ })
759
+ },
760
+ show() {
761
+ this.criteriaShow = true
762
+ },
763
+ hidden() {
764
+ this.criteriaShow = !this.criteriaShow
765
+ },
766
+ async getRes(condition,obj) {
767
+ this.orgCondtionStr = condition
768
+
769
+ },
770
+ stamp() {
771
+ this.all = false
772
+ //默认选择要打印的列
773
+ this.modelval = defaultPrint.config
774
+ this.fields = this.getfield
775
+ this.printshow = true
776
+ this.put()
777
+ },
778
+ put() {
779
+ // 对Modelval进行排序
780
+ this.sortModelval()
781
+ this.thead = `<tr><th colspan=${this.modelval.length}>抄表查询统计报表</th></tr><tr>`
782
+ for (let key of this.modelval) {
783
+ this.thead += '<th>' + this.fields[key] + '</th>'
784
+ }
785
+ this.thead += '</tr>'
786
+ },
787
+ print() {
788
+ this.$refs.print.PrintAsFile()
789
+ this.printshow = false
790
+ },
791
+ dealmsg(val) {
792
+ this.rowdata=val
793
+ this.show=true
794
+ val.model = this.model.model
795
+ this.$dispatch('deal-msg', val)
796
+ },
797
+ close() {
798
+ this.printshow = false
799
+ this.all = false
800
+ },
801
+
802
+ userTypeChange () {
803
+ this.gasproperties=[]
804
+ if(this.$refs.paged.$refs.cri.model !==null) {
805
+ this.$refs.paged.$refs.cri.model.f_gasproperties=''
806
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
807
+ }
808
+ else{
809
+ this.gasproperties =[{label: '全部', value: ''}]
810
+ }
811
+ },
812
+ getotherfooter () {
813
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
814
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
815
+ this.other = [];
816
+ this.footer = [];
817
+ let exportdata = this.getCondition;
818
+ let otherInData = [];
819
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
820
+
821
+ // otherInData.push(``)
822
+ let footerData = [], exportfield = this.getfield;
823
+ footerData.push("合计");
824
+ let self = this;
825
+ for (var field in self.sumsmodel) {
826
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
827
+ }
828
+ this.footer.push(footerData);
829
+ this.other.push(otherInData);
830
+ let date = []
831
+ date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
832
+ date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
833
+ this.other.push(date)
834
+ // this.other.push(enddate)
835
+ },
836
+ // 对选择的列进行排序
837
+ sortModelval() {
838
+ let sortModel = []
839
+ Object.keys(this.fields).forEach((key) => {
840
+ if (this.modelval.includes(key)) {
841
+ sortModel.push(key)
842
+ }
843
+ })
844
+ this.modelval = sortModel
845
+ }
846
+ },
847
+ watch: {
848
+ 'model.rows'(val) {
849
+ if(val.length === 0){
850
+ this.sumsmodel = {}
851
+ }
852
+ },
853
+ async 'orgCondtionStr'(val) {
854
+ this.$refs.paged.$refs.cri.model.f_inputtor=[]
855
+ this.$refs.paged.$refs.cri.model.f_book_slice_area=[]
856
+ this.$refs.paged.$refs.cri.model.f_meter_book = []
857
+ this.meterbooks = [{label: '全部',value: ''}];
858
+ if(this.lastorgstr != val){
859
+ this.tempfalg = true;
860
+ this.lastorgstr = val;
861
+ }
862
+ if(this.tempfalg && val != null && val!='' && val.indexOf("(")>-1){
863
+ this.tempfalg = false;
864
+ let a = val.substring(val.indexOf("(")+2)
865
+ await this.initmeterbook(a.substring(0,a.indexOf(")")-1));
866
+ }
867
+ let res = val.match(/'(.*?)'/)
868
+ console.log('正则提取:',res && res[1])
869
+ if (res) {
870
+ this.f_filialeid = res[1]
871
+ if(res.input !=null){
872
+ let resorgid = res.input.substring(res.input.indexOf("'"));
873
+ if(resorgid!= null && resorgid!=''){
874
+ resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
875
+ // resorgid = resorgid.replaceAll("'","");
876
+ resorgid = resorgid.replace(/'/g,"");
877
+ this.allorgid = resorgid.split(",")
878
+ }
879
+ }
880
+ this.updateParams()
881
+ }
882
+ },
883
+ 'all'(val) {
884
+ if (val) {
885
+ this.modelval = this.bodyData
886
+ } else {
887
+ this.modelval = defaultPrint.config
888
+ this.put()
889
+ }
890
+ },
891
+ sumsmodel:{
892
+ handler: function(val) {
893
+ this.getotherfooter();
894
+ },
895
+ deep: true
896
+ },
897
+ 'modelval.length'() {
898
+ this.put()
899
+ }
900
+ },
901
+ computed: {
902
+
903
+ getCondition() {
904
+ return {
905
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
906
+ endDate: this.$refs.paged.$refs.cri.model.endDate,
907
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr }
908
+ },
909
+ getfield() {
910
+ return {
911
+ 'f_userinfo_code': '客户编号', 'f_user_name': '客户名称', 'f_olduserinfo_code': '档案编号', 'f_address': '客户地址', 'f_zones': '片区', 'phone': '客户手机', 'f_valve_state': '阀门状态',
912
+ 'f_last_tablebase': '上期底数', 'f_tablebase': '本期底数', 'f_oughtamount': '用气量', 'f_oughtfee': '用气金额','f_meternumber': '表号', 'ym_data': '数据年月',
913
+ 'f_balance': '上期余额', 'f_curbalance': '本期余额', 'f_hand_date': '抄表日期','f_meter_state': '抄表状态', 'f_hand_state': '记录状态',
914
+ 'f_inputtor': '抄表员', 'f_book_slice_area': '表册片区', 'f_user_type': '客户类型', 'f_gasproperties': '用气性质', 'f_operator': '操作员', 'f_depname': '部门', 'f_orgname': '公司',
915
+ 'f_stair1amount': '一阶气量', 'f_stair1price': '一阶单价', 'f_stair1fee': '一阶气费','f_stair2amount': '二阶气量', 'f_stair2price': '二阶单价', 'f_stair2fee': '二阶气费',
916
+ 'f_stair3amount': '三阶气量','f_stair3price': '三阶单价', 'f_stair3fee': '三阶气费', 'belongmonth': '所属年月'
917
+ }
918
+ },
919
+ getBankfield(){
920
+ return exportConfig.batchBankConfig2
921
+ },
922
+ usertypes() {
923
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
924
+ },
925
+ meterstate() {
926
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表状态')]
927
+ },
928
+ handstate() {
929
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('表单状态')]
930
+ },
931
+ valvestate() {
932
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('阀门状态')]
933
+ },
934
+ pricetypes() {
935
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
936
+ },
937
+ getPricenames() {
938
+ let f_user_type = this.$refs.paged.$refs.cri.model.f_user_type;
939
+ let f_gasproperties = this.$refs.paged.$refs.cri.model.f_gasproperties;
940
+ let pricetype = this.$refs.paged.$refs.cri.model.pricetype;
941
+ console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
942
+ if(this.$refs.paged.$refs.cri.model !==null) {
943
+ let rs = []
944
+ let priceArr = []
945
+ if ( pricetype.length >0) {
946
+ let params = {
947
+ f_price_type: pricetype[0],
948
+ filter: this.f_filialeid,
949
+ prices: this.prices
950
+ }
951
+ this.$MagGetSaleParam.getPrice(params).forEach((item) => {
952
+ let temp = {}
953
+ temp.label = item.label
954
+ temp.value = item.value.f_price_name
955
+ priceArr.push(temp)
956
+ })
957
+ rs = [{label: '全部', value: ''}, ...priceArr]
958
+ }
959
+ if (rs.length === 0) {
960
+ console.log('rs读出来是空')
961
+ this.$refs.paged.$refs.cri.model.f_price_name = ''
962
+ }
963
+ return rs
964
+ }
965
+ },
966
+ inputtor () {
967
+ // 获取抄表员
968
+ console.log('获取抄表员', this.$login.f)
969
+ let rs = []
970
+ if (this.$login.f.f_gasman.length > 0) {
971
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
972
+ let temp = {
973
+ label: this.$login.f.f_gasman[i].name,
974
+ value: this.$login.f.f_gasman[i].name
975
+ }
976
+ rs.push(temp)
977
+ }
978
+ }
979
+
980
+ return [{label: '全部', value: ''}, ...rs]
981
+ },
982
+
983
+ },
984
+ events:{
985
+ }
986
+ }
987
+ </script>