manage-client 3.1.47 → 3.1.50

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