manage-client 3.3.217 → 3.3.219

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 (185) hide show
  1. package/build/dev-server.js +190 -190
  2. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  3. package/gradlew +234 -234
  4. package/gradlew.bat +89 -89
  5. package/hs_err_pid13052.log +206 -206
  6. package/package.json +111 -111
  7. package/src/components/SellReport/BusinessClassify.vue +292 -292
  8. package/src/components/SellReport/ChManageBusSummary.vue +1 -1
  9. package/src/components/SellReport/GasMoneyPublicConReport.vue +231 -231
  10. package/src/components/SellReport/ManageSellType.vue +267 -267
  11. package/src/components/SellReport/yangchun/YcBusSummaryes.vue +229 -229
  12. package/src/components/handReport/WebGastypeMonthReport.vue +190 -190
  13. package/src/components/sale/businessquery/AreaChargeQuery.vue +384 -384
  14. package/src/components/sale/businessquery/AreaGeneralQuery.vue +637 -637
  15. package/src/components/sale/businessquery/ArrearsQuery.vue +983 -983
  16. package/src/components/sale/businessquery/BalanceTable.vue +482 -482
  17. package/src/components/sale/businessquery/BusinessManage.vue +212 -212
  18. package/src/components/sale/businessquery/CancellationQuery.vue +428 -428
  19. package/src/components/sale/businessquery/CardHandplanQuery.vue +546 -546
  20. package/src/components/sale/businessquery/ChangeMeterQuery.vue +699 -699
  21. package/src/components/sale/businessquery/ChargeQuery.vue +1435 -1435
  22. package/src/components/sale/businessquery/CollectManage.vue +6 -6
  23. package/src/components/sale/businessquery/CommunityPaymen.vue +307 -307
  24. package/src/components/sale/businessquery/DisableQuery.vue +523 -523
  25. package/src/components/sale/businessquery/EnableQuery.vue +462 -462
  26. package/src/components/sale/businessquery/FMYGasQuery.vue +813 -813
  27. package/src/components/sale/businessquery/FillCardQuery.vue +573 -573
  28. package/src/components/sale/businessquery/FillGasQuery.vue +593 -593
  29. package/src/components/sale/businessquery/GroupChargeQuery.vue +492 -492
  30. package/src/components/sale/businessquery/HandBookQuery.vue +692 -692
  31. package/src/components/sale/businessquery/HandBookTwoQuery.vue +704 -704
  32. package/src/components/sale/businessquery/HandGasPropertiesQuery.vue +671 -671
  33. package/src/components/sale/businessquery/HandPeopleQuery.vue +719 -719
  34. package/src/components/sale/businessquery/HandRateQuery.vue +524 -524
  35. package/src/components/sale/businessquery/Handgasquery.vue +477 -477
  36. package/src/components/sale/businessquery/HandplanQuery.vue +1376 -1376
  37. package/src/components/sale/businessquery/MonthGasQuery.vue +482 -482
  38. package/src/components/sale/businessquery/NoBusinessQuery.vue +778 -778
  39. package/src/components/sale/businessquery/PlotSummaryQuery.vue +499 -499
  40. package/src/components/sale/businessquery/ProceedsOper.vue +415 -415
  41. package/src/components/sale/businessquery/ResidentialCardQuery.vue +377 -377
  42. package/src/components/sale/businessquery/ResidentialQuery.vue +415 -415
  43. package/src/components/sale/businessquery/SellOrgnameQuery.vue +680 -680
  44. package/src/components/sale/businessquery/SellPeopleQuery.vue +752 -752
  45. package/src/components/sale/businessquery/SellingHand.vue +421 -421
  46. package/src/components/sale/businessquery/TransferQuery.vue +502 -502
  47. package/src/components/sale/businessquery/UnhandBusiness.vue +328 -328
  48. package/src/components/sale/businessquery/UserSellHeadDetail.vue +579 -579
  49. package/src/components/sale/businessquery/WebHandplanQuery.vue +987 -987
  50. package/src/components/sale/businessquery/WebMeterMonthUserGasQuery.vue +471 -471
  51. package/src/components/sale/businessquery/YingShouMingXi.vue +524 -524
  52. package/src/components/sale/businessquery/YonghuJieyu.vue +358 -358
  53. package/src/components/sale/businessquery/usergas.vue +315 -315
  54. package/src/components/sale/config/exportConfig.js +2761 -2761
  55. package/src/components/sale/config/tableConfig.js +59 -59
  56. package/src/components/sale/filesquery/FireQuery.vue +539 -539
  57. package/src/components/sale/filesquery/RecordInfoQuery.vue +1443 -1443
  58. package/src/components/sale/filesquery/UserQuery.vue +977 -977
  59. package/src/components/webmeter/DrillData/GetNoMetereadData.vue +423 -423
  60. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +695 -695
  61. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +646 -646
  62. package/src/components/webmeter/WebmeterQuery.vue +77 -77
  63. package/src/components/webmeter/gasAnalysis/WebmeterSettlementAnalysis.vue +456 -456
  64. package/src/components/webmeter/gasStatistics/GasStatistics.vue +526 -526
  65. package/src/components/webmeter/gasStatistics/NewGasStatistics.vue +542 -542
  66. package/src/components/webmeter/instruction/NewQueryInstruct.vue +606 -606
  67. package/src/components/webmeter/newwebmeter/NewException/MeterExceptionList.vue +552 -552
  68. package/src/components/webmeter/newwebmeter/WebhandMonthGas.vue +819 -819
  69. package/src/components/webmeter/recharge/RechargeList.vue +371 -371
  70. package/src/components/webmeter/report/ReportList.vue +453 -453
  71. package/src/components/webmeter/reportdata/ReportDataQuery.vue +339 -339
  72. package/src/filiale/WEINAN/InspectListGas.vue +616 -616
  73. package/src/filiale/ancheng/businessquery/FMYGasQuery.vue +12 -10
  74. package/src/filiale/ancheng/exportConfig.js +120 -120
  75. package/src/filiale/bayan/ChargeQuery.vue +1436 -1436
  76. package/src/filiale/bayan/PrintTableManage.vue +242 -242
  77. package/src/filiale/bayan/config/DefaultPrint.js +6 -6
  78. package/src/filiale/bayan/config/exportConfig.js +2642 -2642
  79. package/src/filiale/bayan/config/tableConfig.js +59 -59
  80. package/src/filiale/bayan/sale.js +8 -8
  81. package/src/filiale/bayan/webmeter/GetNoMetereadData.vue +425 -425
  82. package/src/filiale/bayan/webmeter/LostContactAnalysisList.vue +719 -719
  83. package/src/filiale/bayan/webmeter/MeterExceptionList.vue +591 -591
  84. package/src/filiale/bayan/webmeter/NewGasStatistics.vue +665 -665
  85. package/src/filiale/bayan/webmeter/NewQueryInstruct.vue +650 -650
  86. package/src/filiale/bayan/webmeter/NewWebmeterSettlementAnalysis.vue +464 -464
  87. package/src/filiale/bayan/webmeter/RechargeList.vue +430 -430
  88. package/src/filiale/bayan/webmeter/ReportDataQuery.vue +343 -343
  89. package/src/filiale/bayan/webmeter/ReportList.vue +555 -555
  90. package/src/filiale/bayan/webmeter/UserLostContactAnalysis.vue +674 -674
  91. package/src/filiale/bayan/webmeterManage.js +26 -26
  92. package/src/filiale/dingcheng/DefaultPrint.js +6 -6
  93. package/src/filiale/dingcheng/businessquery/ChangeMeterQuery.vue +798 -798
  94. package/src/filiale/dingcheng/exportConfig.js +2765 -2765
  95. package/src/filiale/dingcheng/sale.js +9 -9
  96. package/src/filiale/hantou/ChangeMeterQuery.vue +699 -699
  97. package/src/filiale/hantou/config/DefaultPrint.js +6 -6
  98. package/src/filiale/hantou/config/exportConfig.js +2667 -2667
  99. package/src/filiale/hantou/config/tableConfig.js +54 -54
  100. package/src/filiale/hantou/sale.js +8 -8
  101. package/src/filiale/jingyang/ChargeQuery.vue +1464 -1464
  102. package/src/filiale/jingyang/RechargeList.vue +346 -346
  103. package/src/filiale/jingyang/config/DefaultPrint.js +6 -6
  104. package/src/filiale/jingyang/config/exportConfig.js +2776 -2776
  105. package/src/filiale/jingyang/config/tableConfig.js +58 -58
  106. package/src/filiale/jingyang/sale.js +8 -8
  107. package/src/filiale/kelai/AreaChargeQuery.vue +398 -398
  108. package/src/filiale/kelai/GasStatistics.vue +561 -561
  109. package/src/filiale/kelai/NewAccountQuery.vue +417 -417
  110. package/src/filiale/kelai/NewGasStatistics.vue +542 -542
  111. package/src/filiale/kelai/feimin_style_kl.vue +400 -400
  112. package/src/filiale/kelai/reportManage.js +13 -13
  113. package/src/filiale/kelai/sale.js +17 -17
  114. package/src/filiale/liaoyuan/HandplanQuery.vue +1289 -1289
  115. package/src/filiale/lixianV3/RecordInfoQuery.vue +1474 -1474
  116. package/src/filiale/macheng/ArrearsQuery.vue +831 -831
  117. package/src/filiale/macheng/RecordInfoQuery.vue +1023 -1023
  118. package/src/filiale/macheng/config/exportConfig.js +79 -79
  119. package/src/filiale/meihekou/AreaGeneralQuery.vue +206 -206
  120. package/src/filiale/meihekou/CardHandplanQuery.vue +664 -664
  121. package/src/filiale/meihekou/ChargeQuery.vue +1274 -1274
  122. package/src/filiale/meihekou/CollectManage.vue +152 -152
  123. package/src/filiale/meihekou/HandplanQuery.vue +1248 -1248
  124. package/src/filiale/meihekou/OtherChargeQuery.vue +618 -618
  125. package/src/filiale/meihekou/UserSellHeadDetail.vue +516 -516
  126. package/src/filiale/meihekou/YingShouMingXi.vue +556 -556
  127. package/src/filiale/meihekou/config/exportConfig.js +829 -829
  128. package/src/filiale/meihekou/sale.js +39 -39
  129. package/src/filiale/ningjin/MeterExceptionList.vue +616 -616
  130. package/src/filiale/ningjin/UserLostContactAnalysis.vue +623 -623
  131. package/src/filiale/qianneng/RecordInfoQuery.vue +1 -1
  132. package/src/filiale/qianneng/WebmeterQuery.vue +70 -70
  133. package/src/filiale/qianneng/exportConfig.js +232 -232
  134. package/src/filiale/qingtongxia/ChargeQuery.vue +1209 -1209
  135. package/src/filiale/qingtongxia/config/exportConfig.js +712 -712
  136. package/src/filiale/rizhao/BusinessManage.vue +212 -212
  137. package/src/filiale/rizhao/sale.js +13 -13
  138. package/src/filiale/shangluo/HandplanQuery.vue +1376 -1376
  139. package/src/filiale/shangluo/sale.js +17 -17
  140. package/src/filiale/shangluo/webmeter/PriceInstructList.vue +303 -303
  141. package/src/filiale/shangluo/webmeter/UserInstructList.vue +304 -304
  142. package/src/filiale/shangluo/webmeter/WebmeterSettlementAnalysis.vue +432 -432
  143. package/src/filiale/shanxian/EchartsBox.vue +134 -134
  144. package/src/filiale/shaoguan/errorHandplanQuery.vue +386 -386
  145. package/src/filiale/shexian/ChangeMeterQuery.vue +797 -797
  146. package/src/filiale/taizhoukesi/ChangeMeterQuery.vue +683 -683
  147. package/src/filiale/taizhoukesi/NewGasStatistics.vue +539 -539
  148. package/src/filiale/taizhoukesi/config/exportConfig.js +2712 -2712
  149. package/src/filiale/taizhoukesi/sale.js +11 -11
  150. package/src/filiale/tongchuan/GasInspection.vue +716 -716
  151. package/src/filiale/tongchuan/InspectListGas.vue +700 -700
  152. package/src/filiale/tongchuan/MeterQuery.vue +1002 -1002
  153. package/src/filiale/tongchuan/ResSelectGroupNew.vue +188 -188
  154. package/src/filiale/tongchuan/config/exportConfig.js +858 -858
  155. package/src/filiale/wenxi/ChangeMeterQuery.vue +721 -721
  156. package/src/filiale/wenxi/ManageUserTypeSell.vue +173 -173
  157. package/src/filiale/wenxi/config/exportConfig.js +995 -995
  158. package/src/filiale/xinjiangdexin/ChargeQuery.vue +1435 -1435
  159. package/src/filiale/xinjiangdexin/config/exportConfig.js +2770 -2770
  160. package/src/filiale/xinjiangdexin/sale.js +7 -7
  161. package/src/filiale/yangchun/ChangeMeterQuery.vue +716 -716
  162. package/src/filiale/yangchun/ManageBusSummaryNew.vue +239 -239
  163. package/src/filiale/yangchun/OtherChargeDetailQuery.vue +74 -74
  164. package/src/filiale/yangchun/OtherChargeQuery.vue +755 -755
  165. package/src/filiale/yangchun/RecordInfoQuery.vue +1477 -1477
  166. package/src/filiale/yangchun/UserQuery.vue +980 -980
  167. package/src/filiale/yangchun/config/DefaultPrint.js +6 -6
  168. package/src/filiale/yangchun/config/exportConfig.js +1229 -1229
  169. package/src/filiale/yangchun/config/tableConfig.js +58 -58
  170. package/src/filiale/yangchun/reportManage.js +6 -6
  171. package/src/filiale/yangchun/sale.js +20 -20
  172. package/src/filiale/yangchun/webmeterManage.js +5 -5
  173. package/src/filiale/yuncheng/ChangeMeterQuery.vue +743 -743
  174. package/src/filiale/yuncheng/DeviceQuery.vue +611 -611
  175. package/src/filiale/yuncheng/LostContactAnalysisList.vue +700 -700
  176. package/src/filiale/yuncheng/MeterQuery.vue +995 -995
  177. package/src/filiale/yuncheng/config/exportConfig.js +2674 -2674
  178. package/src/filiale/yuncheng/sale.js +23 -23
  179. package/src/filiale/zhongyi/GasStatistics.vue +522 -522
  180. package/src/filiale/zhongyi/exportConfig.js +2554 -2554
  181. package/src/main.js +68 -68
  182. package/src/plugins/LodopFuncs.js +159 -159
  183. package/src/reportManage.js +773 -773
  184. package/src/saleManage.js +689 -689
  185. package/src/webmeterManage.js +130 -130
@@ -1,611 +1,611 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main" @keyup.enter="search">
4
- <div class="flex">
5
- <div style="flex:1;" class="flex" v-if="!show">
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
- :header="$parent.$parent.other"
38
- v-if="$parent.$parent.authArr.includes('档案查询导出')"
39
- sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="deviceQuery" template-name='表具设备查询导出' :choose-col="true"></export-excel>
40
- <print-data :sum-field="$parent.$parent.getExportField" :model="$parent.model" :field="$parent.$parent.getExportField"
41
- :defaultfield="$parent.$parent.defaultfield"
42
- titletable="表具设备查询"
43
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
44
- <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>
45
- </div>
46
- </div>
47
- <div class="row" v-show="$parent.$parent.criteriaShow">
48
-
49
- <div class="col-sm-2 form-group" >
50
- <label class="font_normal_body">客户地址</label>
51
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
52
- condition="f_address like '%{}%'" placeholder='客户地址'>
53
- </div>
54
- <div class="col-sm-2 form-group" >
55
- <label class="font_normal_body">用户状态</label>
56
- <v-select :value.sync="model.f_user_state"
57
- v-model="model.f_user_state"
58
- :options='$parent.$parent.userstates' placeholder='请选择'
59
- condition="f_user_state = '{}'"
60
- close-on-select></v-select>
61
- </div>
62
- <div class="col-sm-2 form-group">
63
- <label class="font_normal_body">客户类型</label>
64
- <v-select :value.sync="model.f_user_type"
65
- :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
66
- condition="f_user_type = '{}'"
67
- close-on-select></v-select>
68
- </div>
69
- <div class="col-sm-2 form-group" >
70
- <label class="font_normal_body">所属表&nbsp;&nbsp;&nbsp;</label>
71
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
72
- condition="f_meternumber = '{}'" placeholder='所属表(表号)'>
73
- </div>
74
-
75
- <div class="col-sm-2 form-group" >
76
- <label class="font_normal_body">设备类型</label>
77
- <v-select :value.sync="model.f_devices_type"
78
- v-model="model.f_devices_type"
79
- :options='$parent.$parent.deviceTypes' placeholder='请选择'
80
- condition="f_devices_type = '{}'"
81
- close-on-select></v-select>
82
- </div>
83
- <div class="col-sm-2 form-group" >
84
- <label class="font_normal_body">购买方式</label>
85
- <v-select :value.sync="model.watchpurchase"
86
- v-model="model.watchpurchase"
87
- :options='$parent.$parent.watchpurchases' placeholder='请选择'
88
- condition="watchpurchase = '{}'"
89
- close-on-select></v-select>
90
- </div>
91
- <div class="col-sm-2 form-group" >
92
- <label class="font_normal_body">管道类型</label>
93
- <v-select :value.sync="model.f_pipe_type"
94
- v-model="model.f_pipe_type"
95
- :options='$parent.$parent.pipetype' placeholder='请选择'
96
- condition="f_pipe_type = '{}'"
97
- close-on-select></v-select>
98
- </div>
99
- <div class="col-sm-2 form-group">
100
- <label class="font_normal_body">表&emsp;&emsp;号</label>
101
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meter_number"
102
- condition="f_meternumber = '{}'" placeholder='表号'>
103
- </div>
104
- <div class="col-sm-2 form-group">
105
- <label class="font_normal_body">卡&emsp;&emsp;号</label>
106
- <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
107
- condition="f_card_id = '{}'" placeholder='卡号'>
108
- </div>
109
- <div class="col-sm-2 form-group" >
110
- <label class="font_normal_body">设备编号</label>
111
- <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_no"
112
- condition="f_devices_no like '%{}%'" placeholder='设备编号'>
113
- </div>
114
- <div class="col-sm-2 form-group" >
115
- <label class="font_normal_body">设备品牌</label>
116
- <input type="text" style="width:60%" class="input_search" v-model="model.f_brand"
117
- condition="f_brand like '%{}%'" placeholder='设备品牌'>
118
- </div>
119
- <div class="col-sm-2 form-group" >
120
- <label class="font_normal_body">设备型号</label>
121
- <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_model"
122
- condition="f_devices_model like '%{}%'" placeholder='设备型号'>
123
- </div>
124
- <div class="col-sm-2 form-group" >
125
- <label class="font_normal_body">设备数量</label>
126
- <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_num"
127
- condition="f_devices_num = {}" placeholder='设备数量'>
128
- </div>
129
- <div class="col-sm-2 form-group" >
130
- <label class="font_normal_body" title="安装日期大于">安装日期</label>
131
- <datepicker placeholder="安装日期大于" style="width:60%"
132
- v-model="model.f_input_start_date"
133
- :value.sync="model.f_input_start_date"
134
- :format="'yyyy-MM-dd'"
135
- :show-reset-button="true"
136
- condition="f_input_date >= '{} 00:00:00'">
137
- </datepicker>
138
- </div>
139
- <div class="col-sm-2 form-group" >
140
- <label class="font_normal_body" title="安装日期小于">安装日期</label>
141
- <datepicker placeholder="安装日期小于" style="width:60%"
142
- v-model="model.f_input_end_date"
143
- :value.sync="model.f_input_end_date"
144
- :format="'yyyy-MM-dd'"
145
- :show-reset-button="true"
146
- condition="f_input_date <= '{} 23:59:59'">
147
- </datepicker>
148
- </div>
149
- <div class="col-sm-2 form-group" >
150
- <label class="font_normal_body" >到期日期</label>
151
- <datepicker placeholder="到期日期大于" style="width:60%"
152
- v-model="model.f_expire_start_date"
153
- :value.sync="model.f_expire_start_date"
154
- :format="'yyyy-MM-dd'"
155
- :show-reset-button="true"
156
- condition="f_expire_date >= '{} 00:00:00'">
157
- </datepicker>
158
- </div>
159
- <div class="col-sm-2 form-group" >
160
- <label class="font_normal_body">到期日期</label>
161
- <datepicker placeholder="到期日期小于" style="width:60%"
162
- v-model="model.f_expire_end_date"
163
- :value.sync="model.f_expire_end_date"
164
- :format="'yyyy-MM-dd'"
165
- :show-reset-button="true"
166
- condition="f_expire_date <= '{} 23:59:59'">
167
- </datepicker>
168
- </div>
169
- <div class="col-sm-2 form-group" >
170
- <label class="font_normal_body" title="生产日期大于" >生产日期</label>
171
- <datepicker placeholder="生产日期大于" style="width:60%"
172
- v-model="model.f_make_start_date"
173
- :value.sync="model.f_make_start_date"
174
- :format="'yyyy-MM-dd'"
175
- :show-reset-button="true"
176
- condition="f_make_date >= '{} 00:00:00'">
177
- </datepicker>
178
- </div>
179
- <div class="col-sm-2 form-group" >
180
- <label class="font_normal_body" title="生产日期小于">生产日期</label>
181
- <datepicker placeholder="生产日期小于" style="width:60%"
182
- v-model="model.f_make_end_date"
183
- :value.sync="model.f_make_end_date"
184
- :format="'yyyy-MM-dd'"
185
- :show-reset-button="true"
186
- condition="f_make_date <= '{} 23:59:59'">
187
- </datepicker>
188
- </div>
189
- <div class="col-sm-2 form-group" >
190
- <label for="startDate" class="font_normal_body" title="操作开始日期">开始日期</label>
191
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
192
- v-model="model.startDate"
193
- :value.sync="model.startDate"
194
- :format="'yyyy-MM-dd'"
195
- :show-reset-button="true"
196
- condition="f_operate_date >= '{} 00:00:00'">
197
- </datepicker>
198
- </div>
199
- <div class="col-sm-2 form-group" >
200
- <label for="endDate" class="font_normal_body" title="操作结束日期">结束日期</label>
201
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
202
- v-model="model.endDate"
203
- :value.sync="model.endDate"
204
- :format="'yyyy-MM-dd'"
205
- :show-reset-button="true"
206
- condition="f_operate_date <= '{} 23:59:59'">
207
- </datepicker>
208
- </div>
209
- <div class="col-sm-2 form-group" >
210
- <label class="font_normal_body">使用年限</label>
211
- <input type="text" style="width:60%" class="input_search" v-model="model.f_service_life"
212
- condition="f_service_life = '{}'" placeholder='使用年限'>
213
- </div>
214
- <div class="col-sm-2 form-group" >
215
- <label class="font_normal_body">备注信息</label>
216
- <input type="text" style="width:60%" class="input_search" v-model="model.f_comments"
217
- condition="f_comments like '%{}%'" placeholder='备注'>
218
- </div>
219
- <div class="col-sm-2 form-group">
220
- <label class="font_normal_body" >抄表员&emsp;</label>
221
- <v-select :value.sync="model.f_inputtor"
222
- v-model="model.f_inputtor"
223
- :options='$parent.$parent.inputtores' placeholder='请选择'
224
- condition="f_inputtor = '{}'"
225
- close-on-select :search="false">
226
- </v-select>
227
- </div>
228
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"></res-select-group>
229
- <div class="col-sm-2 form-group">
230
- <label class="font_normal_body" >是否到期</label>
231
- <v-select :value.sync="model.f_isexpire"
232
- v-model="model.f_isexpire"
233
- :options='$parent.$parent.isexpire' placeholder='请选择'
234
- condition="f_isexpire = '{}'"
235
- close-on-select :search="false">
236
- </v-select>
237
- </div>
238
- <div class="col-sm-2 form-group">
239
- <label class="font_normal_body">小&emsp;&emsp;区</label>
240
- <v-select :value.sync="model1.f_residential_area"
241
- class="select_list select"
242
- enter-push
243
- multiple = "true"
244
- v-model="model1.f_residential_area"
245
- style="width: 60%"
246
- :options='$parent.$parent.residentialArea' placeholder='选择小区'
247
- close-on-select>
248
-
249
- </v-select>
250
- </div>
251
- </div>
252
- </div>
253
- </criteria>
254
-
255
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
256
- <template partial='head'>
257
- <tr>
258
- <th>
259
- <!--<nobr>客户编号</nobr>-->
260
- <data-order field="f_userinfo_code" name="客户编号" :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
261
- </th>
262
- <th><nobr>客户名称</nobr></th>
263
- <th><nobr>档案编号</nobr></th>
264
- <th><nobr>客户电话</nobr></th>
265
- <th>
266
- <!--<nobr>客户地址</nobr>-->
267
- <data-order field="f_address" name="客户地址" :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
268
- </th>
269
- <th><nobr>客户状态</nobr></th>
270
- <th><nobr>所属表具(表号)</nobr></th>
271
- <th><nobr>购买方式</nobr></th>
272
- <th><nobr>设备类型</nobr></th>
273
- <th><nobr>设备编号</nobr></th>
274
- <th><nobr>设备品牌</nobr></th>
275
- <th><nobr>设备型号</nobr></th>
276
- <th><nobr>设备数量</nobr></th>
277
- <th><nobr>设备状态</nobr></th>
278
- <th><nobr>管道类型</nobr></th>
279
- <th>
280
- <!--<nobr>生产日期</nobr>-->
281
- <data-order field="f_make_date" name="生产日期" :order.sync="$parent.$parent.$parent.orderFields.f_make_date"></data-order>
282
- </th>
283
- <th><nobr>使用年限</nobr></th>
284
- <th><nobr>安装人</nobr></th>
285
- <th>
286
- <!--<nobr>安装日期</nobr>-->
287
- <data-order field="f_input_date" name="安装日期" :order.sync="$parent.$parent.$parent.orderFields.f_input_date"></data-order>
288
- </th>
289
- <th>
290
- <!--<nobr>到期日期</nobr>-->
291
- <data-order field="f_expire_date" name="到期日期" :order.sync="$parent.$parent.$parent.orderFields.f_expire_date"></data-order>
292
- </th>
293
- <th><nobr>是否到期</nobr></th>
294
- <th><nobr>操作人</nobr></th>
295
- <th>
296
- <!--<nobr>操作时间</nobr>-->
297
- <data-order field="f_operate_date" name="操作时间" :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
298
- </th>
299
- <th><nobr>备注</nobr></th>
300
- <th><nobr>小区</nobr></th>
301
- </tr>
302
- </template>
303
- <template partial='body'>
304
- <td style="text-align: center;"><nobr>
305
- <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
306
- </nobr> </td>
307
- <td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
308
- <td style="text-align: center;"><nobr>{{row.f_olduserinfo_code}}</nobr></td>
309
- <td style="text-align: center;"><nobr>{{row.f_user_phone}}</nobr></td>
310
- <td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
311
- <td style="text-align: center;"><nobr>{{row.f_user_state}}</nobr></td>
312
- <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
313
- <td style="text-align: center;"><nobr>{{row.watchpurchase}}</nobr></td>
314
- <td style="text-align: center;"><nobr>{{row.f_devices_type}}</nobr></td>
315
- <td style="text-align: center;"><nobr>{{row.f_devices_no}}</nobr></td>
316
- <td style="text-align: center;"><nobr>{{row.f_brand}}</nobr></td>
317
- <td style="text-align: center;"><nobr>{{row.f_devices_model}}</nobr></td>
318
- <td style="text-align: center;"><nobr>{{row.f_devices_num}}</nobr></td>
319
- <td style="text-align: center;"><nobr>{{row.f_userinfodevices_state}}</nobr></td>
320
- <td style="text-align: center;"><nobr>{{row.f_pipe_type}}</nobr></td>
321
- <td style="text-align: center;"><nobr>{{row.f_make_date}}</nobr></td>
322
- <td style="text-align: center;"><nobr>{{row.f_service_life}}</nobr></td>
323
- <td style="text-align: center;"><nobr>{{row.f_input_person}}</nobr></td>
324
- <td style="text-align: center;"><nobr>{{row.f_input_date}}</nobr></td>
325
- <td style="text-align: center;"><nobr>{{row.f_expire_date}}</nobr></td>
326
- <td style="text-align: center;"><nobr>{{row.f_isexpire}}</nobr></td>
327
- <td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
328
- <td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
329
- <td style="text-align: center;"><nobr>{{row.f_comments}}</nobr></td>
330
- <td style="text-align: center;"><nobr>{{row.f_residential_area}}</nobr></td>
331
- </template>
332
- <template partial='foot'>
333
-
334
- </template>
335
- </data-grid>
336
- </criteria-paged>
337
-
338
- <table class="table-hover">
339
- <tr style="position: relative" class="table-bordered">
340
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">汇总信息</td>
341
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">暂无合计字段</td>
342
- </tr>
343
- </table>
344
-
345
- <modal :show.sync="printshow" v-ref:modal backdrop="false">
346
- <header slot="modal-header" class="modal-header text-center">
347
- <h4 class="modal-title">打印列选择</h4>
348
- <input type="checkbox" class="" id="f_generations" v-model="all">
349
- <label for="f_generations" class="font-size">全选</label>
350
- </header>
351
- <article slot="modal-body">
352
- <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
353
- <div class="col-sm-3" v-for="f in fields">
354
- <input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
355
- <label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>
356
- </div>
357
- </div>
358
- </article>
359
- <footer slot="modal-footer" class="modal-footer">
360
- <center>
361
- <button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
362
- <button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
363
- <print-table :model='model' v-show="false" v-ref:print
364
- :top='40' :left='60' :right='40' :bottom='60'
365
- :thead="thead" :tfoot='tfoot' :attach="yangsen"
366
- :fields="modelval" :printpage="true">
367
- </print-table>
368
- </center>
369
- </footer>
370
- </modal>
371
- </div>
372
- <div class="flex" v-if="show">
373
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
374
- </div>
375
- </div></div></div>
376
- </template>
377
-
378
- <script>
379
- import { PagedList } from 'vue-client'
380
- import defaultPrint from './config/DefaultPrint'
381
- import exportConfig from './config/exportConfig'
382
-
383
- let readySomething = async function (self) {
384
- self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
385
- self.$MagGetSaleParam.initinputtor();
386
- self.getinputtores();
387
- // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
388
- // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
389
- // await self.$refs.paged.$refs.cri.search()
390
- }
391
- export default {
392
- title: '表具设备查询',
393
- data() {
394
- return {
395
- other:[],
396
- footer:[],
397
- model: new PagedList('api/af-revenue/sql/deviceQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_userinfo_code desc'`}),
398
- model1: new PagedList('api/af-revenue/sql/filesQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_userinfo_code desc'`}, {f_balance: 0}),
399
- criteriaShow: false,
400
- orgCondtionStr: '',
401
- modelval: [],
402
- printshow: false,
403
- all: false,
404
- fields: {},
405
- //排序
406
- orderitem:'f_userinfo_code desc',
407
- orderFields: {
408
- f_userinfo_id: 'no'
409
- },
410
- thead: '',
411
- tfoot: '',
412
- defaultfield: [],
413
- config: {
414
- defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone']
415
- },
416
- show:false,
417
- rowdata:{},
418
- // 下拉框参数
419
- inputtores:[],
420
- usertypes:this.$appdata.getParam('用户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')] : [],
421
- userstates:this.$appdata.getParam('用户状态') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')] : [],
422
- deviceTypes: this.$appdata.getParam('设备类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('设备类型')] : [],
423
- // brand: this.$appdata.getParam('设备品牌') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('设备品牌')] : [],
424
- watchpurchases: this.$appdata.getParam('购买方式') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('购买方式')] : [],
425
- pipetype: this.$appdata.getParam('管道类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('管道类型')] : [],
426
- isexpire: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}, ],
427
- initres: {
428
- org:[this.$login.f.orgid],
429
- dep:[],
430
- user:[],
431
- },
432
- // 合计数据
433
- sumsmodel: {}
434
- }
435
- },
436
- ready(){
437
- readySomething(this).then(() => {
438
- this.$emit('ready')
439
- }).catch((error) => {
440
- this.$emit('error', error)
441
- })
442
- },
443
- methods: {
444
- async getinputtores () {
445
- // 获取抄表员
446
- let rs = []
447
- if (this.$login.f.f_gasman.length > 0) {
448
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
449
- let temp = {
450
- label: this.$login.f.f_gasman[i].name,
451
- value: this.$login.f.f_gasman[i].name
452
- }
453
- rs.push(temp)
454
- }
455
- }
456
- this.inputtores = [{label: '全部', value: ''}, ...rs]
457
- },
458
- getotherfooter () {
459
- // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
460
- // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
461
- this.other = [];
462
- this.footer = [];
463
- let exportdata = this.getCondition;
464
- let otherInData = [];
465
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
466
- // let footerData = [], exportfield = this.getExportField;
467
- // footerData.push("合计");
468
- // let self = this;
469
- // for (var field in self.sumsmodel) {
470
- // footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
471
- // }
472
- // this.footer.push(footerData);
473
- this.other.push(otherInData);
474
- },
475
- search(){
476
- this.$refs.paged.$refs.cri.search()
477
- },
478
- cancel() {
479
- this.show = false
480
- },
481
- showmsg(obj){
482
- this.rowdata=obj
483
- this.show=true
484
- },
485
- selfSearch (args) {
486
- if (!this.orgCondtionStr) {
487
- args.condition = `${args.condition}` + " and f_orgid = " + this.$login.f.orgid
488
- } else {
489
- args.condition = `${args.condition}` + this.orgCondtionStr
490
- }
491
-
492
- this.model.search(args.condition, args.model)
493
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
494
- console.log('合计字段',this.sumsmodel)
495
- },
496
- clear(){
497
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
498
- this.$refs.paged.$refs.cri.model[key] = []
499
- })
500
- },
501
- hidden(){
502
- this.criteriaShow = !this.criteriaShow
503
- },
504
- getRes(obj) {
505
- this.orgCondtionStr = obj
506
- },
507
- stamp () {
508
- this.all = false
509
- //默认选择要打印的列
510
- this.modelval = defaultPrint.config
511
- this.fields = this.getfield
512
- console.log('所有打印字段',this.fields)
513
- this.printshow = true
514
- this.put()
515
- },
516
- put () {
517
- // 对Modelval进行排序
518
- this.sortModelval()
519
- this.thead = `<tr><th colspan=${this.modelval.length}>设备查询统计报表</th></tr><tr>`
520
- for (let key of this.modelval) {
521
- this.thead += '<th>' + this.fields[key] + '</th>'
522
- }
523
- this.thead += '</tr>'
524
- },
525
- print () {
526
- this.$refs.print.PrintAsFile()
527
- this.printshow = false
528
- },
529
- close () {
530
- this.printshow = false
531
- this.all = false
532
- },
533
- // 对选择的列进行排序
534
- sortModelval () {
535
- let sortModel = []
536
- Object.keys(this.fields).forEach((key) => {
537
- if (this.modelval.includes(key)) {
538
- sortModel.push(key)
539
- }
540
- })
541
- this.modelval = sortModel
542
- console.log('选择的打印的字段', this.modelval)
543
- },
544
- sort (field, rule) {
545
- // 将所有排序方式设为不排序,实现相互排斥
546
- for (let key in this.orderFields) {
547
- if (key === field) {
548
- this.orderFields[key] = rule
549
- } else {
550
- this.orderFields[key] = 'no'
551
- }
552
- }
553
- // 如果新规则不排序,还原为默认排序
554
- if (rule === 'no') {
555
- this.model.paramSource.orderitem = `'${this.orderitem}'`
556
- } else {
557
- this.model.paramSource.orderitem = `'${field} ${rule}'`
558
- }
559
-
560
- this.search()
561
- }
562
- },
563
- watch:{
564
- 'all' (val) {
565
- if (val) {
566
- this.modelval = this.bodyData
567
- } else {
568
- this.modelval = defaultPrint.config
569
- this.put()
570
- }
571
- },
572
- sumsmodel:{
573
- handler: function(val) {
574
- this.getotherfooter();
575
- },
576
- deep: true
577
- },
578
- 'modelval.length' () {
579
- this.put()
580
- },
581
- },
582
- computed:{
583
- authArr () {
584
- return this.$login.r ? this.$login.r : []
585
- },
586
- getCondition(){
587
- return {condition: `${this.$refs.paged.$refs.cri.condition}`+this.orgCondtionStr,orderitem:this.orderitem}
588
- },
589
- getfield(){
590
- let data = {}
591
- this.bodyData.forEach((value, index)=>{
592
- data[this.bodyData[index]] = this.headData[index]
593
- })
594
- //合计字段打印
595
- this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
596
- if(this.sumsmodel){
597
- Object.keys(this.sumsmodel).forEach((key) => {
598
- this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
599
- })
600
- }else{
601
- this.tfoot += '暂无'
602
- }
603
- this.tfoot += '</th></tr>'
604
- return data
605
- },
606
- getExportField() {
607
- return exportConfig.deviceConfig
608
- }
609
- }
610
- }
611
- </script>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex">
5
+ <div style="flex:1;" class="flex" v-if="!show">
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
+ :header="$parent.$parent.other"
38
+ v-if="$parent.$parent.authArr.includes('档案查询导出')"
39
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="deviceQuery" template-name='表具设备查询导出' :choose-col="true"></export-excel>
40
+ <print-data :sum-field="$parent.$parent.getExportField" :model="$parent.model" :field="$parent.$parent.getExportField"
41
+ :defaultfield="$parent.$parent.defaultfield"
42
+ titletable="表具设备查询"
43
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
44
+ <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>
45
+ </div>
46
+ </div>
47
+ <div class="row" v-show="$parent.$parent.criteriaShow">
48
+
49
+ <div class="col-sm-2 form-group" >
50
+ <label class="font_normal_body">客户地址</label>
51
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
52
+ condition="f_address like '%{}%'" placeholder='客户地址'>
53
+ </div>
54
+ <div class="col-sm-2 form-group" >
55
+ <label class="font_normal_body">用户状态</label>
56
+ <v-select :value.sync="model.f_user_state"
57
+ v-model="model.f_user_state"
58
+ :options='$parent.$parent.userstates' placeholder='请选择'
59
+ condition="f_user_state = '{}'"
60
+ close-on-select></v-select>
61
+ </div>
62
+ <div class="col-sm-2 form-group">
63
+ <label class="font_normal_body">客户类型</label>
64
+ <v-select :value.sync="model.f_user_type"
65
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
66
+ condition="f_user_type = '{}'"
67
+ close-on-select></v-select>
68
+ </div>
69
+ <div class="col-sm-2 form-group" >
70
+ <label class="font_normal_body">所属表&nbsp;&nbsp;&nbsp;</label>
71
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
72
+ condition="f_meternumber = '{}'" placeholder='所属表(表号)'>
73
+ </div>
74
+
75
+ <div class="col-sm-2 form-group" >
76
+ <label class="font_normal_body">设备类型</label>
77
+ <v-select :value.sync="model.f_devices_type"
78
+ v-model="model.f_devices_type"
79
+ :options='$parent.$parent.deviceTypes' placeholder='请选择'
80
+ condition="f_devices_type = '{}'"
81
+ close-on-select></v-select>
82
+ </div>
83
+ <div class="col-sm-2 form-group" >
84
+ <label class="font_normal_body">购买方式</label>
85
+ <v-select :value.sync="model.watchpurchase"
86
+ v-model="model.watchpurchase"
87
+ :options='$parent.$parent.watchpurchases' placeholder='请选择'
88
+ condition="watchpurchase = '{}'"
89
+ close-on-select></v-select>
90
+ </div>
91
+ <div class="col-sm-2 form-group" >
92
+ <label class="font_normal_body">管道类型</label>
93
+ <v-select :value.sync="model.f_pipe_type"
94
+ v-model="model.f_pipe_type"
95
+ :options='$parent.$parent.pipetype' placeholder='请选择'
96
+ condition="f_pipe_type = '{}'"
97
+ close-on-select></v-select>
98
+ </div>
99
+ <div class="col-sm-2 form-group">
100
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
101
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meter_number"
102
+ condition="f_meternumber = '{}'" placeholder='表号'>
103
+ </div>
104
+ <div class="col-sm-2 form-group">
105
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
106
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
107
+ condition="f_card_id = '{}'" placeholder='卡号'>
108
+ </div>
109
+ <div class="col-sm-2 form-group" >
110
+ <label class="font_normal_body">设备编号</label>
111
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_no"
112
+ condition="f_devices_no like '%{}%'" placeholder='设备编号'>
113
+ </div>
114
+ <div class="col-sm-2 form-group" >
115
+ <label class="font_normal_body">设备品牌</label>
116
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_brand"
117
+ condition="f_brand like '%{}%'" placeholder='设备品牌'>
118
+ </div>
119
+ <div class="col-sm-2 form-group" >
120
+ <label class="font_normal_body">设备型号</label>
121
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_model"
122
+ condition="f_devices_model like '%{}%'" placeholder='设备型号'>
123
+ </div>
124
+ <div class="col-sm-2 form-group" >
125
+ <label class="font_normal_body">设备数量</label>
126
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_num"
127
+ condition="f_devices_num = {}" placeholder='设备数量'>
128
+ </div>
129
+ <div class="col-sm-2 form-group" >
130
+ <label class="font_normal_body" title="安装日期大于">安装日期</label>
131
+ <datepicker placeholder="安装日期大于" style="width:60%"
132
+ v-model="model.f_input_start_date"
133
+ :value.sync="model.f_input_start_date"
134
+ :format="'yyyy-MM-dd'"
135
+ :show-reset-button="true"
136
+ condition="f_input_date >= '{} 00:00:00'">
137
+ </datepicker>
138
+ </div>
139
+ <div class="col-sm-2 form-group" >
140
+ <label class="font_normal_body" title="安装日期小于">安装日期</label>
141
+ <datepicker placeholder="安装日期小于" style="width:60%"
142
+ v-model="model.f_input_end_date"
143
+ :value.sync="model.f_input_end_date"
144
+ :format="'yyyy-MM-dd'"
145
+ :show-reset-button="true"
146
+ condition="f_input_date <= '{} 23:59:59'">
147
+ </datepicker>
148
+ </div>
149
+ <div class="col-sm-2 form-group" >
150
+ <label class="font_normal_body" >到期日期</label>
151
+ <datepicker placeholder="到期日期大于" style="width:60%"
152
+ v-model="model.f_expire_start_date"
153
+ :value.sync="model.f_expire_start_date"
154
+ :format="'yyyy-MM-dd'"
155
+ :show-reset-button="true"
156
+ condition="f_expire_date >= '{} 00:00:00'">
157
+ </datepicker>
158
+ </div>
159
+ <div class="col-sm-2 form-group" >
160
+ <label class="font_normal_body">到期日期</label>
161
+ <datepicker placeholder="到期日期小于" style="width:60%"
162
+ v-model="model.f_expire_end_date"
163
+ :value.sync="model.f_expire_end_date"
164
+ :format="'yyyy-MM-dd'"
165
+ :show-reset-button="true"
166
+ condition="f_expire_date <= '{} 23:59:59'">
167
+ </datepicker>
168
+ </div>
169
+ <div class="col-sm-2 form-group" >
170
+ <label class="font_normal_body" title="生产日期大于" >生产日期</label>
171
+ <datepicker placeholder="生产日期大于" style="width:60%"
172
+ v-model="model.f_make_start_date"
173
+ :value.sync="model.f_make_start_date"
174
+ :format="'yyyy-MM-dd'"
175
+ :show-reset-button="true"
176
+ condition="f_make_date >= '{} 00:00:00'">
177
+ </datepicker>
178
+ </div>
179
+ <div class="col-sm-2 form-group" >
180
+ <label class="font_normal_body" title="生产日期小于">生产日期</label>
181
+ <datepicker placeholder="生产日期小于" style="width:60%"
182
+ v-model="model.f_make_end_date"
183
+ :value.sync="model.f_make_end_date"
184
+ :format="'yyyy-MM-dd'"
185
+ :show-reset-button="true"
186
+ condition="f_make_date <= '{} 23:59:59'">
187
+ </datepicker>
188
+ </div>
189
+ <div class="col-sm-2 form-group" >
190
+ <label for="startDate" class="font_normal_body" title="操作开始日期">开始日期</label>
191
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
192
+ v-model="model.startDate"
193
+ :value.sync="model.startDate"
194
+ :format="'yyyy-MM-dd'"
195
+ :show-reset-button="true"
196
+ condition="f_operate_date >= '{} 00:00:00'">
197
+ </datepicker>
198
+ </div>
199
+ <div class="col-sm-2 form-group" >
200
+ <label for="endDate" class="font_normal_body" title="操作结束日期">结束日期</label>
201
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
202
+ v-model="model.endDate"
203
+ :value.sync="model.endDate"
204
+ :format="'yyyy-MM-dd'"
205
+ :show-reset-button="true"
206
+ condition="f_operate_date <= '{} 23:59:59'">
207
+ </datepicker>
208
+ </div>
209
+ <div class="col-sm-2 form-group" >
210
+ <label class="font_normal_body">使用年限</label>
211
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_service_life"
212
+ condition="f_service_life = '{}'" placeholder='使用年限'>
213
+ </div>
214
+ <div class="col-sm-2 form-group" >
215
+ <label class="font_normal_body">备注信息</label>
216
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_comments"
217
+ condition="f_comments like '%{}%'" placeholder='备注'>
218
+ </div>
219
+ <div class="col-sm-2 form-group">
220
+ <label class="font_normal_body" >抄表员&emsp;</label>
221
+ <v-select :value.sync="model.f_inputtor"
222
+ v-model="model.f_inputtor"
223
+ :options='$parent.$parent.inputtores' placeholder='请选择'
224
+ condition="f_inputtor = '{}'"
225
+ close-on-select :search="false">
226
+ </v-select>
227
+ </div>
228
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"></res-select-group>
229
+ <div class="col-sm-2 form-group">
230
+ <label class="font_normal_body" >是否到期</label>
231
+ <v-select :value.sync="model.f_isexpire"
232
+ v-model="model.f_isexpire"
233
+ :options='$parent.$parent.isexpire' placeholder='请选择'
234
+ condition="f_isexpire = '{}'"
235
+ close-on-select :search="false">
236
+ </v-select>
237
+ </div>
238
+ <div class="col-sm-2 form-group">
239
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
240
+ <v-select :value.sync="model1.f_residential_area"
241
+ class="select_list select"
242
+ enter-push
243
+ multiple = "true"
244
+ v-model="model1.f_residential_area"
245
+ style="width: 60%"
246
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
247
+ close-on-select>
248
+
249
+ </v-select>
250
+ </div>
251
+ </div>
252
+ </div>
253
+ </criteria>
254
+
255
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
256
+ <template partial='head'>
257
+ <tr>
258
+ <th>
259
+ <!--<nobr>客户编号</nobr>-->
260
+ <data-order field="f_userinfo_code" name="客户编号" :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
261
+ </th>
262
+ <th><nobr>客户名称</nobr></th>
263
+ <th><nobr>档案编号</nobr></th>
264
+ <th><nobr>客户电话</nobr></th>
265
+ <th>
266
+ <!--<nobr>客户地址</nobr>-->
267
+ <data-order field="f_address" name="客户地址" :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
268
+ </th>
269
+ <th><nobr>客户状态</nobr></th>
270
+ <th><nobr>所属表具(表号)</nobr></th>
271
+ <th><nobr>购买方式</nobr></th>
272
+ <th><nobr>设备类型</nobr></th>
273
+ <th><nobr>设备编号</nobr></th>
274
+ <th><nobr>设备品牌</nobr></th>
275
+ <th><nobr>设备型号</nobr></th>
276
+ <th><nobr>设备数量</nobr></th>
277
+ <th><nobr>设备状态</nobr></th>
278
+ <th><nobr>管道类型</nobr></th>
279
+ <th>
280
+ <!--<nobr>生产日期</nobr>-->
281
+ <data-order field="f_make_date" name="生产日期" :order.sync="$parent.$parent.$parent.orderFields.f_make_date"></data-order>
282
+ </th>
283
+ <th><nobr>使用年限</nobr></th>
284
+ <th><nobr>安装人</nobr></th>
285
+ <th>
286
+ <!--<nobr>安装日期</nobr>-->
287
+ <data-order field="f_input_date" name="安装日期" :order.sync="$parent.$parent.$parent.orderFields.f_input_date"></data-order>
288
+ </th>
289
+ <th>
290
+ <!--<nobr>到期日期</nobr>-->
291
+ <data-order field="f_expire_date" name="到期日期" :order.sync="$parent.$parent.$parent.orderFields.f_expire_date"></data-order>
292
+ </th>
293
+ <th><nobr>是否到期</nobr></th>
294
+ <th><nobr>操作人</nobr></th>
295
+ <th>
296
+ <!--<nobr>操作时间</nobr>-->
297
+ <data-order field="f_operate_date" name="操作时间" :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
298
+ </th>
299
+ <th><nobr>备注</nobr></th>
300
+ <th><nobr>小区</nobr></th>
301
+ </tr>
302
+ </template>
303
+ <template partial='body'>
304
+ <td style="text-align: center;"><nobr>
305
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
306
+ </nobr> </td>
307
+ <td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
308
+ <td style="text-align: center;"><nobr>{{row.f_olduserinfo_code}}</nobr></td>
309
+ <td style="text-align: center;"><nobr>{{row.f_user_phone}}</nobr></td>
310
+ <td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
311
+ <td style="text-align: center;"><nobr>{{row.f_user_state}}</nobr></td>
312
+ <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
313
+ <td style="text-align: center;"><nobr>{{row.watchpurchase}}</nobr></td>
314
+ <td style="text-align: center;"><nobr>{{row.f_devices_type}}</nobr></td>
315
+ <td style="text-align: center;"><nobr>{{row.f_devices_no}}</nobr></td>
316
+ <td style="text-align: center;"><nobr>{{row.f_brand}}</nobr></td>
317
+ <td style="text-align: center;"><nobr>{{row.f_devices_model}}</nobr></td>
318
+ <td style="text-align: center;"><nobr>{{row.f_devices_num}}</nobr></td>
319
+ <td style="text-align: center;"><nobr>{{row.f_userinfodevices_state}}</nobr></td>
320
+ <td style="text-align: center;"><nobr>{{row.f_pipe_type}}</nobr></td>
321
+ <td style="text-align: center;"><nobr>{{row.f_make_date}}</nobr></td>
322
+ <td style="text-align: center;"><nobr>{{row.f_service_life}}</nobr></td>
323
+ <td style="text-align: center;"><nobr>{{row.f_input_person}}</nobr></td>
324
+ <td style="text-align: center;"><nobr>{{row.f_input_date}}</nobr></td>
325
+ <td style="text-align: center;"><nobr>{{row.f_expire_date}}</nobr></td>
326
+ <td style="text-align: center;"><nobr>{{row.f_isexpire}}</nobr></td>
327
+ <td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
328
+ <td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
329
+ <td style="text-align: center;"><nobr>{{row.f_comments}}</nobr></td>
330
+ <td style="text-align: center;"><nobr>{{row.f_residential_area}}</nobr></td>
331
+ </template>
332
+ <template partial='foot'>
333
+
334
+ </template>
335
+ </data-grid>
336
+ </criteria-paged>
337
+
338
+ <table class="table-hover">
339
+ <tr style="position: relative" class="table-bordered">
340
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">汇总信息</td>
341
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">暂无合计字段</td>
342
+ </tr>
343
+ </table>
344
+
345
+ <modal :show.sync="printshow" v-ref:modal backdrop="false">
346
+ <header slot="modal-header" class="modal-header text-center">
347
+ <h4 class="modal-title">打印列选择</h4>
348
+ <input type="checkbox" class="" id="f_generations" v-model="all">
349
+ <label for="f_generations" class="font-size">全选</label>
350
+ </header>
351
+ <article slot="modal-body">
352
+ <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
353
+ <div class="col-sm-3" v-for="f in fields">
354
+ <input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
355
+ <label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>
356
+ </div>
357
+ </div>
358
+ </article>
359
+ <footer slot="modal-footer" class="modal-footer">
360
+ <center>
361
+ <button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
362
+ <button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
363
+ <print-table :model='model' v-show="false" v-ref:print
364
+ :top='40' :left='60' :right='40' :bottom='60'
365
+ :thead="thead" :tfoot='tfoot' :attach="yangsen"
366
+ :fields="modelval" :printpage="true">
367
+ </print-table>
368
+ </center>
369
+ </footer>
370
+ </modal>
371
+ </div>
372
+ <div class="flex" v-if="show">
373
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
374
+ </div>
375
+ </div></div></div>
376
+ </template>
377
+
378
+ <script>
379
+ import { PagedList } from 'vue-client'
380
+ import defaultPrint from './config/DefaultPrint'
381
+ import exportConfig from './config/exportConfig'
382
+
383
+ let readySomething = async function (self) {
384
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
385
+ self.$MagGetSaleParam.initinputtor();
386
+ self.getinputtores();
387
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
388
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
389
+ // await self.$refs.paged.$refs.cri.search()
390
+ }
391
+ export default {
392
+ title: '表具设备查询',
393
+ data() {
394
+ return {
395
+ other:[],
396
+ footer:[],
397
+ model: new PagedList('api/af-revenue/sql/deviceQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_userinfo_code desc'`}),
398
+ model1: new PagedList('api/af-revenue/sql/filesQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_userinfo_code desc'`}, {f_balance: 0}),
399
+ criteriaShow: false,
400
+ orgCondtionStr: '',
401
+ modelval: [],
402
+ printshow: false,
403
+ all: false,
404
+ fields: {},
405
+ //排序
406
+ orderitem:'f_userinfo_code desc',
407
+ orderFields: {
408
+ f_userinfo_id: 'no'
409
+ },
410
+ thead: '',
411
+ tfoot: '',
412
+ defaultfield: [],
413
+ config: {
414
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone']
415
+ },
416
+ show:false,
417
+ rowdata:{},
418
+ // 下拉框参数
419
+ inputtores:[],
420
+ usertypes:this.$appdata.getParam('用户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')] : [],
421
+ userstates:this.$appdata.getParam('用户状态') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')] : [],
422
+ deviceTypes: this.$appdata.getParam('设备类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('设备类型')] : [],
423
+ // brand: this.$appdata.getParam('设备品牌') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('设备品牌')] : [],
424
+ watchpurchases: this.$appdata.getParam('购买方式') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('购买方式')] : [],
425
+ pipetype: this.$appdata.getParam('管道类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('管道类型')] : [],
426
+ isexpire: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}, ],
427
+ initres: {
428
+ org:[this.$login.f.orgid],
429
+ dep:[],
430
+ user:[],
431
+ },
432
+ // 合计数据
433
+ sumsmodel: {}
434
+ }
435
+ },
436
+ ready(){
437
+ readySomething(this).then(() => {
438
+ this.$emit('ready')
439
+ }).catch((error) => {
440
+ this.$emit('error', error)
441
+ })
442
+ },
443
+ methods: {
444
+ async getinputtores () {
445
+ // 获取抄表员
446
+ let rs = []
447
+ if (this.$login.f.f_gasman.length > 0) {
448
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
449
+ let temp = {
450
+ label: this.$login.f.f_gasman[i].name,
451
+ value: this.$login.f.f_gasman[i].name
452
+ }
453
+ rs.push(temp)
454
+ }
455
+ }
456
+ this.inputtores = [{label: '全部', value: ''}, ...rs]
457
+ },
458
+ getotherfooter () {
459
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
460
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
461
+ this.other = [];
462
+ this.footer = [];
463
+ let exportdata = this.getCondition;
464
+ let otherInData = [];
465
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
466
+ // let footerData = [], exportfield = this.getExportField;
467
+ // footerData.push("合计");
468
+ // let self = this;
469
+ // for (var field in self.sumsmodel) {
470
+ // footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
471
+ // }
472
+ // this.footer.push(footerData);
473
+ this.other.push(otherInData);
474
+ },
475
+ search(){
476
+ this.$refs.paged.$refs.cri.search()
477
+ },
478
+ cancel() {
479
+ this.show = false
480
+ },
481
+ showmsg(obj){
482
+ this.rowdata=obj
483
+ this.show=true
484
+ },
485
+ selfSearch (args) {
486
+ if (!this.orgCondtionStr) {
487
+ args.condition = `${args.condition}` + " and f_orgid = " + this.$login.f.orgid
488
+ } else {
489
+ args.condition = `${args.condition}` + this.orgCondtionStr
490
+ }
491
+
492
+ this.model.search(args.condition, args.model)
493
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
494
+ console.log('合计字段',this.sumsmodel)
495
+ },
496
+ clear(){
497
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
498
+ this.$refs.paged.$refs.cri.model[key] = []
499
+ })
500
+ },
501
+ hidden(){
502
+ this.criteriaShow = !this.criteriaShow
503
+ },
504
+ getRes(obj) {
505
+ this.orgCondtionStr = obj
506
+ },
507
+ stamp () {
508
+ this.all = false
509
+ //默认选择要打印的列
510
+ this.modelval = defaultPrint.config
511
+ this.fields = this.getfield
512
+ console.log('所有打印字段',this.fields)
513
+ this.printshow = true
514
+ this.put()
515
+ },
516
+ put () {
517
+ // 对Modelval进行排序
518
+ this.sortModelval()
519
+ this.thead = `<tr><th colspan=${this.modelval.length}>设备查询统计报表</th></tr><tr>`
520
+ for (let key of this.modelval) {
521
+ this.thead += '<th>' + this.fields[key] + '</th>'
522
+ }
523
+ this.thead += '</tr>'
524
+ },
525
+ print () {
526
+ this.$refs.print.PrintAsFile()
527
+ this.printshow = false
528
+ },
529
+ close () {
530
+ this.printshow = false
531
+ this.all = false
532
+ },
533
+ // 对选择的列进行排序
534
+ sortModelval () {
535
+ let sortModel = []
536
+ Object.keys(this.fields).forEach((key) => {
537
+ if (this.modelval.includes(key)) {
538
+ sortModel.push(key)
539
+ }
540
+ })
541
+ this.modelval = sortModel
542
+ console.log('选择的打印的字段', this.modelval)
543
+ },
544
+ sort (field, rule) {
545
+ // 将所有排序方式设为不排序,实现相互排斥
546
+ for (let key in this.orderFields) {
547
+ if (key === field) {
548
+ this.orderFields[key] = rule
549
+ } else {
550
+ this.orderFields[key] = 'no'
551
+ }
552
+ }
553
+ // 如果新规则不排序,还原为默认排序
554
+ if (rule === 'no') {
555
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
556
+ } else {
557
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
558
+ }
559
+
560
+ this.search()
561
+ }
562
+ },
563
+ watch:{
564
+ 'all' (val) {
565
+ if (val) {
566
+ this.modelval = this.bodyData
567
+ } else {
568
+ this.modelval = defaultPrint.config
569
+ this.put()
570
+ }
571
+ },
572
+ sumsmodel:{
573
+ handler: function(val) {
574
+ this.getotherfooter();
575
+ },
576
+ deep: true
577
+ },
578
+ 'modelval.length' () {
579
+ this.put()
580
+ },
581
+ },
582
+ computed:{
583
+ authArr () {
584
+ return this.$login.r ? this.$login.r : []
585
+ },
586
+ getCondition(){
587
+ return {condition: `${this.$refs.paged.$refs.cri.condition}`+this.orgCondtionStr,orderitem:this.orderitem}
588
+ },
589
+ getfield(){
590
+ let data = {}
591
+ this.bodyData.forEach((value, index)=>{
592
+ data[this.bodyData[index]] = this.headData[index]
593
+ })
594
+ //合计字段打印
595
+ this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
596
+ if(this.sumsmodel){
597
+ Object.keys(this.sumsmodel).forEach((key) => {
598
+ this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
599
+ })
600
+ }else{
601
+ this.tfoot += '暂无'
602
+ }
603
+ this.tfoot += '</th></tr>'
604
+ return data
605
+ },
606
+ getExportField() {
607
+ return exportConfig.deviceConfig
608
+ }
609
+ }
610
+ }
611
+ </script>