manage-client 4.0.14 → 4.0.16

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 (28) hide show
  1. package/build/dev-server.js +3 -3
  2. package/package.json +1 -1
  3. package/src/components/SellReport/ManageChargeBillBeiFangShiYe.vue +251 -0
  4. package/src/components/SellReport/ManageFillGasQueryBeiFangShiYe.vue +251 -0
  5. package/src/components/SellReport/ManageOtherChargeBeiFangShiYe.vue +251 -0
  6. package/src/components/SellReport/ManageSellGasQueryBeiFangShiYe.vue +251 -0
  7. package/src/components/SellReport/ManageUseGasQueryBeiFangShiYe.vue +251 -0
  8. package/src/components/SellReport/ManageUserClassifyBeiFangShiYe.vue +271 -0
  9. package/src/filiale/qingjian/SellingTable.vue +220 -0
  10. package/src/filiale/qingjian/reportManage.js +7 -0
  11. package/src/filiale/tongchuan/BusinessClassify.vue +386 -0
  12. package/src/filiale/tongchuan/DepartmentPrick.vue +292 -0
  13. package/src/filiale/tongchuan/GasPrice.vue +13 -39
  14. package/src/filiale/tongchuan/ManageBusSummary.vue +8 -9
  15. package/src/filiale/tongchuan/ManageHandInputtor.vue +261 -0
  16. package/src/filiale/tongchuan/ManageSellType.vue +267 -0
  17. package/src/filiale/tongchuan/ManageUserCount.vue +369 -0
  18. package/src/filiale/tongchuan/MarketMonth.vue +297 -0
  19. package/src/filiale/tongchuan/SaleMonthReport.vue +155 -0
  20. package/src/filiale/tongchuan/UserClassify.vue +249 -0
  21. package/src/filiale/tongchuan/reportManage.js +34 -1
  22. package/src/filiale/xihu/NewQueryInstruct.vue +665 -0
  23. package/src/filiale/xihu/webmeterManage.js +6 -0
  24. package/src/main.js +2 -0
  25. package/src/reportManage.js +22 -0
  26. package/src/filiale/jinbin/exportConfig.js +0 -1110
  27. package/src/filiale/jinbin/sale/businessquery/ChargeQuery.vue +0 -1372
  28. package/src/filiale/jinbin/sale.js +0 -7
@@ -0,0 +1,249 @@
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
+ <res-select-group :show-component="['company','department','operator']" :initres="$parent.$parent.initres" :selectin="true" :cascade =true @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
50
+ </div>
51
+ <div class="span" style = "float:right;">
52
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
53
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
54
+ <report-excel id='gasprice'></report-excel>
55
+ </div>
56
+ </div>
57
+ </criteria>
58
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
59
+ <table class='tableprint' style="margin: 0px auto" >
60
+ <thead>
61
+ <tr>
62
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: left;">
63
+ <h3 style="text-align: center">用户分类统计</h3>
64
+ </th>
65
+ </tr>
66
+ <tr>
67
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
68
+ 时间区间:{{$refs.criteria.model.startDate}} - {{ $refs.criteria.model.endDate }}<br/>
69
+ 打印时间:{{$parent.printTime}}
70
+ </th>
71
+ </tr>
72
+ <tr>
73
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
74
+ <div>
75
+ <span v-show="$parent.orgname.trim()!=''">公司:{{$parent.orgname}}</span>
76
+ <span v-show="$parent.depname.trim()!=''"> 部门:{{$parent.depname}}</span>
77
+ <span v-show="$parent.operatorname.trim()!=''">人员:{{$parent.operatorname}}</span>
78
+ </div>
79
+ </th>
80
+ </tr>
81
+ </thead>
82
+ <tr>
83
+ <td :colspan='$parent.tablen' class="noborder">
84
+ {{{ model.data.substring(26,model.data.length-8) }}}
85
+ </td>
86
+ </tr>
87
+ <tfoot>
88
+ <tr style="text-align: left">
89
+ <th :colspan='Math.floor($parent.tablen/3)'>财务审核:</th>
90
+ <th :colspan='Math.round($parent.tablen/3)'>收款审核:</th>
91
+ <th :colspan='Math.round($parent.tablen/3)'>收款员:</th>
92
+ </tr>
93
+ </tfoot>
94
+ </table>
95
+ {{{ $parent.reportStr}}}
96
+ </div>
97
+ </criteria-paged>
98
+ <modal :show.sync="show" v-ref:modal small backdrop="false">
99
+ <header slot="modal-header" class="modal-header">
100
+ <h4 class="modal-title">输入文件名称</h4>
101
+ </header>
102
+ <article slot="modal-body" class="modal-body">
103
+ <div class="form-group">
104
+ <input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
105
+ </div>
106
+ </article>
107
+ <footer slot="modal-footer" class="modal-footer">
108
+ <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
109
+ <button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
110
+ </footer>
111
+ </modal>
112
+ </div>
113
+ </template>
114
+
115
+ <script>
116
+ import { DataModel } from 'vue-client'
117
+ import co from 'co'
118
+ let saveFile = function * (self) {
119
+ // 线验证文件是否重名
120
+ let count = yield self.$resetpost('api/af-revenue/sql/manageSingleTable',
121
+ {data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
122
+ {resolveMsg: null, rejectMsg: null})
123
+ if (count.data.length > 0) {
124
+ self.$showAlert('无法保存,文件名重名', 'warning', 3000)
125
+ return
126
+ }
127
+ let saveBack = yield self.$resetpost('api/af-revenue/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
128
+ f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
129
+ f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
130
+ f_outlets: this.$login.f.depname})
131
+ if (saveBack.data.status === 'succeed') {
132
+ self.show = false
133
+ self.filename = ''
134
+ // 后台保存完成,通知刷新
135
+ self.$dispatch('save-success', self.filename)
136
+ }
137
+ }
138
+ export default {
139
+ title: '用户分类统计',
140
+ props: ['data'],
141
+ data () {
142
+ return {
143
+ printTime: this.$login.toStandardTimeString(),
144
+ depresid: [],
145
+ userresid: [],
146
+ initres: {
147
+ org:[this.$login.f.orgid],
148
+ dep:[],
149
+ user:[]
150
+ },
151
+ f_orgid: this.$login.f.orgid,
152
+ f_depid: this.$login.f.depids,
153
+ f_operatorid: this.$login.f.id,
154
+ operatorid: [],
155
+ depid: [],
156
+ tablen:0,
157
+ orgname: '',
158
+ depname: '',
159
+ operatorname: '',
160
+ orgCondtionStr: '1=1',
161
+ model: new DataModel('api/af-revenue/report/UserClassify', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
162
+ yearStartDate: 'this.model.yearStartDate', yearEndDate: 'this.model.yearEndDate',f_orgid: 'this.model.f_orgid'}),
163
+ reportStr: null,
164
+ show: false,
165
+ }
166
+ },
167
+ ready () {
168
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
169
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
170
+ console.log(this.$login.f)
171
+ },
172
+ methods: {
173
+ searchData () {
174
+ this.$refs.paged.$refs.criteria.search()
175
+ },
176
+ selfSearch (args) {
177
+ this.printTime = this.$login.toStandardTimeString()
178
+ let orgcondition = '1=1'
179
+ let orgstr = this.orgCondtionStr
180
+ orgcondition = orgcondition + orgstr
181
+ this.$refs.paged.$refs.criteria.model.f_orgid = args.condition + orgcondition.replace('1=1','')
182
+ this.$refs.paged.search(args)
183
+ },
184
+ getRes (condition, obj) {
185
+ this.orgCondtionStr = condition
186
+ this.orgname = obj.orgnames[0]
187
+ this.depname = obj.depnames[0]
188
+ },
189
+ getdep (obj, val) {
190
+ this.depname = val[0]
191
+ // this.userresid = obj
192
+ this.f_depid = obj
193
+ },
194
+ getuser ( obj, val) {
195
+ this.operatorname = val[0]
196
+ this.f_operatorid = obj
197
+ },
198
+ // 根据文件路径获取储存的报表内容
199
+ getFileContent (path) {
200
+ this.$resetpost('api/af-revenue/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
201
+ this.reportStr = res.data.filecontent
202
+ this.model.state = '正确'
203
+ })
204
+ },
205
+ confirm () {
206
+ if (!this.filename || this.filename === '') {
207
+ this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
208
+ }
209
+ let saveGen = saveFile(this)
210
+ co(saveGen)
211
+ },
212
+ close () {
213
+ this.show = false
214
+ },
215
+ // 将报表保存成文件
216
+ confirmReport () {
217
+ this.show = true
218
+ this.filename = this.data.f_report_name + this.$login.toStandardDateString()
219
+ }
220
+ },
221
+ watch: {
222
+ 'data' (val) {
223
+ if (val.f_files_path) {
224
+ this.getFileContent(val.f_files_path)
225
+ } else {
226
+ this.reportStr = null
227
+ }
228
+ },
229
+ 'model.data' (val) {
230
+ let len=0
231
+ let a=val.split('</tr>')
232
+ for(let i=0;i<a.length;i++){
233
+ if(a[i].split('</td>').length-1>len){
234
+ len=a[i].split('</td>').length-1
235
+ }
236
+ }
237
+ this.tablen=len
238
+ }
239
+ },
240
+ computed: {
241
+
242
+ }
243
+ }
244
+ </script>
245
+ <style scoped>
246
+ .noborder{
247
+ border: none;
248
+ }
249
+ </style>
@@ -1,9 +1,42 @@
1
1
  // 分公司特殊组件页面注册
2
2
  import Vue from 'vue'
3
3
  export default function () {
4
- // 收费查询
4
+ // 收费结账报表
5
5
  Vue.component('manage-bus-summary', (resolve) => { require(['./ManageBusSummary'], resolve) })
6
+ // 报表展示组件(气价明细报表)
6
7
  Vue.component('gas-price-detail', (resolve) => { require(['./GasPrice'], resolve) })
7
8
  // 其他业务散列
8
9
  Vue.component('bussiness-type', (resolve) => { require(['./BussinessType'], resolve) })
10
+ // 营业厅收款结账单
11
+ Vue.component('department-prick', (resolve) => {
12
+ require(['./DepartmentPrick'], resolve)
13
+ })
14
+ // 销售月报表
15
+ Vue.component('sale-month-report', (resolve) => {
16
+ require(['./SaleMonthReport'], resolve)
17
+ })
18
+ // 报表展示组件(用户新增销户统计报表)
19
+ Vue.component('manage-user-count', (resolve) => {
20
+ require(['./ManageUserCount'], resolve)
21
+ })
22
+ // 报表展示组件(营业分析汇总报表)
23
+ Vue.component('manage-sell-type', (resolve) => {
24
+ require(['./ManageSellType'], resolve)
25
+ })
26
+ // 报表展示组件(抄表情况汇总表)
27
+ Vue.component('manage-hand-inputtor', (resolve) => {
28
+ require(['./ManageHandInputtor'], resolve)
29
+ })
30
+ // 用户分类统计
31
+ Vue.component('user-classify', (resolve) => {
32
+ require(['./UserClassify'], resolve)
33
+ })
34
+ // 营业分类统计
35
+ Vue.component('business-classify', (resolve) => {
36
+ require(['./BusinessClassify'], resolve)
37
+ })
38
+ // 天然气销售月报表
39
+ Vue.component('market-month', (resolve) => {
40
+ require(['./MarketMonth'], resolve)
41
+ })
9
42
  }