manage-client 3.2.257 → 3.2.259

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