manage-client 4.0.41 → 4.0.42

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.41",
3
+ "version": "4.0.42",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,459 @@
1
+ <template>
2
+ <div v-if="!listpage" @keyup.enter="search">
3
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
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>
8
+ <div :class="$parent.$parent.style" >
9
+ <label for="startDate" class="font_normal_body">开始日期</label>
10
+ <datepicker placeholder="开始日期" style="width:60%"
11
+ v-model="model.f_startDate"
12
+ :value.sync="model.f_startDate"
13
+ :format="'yyyy-MM-dd'"
14
+ class="datepicker"
15
+ :show-reset-button="true"
16
+ class="select"
17
+ >
18
+ </datepicker>
19
+ </div>
20
+ <div :class="$parent.$parent.style" >
21
+ <label for="endDate" class="font_normal_body">结束日期</label>
22
+ <datepicker placeholder="结束日期" style="width:60%"
23
+ v-model="model.f_endDate"
24
+ :value.sync="model.f_endDate"
25
+ :format="'yyyy-MM-dd'"
26
+ class="datepicker"
27
+ :show-reset-button="true"
28
+ class="select"
29
+ >
30
+ </datepicker>
31
+ </div>
32
+ <div :class="$parent.$parent.style">
33
+ <label class="font_normal_body">小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</label>
34
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_residential_area"
35
+ condition1="f_residential_area like '%{}%'" placeholder='小区'>
36
+ </div>
37
+ <div :class="$parent.$parent.style">
38
+ <label class="font_normal_body">区&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;县</label>
39
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_pcd"
40
+ condition1="f_pcd like '%{}%'" placeholder='区县'>
41
+ </div>
42
+ <div :class="$parent.$parent.style">
43
+ <label class="font_normal_body">用气性质</label>
44
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties" multiple
45
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
46
+ condition="f_gasproperties in {}"
47
+ close-on-select></v-select>
48
+ </div>
49
+ <div :class="$parent.$parent.style">
50
+ <label class="font_normal_body">操作类型</label>
51
+ <v-select :value.sync="model.f_type" v-model="model.f_type"
52
+ condition="f_type in {}"
53
+ :options='$parent.$parent.operates' placeholder='请选择'
54
+ close-on-select></v-select>
55
+ </div>
56
+ <div :class="$parent.$parent.style">
57
+ <label class="font_normal_body">收费状态</label>
58
+ <v-select :value.sync="model.f_state" v-model="model.f_state" multiple
59
+ :options='$parent.$parent.sellstate' placeholder='请选择'
60
+ condition="f_state in {}"
61
+ close-on-select></v-select>
62
+ </div>
63
+ <div :class="$parent.$parent.style">
64
+ <label class="font_normal_body">用户类型</label>
65
+ <v-select :value.sync="model.f_user_type" v-model="model.f_user_type"
66
+ :options='$parent.$parent.userTypes' placeholder='请选择'
67
+ condition="f_user_type in {}"
68
+ close-on-select></v-select>
69
+ </div>
70
+ <div :class="$parent.$parent.style">
71
+ <label class="font_normal_body">包含APP</label>
72
+ <v-select :value.sync="model.f_hasapp" v-model="model.f_hasapp"
73
+ :options='$parent.$parent.hasapps' placeholder='请选择'
74
+ condition="f_operator {} "
75
+ close-on-select></v-select>
76
+ </div>
77
+ <div :class="$parent.$parent.style">
78
+ <label class="font_normal_body">付款方式</label>
79
+ <v-select id="f_payment"
80
+ v-model="model.f_payment"
81
+ placeholder='请选择'
82
+ condition="f_payment ='{}'"
83
+ :value.sync="model.f_payment"
84
+ :options='$parent.$parent.payments'
85
+ close-on-select clear-button>
86
+ </v-select>
87
+ </div>
88
+
89
+ <div class="button-range" style="float:right;margin-top:10px">
90
+ <button class="button_search button_spacing" @click="search()">查询</button>
91
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
92
+ <export-excel :data="$parent.$parent.getCondition"
93
+ :field="$parent.$parent.getfield"
94
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="aode_dayReport" template-name='日清单' :choose-col="true"
95
+ class="button_export button_spacing"></export-excel>
96
+ <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>
97
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_left':$parent.$parent.criteriaShow,'button_shrink_right':!$parent.$parent.criteriaShow}" @click="$parent.$parent.show()"></div>
98
+ </div>
99
+
100
+ </div>
101
+ </div>
102
+ </criteria>
103
+ <data-grid :model="model" :sumsmodel="sumsmodel" partial='list' class="list_area table_sy" v-ref:grid >
104
+ <template partial='head'>
105
+ <tr>
106
+ <th>
107
+ <data-order field="f_userinfo_code" name="客户编号"></data-order>
108
+ <!--<nobr>客户编号</nobr>-->
109
+ </th>
110
+ <th><data-order field="f_user_name" name="客户姓名"></data-order>
111
+ <!--<nobr>客户姓名</nobr>-->
112
+ </th>
113
+ <th><nobr>小区</nobr></th>
114
+ <th><nobr>区/县</nobr></th>
115
+ <th><nobr>地址</nobr></th>
116
+ <th>
117
+ <data-order field="f_meter_brand" name="气表厂家"></data-order>
118
+ </th>
119
+ <th><data-order field="f_operate_date" name="操作时间"></data-order>
120
+ <!--<nobr>操作时间</nobr>-->
121
+ </th>
122
+ <th>
123
+ <data-order field="f_stair1price" name="1单价"></data-order>
124
+ </th>
125
+ <th>
126
+ <data-order field="f_stair1amount" name="1气量"></data-order>
127
+ </th>
128
+ <th>
129
+ <data-order field="f_stair2price" name="2单价"></data-order>
130
+ </th>
131
+ <th>
132
+ <data-order field="f_stair2amount" name="2气量"></data-order>
133
+ </th>
134
+ <th>
135
+ <data-order field="f_stair3price" name="3单价"></data-order>
136
+ </th>
137
+ <th>
138
+ <data-order field="f_stair3amount" name="3气量"></data-order>
139
+ </th>
140
+ <th>
141
+ <data-order field="f_pregas" name="气量"></data-order>
142
+ </th>
143
+ <th>
144
+ <data-order field="f_preamount" name="应收金额"></data-order>
145
+ </th>
146
+ <th>
147
+ <data-order field="f_collection" name="实收金额"></data-order>
148
+
149
+ </th>
150
+ <th><nobr>上期余额</nobr></th>
151
+ <th><nobr>本期余额</nobr></th>
152
+ <th>
153
+ <data-order field="f_payment" name="付款方式"></data-order>
154
+ <!--<nobr>付款方式</nobr>-->
155
+ </th>
156
+ <th>
157
+ <data-order field="f_type" name="收费类型"></data-order>
158
+ <!--<nobr>收费类型</nobr>-->
159
+ </th>
160
+ <th><nobr>收费状态</nobr></th>
161
+ <th>
162
+ <data-order field="f_operator" name="操作员"></data-order>
163
+ </th>
164
+ <th>
165
+ <data-order field="f_user_type" name="用户类型"></data-order>
166
+ <!--<nobr>客户类型</nobr>-->
167
+ </th>
168
+ <th>
169
+ <nobr>用气性质</nobr>
170
+ </th>
171
+ <th>
172
+ <nobr>操作类型</nobr>
173
+ </th>
174
+ <th><nobr>备注</nobr></th>
175
+
176
+ </tr>
177
+ </template>
178
+ <template partial='body'>
179
+ <td style="text-align: center;"><nobr>
180
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
181
+ </nobr> </td>
182
+ <td style="text-align: left;"><nobr>{{row.f_user_name}}</nobr></td>
183
+ <td style="text-align: left;"><nobr>{{row.f_area}}</nobr></td>
184
+ <td style="text-align: left;"><nobr>{{row.f_pcd}}</nobr></td>
185
+ <td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
186
+ <td style="text-align: center;"><nobr>{{row.f_meter_brand}}</nobr></td>
187
+ <td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
188
+ <td style="text-align: center;"><nobr>{{row.f_stair1price}}</nobr></td>
189
+ <td style="text-align: center;"><nobr>{{row.f_stair1amount}}</nobr></td>
190
+ <td style="text-align: center;"><nobr>{{row.f_stair2price}}</nobr></td>
191
+ <td style="text-align: center;"><nobr>{{row.f_stair2amount}}</nobr></td>
192
+ <td style="text-align: center;"><nobr>{{row.f_stair3price}}</nobr></td>
193
+ <td style="text-align: center;"><nobr>{{row.f_stair3amount}}</nobr></td>
194
+ <td style="text-align: center;"><nobr>{{row.f_pregas}}</nobr></td>
195
+ <td style="text-align: center;"><nobr>{{row.f_preamount}}</nobr></td>
196
+ <td style="text-align: center;"><nobr>{{row.f_collection}}</nobr></td>
197
+ <td style="text-align: center;"><nobr>{{row.f_balance}}</nobr></td>
198
+ <td style="text-align: center;"><nobr>{{row.f_curbalance}}</nobr></td>
199
+ <td style="text-align: center;"><nobr>{{row.f_payment}}</nobr></td>
200
+ <td style="text-align: center;"><nobr>{{row.f_type}}</nobr></td>
201
+ <td style="text-align: center;"><nobr>{{row.f_state}}</nobr></td>
202
+ <td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
203
+ <td style="text-align: center;"><nobr>{{row.f_user_type}}</nobr></td>
204
+ <td style="text-align: center;"><nobr>{{row.f_gasproperties}}</nobr></td>
205
+ <td style="text-align: center;"><nobr>{{row.f_type}}</nobr></td>
206
+ <td style="text-align: left;"><nobr>{{row.f_comments}}</nobr></td>
207
+ </template>
208
+ </data-grid>
209
+ </criteria-paged>
210
+ </div>
211
+
212
+ <table class="table-hover">
213
+ <tr style="position: relative" class="table-bordered">
214
+ <td
215
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
216
+ 汇总信息
217
+ </td>
218
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
219
+ 购买量:&emsp;{{sumsmodel.f_pregas}}方
220
+ </td>
221
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
222
+ 实收:&emsp;{{sumsmodel.f_collection}}元
223
+ </td>
224
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
225
+ 应收:&emsp;{{sumsmodel.f_preamount}}元
226
+ </td>
227
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
228
+ 一阶气量合计:&emsp;{{sumsmodel.f_stair1amount}}方
229
+ </td>
230
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
231
+ 二阶气量合计:&emsp;{{sumsmodel.f_stair2amount}}方
232
+ </td>
233
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
234
+ 三阶气量合计:&emsp;{{sumsmodel.f_stair3amount}}方
235
+ </td>
236
+ </tr>
237
+ </table>
238
+ <div v-if="listpage">
239
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
240
+ </div>
241
+ </template>
242
+
243
+ <script>
244
+
245
+ import { PagedList } from 'vue-client'
246
+ import exportConfig from './config/exportConfig'
247
+ import DayReportSummary from "../../components/sale/report/aode/DayReportSummary";
248
+ import getLodop from '../../plugins/LodopFuncs'
249
+
250
+ export default {
251
+ components: {DayReportSummary},
252
+ title: '日报表',
253
+ props: {
254
+ style: {
255
+ type: String,
256
+ default: 'col-sm-2 form-group'
257
+ },
258
+ },
259
+ data() {
260
+ return {
261
+ orderDefault: "'f_operate_date'",
262
+ orderFields: {
263
+ f_userinfo_code: 'no'
264
+ },
265
+ initres: {
266
+ org:[this.$login.f.orgid],
267
+ dep:[this.$login.f.depids],
268
+ user:[this.$login.f.id]
269
+ },
270
+ model: new PagedList('api/af-revenue/sql/aode_dayReport', 30, {orderitem: "'f_operate_date'"},{
271
+ f_pregas: 0,
272
+ f_collection: 0,
273
+ f_count_open: 0,
274
+ f_pregas_open: 0,
275
+ f_collection_open: 0,
276
+ f_count_zg: 0,
277
+ f_pregas_zg: 0,
278
+ f_collection_zg: 0,
279
+ f_count_bk: 0,
280
+ f_pregas_bk: 0,
281
+ f_collection_bk: 0,
282
+ f_count_bq: 0,
283
+ f_pregas_bq: 0,
284
+ f_collection_bq: 0,
285
+ f_count_hb: 0,
286
+ f_pregas_hb: 0,
287
+ f_collection_hb: 0,
288
+ f_preamount: 0,
289
+ f_stair1amount: 0,
290
+ f_stair2amount: 0,
291
+ f_stair3amount: 0,
292
+ f_count_cz: 0,
293
+ f_pregas_cz: 0,
294
+ f_collection_cz: 0,
295
+ f_sum_count:0,
296
+ f_shouru_gas:0,
297
+ f_shouru_fee:0
298
+ }),
299
+ listpage:false,
300
+ rowdata: {},
301
+ orgCondtionStr: '',
302
+ userTypes: [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')],
303
+ count: 0,
304
+ sumsmodel: {},
305
+ printshow: false,
306
+ all: false,
307
+ orgname: '',
308
+ depname: '',
309
+ criteriaShow: false,
310
+ operates: [{label: '全部', value: ''}, {label: '发卡售气', value: "发卡售气"},{label: '卡表收费', value: "卡表收费"},{label: '补气', value: "补气"},{label: '补卡', value: "补卡"},{label: '换表', value: "换表"},{label: '冲正', value: "冲正"}],
311
+ hasapps: [{label: '包含APP', value: ''}, {label: '不包含APP', value: "!= '悦生活'"}],
312
+ }
313
+ },
314
+ ready() {
315
+ this.$refs.paged.$refs.cri.condition += this.orgCondtionStr
316
+ this.$refs.paged.$refs.cri.model.f_hasapp = [`!= '悦生活'`]
317
+ this.$refs.paged.$refs.cri.model.f_startDate = this.$login.toStandardDateString()
318
+ this.$refs.paged.$refs.cri.model.f_endDate = this.$login.toStandardDateString()
319
+ // this.search()
320
+ },
321
+ methods: {
322
+ showmsg(obj){
323
+ this.criteriaShow = false
324
+ this.$emit('close')
325
+ this.rowdata=obj
326
+ this.listpage=true
327
+ },
328
+ cancel() {
329
+ this.listpage = false
330
+ },
331
+ search() {
332
+ this.$refs.paged.$refs.cri.search()
333
+ },
334
+ async selfSearch(args) {
335
+ let f_orgstr = this.orgCondtionStr
336
+ if (!this.orgCondtionStr) {
337
+ f_orgstr = 'and f_orgid = ' + this.$login.f.orgid
338
+ }
339
+ args.condition = `${args.condition} ` + f_orgstr
340
+
341
+ this.model.params.startDate = this.$refs.paged.$refs.cri.model.f_startDate + ' 00:00:00'
342
+ this.model.params.endDate = this.$refs.paged.$refs.cri.model.f_endDate + ' 23:59:59'
343
+
344
+ this.model.params.operatorState = this.$refs.paged.$refs.cri.model.f_type + ''
345
+ console.log("========")
346
+ console.log(this.$refs.paged.$refs.cri.model.f_residential_area)
347
+ if(this.$refs.paged.$refs.cri.model.f_residential_area != '' && this.$refs.paged.$refs.cri.model.f_pcd != ''){
348
+ this.$refs.paged.model.params.condition1 = `f_residential_area like '%${this.$refs.paged.$refs.cri.model.f_residential_area}%' and f_pcd like '%${this.$refs.paged.$refs.cri.model.f_pcd}%'`
349
+ }else if (this.$refs.paged.$refs.cri.model.f_residential_area != ''){
350
+ this.$refs.paged.model.params.condition1 = `f_residential_area like '%${this.$refs.paged.$refs.cri.model.f_residential_area}%'`
351
+ }else if (this.$refs.paged.$refs.cri.model.f_pcd != '') {
352
+ this.$refs.paged.model.params.condition1 = `f_pcd like '%${this.$refs.paged.$refs.cri.model.f_pcd}%'`
353
+ }else {
354
+ this.$refs.paged.model.params.condition1 = `1=1`
355
+ }
356
+ await this.model.search(args.condition, args.model)
357
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
358
+ console.log('计算合计。', this.sumsmodel)
359
+ if (this.$refs.paged.$refs.grid.model.rows.length === 0) {
360
+ for (let key in this.sumsmodel) {
361
+ this.sumsmodel[key] = 0
362
+ }
363
+ }
364
+ this.$dispatch('getdata', this.sumsmodel)
365
+ },
366
+ getRes(condition, obj) {
367
+ this.orgCondtionStr = condition
368
+ this.orgname = obj.orgnames[0]
369
+ this.depname = obj.depnames[0]
370
+ },
371
+ clear() {
372
+ //清空部门和人员
373
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
374
+ //部门和人员变为全选
375
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
376
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
377
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
378
+ this.$refs.paged.$refs.cri.model[key] = []
379
+ })
380
+ this.$refs.paged.$refs.cri.model.f_startDate = this.$login.toStandardDateString()
381
+ this.$refs.paged.$refs.cri.model.f_endDate = this.$login.toStandardDateString()
382
+ },
383
+ close() {
384
+ this.printshow = false
385
+ },
386
+ getfield() {
387
+ return exportConfig.dataReportConfig
388
+ },
389
+ show() {
390
+ this.criteriaShow = !this.criteriaShow
391
+ if (this.criteriaShow) {
392
+ this.$emit('show')
393
+ } else {
394
+ this.$emit('close')
395
+ }
396
+ },
397
+ /*sort(field, rule) {
398
+ console.log('sort...')
399
+
400
+ },*/
401
+ sort (field, rule) {
402
+ // 将所有排序方式设为不排序,实现相互排斥
403
+ for (let key in this.orderFields) {
404
+ if (key === field) {
405
+ this.orderFields[key] = rule
406
+ } else {
407
+ this.orderFields[key] = 'no'
408
+ }
409
+ }
410
+ // 如果新规则不排序,还原为默认排序
411
+ if (rule === 'no') {
412
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
413
+ } else {
414
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
415
+ }
416
+
417
+ this.search()
418
+ },
419
+ },
420
+ computed: {
421
+ getCondition() {
422
+ return {
423
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
424
+ condition1: this.$refs.paged.model.params.condition1,
425
+ startDate: this.$refs.paged.$refs.cri.model.f_startDate+' 00:00:00',
426
+ endDate: this.$refs.paged.$refs.cri.model.f_endDate+' 23:59:59',
427
+ orderitem: this.model.paramSource.orderitem.split("'")[1].split("'")[0]
428
+ }
429
+ },
430
+ getfield() {
431
+ return exportConfig.dataReportConfig
432
+ },
433
+ gasproperties() {
434
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用气性质')]
435
+ },
436
+ payments() {
437
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')]
438
+ },
439
+ userTypes() {
440
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
441
+ },
442
+ sellstate() {
443
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('收费状态')]
444
+ }
445
+ }
446
+ }
447
+
448
+ </script>
449
+
450
+ <style scoped>
451
+
452
+ .col {
453
+ width: 300px;
454
+ overflow: hidden;
455
+ text-overflow: ellipsis;
456
+ white-space: nowrap;
457
+ }
458
+
459
+ </style>
@@ -0,0 +1,6 @@
1
+ export default{
2
+ //把打印需要默认选中的字段名放在config数组中
3
+ config: [
4
+ "f_userinfo_code","f_user_name","f_user_phone","f_pregas","f_preamount","f_collection","f_balance","f_curbalance","f_idnumber"
5
+ ]
6
+ }