manage-client 3.3.234 → 3.3.236

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 (206) 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 +382 -292
  8. package/src/components/SellReport/ChManageBusSummary.vue +273 -273
  9. package/src/components/SellReport/GasMoneyPublicConReport.vue +231 -231
  10. package/src/components/SellReport/ManageGasGroupSummary.vue +208 -208
  11. package/src/components/SellReport/ManageSellType.vue +267 -267
  12. package/src/components/SellReport/ReportItems.vue +312 -312
  13. package/src/components/SellReport/yangchun/YcBusSummaryes.vue +229 -229
  14. package/src/components/handReport/WebGastypeMonthReport.vue +190 -190
  15. package/src/components/sale/businessquery/AreaChargeQuery.vue +384 -384
  16. package/src/components/sale/businessquery/AreaGeneralQuery.vue +637 -637
  17. package/src/components/sale/businessquery/ArrearsQuery.vue +983 -983
  18. package/src/components/sale/businessquery/BalanceTable.vue +482 -482
  19. package/src/components/sale/businessquery/BusinessManage.vue +212 -212
  20. package/src/components/sale/businessquery/CancellationQuery.vue +428 -428
  21. package/src/components/sale/businessquery/CardHandplanQuery.vue +546 -546
  22. package/src/components/sale/businessquery/ChangeMeterQuery.vue +699 -699
  23. package/src/components/sale/businessquery/ChargeQuery.vue +1435 -1435
  24. package/src/components/sale/businessquery/CollectManage.vue +161 -161
  25. package/src/components/sale/businessquery/CommunityPaymen.vue +307 -307
  26. package/src/components/sale/businessquery/DisableQuery.vue +523 -523
  27. package/src/components/sale/businessquery/EnableQuery.vue +462 -462
  28. package/src/components/sale/businessquery/FMYGasQuery.vue +872 -872
  29. package/src/components/sale/businessquery/FillCardQuery.vue +573 -573
  30. package/src/components/sale/businessquery/FillGasQuery.vue +593 -593
  31. package/src/components/sale/businessquery/GroupChargeQuery.vue +492 -492
  32. package/src/components/sale/businessquery/HandBookQuery.vue +692 -692
  33. package/src/components/sale/businessquery/HandBookTwoQuery.vue +704 -704
  34. package/src/components/sale/businessquery/HandGasPropertiesQuery.vue +671 -671
  35. package/src/components/sale/businessquery/HandPeopleQuery.vue +719 -719
  36. package/src/components/sale/businessquery/HandRateQuery.vue +524 -524
  37. package/src/components/sale/businessquery/Handgasquery.vue +477 -477
  38. package/src/components/sale/businessquery/HandplanQuery.vue +1376 -1376
  39. package/src/components/sale/businessquery/MonthGasQuery.vue +482 -482
  40. package/src/components/sale/businessquery/NoBusinessQuery.vue +778 -778
  41. package/src/components/sale/businessquery/PlotSummaryQuery.vue +499 -499
  42. package/src/components/sale/businessquery/ProceedsOper.vue +415 -415
  43. package/src/components/sale/businessquery/ResidentialCardQuery.vue +377 -377
  44. package/src/components/sale/businessquery/ResidentialQuery.vue +415 -415
  45. package/src/components/sale/businessquery/SellOrgnameQuery.vue +680 -680
  46. package/src/components/sale/businessquery/SellPeopleQuery.vue +752 -752
  47. package/src/components/sale/businessquery/SellingHand.vue +421 -421
  48. package/src/components/sale/businessquery/TransferQuery.vue +502 -502
  49. package/src/components/sale/businessquery/UnhandBusiness.vue +328 -328
  50. package/src/components/sale/businessquery/UserSellHeadDetail.vue +579 -579
  51. package/src/components/sale/businessquery/WebHandplanQuery.vue +987 -987
  52. package/src/components/sale/businessquery/WebMeterMonthUserGasQuery.vue +471 -471
  53. package/src/components/sale/businessquery/YingShouMingXi.vue +524 -524
  54. package/src/components/sale/businessquery/YonghuJieyu.vue +358 -358
  55. package/src/components/sale/businessquery/chargeRecordMaintenanceQuery.vue +353 -353
  56. package/src/components/sale/businessquery/usergas.vue +315 -315
  57. package/src/components/sale/config/exportConfig.js +2763 -2763
  58. package/src/components/sale/config/tableConfig.js +59 -59
  59. package/src/components/sale/filesquery/FireQuery.vue +539 -539
  60. package/src/components/sale/filesquery/RecordInfoQuery.vue +1448 -1448
  61. package/src/components/sale/filesquery/UserQuery.vue +1002 -1002
  62. package/src/components/webmeter/DrillData/GetNoMetereadData.vue +423 -423
  63. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +739 -739
  64. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +691 -691
  65. package/src/components/webmeter/WebmeterQuery.vue +77 -77
  66. package/src/components/webmeter/gasAnalysis/WebmeterSettlementAnalysis.vue +456 -456
  67. package/src/components/webmeter/gasStatistics/GasStatistics.vue +526 -526
  68. package/src/components/webmeter/gasStatistics/NewGasStatistics.vue +542 -542
  69. package/src/components/webmeter/instruction/NewQueryInstruct.vue +606 -606
  70. package/src/components/webmeter/newwebmeter/NewException/MeterExceptionList.vue +557 -557
  71. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +1 -1
  72. package/src/components/webmeter/newwebmeter/WebhandMonthGas.vue +819 -819
  73. package/src/components/webmeter/recharge/RechargeList.vue +371 -371
  74. package/src/components/webmeter/report/ReportList.vue +453 -453
  75. package/src/components/webmeter/reportdata/ReportDataQuery.vue +339 -339
  76. package/src/filiale/WEINAN/InspectListGas.vue +616 -616
  77. package/src/filiale/WEINAN/ManageCompanyGasSummary.vue +555 -555
  78. package/src/filiale/WEINAN/ManageSummaryReport.vue +712 -712
  79. package/src/filiale/WEINAN/RecordInfoQuery.vue +1328 -1328
  80. package/src/filiale/WEINAN/businessquery/WallHangingFurnaceUserQuery.vue +418 -418
  81. package/src/filiale/ancheng/businessquery/FMYGasQuery.vue +853 -853
  82. package/src/filiale/ancheng/exportConfig.js +1112 -1112
  83. package/src/filiale/bayan/ChargeQuery.vue +1436 -1436
  84. package/src/filiale/bayan/PrintTableManage.vue +242 -242
  85. package/src/filiale/bayan/config/DefaultPrint.js +6 -6
  86. package/src/filiale/bayan/config/exportConfig.js +2642 -2642
  87. package/src/filiale/bayan/config/tableConfig.js +59 -59
  88. package/src/filiale/bayan/sale.js +8 -8
  89. package/src/filiale/bayan/webmeter/GetNoMetereadData.vue +425 -425
  90. package/src/filiale/bayan/webmeter/LostContactAnalysisList.vue +719 -719
  91. package/src/filiale/bayan/webmeter/MeterExceptionList.vue +591 -591
  92. package/src/filiale/bayan/webmeter/NewGasStatistics.vue +665 -665
  93. package/src/filiale/bayan/webmeter/NewQueryInstruct.vue +650 -650
  94. package/src/filiale/bayan/webmeter/NewWebmeterSettlementAnalysis.vue +464 -464
  95. package/src/filiale/bayan/webmeter/RechargeList.vue +430 -430
  96. package/src/filiale/bayan/webmeter/ReportDataQuery.vue +343 -343
  97. package/src/filiale/bayan/webmeter/ReportList.vue +555 -555
  98. package/src/filiale/bayan/webmeter/UserLostContactAnalysis.vue +674 -674
  99. package/src/filiale/bayan/webmeterManage.js +26 -26
  100. package/src/filiale/dingcheng/DefaultPrint.js +6 -6
  101. package/src/filiale/dingcheng/businessquery/ChangeMeterQuery.vue +798 -798
  102. package/src/filiale/dingcheng/exportConfig.js +2765 -2765
  103. package/src/filiale/dingcheng/sale.js +9 -9
  104. package/src/filiale/fugou/RecordInfoQuery.vue +1451 -0
  105. package/src/filiale/fugou/config/DefaultPrint.js +6 -0
  106. package/src/filiale/fugou/config/exportConfig.js +2761 -0
  107. package/src/filiale/fugou/config/tableConfig.js +59 -0
  108. package/src/filiale/fugou/sale.js +6 -0
  109. package/src/filiale/hantou/ChangeMeterQuery.vue +699 -699
  110. package/src/filiale/hantou/config/DefaultPrint.js +6 -6
  111. package/src/filiale/hantou/config/exportConfig.js +2667 -2667
  112. package/src/filiale/hantou/config/tableConfig.js +54 -54
  113. package/src/filiale/hantou/sale.js +8 -8
  114. package/src/filiale/jingwei/RecordInfoQuery.vue +1210 -1210
  115. package/src/filiale/jingwei/config/exportConfig.js +1106 -1106
  116. package/src/filiale/jingyang/ChargeQuery.vue +1464 -1464
  117. package/src/filiale/jingyang/RechargeList.vue +346 -346
  118. package/src/filiale/jingyang/config/DefaultPrint.js +6 -6
  119. package/src/filiale/jingyang/config/exportConfig.js +2776 -2776
  120. package/src/filiale/jingyang/config/tableConfig.js +58 -58
  121. package/src/filiale/jingyang/sale.js +8 -8
  122. package/src/filiale/kelai/AreaChargeQuery.vue +398 -398
  123. package/src/filiale/kelai/ChargeQuery.vue +1348 -1348
  124. package/src/filiale/kelai/GasStatistics.vue +561 -561
  125. package/src/filiale/kelai/NewAccountQuery.vue +417 -417
  126. package/src/filiale/kelai/NewGasStatistics.vue +556 -556
  127. package/src/filiale/kelai/feimin_style_kl.vue +400 -400
  128. package/src/filiale/kelai/reportManage.js +13 -13
  129. package/src/filiale/kelai/sale.js +17 -17
  130. package/src/filiale/liaoyuan/HandplanQuery.vue +1289 -1289
  131. package/src/filiale/lixianV3/RecordInfoQuery.vue +1474 -1474
  132. package/src/filiale/macheng/ArrearsQuery.vue +831 -831
  133. package/src/filiale/macheng/RecordInfoQuery.vue +1023 -1023
  134. package/src/filiale/macheng/config/exportConfig.js +79 -79
  135. package/src/filiale/meihekou/AreaGeneralQuery.vue +206 -206
  136. package/src/filiale/meihekou/CardHandplanQuery.vue +664 -664
  137. package/src/filiale/meihekou/ChargeQuery.vue +1274 -1274
  138. package/src/filiale/meihekou/CollectManage.vue +152 -152
  139. package/src/filiale/meihekou/HandplanQuery.vue +1248 -1248
  140. package/src/filiale/meihekou/OtherChargeQuery.vue +618 -618
  141. package/src/filiale/meihekou/UserSellHeadDetail.vue +516 -516
  142. package/src/filiale/meihekou/YingShouMingXi.vue +556 -556
  143. package/src/filiale/meihekou/config/exportConfig.js +829 -829
  144. package/src/filiale/meihekou/sale.js +39 -39
  145. package/src/filiale/ningjin/MeterExceptionList.vue +616 -616
  146. package/src/filiale/ningjin/UserLostContactAnalysis.vue +623 -623
  147. package/src/filiale/qianneng/RecordInfoQuery.vue +1369 -1369
  148. package/src/filiale/qianneng/WebmeterQuery.vue +70 -70
  149. package/src/filiale/qianneng/exportConfig.js +232 -232
  150. package/src/filiale/qingtongxia/ChargeQuery.vue +1209 -1209
  151. package/src/filiale/qingtongxia/config/exportConfig.js +712 -712
  152. package/src/filiale/rizhao/BusinessManage.vue +212 -212
  153. package/src/filiale/rizhao/sale.js +13 -13
  154. package/src/filiale/shangluo/HandplanQuery.vue +1376 -1376
  155. package/src/filiale/shangluo/sale.js +17 -17
  156. package/src/filiale/shangluo/webmeter/PriceInstructList.vue +303 -303
  157. package/src/filiale/shangluo/webmeter/UserInstructList.vue +304 -304
  158. package/src/filiale/shangluo/webmeter/WebmeterSettlementAnalysis.vue +432 -432
  159. package/src/filiale/shanxian/EchartsBox.vue +134 -134
  160. package/src/filiale/shaoguan/errorHandplanQuery.vue +386 -386
  161. package/src/filiale/shexian/ChangeMeterQuery.vue +797 -797
  162. package/src/filiale/taizhoukesi/ChangeMeterQuery.vue +683 -683
  163. package/src/filiale/taizhoukesi/NewGasStatistics.vue +539 -539
  164. package/src/filiale/taizhoukesi/config/exportConfig.js +2712 -2712
  165. package/src/filiale/taizhoukesi/sale.js +11 -11
  166. package/src/filiale/tongchuan/GasInspection.vue +716 -716
  167. package/src/filiale/tongchuan/InspectListGas.vue +700 -700
  168. package/src/filiale/tongchuan/MeterQuery.vue +1002 -1002
  169. package/src/filiale/tongchuan/ResSelectGroupNew.vue +188 -188
  170. package/src/filiale/tongchuan/config/exportConfig.js +858 -858
  171. package/src/filiale/wenxi/ChangeMeterQuery.vue +721 -721
  172. package/src/filiale/wenxi/ManageUserTypeSell.vue +173 -173
  173. package/src/filiale/wenxi/config/exportConfig.js +995 -995
  174. package/src/filiale/xinjiangdexin/ChargeQuery.vue +1435 -1435
  175. package/src/filiale/xinjiangdexin/config/exportConfig.js +2770 -2770
  176. package/src/filiale/xinjiangdexin/sale.js +7 -7
  177. package/src/filiale/yangchun/ChangeMeterQuery.vue +722 -722
  178. package/src/filiale/yangchun/ManageBusSummaryNew.vue +239 -239
  179. package/src/filiale/yangchun/OtherChargeDetailQuery.vue +74 -74
  180. package/src/filiale/yangchun/OtherChargeQuery.vue +755 -755
  181. package/src/filiale/yangchun/RecordInfoQuery.vue +1494 -1494
  182. package/src/filiale/yangchun/UserQuery.vue +980 -980
  183. package/src/filiale/yangchun/config/DefaultPrint.js +6 -6
  184. package/src/filiale/yangchun/config/exportConfig.js +1229 -1229
  185. package/src/filiale/yangchun/config/tableConfig.js +58 -58
  186. package/src/filiale/yangchun/reportManage.js +6 -6
  187. package/src/filiale/yangchun/sale.js +20 -20
  188. package/src/filiale/yangchun/webmeterManage.js +5 -5
  189. package/src/filiale/yuncheng/ChangeMeterQuery.vue +743 -743
  190. package/src/filiale/yuncheng/DeviceQuery.vue +611 -611
  191. package/src/filiale/yuncheng/GasInspection.vue +610 -610
  192. package/src/filiale/yuncheng/LostContactAnalysisList.vue +700 -700
  193. package/src/filiale/yuncheng/MeterQuery.vue +1017 -1017
  194. package/src/filiale/yuncheng/config/exportConfig.js +2681 -2681
  195. package/src/filiale/yuncheng/sale.js +23 -23
  196. package/src/filiale/zhongyi/ChargeQuery.vue +1454 -1454
  197. package/src/filiale/zhongyi/GasStatistics.vue +537 -537
  198. package/src/filiale/zhongyi/NewGasStatistics.vue +558 -558
  199. package/src/filiale/zhongyi/exportConfig.js +2556 -2556
  200. package/src/filiale/zhongyi/sale.js +33 -33
  201. package/src/filiale/zhongyi/webmeterManage.js +15 -15
  202. package/src/main.js +68 -68
  203. package/src/plugins/LodopFuncs.js +159 -159
  204. package/src/reportManage.js +777 -777
  205. package/src/saleManage.js +689 -689
  206. package/src/webmeterManage.js +130 -130
@@ -1,292 +1,382 @@
1
- <template>
2
- <div class="basic-main" style="height: 100%">
3
- <criteria-paged :model="model" :pager='false' v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
6
- <div class="row">
7
- <div class="col-sm-3" >
8
- <label class="font_normal_body" for="startDate">月开始日期:</label>
9
- <datepicker id="startDate" placeholder="月开始日期" style="width: 60%"
10
- v-model="model.startDate"
11
- :value.sync="model.startDate"
12
- :disabled-days-of-Week="[]"
13
- :format="'yyyy-MM-dd 00:00:00'"
14
- :show-reset-button="reset">
15
- </datepicker>
16
- </div>
17
- <div class="col-sm-3" >
18
- <label class="font_normal_body" for="endDate">月结束日期:</label>
19
- <datepicker id="endDate" placeholder="月结束日期" style="width: 60%"
20
- v-model="model.endDate"
21
- :value.sync="model.endDate"
22
- :disabled-days-of-Week="[]"
23
- :format="'yyyy-MM-dd 23:59:59'"
24
- :show-reset-button="reset">
25
- </datepicker>
26
- </div>
27
- <div class="col-sm-3" >
28
- <label class="font_normal_body" for="yearStartDate">年开始日期:</label>
29
- <datepicker id="yearStartDate" placeholder="年开始日期" style="width: 60%"
30
- v-model="model.yearStartDate"
31
- :value.sync="model.yearStartDate"
32
- :disabled-days-of-Week="[]"
33
- :format="'yyyy-MM-dd 00:00:00'"
34
- :show-reset-button="reset">
35
- </datepicker>
36
- </div>
37
- <div class="col-sm-3" >
38
- <label class="font_normal_body" for="yearEndDate">年结束日期:</label>
39
- <datepicker id="yearEndDate" placeholder="年结束日期" style="width: 60%"
40
- v-model="model.yearEndDate"
41
- :value.sync="model.yearEndDate"
42
- :disabled-days-of-Week="[]"
43
- :format="'yyyy-MM-dd 23:59:59'"
44
- :show-reset-button="reset">
45
- </datepicker>
46
- </div>
47
- <div class="col-sm-3 form-group" >
48
- <label class="font_normal_body" for="org">公&emsp;&emsp;司:</label>
49
- <manage-right-tree id="org" @re-res="$parent.$parent.getRes" style="width: 60%" v-ref:org></manage-right-tree>
50
- </div>
51
- <div class="col-sm-3 form-group">
52
- <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
53
- <v-select id="dep" style="width: 60%"
54
- :multiple="false"
55
- @change="$parent.$parent.getDep"
56
- :value.sync="model.f_depid"
57
- v-model="model.f_depid"
58
- :options='$parent.$parent.depresid' placeholder='请选择'
59
- condition="f_depid in {}">
60
- </v-select>
61
-
62
- </div>
63
- <div class="col-sm-3 form-group">
64
- <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
65
- <v-select id="oper" style="width: 60%"
66
- :multiple="false"
67
- @change="$parent.$parent.getOpe"
68
- :value.sync="model.f_operatorid"
69
- v-model="model.f_operatorid"
70
- :options='$parent.$parent.userresid' placeholder='请选择'
71
- condition="f_operatorid in {}">
72
- </v-select>
73
- </div>
74
- <div class="col-sm-3 form-group">
75
- <label class="font_normal_body" for="oper1">格式一</label>
76
- <input type="radio" name="reportStyle" id="oper1" v-model="$parent.$parent.reportStyle" value="1">
77
- <label class="font_normal_body" for="oper2">格式二</label>
78
- <input type="radio" name="reportStyle" id="oper2" v-model="$parent.$parent.reportStyle" value="2">
79
- </div>
80
- </div>
81
- <div class="span" style = "float:right;">
82
- <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
83
- <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
84
- <report-excel id='gasprice'></report-excel>
85
- </div>
86
- </div>
87
- </criteria>
88
- <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
89
- <table class='tableprint' style="margin: 0px auto">
90
- <thead>
91
- <tr>
92
- <th :colspan='$parent.tablen' style="font-weight: normal; text-align: left;">
93
- <h3 style="text-align: center">营业分类统计</h3>
94
- </th>
95
- </tr>
96
- <tr>
97
- <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
98
- 时间区间:{{$refs.criteria.model.startDate}} - {{ $refs.criteria.model.endDate }}<br/>
99
- 打印时间:{{$parent.printTime}}
100
- </th>
101
- </tr>
102
- <tr>
103
- <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
104
- <div>
105
- <span v-show="$parent.orgname[0]">公司:{{$parent.orgname}}</span>
106
- <span v-show="$parent.depname[0]"> 部门:{{$parent.depname}}</span>
107
- <span v-show="$parent.operatorname[0]">人员:{{$parent.operatorname}}</span>
108
- </div>
109
- </th>
110
- </tr>
111
- </thead>
112
- <tr>
113
- <td :colspan='$parent.tablen' class="noborder">
114
- {{{ model.data.substring(26,model.data.length-8) }}}
115
- </td>
116
- </tr>
117
- <tfoot>
118
- <tr style="text-align: left">
119
- <th :colspan='Math.floor($parent.tablen/3)'>财务审核:</th>
120
- <th :colspan='Math.round($parent.tablen/3)'>收款审核:</th>
121
- <th :colspan='Math.round($parent.tablen/3)'>收款员:</th>
122
- </tr>
123
- </tfoot>
124
- </table>
125
- </div>
126
- </criteria-paged>
127
- </div>
128
- </template>
129
-
130
- <script>
131
- import {DataModel, HttpResetClass} from 'vue-client'
132
- import co from 'co'
133
- let getorg = async function (self) {
134
- new HttpResetClass().load("POST",'api/af-revenue/sql/singleTableParam',
135
- {
136
- data: {
137
- items: 'name label,id value',
138
- tablename: 't_department',
139
- condition: `1=1`
140
- }
141
- },
142
- {resolveMsg: null, rejectMsg: null})
143
- .then((res) => {
144
- self.depresid = res.data
145
- })
146
- new HttpResetClass().load("POST",'api/af-revenue/sql/singleTableParam',
147
- {
148
- data: {
149
- items: 'name label,id value',
150
- tablename: 't_user',
151
- condition: `state = '在职' and f_department_name is not null`
152
- }
153
- },
154
- {resolveMsg: null, rejectMsg: null})
155
- .then((res) => {
156
- self.userresid = res.data
157
- })
158
- }
159
- export default {
160
- title: '营业分类统计',
161
- props: ['data'],
162
- data () {
163
- return {
164
- printTime: this.$login.toStandardTimeString(),
165
- depresid: [],
166
- userresid: [],
167
- f_orgid: this.$login.f.orgid,
168
- f_depid: this.$login.f.depids,
169
- f_operatorid: this.$login.f.id,
170
- operatorid: [],
171
- depid: [],
172
- tablen:0,
173
- reportStyle: 1,
174
- orgname: '',
175
- depname: '',
176
- operatorname: '',
177
- orgCondtionStr: '1=1',
178
- model: new DataModel('api/af-revenue/report/BusinessClassify', {
179
- startDate: 'this.model.startDate',
180
- endDate: 'this.model.endDate',
181
- yearStartDate: 'this.model.yearStartDate',
182
- yearEndDate: 'this.model.yearEndDate',
183
- f_orgid: 'this.model.f_orgid'}),
184
- reportStr: null,
185
- show: false,
186
- }
187
- },
188
- ready () {
189
- getorg(this)
190
- this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
191
- this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
192
- console.log(this.$login.f)
193
- },
194
- methods: {
195
- searchData () {
196
- this.$refs.paged.$refs.criteria.search()
197
- },
198
- getDep(val){
199
- this.depname = this.depresid.filter(x => x.value ==val).map(x=>x.label).toString()
200
- console.log('dep',this.depname )
201
- },
202
- getOpe(val){
203
- this.operatorname = this.userresid.filter(x => x.value ==val).map(x=>x.label).toString()
204
- console.log('dep',this.operatorname )
205
- },
206
- distinctJson(obj){
207
- let at = []
208
- for (let i = 0; i < obj.length; i++) {
209
- let flag = false
210
- if (i == 0 ) {
211
- at.push(obj[i])
212
- } else {
213
- for (let j = 0; j < at.length; j++) {
214
- if (JSON.stringify(obj[i]) == JSON.stringify(at[j])) {
215
- flag = true
216
- }
217
- }
218
- if (!flag) {
219
- at.push(obj[i])
220
- }
221
- }
222
- }
223
- return at
224
- },
225
- selfSearch (args) {
226
- console.log('---------------->', this.reportStyle)
227
- this.printTime = this.$login.toStandardTimeString()
228
- let orgcondition = '1=1'
229
- if (this.f_orgid) {
230
- orgcondition += ` and f_orgid in (${this.f_orgid})`
231
- }
232
- orgcondition += ' and ' + args.condition
233
- this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
234
- if (this.reportStyle == '1') {
235
- let load = new HttpResetClass()
236
- load.load("POST", 'api/af-revenue/sql/UserCountNum',
237
- {data: {
238
- startDate: args.model.startDate,
239
- endDate: args.model.endDate,
240
- yearStartDate: args.model.yearStartDate,
241
- yearEndDate: args.model.yearEndDate,
242
- f_orgid: orgcondition
243
- }},
244
- {resolveMsg: null, rejectMsg: null})
245
- .then((res) => {
246
- let info = res.data
247
- let gasproperties = info.map(item => {return {f_gasproperties: item.f_gasproperties}})
248
- let district = info.map(item => {
249
- return { f_gasproperties: item.f_gasproperties, f_district: item.f_district }
250
- })
251
- let meter_type = info.map(item => {
252
- return { f_meter_type: item.f_meter_type }
253
- })
254
- this.model.url = 'api/af-revenue/report/BusinessClassify'
255
- this.$refs.paged.$refs.criteria.model.f_orgid = {
256
- left1: JSON.stringify(this.distinctJson(gasproperties)),
257
- left2: JSON.stringify(this.distinctJson(district)),
258
- left3: JSON.stringify(this.distinctJson(meter_type)),
259
- infoall: JSON.stringify(info)
260
- }
261
- this.$refs.paged.search(args)
262
- })
263
- } else {
264
- this.model.url = 'api/af-revenue/report/BusinessClassifyTwo'
265
- this.$refs.paged.search(args)
266
- }
267
- },
268
- getRes (obj) {
269
- this.orgname = obj.res[0]
270
- this.f_orgid = obj.resids
271
- }
272
- },
273
- watch: {
274
- 'model.data' (val) {
275
- if (val) {
276
- this.tablen = val.split('</tr>').map(item => item.split('</td>').length-1).reduce((x, y) => x > y ? x : y)
277
- }
278
- },
279
- 'reportStyle'(val) {
280
- this.$refs.paged.$refs.criteria.search()
281
- }
282
- },
283
- computed: {
284
-
285
- }
286
- }
287
- </script>
288
- <style scoped>
289
- .noborder{
290
- border: none;
291
- }
292
- </style>
1
+ <template>
2
+ <div class="basic-main" style="height: 100%">
3
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
6
+ <div class="row">
7
+ <div class="col-sm-3" >
8
+ <label class="font_normal_body" for="startDate">月开始日期:</label>
9
+ <datepicker id="startDate" placeholder="月开始日期" style="width: 60%"
10
+ v-model="model.startDate"
11
+ :value.sync="model.startDate"
12
+ :disabled-days-of-Week="[]"
13
+ :format="'yyyy-MM-dd 00:00:00'"
14
+ :show-reset-button="reset">
15
+ </datepicker>
16
+ </div>
17
+ <div class="col-sm-3" >
18
+ <label class="font_normal_body" for="endDate">月结束日期:</label>
19
+ <datepicker id="endDate" placeholder="月结束日期" style="width: 60%"
20
+ v-model="model.endDate"
21
+ :value.sync="model.endDate"
22
+ :disabled-days-of-Week="[]"
23
+ :format="'yyyy-MM-dd 23:59:59'"
24
+ :show-reset-button="reset">
25
+ </datepicker>
26
+ </div>
27
+ <div class="col-sm-3" >
28
+ <label class="font_normal_body" for="yearStartDate">年开始日期:</label>
29
+ <datepicker id="yearStartDate" placeholder="年开始日期" style="width: 60%"
30
+ v-model="model.yearStartDate"
31
+ :value.sync="model.yearStartDate"
32
+ :disabled-days-of-Week="[]"
33
+ :format="'yyyy-MM-dd 00:00:00'"
34
+ :show-reset-button="reset">
35
+ </datepicker>
36
+ </div>
37
+ <div class="col-sm-3" >
38
+ <label class="font_normal_body" for="yearEndDate">年结束日期:</label>
39
+ <datepicker id="yearEndDate" placeholder="年结束日期" style="width: 60%"
40
+ v-model="model.yearEndDate"
41
+ :value.sync="model.yearEndDate"
42
+ :disabled-days-of-Week="[]"
43
+ :format="'yyyy-MM-dd 23:59:59'"
44
+ :show-reset-button="reset">
45
+ </datepicker>
46
+ </div>
47
+ <div class="col-sm-3 form-group" >
48
+ <label class="font_normal_body" for="org">公&emsp;&emsp;司:</label>
49
+ <manage-right-tree id="org" @re-res="$parent.$parent.getRes" style="width: 60%" v-ref:org></manage-right-tree>
50
+ </div>
51
+ <div class="col-sm-3 form-group">
52
+ <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
53
+ <v-select id="dep" style="width: 60%"
54
+ :multiple="false"
55
+ @change="$parent.$parent.getDep"
56
+ :value.sync="model.f_depid"
57
+ v-model="model.f_depid"
58
+ :options='$parent.$parent.depresid' placeholder='请选择'
59
+ condition="f_depid in {}">
60
+ </v-select>
61
+
62
+ </div>
63
+ <div class="col-sm-3 form-group">
64
+ <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
65
+ <v-select id="oper" style="width: 60%"
66
+ :multiple="false"
67
+ @change="$parent.$parent.getOpe"
68
+ :value.sync="model.f_operatorid"
69
+ v-model="model.f_operatorid"
70
+ :options='$parent.$parent.userresid' placeholder='请选择'
71
+ condition="f_operatorid in {}">
72
+ </v-select>
73
+ </div>
74
+ <div class="col-sm-3 form-group">
75
+ <label class="font_normal_body" for="oper1">格式一</label>
76
+ <input type="radio" name="reportStyle" id="oper1" v-model="$parent.$parent.reportStyle" value="1">
77
+ <label class="font_normal_body" for="oper2">格式二</label>
78
+ <input type="radio" name="reportStyle" id="oper2" v-model="$parent.$parent.reportStyle" value="2">
79
+ </div>
80
+ </div>
81
+ <div class="span" style = "float:right;">
82
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
83
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
84
+ <report-excel id='gasprice'></report-excel>
85
+ </div>
86
+ </div>
87
+ </criteria>
88
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
89
+ <table class='tableprint' style="margin: 0px auto">
90
+ <thead>
91
+ <tr>
92
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: left;">
93
+ <h3 style="text-align: center">营业分类统计</h3>
94
+ </th>
95
+ </tr>
96
+ <tr>
97
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
98
+ 时间区间:{{$refs.criteria.model.startDate}} - {{ $refs.criteria.model.endDate }}<br/>
99
+ 打印时间:{{$parent.printTime}}
100
+ </th>
101
+ </tr>
102
+ <tr>
103
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
104
+ <div>
105
+ <span v-show="$parent.orgname[0]">公司:{{$parent.orgname}}</span>
106
+ <span v-show="$parent.depname[0]"> 部门:{{$parent.depname}}</span>
107
+ <span v-show="$parent.operatorname[0]">人员:{{$parent.operatorname}}</span>
108
+ </div>
109
+ </th>
110
+ </tr>
111
+ </thead>
112
+ <tr>
113
+ <td :colspan='$parent.tablen' class="noborder">
114
+ {{{ model.data.substring(26,model.data.length-8) }}}
115
+ </td>
116
+ </tr>
117
+ <tfoot>
118
+ <tr style="text-align: left">
119
+ <th :colspan='Math.floor($parent.tablen/3)'>财务审核:</th>
120
+ <th :colspan='Math.round($parent.tablen/3)'>收款审核:</th>
121
+ <th :colspan='Math.round($parent.tablen/3)'>收款员:</th>
122
+ </tr>
123
+ </tfoot>
124
+ </table>
125
+ </div>
126
+ </criteria-paged>
127
+ </div>
128
+ </template>
129
+
130
+ <script>
131
+ import {DataModel, HttpResetClass} from 'vue-client'
132
+ import co from 'co'
133
+ let getorg = async function (self) {
134
+ new HttpResetClass().load("POST",'api/af-revenue/sql/singleTableParam',
135
+ {
136
+ data: {
137
+ items: 'name label,id value',
138
+ tablename: 't_department',
139
+ condition: `1=1`
140
+ }
141
+ },
142
+ {resolveMsg: null, rejectMsg: null})
143
+ .then((res) => {
144
+ self.depresid = res.data
145
+ })
146
+ new HttpResetClass().load("POST",'api/af-revenue/sql/singleTableParam',
147
+ {
148
+ data: {
149
+ items: 'name label,id value',
150
+ tablename: 't_user',
151
+ condition: `state = '在职' and f_department_name is not null`
152
+ }
153
+ },
154
+ {resolveMsg: null, rejectMsg: null})
155
+ .then((res) => {
156
+ self.userresid = res.data
157
+ })
158
+ }
159
+ export default {
160
+ title: '营业分类统计',
161
+ props: ['data'],
162
+ data () {
163
+ return {
164
+ printTime: this.$login.toStandardTimeString(),
165
+ depresid: [],
166
+ userresid: [],
167
+ f_orgid: this.$login.f.orgid,
168
+ f_depid: this.$login.f.depids,
169
+ f_operatorid: this.$login.f.id,
170
+ operatorid: [],
171
+ depid: [],
172
+ tablen:0,
173
+ reportStyle: 1,
174
+ orgname: '',
175
+ depname: '',
176
+ operatorname: '',
177
+ orgCondtionStr: '1=1',
178
+ model: new DataModel('api/af-revenue/report/BusinessClassify', {
179
+ startDate: 'this.model.startDate',
180
+ endDate: 'this.model.endDate',
181
+ yearStartDate: 'this.model.yearStartDate',
182
+ yearEndDate: 'this.model.yearEndDate',
183
+ f_orgid: 'this.model.f_orgid'}),
184
+ reportStr: null,
185
+ show: false,
186
+ }
187
+ },
188
+ ready () {
189
+ getorg(this)
190
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
191
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
192
+ console.log(this.$login.f)
193
+ },
194
+ methods: {
195
+ adjustParams(startDateStr,endDateStr) {
196
+ const now = new Date()
197
+ const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0)
198
+
199
+ const startDate = new Date(startDateStr)
200
+ const endDate = new Date(endDateStr)
201
+ let result
202
+ if (startDate < todayStart && endDate >= todayStart) {
203
+ // startDate 在今天之前,endDate 在今天或之后
204
+ let splitDates = 2
205
+ let month = now.getMonth() + 1
206
+ let date = now.getDate()
207
+ const yesterday = new Date(now);
208
+ yesterday.setDate(yesterday.getDate() - 1);
209
+ let month2 = yesterday.getMonth() + 1
210
+ let date2 = yesterday.getDate()
211
+ result = {
212
+ splitDates: splitDates,
213
+ yesterdayEnd: (yesterday.getFullYear() + '-' + (month2 < 10 ? '0' + month2 : month2) + '-' + (date2 < 10 ? '0' + date2 : date2) + ' 23:59:59'),
214
+ todayStart: now.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date) + ' 00:00:00'
215
+ }
216
+ } else if (startDate >= todayStart && endDate >= todayStart) {
217
+ // startDate 和 endDate 都在今天或之后
218
+ let splitDates = 0
219
+ result = {
220
+ splitDates: splitDates
221
+ }
222
+ } else {
223
+ // startDate 和 endDate 都在今天之前
224
+ let splitDates = 1
225
+ result = {
226
+ splitDates: splitDates
227
+ }
228
+ }
229
+ function padZero(num) {
230
+ return num.toString().padStart(2, '0');
231
+ }
232
+ return result;
233
+ },
234
+ searchData () {
235
+ this.$refs.paged.$refs.criteria.search()
236
+ },
237
+ getDep(val){
238
+ this.depname = this.depresid.filter(x => x.value ==val).map(x=>x.label).toString()
239
+ console.log('dep',this.depname )
240
+ },
241
+ getOpe(val){
242
+ this.operatorname = this.userresid.filter(x => x.value ==val).map(x=>x.label).toString()
243
+ console.log('dep',this.operatorname )
244
+ },
245
+ distinctJson(obj){
246
+ let at = []
247
+ for (let i = 0; i < obj.length; i++) {
248
+ let flag = false
249
+ if (i == 0 ) {
250
+ at.push(obj[i])
251
+ } else {
252
+ for (let j = 0; j < at.length; j++) {
253
+ if (JSON.stringify(obj[i]) == JSON.stringify(at[j])) {
254
+ flag = true
255
+ }
256
+ }
257
+ if (!flag) {
258
+ at.push(obj[i])
259
+ }
260
+ }
261
+ }
262
+ return at
263
+ },
264
+ selfSearch (args) {
265
+ console.log('---------------->', this.reportStyle)
266
+ this.printTime = this.$login.toStandardTimeString()
267
+ let orgcondition = '1=1'
268
+ if (this.f_orgid) {
269
+ orgcondition += ` and f_orgid in (${this.f_orgid})`
270
+ }
271
+ orgcondition += ' and ' + args.condition
272
+ this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
273
+ let monthObj = null
274
+ let yearObj = null
275
+ if (this.$refs.paged.$refs.criteria.model.startDate && this.$refs.paged.$refs.criteria.model.endDate ) {
276
+ monthObj = this.adjustParams(this.$refs.paged.$refs.criteria.model.startDate, this.$refs.paged.$refs.criteria.model.endDate)
277
+ }
278
+ if (this.$refs.paged.$refs.criteria.model.yearStartDate && this.$refs.paged.$refs.criteria.model.yearEndDate) {
279
+ yearObj = this.adjustParams(this.$refs.paged.$refs.criteria.model.yearStartDate, this.$refs.paged.$refs.criteria.model.yearEndDate)
280
+ }
281
+ console.log('========', monthObj)
282
+ console.log('========', yearObj)
283
+ if (this.reportStyle == '1') {
284
+ let load = new HttpResetClass()
285
+ let params = {
286
+ startDate: args.model.startDate,
287
+ endDate: args.model.endDate,
288
+ monthRealTime: 0,
289
+ yearRealTime: 0,
290
+ monthRealStart: '',
291
+ monthHistoryEnd: '',
292
+ yearRealStart: '',
293
+ yearHistoryEnd: '',
294
+ yearStartDate: args.model.yearStartDate,
295
+ yearEndDate: args.model.yearEndDate,
296
+ f_orgid: orgcondition
297
+ }
298
+ if (monthObj && monthObj.splitDates === 2) {
299
+ params.monthRealTime = monthObj.splitDates
300
+ params.monthRealStart = monthObj.todayStart
301
+ params.monthHistoryEnd = monthObj.yesterdayEnd
302
+ } else if (monthObj) {
303
+ params.monthRealTime = monthObj.splitDates
304
+ }
305
+ if (yearObj && yearObj.splitDates === 2) {
306
+ params.yearRealTime = yearObj.splitDates
307
+ params.yearRealStart = yearObj.todayStart
308
+ params.yearHistoryEnd = yearObj.yesterdayEnd
309
+ } else if (yearObj) {
310
+ params.yearRealTime = yearObj.splitDates
311
+ }
312
+ load.load("POST", 'api/af-revenue/sql/UserCountNum',
313
+ {data: params},
314
+ {resolveMsg: null, rejectMsg: null})
315
+ .then((res) => {
316
+ let info = res.data
317
+ let gasproperties = info.map(item => {return {f_gasproperties: item.f_gasproperties}})
318
+ let district = info.map(item => {
319
+ return { f_gasproperties: item.f_gasproperties, f_district: item.f_district }
320
+ })
321
+ let meter_type = info.map(item => {
322
+ return { f_meter_type: item.f_meter_type }
323
+ })
324
+ this.model.url = 'api/af-revenue/report/BusinessClassify'
325
+ this.$refs.paged.$refs.criteria.model.f_orgid = {
326
+ left1: JSON.stringify(this.distinctJson(gasproperties)),
327
+ left2: JSON.stringify(this.distinctJson(district)),
328
+ left3: JSON.stringify(this.distinctJson(meter_type)),
329
+ infoall: JSON.stringify(info)
330
+ }
331
+ this.$refs.paged.search(args)
332
+ })
333
+ } else {
334
+ this.model.params.monthRealTime = 0
335
+ this.model.params.yearRealTime = 0
336
+ this.model.params.monthRealStart = ''
337
+ this.model.params.monthHistoryEnd = ''
338
+ this.model.params.yearRealStart = ''
339
+ this.model.params.yearHistoryEnd = ''
340
+ if (monthObj && monthObj.splitDates === 2) {
341
+ this.model.params.monthRealTime = monthObj.splitDates
342
+ this.model.params.monthRealStart = monthObj.todayStart
343
+ this.model.params.monthHistoryEnd = monthObj.yesterdayEnd
344
+ }else if (monthObj) {
345
+ this.model.params.monthRealTime = monthObj.splitDates
346
+ }
347
+ if (yearObj && yearObj.splitDates === 2) {
348
+ this.model.params.yearRealTime = yearObj.splitDates
349
+ this.model.params.yearRealStart = yearObj.todayStart
350
+ this.model.params.yearHistoryEnd = yearObj.yesterdayEnd
351
+ }else if (yearObj) {
352
+ this.model.params.yearRealTime = yearObj.splitDates
353
+ }
354
+ this.model.url = 'api/af-revenue/report/BusinessClassifyTwo'
355
+ this.$refs.paged.search(args)
356
+ }
357
+ },
358
+ getRes (obj) {
359
+ this.orgname = obj.res[0]
360
+ this.f_orgid = obj.resids
361
+ }
362
+ },
363
+ watch: {
364
+ 'model.data' (val) {
365
+ if (val) {
366
+ this.tablen = val.split('</tr>').map(item => item.split('</td>').length-1).reduce((x, y) => x > y ? x : y)
367
+ }
368
+ },
369
+ 'reportStyle'(val) {
370
+ this.$refs.paged.$refs.criteria.search()
371
+ }
372
+ },
373
+ computed: {
374
+
375
+ }
376
+ }
377
+ </script>
378
+ <style scoped>
379
+ .noborder{
380
+ border: none;
381
+ }
382
+ </style>