manage-client 3.1.43 → 3.1.47

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 (96) hide show
  1. package/build/dev-server.js +182 -174
  2. package/package.json +1 -1
  3. package/src/App.vue +29 -28
  4. package/src/components/BasisEcharts/BarChart.vue +247 -247
  5. package/src/components/BasisEcharts/RingChart.vue +196 -196
  6. package/src/components/SellReport/BusinessClassify.vue +317 -317
  7. package/src/components/SellReport/ChargePrick.vue +284 -284
  8. package/src/components/SellReport/DepartmentPrick.vue +288 -288
  9. package/src/components/SellReport/FinanceSellType.vue +254 -254
  10. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  11. package/src/components/SellReport/GasMoneyReport.vue +254 -0
  12. package/src/components/SellReport/GasPrice.vue +244 -244
  13. package/src/components/SellReport/ManageBusSummary.vue +242 -242
  14. package/src/components/SellReport/ManageHandInputtor.vue +281 -281
  15. package/src/components/SellReport/ManageOtherCharge.vue +250 -250
  16. package/src/components/SellReport/ManageSellType.vue +284 -284
  17. package/src/components/SellReport/ManageUserCount.vue +347 -347
  18. package/src/components/SellReport/MarketMonth.vue +297 -297
  19. package/src/components/SellReport/SaleMonthReport.vue +227 -227
  20. package/src/components/SellReport/SellDepReport.vue +251 -0
  21. package/src/components/SellReport/SellingTable.vue +220 -220
  22. package/src/components/SellReport/UserClassify.vue +271 -271
  23. package/src/components/SellReport/UserSellingGas.vue +251 -251
  24. package/src/components/daping/CallCenter.vue +366 -366
  25. package/src/components/daping/DataManagement.vue +537 -537
  26. package/src/components/daping/GMap.vue +636 -636
  27. package/src/components/daping/ManageMain.vue +270 -270
  28. package/src/components/daping/NetWork.vue +238 -238
  29. package/src/components/daping/RedactDaPing.vue +468 -468
  30. package/src/components/daping/Ring.vue +212 -212
  31. package/src/components/daping/SafeCheck.vue +446 -446
  32. package/src/components/daping/SafeCheckRing.vue +166 -166
  33. package/src/components/daping/SafecheckBarChart.vue +233 -233
  34. package/src/components/daping/WuHaiMap.vue +418 -418
  35. package/src/components/qinhua/BarChart.vue +256 -256
  36. package/src/components/qinhua/Pie.vue +132 -132
  37. package/src/components/qinhua/SellEcharts.vue +115 -115
  38. package/src/components/qinhua/qinHuaMap.vue +414 -414
  39. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +500 -496
  40. package/src/components/sale/businessquery/CollectManage.vue +135 -135
  41. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  42. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  43. package/src/components/sale/businessquery/OtherChargeQuery.vue +619 -619
  44. package/src/components/sale/businessquery/ProceedsOper.vue +377 -377
  45. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  46. package/src/components/sale/config/exportConfig.js +1 -1
  47. package/src/components/statistical/StatisticalAnalysis.vue +247 -247
  48. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  49. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  50. package/src/components/webmeter/DrillData/UserGasAll.vue +597 -597
  51. package/src/components/webmeter/DrillData/UserGasEcharts.vue +220 -210
  52. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  53. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  54. package/src/components/webmeter/newwebmeter/NewException/NewContactEcharts.vue +171 -171
  55. package/src/components/webmeter/newwebmeter/NewException/NewEchartsAll.vue +111 -111
  56. package/src/components/webmeter/newwebmeter/NewException/NewExceptionEcharsTotal.vue +288 -275
  57. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +209 -209
  58. package/src/components/webmeter/newwebmeter/NewException/NewHandplanEcharts.vue +213 -213
  59. package/src/components/webmeter/newwebmeter/NewException/NewInstructEcharts.vue +240 -240
  60. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +607 -607
  61. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +283 -218
  62. package/src/components/webmeter/newwebmeter/UserGasList.vue +438 -438
  63. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +242 -242
  64. package/src/components/webmeter/newwebmeter/UserInstructList.vue +332 -332
  65. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  66. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  67. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  68. package/src/components/webmeter/reportdata/ReportDataQuery.vue +25 -53
  69. package/src/filiale/alashan/SellingTable.vue +234 -234
  70. package/src/filiale/alashan/reportManage.js +10 -10
  71. package/src/filiale/jingwei/ChargeQuery.vue +6 -0
  72. package/src/filiale/jingwei/RecordInfoQuery.vue +13 -2
  73. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  74. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  75. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  76. package/src/filiale/meihekou/sale.js +26 -26
  77. package/src/filiale/rongcheng/exportConfig.js +257 -257
  78. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  79. package/src/filiale/rongchuang/reportManage.js +11 -11
  80. package/src/filiale/shaoguan/ChargeQuery.vue +5 -0
  81. package/src/filiale/shaoguan/OtherChargeQuery.vue +6 -0
  82. package/src/filiale/shaoguan/config/exportConfig.js +433 -433
  83. package/src/filiale/tongchuan/ChargeQuery.vue +1252 -0
  84. package/src/filiale/tongchuan/ManageBusSummary.vue +302 -302
  85. package/src/filiale/tongchuan/sale.js +2 -1
  86. package/src/main.js +66 -66
  87. package/src/newmanage.js +525 -525
  88. package/src/reportManage.js +470 -462
  89. package/static/wuhai.json +1610 -1610
  90. package/.gradle/5.2.1/executionHistory/executionHistory.bin +0 -0
  91. package/.gradle/5.2.1/executionHistory/executionHistory.lock +0 -0
  92. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  93. package/.gradle/5.2.1/fileHashes/fileHashes.bin +0 -0
  94. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  95. package/.gradle/5.2.1/gc.properties +0 -0
  96. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
@@ -1,302 +1,302 @@
1
- <template>
2
- <div class="basic-main" style="height: 98%">
3
- <criteria-paged :model="model" :pager='false' v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
- <p class="bg-info text-center" style="padding: 8px;">收费结账报表</p>
6
- <div class="form-group" v-if="!$parent.$parent.data.f_files_path"></div>
7
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
8
- <div class="row">
9
- <div class="col-sm-2 form-group" >
10
- <label class="font_normal_body" for="startDate">开始日期:</label>
11
- <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
12
- v-model="model.startDate"
13
- :value.sync="model.startDate"
14
- :disabled-days-of-Week="[]"
15
- :format="'yyyy-MM-dd HH:mm:ss'"
16
- :show-reset-button="reset">
17
- </datepicker>
18
- </div>
19
- <div class="col-sm-2 form-group" >
20
- <label class="font_normal_body" for="endDate">结束日期:</label>
21
- <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
22
- v-model="model.endDate"
23
- :value.sync="model.endDate"
24
- :disabled-days-of-Week="[]"
25
- :format="'yyyy-MM-dd HH:mm:ss'"
26
- :show-reset-button="reset">
27
- </datepicker>
28
- </div>
29
- <div class="col-sm-2 form-group" >
30
- <label class="font_normal_body" for="org">公&emsp;&emsp;司:</label>
31
- <right-tree id="org" @re-res="$parent.$parent.getRes" style="width: 60%" v-ref:org></right-tree>
32
- </div>
33
- <div class="col-sm-2 form-group">
34
- <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
35
- <v-select id="dep" style="width: 60%"
36
- :multiple="false"
37
- @change="$parent.$parent.getDep"
38
- :value.sync="model.f_depid"
39
- v-model="model.f_depid"
40
- :options='$parent.$parent.depresid' placeholder='请选择'
41
- condition="f_depid in {}">
42
- </v-select>
43
-
44
- </div>
45
- <div class="col-sm-2 form-group">
46
- <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
47
- <v-select id="oper" style="width: 60%"
48
- :multiple="false"
49
- @change="$parent.$parent.getOpe"
50
- :value.sync="model.f_operatorid"
51
- v-model="model.f_operatorid"
52
- :options='$parent.$parent.userresid' placeholder='请选择'
53
- condition="f_operatorid in {}">
54
- </v-select>
55
- </div>
56
- <div class="col-sm-2 form-group">
57
- <label class="font_normal_body">收费状态</label>
58
- <v-select :value.sync="$parent.$parent.f_state" multiple
59
- v-model="$parent.$parent.f_state"
60
- :options='$parent.$parent.charge_state' placeholder='请选择'
61
- condition="f_state in {}"
62
- close-on-select></v-select>
63
- </div>
64
- </div>
65
- <div class="span" style = "float:right;">
66
- <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
67
- <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
68
- <report-excel id='gasprice'></report-excel>
69
- </div>
70
- </div>
71
- </criteria>
72
- <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
73
- <table class='tableprint' style="margin: 0px auto">
74
- <thead>
75
- <tr>
76
- <th :colspan='$parent.spans' style="font-weight: normal; text-align: left;">
77
- <h3 style="text-align: center">收费结账报表</h3>
78
- </th>
79
- </tr>
80
- <tr>
81
- <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
82
- 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
83
- 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;<br/>
84
- <!--打印时间:{{{$parent.printTime}}}-->
85
- 打印时间:{{$parent.printTime}}
86
- <!--收费员:{{// $parent.operatorname}}-->
87
- </th>
88
- </tr>
89
- <tr>
90
- <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
91
- <div>
92
- <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.orgname[0]">公司:{{$parent.orgname}}</span>
93
- <span v-show="$parent.depname[0]"> 部门:{{$parent.depname}}</span>
94
- <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.operatorname[0]">人员:{{$parent.operatorname}}</span>
95
- </div>
96
- </th>
97
- </tr>
98
- </thead>
99
- <tr>
100
- <td :colspan='$parent.spans'>
101
- {{{ model.data.substring(26,model.data.length-8) }}}
102
- </td>
103
- </tr>
104
- <tfoot>
105
- <tr style="text-align: left">
106
- <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>
107
- <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>
108
- <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>
109
- </tr>
110
- </tfoot>
111
- </table>
112
- {{{ $parent.reportStr}}}
113
- </div>
114
- </criteria-paged>
115
- <div>注:</div>
116
- <modal :show.sync="show" v-ref:modal small backdrop="false">
117
- <header slot="modal-header" class="modal-header">
118
- <h4 class="modal-title">输入文件名称</h4>
119
- </header>
120
- <article slot="modal-body" class="modal-body">
121
- <div class="form-group">
122
- <input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
123
- </div>
124
- </article>
125
- <footer slot="modal-footer" class="modal-footer">
126
- <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
127
- <button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
128
- </footer>
129
- </modal>
130
- </div>
131
- </template>
132
-
133
- <script>
134
- import {DataModel, HttpResetClass} from 'vue-client'
135
- import co from 'co'
136
- let saveFile = function * (self) {
137
- // 线验证文件是否重名
138
- let count = yield self.$resetpost('rs/sql/manageSingleTable',
139
- {data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
140
- {resolveMsg: null, rejectMsg: null})
141
- if (count.data.length > 0) {
142
- self.$showAlert('无法保存,文件名重名', 'warning', 3000)
143
- return
144
- }
145
- let saveBack = yield self.$resetpost('rs/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
146
- f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
147
- f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
148
- f_outlets: this.$login.f.depname})
149
- if (saveBack.data.status === 'succeed') {
150
- self.show = false
151
- self.filename = ''
152
- // 后台保存完成,通知刷新
153
- self.$dispatch('save-success', self.filename)
154
- }
155
- }
156
- let getorg = async function (self) {
157
- new HttpResetClass().load("POST",'rs/sql/singleTableParam',
158
- {
159
- data: {
160
- items: 'name label,id value',
161
- tablename: 't_department',
162
- condition: `1=1`
163
- }
164
- },
165
- {resolveMsg: null, rejectMsg: null})
166
- .then((res) => {
167
- self.depresid = res.data
168
- })
169
- new HttpResetClass().load("POST",'rs/sql/singleTableParam',
170
- {
171
- data: {
172
- items: 'name label,id value',
173
- tablename: 't_user',
174
- condition: `state = '在职' and f_department_name is not null`
175
- }
176
- },
177
- {resolveMsg: null, rejectMsg: null})
178
- .then((res) => {
179
- self.userresid = res.data
180
- })
181
- }
182
- export default {
183
- title: '收费结账报表',
184
- props: ['data'],
185
- data () {
186
- return {
187
- printTime: this.$login.toStandardTimeString(),
188
- depresid: [],
189
- userresid: [],
190
- f_orgid: this.$login.f.orgid,
191
- f_depid: this.$login.f.depids,
192
- f_operatorid: this.$login.f.id,
193
- operatorid: [],
194
- depid: [],
195
- orgname: '',
196
- depname: '',
197
- operatorname: '',
198
- orgCondtionStr: '1=1',
199
- // f_state:['有效'],
200
- model: new DataModel('rs/report/getmoneyall', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
201
- f_orgid: 'this.model.f_orgid'}),
202
- reportStr: null,
203
- show: false,
204
- spans: 0,
205
- initres: {
206
- org: [this.$login.f.orgid],
207
- dep: [],
208
- user: []
209
- }
210
- }
211
- },
212
- ready () {
213
- getorg(this)
214
- this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
215
- this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
216
- console.log(this.$login.f)
217
- },
218
- methods: {
219
- searchData () {
220
- this.$refs.paged.$refs.criteria.search()
221
- },
222
- getDep(val){
223
- this.depname = this.depresid.filter(x => x.value ==val).map(x=>x.label).toString()
224
- console.log('dep',this.depname )
225
- },
226
- getOpe(val){
227
- this.operatorname = this.userresid.filter(x => x.value ==val).map(x=>x.label).toString()
228
- console.log('dep',this.operatorname )
229
- },
230
- selfSearch (args) {
231
- this.printTime = this.$login.toStandardTimeString()
232
- let s = '1=1'
233
- if (this.f_orgid[0]) {
234
- s += ' and f_orgid in(' + this.f_orgid +')'
235
- }
236
- if (this.f_state[0]) {
237
- s += ' and f_state in(\'' + this.f_state.toString().replace(new RegExp(',','g')) +'\')'
238
- }
239
- s += ' and ' + args.condition
240
- console.log('xxxxxxxxxxx',this.orgCondtionStr)
241
- // let orgstr = this.f_state[0] ? "f_state in('" + this.f_state.toString().replace(new RegExp(',','g'), "','") +"') "+ s: s
242
- this.$refs.paged.$refs.criteria.model.f_orgid = s
243
- this.$refs.paged.search(args)
244
- },
245
- // 根据文件路径获取储存的报表内容
246
- getFileContent (path) {
247
- this.$resetpost('rs/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
248
- this.reportStr = res.data.filecontent
249
- this.model.state = '正确'
250
- })
251
- },
252
- confirm () {
253
- if (!this.filename || this.filename === '') {
254
- this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
255
- }
256
- let saveGen = saveFile(this)
257
- co(saveGen)
258
- },
259
- close () {
260
- this.show = false
261
- },
262
- // 将报表保存成文件
263
- confirmReport () {
264
- this.show = true
265
- this.filename = this.data.f_report_name + this.$login.toStandardDateString()
266
- },
267
- getRes (obj) {
268
- this.orgname = obj.res[0]
269
- this.f_orgid = obj.resids
270
- }
271
- },
272
- watch: {
273
- 'data' (val) {
274
- if (val.f_files_path) {
275
- this.getFileContent(val.f_files_path)
276
- } else {
277
- this.reportStr = null
278
- }
279
- },
280
- 'model.data' (val) {
281
- let len=0
282
- let a=val.split('</tr>')
283
- for(let i=0;i<a.length;i++){
284
- if(a[i].split('</td>').length-1>len){
285
- len=a[i].split('</td>').length-1
286
- }
287
- }
288
- this.spans = len
289
- }
290
- },
291
- computed: {
292
- charge_state() {
293
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
294
- }
295
- }
296
- }
297
- </script>
298
- <style scoped>
299
- .noborder{
300
- border: none;
301
- }
302
- </style>
1
+ <template>
2
+ <div class="basic-main" style="height: 98%">
3
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <p class="bg-info text-center" style="padding: 8px;">收费结账报表</p>
6
+ <div class="form-group" v-if="!$parent.$parent.data.f_files_path"></div>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
8
+ <div class="row">
9
+ <div class="col-sm-2 form-group" >
10
+ <label class="font_normal_body" for="startDate">开始日期:</label>
11
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
12
+ v-model="model.startDate"
13
+ :value.sync="model.startDate"
14
+ :disabled-days-of-Week="[]"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ :show-reset-button="reset">
17
+ </datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group" >
20
+ <label class="font_normal_body" for="endDate">结束日期:</label>
21
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
22
+ v-model="model.endDate"
23
+ :value.sync="model.endDate"
24
+ :disabled-days-of-Week="[]"
25
+ :format="'yyyy-MM-dd HH:mm:ss'"
26
+ :show-reset-button="reset">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-2 form-group" >
30
+ <label class="font_normal_body" for="org">公&emsp;&emsp;司:</label>
31
+ <right-tree id="org" @re-res="$parent.$parent.getRes" style="width: 60%" v-ref:org></right-tree>
32
+ </div>
33
+ <div class="col-sm-2 form-group">
34
+ <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
35
+ <v-select id="dep" style="width: 60%"
36
+ :multiple="false"
37
+ @change="$parent.$parent.getDep"
38
+ :value.sync="model.f_depid"
39
+ v-model="model.f_depid"
40
+ :options='$parent.$parent.depresid' placeholder='请选择'
41
+ condition="f_depid in {}">
42
+ </v-select>
43
+
44
+ </div>
45
+ <div class="col-sm-2 form-group">
46
+ <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
47
+ <v-select id="oper" style="width: 60%"
48
+ :multiple="false"
49
+ @change="$parent.$parent.getOpe"
50
+ :value.sync="model.f_operatorid"
51
+ v-model="model.f_operatorid"
52
+ :options='$parent.$parent.userresid' placeholder='请选择'
53
+ condition="f_operatorid in {}">
54
+ </v-select>
55
+ </div>
56
+ <div class="col-sm-2 form-group">
57
+ <label class="font_normal_body">收费状态</label>
58
+ <v-select :value.sync="$parent.$parent.f_state" multiple
59
+ v-model="$parent.$parent.f_state"
60
+ :options='$parent.$parent.charge_state' placeholder='请选择'
61
+ condition="f_state in {}"
62
+ close-on-select></v-select>
63
+ </div>
64
+ </div>
65
+ <div class="span" style = "float:right;">
66
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
67
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
68
+ <report-excel id='gasprice'></report-excel>
69
+ </div>
70
+ </div>
71
+ </criteria>
72
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
73
+ <table class='tableprint' style="margin: 0px auto">
74
+ <thead>
75
+ <tr>
76
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: left;">
77
+ <h3 style="text-align: center">收费结账报表</h3>
78
+ </th>
79
+ </tr>
80
+ <tr>
81
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
82
+ 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
83
+ 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;<br/>
84
+ <!--打印时间:{{{$parent.printTime}}}-->
85
+ 打印时间:{{$parent.printTime}}
86
+ <!--收费员:{{// $parent.operatorname}}-->
87
+ </th>
88
+ </tr>
89
+ <tr>
90
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
91
+ <div>
92
+ <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.orgname[0]">公司:{{$parent.orgname}}</span>
93
+ <span v-show="$parent.depname[0]"> 部门:{{$parent.depname}}</span>
94
+ <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.operatorname[0]">人员:{{$parent.operatorname}}</span>
95
+ </div>
96
+ </th>
97
+ </tr>
98
+ </thead>
99
+ <tr>
100
+ <td :colspan='$parent.spans'>
101
+ {{{ model.data.substring(26,model.data.length-8) }}}
102
+ </td>
103
+ </tr>
104
+ <tfoot>
105
+ <tr style="text-align: left">
106
+ <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>
107
+ <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>
108
+ <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>
109
+ </tr>
110
+ </tfoot>
111
+ </table>
112
+ {{{ $parent.reportStr}}}
113
+ </div>
114
+ </criteria-paged>
115
+ <div>注:</div>
116
+ <modal :show.sync="show" v-ref:modal small backdrop="false">
117
+ <header slot="modal-header" class="modal-header">
118
+ <h4 class="modal-title">输入文件名称</h4>
119
+ </header>
120
+ <article slot="modal-body" class="modal-body">
121
+ <div class="form-group">
122
+ <input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
123
+ </div>
124
+ </article>
125
+ <footer slot="modal-footer" class="modal-footer">
126
+ <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
127
+ <button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
128
+ </footer>
129
+ </modal>
130
+ </div>
131
+ </template>
132
+
133
+ <script>
134
+ import {DataModel, HttpResetClass} from 'vue-client'
135
+ import co from 'co'
136
+ let saveFile = function * (self) {
137
+ // 线验证文件是否重名
138
+ let count = yield self.$resetpost('rs/sql/manageSingleTable',
139
+ {data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
140
+ {resolveMsg: null, rejectMsg: null})
141
+ if (count.data.length > 0) {
142
+ self.$showAlert('无法保存,文件名重名', 'warning', 3000)
143
+ return
144
+ }
145
+ let saveBack = yield self.$resetpost('rs/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
146
+ f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
147
+ f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
148
+ f_outlets: this.$login.f.depname})
149
+ if (saveBack.data.status === 'succeed') {
150
+ self.show = false
151
+ self.filename = ''
152
+ // 后台保存完成,通知刷新
153
+ self.$dispatch('save-success', self.filename)
154
+ }
155
+ }
156
+ let getorg = async function (self) {
157
+ new HttpResetClass().load("POST",'rs/sql/singleTableParam',
158
+ {
159
+ data: {
160
+ items: 'name label,id value',
161
+ tablename: 't_department',
162
+ condition: `1=1`
163
+ }
164
+ },
165
+ {resolveMsg: null, rejectMsg: null})
166
+ .then((res) => {
167
+ self.depresid = res.data
168
+ })
169
+ new HttpResetClass().load("POST",'rs/sql/singleTableParam',
170
+ {
171
+ data: {
172
+ items: 'name label,id value',
173
+ tablename: 't_user',
174
+ condition: `state = '在职' and f_department_name is not null`
175
+ }
176
+ },
177
+ {resolveMsg: null, rejectMsg: null})
178
+ .then((res) => {
179
+ self.userresid = res.data
180
+ })
181
+ }
182
+ export default {
183
+ title: '收费结账报表',
184
+ props: ['data'],
185
+ data () {
186
+ return {
187
+ printTime: this.$login.toStandardTimeString(),
188
+ depresid: [],
189
+ userresid: [],
190
+ f_orgid: this.$login.f.orgid,
191
+ f_depid: this.$login.f.depids,
192
+ f_operatorid: this.$login.f.id,
193
+ operatorid: [],
194
+ depid: [],
195
+ orgname: '',
196
+ depname: '',
197
+ operatorname: '',
198
+ orgCondtionStr: '1=1',
199
+ // f_state:['有效'],
200
+ model: new DataModel('rs/report/getmoneyall', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
201
+ f_orgid: 'this.model.f_orgid'}),
202
+ reportStr: null,
203
+ show: false,
204
+ spans: 0,
205
+ initres: {
206
+ org: [this.$login.f.orgid],
207
+ dep: [],
208
+ user: []
209
+ }
210
+ }
211
+ },
212
+ ready () {
213
+ getorg(this)
214
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
215
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
216
+ console.log(this.$login.f)
217
+ },
218
+ methods: {
219
+ searchData () {
220
+ this.$refs.paged.$refs.criteria.search()
221
+ },
222
+ getDep(val){
223
+ this.depname = this.depresid.filter(x => x.value ==val).map(x=>x.label).toString()
224
+ console.log('dep',this.depname )
225
+ },
226
+ getOpe(val){
227
+ this.operatorname = this.userresid.filter(x => x.value ==val).map(x=>x.label).toString()
228
+ console.log('dep',this.operatorname )
229
+ },
230
+ selfSearch (args) {
231
+ this.printTime = this.$login.toStandardTimeString()
232
+ let s = '1=1'
233
+ if (this.f_orgid[0]) {
234
+ s += ' and f_orgid in(' + this.f_orgid +')'
235
+ }
236
+ if (this.f_state[0]) {
237
+ s += ' and f_state in(\'' + this.f_state.toString().replace(new RegExp(',','g')) +'\')'
238
+ }
239
+ s += ' and ' + args.condition
240
+ console.log('xxxxxxxxxxx',this.orgCondtionStr)
241
+ // let orgstr = this.f_state[0] ? "f_state in('" + this.f_state.toString().replace(new RegExp(',','g'), "','") +"') "+ s: s
242
+ this.$refs.paged.$refs.criteria.model.f_orgid = s
243
+ this.$refs.paged.search(args)
244
+ },
245
+ // 根据文件路径获取储存的报表内容
246
+ getFileContent (path) {
247
+ this.$resetpost('rs/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
248
+ this.reportStr = res.data.filecontent
249
+ this.model.state = '正确'
250
+ })
251
+ },
252
+ confirm () {
253
+ if (!this.filename || this.filename === '') {
254
+ this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
255
+ }
256
+ let saveGen = saveFile(this)
257
+ co(saveGen)
258
+ },
259
+ close () {
260
+ this.show = false
261
+ },
262
+ // 将报表保存成文件
263
+ confirmReport () {
264
+ this.show = true
265
+ this.filename = this.data.f_report_name + this.$login.toStandardDateString()
266
+ },
267
+ getRes (obj) {
268
+ this.orgname = obj.res[0]
269
+ this.f_orgid = obj.resids
270
+ }
271
+ },
272
+ watch: {
273
+ 'data' (val) {
274
+ if (val.f_files_path) {
275
+ this.getFileContent(val.f_files_path)
276
+ } else {
277
+ this.reportStr = null
278
+ }
279
+ },
280
+ 'model.data' (val) {
281
+ let len=0
282
+ let a=val.split('</tr>')
283
+ for(let i=0;i<a.length;i++){
284
+ if(a[i].split('</td>').length-1>len){
285
+ len=a[i].split('</td>').length-1
286
+ }
287
+ }
288
+ this.spans = len
289
+ }
290
+ },
291
+ computed: {
292
+ charge_state() {
293
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
294
+ }
295
+ }
296
+ }
297
+ </script>
298
+ <style scoped>
299
+ .noborder{
300
+ border: none;
301
+ }
302
+ </style>
@@ -4,7 +4,8 @@ let specialComp = {
4
4
  // 客户信息查询
5
5
  'user-query': (resolve) => { require(['./UserQuery'], resolve) },
6
6
  'res-select-group': (resolve) => { require(['./ResSelectGroupNew'], resolve) },
7
- 'fill-gas-query': (resolve) => { require(['./FillGasQuery'], resolve) }
7
+ 'fill-gas-query': (resolve) => { require(['./FillGasQuery'], resolve) },
8
+ 'charge-query': (resolve) => { require(['./ChargeQuery'], resolve) }
8
9
  }
9
10
  exports.specialComp = specialComp
10
11