manage-client 4.0.60 → 4.0.61

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "4.0.60",
3
+ "version": "4.0.61",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -73,23 +73,23 @@
73
73
  <table class='tableprint' style="margin: 0px auto" v-if="!$parent.data.f_files_path">
74
74
  <thead>
75
75
  <tr>
76
- <th colspan='5' style="font-weight: bold; text-align: left;">
76
+ <th colspan='8' style="font-weight: bold; text-align: left;">
77
77
  <h3 style="text-align: center">气费分项统计报表</h3>
78
78
  </th>
79
79
  </tr>
80
80
  <tr>
81
- <th colspan='5' style="font-weight: normal; text-align: center;">
81
+ <th colspan='8' style="font-weight: normal; text-align: center;">
82
82
  开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
83
83
  结束时间:{{ model.model.endDate }}&nbsp;&nbsp;
84
84
  </th>
85
85
  </tr>
86
86
  <tr>
87
- <th colspan='5' style="font-weight: normal; text-align: center;">
87
+ <th colspan='8' style="font-weight: normal; text-align: center;">
88
88
  打印时间:{{{$parent.printTime}}}
89
89
  </th>
90
90
  </tr>
91
91
  <tr>
92
- <th colspan='5' style="font-weight: normal; text-align: center;">
92
+ <th colspan='8' style="font-weight: normal; text-align: center;">
93
93
  <div>
94
94
  <span v-show="$parent.orgname.trim()!=''">公司:{{$parent.orgname}}</span>
95
95
  <span v-show="$parent.depname.trim()!=''"> 部门:{{$parent.depname}}</span>
@@ -98,7 +98,7 @@
98
98
  </tr>
99
99
  </thead>
100
100
  <tr>
101
- <td colspan='5' style="font-weight: normal;" id="test">
101
+ <td colspan='8' style="font-weight: normal;" id="test">
102
102
  {{{ model.data.substring(26,model.data.length-8) }}}
103
103
  </td>
104
104
  </tr>
@@ -0,0 +1,358 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex">
5
+ <div style="flex:1;" class="flex" v-if="!show">
6
+ <criteria-paged :model="model" v-ref:paged>
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label for="startDate" class="font_normal_body">开始日期</label>
12
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
+ v-model="model.startDate"
14
+ :value.sync="model.startDate"
15
+ :format="'yyyy-MM-dd'"
16
+ :show-reset-button="true"
17
+ condition="f_band_time >= '{}'">
18
+ </datepicker>
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label for="endDate" class="font_normal_body">结束日期</label>
22
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
+ v-model="model.endDate"
24
+ :value.sync="model.endDate"
25
+ :format="'yyyy-MM-dd'"
26
+ :show-reset-button="true"
27
+ condition="f_band_time <= '{}'">
28
+ </datepicker>
29
+ </div>
30
+ <div class="col-sm-2 form-group">
31
+ <label class="font_normal_body">客户编号</label>
32
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body">客户名称</label>
37
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
38
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
39
+ </div>
40
+ <div class="span" style="float:right;">
41
+ <button class="button_search button_spacing" @click="search()">查询</button>
42
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
44
+
45
+ <!-- <export-excel :data="$parent.$parent.getCondition"-->
46
+ <!-- :field="$parent.$parent.getExportField"-->
47
+ <!-- sqlurl="api/af-revenue/logic/exportfile" sql-name="wechatQuery" template-name='微信查询导出'-->
48
+ <!-- :choose-col="true"></export-excel>-->
49
+
50
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
51
+ </div>
52
+ </div>
53
+ <div class="row" v-show="$parent.$parent.criteriaShow">
54
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"></res-select-group>
55
+ <div class="col-sm-2 form-group">
56
+ <label class="font_normal_body">客户电话</label>
57
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
58
+ condition="f_user_phone like '%{}%'" placeholder="客户电话">
59
+ </div>
60
+ <div class="col-sm-2 form-group">
61
+ <label class="font_normal_body">客户地址</label>
62
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
63
+ condition="f_address like '%{}%'" placeholder='客户地址'>
64
+ </div>
65
+ <div class="col-sm-2 form-group" >
66
+ <label class="font_normal_body">气表品牌</label>
67
+ <v-select :value.sync="model.gasbrand" v-model="model.gasbrand"
68
+ :options='$parent.$parent.meterbrands' placeholder='气表品牌' close-on-select
69
+ v-model='$parent.$parent.gasbrand'
70
+ condition="f_meter_brand = '{}'"
71
+ ></v-select>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </criteria>
76
+
77
+ <data-grid :model="model" partial='list' class="list_area table_sy" @dblclick="$parent.dblclick" v-ref:grid>
78
+ <template partial='head'>
79
+ <tr>
80
+ <th>
81
+ <nobr>客户编号</nobr>
82
+ </th>
83
+ <th>
84
+ <nobr>客户名称</nobr>
85
+ </th>
86
+ <th>
87
+ <nobr>气表品牌</nobr>
88
+ </th>
89
+ <th>
90
+ <nobr>气表类型</nobr>
91
+ </th>
92
+ <th>
93
+ <nobr>客户电话</nobr>
94
+ </th>
95
+ <th>
96
+ <nobr>微信标识</nobr>
97
+ </th>
98
+ <th>
99
+ <nobr>绑定状态</nobr>
100
+ </th>
101
+ <th>
102
+ <nobr>客户地址</nobr>
103
+ </th>
104
+ <th>
105
+ <nobr>操作</nobr>
106
+ </th>
107
+ </tr>
108
+ </template>
109
+ <template partial='body'>
110
+ <td :class="'back-blue'" style="text-align: center;" >
111
+ <nobr>
112
+ {{row.f_userinfo_code}}
113
+ </nobr> </td>
114
+ <td :class="'back-blue'" style="text-align: center;">
115
+ <nobr>{{row.f_user_name}}</nobr>
116
+ </td>
117
+ <td :class="'back-blue'" style="text-align: center;">
118
+ <nobr>{{row.f_meter_brand}}</nobr>
119
+ </td>
120
+ <td :class="'back-blue'" style="text-align: center;">
121
+ <nobr>{{row.f_meter_type}}</nobr>
122
+ </td>
123
+ <td :class="'back-blue'" style="text-align: center;">
124
+ <nobr>{{row.f_user_phone}}</nobr>
125
+ </td>
126
+ <td :class="'back-blue'" style="text-align: center;">
127
+ <nobr>{{row.f_open_id}}</nobr>
128
+ </td>
129
+ <td :class="'back-blue'" style="text-align: center;">
130
+ <nobr>{{row.f_band_state}}</nobr>
131
+ </td>
132
+ <td :class="'back-blue'" style="text-align: center;">
133
+ <nobr>{{row.f_address}}</nobr>
134
+ </td>
135
+ <td style="text-align: center;">
136
+ <button type="button" name="button" class="btn btn-link"
137
+ @click="$parent.$parent.$parent.wechatbing(row)">解绑
138
+ </button>
139
+ </td>
140
+ </template>
141
+ </data-grid>
142
+ </criteria-paged>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </template>
148
+
149
+ <script>
150
+ import {HttpResetClass, PagedList} from 'vue-client'
151
+ import defaultPrint from '../../../components/sale/config/DefaultPrint'
152
+ import exportConfig from "../../../components/sale/config/exportConfig"
153
+
154
+ let readySomething = async function (self) {
155
+ self.loadMeterBooks()
156
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
157
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
158
+ await self.$refs.paged.$refs.cri.search()
159
+ // self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
160
+
161
+ }
162
+
163
+ export default {
164
+ title: '微信绑定查询',
165
+ data() {
166
+ return {
167
+ model: new PagedList('api/af-revenue/sql/wechatQuery', 20, {}),
168
+ criteriaShow: false,
169
+ orgCondtionStr: '',
170
+ modelval: [],
171
+ printshow: false,
172
+ all: false,
173
+ fields: {},
174
+ meterbrands:[{label: '全部',value: ''}],
175
+ thead: '',
176
+ tfoot: '',
177
+ area: [],
178
+ //合计数据
179
+ // sumsmodel: {},
180
+ initres: {
181
+ org:[this.$login.f.f_orgids.slice(0, -1)],
182
+ dep:[],
183
+ user:[],
184
+ },
185
+ userdetail: {
186
+ show: false,
187
+ f_userinfo_code: '',
188
+ f_filialeids: ''
189
+ },
190
+ show:false,
191
+ rowdata:{},
192
+ sliceArea: [],
193
+ f_orgstr : this.$login.f.f_orgids.slice(0, -1)
194
+ }
195
+ },
196
+ ready() {
197
+ readySomething(this).then(() => {
198
+ this.$emit('ready')
199
+ }).catch((error) => {
200
+ this.$emit('error', error)
201
+ })
202
+ this.initAreas(this.f_orgstr)
203
+ },
204
+ methods: {
205
+ loadMeterBooks(){
206
+ let meterbrand = this.$GetSaleParam.getGasbrand()
207
+ for(let row of meterbrand){
208
+ this.meterbrands.push({label: row.label,value: row.value.f_meter_brand})
209
+ }
210
+ },
211
+ //把数据库查询数据转换为下拉数据
212
+ calculate(rows){
213
+ let data = []
214
+ rows.forEach((row, n) => {
215
+ data[n] = {label: row.f_residential_area, value: row.id}
216
+ })
217
+ return data
218
+ },
219
+ search(){
220
+ this.$refs.paged.$refs.cri.search()
221
+ },
222
+ wechatbing(row) {
223
+ console.log('微信解绑用户', row)
224
+ let param = {
225
+ id: row.id
226
+ }
227
+ this.$resetpost('api/af-revenue/logic/wechatbind', {data: param}, {warnMsg: '确定对这条记录进行解绑吗?'}).then(() => {
228
+ this.$refs.paged.$refs.cri.search()
229
+ })
230
+ },
231
+ cancel(obj) {
232
+ this.show = false
233
+ },
234
+ async initAreas (val) {
235
+
236
+ if (val) {
237
+ let getAllArea = await this.$resetpost('/rs/search', {
238
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
239
+ userid: this.$login.f.id
240
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
241
+
242
+ let arr = getAllArea.data.filter((res) => {
243
+ return res.parentid == val
244
+ })
245
+ console.log('过滤之后的片区', arr)
246
+ this.sliceArea = []
247
+ this.sliceArea.push({label: "全部", value: ""})
248
+ arr.forEach((res) => {
249
+ this.sliceArea.push({label: res.name, value: res.name})
250
+ })
251
+ console.log(this.sliceArea)
252
+ }
253
+ },
254
+ selfSearch(args) {
255
+ if (!this.orgCondtionStr) {
256
+ args.condition = `${args.condition}` + " and f_orgid = " + this.f_orgstr
257
+ } else {
258
+ args.condition = `${args.condition}` + this.orgCondtionStr
259
+ }
260
+ this.model.search(args.condition, args.model)
261
+ },
262
+ clear() {
263
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
264
+ this.$refs.paged.$refs.cri.model[key] = []
265
+ })
266
+ },
267
+ hidden() {
268
+ this.criteriaShow = !this.criteriaShow
269
+ },
270
+ getRes(obj) {
271
+ this.orgCondtionStr = obj
272
+ },
273
+ stamp() {
274
+ this.all = false
275
+ //默认选择要打印的列
276
+ this.modelval = defaultPrint.config
277
+ this.fields = this.getfield
278
+ console.log('所有打印字段', this.fields)
279
+ this.printshow = true
280
+ this.put()
281
+ },
282
+ put() {
283
+ // 对Modelval进行排序
284
+ this.sortModelval()
285
+ this.thead = `<tr><th colspan=${this.modelval.length}>用户查询统计报表</th></tr><tr>`
286
+ for (let key of this.modelval) {
287
+ this.thead += '<th>' + this.fields[key] + '</th>'
288
+ }
289
+ this.thead += '</tr>'
290
+ },
291
+ print() {
292
+ this.$refs.print.PrintAsFile()
293
+ this.printshow = false
294
+ },
295
+ close() {
296
+ this.printshow = false
297
+ },
298
+ // 对选择的列进行排序
299
+ sortModelval() {
300
+ let sortModel = []
301
+ Object.keys(this.fields).forEach((key) => {
302
+ if (this.modelval.includes(key)) {
303
+ sortModel.push(key)
304
+ }
305
+ })
306
+ this.modelval = sortModel
307
+ console.log('选择的打印的字段', this.modelval)
308
+ },
309
+ dblclick(row, index) {
310
+ console.log('双击之后数据', row, index)
311
+ this.userdetail.show = true
312
+ this.userdetail.f_userinfo_code = row.f_userinfo_code
313
+ this.userdetail.f_filialeids = row.f_filialeids
314
+ }
315
+ },
316
+ watch: {
317
+ 'all'(val) {
318
+ if (val) {
319
+ this.modelval = this.bodyData
320
+ } else {
321
+ this.modelval = defaultPrint.config
322
+ this.put()
323
+ }
324
+ },
325
+ 'modelval.length'() {
326
+ this.put()
327
+ },
328
+ },
329
+ computed: {
330
+ authArr () {
331
+ return this.$login.r ? this.$login.r : []
332
+ },
333
+
334
+ getCondition() {
335
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
336
+ },
337
+ getfield() {
338
+ let data = {}
339
+ this.bodyData.forEach((value, index) => {
340
+ data[this.bodyData[index]] = this.headData[index]
341
+ })
342
+ return data
343
+ },
344
+ getExportField() {
345
+ return exportConfig.wechatConfig
346
+ }
347
+ }
348
+ }
349
+ </script>
350
+ <style>
351
+ .back-red{ /* 红色背景 */
352
+ background-color: #F6C6CE;
353
+ }
354
+ .back-blue{ /* 蓝色背景 */
355
+
356
+ }
357
+ </style>
358
+
@@ -0,0 +1,9 @@
1
+ // 分公司特殊组件页面注册
2
+ import Vue from 'vue'
3
+
4
+ export default function () {
5
+ // 收费查询
6
+ Vue.component('wechat-bind', (resolve) => {
7
+ require(['./businessquery/weChatBind'], resolve)
8
+ })
9
+ }
@@ -0,0 +1,178 @@
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
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
6
+ <div class="row">
7
+ <div class="col-sm-2" >
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 HH:mm:ss'"
14
+ :show-reset-button="reset">
15
+ </datepicker>
16
+ </div>
17
+ <div class="col-sm-2" >
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 HH:mm:ss'"
24
+ :show-reset-button="reset">
25
+ </datepicker>
26
+ </div>
27
+ <div class="col-sm-2">
28
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp; </label>
29
+ <right-tree @re-res="$parent.$parent.getRes"></right-tree>
30
+ </div>
31
+ <div class="col-sm-2">
32
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;部门&nbsp;&nbsp;&nbsp; </label>
33
+ <res-select restype='department'
34
+ is-mul="false"
35
+ @res-select="$parent.$parent.getdep"
36
+ :parentresid="$parent.$parent.depresid"
37
+ :initresid='$parent.$parent.depid'>
38
+ </res-select>
39
+
40
+ </div>
41
+ <div class="col-sm-2">
42
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;人员&nbsp;&nbsp;&nbsp; </label>
43
+ <res-select restype='user'
44
+ is-mul="false"
45
+ @res-select="$parent.$parent.getuser"
46
+ :parentresid="$parent.$parent.userresid"
47
+ :initresid='$parent.$parent.operatorid'>
48
+ </res-select>
49
+ </div>
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='1cm' 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.spans' style="font-weight: normal; text-align: left;">
63
+ <h3 style="text-align: center">售气收费报表</h3>
64
+ </th>
65
+ </tr>
66
+ <tr>
67
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
68
+ 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
69
+ 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;
70
+ 打印时间:{{{$parent.printTime}}}
71
+ </th>
72
+ </tr>
73
+ <tr>
74
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
75
+ <div>
76
+ <span v-show="$parent.orgname.trim()!=''">公司:{{$parent.orgname}}</span>
77
+ <span v-show="$parent.depname.trim()!=''"> 部门:{{$parent.depname}}</span>
78
+ <span v-show="$parent.operatorname.trim()!=''">人员:{{$parent.operatorname}}</span>
79
+ </div>
80
+ </th>
81
+ </tr>
82
+ </thead>
83
+ <tr>
84
+ <td :colspan='$parent.spans' class="noborder">
85
+ {{{ model.data.substring(26,model.data.length-8) }}}
86
+ </td>
87
+ </tr>
88
+ <tfoot>
89
+ <tr style="text-align: left">
90
+ <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>
91
+ <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>
92
+ <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>
93
+ </tr>
94
+ </tfoot>
95
+ </table>
96
+ </div>
97
+ </criteria-paged>
98
+ </div>
99
+ </template>
100
+
101
+ <script>
102
+ import { DataModel } from 'vue-client'
103
+ import co from 'co'
104
+ export default {
105
+ title: '售气收费报表',
106
+ props: ['data'],
107
+ data () {
108
+ return {
109
+ printTime: this.$login.toStandardTimeString(),
110
+ depresid: [],
111
+ userresid: [],
112
+ f_orgid: this.$login.f.orgid,
113
+ f_depid: this.$login.f.depids,
114
+ f_operatorid: this.$login.f.id,
115
+ operatorid: [],
116
+ depid: [],
117
+ orgname: '',
118
+ depname: '',
119
+ operatorname: '',
120
+ orgCondtionStr: '1=1',
121
+ model: new DataModel('api/af-revenue/report/by_bussummary', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
122
+ f_orgid: 'this.model.f_orgid'}),
123
+ reportStr: null,
124
+ spans: 0
125
+ }
126
+ },
127
+ ready () {
128
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
129
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
130
+ },
131
+ methods: {
132
+ searchData () {
133
+ this.$refs.paged.$refs.criteria.search()
134
+ },
135
+ selfSearch (args) {
136
+ this.printTime = this.$login.toStandardTimeString()
137
+ let orgcondition = '1=1'
138
+ if (this.f_orgid && this.f_orgid[0]) {
139
+ orgcondition += ` and f_orgid in ('${this.f_orgid}')`
140
+ }
141
+ if (this.f_depid && this.f_depid[0]) {
142
+ orgcondition += ` and f_depid in ('${this.f_depid}')`
143
+ }
144
+ if(this.f_operatorid && this.f_operatorid[0]) {
145
+ orgcondition += ` and f_operatorid in ('${this.f_operatorid}')`
146
+ }
147
+ this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
148
+ this.$refs.paged.search(args)
149
+ },
150
+ getRes (obj) {
151
+ this.orgname = obj.res[0]
152
+ this.depresid = obj.resids
153
+ this.f_orgid = obj.resids
154
+ },
155
+ getdep (obj, val) {
156
+ this.depname = val[0]
157
+ this.userresid = obj
158
+ this.f_depid = obj
159
+ },
160
+ getuser ( obj, val) {
161
+ this.operatorname = val[0]
162
+ this.f_operatorid = obj
163
+ }
164
+ },
165
+ watch: {
166
+ 'model.data' (val) {
167
+ this.spans = val.split('</tr>').map(item => item.split('</td>').length-1).reduce((x, y) => x > y ? x : y)
168
+ }
169
+ },
170
+ computed: {
171
+ }
172
+ }
173
+ </script>
174
+ <style scoped>
175
+ .noborder{
176
+ border: none;
177
+ }
178
+ </style>
@@ -102,7 +102,7 @@
102
102
  import { DataModel } from 'vue-client'
103
103
  import co from 'co'
104
104
  export default {
105
- title: '收款日报表',
105
+ title: '材料使用明细报表',
106
106
  props: ['data'],
107
107
  data () {
108
108
  return {
@@ -118,7 +118,7 @@ export default {
118
118
  depname: '',
119
119
  operatorname: '',
120
120
  orgCondtionStr: '1=1',
121
- model: new DataModel('api/af-revenue/report/MaterialUsageDetails', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
121
+ model: new DataModel('api/af-revenue/report/by_MaterialUsageDetails', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
122
122
  f_orgid: 'this.model.f_orgid'}),
123
123
  reportStr: null,
124
124
  spans: 0
@@ -0,0 +1,178 @@
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
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
6
+ <div class="row">
7
+ <div class="col-sm-2" >
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 HH:mm:ss'"
14
+ :show-reset-button="reset">
15
+ </datepicker>
16
+ </div>
17
+ <div class="col-sm-2" >
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 HH:mm:ss'"
24
+ :show-reset-button="reset">
25
+ </datepicker>
26
+ </div>
27
+ <div class="col-sm-2">
28
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp; </label>
29
+ <right-tree @re-res="$parent.$parent.getRes"></right-tree>
30
+ </div>
31
+ <div class="col-sm-2">
32
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;部门&nbsp;&nbsp;&nbsp; </label>
33
+ <res-select restype='department'
34
+ is-mul="false"
35
+ @res-select="$parent.$parent.getdep"
36
+ :parentresid="$parent.$parent.depresid"
37
+ :initresid='$parent.$parent.depid'>
38
+ </res-select>
39
+
40
+ </div>
41
+ <div class="col-sm-2">
42
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;人员&nbsp;&nbsp;&nbsp; </label>
43
+ <res-select restype='user'
44
+ is-mul="false"
45
+ @res-select="$parent.$parent.getuser"
46
+ :parentresid="$parent.$parent.userresid"
47
+ :initresid='$parent.$parent.operatorid'>
48
+ </res-select>
49
+ </div>
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='1cm' 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.spans' style="font-weight: normal; text-align: left;">
63
+ <h3 style="text-align: center">其他收费报表</h3>
64
+ </th>
65
+ </tr>
66
+ <tr>
67
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
68
+ 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
69
+ 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;
70
+ 打印时间:{{{$parent.printTime}}}
71
+ </th>
72
+ </tr>
73
+ <tr>
74
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
75
+ <div>
76
+ <span v-show="$parent.orgname.trim()!=''">公司:{{$parent.orgname}}</span>
77
+ <span v-show="$parent.depname.trim()!=''"> 部门:{{$parent.depname}}</span>
78
+ <span v-show="$parent.operatorname.trim()!=''">人员:{{$parent.operatorname}}</span>
79
+ </div>
80
+ </th>
81
+ </tr>
82
+ </thead>
83
+ <tr>
84
+ <td :colspan='$parent.spans' class="noborder">
85
+ {{{ model.data.substring(26,model.data.length-8) }}}
86
+ </td>
87
+ </tr>
88
+ <tfoot>
89
+ <tr style="text-align: left">
90
+ <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>
91
+ <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>
92
+ <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>
93
+ </tr>
94
+ </tfoot>
95
+ </table>
96
+ </div>
97
+ </criteria-paged>
98
+ </div>
99
+ </template>
100
+
101
+ <script>
102
+ import { DataModel } from 'vue-client'
103
+ import co from 'co'
104
+ export default {
105
+ title: '其他收费报表',
106
+ props: ['data'],
107
+ data () {
108
+ return {
109
+ printTime: this.$login.toStandardTimeString(),
110
+ depresid: [],
111
+ userresid: [],
112
+ f_orgid: this.$login.f.orgid,
113
+ f_depid: this.$login.f.depids,
114
+ f_operatorid: this.$login.f.id,
115
+ operatorid: [],
116
+ depid: [],
117
+ orgname: '',
118
+ depname: '',
119
+ operatorname: '',
120
+ orgCondtionStr: '1=1',
121
+ model: new DataModel('api/af-revenue/report/by_OtherCharge', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
122
+ f_orgid: 'this.model.f_orgid'}),
123
+ reportStr: null,
124
+ spans: 0
125
+ }
126
+ },
127
+ ready () {
128
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
129
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
130
+ },
131
+ methods: {
132
+ searchData () {
133
+ this.$refs.paged.$refs.criteria.search()
134
+ },
135
+ selfSearch (args) {
136
+ this.printTime = this.$login.toStandardTimeString()
137
+ let orgcondition = '1=1'
138
+ if (this.f_orgid && this.f_orgid[0]) {
139
+ orgcondition += ` and f_orgid in ('${this.f_orgid}')`
140
+ }
141
+ if (this.f_depid && this.f_depid[0]) {
142
+ orgcondition += ` and f_depid in ('${this.f_depid}')`
143
+ }
144
+ if(this.f_operatorid && this.f_operatorid[0]) {
145
+ orgcondition += ` and f_operatorid in ('${this.f_operatorid}')`
146
+ }
147
+ this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
148
+ this.$refs.paged.search(args)
149
+ },
150
+ getRes (obj) {
151
+ this.orgname = obj.res[0]
152
+ this.depresid = obj.resids
153
+ this.f_orgid = obj.resids
154
+ },
155
+ getdep (obj, val) {
156
+ this.depname = val[0]
157
+ this.userresid = obj
158
+ this.f_depid = obj
159
+ },
160
+ getuser ( obj, val) {
161
+ this.operatorname = val[0]
162
+ this.f_operatorid = obj
163
+ }
164
+ },
165
+ watch: {
166
+ 'model.data' (val) {
167
+ this.spans = val.split('</tr>').map(item => item.split('</td>').length-1).reduce((x, y) => x > y ? x : y)
168
+ }
169
+ },
170
+ computed: {
171
+ }
172
+ }
173
+ </script>
174
+ <style scoped>
175
+ .noborder{
176
+ border: none;
177
+ }
178
+ </style>
@@ -2,8 +2,16 @@
2
2
  import Vue from 'vue'
3
3
 
4
4
  export default function () {
5
- // 气价分组汇总表
5
+ // 材料使用明细报表
6
6
  Vue.component('manage-material-usage-details', (resolve) => {
7
7
  require(['./ManageMaterialUsageDetails'], resolve)
8
8
  })
9
+ // 售气收费报表
10
+ Vue.component('manage-gas-sale-fee', (resolve) => {
11
+ require(['./ManageGasSaleFee'], resolve)
12
+ })
13
+ // 其他收费报表
14
+ Vue.component('manage-other-charge', (resolve) => {
15
+ require(['./ManageOtherCharge'], resolve)
16
+ })
9
17
  }
@@ -4,7 +4,7 @@
4
4
  <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
6
  <div class="row">
7
- <res-select-group :style="$parent.$parent.style" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" :mul="false" :style="$parent.$parent.style" v-ref:sel></res-select-group>
7
+ <res-select-group :style="$parent.$parent.style" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" :mul="true" :style="$parent.$parent.style" v-ref:sel></res-select-group>
8
8
  <div :class="$parent.$parent.style" >
9
9
  <label for="startDate" class="font_normal_body">开始日期</label>
10
10
  <datepicker placeholder="开始日期" style="width:60%"
@@ -112,6 +112,7 @@
112
112
  <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
113
113
  <export-excel :data="$parent.$parent.getCondition"
114
114
  :field="$parent.$parent.getfield"
115
+ :defaultselect="$parent.$parent.defaultexport"
115
116
  sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="aode_dayReport" template-name='日清单' :choose-col="true"
116
117
  class="button_export button_spacing"></export-excel>
117
118
  <day-report-list-print :countmodel="{sumsmodel:$parent.$parent.sumsmodel,model:$parent.$parent.model,orgname:$parent.$parent.orgname,depname:$parent.$parent.depname}"></day-report-list-print>
@@ -430,6 +431,9 @@ import {HttpResetClass, PagedList} from 'vue-client'
430
431
  getfield() {
431
432
  return exportConfig.dataReportConfig
432
433
  },
434
+ defaultexport() {
435
+ return exportConfig.defaultDataReportConfig
436
+ },
433
437
  show() {
434
438
  this.criteriaShow = !this.criteriaShow
435
439
  if (this.criteriaShow) {
@@ -560,6 +564,9 @@ import {HttpResetClass, PagedList} from 'vue-client'
560
564
  getfield() {
561
565
  return exportConfig.dataReportConfig
562
566
  },
567
+ defaultexport() {
568
+ return exportConfig.defaultDataReportConfig
569
+ },
563
570
  payments() {
564
571
  return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
565
572
  },
@@ -1669,6 +1669,20 @@ export default {
1669
1669
  'f_user_type': '用户类型',
1670
1670
  'f_comments': '备注'
1671
1671
  },
1672
+ defaultDataReportConfig: {
1673
+ 'f_userinfo_code': '客户编号',
1674
+ 'f_user_name': '客户姓名',
1675
+ 'f_address': '地址',
1676
+ 'f_gasproperties': '用气性质',
1677
+ 'f_operate_date': '充值时间',
1678
+ 'f_pregas': '气量',
1679
+ 'f_collection': '实收金额',
1680
+ 'f_payment': '付款方式',
1681
+ 'f_type': '收费类型',
1682
+ 'f_state': '收费状态',
1683
+ 'f_operator': '操作员',
1684
+ 'f_user_type': '用户类型'
1685
+ },
1672
1686
  lifeDataReportConfig: {
1673
1687
  'f_userinfo_code': '客户编号',
1674
1688
  'f_user_name': '客户姓名',
@@ -15,7 +15,7 @@
15
15
  <div class="col-sm-2 form-group" >
16
16
  <label class="font_normal_body">客户名称</label>
17
17
  <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
18
- condition="f_user_name = '{}'" placeholder="客户名称">
18
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
19
19
  </div>
20
20
  <div class="col-sm-2 form-group">
21
21
  <label class="font_normal_body">客户电话</label>